其他基于 Debian 的发行版可以使用 Ubuntu 的存储库吗?

其他基于 Debian 的发行版可以使用 Ubuntu 的存储库吗?

Ubuntu 有 4 个存储库,分别是 main、restricted、universe 和 multiverse。如果我使用另一个基于 Debian 的发行版,我可以使用这些存储库吗?

答案1

是的...有点。不建议这样做。添加不同的部分(例如multiverseuniversemainnon-free)不是问题。该问题与套件有关(例如busterbionictessakali-rolling)。


混合不同套件的软件时要格外小心。apt在同意安装任何东西之前,请务必仔细检查输出。最坏的情况是,您尝试升级某些东西,它升级了一半,但系统上遇到版本冲突,最终导致系统损坏。

固定让你可以很好地控制所有内容的版本,但是 Wiki 开头是这么说的:

除了少数例外(DebianBackports),不建议混合存储库/版本,除非它们是专门准备的。不要在 DebianStable 上启用 DebianUnstable 存储库。固定时,您必须自行确保软件包的兼容性,因为 Debian 不保证这一点。


还值得一提的是 Debian 对此的建议,题为“不要制作 FrankenDebian

Debian Stable 不应与其他版本结合使用。如果您尝试安装当前 Debian 稳定版本中不可用的软件,那么为其他 Debian 版本添加存储库并不是一个好主意。这些问题可能不会立即发生,而是在您下次安装更新时发生。

事情可能会出现问题的原因是,为某个 Debian 版本打包的软件是为了与该版本的其他软件兼容而构建的。例如,在 Buster 系统上安装 Bullseye 的软件包还可以安装较新版本的核心库,包括 libc6。这会导致系统未经过测试或稳定,而是两者的混合体。

如果与 Debian Stable 一起使用,则可以创建 FrankenDebian 的存储库:

  • Debian 测试版本(目前是 Bullseye)
  • Debian 不稳定版本(也称为 sid)
  • Ubuntu、Mint 或其他衍生存储库与 Debian 不兼容!
  • Ubuntu PPA

就是这样说的。下面是如何做到这一点!假设您使用的是 Debian buster,并且想要multiverse来自 Ubuntu 的软件包。首先考虑一下您想要选择哪个套件。 buster于 2019 年 6 月发布,因此最接近的 ubuntu 版本将是disco(2019 年 4 月)。这可能是差异最小的。添加 Ubuntu 行,/etc/apt/sources.list如下所示:

deb http://ftp.debian.org/debian/ buster main
deb http://archive.ubuntu.com/ubuntu/ disco multiverse

在使用之前,apt update设置默认版本很重要,这样整个系统就不会意外切换到 Ubuntu。添加/etc/apt/apt.conf.d/00local以下内容:

APT::Default-Release "buster";

现在 apt 知道它将始终使用在 中找到的版本buster之前找到的版本,disco除非明确指定。现在可以安全地apt update获取 中可用内容的索引disco

如果您想从以下位置下载软件包disco

sudo apt install -t disco <package>

当您开始混合不同代的版本时,问题就出现了。其他发行版通常是 debianunstable或下游等效版本的快照。然后,这些发行版添加/替换一些(或许多)包以提供特定于该发行版的定制。

Ubuntu xenialbionicfocal、 或groovy都是此存储库在不同时间点的快照,因此依赖性可能不同。focal一般来说,包 in彼此可以很好地协作,但是包 infocal可能无法与包 in 很好地协作,groovy因为它们可能依赖于同一包的不同版本。

如果你是薄荷糖tara,,,,tessatinatricia这些大多是基于Ubuntu bionic,因此您需要从该套件中提取(如果适用)。

相关内容