如何在不诉诸谷歌的情况下弄清楚包装内容是什么?

我经常发现自己想安装一些东西,但我不确定它是什么包装。这对我来说很常见:

$ make html sphinx-build -b djangohtml -d _build/doctrees . _build/html make: sphinx-build: Command not found make: *** [html] Error 127 $ sudo apt-get install sphinx E: Unable to locate package sphinx $ sudo apt-get install sphinx-build E: Unable to locate package sphinx-build 

谷歌

 $ sudo apt-get install python-sphinx 

有没有更好的办法?

安装apt-file并运行apt-file update

然后使用apt-file search sphinx-build来搜索包含名为sphinx-build的文件的包

Ubuntu非常聪明。 试着运行吧。

 $ sphinx-build The program 'sphinx-build' is currently not installed. You can install it by typing: sudo apt-get install python-sphinx 

我不知道apt-get是否可以做到,但我更喜欢使用aptitude。

使用其搜索命令,您将获得包含您要搜索的字符串的包列表,但是仍然无法完全回答您的问题,因为它不会显示哪个包包含您要查找的二进制文件。

例:

 sudo aptitude search sphinx p gstreamer0.10-pocketsphinx - lightweight speech recognition - GStreamer p libpocketsphinx-dev - lightweight speech recognition - developme p libpocketsphinx1 - lightweight speech recognition - library p libsphinx-search-perl - Perl module for Sphinx search engine p libsphinx2-dev - speech recognition library - development k p libsphinx2g0 - speech recognition library p libsphinxbase-dev - Sphinx base libraries - development files p libsphinxbase1 - Sphinx base libraries p pocketsphinx-hmm-tidigits - lightweight speech recognition - TIDIGITS p pocketsphinx-hmm-wsj1 - lightweight speech recognition - WSJ1 acou p pocketsphinx-lm-wsj - lightweight speech recognition - WSJ langu p pocketsphinx-utils - lightweight speech recognition - command-l p python-pocketsphinx - lightweight speech recognition - Python mo p python-pocketsphinx-dbg - lightweight speech recognition - Python mo p python-repoze.sphinx.autointerf - Sphinx extension that auto-generates API d p python-sphinx - tool for producing documentation for Pytho p python-sphinxbase - Sphinx base libraries - Python module p python-sphinxbase-dbg - Sphinx base libraries - Python module (deb v python2.6-pocketsphinx - v python2.6-pocketsphinx-dbg - v python2.6-sphinxbase - v python2.6-sphinxbase-dbg - v python2.7-pocketsphinx - v python2.7-pocketsphinx-dbg - v python2.7-sphinxbase - v python2.7-sphinxbase-dbg - p sphinx2-bin - speech recognition utilities p sphinx2-hmm-6k - speech recognition library - default acous p sphinxbase-utils - Sphinx base libraries - utilities p sphinxsearch - Fast standalone full-text SQL search engine 

我喜欢使用http://packages.ubuntu.com/ – 里面有“搜索包的内容”。 Debian在http://packages.debian.org上也有类似的界面。

这样做的好处是,您可以在不使用CLI访问Ubuntu本身的情况下使用它,可以通过电话解释内容。

你可以使用我推荐的apt命令或aptitude组。 这是要搜索的列表

易于

要搜索与您想要的命令类似的东西: apt-cache search X例如apt-cache search cheese将为您提供与奶酪相关的所有内容。
要显示它具有哪些依赖项和内容,您可以使用apt-cache show cheese
当然要安装apt-get install cheese

APTITUDE

搜索: aptitude search cheese ,它将显示比apt更好的列表
显示: aptitude show cheese ,它将再次显示更好,更友好的列表
要安装: aptitude install cheese来安装它。 再好一点。

此外,aptitude可为您所寻找的内容提供更多相关信息,例如:

apt-cache search phi VS aptitude search phi
apt-cache search sphi VS aptitude search sphi

如果您需要GUI版本,我推荐使用Synaptic Package Manager或更简单的软件中心 。 在Synaptic中,您可以查找与您要查找的内容类似的内容,它会向您显示。

和auto-apt

auto-apt是一个派上用场的软件包,特别是Makefile和configure脚本引用了你可能没有的东西,不知道在哪里找到,这对于头文件来说通常很棘手。 在这种情况下你调用了make ,它试图调用sphinx-build ,但是当它找不到时失败了。

auto-apt run [...]将运行指定的命令,然后引导您完成安装包含它知道apt-get可以找到并安装的丢失文件的包。

所以,只需调用auto-apt run make html ,看看会发生什么:)

有关更多信息,请参阅auto-apt的文档