如何判断一个工具在哪个Ubuntu软件包中

作为一个具体的例子,我希望能够采取一个没有安装(如nslookup)的特定工具,并能够告诉哪个包我需要安装时,下列失败:

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

很明显,我可以谷歌find一个具体的包(dnsutils)的答案,但我想知道如何find它自己。

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

 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 

你有command-not-found安装command-not-found

只需在bash或zsh中键入命令,它会告诉你哪个软件包有,并且如果你需要启用非主要的仓库或修复你的PATH。 或者调用command-not-found $command_name

或者你可以去http://packages.ubuntu.com/file:bin/nslookup ,但默认为业力包。

你需要从命令行执行此操作吗? 我通常只在http://packages.ubuntu.com/ (或packages.debian.org )上查找包装。

Ubuntu的在线存储库浏览器具有“search包的内容”function。 AFAIK,它没有在apt-get / aptitude中实现,但在大多数情况下,当search包含一个类似命名的程序的包时,您将会满意于“apt-get search”。