Question : J'aimerais savoir s'il existe une commande dans CentOS qui me permet de trouver à quel package appartient un exécutable, un fichier ou une bibliothèque ? Par exemple, comment puis-je trouver quel package contient /usr/bin/sha256sum exécutable ou quel paquet contient un /usr/lib64/libnss3.so fichier de bibliothèque.
Réponse :
Vous pouvez utiliser rpm -qf commande pour trouver à quel paquet appartient un exécutable, un fichier ou une bibliothèque donné.
Format :
$ rpm -qf <executable/file/library>
Comment trouver un paquet contenant un exécutable donné
$ rpm -qf /usr/bin/sha256sum coreutils-8.4-37.el6_7.3.x86_64
Comment trouver à quel paquet appartient une bibliothèque
$ rpm -qf /usr/lib64/libnss3.so nss-3.19.1-5.el6_7.x86_64
Comment trouver à quel paquet appartient un fichier
$ rpm -qf /etc/httpd/conf/httpd.conf httpd-2.2.15-47.el6.centos.1.x86_64
Comment répertorier uniquement le nom du package sans informations de version
Vous pouvez utiliser –queryformat comme indiqué ci-dessous :
$ rpm -qf /usr/bin/sha256sum --queryformat '%{NAME}\n' coreutils
Comment trouver tous les packages de référentiel disponibles qui fourniront un exécutable ou fichier ou bibliothèque ?
$ yum provides /usr/bin/sha1sum Loaded plugins: auto-update-debuginfo, fastestmirror, refresh-packagekit, : security Loading mirror speeds from cached hostfile * base: dallas.tx.mirror.xygenhosting.com * epel: mirror.compevo.com * epel-debuginfo: fedora-epel.mirror.lstn.net * extras: repos.dfw.quadranet.com * updates: pubmirrors.dal.corespace.com coreutils-8.4-37.el6.x86_64 : A set of basic GNU tools commonly used in shell : scripts Repo : base Matched from: Filename : /usr/bin/sha1sum coreutils-8.4-37.el6_7.3.x86_64 : A set of basic GNU tools commonly used in : shell scripts Repo : updates Matched from: Filename : /usr/bin/sha1sum coreutils-8.4-37.el6_7.3.x86_64 : A set of basic GNU tools commonly used in : shell scripts Repo : installed Matched from: Other : Provides-match: /usr/bin/sha1sum
C'est tout.