Views
ShortRPM
Менеджер пакетов RPM
Менеджер пакетов RPM лежит в основе множества дистрибутивов. Продукты Redнat/Fedora, Suse, Connectiva, ASP и ALT - все это rpm-based дистрибутивы.
Зачастую rpm используется только для установки и удаления программ. Но на самом деле это гораздо более ценный инструмент, который может рассказать вам очень многое о той системе, в которой вы работаете. Информационная составляющая RPM, эта та громадная подводная часть айсберга, которая зачастую остается неиспользуемой неискушенным пользователем, только что перешедшим с виндовс, где ничего подобного по удобству и мощи просто нет.
RPM может рассказать пользователю, откуда взялся тот или иной файл, какие файлы входят в состав той или иной программы, что вообще установлено в системе и что за что цепляется. Это инструмент, который вносит ясность в устройство дистрибутива и помогает ее сопровождать. Непосредственно для установки и удаления программ обычно используются более интеллектуальные программы типа APT, которые могут автоматически разрешать зависимости между пакетами и наращивают функциональность пакетного менеджера за счет введения понятия внешнего репозитария (хранилища) программ. Надо отчетливо понимать, что APT не является заменой RPM. Он работает поверх RPM и не позволяет решать абсолютно все возникающие проблемы.
Часто используемые команды RPM
Немного дополнительной информации перед установкой.
Указывая ключ -p, можно получить информацию непосредственно из rpm файла.
$rpm -qip файл.rpm - посмотреть сводку на пакет.
$rpm -qlp файл.rpm - список файлов и их расположение.
Немного дополнительной информации об уже установленном.
$rpm -qa > list_rpms.txt - список установленных пакетов.
$rpm -qa --qf "%{Name}\n" > list_rpms.txt - список установленных пакетов в виде, пригодном для скармливания АПТу.
$rpm -qa | grep слово - найти в списке пакетов те, названия которых содержвт "слово".
$rpm -qi пакеt - посмотреть сводку на пакет.
$rpm -ql пакет - список файлов и их расположение.
$rpm -q --provides пакет - чего предоставляет пакет для других.
$rpm -q --requires пакет - чего требует пакет для своей работы.
Установка и удаление (требует прав суперюзера)
#rpm -i файл.rpm - установить пакет.
#rpm -e пакет - удалить пакет.
#rpm -e --noscripts пакет - удалить пакет. иногда из за ошибок в скриптах удаление предыдущей командой невозможно. тут и поможет спец-ключик.
#rpm -e --notriggers пакет - удалить пакет. иногда из за ошибок в скриптах-триггерах удаление предыдущей командой опять невозможно. тут и поможет еще один спец-ключик.
#rpm -e --nodeps пакет - удалить пакет. Иногда из за ошибок, а чаще всего из за лени админа удаление пакета нарушает зависимости, а потому не проходит. Если вы уверены в своих силах - используйте последний довод короля - эту команду. Хотя лучше, конечно, использовать apt-get remove пакет.
Работа с базой.
#rpm --initdb
создаст пустую базу. часто используется в паре с --chroot для создания базы на новом месте.
#rpm --rebuilddb
пересчитывает индексы в базе и удаляет локи. всетаки это локальная db и при возникновении странностей в работе рпм или ошибок - лечится именно этой командой.