20 практических примеров команд RPM в Linux
RPM (Red Hat Package Manager) — это стандартная и самая популярная утилита управления пакетами с открытым исходным кодом для систем на базе Red Hat, таких как (RHEL). , CentOS и Fedora). Этот инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux. Файл RPM, ранее известный как .rpm, содержит скомпилированные программы и библиотеки, необходимые пакетам. Эта утилита работает только с пакетами, созданными в формате .rpm.
В этой статье представлены некоторые полезные примеры команд 20 об/мин, которые могут вам пригодиться. С помощью этой команды rpm вы можете устанавливать, обновлять и удалять пакеты в ваших системах Linux.
Некоторые факты о RPM (менеджере пакетов RedHat)
- RPM бесплатен и распространяется под лицензией GPL (General Public License).
- RPM хранит информацию обо всех установленных пакетах в базе данных /var/lib/rpm.
- RPM — единственный способ установки пакетов в системах Linux. Если вы установили пакеты с использованием исходного кода, то RPM не справится с этим.
- RPM работает с файлами .rpm, которые содержат фактическую информацию о пакетах, например: что это, откуда, >информация о зависимостях, информация о версии и т. д.
Существует пять основных режимов управления частотой вращения.
- Установить: используется для установки любого пакета RPM.
- Удалить: используется для стирания, удаления или деинсталляции любого пакета RPM.
- Обновление: используется для обновления существующего пакета RPM.
- Verify: используется для проверки пакетов RPM.
- Query: используется для запроса любого пакета RPM.
Где найти пакеты RPM
Ниже приведен список сайтов, где можно найти и загрузить все пакеты RPM.
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
Читайте также:
- 20 примеров команд YUM в Linux
- 10 примеров команд Wget в Linux
- 30 самых полезных команд Linux для системных администраторов
Помните, что при установке пакетов в Linux вы должны быть пользователем root. Имея привилегии root, вы можете управлять командами rpm с соответствующими параметрами.
1. Как проверить пакет подписи RPM
Всегда проверяйте подпись пакетов PGP перед их установкой в свои системы Linux и убедитесь, что их целостность и происхождение ОК. Используйте следующую команду с опцией –checksig (проверить подпись), чтобы проверить подпись пакета под названием pidgin.
[root@tecmint]# 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.
[root@tecmint]# 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. Он отобразит список зависимостей пакета.
[root@tecmint]# 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 (проверка отсутствия зависимостей) перед установкой упаковка.
[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing... ########################################### [100%]
1:BitTorrent ########################################### [100%]
Приведенная выше команда принудительно устанавливает пакет rpm, игнорируя ошибки зависимостей, но если эти файлы зависимостей отсутствуют, программа вообще не будет работать, пока вы их не установите.
5. Как проверить установленный пакет RPM
Использование опции -q с именем пакета покажет, установлен ли пакет rpm или нет.
[root@tecmint]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch
6. Как вывести список всех файлов установленного пакета RPM
Чтобы просмотреть все файлы установленных пакетов rpm, используйте -ql (список запросов) с командой rpm.
[root@tecmint]# 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.
[root@tecmint]# 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.
[root@tecmint]# rpm -qa
initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686
9. Как обновить пакет RPM
Если мы хотим обновить какой-либо пакет RPM, будет использоваться опция «–U» (обновление). Одним из основных преимуществ использования этой опции является то, что она не только обновит последнюю версию любого пакета, но также сохранит резервную копию старого пакета, чтобы в случае, если более новый обновленный пакет не запустит ранее установленный пакет можно использовать снова.
[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing... ########################################### [100%]
1:nx ########################################### [100%]
10. Как удалить пакет RPM
Например, чтобы удалить пакет RPM, мы используем имя пакета nx, а не исходное имя пакета nx-3.5.0-2.el6.centos.i686.rpm. >. Параметр -e (стереть) используется для удаления пакета.
[root@tecmint]# rpm -evv nx
11. Как удалить пакет RPM без зависимостей
Параметр –nodeps (Не проверять зависимости) принудительно удаляет пакет rpm из системы. Но имейте в виду, что удаление определенного пакета может привести к поломке других работающих приложений.
[root@tecmint]# rpm -ev --nodeps vsftpd
12. Как запросить файл, принадлежащий какому пакету RPM
Допустим, у вас есть список файлов и вы хотите узнать, какой пакет принадлежит этим файлам. Например, следующая команда с опцией -qf (файл запроса) покажет вам, что файл /usr/bin/htpasswd принадлежит пакету. httpd-tools-2.2.15-15.el6.centos.1.i686.
[root@tecmint]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686
13. Как запросить информацию об установленном пакете RPM
Допустим, вы установили пакет RPM и хотите узнать информацию о пакете. Следующая опция -qi (запрос информации) выведет доступную информацию об установленном пакете.
[root@tecmint]# rpm -qi vsftpd
Name : vsftpd Relocations: (not relocatable)
Version : 2.2.2 Vendor: CentOS
Release : 11.el6 Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT Build Host: c6b8.bsys.dev.centos.org
Group : System Environment/Daemons Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size : 351932 License: GPLv2 with exceptions
Signature : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://vsftpd.beasts.org/
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
14. Получите информацию о пакете RPM перед установкой.
Вы загрузили пакет из Интернета и хотите узнать информацию о пакете перед установкой. Например, следующая опция -qip (пакет информации запроса) выведет информацию о пакете sqlbuddy.
[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
Name : sqlbuddy Relocations: (not relocatable)
Version : 1.3.3 Vendor: (none)
Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed) Build Host: rpm.bar.baz
Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size : 1155804 License: MIT
Signature : (none)
Packager : Erik M Jacobs
URL : http://www.sqlbuddy.com/
Summary : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. Как запросить документацию об установленном пакете RPM
Чтобы получить список доступной документации установленного пакета, используйте следующую команду с опцией -qdf (запросить файл документа), чтобы отобразить страницы руководства, относящиеся к пакету vmstat.
[root@tecmint]# 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 (проверить пакет) используется для проверки пакета.
[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Как проверить все пакеты RPM
Введите следующую команду, чтобы проверить все установленные пакеты rpm.
[root@tecmint]# 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. Как импортировать ключ RPM GPG
Чтобы проверить пакеты RHEL/CentOS/Fedora, необходимо импортировать ключ GPG. Для этого выполните следующую команду. Будет импортирован ключ CentOS 6 GPG.
[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
19. Как составить список всех импортированных ключей RPM GPG
Чтобы распечатать все импортированные ключи GPG в вашей системе, используйте следующую команду.
[root@tecmint]# 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 и восстановить ее с помощью следующей команды.
[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages