Answers:
apt文件
apt-file
提供搜索提供二进制文件的软件包(例如Debian或Ubuntu)的功能,默认情况下未安装它,但在存储库中。
apt-file search <path-to-file>
您可能需要先更新一次,然后再搜索...
apt-file update
例如,让我们搜索未安装的二进制文件mysqldump
:
$ apt-file search /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow
也可以列出(未安装的)软件包的内容:
$ apt-file list mysql-client-5.1
mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...
百胜
yum
接受命令whatprovides
(或provides
)来搜索已安装或未安装的二进制文件:
yum whatprovides <path-to-file>
再次,未安装mysqldump
:
$ yum whatprovides /usr/bin/mysqldump
mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
齐珀
zypper
search
与该-f
选项一起使用时,的命令可以检查文件列表。
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
Webpin提供了基于Web的解决方案,甚至还有用于命令行的脚本。
pkg文件
可作为pkgtools
为pacman
基础的系统。提供与上面其他类似的搜索功能:
$ pkgfile -si /usr/bin/mysqldump
Name : mysql-clients
Version : 5.1.54-1
Url : http://www.mysql.com/
License : GPL
Depends : libmysqlclient
...
对此的标准工具是apt-file。运行apt-file update
以下载索引文件。这是输出:
Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.6M 100 16.6M 0 0 33191 0 0:08:47 0:08:47 --:--:-- 38951
之后,运行apt-file search search_term
。
如果您无权使用该机器或无法使用先前答案中给出的命令,则也可以使用基于Web的Debian软件包搜索引擎(第二种形式,“ 搜索软件包内容 ” )。
apt-file search protoc
,例如,结果超过六千。但是结果以文件名结尾,因此使用grep实际上可以找到要查找的文件名:apt-file search protoc | grep 'protoc$'
。之所以起作用,是因为它过滤掉了以 “协议” 结尾的所有内容。当然,您应该使用要搜索的内容替换“ protoc”。