Устанавливаем RPM пакеты в Linux
Рассказываем о том, что такое RPM-пакеты, где они поддерживаются и как с ними обращаться.
Что из себя представляет RPM?
Ранее этот акроним расшифровывался как Red Hat Packet Manager. Из названия становится ясно, что это пакетный менеджер, разработанный компанией Red Hat. Только остается непонятным, что такое пакетный менеджер и что за компания такая Red Hat.
Пакетный менеджер — утилита, которая помогает распаковать в систему любое приложение и скачать все необходимые для его работы компоненты. Проще говоря — загрузчик и установщик программ в Linux.
Red Hat — ветераны в области создания операционных систем на базе Unix и Linux. На основе их Red Hat Linux были построены такие популярные дистрибутивы как Fedora, OpenSUSE и CentOS. Все они унаследовали RPM.
Также RPM — это формат файлов, который пакетный менеджер Red Hat может обрабатывать. Он довольно распространен и часто встречается на официальных сайтах популярных программ (типа Google Chrome или VS Code). Файлы в этом формате нужно скачивать, если вы используете дистрибутив на базе Red Hat Linux. Самые популярные из них: Fedora, OpenSUSE и CentOS.
Файлы RPM похожи на файлы DEB, которые используются в дистрибутивах на основе Debian (Ubuntu, Mint, Elementary OS) и в самом Debian.
Устанавливаем RPM-пакет
Для установки RPM-пакетов (то есть файлов в формате RPM) можно использовать сразу несколько инструментов. Один из них универсален для всех систем на базе Red Hat Linux, а остальные уникальны для каждого дистрибутива.
Программа RPM
Это как раз та самая универсальная утилита для работы с RPM-пакетами. С помощью нее можно устанавливать, обновлять, удалять и всячески управлять файлами в соответствующем формате.
Она работает следующим образом: вводится команда rpm, затем вводится режим, потом опции и в конце название пакета, над которым нужно провести заданные операции.
В RPM есть такие режимы:
- -q — режим получения информации. Используется, чтобы получить определенную характеристику пакета. Например, какие зависимости ему нужны для нормальной работы.
- -i — режим установки. Тут и так все понятно.
- -V — режим проверки. В этом режиме утилита проводит сравнение файлов из пакета с теми, что уже находится в системе. В рамках ее интереса оказывается MD5-сумма, выданные разрешения, тип файла и так далее.
- -U — режим обновления. Тут тоже все ясно без дополнительных комментариев.
- -e — режим удаления. В этом режиме можно избавиться от пакета.
С опциями сложнее. Их количество насчитывает несколько десятков — описывать в этой статье все не имеет смысла. Но некоторые все-таки отметить стоит, так как они непосредственно участвуют в установке RPM-пакетов.
- v — это опция, включающая Verbose, то есть подробный лог всех выполняемых программой действий.
- –force — опция, которая вынуждает RPM выполнять все операции принудительно без дополнительного ожидания.
- __ –nodeps__ — эта опция заставляет RPM игнорировать зависимости в ходе установки пакета.
- __ –replacefiles__ — настройка, которая принуждает RPM к замене всех старых файлов на новые без лишних вопросов.
Чтобы установить пакет:
- Открываем терминал любым удобным способом.

Также терминал можно запустить, одновременно нажав клавиши Ctrl + Alt + T
- Заходим в папку, где лежит наш RPM-пакет. Например: cd/Downloads.

Вы можете работать из любой другой папки, но так удобнее
- Потом запускаем RPM.
- Для простой установки подойдет такая команда: sudo rpm -i название пакета.rpm.

Вот так просто можно установить Google Chrome в формате RPM
Чтобы в ходе установки выводить в консоль все, что происходит с RPM, вводим такую команду: __sudo rpm -iv *название пакета*.rpm__.
— Вы вправе комбинировать любые варианты опций и режимов.RPM несовершенен — он имеет один существенный минус, который перекрывает большую часть его преимуществ. Он не умеет находить и устанавливать зависимости. А это значит, что большую часть программ вы просто не сможете установить без ручного поиска зависимостей и ручной загрузки из разных репозиториев.

Ошибка, которая будет часто возникать, если не пользоваться современным менеджером пакетов
Поэтому в дистрибутивах на базе Red Hat Linux появились более продвинутые пакетные менеджеры для работы с RPM-файлами.
Пакетные менеджеры популярных дистрибутивов
Рассмотрим три самых распространенных пакетных менеджера.
yum
Этот вариант используется в дистрибутиве CentOS. Чтобы установить пакет с помощью него, введем в терминал команду sudo yum —nogpcheck localinstall название пакета.rpm.

