rpm пакет

Различают два вида пакетов rpm: пакет с исходным кодом - SRPM-пакет (.src.rpm) и собранный двоичный пакет - RPM-пакет (.rpm).

Структура, из которой собирается RPM-пакет, выглядит примерно так:

mypkg/
  SPECS/ - содержит файл спецификации (`.spec`), описывающий, как собирать пакет;
    mypkg.spec
  SOURCES/ - хранит исходные файлы, из которых будет скомпилирован бинарный пакет;
    mypkg.tar.gz
  BUILD/ - используется для временных файлов во время сборки;
  RPMS/ - хранит собранные бинарные пакеты;
  SRPMS/ - содержит исходные пакеты.

SPECS/

Обязательное содержимое

Файл mypkg.spec - это основной файл, содержащий детали, необходимые для сборки пакета:

  • Название пакета;
  • Версия пакета;
  • Описание пакета (краткое и полное);
  • Информация о создателе пакета;
  • Зависимости, необходимые для работы пакета;
  • Указание лицензии;
  • Этапы сборки и установки.

Опциональное содержимое

Чек-листы (Changelog)

Файл CHANGELOG - содержит историю изменений пакета, позволяя пользователям видеть, что было добавлено, изменено или исправлено в каждой версии.

Скрипты перед и после установки

Пакеты могут содержать скрипты, которые выполняются до или после установки. Эти скрипты позволяют выполнять дополнительные действия, такие как настройка или очистка окружения:

  • %pre - скрипт, выполняемый перед установкой пакета;
  • %post - скрипт, выполняемый после установки пакета;
  • %preun - скрипт, выполняемый перед удалением пакета;
  • %postun - скрипт, выполняемый после удаления пакета.

Параметры конфигурации

Файл my.cnf (или аналогичный) может содержать параметры конфигурации для программ, устанавливаемых через RPM.