Jay*_*rod 348 debian package-management dpkg aptitude ubuntu
在 Ubuntu 8.04 系统上工作时,我经常发现自己缺少程序、手册页或其他文件。有没有简单的方法来查找包含给定文件的包(无论它是否已经安装)?也许 apt 或 dpkg 的一些晦涩的选项?
spl*_*tne 475
dpkg -S /usr/bin/ls
Run Code Online (Sandbox Code Playgroud)
'dpkg -S' 只匹配您提供的字符串,因此只需使用 'ls' 作为参数匹配文件名中任何位置带有 'ls' 的任何包中的任何文件。所以通常使用绝对路径是个好主意。您可以在第二个示例中看到 dpkg 已知的 12,000 个文件与裸字符串 'ls' 匹配。
Joh*_*n T 284
apt-file search filename
Run Code Online (Sandbox Code Playgroud)
或者
apt-file search /path/to/file
Run Code Online (Sandbox Code Playgroud)
要安装apt-file,请使用:
sudo apt-get install apt-file
Run Code Online (Sandbox Code Playgroud)
您需要先更新其数据库,然后才能使用它:
sudo apt-file update
Run Code Online (Sandbox Code Playgroud)
jam*_*raa 22
我总是使用packages.debian.org来完成这项任务。它优于 apt-file 因为它也可以找到文件名的一部分。它还链接到主包列表,该列表将列出描述、错误等。总而言之,这是一个不错的网站。在命令行中没有那么有用,但仍然非常有用。
为了速度,我为网址添加了书签:
http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any
Run Code Online (Sandbox Code Playgroud)
在 Firefox 中,并添加了“debfind”作为关键字(在书签管理器中单击“更多”并突出显示),所以我只需输入“debfind”就可以了。对于其他版本的发行版,您可以根据需要将“套件”从不稳定更改为稳定或测试。
jer*_*iah 11
您也可以使用 dlocate。从手册页;
$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.
Run Code Online (Sandbox Code Playgroud)
小智 5
我找到了瓦吉格...
wajig whichpackage /path/to/file
Run Code Online (Sandbox Code Playgroud)
例如。
wajig whichpackage /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
Wajig 是一个方便的命令行或控制台工具,它包含了您从不想学习的所有 apt-get、dpkg 优点。.
要安装 Wajig,请使用:
apt-get install wajig
Run Code Online (Sandbox Code Playgroud)
该命令 'whichpackage' 本身取决于 apt-file
在使用它之前,您仍然需要更新它的数据库: - 我还不知道 wajig update whixh 是否执行 apt-get update 也会更新文件缓存,但我希望它可以。
sudo wajig update
sudo apt-file update
Run Code Online (Sandbox Code Playgroud)
(还有超级牛,复活节彩蛋?!)
| 归档时间: |
|
| 查看次数: |
228211 次 |
| 最近记录: |