ZaLinux.ru

20 практических примеров команд RPM в Linux

RPM (Red Hat Package Manager) — это самая популярная утилита управления пакетами с открытым исходным кодом по умолчанию для систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux. RPM, ранее известный как файл .rpm, включает скомпилированные программы и библиотеки, необходимые для пакетов. Эта утилита работает только с пакетами, созданными в формате .rpm.

В этой статье приведены 20 практически примеров команд RPM, которые могут быть вам полезны. С помощью этой команды rpm вы можете управлять установкой, обновлением и удалением пакетов в ваших системах Linux.

Некоторые факты о RPM (RedHat Package Manager)

  • RPM бесплатен и выпущен под GPL (General Public License).
  • RPM хранит информацию обо всех установленных пакетах в базе данных /var/lib/rpm.
  • RPM — единственный способ установить пакеты в системах Linux, если вы установили пакеты с использованием исходного кода, то rpm не не будет управлять ими.
  • RPM имеет дело с файлами .rpm, которые содержат актуальную информацию о пакетах, такую как: что это такое, откуда он приходит, информация о зависимостях, информация о версии и т. д.

Есть пять основных режимов для команды RPM

  • Установить: используется для установки любого пакета RPM.
  • Удалить: используется для стирания, удаления или деинсталляции любого пакета RPM.
  • Обновить: используется для обновления существующего пакета RPM.
  • Проверить: он используется для проверки пакетов RPM.
  • Запросить: используется для запроса любого пакета RPM.

Где найти пакеты RPM

Ниже приведён список сайтов RPM, где вы можете найти и скачать все пакеты RPM.

Помните, что вы должны быть пользователем root при установке пакетов в Linux, с привилегиями root вы можете управлять командами rpm с соответствующими параметрами.

1. Как проверить пакет подписи RPM

Всегда проверяйте подпись PGP пакетов перед их установкой в ваших системах Linux и убедитесь, что её целостность и происхождение в порядке. Используйте следующую команду с параметром --checksig (проверить подпись):

rpm --checksig ФАЙЛ.rpm

Например, чтобы проверить подпись пакета с именем pidgin:

rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm

Пример вывода:

pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. Как установить RPM пакет

Для установки программного пакета rpm используйте следующую команду с параметром -i. Например, чтобы установить пакет rpm с именем pidgin-2.7.9-5.el6.2.i686.rpm.

rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm

Вывод:

Preparing...                ########################################### [100%]
   1:pidgin                 ########################################### [100%]

Опции приведённой команды RPM:

  • -i: установить пакет
  • -v: подробный вывод
  • -h: выводить хеш-метки для показа прогресса распаковки архива пакета.

3. Как проверить зависимости пакета RPM перед установкой

Предположим, вы хотите проверить зависимости перед установкой или обновлением пакета. Например, используйте следующую команду, чтобы проверить зависимости пакета BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Она отобразит список зависимостей пакета.

rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Пример вывода:

/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6

Опции приведённой команды RPM:

  • -q: запрос к пакету
  • -p: перечислить возможности этого пакета.
  • -R: перечислить возможности, от которых зависит этот пакет.

4. Как установить пакет RPM без зависимостей

Если вы знаете, что все необходимые пакеты уже установлены, а RPM делает что-то не так, вы можете игнорировать эти зависимости, используя опцию --nodeps (без проверки зависимостей) перед установкой пакета.

rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Приведённая выше команда принудительно устанавливает пакет rpm, игнорируя ошибки зависимостей, но если эти файлы зависимостей отсутствуют, программа не будет работать вообще, пока вы их не установите.

5. Как проверить установленный пакет RPM

Использование опции -q с именем пакета покажет, установлен ли пакет rpm или нет.

rpm -q BitTorrent

6. Как вывести список всех файлов установленного пакета RPM

Чтобы просмотреть все файлы установленного пакета rpm, используйте -ql (запрос списка) с командой rpm.

rpm -ql BitTorrent

Пример вывода:

/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7. Как вывести список недавно установленных пакетов RPM

Используйте следующую команду rpm с параметром -qa (запросить все), чтобы отобразить все недавно установленные пакеты rpm.

rpm -qa --last

Пример вывода:

BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8. Как вывести список всех установленных пакетов RPM

Введите следующую команду, чтобы распечатать имена всех установленных пакетов в вашей системе Linux.

rpm -qa

9. Как обновить пакет RPM

Если мы хотим обновить какой-либо пакет RPM, будет использоваться опция «-U» (обновление). Одним из основных преимуществ использования этого параметра является то, что он не только обновит любой пакет до последней версии, но также будет поддерживать резервную копию старого пакета, так что в случае, если более новая версия будет работать некорректно, можно откатиться к старой версии пакета.

rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm

10. Как удалить пакет RPM

Чтобы удалить пакет RPM, мы используем имя пакета, например, nx, а не исходное имя файла пакета nx-3.5.0-2.el6.centos.i686.rpm. Параметр -e (стереть) используется для удаления пакета.

rpm -evv nx

11. Как удалить пакет RPM, который является зависимостью

Параметр --nodeps (Не проверять зависимости) принудительно удаляет пакет rpm из системы. Но имейте в виду, что удаление одного пакета может нарушить работу других приложений.

rpm -ev --nodeps vsftpd

12. Как запросить файл, который принадлежит пакету RPM

Допустим, у вас есть список файлов, и вы хотите узнать, какой пакет принадлежит этим файлам. Например, следующая команда с параметром -qf (запросить файл) покажет вам, что файл /usr/bin/htpasswd принадлежит пакету httpd-tools-2.2.15-15.el6.centos.1.i686.

rpm -qf /usr/bin/htpasswd

13. Как запросить информацию об установленном пакете RPM

Допустим, вы установили пакет rpm и хотите узнать информацию о пакете. Следующая опция -qi (запрос информации) распечатает доступную информацию об установленном пакете.

rpm -qi vsftpd

14. Получение информации о пакете RPM перед установкой

Вы загрузили пакет из Интернета и хотите узнать информацию о пакете перед установкой. Например, следующий параметр -qip (запрос информации о пакете) распечатает информацию о пакете sqlbuddy.

rpm -qip sqlbuddy-1.3.3-1.noarch.rpm

15. Как запросить документацию по установленному пакету RPM

Чтобы получить список доступной документации установленного пакета, используйте следующую команду с опцией -qdf (запрос документации файла), чтобы отобразить страницы руководства, относящиеся к пакету vmstat.

rpm -qdf /usr/bin/vmstat

Пример вывода:

/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16. Как верифицировать пакет RPM

При проверке пакета информация об установленных файлах пакета сравнивается с базой данных rpm. Опция -Vp (проверить пакет) используется для проверки пакета.

Пример команды, проверяющей, какие файлы пакета sqlbuddy были изменены:

rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

Пример вывода:

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Как верифицировать все пакеты RPM

Введите следующую команду, чтобы проверить все установленные пакеты rpm на предмет изменённых файлов по сравнению с исходными, поставляемыми с пакетом.

rpm -Va

Пример вывода:

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. Как импортировать ключ GPG RPM

Чтобы проверить пакеты RHEL/CentOS/Fedora, вы должны импортировать ключ GPG. Для этого выполните следующую команду. Она импортирует ключ CentOS 6 GPG.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. Как вывести список всех импортированных ключей RPM GPG

Чтобы распечатать все импортированные ключи GPG в вашей системе, используйте следующую команду.

rpm -qa gpg-pubkey*

Пример вывода:

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. Как восстановить повреждённую базу данных RPM

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

cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages

Смотрите также: 20 примеров команд yum для управления пакетами

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *