问题描述
我想找出哪些包裹
sudo apt-get build-dep <package>
将安装(如果我已经安装了一些依赖项,我也希望看到那些→所以运行或模拟上述是不够的)。命令行首选。
最佳解决方案
有关依赖项的完整列表,包括依赖项的依赖项,您可以使用:
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的answer(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 <package>
第三种解决方案
apt-cache showsrc <pkgname> | grep ^Build-Depends
showsrc
显示给定源包的debian /control文件。然后我们grep查找以’Build-Depends’开头的行,其中包含从源构建所需的包列表。