Ключевым моментом в работе с RPM является понимание концепции пакетов. RPM пакеты поставляются в виде компрессированных архивов, которые содержат не менее одного файла, а также инструкции по установки этих файлов, включая права доступа, которые должны быть применены к каждому файлу в процессе установки. Эти инструкции также могут содержать скрипты, которые запускаются перед или после установки (удаления) пакета.
Пакет в виде архива весьма удобен для применения, один файл, содержащий все необходимое для установки приложения, это очень практичный формат для передачи пакетов по сети или на других носителях, по сравнению с необходимостью передавать много файлов, если управление ПО происходит на уровне отдельных файлов.
Для облегчения установки и управления все пакеты имеют ясные имена. Полное имя делится на 4 части и выглядит так:
kernel-smp-2.4.18-3.athlon.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, |
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
Назад - "Чистые" исходные коды
Содержание