Red Hat a crée son propre format d’archive pour gérer les packages: les fichiers .rpm
La convention de nommage des fichiers .rpm est comme suit:
<name>-<version>-<release>.<distro>.<architecture>.rpm
Par exemple:
$ ls -1 *.rpm
iotop-0.6-4.el7.noarch.rpm
iptraf-ng-1.1.4-7.el7.x86_64.rpm
sed-4.5-2.e18.x86_64.rpm
sed-4.5-2.e18.src.rpm
La commande rpm
est un utilitaire permettant d’installer, supprimer et fournir des informations sur les packages Red Hat — fichiers .rpm
La base de données de rpm se situe dans le répertoire /var/lib/rpm. Un autre répertoire peut ête spécifié avec l’option –dbpath. Cela peremt notamment d’examiner une base de données RPM copiée à partir d’un autre système
Des configs par défaut peuvent être spécifiées. Par défaut, rpm cherche les fichiers suivants:
Notons que tous les fichiers sont lus, rpm ne s’arrête pas au premier fichier trouvé.
Un autre fichier peut être spécifié avec l’option –rcfile
L’option checksig
permet de vérifier la signature d’un paquet
rpm --checksig fichier.rpm
i
permet d’installer un package .rpm
v pour verbose
h pour human readable
rpm -ivh fichier.rpm
Pour lister tous les fichiers dans un package:
$ rpm -qilp package.rpm
U
permet de mettre à jour
Si le package n’est pas déjà installé, alors rpm installe le package sans lever d’erreur
rpm -Uvh fichier.rpm
Pour installer une ancienne version, il faut ajouter l’option –oldpackage
F
permet de rafraîchir des packages:
$ sudo rpm -Fvh *.rpm
e
permet de désinstaller
rpm -evv fichier.rpm
q
permet de vérifier si un package est installé
rpm -q wget
Cette option peut être combinée avec d’autres options:
f
pour trouver de quel package un fichier vient
rpm -qf /bin/bash
l
pour lister les fichiers d’un package donné
rpm -ql wget
a
pour afficher tous les packages installés sur le système
rpm -qa
i
pour afficher les informations d’un package installé
rpm -qi wget
p
pour effectuer la requête à partir d’un fichier .rpm au lieu de la base de données
rpm -qip fichier.rpm
R
ou --requires
pour afficher les dépendances d’un package
rpm -q --requires bash
rpm -qp --requires foo-1.0.0-1.noarch.rpm
rpm -qR iotop
--whatprovides
pour afficher dans quel package se trouve un fichier donné
rpm -q --whatprovides libc.so.6
V
pour vérifier un package: s’il n’y a pas de message, c’est qu’il n’y a pas de problème
En cas de problème, le résultat peut contenir des
des caractères: indique quel test a échoué
S : la taille des fichiers diffère M : le mode diffère (autorisations et type de fichier) 5 : la somme MD5 diffère D : le numéro majeur/mineur du périphérique ne correspond pas L : incompatibilité du chemin d’accès à readLink U : la propriété de l’utilisateur diffère G : la propriété du groupe diffère T : la date de modification diffère
Par exemple:
# taille du fichier, checksum et date de modification
$ rpm -V logrotate
S.5....T. c /etc/logrotate.conf
# fichier manquant
$ sudo mv /sbin/logrotate /sbin/logrotate_KEEP
$ rpm -V logrotate
S.5....T. c /etc/logrotate.conf
missing /usr/sbin/logrotate
Pour extraire un fichier rpm sans l’installer:
mettre les fichiers dans une archive cpio
npm2cpio filename.rpm > name.cpio
Extraire l’archive .cpio
cpio -idv < name.cpio
yum
(Yellowdog Updater Modifier) est un gestionnaire de paquet. Même principe que apt mais pour Red Hat: il permet d’installer des packages et leurs dépendances à partir de dépôts de package — nécessite une connexion internet. yum est également utilisé sous Fedora
La liste des dépôts est dans le dossier /etc/yum.repos.d/
Contrairement à apt, yum met à jour sa liste de packages automatiquement.
repolist permet de lister tous les repos du système
yum repolist
La configuration de yum est dans /etc/yum.conf
Par exemple, si assumeyes
n’est pas définit alors yum demandera confirmation avant d’effectuer des changements. Ce comportement peut être changé avec -y en ligne de commande ou avec assumeyes=1 dans le fichier de configuration
gpgcheck=1
signifie que yum vérifiera les signatures et échouera si elles ne correspond pas
La sous-commande install
permet d’installer un package
yum install wget
-y
pour répondre automatiquement “yes” à toutes les questions
yum -y install wget
Si nécessaire, il est possible de réinstaller un package avec reinstall
yum reinstall uptraf-ng
remove
permet de désinstaller un package
yum remove wget
check-update
permet de vérifier les mises à jour disponibles
yum check-update
update
permet de mettre à jour un package
yum update wget
Sans argument, update met à jour tous les packages du système
list
permet de lister tous les packages correspondant à un motif (installés ou non)
On peut restreindre la recherche aux packages installés en ajoutant l’argument installed
yum list installed | less
On peut restreindre la recherche aux packages non installés en ajoutant l’argument available
yum list available | less
installed
permet de lister tous les packages installés
yum installed
deplist
liste les dépendances d’un package
yum deplist iotop
info
permet de lister les informations concernant un package
yum info wget
yum list wget
search
permet de chercher un package
yum search wget
clean
permet de vider le cache /var/cache/yum
yum clean all
history
retourner l’historique des transactions yum
yum history
groups
permet d’installer des groupes de packages. Par exemple, un groupe pour installer le bureau Gnome
yum groups list # lister les groupes
yum groups info gnome | less # afficher les infos sur un groupe
yum groups install gnome # installer le groupe
yum groups update gnome # mettre à jour le groupe
yum groups remove gnome # supprimer le groupe
provides
pour afficher dans quel package se trouve un fichier donné
yumdownloader permet de télécharger le fichier .rpm sans l’installer
yumdownloader iotop
yumdownloader iptraf