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

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

我想知道哪些包

sudo apt-get build-dep <package>

会安装(如果我已经安装了一些依赖项,我也想看到它们 → 因此运行或模拟上述操作是不够的)。最好使用命令行。

答案1

为一个完整列表依赖项,包括依赖项的依赖项,您可以使用:

apt-rdepends --build-depends openoffice.org

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

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

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

查看apt-rdepends --help所有选项。

笔记:这将生成一个大量的例如, list.
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 后,系统会自动检查哪些软件包被安装了。据我所知,除了查看 apt 日志文件之外,没有其他可靠的方法可以找到已安装的软件包。/var/log/apt/history.log

答案2

apt-cache showsrc <pkgname> | grep ^Build-Depends

showsrc显示给定源包的 debian/control 文件。然后我们 grep 查找以“Build-Depends”开头的行,其中包含从源代码构建所需的包列表。

答案3

选项-s( --simulate) 将输出所有不需要执行任何操作的操作。您甚至不需要 root 权限。

apt-get -s build-dep <package>

相关内容