RPM — Package Manager.

Установка, настройка, эксплуатация.

Модератор: ROOT

RPM — Package Manager.

Сообщение ROOT » 24 ноя 2018, 18:06

Оглавление


Темы
 О RPM 
 Некоторые полезные команды RPM 
Дополнительные материалы
DNF — Новый менеджер зависимостей
YUM — Старый менеджер зависимостей


 О RPM 
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 
RPM (RPM Package Manager) - формат пакетов программного обеспечения и программа,созданная для управления этими пакетами.
КомандаОписание
rpm -ivh package.rpmустановка пакета package.rpm
rpm -Uvh package.rpmобновление пакета package.rpm
rpm -evpackage удаление пакета package
rpm -qa
rpm -qa --last
список всех установленных пакетов, ключ
--last — Упорядочивает вывод пакетов по времени установки, чтобы последние пакеты были в начале.
rpm -qlсписок файлов, установленных пакетом package
rpm -qf /path/to/fileопределение пакета, которому принадлежит файл file
rpm -qcpackage список конфигурационных файлов для пакета package
rpm -qpR packagefileсписок зависимостей для файла RPM packagefile
rpm -qR packageсписок зависимостей пакета (прямая зависимость от этого пакета)
rpm -q --whatrequires packageсписок пакетов имеющих в зависимостях проверяемый пакет (обратная зависимость)
rpm2cpio package.rpm | cpio -idvизвлечение содержимого пакета package.rpm в текущею директорию
rpm -q --changelog bind |$PAGERВывести список изменений для пакета bind
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 135
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron