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 для управления пакетами
Связанные статьи:
- Как установить обновления безопасности на CentOS 8 (75.4%)
- dnf-automatic — автоматическая установка обновлений безопасности в CentOS 8 (75.4%)
- 20 примеров команд yum для управления пакетами (75.4%)
- DNF — Утилита управления пакетами нового поколения для дистрибутивов на основе RPM (75.4%)
- Как узнать, какие файлы установлены пакетом RPM, DEB или PKG.TAR.XZ в Linux (74.7%)
- Как установить Kali Linux с зашифрованной домашней папкой пользователя (автоматическая разметка) (RANDOM - 50%)