如何在不依靠Google的情况下确定其中包含的包裹?


29

我经常发现自己想安装一些东西,但是不确定其中包含什么软件包。这对我来说是很常见的情况:

$ 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

有没有更好的办法?

Answers:


31

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

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


好东西!我一直求助于packages.ubuntu.com,但始终最好使用命令行应用程序:D
Egil,

15

Ubuntu非常聪明。只是尝试运行它。

$ sphinx-build

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

2
有谁确切知道在Ubuntu中如何实现这种“智能”?例如,哪个软件包提供了这个?
entropo 2011年

5
@entropo:提供此功能的程序包是“ command-not-found”。
Tweek 2011年

3
应该非常谨慎地使用它,因为如果从您的shell中调用该命令不能从脚本或makefile中运行,则该命令可能会起作用(例如,因为该脚本正在使用另一个$ PATH或您的shell中具有相同名称的别名),并且可能会产生不良影响。
Florian Diesch 2011年

3

我不知道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

这有所帮助,但是之后您需要运行类似'dpkg -L packagename | grep bin”以查找软件包实际提供的命令。
Tanath 2011年


2

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

易于

要搜索类似于您想要的命令的内容: apt-cache search X例如,apt-cache search cheese将为您提供与奶酪相关的所有信息。
要显示它有什么依赖关系和东西,您会做apt-cache show cheese
当然要安装apt-get install cheese

适度

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

aptitude还为您寻找的内容提供了更多相关信息,例如:

apt-cache search phiVS aptitude search phi
apt-cache search sphiVSaptitude search sphi

如果需要GUI版本,建议使用Synaptic Package Manager或更简单的软件中心。在Synaptic中,您可以寻找与您所寻找的东西相似的东西,它将向您显示。


0

自动适应

auto-apt是一个非常有用的软件包,尤其是在Makefile和configure脚本中,这些文件和脚本引用了您可能没有的东西以及不知道在哪里查找的东西,而对于头文件来说这通常很棘手。make在这种情况下,您进行了调用sphinx-build,但它尝试调用,但是在找不到它时失败了。

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

因此,只需调用auto-apt run make html并查看会发生什么:)

有关更多信息,请参见自动适配的文档。

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.