Поиск по сайту:

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


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

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

Некоторые факты о RPM (менеджере пакетов RedHat)

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

Существует пять основных режимов управления частотой вращения.

  1. Установить: используется для установки любого пакета RPM.
  2. Удалить: используется для стирания, удаления или деинсталляции любого пакета RPM.
  3. Обновление: используется для обновления существующего пакета RPM.
  4. Verify: используется для проверки пакетов RPM.
  5. Query: используется для запроса любого пакета RPM.

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

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

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

Читайте также:

  1. 20 примеров команд YUM в Linux
  2. 10 примеров команд Wget в Linux
  3. 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 и параметры
  1. -i : установить пакет
  2. -v: подробное описание для более удобного отображения.
  3. -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 и параметры
  1. -q : запросить пакет.
  2. -p : список возможностей, предоставляемых этим пакетом.
  3. -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