yum provides <command>
告诉您包提供什么,例如/usr/bin/python
。
但是如何找出某个包提供了哪些命令呢?
答案1
但是如何找出某个包提供了哪些命令呢?
Linux 中不存在任何“命令”。如果你有兴趣什么文件包装提供,有rpm
:
rpm -ql package_name
您通常会在/usr/bin/
路径下找到可执行文件(又名“命令”)。
答案2
在 中yum
,术语“提供”可以参考文件或者特征。对于依赖性跟踪,后者更令人感兴趣。
特征在yum
(及其后继者dnf
)中包括
Requires
RPM 规范文件中的标签中列出的名称- 自动发现的依赖项
rpmbuild
。
可以使用查询选项为给定的包列出这两者-R
,例如,
rpm -qR ncurses
(在 Fedora23 上)给出
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libtic.so.5()(64bit)
libtinfo.so.5()(64bit)
ncurses-libs(x86-64) = 5.9-21.20150214.fc23
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)
另一方面,如果您想查找程式(可执行文件)在给定的包中,您可以使用选项--dump
(rpm
未提供或类似于 中的任何内容yum
,尽管可以使用一些repoquery
):
rpm -q --dump ncurses | awk '( $5 ~ /^010.*[1357]{3,3}$/ ) { print $1; }'
生产
/usr/bin/clear
/usr/bin/infocmp
/usr/bin/tabs
/usr/bin/tic
/usr/bin/toe
/usr/bin/tput
/usr/bin/tset
这里使用的模式允许 setuid/setgid 常规文件,并排除符号链接(和目录)。
以供参考:
答案3
简单的谷歌搜索就会返回给你:
yum whatprovides [文件路径]
例子
yum whatprovides /usr/bin/mogrify