2.7.2. 混合源档案库中的软件包

[小心]小心

从混合源档案库中安装软件包是不被 Debian 官方发行版所支持的,除了官方支持的档案库的特殊组合以外,例如 stablesecurity updatesbuster-updates

这里有一个列子,在原有只跟踪 testing 的场景,操作包含在 unstable 里发现的新的上游软件包版本。

  1. 临时更改 “/etc/apt/sources.list“ 文件,使之指向单一的 “unstable“ 发行版路径。

  2. 运行 “aptitude update“ 命令。

  3. 运行 “aptitude install <package-name>“ 命令。

  4. 恢复到原始 “/etc/apt/sources.list“ 文件,使之指向 testing 路径。

  5. 运行 “aptitude update“ 命令。

使用这个手工方法,你不需要创建 “/etc/apt/preferences“ 文件,也不需要担心 apt-pinning。但这个方法仍然是非常麻烦的。

[小心]小心

当使用混合档案源的时候,因为 Debian 不会确保软件之间的兼容性,所以你必须自己去解决兼容性问题。如果软件之间存在不兼容性,系统可能会损坏。你必须能够判断这些操作所需的技术要求。使用任意混合的档案源是完全可选的操作,我并不鼓励你去使用它。

从不同的档案库中安装软件包的一般规则如下。

  • 非二进制软件包 (“Architecture: all“) 的安装是更保险的

    • 文档软件包:没有特别的要求

    • 解释程序的软件包:兼容的解释器必须是可用的

    • 二进制软件包 (non “Architecture: all“)通常会面临很多障碍,它的安装不保险的

    • 库文件版本的兼容性(包括 “libc“)

    • 与之相关的有用的程序版本的兼容性

      • 内核 ABI 的兼容性
    • C++ ABI 的兼容性

[注意]注意

为了使软件包的安装变得更保险 ,一些商业的非自由的二进制程序包可能会提供完整的静态链接库。你还是应该检查 ABI 的兼容性问题等等。

[注意]注意

为避免短期出现坏的软件包,从非官方支持的档案库安装二进制软件包通常是一个坏注意。即使你在使用 apt-pinning 情况下,也是这样的。(参见 第 2.7.3 节 “调整候选版本”).你应当考虑使用 chroot 或类似技术(参见 第 9.10 节 “虚拟化系统”)来运行不同档案库的程序。