Часто используемые команды rpm
RPM (RedHat Package Manager) - самая популярная утилита управления пакетами для систем на базе RedHat, таких как RHEL, CentOS, Fedora. Инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux.
Менеджер пакетов RPM хранит информацию об установленных в системе приложениях в свой базе данных /var/lib/rpm. Сами .rpm файлы содержат скомпилированные версии программного обеспечения, библиотеки необходимые для их работы, а так-же актуальную информацию об источниках пакетов, версиях и зависимостях. RPM не может управлять программным обеспечением скомпилированным и установленным из исходных кодов.
По сути RPM работает в нескольких режимах.
Запросы и проверки:
- rpm {-q|--query} [select-options] [query-options]
- rpm {-V|--verify} [select-options] [verify-options]
- rpm {-i|--install} [install-options] PACKAGE_FILE ...
- rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
- rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
- rpm {-e|--erase} [--allmatches] [--justdb] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...
1. Проверить gpg подпись rpm пакета
Желательно всегда проверять gpg подпись пакета перед его установкой что-бы удостовериться в его подлинности.# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK
2. Установка rpm пакета
Для установки rpm пакета используется ключ -i:# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm Preparing... ########################################### [100%] 1:pidgin ########################################### [100%]-i: Установить пакет -v: показать отладочную информацию -h: выводить хэш-меток при установке
3. Проверить зависимости rpm пакета перед установкой
Посмотреть список зависимостей пакета можно так:# rpm -qpR htop-2.0.2-2.fc26.aarch64.rpm ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.17)(64bit) libncursesw.so.6()(64bit) libtinfo.so.6()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rtld(GNU_HASH)-q: выполнить запрос -p | --package: запросить информацию -R: опция режима query, список зависимостей пакета
4. Rpm, установка пакетов без зависимостей
Если вы уверены что все необходимые зависимости установлены, а rpm ругается и не дает установить пакет, можно игнорировать установку зависимостей с помощью флага --nodeps:# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparing... ########################################### [100%] 1:BitTorrent ########################################### [100%]Вышеприведенная команда принудительно установит пакет, не смотря на ошибки rpm. Учтите, что если окажется что зависимости все таки отсутствуют в системе, установленная программа работать не будет и нужно будет отдельно установить необходимые зависимости.
5. Rpm, проверить установленный пакет
Что-бы проверить установлен пакет или нет, нужно выполнить запрос нужного пакета: пакет htop установлен# rpm -q htop htop-2.0.2-1.el7.x86_64пакет fake не установлен
# rpm -q fake package fake is not installed
6. Rpm, список файлов установленного пакета
Список файлов установленного пакета можно получить запросом -ql (query list):# rpm -ql htop /usr/bin/htop /usr/share/doc/htop-2.0.2 /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz /usr/share/pixmaps/htop.png
7. Rpm, список последних установленных пакетов
# rpm -qa --last htop-2.0.2-1.el7.x86_64 Sat 03 Jun 2017 06:20:07 PM MSK
8. Rpm, вывести список всех установленных пакетов
Что-бы получить список всех установленных в системе пакетов, нужно выполнить запрос -qa без дополнительных параметров# rpm -qa perl-HTML-Parser-3.71-4.el7.x86_64 dracut-network-033-463.el7.x86_64 filesystem-3.2-21.el7.x86_64 .....................список пакетов будет довольно большим, для постраничного вывода можно использовать такие утилиты как more или less:
# rpm -qa | more
9. Обновление rpm пакета
Для обновления любого rpm пакета используется опция -U (upgrade). Данная опция не только делает обновление любого пакета до последней версии, но и создает резервную копию старой версии пакета. Если после обновления что-то пойдет не так и программное обеспечение не заработает, можно будет вернуться на ранее установленную и заведомо рабочую версию.# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparing... ########################################### [100%] 1:nx ########################################### [100%]
10. Удаление rpm пакета
Для удаления пакета предназначена опция -e (erase), опция vv используется для более подробного вывода отладочных сообщений:# rpm -evv nx
11. Удаление rpm пакета без зависимостей
Параметр --nodeps принудительно удаляет пакет rpm из системы. Имейте в виду, что удаление определенного пакета может нарушить работу других рабочих приложений.# rpm -ev --nodeps htop
12. Rpm, запросить файл принадлежащий пакету
Если понадобилось узнать какому пакету принадлежит конкретный файл, используется опция -qf (query file):# rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64
13. Rpm, получить информацию об установленном пакете
Что-бы получить развернутую информацию об установленном пакете, используется опция -qi (query info):# rpm -qi htop Name : htop Version : 2.0.2 Release : 1.el7 Architecture: x86_64 Install Date: Sun 04 Jun 2017 10:20:51 AM MSK Group : Applications/System Size : 212139 License : GPL+ Signature : RSA/SHA256, Sun 24 Jul 2016 09:22:13 PM MSK, Key ID 6a2faea2352c64e5 Source RPM : htop-2.0.2-1.el7.src.rpm Build Date : Sun 24 Jul 2016 01:01:34 PM MSK Build Host : buildvm-26.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://hisham.hm/htop/ Summary : Interactive process viewer Description : htop is an interactive text-mode process viewer for Linux, similar to top(1).
14. Rpm, получить информацию о пакета который еще не установлен
Что-бы получить информацию о пакете который уже скачан, но еще не установлен, можно запросом -qip (query info package):rpm -qip ./pachage_name.rpm
15. Rpm, посмотреть файлы документации определенного пакета
Запрос -qdf (query document file) выведет список всех файлов документации пакета:# rpm -qdf /usr/bin/htop /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz
16. Проверка определенного rpm пакета
При проверке пакета сравнивается информацию об установленных файлах пакета с базой данных rpm.# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Проверка всех rpm пакетов
# rpm -Va S.5....T. c /etc/rc.d/rc.local .......T. c /etc/dnsmasq.conf .......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
18. Импорт GPG ключа
Для проверки пакетов RHEL/CentOS/Fedora, нужно импортировать GPG ключ. Для этого выполните следующую команду:# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
19. Rpm, посмотреть все импортированные ключи
# rpm -qa gpg-pubkey* gpg-pubkey-7bd9bf62-5762b5f8 gpg-pubkey-352c64e5-52ae6884 gpg-pubkey-f4a80eb5-53a7ff4b gpg-pubkey-810f8996-552b1d92
20. Перестроить поврежденную базу данных rpm
Иногда база данных rpm может быть повреждена, при этом rpm не может нормально функционировать. Если подобное случилось, нужно перестроить базу данных rpm:# cd /var/lib/rpm # rm -f __db.* # rpm --rebuilddbНу и как обычно:
# man rpmУдачи
Комментарии
Отправить комментарий