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

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

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

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

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

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

Предпосылки

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

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

В этом руководстве мы будем загружать и устанавливать пакет Slack RPM в CentOS 8.

Как скачать установочный пакет 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

Вы можете установить 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-зависимости

Чтобы проверить зависимости пакетов, у нас есть две опции 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

Тут вступает в игру удобный инструмент под названием 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

Чтобы удалить пакет RPM, мы даем команду RPM на удаление программного обеспечения с параметром -e.

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

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

Заключение

В этом руководстве мы показали, как устанавливать и удалять RPM-пакеты в CentOS.
Вы должны предпочесть использовать yum вместо rpm, поскольку он автоматически разрешает все зависимости.
Yum упрощает отслеживание установок, обновлений и необходимых компонентов.
Поделитесь статьей:

Добавить комментарий