Глава 15. Управление пакетами с помощью RPM

Менеджер пакетов Red Hat (Red Hat Package Manager, RPM) - это открытая система управления пакетами, доступная всем, и работающая в Red Hat Enterprise Linux, а также других системах Linux и UNIX. Red Hat, Inc. приветствует использование технологии RPM другими производителями для собственных продуктов. RPM распространяется в соответствии с условиями GPL.

RPM предоставляет конечному пользователю возможность легко обновлять систему. Установка, удаление и обновление RPM-пакетов выполняется с помощью коротких команд. RPM ведёт базу данных установленных пакетов и их файлов, поэтому вы можете задавать сложные запросы и выполнять проверку системы. Если вы предпочитаете графический интерфейс, воспользуйтесь средством Управление пакетами (Package Management Tool), выполняющим многие команды RPM. За подробностями обратитесь к главе 16 Средство управление пакетами.

При обновлениях RPM обращается с вашими файлы конфигурации аккуратно, так, чтобы вы никогда не потеряли свои собственные настройки, чего нельзя добиться, работая с обычными файлами .tar.gz.

Разработчику RPM позволяет из исходного текста программы получить пакеты исходных текстов и исполняемого кода, предназначенные для конечных пользователей. Этот процесс достаточно прост и управляется одним файлом или, возможно, дополнительно выпущенными исправлениями. Это чёткое разделение первоначальных исходных кодов, исправлений и инструкций по сборке пакета облегчает поддержку пакета по мере выхода новых версий программного обеспечения.

ЗамечаниеЗамечание
 

Так как RPM вносит в вашу систему изменения, вы должны иметь права root, чтобы установить, удалить или обновить RPM пакет.

15.1. Цели разработки RPM

Чтобы понять, как использовать RPM, полезно понять цели разработки RPM:

Возможность обновления

Используя RPM, вы можете обновлять отдельные компоненты вашей системы, без полной переустановки. Когда вы получаете новый выпуск операционной системы, основанной на RPM (например, Red Hat Enterprise Linux), вовсе не обязательно переустанавливать её на компьютере (что приходится делать с операционными системами, основанными на других системах пакетов). RPM позволяет разумно и полностью автоматически обновить систему, сохраняя при этом её работоспособность. Файлы конфигурации, включенные в пакеты, сохраняются во время обновления, поэтому ваши настройки не будут потеряны. Для обновления пакета не используются какие-либо специальные файлы обновлений, так как один RPM пакет используется и для установки, и для обновления пакета в системе.

Мощные запросы

В RPM заложены мощные возможности выполнения запросов. Вы можете выполнить поиск пакетов или определенного файла во всей базе данных. Вы также можете легко определить, к какому пакету относится файл, и откуда был получен пакет. Файлы, включенные в RPM-пакет, находятся в сжатом архиве, имеющем специальный двоичный заголовок, содержащий полезную информацию о пакете и его содержимом, что позволяет вам легко анализировать отдельные пакеты.

Проверка целостности системы

Другая мощная возможность — способность проверять целостность пакетов. Если вас волнует, что вы удалили важный файл какого-то пакета, просто проверьте целостность пакета. Вы увидите сообщения о всех несоответствиях. После этого вы можете переустановить пакет, если необходимо. Все изменённые вами файлы конфигурации во время переустановки будут сохранены.

Первоначальные исходные тексты

Важной целью проекта была возможность использования «первоначальных» исходных текстов программного продукта, распространяемых его разработчиками. В RPM содержатся оригинальные исходные тексты программного обеспечения наряду с выпущенными исправлениями, а также детальные инструкции по построению пакетов. Это очень важная возможность по нескольким причинам. Например, если выходит новая версия программы, вам не обязательно начинать её компиляцию с самого начала. Вы можете посмотреть на исправление, чтобы понять, какие действия может потребоваться выполнить. Используя эту технологию, можно легко увидеть все параметры компиляции, а также все внесённые изменения, необходимые для правильной сборки программного продукта.

Может показаться, что сохранение первоначальных исходных текстов важно только для разработчиков, однако, в результате это приводит к улучшению качества программного обеспечения для конечных пользователей.