如何判断工具所在的Ubuntu软件包


23

作为一个具体的示例,我希望能够使用未安装的特定工具(例如nslookup),并能够在以下操作失败时告诉我需要安装哪个软件包:

apt-get install nslookup
E: Unable to locate package nslookup

显然,我可以在Google上找到特定软件包(dnsutils)的答案,但我想知道如何自己找到它。


这是快速而肮脏的apt-cache搜索nslookup
Unix Janitor

apt-cache仅搜索描述。我正在寻找特定文件,ErikA指出:apt文件搜索FOO
ErebusBat 2010年

Answers:


23

我知道有两种方法可以做到这一点:

host ~ # apt-file update
host ~ # apt-file search nslookup
dnsutils: /usr/bin/nslookup
dnsutils: /usr/share/man/man1/nslookup.1.gz
gajim: /usr/share/gajim/src/common/nslookup.py
kaptain: /usr/share/kaptain/nslookup.kaptn
kvirc2-data: /usr/share/kvirc2/help/en/nslookup.kvihelp
libgnet2.0-0: /usr/share/doc/libgnet2.0-0/examples/dnslookup.c.gz
manpages-ja: /usr/share/man/ja/man8/nslookup.8.gz
procmail-lib: /usr/share/procmail-lib/pm-janslookup.rc
rbot: /usr/share/rbot/plugins/nslookup.rb
scrollz: /usr/share/scrollz/help/nslookup
zsh: /usr/share/zsh/4.3.4/functions/Completion/Unix/_nslookup
zsh: /usr/share/zsh/4.3.4/functions/Misc/nslookup
zsh-beta: /usr/share/zsh-beta/functions/Completion/Unix/_nslookup
zsh-beta: /usr/share/zsh-beta/functions/Misc/nslookup

和...

host ~ # apt-cache search nslookup
host - utility for querying DNS servers
dnsutils - Clients provided with BIND

1
apt-cache仅搜索您已经安装的软件包,而apt-file搜索您的中的所有软件包sources.list,包括未安装的软件包。因此,在这种情况下,apt-file就是要使用的一种。
史蒂文

1
@Steven,我将不得不不同意这一点。我只是使用apt-cache在ubuntu VPS上对“ vlc”进行了测试搜索,结果显示了所有与vlc相关的软件包,但我都没有安装。
EEAA 2010年

@Steven Monai,那不是真的。 apt-cache查看软件包描述(搜索/var/lib/apt/lists/*_Packages)。安装东西并不重要。软件包描述不包括文件列表。我同意apt-file,如果不选择打开网络浏览器,那可能就是使用的工具。
Zoredache

还有自动apt,作为apt-file的替代方法。我没有很强的偏好。自动apt可以侦听失败的exec调用,这在运行执行功能检测的配置脚本时很有用。
东武

1
@ EricA,Zoredache:我的立场是正确的。让我重申一下:如果您需要知道哪个卸载的软件包包含特定文件(例如/usr/bin/nslookup),请使用apt-file。如果您只想搜索软件包名称和描述,则apt-cache可以正常工作。
史蒂文

3

你已经command-not-found安装好了吗?

只需在bash或zsh中键入命令,它将告诉您哪个软件包,以及是否需要启用非主存储库或修复PATH。或致电command-not-found $command_name

或者,您可以访问http://packages.ubuntu.com/file:bin/nslookup,但这默认为业力软件包。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.