Научись Linux: сборка программ из исходников (эпизод 13)
Оглавление:
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
Чтобы обновить пакет 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
:
Проверка пакетов 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, выполните следующую команду:
Вывод
rpm
- это низкоуровневый инструмент командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке RPM-пакетов следует предпочитать использовать
yum
или
dnf
поскольку они автоматически разрешают все зависимости для вас.
Для получения дополнительной информации обо всех доступных параметрах команды введите
man rpm
в своем терминале или посетите веб-сайт RPM.org.
Команда Chmod в Linux (права доступа к файлам)
В Linux доступ к файлам управляется через права доступа к файлам, атрибуты и права собственности. В этом руководстве рассказывается, как использовать команду chmod для изменения прав доступа к файлам и каталогам.
Команда Chgrp в Linux (сменить группу)
В Linux каждый файл связан с владельцем и группой и имеет разрешения, которые определяют, какие пользователи могут читать, записывать или выполнять файл. Команда chgrpc меняет групповое владение данными файлами.
Команда cp в linux (копирование файлов)
cp - утилита командной строки для копирования файлов и каталогов в системах Unix и Linux.







