Ceci est une ancienne révision du document !
Table des matières
Notes commande yum dnf rpm
Voir aussi :
- rpm-ostree
- PackageKit (pkcon)
Voir autres commandes :
- package-cleanup
show duplicate
yum search postgresql12-server --show-duplicate
Test, dry-run --assumeno pour “Assume no”
yum install --assumeno httpd
Lister tous les RPMs
rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" |sed -e 's/.(none)$//' rpm -qa
Lister les derniers paquets installés
rpm -qa --last |head
Effacer le journal de transaction
yum-complete-transaction --cleanup-only
Effacer un paquet de la base RPM seulement, mais garder les fichiers
rpm --justdb -e plop
Connaître la version des paquets installés
rpm -q -i plop yum list plop yum list | grep plop
Query Available Packages From Selected YUM Repository
Disable all repositories and then enable just selected repo.
yum --disablerepo="*" --enablerepo="plop" list available
yum --nogpgcheck localinstall https://acme.fr/plop/plop.rpm # rpm -i --nosignature plop.rpm
Uninstall any existing/partially installed versions.
yum --setopt=tsflags=noscripts -y remove google-chrome-stable # Ou rpm -e --noscripts google-chrome-stable
Voir les scripts du RPM
rpm -qp --scripts my_package.rpm > ListOfScripts
Installer un paquet dans une autre arbo
# rpm ... --relocate /opt=/usr/opt --relocate /etc=/usr/etc ... rpm -ivh --relocate /usr/local/avamar=NEW-BASE-PATH --relocate /var/avamar=/NEW-VAR-PATH AVAMAR-LINUX.RPM rpm -Uvh --prefix /mnt/extern=/some/other/path some_rpm_name-some_rpm_version
update
yum update #dnf update --nogpgcheck # ou yum update --allowerasing
autoupdate
env YUMINTERACTIVE=0 yum-autoupdate
rpmconf
Pour savoir les différences entre les nouvelles versions de fichiers de conf des paquets RPM et les anciens fichiers de conf
Comme pour les fichiers :
- rpmnew
- rpmsave
Les groupes
Pour connaitre la liste des groupes disponibles :
dnf grouplist
Pour avoir des informations sur un groupe, comme les paquets qui le composent :
dnf groupinfo <"Nom du Groupe">
Pour installer un groupe :
dnf groupinstall <"Nom du Groupe">
Dépendances
Lister les dépendances d'un paquet RPM
rpm -qpR {.rpm-file} rpm -qR {package-name}
Ignorer les dépendances avec --nodeps
rpm -e --nodeps sshpass
Supprimer et installer un paquet sur la même ligne de commande
# yum shell > remove libcurl > install libcurl-minimal > run > quit
Ou
yum swap -- install libcurl-minimal -- remove libcurl
Vérifier la signature des paquets
rpm -K *.rpm -v
Spécifier une version
Connaître les différentes versions disponible pour un paquet
yum --showduplicates list php
Export de la liste des paquets
#rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}\n" > installed-rpm.txt rpm -qa
Utiliser la liste pour réinstaller les paquets
LANG=C yum install $(cat installed-rpm.txt) |grep -v ^Package
Exclure un paquet / ne pas mettre à jour un paquet
Oneshot sur une commande
dnf --exclude=mysql\* --exclude=httpd\* update
En changeant la conf par défaut
- /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exclude=kernel* kmod-kvdo
En forçant une version avec le plugin versionlock
yum versionlock add freetype yum versionlock list yum versionlock clear
Upgrade OS - Montée de version
Voir leapp
yum-plugin / dnf-plugin
Exemple de plugin :
Autres
Options conflits
Try to add --allowerasing to command line to replace conflicting packages or --skip-broken to skip uninstallable packages or --nobest to use not only best candidate packages.
Fastestmirror
echo 'fastestmirror=1' >> /etc/dnf/dnf.conf
Modules
Les dépôts modulaires sont arrêtés à partir de Fedora Linux 39. Cela signifie que les paquets fedora-repos-modular et fedora-repos-rawhide-modular sont supprimés, et les modules ne sont plus disponibles. Un module consistait en la possibilité de proposer plusieurs versions alternatives d’un même paquet ou ensemble de paquets, souvent entre deux versions d’un langage de programmation type PHP. Les versions de Fedora Linux antérieures restent toujours fournies le temps de leur maintenance officielle, donc un mois après Fedora Linux 40. Il y avait en effet peu de paquets qui exploitaient cette possibilité et plus personne ne maintenait l’outillage nécessaire à leur production. Les ressources du projet Fedora et des empaqueteurs seront moins dispersées par cet effort pour une solution qui n’a manifestement pas trouvé son public, sans doute à cause de l’impossibilité d’avoir plusieurs versions en parallèle d’un même module.
Notes dépendances
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.201.b09-1.el6_10 will be installed
--> Processing Dependency: pcsc-lite-devel(x86-64) for package: 1:java-1.8.0-openjdk-headless-1.8.0.201.b09-1.el6_10.x86_64
--> Finished Dependency Resolution
Error: Package: 1:java-1.8.0-openjdk-headless-1.8.0.201.b09-1.el6_10.x86_64 (rhel-6-server-rpms)
Requires: pcsc-lite-devel(x86-64)
**********************************************************************
yum can be configured to try to resolve such errors by temporarily enabling
disabled repos and searching for missing dependencies.
To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf
**********************************************************************
Pb
Notes pb Gestion conflits
# yum downgrade glibc
Modules complémentaires chargés : product-id, search-disabled-repos, subscription-manager
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet glibc.x86_64 0:2.17-105.el7 sera une rétrogradation
--> Traitement de la dépendance : glibc-common = 2.17-105.el7 pour le paquet : glibc-2.17-105.el7.x86_64
---> Le paquet glibc.x86_64 0:2.17-106.el7_2.8 sera effacé
--> Résolution des dépendances terminée
Erreur : Paquet : glibc-2.17-105.el7.x86_64 (vmx)
Requiert : glibc-common = 2.17-105.el7
Installé : glibc-common-2.17-106.el7_2.8.x86_64 (@base)
glibc-common = 2.17-106.el7_2.8
Disponible : glibc-common-2.17-105.el7.x86_64 (vmx)
glibc-common = 2.17-105.el7
Erreur : Paquet : glibc-common-2.17-106.el7_2.8.x86_64 (@base)
Requiert : glibc = 2.17-106.el7_2.8
Suppression : glibc-2.17-106.el7_2.8.x86_64 (@base)
glibc = 2.17-106.el7_2.8
Rétrogradé par : glibc-2.17-105.el7.x86_64 (vmx)
glibc = 2.17-105.el7
Vous pouvez essayer d'utiliser --skip-broken pour contourner le problème
Vous pouvez essayer d'exécuter : rpm -Va --nofiles --nodigest
Solution
yum downgrade glibc glibc-common
En avec la commande rpm :
rpm -Uvh --oldpackage glibc*.rpm
Voir également --skip-broken to skip uninstallable packages or --nobest to use not only best candidate packages
Pb yum error in PREUN scriptlet when removing packages
source : https://serverfault.com/questions/613256/yum-error-in-preun-scriptlet-when-removing-packages
It seems like somehow yum cached data and the rpm database got out of sync with each other I guess. Try running the next commands:
su -c 'yum clean all && rpm --rebuilddb' su -c 'package-cleanup --problems'
Then run:
su -c 'yum erase zarafa*'
Edit #1: Try running the next command:
su -c 'yum --setopt=tsflags=noscripts remove zarafa*'
If that doesn't work, try this:
su -c 'rpm -e --noscripts zarafa*'
