#1 楼
注意:在以下命令中,以'root#'开头的命令意味着它需要以root用户身份运行。要查找软件包安装了哪些文件,请使用
dpkg -L
:$ dpkg -L $package
apt-file
可以在安装之前告诉您软件包将安装哪些文件:root# apt-get install apt-file
root# apt-file update
$ apt-file list $package
或者如果您有软件包已作为本地
.deb
文件打包,您可以在其上运行dpkg
:$ dpkg --contents $package.deb
要查找哪个软件包提供了系统上已经存在的文件,请使用:
$ dpkg -S /path/to/file
要查找哪个软件包提供的文件当前不在您的系统上,请再次使用
apt-file
:$ apt-file search /path/to/file
评论
请记住,虽然这将为您提供大部分所需的东西,但并不能为您提供一切。一些软件包将配置文件创建为安装脚本的一部分。 dpkg将不会报告这些文件。
– Zoredache
09年12月23日在17:33
美元应被理解为一个变量,这意味着您需要将$ package替换为包的实际名称。
–ℝaphink
17年1月15日23:37
软件包的conffile(如果有)由命令dpkg --status $ package列出。对于反向操作,请使用grep $ filename /var/lib/dpkg/info/*.conffiles。
– Uwe Geuder
18 Mar 8 '18 at 17:38
有点晚Q--sudo apt-file更新做什么?
– Samsers
20年8月21日在10:01
@ samshers,apt-file更新命令填充apt-file用于搜索的数据库。
– Victor Yarema
20-10-28在19:49
#2 楼
dpkg -S /path/to/file/in/question
就我而言,dpkg是apt-get所依赖的低级工具。
评论
是的,dpkg是用于从mcomputer添加和删除软件和文件的命令。 apt(包括Apt-get,aptitude,突触等)是调用dpkg的程序
–Rory
2010年5月9日12:06
#3 楼
如果已安装dlocate
,则可以使用与dlocate -L
相同的方式来使用dpkg -L
。在这种情况下,它的工作原理完全相同,但是还有许多其他选择。
评论
在SU上的SU superuser.com/questions/82923 / ...上类似:Askubuntu.com/questions/32507/…