• Narrow screen resolution
  • Wide screen resolution
  • Wide screen resolution
OOPS. Your Flash player is missing or outdated.Click here to update your player so you can see this content.
Главная Linux Менеджер управления пакетами RPM
Менеджер управления пакетами RPM Печать E-mail
Рейтинг пользователей: / 1
ХудшийЛучший 
Автор: Administrator   

3.4.1. Менеджер управления пакетами RPM


В общем случае, пакет rpm представляет собой контейнер, содержащий группы файлов, ассоциированных с определенным приложением, которые включают бинарные исполняемые файлы, библиотеки функций, конфигурационные файлы и файлы документации. Кроме того, в состав каждого rpm пакета входит набор инструкций, которые определяют, как и куда следует установить файлы, входящие в состав данного пакета, а также позволяющие определить необходимые зависимости файлов данного пакета от файлов, содержащихся в других пакетах.
Каждый rpm пакет имеет строго определенное название, в состав которого входит версия пакета, релиз пакета и архитектура процессора, на которой данный  пакет возможно использовать. Структура именования rpm пакета имеет следующий вид:
<имя пакета>-<версия пакета>-<релиз>-<архитектура>.rpm
Наиболее используемые архитектуры, использующиеся в пакетах rpm, приведены в таблице

 

Архитектура

Описание

noarch

Архитектурно-независимые пакеты,  которые могут быть установлены  на оборудовании с произвольной архитектурой процессора.

i386

Данные пакеты предназначены для установки на 32-х битных системах типа х86.

i586

Данные пакеты предназначены для установки на устаревших системах х86.

i686

Данные пакеты предназначены для установки в системах, имеющих процессоры типа Intel Pentium I, II, III, IV.

х86_64

Данные пакеты предназначены для установки на 64-х битные системы с процессорами типа AMD Opteron, AMD Athlon64, Intel EM64T.

ia64

Данные пакеты предназначены для установки на системы с процессорами типа Intel Itanium.

ррс

Данные пакеты предназначены для установки на 32-х битные системы IBM, такие как IBM eServer, IBM pSeries, IBM iSeries, IBM Power.

s390x

Данные пакеты предназначены для установки на 64-х битные системы IBM eServer System z.

 

Пакеты rpm могут находиться как на локальных файловых системах, так и быть доступными по сети. Основным средством управления пакетами в ОС Linux является менеджер пакетов Red Hat Package Manager (RPM). В состав менеджера пакетов RPM входит утилита rpm, при помощи которой происходит установка, обновление и выполнение других операций над пакетами, а также специальная база данных, в которой содержится информация обо всех установленных в системе пакетах, включая зависимости между пакетами и принадлежащие пакетам файлы. Кроме того, менеджер пакетов RPM отслеживает целостность файлов, входящих в состав пакета; управляет конфликтами, происходящими в процессе установки или обновления пакетов.

Перед установкой rpm пакета желательно убедиться, что он предоставлен из удостоверенного источника. Процесс проверки подлинности пакета заключается в проверке цифровой подписи данного пакета ключом, предоставленным разработчиком пакета. Данная сверка выполняется автоматически утилитой rpm, если не были указаны соответствующие аргументы запуска.

Импорт ключей для проверки подписей осуществляется запуском команды rpm --import <файл>, где в качестве файла необходимо указать файл, содержащий ключи GPG. Файлы GPG, распространяемые компанией Red Hat, располагаются в корневом каталоге первого инсталляционного компакт-диска ОС Linux и начинаются со слов RPM-GPG-KEY. Для проверки количества импортированных ключей используется .команда rpm -qa gpg-pubkey. Для просмотра детальной информации по импортированным ключам необходимо использовать команду rpm -qi <название_ключа>.

