„Požadavek“ zde má najít balíček rpm, který poskytuje konkrétní binární soubor, jako je /bin/lvcreate nebo soubor knihovny. Existují 2 příkazy, které vám pomohou najít balíček rpm ze souboru – rpm a yum. Všechny soubory obsažené v balíčku můžete také najít pomocí příkazu rpm.
Najděte balíček rpm, který poskytuje konkrétní binární soubor nebo soubor knihovny 1. Metoda 1:pomocí příkazu rpm
1. Pomocí níže uvedených příkazů rpm vyhledejte, který balíček rpm poskytuje konkrétní soubor.
# rpm -q --whatprovides [file name]
Chcete-li například zjistit, který balíček rpm poskytuje soubor /etc/hosts, použijte příkaz níže:
# rpm -q --whatprovides /etc/hosts setup-2.8.14-23.el6.noarch
Chcete-li najít balíček rpm, který poskytuje soubor knihovny /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgomp.so, použijte příkaz níže.
# rpm -qf /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgomp.so gcc-4.4.7-18.el6.x86_64
Podobně můžete také použít příkaz níže.
# rpm -qf [file name]
Například,
# rpm -qf /etc/hosts setup-2.8.14-23.el6.noarch
Metoda 2:Použití příkazu yum
Níže uvedený příkaz yum poskytuje balíček, který vlastní/poskytuje název souboru. Chcete-li používat yum, systém by měl být registrován u RHN nebo příslušného úložiště.
# yum whatprovides [file_name]
Například:
K identifikaci balíčku, který poskytuje konkrétní soubor knihovny, lze použít následující příkaz:
# 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
nebo pro vyhledání binárního souboru:
# 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
Vyhledání souboru a knihoven poskytovaných konkrétním balíčkem
Chcete-li najít všechny soubory (binární soubory a soubory knihoven) poskytované balíčkem, použijte níže uvedený příkaz.
# 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