- Часто используемые команды 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
- Установка rpm пакетов в Linux
- Что такое RPM?
- Установка RPM пакетов в Linux
- Установка RPM файла в GUI
- Выводы
Часто используемые команды 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Установка rpm пакетов в Linux
Рано или поздно нам приходится устанавливать программное обеспечение не из официальных репозиториев. Там есть далеко не все пакеты, и не всегда есть самые новые версии, только что вышедших программ. Очень часто разработчики размещают на своем официальном сайте пакеты для самых популярных дистрибутивов. Обычно это deb и rpm.
Последний встречается немного реже, но если вы используете дистрибутив на базе Red Hat Enterprice Linux, вам нужен именно этот формат пакетов. Также в сети часто можно найти библиотеки и другие компоненты, которых нет в репозиториях в виде пакетов. Раньше мы уже рассматривали установку deb пакетов в Ubuntu. А в этой статье будет подробно разобрана установка rpm пакетов в linux.
Что такое RPM?
RPM или RPM Package Manager - это пакетный менеджер, используемый в дистрибутивах Linux, основанных на Red Hat. Такое же название имеет формат файлов этого пакетного менеджера.
Этот формат не очень сильно отличается от того же самого Deb. Вы можете посмотреть их детальное сравнение в статье что лучше *.deb или *.rpm. Здесь же, только отмечу, что файл rpm - это обычный cpio архив, в котором содержатся сами файлы программы, а также метаданные, описывающие куда их нужно устанавливать. База всех установленных пакетов находится в каталоге /var/lib/rpm. Из особенностей можно отметить, что rpm не поддерживает рекомендованные пакеты, а также зависимости формата или-или.
Для управления пакетами, так же как и в Debian-системах, здесь существует консольная, низкоуровневая утилита с одноименным названием - rpm. Ее мы и будем рассматривать дальше в статье. В разных системах используются разные пакетные менеджеры, например в Red Hat используется Yum, в Fedora - DNF, а в OpenSUSE - zypper, но во всех этих системах будет работать утилита rpm.
Установка RPM пакетов в Linux
Давайте сначала рассмотрим синтаксис самой утилиты rpm:
$ rpm -режим опции пакет
Утилита может работать в одном из режимов:
Рассмотрим только самые интересные опции программы, которые понадобятся нам в этой статье:
- -v - показать подробную информацию;
- --vv - выводить отладочную информацию;
- --quiet - выводить как можно меньше информации;
- -h - выводить статус-бар;
- --percent - выводить информацию в процентах о процессе распаковки;
- --force - выполнять действие принудительно;
- --nodeps - не проверять зависимости;
- --replacefiles - заменять все старые файлы на новые без предупреждений;
- -i - получить информацию о пакете;
- -l - список файлов пакета;
- -R - вывести пакеты, от которых зависит этот пакет;
Теперь, когда вы уже имеете представление как работать с этой утилитой, может быть рассмотрена установка rpm пакета в Linux. Самая простая команда установки будет выглядеть вот так:
Для работы с командной текущей директорией должна быть папка с пакетом. Здесь мы устанавливаем режим установки и передаем файл пакета. При успешной установке утилита не выведет ничего, если произойдет ошибка, вы об этом узнаете.
Для того чтобы посмотреть более подробную информацию в процессе установки используйте опцию -v:
sudo rpm -iv имя_пакета.rpm
Также вы можете включить отображение статус бара в процессе установки:
sudo rpm -ivh имя_пакета.rpm
Чтобы проверить установлен ли пакет, нам уже нужно использовать режим запроса:
Также сразу можно удалить пакет, если он не нужен:
Но у rpm так же как и у dpkg, есть один существенный недостаток. Программа не может разрешать зависимости. В случае отсутствия нужного пакета в системе, вы просто получите сообщение об ошибке и пакет не установится.
Для автоматической загрузки зависимостей во время выполнения установки rpm linux нужно использовать пакетный менеджер дистрибутива. Рассмотрим несколько команд для самых популярных RPM дистрибутивов. В RedHat и других дистрибутивах, использующих Yum используйте такую команду:
sudo yum --nogpgcheck localinstall имя_пакета.rpm
Первая опция отключает проверку GPG ключа, а вторая говорит, что мы будем выполнять установку локального пакета. В Fedora, с помощью dnf все делается еще проще:
sudo dnf install имя_пакета.rpm
Пакетный менеджер Zypper и OpenSUSE справляются не хуже:
sudo zypper install имя_пакета.rpm
Вот так очень просто выполняется установка rpm с зависимостями. Но не всем нравится работать в консоли, многие новые пользователи хотят использовать графический интерфейс для решения всех задач, в том числе и этой. Дальше мы рассмотрим несколько таких утилит.
Установка RPM файла в GUI
Если вы используете OpenSUSE, то это делается очень просто. Универсальный конфигуратор системы YaST, кроме всего прочего позволяет установить rpm пакеты. Вы можете сделать это с помощью файлового менеджера, выбрав пункт контекстного меню для файла открыть с помощью Yast или выполнив команду:
В Fedora для тех же целей вы можете использовать менеджер приложений дистрибутива. Раньше было еще несколько универсальных утилит для решения этой задачи, но сейчас они уже все устарели.
Выводы
Теперь вы знаете как выполняется установка rpm файла в Linux. На самом деле это очень просто и даже существует не только один способ, а целых несколько. Хотя графических утилит здесь немного меньше чем в Ubuntu. Но консольных утилит полностью хватает. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.