Обычно пользователь устанавливает пакеты с помощью командной строки 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
Обычно для поиска и загрузки файла .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_64Complete!
Удаление пакета RPM в CentOS
Сейчас мы покажем как удалить пакет RPM. Чтобы удалить программное обеспечение используйте опцию (параметр) -e
.
В следующем примере мы удалим пакет slack:
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Заключение
В этой статье мы показали вам, как устанавливать и удалять пакеты RPM в CentOS. Надеемся, что вы предпочтете yum вместо rpm, так как он автоматически устраняет все зависимости для вас. Yum упрощает установку по в CentOS.
Спасибо за то что дочитали до конца. Если остались вопросы или замечания, воспользуйтесь разделом комментариев.