После того, как необходимые ключи были импортированы в систему, проверка цифровой подписи пакета выполняется при помощи команды rpm -К <название_пакета. rpm>. Если пакет не подписан, вывод данной команды будет иметь вид «NOT ОК». Если необходимый ключ не был импортирован в систему, то будет выдано сообщение вида «MISSING KEY». Если пакет подписан и не был изменен после того, как его подписал удостоверенный источник, будет выдано сообщение, содержащее фразу «md5 gpg ОК».
Для установки пакетов rpm необходимо запустить команду rpm следующим образом:
rpm          -ivh          <название_пакета1.rpm>        <название_пакета2.rpm> <название_пакетам.rpm>

Ключи -ivh используются, соответственно для установки пакета, детального отображения процесса установки и отображения прогресса установки. При указании нескольких названий пакетов будут установлены все указанные пакеты. Запуск команды rpm с ключом -i осуществит установку пакета только в том случае, если в системе данный пакет еще не установлен. Для обновления уже установленного пакета используется команда rpm с ключом -U. Если при запуске команды rpm с ключом -U обновляемый пакет не установлен, то будет выполнена установка пакета. Для обновления пакета и не установки данного пакета в случае его отсутствия в системе, используется команда rpm с ключом -F.

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

Для удаления пакета используется команда rpm с ключом . Если пакет, который вы пытаетесь удалить, необходим для работы других пакетов, то система выдаст предупреждение о нарушении зависимостей в случае удаления данного пакета. Если пакет, который необходимо удалить, содержит конфигурационный файл, который был изменен, то менеджер пакетов выполнит удаление указанного пакета, а измененные конфигурационные файлы сохранит с расширением .rpmsave.
Помимо процедур установки, обновления и удаления пакетов менеджер RPM позволяет выполнять проверку целостности файлов, входящих в состав пакета, согласно таким параметрам как код доступа, владелец файла, размер файла, MD5 сумма? Данные проверки осуществляются посредствам сверки параметров оригинального файла и таких же параметров файла установленного в системе. Для выполнения данной проверки необходимо запустить rpm -V <название_пакета>.

Если вывод данной команды окажется пустым, значит файлы, входящие в состав пакеты не были изменены. В случае, если какие либо файлы были изменены, то отобразится таблица, содержащая список измененных файлов и соответствующий код, обозначающий измененный параметр. В следующем листинге приведен пример проверки файлов, входящих в состав пакета
sysklogd-1.4.1-40.el5:

[root@rhel5 ~]# rpm -w sysklogd-1.4.1-40.el5
........  с /etc/logrotate.d/syslog
........  с /etc/rc.d/init.d/syslog
........  с /etc/sysconfig/syslog
S.5....T с /etc/syslog.conf
........      /sbin/klogd
........      /sbin/systogd
........      /usr/share/doc/sysklogd-1.4.1
........  d /usr/share/doc/sysklogd-1.4.1/ANNOUNCE
........  d /usr/share/doc/sysklogd-1.4.1/CHANGES
........  d /usr/share/doc/sysklogd-1.4.1/ChangeLog


Листинг 3.7. Проверка файлов пакета rpm.


Как видно из листинга 3.7, файл /etc/syslog.conf был изменен, а именно:

  • был изменен размер файла, о чем свидетельствует символ S в поле кода проверки;
  • сумма MD5 была изменена, о чем свидетельствует символ 5 в поле кода проверки;
  • время модификации файла, о чем свидетельствует символ Т в поле кода проверки. Следом за кодом проверки указывается тип файла. Возможные коды проверки файлов,

     

 

Таблица 3.10. Коды проверки RPM.

Код проверки

Описание

S

Размер файла был изменен.

М

Код доступа файла был изменен.

5

Сумма MD5 файла была изменена.

D

Старший или младший номер устройства был изменен.

L

Путь символической ссылки был изменен.

U

Владелец файла был изменен.

G

Группа файла была изменена.

T

Время последнего изменения файла было изменено.

 

