Red Hat Package Manager, также известный как RPM, - это программа для установки, удаления и управления пакетами программного обеспечения в дистрибутивах Linux на базе RPM. Существуют различные утилиты, использующие утилиту rpm в бэкенде, например, yum и dnf. По своей природе эта утилита схожа со своим аналогом, утилитой dpkg. При возникновении зависимостей необходимо вручную найти необходимые файлы для их установки. Все пакеты, которыми управляет rpm, имеют расширение rpm.
Для установки пакета используется опция -i. Она обычно используется вместе с опциями -v и -h для увеличения сложности и отображает ход установки с помощью хэш-символов. Недостатком этого метода является то, что RPM не может автоматически разрешить зависимость, и поэтому он завершит установку, если столкнется с неудовлетворенными зависимостями во время установки пакета.
Мы можем использовать RPM для принудительной установки пакета, отключив проверку зависимостей в процессе установки с помощью опции -nodeps. Этот метод не рекомендуется, так как программа может не работать после установки, то есть если она будет установлена без разрешения зависимостей.
Если при выполнении команды rpm вы получите ошибку, как показано ниже:
rpm: command not found (rpm: команда не найдена)
вы можете попробовать установить пакет rpm с помощью следующей команды в соответствии с вашим выбором дистрибутива.
Дистрибутив | Команда |
---|---|
OS X | brew install rpm |
Debian | apt-get install rpm |
Ubuntu | apt-get install rpm |
Alpine | apk add rpm |
Kali Linux | apt-get install rpm |
CentOS | yum install rpm |
Fedora | dnf install rpm |
Raspbian | apt-get install rpm |
Примеры команд rpm
1. Перечислите все пакеты, установленные в системе:
1 | rpm -qa |
2. Найдите конкретный пакет, установленный в системе, передав вывод предыдущей команды команде grep:
1 | rpm -qa | grep kernel |
3. Определите пакет, который установил файл в системе:
1 | rpm -qf /etc/httpd/conf/httpd.conf |
4. Выведите список файлов, установленных пакетом RPM:
1 | rpm -ql httpd |
5. Отображение недавно установленного пакета RPM:
1 | rpm -qa --last |
6. Отобразите информацию об установленном пакете:
1 | rpm -qi vsftpd |
7. Вывести документацию файла, установленного пакетом:
1 | rpm -qdf /usr/bin/wget |
8. Отобразите документацию установленного пакета:
1 | rpm -qd yum |
9. Отобразите конфигурационный файл, установленный пакетом:
1 | rpm -qc vsftpd |
10. Отображение списка изменений определенного пакета:
1 | rpm -q --changelog httpd |
11. Вывести список версий всех подходящих пакетов:
1 | rpm --query --all 'mariadb*' |
12. Принудительно установить пакет независимо от текущих установленных версий:
1 | rpm --upgrade [имя_пакета].rpm --force |
13. Показать скрипты из RPM-файла:
1 | rpm --query --package --scripts [имя_пакета].rpm |
14. Показать измененные, отсутствующие и/или неправильно установленные файлы соответствующих пакетов:
1 | rpm --verify --all 'php-*' |