Команда RPM в примерах
Хочу создать заметку по использованию утилиты rpm (пакетного менеджера) для работы с rpm пакетами. В своей статье «Команда RPM в примерах» я расскажу как можно выполнять различные операции с пакетами rpm, и для удобства использования, я сохраню их себе.
Команда RPM в примерах
Если необходимо удалить определенный пакет, назовем его rpm_some_package, то нужно выполнить команду:
# rpm -e rpm_some_package
Если необходимо показать список всех установленных rpm пакетов, используйте:
# rpm -qa
PS: Можно отобрать нужные пакеты (со всех установленный) и показать список, например для nginx:
# rpm -qa | grep nginx
Допустим, вам нужно просмотреть некоторую информацию о конкретном пакете (допустим — это rpm_some_package):
# rpm -qi rpm_some_package
Если необходимо установить определенный пакет, назовем его rpm_some_package с выводом на экран и с прогресс-баром то нужно выполнить команду:
# rpm -ivh rpm_some_package.rpm
Если необходимо обновить некий пакет rpm_some_package, но без всяких изменений в конфигурационных файлов ( если отсутствует пакет, то он будет установлен):
# rpm -Uvh rpm_some_package.rpm
Чтобы установить пакет rpm_some_package с выводом всех действий на экран и без контроля всех зависимостей, используйте:
# rpm -ivh --nodeeps rpm_some_package.rpm
Чтобы обновить пакет rpm_some_package ( если он установлен), используйте:
# rpm -F rpm_some_package.rpm
Чтобы показать список функциональностей которые предоставляются, выполните:
# rpm -qip rpm_some_package --whatprovides
Показать историю ревизий данного пакета rpm_some_package:
# rpm -qip rpm_some_package --changelog
Вывести скрипты, которые запускаются при установке/удалении пакета rpm_some_package:
# rpm -qip rpm_some_package --scripts
Выполнить проверку ( узнать какому пакету относится указанный файл), то нужно прописать полный путь к файлу:
# rpm -qf /etc/nginx/nginx.conf
Показать какие пакеты относятся в группе пакетов ( fedora, redhat ):
# rpm -qg "System Environment/Daemons"
Показать список файлов конфигурации которые входят в пакет rpm_some_package:
# rpm -qc rpm_some_package
Показать весь список файлов которые входят в пакет rpm_some_package:
# rpm -qlp rpm_some_package
Показать список всех пакетов, которые необходимы для установки данного пакета rpm_some_package по его зависимостям:
# rpm -q rpm_some_package --whatrequires
Вывести список файлов, которые входят в пакет, но ещё не установленны в систему:
# rpm -qp rpm_some_package.rpm -l
Команда что ниже выводит список всех rpm зависимостей:
# rpm -qpR rpm_some_package.rpm
Если вы случайно обновили rpm до новой версии, вы можете вернуть все как было, используя команду:
# rpm -Uvh --oldpackage rpm_some_package-<old-version>.rpm
Вывести содержимое всех пакетов которые установлены на ОС:
# rpm -Va
Выполнить установку пакета, который собранный из исходных кода:
# rpm -ivh /usr/src/redhat/RPMS/`arch`/rpm_some_package.rpm
Выполнить проверку пакета, который ещё не установлен на сервере:
# rpm -Vp rpm_some_package.rpm
Извлечь из пакета файлы которые содержат в своём имени bin:
# rpm2cpio rpm_some_package.rpm | cpio --extract --make-directories *bin*
Выполнить импорт публичный (public) ключа с цифровой подписью:
# rpm --import /media/cdrom/RPM-GPG-KEY
Выполнить проверку подписи пакета rpm_some_package:
# rpm --checksig rpm_some_package.rpm
Выполнить проверку на целостность установленного содержимого пакета:
# rpm -qa gpg-pubkey
Показать какой размер, полномочия, тип, владельца, группу, а так же MD5 сумму и дату последнего изменения пакета rpm_some_package:
# rpm -V rpm_some_package
Выполнить сборку пакета rpm_some_package из исходного кода:
# rpmbuild --rebuild rpm_some_package.src.rpm
Для более детального ознакомления, используйте:
$ rpm --help
На этом, у меня все и я завершаю свою тему «Команда RPM в примерах».