Команда RPM: 15 примеров для установки, удаления, обновления, запроса пакетов RPM
Команда RPM используется для установки, удаления, обновления, запроса, вывода списка и проверки пакетов RPM в вашей системе Linux.
RPM расшифровывается как R ed Hat P ackage M anager.
С правами суперпользователя вы можете использовать команду rpm с соответствующими параметрами для управления программными пакетами RPM.
В этой статье мы рассмотрим 15 практических примеров команды rpm.
Давайте возьмем обороты Mysql Client и рассмотрим все наши примеры.
1. Установка пакета RPM с помощью rpm -ivh
Имя файла RPM имеет имя пакета, версию, версию и имя архитектуры.
Например, в файле MySQL-client-3.23.57-1.i386.rpm:
- MySQL-client- имя пакета
- 3.23.57 — версия
- 1 — релиз
- i386 — Архитектура
Когда вы устанавливаете RPM, он проверяет, подходит ли ваша система для программного обеспечения, содержащегося в пакете RPM, выясняет, куда устанавливать файлы, находящиеся внутри пакета rpm, устанавливает их в вашей системе и добавляет этот фрагмент программного обеспечения в свою базу данных. установленные пакеты RPM.
Следующая команда rpm устанавливает клиентский пакет Mysql.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
Команда rpm и опции
- -i: установить пакет
- -v: verbose
- -h: печатать хеш-метки, когда архив пакета распакован.
Вы также можете использовать dpkg в Debian , pkgadd в Solaris , depot в HP-UX для установки пакетов.
2. Запросите все RPM-пакеты, используя rpm -qa
Вы можете использовать команду rpm для запроса всех пакетов, установленных в вашей системе.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1
- -q операция запроса
- -a запрашивает все установленные пакеты
Чтобы определить, установлен ли конкретный пакет rpm в вашей системе, объедините команды rpm и grep, как показано ниже. Следующая команда проверяет, установлен ли пакет cdrecord в вашей системе.
# rpm -qa | grep 'cdrecord'
3. Запросите конкретный RPM-пакет, используя rpm -q
В приведенном выше примере перечислены все установленные на данный момент пакеты. После установки пакета для проверки установки вы можете запросить конкретный пакет и проверить, как показано ниже.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Примечание. Для запроса пакета необходимо указать точное имя пакета. Если имя пакета неверно, команда rpm сообщит, что пакет не установлен.
4. Запрос пакетов RPM в различном формате с использованием rpm –queryformat
Команда Rpm предоставляет опцию –queryformat, которая позволяет вам давать имена тегов заголовков, чтобы вывести список пакетов. Вложите тег заголовка с помощью {}.
# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n'
cdrecord-2.01-10.7 12324
bluez-libs-3.7-1.1 5634
setarch-2.0-1.1 235563
#
5. К какому пакету RPM относится файл? — используйте rpm -qf
Допустим, у вас есть список файлов, и вы хотели бы знать, какому пакету принадлежат все эти файлы. Команда rpm имеет опции для достижения этой цели.
В следующем примере показано, что файл /usr/bin/mysqlaccess является частью оборотов MySQL-client-3.23.57-1.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f: имя файла
6. Найдите документацию пакета, которому принадлежит файл, используя rpm -qdf
Используйте следующую информацию, чтобы узнать список документации для пакета, которому принадлежит файл. Следующая команда дает расположение всех страниц справочника, связанных с пакетом mysql.
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d: ссылается на документацию.
7. Информация об установленном RPM-пакете с использованием rpm -qi
Команда rpm предоставляет много информации об установленном пакете, используя rpm -qi, как показано ниже:
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
Если у вас есть RPM-файл, который вы хотите установить, но хотите узнать больше информации о нем перед установкой, вы можете сделать следующее:
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i: просмотреть информацию об оборотах
- -p: указать имя пакета
8. Перечислите все файлы в пакете, используя rpm -qlp
Чтобы просмотреть содержимое пакета RPM, используйте следующую команду, которая выведет список файлов без извлечения в папку локального каталога.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q: запрос файла rpm
- l: список файлов в пакете
- p: указать название пакета
Вы также можете извлечь файлы из пакета RPM, используя rpm2cpio, как мы уже обсуждали ранее.
9. Перечислите пакеты зависимостей, используя rpm -qRP
Чтобы просмотреть список пакетов, от которых зависит этот пакет,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. Узнайте состояние файлов в пакете, используя rpm -qsp
Следующая команда должна найти состояние (установлено, заменено или нормальное) для всех файлов в пакете RPM.
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. Проверьте конкретный пакет RPM, используя rpm -Vp
Проверка пакета сравнивает информацию об установленных файлах в пакете с информацией о файлах, взятых из метаданных пакета, хранящихся в базе данных rpm. В следующей команде -V предназначен для проверки, а параметр -p используется для указания имени пакета для проверки.
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
Символ в вышеприведенном выводе обозначает следующее:
- Размер файла S отличается
- Режим M отличается (включает разрешения и тип файла)
- 5 MD5 сумма отличается
- D Несоответствие основного / младшего номера устройства
- L readlink (2) несоответствие пути
- U Владение пользователем отличается
- Собственность G Group отличается
- T mTime отличается
12. Проверьте файл владения пакетом, используя rpm -Vf
Следующая команда проверяет пакет, которому принадлежит данное имя файла.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. Обновление RPM-пакета с использованием rpm -Uvh
Обновление пакета похоже на его установку, но RPM автоматически удаляет существующие версии пакета перед установкой новой. Если старая версия пакета не найдена, опция обновления все равно установит ее.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. Удаление пакета RPM с помощью rpm -e
Чтобы удалить установленный пакет rpm, используйте -e, как показано ниже. После удаления вы можете сделать запрос, используя rpm -qa, и проверить удаление.
# rpm -ev MySQL-client
15. Проверка всех пакетов RPM с помощью rpm -Va
Следующая команда проверяет все установленные пакеты.
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap