Ключевым моментом в работе с 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 
 Назад - "Чистые" исходные коды 
 Содержание