- 20 практических примеров команд RPM в Linux
- Некоторые факты о RPM (RedHat Package Manager)
- Есть пять основных режимов для команды RPM
- Где найти пакеты RPM
- 1. Как проверить пакет подписи RPM
- 2. Как установить RPM пакет
- 3. Как проверить зависимости пакета RPM перед установкой
- 4. Как установить пакет RPM без зависимостей
- 5. Как проверить установленный пакет RPM
- 6. Как вывести список всех файлов установленного пакета RPM
- 7. Как вывести список недавно установленных пакетов RPM
- 8. Как вывести список всех установленных пакетов RPM
- 9. Как обновить пакет RPM
- 10. Как удалить пакет RPM
- 11. Как удалить пакет RPM, который является зависимостью
- 12. Как запросить файл, который принадлежит пакету RPM
- 13. Как запросить информацию об установленном пакете RPM
- 14. Получение информации о пакете RPM перед установкой
- 15. Как запросить документацию по установленному пакету RPM
- 16. Как верифицировать пакет RPM
- 17. Как верифицировать все пакеты RPM
- 18. Как импортировать ключ GPG RPM
- 19. Как вывести список всех импортированных ключей RPM GPG
- 20. Как восстановить повреждённую базу данных RPM
- Удаление пакетов linux rpm
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 (проверить подпись):
Например, чтобы проверить подпись пакета с именем 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 или нет.
6. Как вывести список всех файлов установленного пакета RPM
Чтобы просмотреть все файлы установленного пакета rpm, используйте -ql (запрос списка) с командой rpm.
/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.
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.
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 (стереть) используется для удаления пакета.
11. Как удалить пакет RPM, который является зависимостью
Параметр —nodeps (Не проверять зависимости) принудительно удаляет пакет rpm из системы. Но имейте в виду, что удаление одного пакета может нарушить работу других приложений.
12. Как запросить файл, который принадлежит пакету RPM
Допустим, у вас есть список файлов, и вы хотите узнать, какой пакет принадлежит этим файлам. Например, следующая команда с параметром -qf (запросить файл) покажет вам, что файл /usr/bin/htpasswd принадлежит пакету httpd-tools-2.2.15-15.el6.centos.1.i686.
13. Как запросить информацию об установленном пакете RPM
Допустим, вы установили пакет rpm и хотите узнать информацию о пакете. Следующая опция -qi (запрос информации) распечатает доступную информацию об установленном пакете.
14. Получение информации о пакете RPM перед установкой
Вы загрузили пакет из Интернета и хотите узнать информацию о пакете перед установкой. Например, следующий параметр -qip (запрос информации о пакете) распечатает информацию о пакете sqlbuddy.
rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
15. Как запросить документацию по установленному пакету RPM
Чтобы получить список доступной документации установленного пакета, используйте следующую команду с опцией -qdf (запрос документации файла), чтобы отобразить страницы руководства, относящиеся к пакету 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 на предмет изменённых файлов по сравнению с исходными, поставляемыми с пакетом.
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 в вашей системе, используйте следующую команду.
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
Удаление пакетов linux rpm
Команда rpm хороша не только для установки ПО. Правильное удаление пакетов настолько же частая операция, нуждающаяся в автоматизации.
Для удаления пакетов используется опция -e. Основной синтаксис следующий:
Используется имя файла без версии и постфиксов. Если установлено несколько версий одноименного пакета, а такое бывает, потребуется указать кандидата на удаление точнее:
Для выполнения этих и других подобных действий необходимы права суперпользователя.
Команда удаления, так же как и команды установки, поддерживает опцию —test. Если от пакета зависит большое число установленного ПО, можно проверить, какие приложения и библиотеки утратят свою работоспособность:
error: Failed dependencies:
3.3.1 Был ли удален пакет?
Используя режим запросов, можно проверить, был ли пакет уже установлен. Но также можно проверить, был ли пакет удален. Например:
package jikes is not installed
3.3.2 Удаление списка пакетов одной командой
Можно удалить группу пакетов, сформировав список в командной строке:
3.3.3 Опции, применимые для команд удаления
Опция —allmatches заставит rpm удалить все пакеты, имена которых содержат шаблон, заданный администратором в командной строке. Если более, чем один пакет соответствует шаблону, а опция не указана, работа будет завершена с сообщением об ошибке удаления.
Опция —nodeps позволяет удалить пакет даже в том случае, если в системе все еще есть зависящие от него пакеты. Использование этой и ей подобных опций может разрушить систему.
Опция —repackage позволит собрать удаляемые пакеты в rpm-пакет, который появится в директории для таких пакетов. По умолчанию это /var/spool/repackage. Пакет, построенный с помощью опции —repackage не является полноценным пакетом и его нельзя установить.
Подобно режиму установки для удаления можно использовать опции —noscripts и —notriggers. Помимо —noscripts также можно применить —nopreun и —nopostun. Соответственно, —nopreun отменяет выполнение скриптов перед удалением пакета, а —nopostun — скриптов, которые должны были отработать после удаления. Также сходным образом применяется опция —notriggers, или раздельно —notriggerun или —notriggerpostun.