1 |
# rpm -ivh имя_пакета |
– установка пакета
1 |
# rpm -ivh --test имя_пакета |
— Команда тестирования пакета и его зависимостей
1 |
# rpm -ivh --force имя_пакета |
– принудительная установка пакета
1 |
# rpm -ivh --nodeps имя пакета |
— принудительная установка пакета без проверки его зависимостей
1 |
# rpm -ivh --replacefiles |
– установка пакета с заменой всех старых файлов на новые не переименовывая их в .rpmsave.
1 |
# rpm -Uvh имя_пакета |
– обновление(или установка,если пакет еще не установлен) пакета без изменения конфигурационных файлов
1 |
# rpm -ev имя_пакета |
– удаление пакета
1 |
# rpm -ev --nodeps имя_пакета |
– принудительное удаление пакета несмотря на зависимости.
1 |
# rpm -q имя_пакета |
– просмотр версии пакета
1 |
# rpm -qa |
– список всех установленных пакетов
1 |
# rpm -qa --last |
Отображение списка установленных пакетов начиная с самых последних
1 |
# rpm -qi имя_пакета |
– просмотр информации о данном пакете.
1 |
# rpm -ql имя_пакетa |
– список файлов, установленных пакетом.
1 |
# rpm -qf имя_файла |
– определение пакета, которому принадлежит файл.
1 |
# rpm -qc имя_пакета |
– список конфигурационных файлов для пакета.
1 |
# rpm -qd имя_пакета |
— спсиок документации для пакета.
1 |
# rpm -qR имя_пакета |
– список зависимостей для пакета имя_пакета.
1 |
# rpm -V имя_пакета |
– проверка «целостности» пакета(все ли файлы для этого пакета существуют в системе)
1 |
# rpm -Va |
–проверка «целостности» всех пакетов, установленных в системе.
1 |
# rpm -Vp имя_пакета.rpm |
— проверка пакета, который еще не установлен в систему
1 |
# rpm --rebuiiddb |
— полная перестройка базы данных пакетов
1 |
# rpm --initdb |
— создание новой базы данных пакетов
1 |
# rpm --import RPM-GPG-KEY |
— Импорт GPG ключа. Необходимо для проверки пакетов
1 |
# rpm -qpR имя_пакета.rpm |
— список зависимостей для пакета имя_пакета.rpm.
1 |
# rpm -qip имя_пакета.rpm |
— просмотр информации о пакете имя_пакета.rpm, который расположен в текущей директории.
1 |
# rpm -qlp имя_пакета.rpm |
— просмотр списка файлов в неустановленном пакете
1 |
# rpm -q --scripts имя_пакета.rpm |
— просмотр скриптов %pre- %post- install (uninstall).
1 |
# rpm -q --changelog имя_пакета.rpm |
— просмотр changelog пакета
1 |
# rpm -q --whatrequires имя_пакета |
— вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
1 |
# rpmbuild --rebuild имя_пакета.src.rpm |
— собрать пакет из исходных кодов
1 |
# rpm -ivh /usr/src/redhat/RPMS/`arch`/имя_пакета.rpm |
– установить пакет, собранный из исходного кода
1 |
# rpm -qg "System Environment/Daemons" |
– отобразить список пакетов, входящих в группу пакетов
1 |
# rpm --import /media/cdrom/RPM-GPG-KEY |
— импортировать публичный ключ цифровой подписи
1 |
# rpm --checksig имя_пакета.rpm |
– проверить подпись пакета (предварительно необходимо импортировать GRG-ключ)
Немного безопасности не помешает
В целях безопасности перед установкой или обновлением пакетов следует проверять их на подлинность, чтобы быть уверенным, что вы действительно устанавливаете необходимый вам пакет. Для этого существует два способа — проверка GPG подписи и md5 суммы. Рассмотрим каждый из них.
Для того, чтобы проверить GPG подпись необходимо вызвать rpm с ключом —check-sig.
1 |
# mount /media/cdrom |
1 |
# cd /media/cdrom/CentOS/RPMS/ |
1 |
# rpm --checksig squid-2.5.STABLE6-3.4E.3.i386.rpm |
1 |
squid-2.5.STABLE6-3.4E.3.i386.rpm: (SHA1) DSA sha1 md5 (GPG) НЕ ОК |
1 |
(ОТСУТСТВУЮТ КЛЮЧИ: GPG#443e1821) |
Как видно из сообщения, у нас отсутствует открытый ключ GPG, и соответственно мы не можем проверить подпись. Для исправления этой ситуации необходимо импортировать ключ GPG в нашу базу данных с помощью следующей команды
1 |
# rpm --import /media/cdrom/RPM-GPG-KEY |
На всех дисках с дистрибутивами должен идти GPG ключ, с помощью которого мы можем проверить все пакеты входящие в этот дистрибутив. После импорта ключа повторим проверку rpm пакета.
1 |
# rpm --checksig squid-2.5.STABLE6-3.4E.3.i386.rpm |
1 |
squid-2.5.STABLE6-3.4E.3.i386.rpm: (sha1) dsa sha1 md5 gpg ОК |
Как видно, из сообщения, у нас действительно оригинальный (не измененный) пакет и его можно безопасно устанавливать. Но что делать, если вы скачиваете пакет с сайта производителя ПО? Очень часто производители также выкладывают открытые GPG ключи на сайтах. В данном случае необходимо выполнить аналогичную процедуру, т.е. импортировать ключ в базу данных, а затем проверить соответствующий пакет.
Если все-таки нет GPG ключа, то проверить сохранность пакета можно по т.н. контрольной сумме. Перед установкой пакета, следует сравнить текущую сумму с указанной на сайте, откуда вы скачивали данный rpm пакет. Узнать контрольную сумму можно с помощью следующей команды
1 |
# md5sum postfix-2.2.8-1.2.src.rpm |
1 |
985be6c349f062c5245a5a3272c2ac2c postfix-2.2.8-1.2.src.rpm |
Если md5 сумма совпадает, значит у вас действительно оригинальный пакет и теперь можно приступить к его непосредственной установке. Если сумма не совпадает, то возможно при закачке файл был поврежден или это совсем не тот файл, который вам нужен ;). В данном случае лучше не устанавливать файл. Если у вас вообще нет никакой возможности проверить подлинность того или иного пакета, то я рекомендовал бы не устанавливать данный пакет вообще. Иначе при установке такого пакета вы можете установить себе в систему т.н. rootkit о последствиях я думаю говорить не надо.