Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

 Новые статьи :

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

Решение проблем при использовании "1c предприятие" 8.2 в Linux

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

Что ещё должен знать молодой боец о rpm и grep.

Хотелось бы сделать несколько дополнений к статье "Поиск информации об rpm-пакетах с использованием механизма конвейера и команды grep".

Бывает, что нужно найти пакеты, начинающиеся на определённую последовательность символов, например, на xe:

$ rpm -qa | grep ^xe
xemacs-21.1.8-4mdk
xemacs-info-21.1.8-4mdk
xemacs-extras-21.1.8-4mdk
xearth-1.0-5mdk
xemacs-X11-21.1.8-4mdk

Часто программа требует отсутствующую библиотеку. Чтобы определить, в каком rpm-пакете из дистрибутива находится нужный файл, можно создать список файлов во всех rpm в дистрибутиве:

$ find /mnt/cdrom/Mandrake/RPMS -name "*.rpm" -exec rpm -qpil {} >> list \;

Команда find находит на CD в каталоге Mandrake/RPMS все rpm-пакеты, и для каждого из них запускает команду rpm с параметрами qpil. Параметр q обозначает запрос о пакете, p - показывает, что речь идёт о неустановленном пакете, i -
запрашивает информацию, и l - запрашивает список файлов. Вывод направляется в файл list. В этом файле мы имеем описания пакетов и списки их файлов.

Теперь можем попробовать найти требуемый файл, например, FvwmAuto.1.bz2:

$ grep -B100 FvwmAuto.1.bz2 list | less

Команда grep найдёт в файле list строку, содержащую название нужного файла, и выведет её и 100 строк перед ней, в которых наверняка будет название пакета, содержащего файл FvwmAuto.1.bz2, и вывод будет направлен в текстовый вьюер less.
Можно сделать даже так:

$ grep -B150 FvwmAuto.1.bz2 list | grep Name
Name        : ftp                          Relocations: (not relocateable)
Name        : fvwm                         Relocations: (not relocateable)
Name        : fvwm2                        Relocations: (not relocateable)

Тут команда grep найдёт строку с именем файла, выведет 150 строк перед ней, и вывод будет направлен в следующий grep, который выделит строки, содержащие имена пакетов. Последнее выведенное имя и будет именем необходимого пакета.

Ali Albakov
guldur at transit.samara.net
 


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2012 LinuxRSP


Реклама:
Угадай где лечение вируса папилломы человека в Москве . Ковры из вискозы. Ковер круглый шерстяной.