Все о Linux. LinuxRSP.Ru

[an error occurred while processing this directive]

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


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

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

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

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

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

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







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-2024 LinuxRSP