RPM signifie "Redhat Package Manager" est un outil de gestion de packages en ligne de commande pour le système d'exploitation basé sur RHEL/CentOS. Vous pouvez installer, désinstaller, mettre à jour, interroger et vérifier le package à l'aide de la commande RPM. Cet outil ne fonctionne qu'avec les packages construits au format .rpm. La commande RPM ne peut installer que le package spécifié, elle ne peut pas installer les dépendances requises pour ce package.
Dans ce tutoriel, nous allons vous montrer comment utiliser le gestionnaire de packages RPM avec quelques exemples. Si vous recherchez un guide sur le nouveau DNF du gestionnaire de packages RedHat, consultez cette page : Gestion des packages CentOS 8 avec DNF sur la ligne de commande
Prérequis
- Un serveur exécutant CentOS, RHEL ou Fedora.
- Un mot de passe root est configuré sur votre serveur.
Syntaxe de base
La syntaxe de base de la commande RPM est illustrée ci-dessous :
rpm [OPTION] [PACKAGENAME]
Vous pouvez lister toutes les options disponibles avec la commande RPM en utilisant la commande suivante :
rpm --help
Vous devriez voir l'écran suivant :
Installer, mettre à jour et supprimer un package avec RPM
Avant d'installer un package RPM, vous pouvez répertorier les dépendances de ce package avec la commande suivante :
rpm -qpR epel-release-latest-8.noarch.rpm
Sortie :
avertissement :epel-release-latest-8.noarch.rpm :signature d'en-tête V3 RSA/SHA256, ID de clé 2f86d6a1 :NOKEYconfig(epel-release) =8-7.el8redhat-release>=8rpmlib(CompressedFileNames) <=3.0.4-1rpmlib(FileDigests) <=4.6.0-1rpmlib(PayloadFilesHavePrefix) <=4.0-1rpmlib(PayloadIsXz) <=5.2-1
Vous pouvez également obtenir les informations de ce package avec la commande suivante :
rpm -qip epel-release-latest-8.noarch.rpm
Sortie :
warning :epel-release-latest-8.noarch.rpm :Signature d'en-tête V3 RSA/SHA256, ID de clé 2f86d6a1 :NOKEYName :epel-releaseVersion :8Release :7.el8Architecture :noarchInstall Date :(non installé)Groupe :Système Environment/BaseSize :30269License :GPLv2Signature :RSA/SHA256, jeudi 10 octobre 2019 12:19:30 PM EDT, Key ID 21ea45ab2f86d6a1Source RPM :epel-release-8-7.el8.src.rpmBuild Date :jeudi 10 octobre 2019 12 :16:18 PM EDTBuild Host :buildvm-04.phx2.fedoraproject.orgRelocations :(not relocatable)Packager :Fedora ProjectVendor :Fedora ProjectURL :http://download.fedoraproject.org/pub/epelBug URL :https://bugz. fedoraproject.org/epel-releaseSummary : Extra Packages for Enterprise Linux repository configurationDescription :Ce package contient la clé GPG du référentiel Extra Packages for Enterprise Linux (EPEL) ainsi que la configuration pour yum.
Vous pouvez installer ce package à l'aide de la commande suivante :
rpm -ivh epel-release-latest-8.noarch.rpm
Sortie :
avertissement :epel-release-latest-8.noarch.rpm :signature d'en-tête V3 RSA/SHA256, ID de clé 2f86d6a1 : NOKEYVerifying... ################### ############### [100 %]Préparation... ########################### ###### [100 %]Mise à jour/installation... 1:epel-release-8-7.el8 ####################### ########## [100 %]
Vous pouvez installer n'importe quel package RPM sans aucune dépendance à l'aide de la commande suivante :
rpm -ivh --nodeps epel-release-latest-8.noarch.rpm
Pour mettre à jour le package RPM installé, exécutez la commande suivante :
rpm -Uvh epel-release-latest-8.noarch.rpm
Sortie :
avertissement :epel-release-latest-8.noarch.rpm :signature d'en-tête V3 RSA/SHA256, ID de clé 2f86d6a1 : NOKEYVerifying... ################### ############### [100 %]Préparation... ########################### ###### [100 %] le package epel-release-8-7.el8.noarch est déjà installé
Pour supprimer le package RPM installé, exécutez la commande suivante :
rpm -ev epel-release
Sortie :
Préparation des paquets...epel-release-8-7.el8.noarch
Afficher les informations sur le package avec RPM
Pour afficher les informations détaillées de n'importe quel package, exécutez la commande suivante :
rpm -ql epel-release
Sortie :
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8/etc/yum.repos.d/epel-playground.repo/etc/yum.repos.d/epel-testing.repo/ etc/yum.repos.d/epel.repo/usr/lib/systemd/system-preset/90-epel.preset/usr/share/doc/epel-release/usr/share/doc/epel-release/GPL/ usr/share/doc/epel-release/README-epel-8-packaging.md
Vous pouvez trouver les fichiers de configuration de n'importe quel package avec la commande suivante :
rpm -qc httpd
Sortie :
/etc/httpd/conf.d/autoindex.conf/etc/httpd/conf.d/userdir.conf/etc/httpd/conf.d/welcome.conf/etc/httpd/conf.modules.d/ 00-base.conf/etc/httpd/conf.modules.d/00-dav.conf/etc/httpd/conf.modules.d/00-lua.conf/etc/httpd/conf.modules.d/00- mpm.conf/etc/httpd/conf.modules.d/00-optional.conf/etc/httpd/conf.modules.d/00-proxy.conf/etc/httpd/conf.modules.d/00-systemd. conf/etc/httpd/conf.modules.d/01-cgi.conf/etc/httpd/conf/httpd.conf/etc/httpd/conf/magic/etc/logrotate.d/httpd/etc/sysconfig/htcachecleanVous pouvez afficher plus d'informations sur n'importe quel package avec la commande suivante :
rpm -qi httpdSortie :
Nom :httpdVersion :2.4.37Version :16.module_el8.1.0+256+ae790463Architecture :x86_64Date d'installation :jeudi 23 janvier 2020 23:48:36 ESTGroupe :Environnement système/DaemonsTaille :5611291Licence :ASL 2.0Signature :RSA/SHA256 , Lundi 23 décembre 2019 05:22:02 PM EST, Key ID 05b555b38483c65dSource RPM :httpd-2.4.37-16.module_el8.1.0+256+ae790463.src.rpmBuild Date :Lundi 23 décembre 2019 03:46:30 PM ESTBuild Hôte :x86-02.mbox.centos.orgDélocalisations :(non relocalisables)Packager :CentOS Buildsys <[email protected]>Fournisseur :CentOSURL :https://httpd.apache.org/Summary :Serveur HTTP ApacheDescription :Le serveur HTTP Apache est un serveur web puissant, efficace et extensible.Pour trouver le package à partir du répertoire ou du fichier avec la commande suivante :
rpm -qf /etc/NetworkManager/Sortie :
NetworkManager-1.14.0-14.el8.x86_64dhcp-client-4.3.6-30.el8.x86_64Vérifier le paquet avec RPM
Pour vérifier n'importe quel package avant de l'installer, utilisez la commande suivante :
rpm -Vp epel-release-latest-8.noarch.rpmSortie :
avertissement :epel-release-latest-8.noarch.rpm :signature d'en-tête V3 RSA/SHA256, ID de clé 2f86d6a1 :NOKEYPour vérifier tous les packages RPM installés, exécutez la commande suivante :
tr/min -VaSortie :
.......T. c /etc/kdump.conf.M....... g /var/lib/plymouth/boot-duration.M...... g /var/cache/dnf/packages.db... ..UG.. g /var/lib/sss/mc/group.....UG.. g /var/lib/sss/mc/initgroups.....UG.. g /var/lib/sss /mc/passwd.M...... c /etc/rc.d/rc.local.M...... c /etc/id-machineVérifier les informations sur le package installé avec RPM
Pour vérifier n'importe quel paquet s'il est installé ou non avec la commande suivante :
Pour vérifier le package installé, exécutez la commande suivante :
rpm -q epel-releaseSi le package spécifié est installé, vous devriez voir la sortie suivante :
epel-release-8-7.el8.noarchPour vérifier le package qui n'est pas installé, exécutez la commande suivante :
rpm -q mysql-serverVous devriez obtenir le résultat suivant :
le paquet mysql-server n'est pas installéPour répertorier tous les packages installés sur votre système, exécutez la commande suivante :
rpm -qaSortie :
dos2unix-7.4.0-3.el8.x86_64platform-python-pip-9.0.3-13.el8.noarchgeolite2-country-20180605-1.el8.noarchsymlinks-1.4-19.el8.x86_64python3-six-1.11 .0-8.el8.noarchfontpackages-filesystem-1.44-22.el8.noarchrootfiles-8.1-22.el8.noarchpolkit-0.115-6.el8.x86_64xkeyboard-config-2.24-3.el8.noarchiwl6050-firmware-41.28.5.1 -92.el8.1.noarchlibmodulemd1-1.8.0-5.el8.x86_64pkgconf-m4-1.4.2-1.el8.noarchiwl5000-firmware-8.83.5.1_1-92.el8.1.noarchsamba-common-4.9. 1-8.el8.noarchkbd-misc-2.0.4-8.el8.noarchPour répertorier tous les packages installés par nom et taille, exécutez la commande suivante :
rpm -qa --queryformat '%{name} %{size}\n'Sortie :
dos2unix 682042platform-python-pip 7746190geolite2-country 3424334symlinks 19682python3-six 100282fontpackages-filesystem 0rootfiles 599Trouver la page de manuel de n'importe quel package avec RPM
Vous pouvez exécuter ce qui suit pour connaître la liste de la documentation d'un package qui possède un fichier ou un dossier.
rpm -qdf /etc/NetworkManager/Sortie :
/usr/share/doc/NetworkManager/AUTHORS/usr/share/doc/NetworkManager/CONTRIBUTING/usr/share/doc/NetworkManager/NEWS/usr/share/doc/NetworkManager/README/usr/share/doc/ NetworkManager/TODO/usr/share/doc/NetworkManager/examples/server.conf/usr/share/man/man1/nm-online.1.gz/usr/share/man/man1/nmcli.1.gz/usr/ share/man/man5/NetworkManager.conf.5.gz/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz/usr/share/man/man5/nm-settings-keyfile.5. gz/usr/share/man/man5/nm-settings.5.gz/usr/share/man/man5/nm-system-settings.conf.5.gz/usr/share/man/man7/nmcli-examples. 7.gz/usr/share/man/man8/NetworkManager.8.gz/usr/share/doc/dhcp-client/README.dhclient.d/usr/share/doc/dhcp-client/dhclient-enter-hooks/ usr/share/doc/dhcp-client/dhclient.conf.example/usr/share/doc/dhcp-client/dhclient6.conf.example/usr/share/man/man5/dhclient.conf.5.gz/usr/ share/man/man5/dhclient.leases.5.gz/usr/share/man/man8/dhclient-script.8.gz/usr/share/man/man8/dhclient.8.gzConclusion
Dans le didacticiel ci-dessus, nous avons appris à gérer les packages avec RPM sur le système d'exploitation CentOS 8. J'espère que cela vous aidera à effectuer les tâches quotidiennes.