Введение
RPM Package Manager (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 или других служб и библиотек, необходимых для правильного функционирования системы.
Только root или пользователи с привилегиями sudo могут устанавливать или удалять RPM-пакеты.
Чтобы установить 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 без установки всех необходимых зависимостей в системе, используйте параметр --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