Ключевым моментом в работе с RPM является понимание концепции пакетов. RPM пакеты поставляются в виде компрессированных архивов, которые содержат не менее одного файла, а также инструкции по установки этих файлов, включая права доступа, которые должны быть применены к каждому файлу в процессе установки. Эти инструкции также могут содержать скрипты, которые запускаются перед или после установки (удаления) пакета.
Пакет в виде архива весьма удобен для применения, один файл, содержащий все необходимое для установки приложения, это очень практичный формат для передачи пакетов по сети или на других носителях, по сравнению с необходимостью передавать много файлов, если управление ПО происходит на уровне отдельных файлов.
Для облегчения установки и управления все пакеты имеют ясные имена. Полное имя делится на 4 части и выглядит так:
|
kernel-smp-2.4.18-3.athlon.rpm
kernel-smp-2.4.18-3.i586.rpm
kernel-smp-2.4.18-3.i686.rpm
kernel-source-2.4.18-3.i386.rpm
rootfiles-7.2-1.noarch.rpm
|
Части имен отделяются дефисами или точками. Структура имени такова: имя-версия-релиз.процессорная_архитектура.rpm .
Имя указывает на ПО, содержащееся в пакете. Например, kernel-smp содержит ядро Linux с поддержкой многопроцессорности. Иногда пакет представляет собой коллекцию файлов, необходимых системе. Например, пакет rootfiles - это не приложение или библиотека, а набор базовых файлов конфигурации системы, таких как /root/.bashrc, представляющих собой преконфигурированное окружение пользователя root.
Второе поле - это версия. Версия указывает на версию ПО, содержащегося в пакете. Например, kernel-smp-2.4.18 говорит о том, что в пакете содержится ядро версии 2.4.18.
Каждый пакет также имеет поле релиза. Изменение релиза может указывать как на изменения в самом пакете, так и на изменения в содержащемся ПО.
Финальным полем является поле процессорной архитектуры, например, i586 или athlon. Файлы с четвертым полем noarch содержат только скрипты или документацию, но не бинарные модули.
Таблица поддерживаемых процессорных архитектур приведена ниже.
|
Платформа
|
Идентификаторы
|
|
Intel 32-bit совместимые
|
i386, i486, i586, i686, athlon
|
|
Intel 64-bit совместимые
|
ia64
|
|
HP Alpha
|
alpha, alphaev5, alphaev56, alphapca56, alphaev6,
alphaev67
|
|
Sparc/Ultra Sparc (Sun)
|
sparc, sparcv9, sparc64
|
|
ARM
|
armv3l, armv4b, armv4l, armel
|
|
MIPS
|
mips, mipsel
|
|
Power PC
|
ppc, ppciseries, ppcpseries, ppc64
|
|
Motorola 68000
|
m68k, m68kmint
|
|
SGI MIPS
|
Sgi
|
|
IBM RS6000
|
rs6000
|
|
IBM S/390
|
i370, s390x, s390
|
|
Платформно-независимые пакеты
|
noarch
|
Расширение .rpm присутствует у всех пакетов RPM.
Имя установленного пакета с точки зрения RPM отличается от имени файла rpm-пакета. Пакеты, загружаемые из сети, устанавливаемые с какого-либо носителя всегда имеют формат имени name-version-release.architecture.rpm . Установленные пакеты, имена которых могут использоватся в качестве аргументов команды rpm, имеют формат name-version-release. Установленный пакет как правило имеет много файлов, не один rpm-файл. И все эти файлы будут принадлежать одному пакету. Поэтому kernel-smp-2.4.18-3.i586.rpm, установленный в систему, будет идентифицироваться как kernel-smp-2.4.18-3. Возможность обращения к пакету только по имени, без версии и релиза будет означать, что только одна версия-релиз установлена в систему. В противном случае, RPM будет требовать указания версии-релиза для различения разных пакетов.
Далее - Раздел 2. Обзор RPM
Назад - "Чистые" исходные коды
Содержание