Habituellement, un utilisateur installe des packages à l'aide de l'utilitaire de ligne de commande yum. Les référentiels CentOS officiels contiennent des milliers de packages RPM, mais dans certains cas, vous pouvez rencontrer un fichier RPM qui ne se trouve dans aucun référentiel.
Certains auteurs de logiciels ne fournissent que des fichiers RPM téléchargeables pour l'installation, et c'est pourquoi les fichiers RPM sont conçus pour être téléchargés et installés indépendamment, en dehors d'un référentiel de logiciels.
Dans ce tutoriel, nous allons apprendre à installer un fichier .rpm sur votre distribution Linux CentOS.
Qu'est-ce que le gestionnaire de packages RPM
Red Hat Package Manager est un système de gestion de packages gratuit et open source permettant d'installer, de désinstaller et de gérer des packages logiciels dans Red Hat et ses dérivés tels que CentOS et Fedora.
Prérequis
Avant de commencer, vous devez vous assurer que vous disposez des privilèges sudo et que vous avez installé sur votre système certains des gestionnaires de packages RPM, DNF et YUM (tous inclus par défaut).
Assurez-vous également que le package RPM que vous souhaitez installer est conçu pour votre architecture système et votre version de CentOS.
Pour les besoins de ce didacticiel, nous allons télécharger et installer le package Slack RPM sur CentOS 8.
Télécharger le package d'installation RPM
Généralement, un navigateur Web est utilisé pour localiser et télécharger un fichier .rpm, mais vous pouvez également utiliser des outils de ligne de commande tels que wget ou curl.
Par exemple, nous utiliserons la commande wget pour télécharger le package slack (rpm) dans le répertoire actuel (je télécharge dans /tmp) comme suit :
$ 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]
Pour vérifier, vous pouvez utiliser la commande ls pour lister le fichier rpm sous le répertoire '/tmp' :
$ ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm
Installation du fichier RPM à l'aide de la commande RPM
Vous pouvez installer le package RPM en utilisant deux méthodes. Le premier utilise la commande RPM, l'autre utilise le gestionnaire de packages yum.
Dans la commande suivante, nous utilisons -i
option pour installer le package RPM de téléchargement :
$ 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
À partir de la sortie ci-dessus, nous pouvons voir que l'installation a échoué en raison de packages de dépendances manquants. Nous devons donc vérifier les packages de dépendance rpm et les installer manuellement.
Vérifier les dépendances RPM
Pour vérifier les dépendances du package, nous avons deux options rpm. Vous pouvez utiliser -qpR
pour interroger le fichier rpm et -qR
pour interroger par nom de package.
rpm -qpR .rpm-file
rpm -qR package-name
Par exemple, interrogeons un fichier .rpm (nous utilisons un rpm mou, que nous avons déjà téléchargé auparavant) pour trouver tous ses packages de dépendances requis :
$ 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
Installer des packages RPM avec yum
Vient maintenant l'outil pratique appelé yum
où nous n'avons pas à nous soucier des dépendances. Ce gestionnaire de paquets yum peut extraire toutes les dépendances requises et les configurer pour nous.
Nous allons maintenant utiliser le gestionnaire de packages yum pour installer notre package téléchargé avec la commande suivante :
$ 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]:
Après avoir tapé y
il installera toutes les dépendances et notre package :
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!
Suppression du package RPM
Pour supprimer le package RPM, nous demandons à RPM d'effacer le logiciel avec -e
option.
Dans l'exemple suivant, nous allons désinstaller (supprimer) le package slack :
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Conclusion
Dans ce didacticiel, nous vous avons montré comment installer et supprimer des packages RPM sur CentOS. Vous devriez préférer utiliser yum plutôt que rpm car il résout automatiquement toutes les dépendances pour vous. Yum simplifie le suivi des installations, des mises à jour et des prérequis.