Product SiteDocumentation Site

6.2. Утилита командной строки RPM

RPM — это низкоуровневая утилита командной строки, используемая для установки, удаления, обновления, выполнения запросов и проверки целостности пакетов программного обеспечения. Все остальные утилиты управления пакетами в конечном итоге работают через RPM. RPM ничего не знает о репозиториях и оперирует только файлами, пакетами и их зависимостями, для чего использует собственную базу данных (БД). Информация, хранимая в этой БД, в идеале должна соответствовать фактической картине внутри файловой системы. В дистрибутивах «Альт» RPM хранит свою БД в /var/lib/rpm. В один момент времени в системе должен быть запущен лишь один процесс, обращающийся к БД RPM, другие запросы блокируются.
Пакеты могут предоставлять (провайдить) что-либо, требовать (запрашивать) что-либо и конфликтовать с чем-либо, образуя, таким образом, систему межпакетных зависимостей (dependencies). В дистрибутивах «Альт» можно установить пакет, если удовлетворены все его зависимости и нет конфликтов с другими уже установленными пакетами и объектами файловой системы. Из этого следует, что никакими системными файлами нельзя манипулировать непосредственно (вручную), никакое программное обеспечение не стоит устанавливать в обход штатного пакетного менеджера.
Пакеты всегда содержат определенную мета-информацию, на которую ориентируется утилита rpm. Пакеты также могут содержать какие-то файлы, каталоги и символические ссылки. Так называемые мета-пакеты никогда не содержат объектов файловой системы, в них перечисляются только зависимости на другие пакеты.
Основные режимы работы утилиты rpm:
  • Install: установка пакетов;
  • Remove: удаление пакетов;
  • Upgrade: обновление пакетов;
  • Query: выполнение запросов;
  • Verify: проверка целостности пакетов.

Примечание

Справку по ключам команды rpm можно получить, выполнив команду
rpm --help
В качестве примера в данной главе используется пакет Yodl-docs (файл yodl-docs-4.03.00-alt2.noarch.rpm).

6.2.1. Вывод информации о пакете

Для вывода информации о пакете, который еще не установлен в систему, используется ключ -qip (Query|Install|Package):
$ rpm -qip package.rpm
где package.rpm — файл пакета.
Например:
$ rpm -qip yodl-docs-4.03.00-alt2.noarch.rpm
Name        : yodl-docs
Epoch       : 1
Version     : 4.03.00
Release     : alt2
DistTag     : sisyphus+271589.100.1.2
Architecture: noarch
Install Date: (not installed)
Group       : Documentation
Size        : 3701571
License     : GPL
Signature   : DSA/SHA1, Чт 13 мая 2021 05:44:49, Key ID 95c584d5ae4ae412
Source RPM  : yodl-4.03.00-alt2.src.rpm
Build Date  : Чт 13 мая 2021 05:44:44
Build Host  : darktemplar-sisyphus.hasher.altlinux.org
Relocations : (not relocatable)
Packager    : Aleksei Nikiforov <darktemplar@altlinux.org>
Vendor      : ALT Linux Team
URL         : https://gitlab.com/fbb-git/yodl
Summary     : Documentation for Yodl
Description :
Yodl is a package that implements a pre-document language and tools to
process it.  The idea of Yodl is that you write up a document in a
pre-language, then use the tools (eg. yodl2html) to convert it to some
final document language.  Current converters are for HTML, ms, man, LaTeX
SGML and texinfo, plus a poor-man's text converter.  Main document types
are "article", "report", "book" and "manpage".  The Yodl document
language is designed to be easy to use and extensible.

This package contais documentation for Yodl.

Примечание

Ключ -p (Рackage) работает не с базой RPM-пакетов, а с конкретным пакетом.
Для вывода информации об установленном в систему пакете используется команда:
$ rpm -qi package
где package — установленный пакет.
Например:
$ rpm -qi bash
Name        : bash
Version     : 4.4.23
Release     : alt1
DistTag     : sisyphus+221902.500.4.1
Architecture: noarch
Install Date: Ср 29 ноя 2023 11:03:45
Group       : Shells
Size        : 0
License     : None
Signature   : DSA/SHA1, Вт 19 фев 2019 16:40:44, Key ID 95c584d5ae4ae412
Source RPM  : bash-defaults-4.4.23-alt1.src.rpm
Build Date  : Вт 19 фев 2019 16:40:42
Build Host  : ldv-sisyphus.hasher.altlinux.org
Relocations : (not relocatable)
Packager    : Dmitry V. Levin <ldv@altlinux.org>
Vendor      : ALT Linux Team
Summary     : The GNU Bourne Again SHell (/bin/bash)
Description :
This package provides default setup for the GNU Bourne Again SHell (/bin/bash).