Установка RPM в CentOS

Обычно пользователь устанавливает пакеты с помощью командной строки yum. Официальные репозитории CentOS содержат тысячи пакетов RPM. Но в некоторых случаях вы можете столкнуться с файлом RPM, которого нет ни в одном репозитории.

Некоторые авторы программного обеспечения предоставляют для установки только загружаемые файлы RPM. Соответственно файлов RPM не будет в репозитории программного обеспечения.

В этой статье мы покажем, как установить файл .rpm в ваш дистрибутив Linux CentOS.

Что такое менеджер пакетов RPM

Менеджер пакетов Red Hat — это бесплатная система управления пакетами с открытым исходным кодом. Предназначена для установки, удаления и управления пакетами программного обеспечения в дистрибутивах Red Hat и ее производных, таких как CentOS и Fedora.

Требования

Прежде чем мы начнем, вам необходимо убедиться, что у вас есть права sudo и что вы установили в своей системе некоторые менеджеры пакетов такие как RPM, DNF и YUM (все они включены по умолчанию).

Так же, убедитесь, что пакет RPM, который вы хотите установить, создан для вашей системной архитектуры и вашей версии CentOS.

Для целей этого урока мы загрузим и установим пакет Slack RPM на CentOS 8.

Установка RPM в CentOS
Установка RPM в CentOS

Скачивание установочного пакета RPM

Обычно для поиска и загрузки файла .rpm используется веб-браузер, но вы также можете использовать инструменты командной строки, такие как wget или команда curl.

Например, мы будем использовать команду wget для загрузки пакета slack (rpm) в текущий каталог (я загружаю в /tmp) следующим образом:

$ wget https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
--2020-02-15 23:11:20-- https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
Resolving downloads.slack-edge.com (downloads.slack-edge.com)... 99.86.243.67, 99.86.243.88, 99.86.243.60, ...
Connecting to downloads.slack-edge.com (downloads.slack-edge.com)|99.86.243.67|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 60768380 (58M) [application/octet-stream]
Saving to: ‘slack-4.3.2-0.1.fc21.x86_64.rpm’
slack-4.3.2-0.1.fc21.x86_6 100%[========================================>] 57.95M 584KB/s in 2m 19s
2020-02-15 23:13:40 (427 KB/s) - ‘slack-4.3.2-0.1.fc21.x86_64.rpm’ saved [60768380/60768380]

Чтобы убедиться, вы можете использовать команду ls для перечисления файла rpm в каталоге ‘/tmp’ :

$ ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm

Установка файла RPM с помощью команды RPM в CentOS

Вы можете установить пакет RPM двумя способами. Первый с помощью команды RPM, а второй — с помощью менеджера пакетов yum.

В следующей команде мы используем опцию -i для установки пакета rpm:

$ sudo rpm -i /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
warning: ./slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
error: Failed dependencies:
libXScrnSaver is needed by slack-4.3.2-0.1.fc21.x86_64
libappindicator-gtk3 is needed by slack-4.3.2-0.1.fc21.x86_64

Из приведенного выше вывода мы видим, что установка завершилась неудачно из-за отсутствия зависимостей. Поэтому мы должны проверить наличие пакетов зависимостей rpm и установить их вручную.

Проверка зависимостей RPM на CentOS

Для проверки зависимостей пакетов RPM у нас есть два варианта. Вы можете использовать -qpRдля запроса файла rpm и -qR для запроса по имени пакета.

rpm -qpR .rpm-file
rpm -qR package-name

Например, давайте запросим файл .rpm (мы используем slack rpm, который мы уже загрузили ранее), чтобы найти все необходимые пакеты зависимостей:

$ sudo rpm -qpR /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
warning: slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
libXScrnSaver
libappindicator-gtk3
libsecret-1.so.0()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Установка пакета RPM с помощью yum в CentOS

Теперь появился удобный инструмент под названием "yum",где нам не нужно беспокоиться о зависимостях. Менеджер пакетов yum может извлечь все необходимые зависимости и настроить их для нас.

Здесь мы будем использовать менеджер пакетов yum для установки загруженного пакета с помощью следующей команды:

$ sudo yum localinstall /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
CentOS-8 - AppStream 6.4 kB/s | 4.3 kB 00:00
CentOS-8 - Base 5.2 kB/s | 3.8 kB 00:00
CentOS-8 - Extras 2.7 kB/s | 1.5 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_6 26 kB/s | 27 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 20 kB/s | 29 kB 00:01
Dependencies resolved.
======================================================================================
Package Architecture Version Repository Size
======================================================================================
Installing:
slack x86_64 4.3.2-0.1.fc21 @commandline 58 M
Transaction Summary
======================================================================================
Install 1 Package
Total size: 58 M
Installed size: 185 M
Is this ok [y/N]:

После ввода yон установит все зависимости и наш пакет:

Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : slack-4.3.2-0.1.fc21.x86_64 1/1
Running scriptlet: slack-4.3.2-0.1.fc21.x86_64 1/1
Verifying : slack-4.3.2-0.1.fc21.x86_64 1/1
Installed:
slack-4.3.2-0.1.fc21.x86_64

Complete!

Удаление пакета RPM в CentOS

Сейчас мы покажем как удалить пакет RPM. Чтобы удалить программное обеспечение используйте опцию (параметр) -e.

В следующем примере мы удалим пакет slack:

$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64

Заключение

В этой статье мы показали вам, как устанавливать и удалять пакеты RPM в CentOS. Надеемся, что вы предпочтете yum вместо rpm, так как он автоматически устраняет все зависимости для вас. Yum упрощает установку по в CentOS.

Спасибо за то что дочитали до конца. Если остались вопросы или замечания, воспользуйтесь разделом комментариев.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.