- Часто используемые команды rpm
- 1. Проверить gpg подпись rpm пакета
- 2. Установка rpm пакета
- 3. Проверить зависимости rpm пакета перед установкой
- 4. Rpm, установка пакетов без зависимостей
- 5. Rpm, проверить установленный пакет
- 6. Rpm, список файлов установленного пакета
- 7. Rpm, список последних установленных пакетов
- 8. Rpm, вывести список всех установленных пакетов
- 9. Обновление rpm пакета
- 10. Удаление rpm пакета
- 11. Удаление rpm пакета без зависимостей
- 12. Rpm, запросить файл принадлежащий пакету
- 13. Rpm, получить информацию об установленном пакете
- 14. Rpm, получить информацию о пакета который еще не установлен
- 15. Rpm, посмотреть файлы документации определенного пакета
- 16. Проверка определенного rpm пакета
- 17. Проверка всех rpm пакетов
- 18. Импорт GPG ключа
- 19. Rpm, посмотреть все импортированные ключи
- 20. Перестроить поврежденную базу данных rpm
- 📦 Как найти версию пакета в системах Linux
- Поиск версии пакета в Alpine Linux
- Поиск версии пакета в системах на базе Arch
- Поиск версии пакета в системах на базе DEB
- Поиск версии пакета в системах на базе RPM
Часто используемые команды rpm
RPM (RedHat Package Manager) — самая популярная утилита управления пакетами для систем на базе RedHat, таких как RHEL, CentOS, Fedora. Инструмент позволяет системным администраторам и пользователям устанавливать, обновлять, удалять, запрашивать, проверять и управлять пакетами системного программного обеспечения в операционных системах Unix/Linux. Менеджер пакетов RPM хранит информацию об установленных в системе приложениях в свой базе данных /var/lib/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 -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)-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# rpm -q fake package fake is not installed6. Rpm, список файлов установленного пакета
# 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.png7. Rpm, список последних установленных пакетов
# rpm -qa --last htop-2.0.2-1.el7.x86_64 Sat 03 Jun 2017 06:20:07 PM MSK8. 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:
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 используется для более подробного вывода отладочных сообщений:
11. Удаление rpm пакета без зависимостей
Параметр --nodeps принудительно удаляет пакет rpm из системы. Имейте в виду, что удаление определенного пакета может нарушить работу других рабочих приложений.
12. Rpm, запросить файл принадлежащий пакету
Если понадобилось узнать какому пакету принадлежит конкретный файл, используется опция -qf (query file):
# rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_6413. 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):
15. Rpm, посмотреть файлы документации определенного пакета
# 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.gz16. Проверка определенного rpm пакета
# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5. T. c /etc/httpd/conf.d/sqlbuddy.conf17. Проверка всех 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.conf18. Импорт GPG ключа
Для проверки пакетов RHEL/CentOS/Fedora, нужно импортировать GPG ключ. Для этого выполните следующую команду:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-719. Rpm, посмотреть все импортированные ключи
# rpm -qa gpg-pubkey* gpg-pubkey-7bd9bf62-5762b5f8 gpg-pubkey-352c64e5-52ae6884 gpg-pubkey-f4a80eb5-53a7ff4b gpg-pubkey-810f8996-552b1d9220. Перестроить поврежденную базу данных rpm
Иногда база данных rpm может быть повреждена, при этом rpm не может нормально функционировать. Если подобное случилось, нужно перестроить базу данных rpm:
# cd /var/lib/rpm # rm -f __db.* # rpm --rebuilddb📦 Как найти версию пакета в системах Linux
Несмотря на то, что управление пакетами стало проще с помощью графических менеджеров пакетов, некоторые пользователи предпочитают всегда использовать командную строку.
Существуют различные команды для поиска версии пакета в разных дистрибутивах Linux.
Сегодня, в этом руководстве, мы рассмотрим, как найти версию пакета в некоторых популярных дистрибутивах Linux, таких как Alpine Linux, Arch Linux и его производные, Debian и его производные, RHEL и его производные.
Поиск версии пакета в Alpine Linux
Чтобы посмотреть версию пакета и другие подробности, используйте команду apk info, как показано ниже.
Вы увидите небольшое описание данного пакета и сайт, на котором он размещен.
vim-8.2.2137-r0 description: Improved vi-style text editor vim-8.2.2137-r0 webpage: https://www.vim.org/ vim-8.2.2137-r0 installed size: 18 MiB gvim-8.2.2137-r0 description: advanced text editor, with GUI gvim-8.2.2137-r0 webpage: https://www.vim.org/ gvim-8.2.2137-r0 installed size: 29 MiBКак видите, установленная версия Vim – 8.2.
Поиск версии пакета в системах на базе Arch
Чтобы узнать версию установленного пакета (например, VLC) в Arch Linux и его производных, таких как EndeavourOS и Manjaro Linux, выполните следующую команду:
Как видно из приведенного выше результата, установленная версия пакета VLC – 2.2.4-3.
Чтобы отобразить подробную информацию о пакете, выполните:
Name : vlc Version : 2.2.4-3 Description : A multi-platform MPEG, VCD/DVD, and DivX player Architecture : x86_64 URL : http://www.videolan.org/vlc/ Licenses : LGPL2.1 GPL2 Groups : None Provides : None Depends On : a52dec libdvbpsi libxpm libdca libproxy sdl_image libdvdnav libtiger lua libmatroska zvbi taglib libmpcdec ffmpeg2.8 faad2 libupnp libshout libmad libmpeg2 xcb-util-keysyms libtar libxinerama Optional Deps : avahi: for service discovery using bonjour protocol [installed] libnotify: for notification plugin [installed] gtk2: for notify plugin [installed] [. ] lua-socket: for http interface qt4: for the GUI [installed] Required By : None Optional For : smtube Conflicts With : vlc-plugin Replaces : vlc-plugin Installed Size : 53.28 MiB Packager : Antonio Rojas Build Date : Sun 24 Jul 2016 03:12:59 PM IST Install Date : Fri 05 Aug 2016 11:22:54 AM IST Install Reason : Explicitly installed Install Script : No Validated By : SignatureПриведенная выше команда показывает полную информацию, такую как описание пакета, версия, дата сборки, дата установки, владелец пакета и т.д.
Поиск версии пакета в системах на базе DEB
В Debian, Ubuntu и их производных, таких как Linux Mint, Pop OS и Elementary OS, мы можем найти версию установленного пакета, скажем веб-сервера Apache, с помощью команды:
$ dpkg -s apache2 | grep -i versionVersion: 2.4.18-2ubuntu3.1Чтобы отобразить подробную информацию об установленном пакете, выполните команду:
Package: apache2 Status: install ok installed Priority: optional Section: httpd Installed-Size: 488 Maintainer: Ubuntu Developers Architecture: amd64 Version: 2.4.18-2ubuntu3.1 Replaces: apache2.2-bin, apache2.2-common Provides: httpd, httpd-cgi Depends: lsb-base, procps, perl, mime-support, apache2-bin (= 2.4.18-2ubuntu3.1), apache2-utils (>= 2.4), apache2-data (= 2.4.18-2ubuntu3.1) Pre-Depends: dpkg (>= 1.17.14) Recommends: ssl-cert Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, ufw Conflicts: apache2.2-bin, apache2.2-common Conffiles: /etc/apache2/apache2.conf da32fcc6a783acaebf0d74c17c726bf7 /etc/default/apache-htcacheclean ae8721a0bc5b4e2ef7a5258b1e9db5c5 [..] /etc/logrotate.d/apache2 7322a4f050c1e2454249695236a3472c /etc/ufw/applications.d/apache2-utils.ufw.profile f8d4fd920e598ceb4379613c6261f6af Description: Apache HTTP Server The Apache HTTP Server Project's goal is to build a secure, efficient and extensible HTTP server as standards-compliant open source software. The result has long been the number one web server on the Internet. . Installing this package results in a full installation, including the configuration files, init scripts and support scripts. Homepage: http://httpd.apache.org/ Original-Maintainer: Debian Apache Maintainers
Также мы можем найти версию пакета с помощью команды:
apache2:amd64/xenial-security 2.4.18-2ubuntu3.1 uptodate apache2:i386 not installedКак видно из приведенного выше результата, я установил apache2 64 битной версии, и его версия 2.4.18.
Если программа ‘apt-show-versions’ не установлена, вы можете установить ее с помощью команды:
$ sudo apt install apt-show-versionsТеперь мы знаем, как проверить версию установленного пакета.
Даже если эти пакеты не установлены в ваших системах на базе Debian, вы всё равно можете найти их версии.
Более подробную информацию можно найти в следующем руководстве.
Поиск версии пакета в системах на базе RPM
Чтобы узнать версию установленного пакета (например, httpd) в дистрибутивах на базе RPM, таких как Red Hat, CentOS, Fedora, AlmaLinux, Rocky Linux, openSUSE и т.д., выполните команду:
Name : httpd Version : 2.4.6 Release : 40.el7.centos.4 Architecture: x86_64 Install Date: Thu 11 Aug 2016 08:08:45 PM IST Group : System Environment/Daemons Size : 9806117 License : ASL 2.0 Signature : RSA/SHA256, Mon 18 Jul 2016 09:35:16 PM IST, Key ID 24c6a8a7f4a80eb5 Source RPM : httpd-2.4.6-40.el7.centos.4.src.rpm Build Date : Mon 18 Jul 2016 09:02:11 PM IST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem Vendor : CentOS URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.Приведенная выше команда отображает версию установленного пакета, дату сборки, лицензию, описание и т.д.
Как видно из вывода, версия пакета httpd – 2.4.6.