我经常发现自己想安装一些东西,但我不确定它在哪个包中。这对我来说很常见:
$ 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文件并运行
apt-file update
然后用于
apt-file search sphinx-build
搜索包含名为sphinx-build的文件的包Ubuntu 非常聪明。试着运行它。
我不知道 apt-get 是否可以做到,但无论如何我更喜欢使用 aptitude。
使用它的搜索命令,你会得到一个包含你正在搜索的字符串的包列表,但这仍然不能完全回答你的问题,因为它没有显示哪个包包含你正在寻找的二进制文件。
例子:
我喜欢使用http://packages.ubuntu.com/——里面有“搜索包的内容”。Debian 在http://packages.debian.org也有类似的界面。
这样做的好处是你可以在没有 CLI 访问 Ubuntu 本身的情况下使用它,通过电话解释事情。
您可以使用我在 apt 上方推荐的 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 phi
VSaptitude search phi
apt-cache search sphi
VSaptitude search sphi
如果你想要一个 GUI 版本,我推荐Synaptic Package Manager或更简单的软件中心。在 Synaptic 中,您可以查找与您正在查找的内容相似的内容,它会显示给您。
自动适应
auto-apt
是一个派上用场的包,尤其是 Makefile 和configure
脚本,它们引用了您可能没有并且不知道在哪里找到的东西,这对于头文件来说通常很棘手。在这种情况下,您调用make
了它,它尝试调用sphinx-build
,但找不到它时失败。auto-apt run [...]
将运行指定的命令,然后指导您安装包含它知道apt-get
可以找到和安装的丢失文件的软件包。所以,只需调用
auto-apt run make html
并看看会发生什么:)有关更多信息,请参阅auto-apt 的文档