База данных RPM, входящая в состав менеджера пакетов RPM, содержит много полезной информации, которую можно получить, используя специальные запросы к базе RPM. Данные запросы позволяют определить пакет, к которому принадлежит присутствующий в системе файл, определить файлы, входящие в состав пакета, а также просмотреть дополнительную информацию по пакету. Для запроса к базе RPM необходимо выполнить команду rpm с ключом -q<N>, где вместо параметра <N> необходимо указать соответствующую опцию в зависимости от типа запроса. В таблице 3.11. приведены опции, используемые для выполнения запросов к базе RPM.

Таблица 3.11. Опции команды rpm -q.

Команда

Описание

rpm -qa

Отобразить все установленные в системе пакеты.

rpm -qf <имя_файла>

Определить пакет, к которому принадлежит указанный файл.

rpm -qc <название пакета>

Отобразить только конфигурационные файлы, входящие в состав указанного пакета.

rpm -qi <название пакета>

Отобразить краткую информацию по пакету.

rpm -ql <название пакета>

Отобразить все файлы, входящие в состав указанного пакета.

rpm -qR <название пакета>

Отобразить   все   зависимости,   без   которых   пакет   нельзя установить.

rpm -qd <название_пакета>

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

rpm -q —changelog <название пакета>

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

 

В ОС Linux существуют графические программы управления пакетами rpm, такие как pup и pirut.
Если вы успешно зарегистрировались в сети RHN, то для обновления пакетов ОС Linux можно
использовать программу pup, которую можно запустить из меню «Applications» —> «System
Tools» —> «Software Updater».

Данная программа отображает только те пакеты, для которых
доступны обновления в сети RHN
Для управления пакетами rpm в среде GNOME используется графическая программа pirut, которая позволяет устанавливать сразу несколько пакетов с разрешением соответствующих им зависимостей и отображать список уже установленных пакетов. Кроме того, данная программа имеет возможности поиска пакетов по базе данных RPM. Запуск программы pirut осуществляется из меню «Applications» --> «Add/Remove Softwares»

Основным недостатком менеджера пакетов RPM является то, что он не разрешает зависимости пакетов в момент их установки. Каждую зависимый пакет необходимо указывать в командной строке, что может быть достаточно трудоемкой задачей. Для решения подобных проблем в ОС Linux присутствует менеджер пакетов yum. Предже, чем использовать менеджер пакетов yum, необходимо настроить подключение к сети RHN или же прописать дополнительные репозитории, содержащие пакеты rpm. Менеджер пакетов yum имеет следующие достоинства:

  • Автоматическое разрешение зависимостей пакетов.
  • Наличие консольной и графической версии программы.
  • Использование нескольких ресурсов, содержащих пакеты rpm.
  • Возможность устанавливать пакеты только определенной версии или архитектуры.

Для установки пакета при помощи менеджера пакетов yum используется следующий синтаксис команды:
yum install <название_пакета1> <название_пакета2> ...
Для установки конкретной версии пакета необходимо:
yum install <название_пакета>-<версия>
Для установки пакета для определенной архитектуры необходимо запустить:
yum install <название_пакета>.<архитектура>
Для обновления пакета необходимо запустить:
yum update <название_пакета>
Если при указании команды yum update будет опущено название пакета, то будет выполнена попытка обновить все установленные в системе пакеты.
Для удаления пакета необходимо запустить:                                                                         
yum remove <название_пакета>
При удалении указанного пакета также удаляются и зависимые пакеты, что является значительным преимуществом по сравнению с менеджером пакетов RPM.
Для выполнения различных действий связанных с управлением пакетами rpm, программа yum использует конфигурационный файл /etc/yum.conf, в котором указаны параметры ресурсов, которые содержат пакеты rpm. В частности, в данном файле указываются параметры кэширования данных о пакетах, проверки цифровых подписей GPG, описание ресурсов и многие другие. Для просмотра всех директив конфигурационного файла программы yum можно выполнить команду man yum.conf.

 

 

 

Добавить комментарий


Защитный код
Обновить


Авторизация


Новости с OpenNet

Проект OpenNET

Карта сайтаПартнеры