Redhat Package Manager (RPM)
rpm est un puissant gestionnaire de paquets pour Red Hat, Suse et Fedora Linux.
Il peut être utilisé pour construire, installer, interroger, vérifier, mettre à jour et supprimer/effacer des logiciels individuels. Un progiciel se compose d'une archive de fichiers et les informations sur le paquet, y compris le nom, la version et la description.
RPM Label Pattern
Bind-9.3.3-7.el5.i386.rpm : Ces exemples sont donnés en utilisant le format suivant
(Package Name)-(Package Version)-(Package Architecture)-(Package Extension)
Liste tout les package
Afficher la liste de tous les paquets installés
# rpm -qa
Installation d'un package
Pour installer un nouveau RPM sur notre serveur nous allons utiliser la commande “rpm” avec l'option “-i”
# rpm -i { filename.rpm }
Affiche les informations d'un package
Pour afficher les informations d'un package RPM installé sur le système.
# rpm -qi chrony Name : chrony Version : 3.5 Release : 1.el8 Architecture: x86_64 Install Date: jeu. 24 déc. 2020 20:11:28 CET Group : System Environment/Daemons Size : 692391 License : GPLv2 Signature : RSA/SHA256, mer. 04 déc. 2019 23:51:32 CET, Key ID 05b555b38483c65d Source RPM : chrony-3.5-1.el8.src.rpm Build Date : mar. 19 nov. 2019 16:32:41 CET Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <bugs@centos.org> Vendor : CentOS URL : https://chrony.tuxfamily.org Summary : An NTP client/server Description : chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronise the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.
Fichier de configuration d'un package
La commande suivante va nous permettre d'afficher les fichiers de configuration d'un RPM présent sur notre système.
# rpm -qc httpd /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/htcacheclean
Fichier de configuration d'un binaire
La commande suivante va nous permettre d'afficher les fichiers de configuration d'un binaire présent sur notre système.
# rpm -qcf /usr/sbin/grub2-mkconfig /etc/default/grub /etc/grub.d/00_header /etc/grub.d/01_users /etc/grub.d/08_fallback_counting /etc/grub.d/10_linux /etc/grub.d/10_reset_boot_success /etc/grub.d/12_menu_auto_hide /etc/grub.d/20_linux_xen /etc/grub.d/20_ppc_terminfo /etc/grub.d/30_os-prober /etc/grub.d/30_uefi-firmware /etc/grub.d/40_custom /etc/grub.d/41_custom
Rechercher le RPM d'un fichier
Trouver à quel paquet appartient un fichier, c'est-à-dire trouver à quel paquet appartient le fichier
# rpm -qf /etc/passwd setup-2.12.2-6.el8.noarch
Mise à jour d'un package
Mettre à jour (installer aussi) le paquet RPM, en mode verbeux, en montrant l'évolution de l'installation.
# rpm -Uvh { filename.rpm }
Rafraichissement d'un package
Rafraîchir le paquet RPM, c'est-à-dire : mettre à jour le logiciel installé si le fichier contient une version plus récente du paquet
# rpm -Fvh { filename.rpm }
Mise à jour RPM depuis une URL
Mets à jour un package RPM depuis une URL
rpm -U { http://some.website.com/filename.rpm }
Test installation
Test de l'installation sans installer quoi que ce soit
rpm -U --test { filename.rpm }
Désinstalltion d'un Package
La commande suivante permet de retirer un paquet RPM du système.
rpm -e { packagename }
Test désinstallation
La commande suivante permet de tester le retrait d'un package RPM sans le retirer.
rpm -e --test { packagename }
Annexe
List files in an rpm: rpm -qpl rpm-file-name List files for an installed package: rpm -ql package-name Getting help: rpm --help Verbose mode: -v Debug mode: -vv Progress bar with hash marks: -h