Ubuntu有4个储存库,它们是主、限、宇宙和多宇宙。如果我使用另一个基于Debian的发行版,我可以使用这些存储库吗?
发布于 2020-09-06 18:26:40
是的..。说大也大吧。这不是建议。添加不同的部分(例如multiverse、universe、main、non-free)不是问题。这个问题与套件有关(例如buster、bionic、tessa、kali-rolling)。
在混合来自不同套件的软件时要非常小心。在同意安装任何东西之前,一定要反复检查apt输出。最坏的情况是,您尝试升级某些东西,将其升级一半,但在您的系统上遇到版本冲突,最终导致系统崩溃。
钉扎可以让您很好地控制所有版本,但是Wiki首先说:
除了少数例外(DebianBackports),不建议混合存储库/发行版,除非它们是经过特别准备的。不要在DebianUnstable上启用DebianStable存储库。固定时,您必须确保包的兼容性,因为Debian不能保证它的兼容性。
同样值得一提的是Debian关于这个题为"别做FrankenDebian“的建议
Debian稳定版不应与其他版本相结合。如果您正在尝试安装当前Debian稳定版本中不可用的软件,那么为其他Debian版本添加存储库并不是一个好主意。问题可能不会马上发生,但下次安装更新时。之所以会出现故障,是因为为一个Debian版本打包的软件是为兼容该版本的其他软件而构建的。例如,在buster系统上安装来自斗牛眼的软件包也可以安装新版本的核心库,包括libc6。这导致一个系统不是测试或稳定的,而是两者的组合破裂。如果与Debian稳定版一起使用,则可以创建FrankenDebian的存储库:
这就是说。这是怎么做的!假设您在Debian buster上,并且想要一个来自Ubuntu的multiverse包。首先,想想你想要从哪个套间里拉出来。buster于2019年6月发布,因此最近的ubuntu发行版将是disco (2019年4月)。这可能有最少的差异。向/etc/apt/sources.list添加一个Ubuntu行,如下所示:
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>当您开始混合不同代的版本时,问题就来了。其他发行版通常是debian unstable的快照,或者是下游版本。然后,这些发行版添加/替换几个(或多个)包,以提供特定于该发行版的定制。
Ubuntu xenial、bionic、focal或groovy都是这个存储库在不同时间点的快照,因此依赖项可能是不同的。focal中的包一般都能很好地工作,但是focal中的包可能不能很好地处理groovy中的包,因为它们可能依赖于同一个包的不同版本。
如果您使用的是薄荷tara、tessa、tina或tricia,那么它们主要是基于Ubuntu bionic,所以如果适用的话,您将希望从该套件中撤出。
https://unix.stackexchange.com/questions/608182
复制相似问题