RPM — Package Manager.

Установка, настройка, эксплуатация.
Ответить
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

RPM — Package Manager.

Сообщение root »

Оглавление
Темы
О RPM
Некоторые полезные команды RPM
Дополнительные материалы
DNF — Новый менеджер зависимостей
YUM — Старый менеджер зависимостей
RPM (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat) обозначает две сущности: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение. RPM является основным форматом пакетов в LSB.
Изначально разработанный компанией Red Hat для Red Hat Linux, RPM стал использоваться во многих дистрибутивах Linux и был портирован на другие операционные системы: Novell NetWare (с версии 6.5 SP3), IBM AIX (с версии 5) и прочие.
Для хранения файлов в формате RPM используется архивный контейнер cpio, с использованием сжатия утилитой gzip. В более поздних версиях может быть использован архиватор star и сжатие с помощью bzip2, LZMA или XZ. Начиная с версии RPM 5.0 возможно использование архиватора XAR.
База данных RPM
База данных RPM ведётся в каталоге /var/lib/rpm. Она состоит из одиночной базы данных (Packages), в которой хранится вся информация о пакетах, и множества маленьких баз (__db.001, __db.002 и т. д.), которые служат для индексации и содержат в себе сведения о том, какие файлы менялись и создавались при установке и удалении пакетов.
Если база данных несколько испортится (что может произойти, если процесс установки или удаления был «убит» или закончилось место на разделе), то её можно восстановить, введя команду

Код: Выделить всё

rpm --rebuilddb
Если база была уничтожена — рекомендуется достать копию из заранее сделанного бэкапа или восстановить при помощи

Код: Выделить всё

rpm -ivh --justdb
по списку пакетов, заранее полученному командой

Код: Выделить всё

rpm -qa | sort
Возможны полуэвристические методы восстановления базы по списку файлов в пакетах репозитория, из которого была установлена система, но лучше до этого не доводить.
Наименования пакетов
Каждый пакет RPM имеет название, которое состоит из нескольких частей:
  • Название программы;
  • Версия программы;
  • Номер выпущенной версии (количество раз пересборки программы одной и той же версии). Также часто используется для обозначения дистрибутива, под который собран этот пакет, например, mdv (Mandriva Linux) или fc4 (Fedora Core 4);
  • Архитектура, под которую собран пакет (i386, ppc и т. д.)
Собранный пакет обычно имеет такой формат названия:

Код: Выделить всё

<название>-<версия>-<релиз>.<архитектура>.rpm
Например:

Код: Выделить всё

nano-0.98-2.i386.rpm
Иногда в пакет входят исходные коды. Такие пакеты не содержат информации об архитектуре, она заменяется на src. Например:

Код: Выделить всё

libgnomeuimm2.0-2.0.0-3.src.rpm
Библиотеки чаще всего распространяются в двух отдельных пакетах. Первый содержит собранный код, второй (обычно к нему добавляют -devel) содержит заголовочные файлы и другие файлы, необходимые разработчикам. Необходимо следить за тем, чтобы версии этих двух пакетов совпадали, иначе библиотеки могут работать некорректно. Пакеты с расширением noarch.rpm не зависят от конкретной архитектуры компьютера. Обычно они содержат графику и тексты, используемые другими программами.
Архитектурные типы .rpm-файлов
  • .i386.rpm — Пакет для Linux/Intel
  • .src.rpm — Исходный код пакета (никогда не устанавливайте .src.rpm -- потом не удалите!)
  • .alpha.rpm — Пакет для Linux/Alpha
  • .sparc.rpm — Пакет для Linux/Sparc (Sun)
  • .ppc.rpm — Пакет для Linux/PowerPC
  • .noarch.rpm — Пакет для всех архитектур (обычно содержит данные -- файлы конфигурации, шрифты и т.д.)
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


RPM (RPM Package Manager) - формат пакетов программного обеспечения и программа,созданная для управления этими пакетами.
КомандаОписание
rpm -ivh packageустановка пакета package
rpm -Uvh packageОбновление пакета package
rpm -ev packageУдаление пакета package
rpm -qa package
rpm -qa --last package
список всех установленных пакетов, ключ --last — Упорядочивает вывод пакетов по времени
установки, чтобы последние пакеты были в начале.
rpm -ql packageсписок файлов, установленных пакетом package
rpm -qf /path/to/fileопределение пакета, которому принадлежит файл file
rpm -qc packageСписок конфигурационных файлов для пакета package
rpm -qi packageВыводит информацию о пакете
rpm -qpR packageСписок зависимостей для файла RPM package
rpm -qR packageсписок зависимостей пакета (прямая зависимость от этого пакета)
rpm -q --whatrequires packageсписок пакетов имеющих в зависимостях проверяемый пакет (обратная зависимость)
rpm2cpio package.rpm | cpio -idvизвлечение содержимого пакета package.rpm в текущею директорию
rpm -q --changelog bind |$PAGERВывести список изменений для пакета bind
Последний раз редактировалось root 12 авг 2026 20:51, всего редактировалось 1 раз.
Ответить