RPM

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

Пакетные менеджеры

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

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

 

Некоторые факты о RPM

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

 

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

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

 

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

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

http://rpmfind.net
http://www.redhat.com
http://freshrpms.net/
http://rpm.pbone.net/

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

 

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

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

[[email protected]]# 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.

[[email protected]]# 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. Появится список зависимостей пакета.

[[email protected]]# 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 (проверка не зависимостей) перед установкой пакета.

[[email protected]]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

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

 

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

 

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

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

[[email protected]]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

 

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

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

[[email protected]]# 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.

[[email protected]]# 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.

[[email protected]]# 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» (обновление). Одним из основных преимуществ использования этого параметра является то, что он будет не только обновлять последнюю версию любого пакета, но также будет поддерживать резервную копию старого пакета, чтобы в случае, если новый обновленный пакет не запускает ранее установленный пакет может быть использован снова.

[[email protected]]# 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 (erase) используется для удаления пакета.

[[email protected]]# rpm -evv nx

 

11. Как удалить пакет RPM без зависимостей

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

[[email protected]]# rpm -ev --nodeps vsftpd

 

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

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

[[email protected]]# rpm -qf /usr/bin/htpasswd

httpd-tools-2.2.15-15.el6.centos.1.i686

 

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

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

[[email protected]]# 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.

[[email protected]]# 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.

[[email protected]]# 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 (проверить пакет) используется для проверки пакета.

[[email protected] downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

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

 

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

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

[[email protected]]# 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.

[[email protected]]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

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

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

[[email protected]]# 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 и восстановить ее с помощью следующей команды.

[[email protected]]# cd /var/lib
[[email protected]]# rm __db*
[[email protected]]# rpm --rebuilddb
[[email protected]]# rpmdb_verify Packages

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Пакетные менеджеры

Больше похожих постов

Добавить комментарий

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню