Question :Comment trouver le paquet avec un fichier manquant dans le système en utilisant YUM ? Ce guide est également applicable lorsque le fichier n'est pas manquant et est déjà installé, mais pour une raison quelconque, il est nécessaire de connaître le package qui le fournit.
L'outil de gestion de packages YUM utilise des référentiels pour récupérer des informations et télécharger des packages. Les configurations des référentiels se trouvent dans /etc/yum.repos.d/*.repo fichiers et dans ces fichiers, plusieurs référentiels peuvent être activés et d'autres désactivés.
1. La sous-commande à utiliser est "provides". Par exemple, en recherchant le fichier /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 :
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64
Cela montrera le référentiel et le package qui doivent être installés pour l'avoir dans le système.
2. Mais la commande peut ne pas trouver le package car le référentiel qui le contient est désactivé :
No Matches found
Dans ce cas, il peut être tenté d'activer la recherche dans tout ou un seul référentiel. Pour cela, il faut utiliser l'option –enablerepo . Par exemple, en utilisant tous les référentiels configurés dans les fichiers .repo, activés et désactivés.
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=*
ou juste un dépôt spécifique :
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_UEKR4_archive
ou plusieurs correspondant à une expression régulière
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_*_archive
Exemple de sortie :
kernel-uek-devel-4.1.12-124.18.6.el7uek.x86_64 : Development package for building kernel modules to match the kernel Repo : ol7_UEKR4_archive Matched from: Filename : /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64
3. Si l'objectif final est de l'installer et que cela n'a été possible qu'en utilisant l'option –enablerepo, utilisez la même option pour installer le package :
# yum install kernel-uek-devel-4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_UEKR4_archive
Si vous recherchez un fichier dont l'emplacement du chemin est inconnu, un chemin de fichier avec un caractère générique peut être utilisé :
# yum provides */fileX