Менеджер пакетов RPM

В Red Hat Linux и подобных ему дистрибутивах используется менеджер пакетов RPM. Менеджер пакетов RPM реализован с помощью группы про- грамм, главная из которых — rpm. Далее приведен список важнейших режи- мов работы RPM:

r запрос — включается опцией -q или --query;

r проверка целостности файлов пакета — включается опцией -V или

--verify;

r проверка электронной подписи пакета — опции -K или --checksig;

r установка пакета — опции -i или --install;

r обновление пакета — работает с опцией -U или --upgrade;

r обновление версии пакета — опции -F или --freshen;

r удаление установленных пакетов — опции -e или --erase.


 

Используя режим запроса (опция -q), можно, например, узнать точную вер- сию установленного в системе пакета (пример 18.15).

 

Пример 18.15. Получение полного имени пакета в RPM

 

$ rpm -q bash

bash-4.0-18.4.1.i586

 

В этом примере был осуществлен запрос к базе данных RPM. В качестве ключа запроса использовалось краткое название установленного в системе пакета — bash. В результате исполнения запроса было получено полное имя пакета.

Для получения более подробной информации о пакете следует воспользо- ваться опциями -qi. Использование опций -qi выводит подробную инфор- мацию о пакете, в том числе суммарный размер файлов, установленных из пакета (поле Size), и группу пакетов, к которой этот пакет принадлежит (поле Group).

В примере 18.16 выводится список файлов, установленных из пакета.

 

Пример 18.16. Получение списка файлов, установленных из пакета

 

$ rpm -ql logrotate

/etc/cron.daily/logrotate

/etc/logrotate.conf

/etc/logrotate.d

/usr/sbin/logrotate

/usr/share/doc/logrotate-3.7.8

/usr/share/doc/logrotate-3.7.8/CHANGES

/usr/share/man/man8/logrotate.8.gz

/var/lib/logrotate.status

 

В этом примере получен список файлов, установленных из пакета logrotate.

Можно ограничиться лишь выводом списка конфигурационных файлов, установленных из пакета, используя для этого опции –qc. Кроме этого, с по- мощью опций -qd можно получить информацию о справочных файлах и до- кументации, установленных из этого пакета.

Если задано сочетание опций -qa, то будет получен список из всех пакетов, установленных в системе. Этим удобно пользоваться, если название пакета неизвестно.


 

Так, например, можно получить информацию обо всех пакетах, в имени ко- торых имеется строка "ftp" (пример 18.17).

 

Пример 18.17. Поиск пакета по подстроке

 

$ rpm -qa | grep ftp

 

Можно узнать, из какого пакета установлен некоторый файл (пример 18.18).

 

Пример 18.18. Определение пакета по известному файлу

 

$ rpm -qf /usr/sbin/named bind-9.6.1P2-1.1.1

 

Сочетание опций -qf требует в качестве ключа запроса задать имя файла.

Для получения информации о пакете, еще не установленном в системе, мож- но указать опции -qp, позволяющие извлекать информацию из файла пакета (пример 18.19).

 

Пример 18.19. Получение информации непосредственно из RPM-пакета

 

$ rpm -qip Downloads/bind-9.6.1P2-1.2.src.rpm

Name : bind Relocations: (not relocatable) Version : 9.6.1P2 Vendor: openSUSE

...

 

В примере 18.18 получена информация о пакете, который не установлен в системе, из файла пакета. Часть вывода пропущена для краткости.

Опция -V переключает rpm в режим проверки целостности файлов, установ- ленных из пакета (пример 18.20).

 

Пример 18.20. Проверка целостности пакета

 

$ rpm -V openldap-servers

S.5....T c /usr/share/openldap/migration/migrate_common.ph

 

Выводимая информация означает следующее: S — у файла не совпадает раз- мер, 5 — не совпадает сигнатура md5, T — время модификации изменено.

Опция -K позволяет проверять электронную подпись файлов пакетов. Перед проверкой следует удостовериться, что электронный сертификат производи- теля пакета (дистрибутива) установлен в системе. Обычно сертификат нахо-


 

дится на первом диске установочного комплекта. Во многих дистрибутивах электронный сертификат производителя импортируется еще на стадии уста- новки системы.

 

Пример 18.21. Импортирование сертификата

 

# rpm --import /media/cdrom/RPM-GPG-KEY*

 

Команда rpm --import импортировала ключ (см. пример 18.21), находящий- ся на первом диске установочного комплекта, из файлов, удовлетворявших шаблону RPM-GPG-KEY*.

Далее импортированный ключ может использоваться для проверки цифро- вых подписей пакетов от данного производителя (пример 18.22).

 

Пример 18.22. Проверка подлинности пакета

 

$ rpm -K Downloads/bind-9.6.1P2-1.2.src.rpm

Downloads/bind-9.6.1P2-1.2.src.rpm: rsa sha1 (md5) pgp md5 ОК

 

В приведенном примере подтверждена надежность проверяемого пакета. Установка или обновление пакета осуществляется с помощью опций:

r -i — пакет будет установлен при отсутствии в системе его предыдущей версии;

r -U — пакет будет установлен или обновлен в любом случае (Upgrade);

r -F — возможно только обновление версии пакета. Если предыдущей вер- сии в системе нет, то установка произведена не будет.

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

Эта же опция полезна для проверки последствий удаления пакетов из систе- мы без реального удаления (пример 18.23).

 

Пример 18.23. Проверка возможности удаления пакета

 

$ rpm --test -e mailx error: Failed dependencies:

mailx is needed by (installed) nagios-3.0.6-4.1.i586

/usr/bin/mailx is needed by (installed) lsb-4.0-4.1.i586


 

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

--nodeps.

В дистрибутивах Red Hat имеется удобная утилита yum, значительно автома- тизирующая поиск и установку пакетов и учитывающая зависимости пакетов. Важнейшие способы использования yum:

r yum search <имя> — поиск пакета по имени;

r yum list available — список доступных пакетов;

r yum grouplist — список всех установленных групп пакетов;

r yum repolist — список включенных репозиториев (источников) пакетов;

r yum info <имя> — вывод информации о пакете;

r yum provides <имя> — поиск пакета по его содержимому;

r yum install <имя> — установка пакета.

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

Вот пример использования zypper для поиска и установки пакета (при-

мер 18.24).

 

Пример 18.24. Использование zypper в Open SUSE

 

$ zypper se atftp

Loading repository data... Reading installed packages...

 

S | Name | Summary | Type

--+-------+---------------------------------+-----------

| atftp | Advanced TFTP Server and Client | package

| atftp | Advanced TFTP Server and Client | srcpackageerror

 

 

$ su

# zypper install atftp

 

Здесь показано, как в Open SUSE можно найти пакет по его имени и устано- вить его с помощью zypper.


 








Дата добавления: 2015-06-12; просмотров: 785;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.