如何找到包的构建依赖项?

我想找出哪些包裹

sudo apt-get build-dep  

将安装(如果我已经安装了一些依赖项,我也希望看到那些→所以运行或模拟上述是不够的)。 命令行首选。

有关依赖项的完整列表 ,包括依赖项的依赖项,您可以使用:

 apt-rdepends --build-depends openoffice.org 

该命令可能会提醒您先安装apt-rdepends

您可以使用以下命令仅显示未安装的命令:

 apt-rdepends --build-depends --print-state openoffice.org | grep NotInstalled 

有关所有选项,请参阅apt-rdepends --help

注意 :这将生成一个庞大的列表。
例如, apt-rdepends -b xterm生成8773行输出,并花费时间进行操作。

如果您只想查看构建最顶层软件包所需的软件包,即我需要安装什么来构建nautilus,请运行:

 apt-rdepends --build-depends --follow=DEPENDS nautilus 

这大致相当于Carsten Thiel的答案 ( The following NEW packages will be installed ),但输出格式更好一些。 它也只显示最顶层的包,而模拟的apt-get也显示安装的包作为那些包的依赖关系。

这还显示已安装的软件包。 但它也可能显示默认安装的软件包。 不幸的是,在运行apt-get build-dep之后尝试清理系统时,这两种方法都没有多大帮助。 据我所知,除了查看/var/log/apt/history.log中的apt日志文件外,没有一种可靠的方法可以找到安装的文件。

选项-s (– --simulate )将输出在不做任何事情的情况下完成的所有操作。 你根本不需要root权限。

 apt-get -s build-dep  
 apt-cache showsrc  | grep ^Build-Depends 

showsrc显示给定源包的debian / control文件。 然后我们grep for以(Build-Depends)开头的行,它包含从源代码构建所需的包列表。