RPM | это... Что такое RPM? (original) (raw)

У этого термина существуют и другие значения, см. rpm.

RPM Package Manager (RPM)

RPM Logo.svg
Тип Система управления пакетами
Автор Red Hat
Разработчик сообщество[1]
Написана на Си
Операционная система GNU/Linux, Unix-like
Последняя версия 5.3.6 (2 марта 2011)
Тестовая версия 5.4.0
Лицензия GNU General Public License
Сайт http://rpm.org/ http://rpm5.org/

RPM (рекурсивный акроним RPM Package ManagerRPM — менеджер пакетов; ранее раскрывался как 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 имеет название, которое состоит из нескольких частей:

Собранный пакет обычно имеет такой формат названия:

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

Например:

nano-0.98-2.i386.rpm

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

libgnomeuimm2.0-2.0.0-3.src.rpm

Библиотеки чаще всего распространяются в двух отдельных пакетах. Первый содержит собранный код, второй (обычно к нему добавляют -devel) содержит заголовочные файлы и другие файлы, необходимые разработчикам. Необходимо следить за тем, чтобы версии этих двух пакетов совпадали, иначе библиотеки могут работать некорректно. Пакеты с расширением noarch.rpm не зависят от конкретной архитектуры компьютера. Обычно они содержат графику и тексты, используемые другими программами.

Преимущества и недостатки RPM

Преимущества RPM над другими средствами управления и установкой программного обеспечения

Основные недостатки

Создание пакета

Для создания пакета нужен spec-файл. Это обычный текстовой файл, имеет суффикс .spec и содержит в себе название пакета, версию, номер релиза, инструкции по сборке и установке пакета и список изменений. При наличии spec-файла пакет создаётся командой rpmbuild

Цикл статей по сборке RPM здесь; из англоязычных руководств можно рекомендовать хоть и старое, но во многом (особенно по части макросов) актуальное Maximum RPM и черновик его обновлённой версии — RPM Guide также есть Red Hat RPM Guide — русский перевод

Примеры

Поддерживаемые дистрибутивы Linux

Ниже приведён список некоторых наиболее известных дистрибутивов, основанных на RPM:

(Это неполный список. Подробности смотрите в списке дистрибутивов Linux)

Удобные дополнения к RPM

Есть несколько программ, которые позволяют автоматически разрешить зависимости при установке пакетов. Вот некоторые наиболее известные:

FrontEnd

Примечания

  1. RPM -- plans, goals, etc.. Max Spevack . Проверено 20 января 2011.

Ссылки

Просмотр этого шаблона Red Hat
Главные продукты RHEL · Directory Server · Certification Program · Global File System · Cluster Suite · JBoss · Fedora · VMM · Anaconda · YUM · up2date · RPM · Satellite
Службы RHN · Mugshot
Проекты Проект Fedora · Dogtail · Spacewalk
Устаревшие Red Hat Linux · Red Hat Database · Fedora Legacy
Важные люди Джим Уайтхерст · Мэттью Шулик · Боб Янг · Марк Эвинг · Майкл Тименн
Слияния и поглощения Слияния и поглощения · Akopia · C2Net · Cygnus Solutions · JBoss · MetaMatrix · Qumranet
Разное Red Hat India · Дистрибутивы семейства RedHat · kickstart
Просмотр этого шаблона Форматы архивов (сравнение по типу)
Только архивирование arcpio • shar • tar • LBR
Только сжатие bzip2 • compress • gzipLZMALZWlzop • rzip • SQ • XZ
Архивирование и сжатие 7zACEARCALZipARJCabinet • cpt • DARdd • DGCA • .dmg • GCA • kgbLHALZXPAQRAR • qda • sit • SQX • XarzooZIP
Упаковка и распространение ПО deb • pkg • gemRPMMSIJAR (WAR • RAR (Java)EAR)
Просмотр этого шаблона Свободное программное обеспечение для управления ОС
Установщик ОС YaSTAnacondaDebian-InstallerBSD InstallerSysinstallFinstall
Менеджер входа KDMGDMLXDMLightDMWINGsEntranceSLiM • Enter •
Управление ПО YaSTYumexSynapticAptitude • Ubuntu Software Center • Deepin Software Center • KPackage • RPMdrake • AppCoffe
Управление ОС YaSTSystemConfigCalculate consoleDrackConf • Control Panel • Alterator