Table des matières
RPM et commandes utiles
- Connaître les dépendances d'un paquet :rpm -qpR {.rpm-file} rpm -qR {package-name}
- Savoir a quel paquet apartient un fichier donné :rpm -qf /mon/fichier
- Lister les fichiers d'un paquet :rpm -qlp {.rpm-file} rpm -ql {package-name}
- Lister les fichiers d'un paquet avec leurs permissions :rpm -qlv {package-name}
- Afficher le changelog d'un paquet RPM :rpm -q --changelog -p {.rpm-file}
- Extraire un fichier d'un paquet RPM (noter le “./” en debut de chemin de fichier):rpm2cpio mon.fichier.rpm | cpio -ivd ./mon/fichier/a/extraire comme par exemple : rpm2cpio /tmp/jenkins-1.609.3-1.1.noarch.rpm | cpio -ivd ./etc/logrotate.d/jenkins 
Cela va créer l’arborescence nécessaire pour extraire le fichier avec son chemin relatif
- Obtenir l'adresse de télechargement d'un paquet RPM :
 Il peut arriver si une machine n'est pas connectée a internet qu'on veuille juste obtenir le lien ves le RPM qu'on souhaite installer: pour se faire, utiliser l'outil yumdownloader du paquet yum-utils, par exemple ppour le paquet tmux :yumdownloader --urls tmux 
- Télécharger uniquement les paquets sans les installer (avec en bonus la possibilité de définir le répertoire de sortie) avec le plugin yum-plugin-downloadonly:# yum install yum-plugin-downloadonly # yum install --downloadonly --downloaddir=/tmp/ puppet-server 
Yum et commandes utiles
- Installer un paquet local rpm avec yum :yum --nogpgcheck localinstall mon.fichier.local.rpm
- Lister les paquets des dépendances requises pour un paquet particulier :yum deplist monpaquet
- voir le changelog complet d'un paquet (yum install yum-plugin-changelog pour installer le plugin changelog) :yum changelog all monpaquet
- voir le changelog depuis une date :yum changelog 2019-01 monpaquet
- voir le changelog d'un paquet pret a etre mis a jour :yum update monpaquet --changelog
Dire a yum de ne pas mettre a jour certains paquets
Tout d'abord il vous faudra installer le plugin yum versionlock si vous ne l'avez pas deja :
# yum install yum-plugin-versionlock
- ensuite pour figer une version (par exemple sur ansible) :# yum versionlock ansible
- lister les paquets dont la version a été bloquée :# yum versionlock list
- supprimer le lock unitairement (par exemple sur ansible) :# yum versionlock exclude ansible
- effacer cette liste (bien sur attention cela va autoriser les mises a jour :p)# yum versionlock clear
Si d'aventure vous vouliez voir quelles versions seraient disponibles sans l'utilisation de versionlock, il suffit de le desactiver temporairement, comme par exemple avec la commande suivante :
# yum --disableplugin=versionlock update



