„Die Frage“ hier ist, das RPM-Paket zu finden, aus dem eine bestimmte Binärdatei wie /bin/lvcreate oder eine Bibliotheksdatei bereitgestellt wird. Es gibt 2 Befehle, die Ihnen helfen können, das RPM-Paket aus der Datei zu finden – rpm und yum. Sie können auch alle in einem Paket enthaltenen Dateien mit dem Befehl rpm finden.
RPM-Paket finden, das eine bestimmte Binärdatei oder Bibliotheksdatei bereitstellt 1. Methode 1:Verwendung des rpm-Befehls
1. Verwenden Sie die folgenden RPM-Befehle, um herauszufinden, welches RPM-Paket eine bestimmte Datei bereitstellt.
# rpm -q --whatprovides [file name]
Um beispielsweise herauszufinden, welches RPM-Paket die Datei /etc/hosts bereitstellt, verwenden Sie den folgenden Befehl:
# rpm -q --whatprovides /etc/hosts setup-2.8.14-23.el6.noarch
Verwenden Sie den folgenden Befehl, um das RPM-Paket zu finden, das die Bibliotheksdatei /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgomp.so bereitstellt.
# rpm -qf /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgomp.so gcc-4.4.7-18.el6.x86_64
In ähnlicher Weise können Sie auch den folgenden Befehl verwenden.
# rpm -qf [file name]
Zum Beispiel
# rpm -qf /etc/hosts setup-2.8.14-23.el6.noarch
Methode 2:Yum-Befehl verwenden
Der folgende Befehl yum stellt das Paket bereit, das den Dateinamen besitzt/bereitstellt. Um yum zu verwenden, sollte das System bei RHN oder einem geeigneten Repository registriert sein.
# yum whatprovides [file_name]
Zum Beispiel:
Man kann den folgenden Befehl verwenden, um das Paket zu identifizieren, das eine bestimmte Bibliotheksdatei bereitstellt:
# yum whatprovides libstdc++ Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. libstdc++-4.8.5-4.el7.x86_64 : GNU Standard C++ Library Repo : @repo
oder um nach einer Binärdatei zu suchen:
# yum whatprovides *bin/ls Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. coreutils-8.22-15.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts Repo : @repo Matched from: Filename : /bin/ls Filename : /usr/bin/ls
Dateien und Bibliotheken finden, die von einem bestimmten Paket bereitgestellt werden
Verwenden Sie den folgenden Befehl, um alle Dateien (Binärdateien und Bibliotheksdateien) zu finden, die von einem Paket bereitgestellt werden.
# rpm -ql bash /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc /usr/bin/alias /usr/bin/bash /usr/bin/bashbug /usr/bin/bashbug-64 /usr/bin/bg