Команда RPM используется для установки, удаления, обновления, запроса, вывода списка и проверки пакетов RPM в вашей системе Linux.
RPM расшифровывается как R ed Hat P ackage M anager.
С правами суперпользователя вы можете использовать команду rpm с соответствующими параметрами для управления программными пакетами RPM. В этой статье мы рассмотрим 15 практических примеров команды rpm.
Давайте возьмем обороты Mysql Client и рассмотрим все наши примеры.
Имя файла RPM имеет имя пакета, версию, версию и имя архитектуры.
Например, в файле MySQL-client-3.23.57-1.i386.rpm:
Когда вы устанавливаете RPM, он проверяет, подходит ли ваша система для программного обеспечения, содержащегося в пакете RPM, выясняет, куда устанавливать файлы, находящиеся внутри пакета rpm, устанавливает их в вашей системе и добавляет этот фрагмент программного обеспечения в свою базу данных. установленные пакеты RPM.
Следующая команда rpm устанавливает клиентский пакет Mysql.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
Команда rpm и опции
Вы также можете использовать dpkg в Debian , pkgadd в Solaris , depot в HP-UX для установки пакетов.
Вы можете использовать команду rpm для запроса всех пакетов, установленных в вашей системе.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1
Чтобы определить, установлен ли конкретный пакет rpm в вашей системе, объедините команды rpm и grep, как показано ниже. Следующая команда проверяет, установлен ли пакет cdrecord в вашей системе.
# rpm -qa | grep 'cdrecord'
В приведенном выше примере перечислены все установленные на данный момент пакеты. После установки пакета для проверки установки вы можете запросить конкретный пакет и проверить, как показано ниже.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Примечание. Для запроса пакета необходимо указать точное имя пакета. Если имя пакета неверно, команда rpm сообщит, что пакет не установлен.
Команда 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 #
Допустим, у вас есть список файлов, и вы хотели бы знать, какому пакету принадлежат все эти файлы. Команда rpm имеет опции для достижения этой цели.
В следующем примере показано, что файл /usr/bin/mysqlaccess является частью оборотов MySQL-client-3.23.57-1.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
Используйте следующую информацию, чтобы узнать список документации для пакета, которому принадлежит файл. Следующая команда дает расположение всех страниц справочника, связанных с пакетом 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
Команда 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.
Чтобы просмотреть содержимое пакета RPM, используйте следующую команду, которая выведет список файлов без извлечения в папку локального каталога.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
Вы также можете извлечь файлы из пакета RPM, используя rpm2cpio, как мы уже обсуждали ранее.
Чтобы просмотреть список пакетов, от которых зависит этот пакет,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
Следующая команда должна найти состояние (установлено, заменено или нормальное) для всех файлов в пакете 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
Проверка пакета сравнивает информацию об установленных файлах в пакете с информацией о файлах, взятых из метаданных пакета, хранящихся в базе данных 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
Символ в вышеприведенном выводе обозначает следующее:
Следующая команда проверяет пакет, которому принадлежит данное имя файла.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
Обновление пакета похоже на его установку, но RPM автоматически удаляет существующие версии пакета перед установкой новой. Если старая версия пакета не найдена, опция обновления все равно установит ее.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
Чтобы удалить установленный пакет rpm, используйте -e, как показано ниже. После удаления вы можете сделать запрос, используя rpm -qa, и проверить удаление.
# rpm -ev MySQL-client
Следующая команда проверяет все установленные пакеты.
# 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
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies