{{tag>rpm yum url yumdownloader localinstall paquets centos package rpm2cpio extraire}} ====== 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/extrairecomme 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