rpm

RPM (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat) обозначает две вещи: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение. RPM является основным форматом пакетов в LSB Linux Ubuntu или как узнать версию Linux.

Для установки пакетов по сети используйте менеджер Использование Yum.
  • База данных 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 -i полное имя локального пакета

    При наличии пакета package произойдёт его обновление, при отсутствии — установка.

    rpm -Uhv package.rpm
  • Проверить установлен ли пакет squid
    # rpm -qa | grep squid
    squid-3.1.8-2.fc13.x86_64
  • Удалить пакет squid
    rpm -e squid
  • Показать все установленный пакеты в системе
    rpm -qa | sort
  • rpm -qa –queryformat '%010{SIZE}\t%{NAME}-%{VERSION}-%{RELEASE}\n' — вывод списка всех установленных пакетов и их размеров
  • rpm -q –queryformat %{DISTRIBUTION} package.rpm — название дистрибутива, в котором установлен пакет. (опция -q для установленного в систему пакета, опция -qp для неустановленного)
  • rpm -qa | grep xx — список пакетов, где встречается сочетание «xx»
  • rpm -q –whatprovides fullpathtofile — название пакета которому принадлежит файл fullpathfofile
PQ VPS сервера в 28+ странах.