Базовая команда для установки приложений с помощью YUM
dnf
Более продвинутая версия, которая используется в дистрибутиве Fedora. Чтобы установить пакет с помощью него, введем в терминал команду sudo dnf install название пакета.rpm

А вот так устанавливаются программы в Fedora
zypper
Это пакетный менеджер из операционной системы openSUSE. Чтобы установить пакет с помощью него, введем в терминал команду sudo zypper install название пакета.rpm.
Графический интерфейс
Этот способ установки подойдет тем, кто привык к работе с Windows.
- Просто загружаем RPM-пакет из интернета.
- Открываем его в любом файловом менеджере.
- Кликаем по нему дважды.

Пакет в формате RPM
- Откроется магазин приложений, где нужно нажать на кнопку Install.

Все как в Ubuntu
- Потом вводим пароль администратора.
Команда RPM в Linux
Менеджер пакетов RPM (RPM) — это мощная система управления пакетами, используемая Red Hat Linux и ее производными, такими как CentOS и Fedora. RPM также относится к команде rpm и формату файла .rpm . Пакет RPM состоит из архива файлов и метаданных, включая такую информацию, как зависимости и место установки.
В этом руководстве мы поговорим о том, как использовать команду rpm для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.
Установка, обновление и удаление пакетов RPM
Обычно для установки нового пакета в дистрибутивах на основе Red Hat вы используете команды yum или dnf , которые могут разрешить и установить все зависимости пакетов.
Вы всегда должны предпочитать использовать yum или dnf rpm при установке, обновлении и удалении пакетов.
Перед установкой пакета RPM вы должны сначала загрузить пакет в свою систему с помощью браузера или инструментов командной строки, таких как curl или wget .
При установке пакетов RPM убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS . Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.
Только root или пользователи с привилегиями sudo могут устанавливать или удалять пакеты RPM.
Чтобы установить пакет RPM с rpm , используйте параметр -i , за которым следует имя пакета:
sudo rpm -ivh package.rpmПараметр -v указывает rpm показывать подробный вывод, а параметр -h показывает индикатор выполнения, отмеченный хешем.
Вы можете пропустить загрузку и указать URL-адрес RPM-пакета команде rpm :
sudo rpm -ivh https://example.com/package.rpmЧтобы обновить пакет RPM, используйте параметр -U . Если пакет не установлен, он будет установлен:
sudo rpm -Uvh package.rpmЕсли пакет, который вы устанавливаете или обновляете, зависит от других пакетов, которые в настоящее время не установлены, rpm отобразит список всех недостающих зависимостей. Вам придется скачать и установить все зависимости вручную.
Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте параметр —nodeps :
sudo rpm -Uvh --nodeps package.rpmЧтобы удалить (стереть) пакет RPM, используйте параметр -e :
sudo rpm -e package.rpmПараметр —nodeps также полезен, когда вы хотите удалить пакет, не удаляя его зависимости:
sudo rpm -evh --nodeps package.rpmПараметр —test указывает rpm запускать команду установки или удаления, фактически ничего не делая. Он только показывает, будет ли команда работать или нет:
sudo rpm -Uvh --test package.rpmЗапрос пакетов RPM
Параметр -q указывает команде rpm выполнить запрос.
Чтобы запросить (найти), установлен ли определенный пакет, передайте имя пакета команде rpm -q . Следующая команда покажет вам, установлен ли в системе пакет OpenJDK 11 :
sudo rpm -q java-11-openjdk-develЕсли пакет установлен, вы увидите что-то вроде этого:
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64Передайте -i чтобы получить больше информации о запрошенном пакете:
sudo rpm -qi java-11-openjdk-develЧтобы получить список всех файлов в установленном пакете RPM:
sudo rpm -ql packageЕсли вы хотите узнать, к какому установленному пакету принадлежит конкретный файл, введите:
sudo rpm -qf /path/to/fileЧтобы получить список всех установленных пакетов в вашей системе, используйте параметр -a :
sudo rpm -qaПроверка пакетов RPM
При проверке пакета команда rpm проверяет, существует ли каждый файл, установленный пакетом, в системе, дайджест файла, право собственности, разрешения и т. Д.
Чтобы проверить установленный пакет, используйте параметр -V . Например, чтобы проверить пакет openldap, вы должны запустить:
sudo rpm -V openldap-2.4.46-9.el8.x86_64Если проверка прошла успешно, команда не выведет никаких результатов. В противном случае, если некоторые из проверок не пройдут, отобразится символ, указывающий на неудачный тест.
Например, следующий результат показывает, что mTime файла был изменен («T»):
. T. c /etc/openldap/ldap.confОбратитесь к странице руководства RMP о том, что означает каждый символ.
Чтобы проверить все установленные пакеты rpm, выполните следующую команду:
sudo rpm -VaВыводы
rpm — это низкоуровневый инструмент командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке пакетов RPM следует предпочесть использование yum или dnf поскольку они автоматически разрешают все зависимости за вас.
Для получения дополнительных сведений обо всех доступных параметрах команд введите в терминале man rpm или посетите веб-сайт RPM.org .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
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.
- https://rpmfind.net
- https://www.redhat.com
- https://freshrpms.net
- http://rpm.pbone.net/
Помните, что вы должны быть пользователем 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
RPM — установка и использование в Linux

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

