Установка rpm пакетов в Linux
Рано или поздно нам приходится устанавливать программное обеспечение не из официальных репозиториев. Там есть далеко не все пакеты, и не всегда есть самые новые версии, только что вышедших программ. Очень часто разработчики размещают на своем официальном сайте пакеты для самых популярных дистрибутивов. Обычно это deb и rpm.
Последний встречается немного реже, но если вы используете дистрибутив на базе Red Hat Enterprice Linux, вам нужен именно этот формат пакетов. Также в сети часто можно найти библиотеки и другие компоненты, которых нет в репозиториях в виде пакетов. Раньше мы уже рассматривали установку deb пакетов в Ubuntu. А в этой статье будет подробно разобрана установка rpm пакетов в linux.
Что такое RPM?
RPM или RPM Package Manager — это пакетный менеджер, используемый в дистрибутивах Linux, основанных на Red Hat. Такое же название имеет формат файлов этого пакетного менеджера.
Этот формат не очень сильно отличается от того же самого Deb. Вы можете посмотреть их детальное сравнение в статье что лучше *.deb или *.rpm. Здесь же, только отмечу, что файл rpm — это обычный cpio архив, в котором содержатся сами файлы программы, а также метаданные, описывающие куда их нужно устанавливать. База всех установленных пакетов находится в каталоге /var/lib/rpm. Из особенностей можно отметить, что rpm не поддерживает рекомендованные пакеты, а также зависимости формата или-или.
Для управления пакетами, так же как и в Debian-системах, здесь существует консольная, низкоуровневая утилита с одноименным названием — rpm. Ее мы и будем рассматривать дальше в статье. В разных системах используются разные пакетные менеджеры, например в Red Hat используется Yum, в Fedora — DNF, а в OpenSUSE — zypper, но во всех этих системах будет работать утилита rpm.
Установка RPM пакетов в Linux
Давайте сначала рассмотрим синтаксис самой утилиты rpm:
$ rpm -режим опции пакет
Утилита может работать в одном из режимов:
Рассмотрим только самые интересные опции программы, которые понадобятся нам в этой статье:
- -v — показать подробную информацию;
- —vv — выводить отладочную информацию;
- —quiet — выводить как можно меньше информации;
- -h — выводить статус-бар;
- —percent — выводить информацию в процентах о процессе распаковки;
- —force — выполнять действие принудительно;
- —nodeps — не проверять зависимости;
- —replacefiles — заменять все старые файлы на новые без предупреждений;
- -i — получить информацию о пакете;
- -l — список файлов пакета;
- -R — вывести пакеты, от которых зависит этот пакет;
Теперь, когда вы уже имеете представление как работать с этой утилитой, может быть рассмотрена установка rpm пакета в Linux. Самая простая команда установки будет выглядеть вот так:
Для работы с командной текущей директорией должна быть папка с пакетом. Здесь мы устанавливаем режим установки и передаем файл пакета. При успешной установке утилита не выведет ничего, если произойдет ошибка, вы об этом узнаете.
Для того чтобы посмотреть более подробную информацию в процессе установки используйте опцию -v:
sudo rpm -iv имя_пакета.rpm
Также вы можете включить отображение статус бара в процессе установки:
sudo rpm -ivh имя_пакета.rpm
Чтобы проверить установлен ли пакет, нам уже нужно использовать режим запроса:
Также сразу можно удалить пакет, если он не нужен:
Но у rpm так же как и у dpkg, есть один существенный недостаток. Программа не может разрешать зависимости. В случае отсутствия нужного пакета в системе, вы просто получите сообщение об ошибке и пакет не установится.
Для автоматической загрузки зависимостей во время выполнения установки rpm linux нужно использовать пакетный менеджер дистрибутива. Рассмотрим несколько команд для самых популярных RPM дистрибутивов. В RedHat и других дистрибутивах, использующих Yum используйте такую команду:
sudo yum —nogpgcheck localinstall имя_пакета.rpm
Первая опция отключает проверку GPG ключа, а вторая говорит, что мы будем выполнять установку локального пакета. В Fedora, с помощью dnf все делается еще проще:
sudo dnf install имя_пакета.rpm
Пакетный менеджер Zypper и OpenSUSE справляются не хуже:
sudo zypper install имя_пакета.rpm
Вот так очень просто выполняется установка rpm с зависимостями. Но не всем нравится работать в консоли, многие новые пользователи хотят использовать графический интерфейс для решения всех задач, в том числе и этой. Дальше мы рассмотрим несколько таких утилит.
Установка RPM файла в GUI
Если вы используете OpenSUSE, то это делается очень просто. Универсальный конфигуратор системы YaST, кроме всего прочего позволяет установить rpm пакеты. Вы можете сделать это с помощью файлового менеджера, выбрав пункт контекстного меню для файла открыть с помощью Yast или выполнив команду:
В Fedora для тех же целей вы можете использовать менеджер приложений дистрибутива. Раньше было еще несколько универсальных утилит для решения этой задачи, но сейчас они уже все устарели.
Выводы
Теперь вы знаете как выполняется установка rpm файла в Linux. На самом деле это очень просто и даже существует не только один способ, а целых несколько. Хотя графических утилит здесь немного меньше чем в Ubuntu. Но консольных утилит полностью хватает. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Команда RPM в Linux
Менеджер пакетов 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 или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.
Только root или пользователи с привилегиями sudo могут устанавливать или удалять пакеты RPM.
Чтобы установить пакет RPM с rpm , используйте параметр -i , за которым следует имя пакета:
Параметр -v указывает rpm показывать подробный вывод, а параметр -h показывает индикатор выполнения, отмеченный хешем.
Вы можете пропустить загрузку и указать URL-адрес RPM-пакета команде rpm :
sudo rpm -ivh https://example.com/package.rpm
Чтобы обновить пакет RPM, используйте параметр -U . Если пакет не установлен, он будет установлен:
Если пакет, который вы устанавливаете или обновляете, зависит от других пакетов, которые в настоящее время не установлены, rpm отобразит список всех недостающих зависимостей. Вам придется скачать и установить все зависимости вручную.
Чтобы установить пакет RPM без установки всех необходимых зависимостей в системе, используйте параметр —nodeps :
sudo rpm -Uvh --nodeps package.rpm
Чтобы удалить (стереть) пакет RPM, используйте параметр -e :
Параметр —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:
Если вы хотите узнать, к какому установленному пакету принадлежит конкретный файл, введите:
Чтобы получить список всех установленных пакетов в вашей системе, используйте параметр -a :
Проверка пакетов RPM
При проверке пакета команда rpm проверяет, существует ли каждый файл, установленный пакетом, в системе, дайджест файла, право собственности, разрешения и т. Д.
Чтобы проверить установленный пакет, используйте параметр -V . Например, чтобы проверить пакет openldap, вы должны запустить:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
Если проверка прошла успешно, команда не выведет никаких результатов. В противном случае, если некоторые из проверок не пройдут, отобразится символ, указывающий на неудачный тест.
Например, следующий результат показывает, что mTime файла был изменен («T»):
Обратитесь к странице руководства RMP о том, что означает каждый символ.
Чтобы проверить все установленные пакеты rpm, выполните следующую команду:
Выводы
rpm — это низкоуровневый инструмент командной строки для установки, запроса, проверки, обновления и удаления пакетов RMP. При установке пакетов RPM следует предпочесть использование yum или dnf поскольку они автоматически разрешают все зависимости за вас.
Для получения дополнительных сведений обо всех доступных параметрах команд введите в терминале man rpm или посетите веб-сайт RPM.org .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.