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