RPM Package Manager (RPM) — это мощная система управления пакетами, используемая Red Hat Linux и его производными, такими как CentOS и Fedora. RPM также относится к команде rpm и формату .rpm файла. Пакет RPM состоит из архива файлов и метаданных, включая информацию, такую как зависимости и место установки.
В этой статье мы поговорим о том, как использовать команду rpm для установки, обновления, удаления, проверки, запроса и иного управления пакетами RPM.
Обычно, чтобы установить новый пакет на основе дистрибутивов Red Hat, вы будете использовать либо команды yum или dnf, которые могут решить и установить все зависимости пакетов.
Вы всегда должны предпочитать использовать yum или dnf больше rpm при установке, обновлении и удалении пакетов.
Перед установкой пакета RPM вы должны сначала загрузить пакет в своей системе, используя браузер или инструменты командной строки, такие как curl или wget.
При установке RPM-пакетов убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS. Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.
Только root или пользователи с привилегиями sudo могут устанавливать или удалять RPM-пакеты.
Чтобы установить RPM-пакет с помощью rpm, используйте параметр -i, а затем имя пакета:
sudo rpm -ivh package.rpm
Опция -v указывает rpm показать подробный вывод и -h показать индикатор выполнения.
Вы можете пропустить часть загрузки и указать команду для пакета 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
Опция -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 проверяет, существует ли в системе каждый файл, установленный пакетом, дайджест файла, владелец, разрешения и т. д.
Чтобы проверить установленный пакет, используйте опцию -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.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.