是否有独立于发行版的工具来自动编译+安装依赖项?

是否有独立于发行版的工具来自动编译+安装依赖项?

我喜欢这种方式,例如 ArchLinux'yaourt(或者如果你没那么懒的话,abs+ makepkg;从我目前读到的来看,Gentoo 的ebuild以及)自动处理获取、编译和安装依赖项(以及他们的依赖项等)在编译所需的包之前。目前我正在使用一个本身不提供这种机制的系统(aBuffalo LinkStation Pro 双核通过 ssh 进行 root 访问)并且需要编译一些具有极其复杂的依赖链的程序,手动爬行确实很乏味,所以我想知道是否有

  • 与上述工具类似的工具,它基本上需要一个源代码目录(或.tar.gz或 git-repo 或...),并且在编译之前检查是否缺少依赖项,或多或少自动获取其源代码(递归直到解决所有依赖项)
  • 一种配置这些工具之一的方法,使其尊重与其自己的发行版的偏差,例如安装所有内容/opt而不是尝试升级(特定于固件的)内核?

果然,一般情况下有很多特殊性,但为此假设 90% 的依赖项只需要运行./configure --prefix=/opt && make && make install

答案1

我不认为这样的事情真的可行,所以简短的答案是:

您提到的示例确实是为从头开始构建所有内容而定制的,因此您有一个工作流程可以做到这一点(构建所有内容,包括依赖项)。

其他发行版(例如 Debian 及其所有衍生版本)更专注于下载预编译的二进制文件(而不是从头开始在本地构建它们),因此它们不提供仅自动编译依赖项的框架。

更新

就简单地解决给定包的依赖关系而言,这是发行版的主要任务之一维护者面临的问题:找出哪些软件包需要哪些(版本的)库,...

由于发行版重人类力量进入这项任务,我怀疑它是否可以自动化。

答案2

与另一个答案相反,这样的工具是存在的,尽管我还没有决定使用一个:

虽然它们包括分发预编译的二进制文件,但它们也允许编译。

另请参见。问题非根包管理器

相关内容