Для того, чтобы облегчить управление установленными программами в системе, изготовителями дистрибутивов были созданы специальные утилиты, которые значительно облегчают пользователям жизнь. В дистрибутивах созданных Red Hat и производных от них, используется менеджер пакетов rpm — Red Hat Package Manager (менеджер пакетов Red Hat). С помощью утилиты rpm можно выполнять множество различных операций, таких как устанавливать, удалять, обновлять, опрашивать, проверять установленные пакеты в системе. Рассмотрим более подробно, какие операции можно выполнять с его помощью.
Для того, чтобы поглядеть список всех установленных в системе пакетов, следует выполнить следующую команду:
rpm -qa
например,
# rpm -qa | grep yum
yum-2.3.2-7
# rpm -qa | grep nginx
nginx-0.6.32-1.EL5
Чтобы инсталлировать необходимый пакет, выполните следующую команду:
rpm -ivh yum-2.3.2-7.noarch.rpm
Если на машине настроена сеть, то установку можно выполнить по сети, не выкачивая предварительно пакет на машину:
rpm -ivh ftp://ftp.redhat.com/pub/yum-2.3.2-7.noarch.rpm
rpm -ivh http://www.redhat.com/files/yum-2.3.2-7.noarch.rpm
Для удаления установленного пакета, следует воспользоваться командой:
#rpm -e yum-2.3.2-7
Обратите внимание, что для удаления можно указать короткое имя установленного пакета.
Для обновления уже установленных пакетов, следует воспользоваться командой:
rpm -Uvh yum-2.3.3.noarch.rpm
rpm -Uvh ftp://ftp.redhat.com/pub/yum-2.3.3.noarch.rpm
rpm -Uvh http://www.redhat.com/files/yum-2.3.3.noarch.rpm
Используя эту команду, менеджер пакетов rpm, автоматически удалит старую версию пакета yum-2.3.2-7.noarch.rpm и установит новую. Рекомендуется всегда, для обновления и установки новых пакетов использовать команду rpm -Uvh, так как она сама выполнит все необходимые проверки перед установкой и обновлением.
Для того, чтобы проверить установлен нужный пакет или нет, можно воспользоваться командой rpm -q <имя пакета>, она даёт возможность проверить список установленных пакетов не прибегая к помощи внешних утилит:
# rpm -q nginx
nginx-0.6.32-1.EL5
Для просмотра файлов, которые были установлены пакетом, приведённую выше команду, следует немного модифицировать:
# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/ssl.conf
/etc/nginx/conf.d/upstream-fair.conf
/etc/nginx/conf.d/virtual.conf
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/win-utf
/etc/rc.d/init.d/nginx
/etc/sysconfig/nginx
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/nginx
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/nginx/nginx.so
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/nginx.pm
/usr/sbin/nginx
/usr/share/doc/nginx-0.6.32
/usr/share/doc/nginx-0.6.32/CHANGES
/usr/share/doc/nginx-0.6.32/LICENSE
/usr/share/doc/nginx-0.6.32/README
/usr/share/doc/nginx-0.6.32/README.nginx-upstream-fair
/usr/share/man/man3/nginx.3pm.gz
/usr/share/nginx
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/var/lib/nginx
/var/log/nginx
/var/tmp/nginx
Для того, чтобы проверить, какому пакету принадлежит тот или иной файл, следует выполнить следующую команду:
# rpm -qf /usr/sbin/nginx
nginx-0.6.32-1.EL5
Также, время от времени может возникнуть необходимость проверить корректность файлов, которые были установлены пакетом.Например:
# rpm -V nginx
S.5...T c /etc/nginx/nginx.conf
Вывод данной команды сообщает, что для файла /etc/nginx/nginx.conf изменился размер (S), по сравнению с тем, который был после установки пакета, изменилась контрольная сумма высчитываемая по алгоритму md5 (5), и время модификации файла (T), отличается от первоначального. Команда rpm с ключом -V выводит список файлов у которых изменился какой-либо параметр, по сравнению с теми, которые записаны в пакете. Полный список проверяемых параметров следующий:
S - размер файла M - права доступа и тип файла 5 - контрольная сумма по алгоритму MD5 L - символическая ссылка D - устройство U - владелец G - группа владельца T - время модификации