
Менеджер пакетов RPM (RPM) — мощная система управления пакетами, используемая в Red Hat Linux и её производных, таких как CentOS и Fedora. RPM также обозначает команду rpm и формат файла .rpm . Пакет RPM состоит из архива файлов и метаданных, включая информацию о зависимостях и месте установки.
В этом руководстве мы расскажем о том, как использовать команду rpm для установки, обновления, удаления, проверки, запроса и другого управления пакетами RPM.
Установка, обновление и удаление пакетов RPM
Обычно для установки нового пакета в дистрибутивах на базе Red Hat используются команды yum или dnf , которые могут разрешить и установить все зависимости пакета.
При установке, обновлении и удалении пакетов всегда следует отдавать предпочтение yum или dnf , а не rpm .
Перед установкой пакета RPM необходимо сначала загрузить пакет в свою систему с помощью браузера или инструментов командной строки, таких как curl или wget .
При установке RPM-пакетов убедитесь, что они соответствуют архитектуре вашей системы и версии CentOS . Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, необходимых для правильной работы вашей системы.
Устанавливать или удалять пакеты RPM могут только пользователи root или с привилегиями sudo .
Чтобы установить пакет RPM с помощью rpm , используйте опцию -i , а затем имя пакета:
sudo rpm -ivh package.rpm
Опция -v заставляет rpm выводить подробные данные, а опция -h — отображать отмеченную решеткой полосу прогресса.
Вы можете пропустить этап загрузки и указать URL-адрес RPM-пакета в команде rpm :
sudo rpm -ivh https://example.com/package.rpm
Чтобы обновить RPM-пакет, используйте опцию -U . Если пакет не установлен, он будет установлен:
sudo rpm -Uvh package.rpm
Если устанавливаемый или обновляемый пакет зависит от других пакетов, которые в данный момент не установлены, rpm отобразит список всех отсутствующих зависимостей. Вам придётся скачать и установить все зависимости вручную.
Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте опцию --nodeps :
sudo rpm -Uvh --nodeps package.rpm
Чтобы удалить (стереть) пакет RPM, используйте опцию -e :
sudo rpm -e package.rpm
Параметр --nodeps также полезен, когда вы хотите удалить пакет, не удаляя его зависимости:
sudo rpm -evh --nodeps package.rpm
Параметр --test указывает rpm выполнить команду установки или удаления, не выполняя никаких действий. Он лишь показывает, сработает ли команда:
sudo rpm -Uvh --test package.rpm
Запрос пакетов RPM
Опция -q указывает команде rpm выполнить запрос.
Чтобы узнать (поиск), установлен ли определённый пакет, передайте его имя команде rpm -q . Следующая команда покажет, установлен ли пакет OpenJDK 11 в системе:
sudo rpm -q java-11-openjdk-devel
Если пакет установлен, вы увидите что-то вроде этого:
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64
Передайте -i , чтобы получить дополнительную информацию о запрашиваемом пакете:
sudo rpm -qi java-11-openjdk-devel
Чтобы получить список всех файлов в установленном пакете RPM:
sudo rpm -ql package
Если вы хотите узнать, к какому установленному пакету принадлежит конкретный файл, введите:
sudo rpm -qf /path/to/file
Чтобы получить список всех установленных пакетов в вашей системе, используйте опцию -a :
sudo rpm -qa
Проверка пакетов RPM
При проверке пакета команда rpm проверяет, существует ли в системе каждый файл, установленный пакетом, дайджест файла, владельца, разрешения и т. д.
Для проверки установленного пакета используйте опцию -V . Например, для проверки пакета openldap выполните:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
Если проверка пройдена успешно, команда не выведет никаких результатов. В противном случае, если некоторые проверки не пройдены, будет выведен символ, указывающий на неудавшийся тест.
Например, следующий вывод показывает, что mTime файла было изменено («T»):
.......T. c /etc/openldap/ldap.conf
Информацию о значении каждого символа см. на странице руководства RMP.
Для проверки всех установленных пакетов RPM выполните следующую команду:
sudo rpm -Va
Заключение
rpm — это низкоуровневый инструмент командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке пакетов RPM рекомендуется использовать yum или dnf , так как они автоматически разрешают все зависимости.
Для получения дополнительной информации обо всех доступных параметрах команды введите man rpm в терминале или посетите веб-сайт RPM.org .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства