有没有办法使用二进制名称来搜索包。
例如,我想为命令“ ls
”查找 rpm 包,那么它应该是coreutils-6.9-10.4.i586
例如。
答案1
yum 命令“whatprovides”接受通配符。如果您要搜索提供特定文件或可执行文件的软件包,但不知道其完整路径,请使用“yum whatprovides */filename”。
$ yum whatprovides */ls
coreutils-5.97-23.el5_4.2.x86_64 : The GNU core utilities: a set of tools
: commonly used in shell scripts
Repo : installed
Matched from:
Filename : /bin/ls
答案2
yum provides /bin/ls
repoquery -f /bin/ls
...两者都会。此外,如果您执行以下操作,“yum”的最新版本将自动执行许多文件查找:
yum provides ls
答案3
看起来scout bin ls
确实如此。此工具可以索引各种类型的存储库(不仅是 rpm,还有 java 等),并找出您需要安装什么才能获得所需的二进制文件/命令/javaclass/功能。它与 suse 集成得很好。
您可以在 scout 上阅读更多内容这里。
答案4
“rpm -qf”命令应该告诉您哪个包拥有任何已安装的文件。
> whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.g
> rpm -qf /bin/ls
coreutils-5.97-23.el5_6.4