Есть несколько способов откуда можно взять пакеты RPM: CD/DVD с программным обеспечением, CentOS Mirror, RedHat (нужен аккаунт) или любые открытые сайты репозитория.
В RPM используется несколько основных режимов команд: Install (используется для установки любого пакета RPM), Remove (используется для удаления, стирания или деинсталляции пакета), Upgrade (используется для обновления существующего пакета), Query (используется для запроса пакета) и Verify (используется для проверки пакетов RPM).
Рассмотрим это на примере. У нас есть пакет, и теперь посмотрим, что мы можем с ним делать.
Установка
Как узнать информацию о пакете RPM без установки?
После того, как мы скачали пакет мы хотим узнать информацию о пакете перед установкой. Мы можем использовать -qipoption (запрос информации о пакете), чтобы вывести информацию о пакете.
$ sudo rpm -qip GeoIP-1.5.0-11.el7.x86_64.rpm
Name : GeoIP Version : 1.5.0 Release : 11.el7 Architecture: x86_64 Install Date: (not installed) Group : Development/Libraries Size : 2905020 License : LGPLv2+ and GPLv2+ and CC-BY-SA Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5 Source RPM : GeoIP-1.5.0-11.el7.src.rpm Build Date : Sat 05 Nov 2016 08:29:17 PM UTC Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem Vendor : CentOS URL : http://www.maxmind.com/app/c Summary : Library for country/city/organization to IP address or hostname mapping Description : GeoIP is a C library that enables the user to find the country that any IP address or hostname originates from. It uses a file based database that is accurate as of June 2007 and can optionally be updated on a weekly basis by installing the GeoIP-update package. This database simply contains IP blocks as keys, and countries as values. This database should be more complete and accurate than using reverse DNS lookups. This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
Как установить RPM пакет?
Мы можем использовать параметр -ivh для установки определенного пакета, как показано ниже.
$ sudo rpm -ivh GeoIP-1.5.0-11.el7.x86_64.rpm
Preparing. ################################# [100%] package GeoIP-1.5.0-11.el7.x86_64 is already installed
Как проверить установленный пакет RPM?
Мы можем использовать параметр -q с именем пакета, и он покажет, установлен ли пакет или нет.
$ sudo rpm -q GeoIP
GeoIP-1.5.0-11.el7.x86_64
Как вывести список всех файлов для определенного установленного пакета RPM?
Мы можем перечислить все файлы установленных пакетов rpm, используя опцию -ql с командой rpm.
$ sudo rpm -ql GeoIP
/etc/GeoIP.conf /etc/GeoIP.conf.default /usr/bin/geoiplookup /usr/bin/geoiplookup6 /usr/bin/geoipupdate /usr/lib64/libGeoIP.so.1 /usr/lib64/libGeoIP.so.1.5.0 /usr/lib64/libGeoIPUpdate.so.0 /usr/lib64/libGeoIPUpdate.so.0.0.0 /usr/share/GeoIP /usr/share/GeoIP/GeoIP-initial.dat /usr/share/GeoIP/GeoIP.dat /usr/share/GeoIP/GeoIPASNum.dat /usr/share/GeoIP/GeoIPASNumv6.dat /usr/share/GeoIP/GeoIPCity.dat /usr/share/GeoIP/GeoIPCityv6.dat /usr/share/GeoIP/GeoIPCountry.dat /usr/share/GeoIP/GeoIPCountryv6.dat /usr/share/GeoIP/GeoIPv6-initial.dat .
Как вывести список недавно установленных пакетов RPM?
Мы можем использовать параметр -qa с параметром —last, в котором будут перечислены все недавно установленные пакеты rpm.
$ sudo rpm -qa --last
GeoIP-1.5.0-11.el7.x86_64 Sat 01 Sep 2019 11:34:09 AM UTC wget-1.14-15.el7_4.1.x86_64 Sun 26 Aug 2019 03:21:02 PM UTC iwl7265-firmware-22.0.7.0-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:18 PM UTC libgomp-4.8.5-28.el7_5.1.x86_64 Thu 16 Aug 2019 02:10:15 PM UTC iwl2030-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:15 PM UTC iptables-1.4.21-24.1.el7_5.x86_64 Thu 16 Aug 2019 02:10:15 PM UTC yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC iwl6000-firmware-9.221.4.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC iwl4965-firmware-228.61.2.24-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC iwl105-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC iwl100-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC iwl1000-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC ca-certificates-2018.2.22-70.0.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC iwl6000g2b-firmware-17.168.5.2-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:12 PM UTC .
Как установить RPM пакет без зависимостей?
Мы можем использовать параметры -ivh с параметром —nodeps для проверки отсутствия зависимостей, чтобы установить конкретный пакет без зависимостей, как показано ниже.
$ sudo rpm -ivh --nodeps GeoIP-1.5.0-11.el7.x86_64.rpm
Preparing. ################################# [100%]
Как заменить установленный пакет RPM?
Мы можем использовать параметры -ivh –replacepkgs для замены установленного пакета.
$ sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm
Preparing. ################################# [100%] Updating / installing. 1:GeoIP-1.5.0-11.el7 ################################# [100%]
Удаление
Как удалить пакет RPM?
Мы можем использовать параметр -e для удаления определенного пакета, установленного без зависимостей. Обратите внимание, что удаление определенного пакета может нарушить работу других приложений.
$ sudo rpm -e --nodeps GeoIP
Обновление
Как обновить установленный пакет RPM?
Для обновления пакета мы используем параметры -Uvh
$ sudo rpm -Uvh GeoIP-1.5.0-11.el7.x86_64.rpm
Запрос
Как запросить все установленные пакеты?
Мы можем использовать параметры -a вместе с q для запроса всех установленных пакетов на сервере.
$ sudo rpm -qa
python-firewall-0.4.4.4-14.el7.noarch ncurses-base-5.9-14.20130511.el7_4.noarch plymouth-0.8.9-0.31.20140113.el7.centos.x86_64 kbd-misc-1.15.5-13.el7.noarch vim-common-7.4.160-4.el7.x86_64 bash-4.2.46-30.el7.x86_64 dmidecode-3.0-5.el7.x86_64 filesystem-3.2-25.el7.x86_64 kbd-1.15.5-13.el7.x86_64 vim-enhanced-7.4.160-4.el7.x86_64 firewalld-0.4.4.4-14.el7.noarch .
Как запросить конкретный пакет?
Мы можем использовать команду grep, чтобы узнать, установлен ли конкретный пакет или нет.
$ sudo rpm -qa | grep GeoIP
GeoIP-1.5.0-11.el7.x86_64
Как запросить файл, который принадлежит пакету RPM?
Чтобы узнать к какому пакету RPM относится файл /usr/lib64/libGeoIP.so.1.5.0. используем следующую команду.
$ sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0
GeoIP-1.5.0-11.el7.x86_64
Проверка
Как получить информацию для конкретного пакета?
Мы можем использовать параметры -i вместе с q, чтобы получить информацию для конкретного пакета, как показано ниже.
$ sudo rpm -qi GeoIP
Name : GeoIP Version : 1.5.0 Release : 11.el7 Architecture: x86_64 Install Date: Thu 16 Aug 2018 02:04:09 PM UTC Group : Development/Libraries Size : 2905020 License : LGPLv2+ and GPLv2+ and CC-BY-SA Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5 Source RPM : GeoIP-1.5.0-11.el7.src.rpm Build Date : Sat 05 Nov 2016 08:29:17 PM UTC Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem Vendor : CentOS URL : http://www.maxmind.com/app/c Summary : Library for country/city/organization to IP address or hostname mapping Description : GeoIP is a C library that enables the user to find the country that any IP address or hostname originates from. It uses a file based database that is accurate as of June 2007 and can optionally be updated on a weekly basis by installing the GeoIP-update package. This database simply contains IP blocks as keys, and countries as values. This database should be more complete and accurate than using reverse DNS lookups. This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
Как проверить RPM пакет?
Мы можем проверить пакет, сравнив информацию об установленных файлах пакета с базой данных rpm, используя опцию -Vp.
$ sudo rpm -Vp GeoIP-1.5.0-11.el7.x86_64.rpm
Как проверить все пакеты RPM?
Мы можем проверить все установленные пакеты rpm, используя опцию -Va
$ sudo rpm -Va
S.5. T. c /etc/sysconfig/authconfig S.5. T. c /etc/yum.repos.d/CentOS-Base.repo .M. c /etc/machine-id .M. g /etc/udev/hwdb.bin .M. g /var/lib/systemd/random-seed .M. c /etc/shadow S.5. T. c /etc/ssh/sshd_config .M. c /etc/audit/rules.d/audit.rules S.5. T. c /etc/NetworkManager/NetworkManager.conf . L. c /etc/pam.d/fingerprint-auth . L. c /etc/pam.d/password-auth . L. c /etc/pam.d/postlogin