我在读Debian 与 Ubuntu 与 Linux Mint:您应该使用哪个发行版?
另一方面,Ubuntu 则很好地结合了新旧稳定版本... 有些软件包可以在两个发行版上使用,而其他软件包则专门用于其中一个发行版
如果 Ubuntu 基于 Debian,它如何更新?它只是使用不同的 apt 源吗?
再次,既然它基于 Debian,那么为什么软件包兼容性会有差异?它只是安装了一些不同的东西吗?
我能说......么:
- 所有 Debian 软件包都可以在 Ubuntu 上运行。
- 所有 Ubuntu 软件包均可在 Linux Mint(基于 Ubuntu)上运行。
答案1
“Debian 版本”本身并不是一个东西,通常不同的版本在野外使用 Debian。
Debian 有一个名为“unstable”或“sid”的分支,以《玩具总动员》中弄坏玩具的孩子的名字命名。
Debian 还有一个“稳定”版本,在准备就绪后发布。这些版本通常发布间隔较长。
中间是一个名为“测试”的版本,其中的软件版本比稳定版新,但比不稳定版旧。最终“测试”是晋升稳定版本。
通常在开发周期中,Ubuntu 会导入来源Debian Unstable (sid) 中的软件包。有时我们停止自动导入而是手动拉取修复程序,然后每 6 个月发布一次 Ubuntu。在 LTS 发布期间,稳定性更为重要,Ubuntu 将从测试释放。
Ubuntu 发布后,会与 Debian 进行大规模同步并重复该过程。
Debian Stable 和 Ubuntu 都采用 Debian Unstable -> Testing -> 然后在此基础上制作稳定版本。这两个流程之间的主要区别在于 Ubuntu 是基于时间的,根据该版本的时间表和目标导入和冻结,而 Debian 的循环速度较慢,没有严格的“我们需要定期发布”目标。Ubuntu 有时还会将对用户很重要的东西直接打包,有时在适当的情况下将其提交回 Debian。我在这里谈论一下:
很久以前,Debian 稳定版发布可能需要很长时间,有时长达 3 年:时间太长,以至于发布时某些软件已经严重过时。过去几个版本的发布速度要快得多,大约间隔 1.5-2 年 - 大约与 Ubuntu LTS 版本的间隔相同,但由于时间表不同,Debian 版本的软件可能比最新的 Ubuntu LTS 版本更新(反之亦然)。
Debian 和 Ubuntu 软件包通常是二进制兼容的:在一个发行版上构建的程序可以复制到另一个发行版并成功运行。但这依赖于构建软件包时所用的库是否相同,而 Ubuntu 版本和 Debian 版本之间,或同一发行版的两个连续版本之间并不总是如此。此外,发行版集成不仅仅是拥有正确的库,因此即使软件包中的程序具有运行所需的一切,由于发行版之间存在许多差异,软件包也可能无法正确安装或运行:例如,Ubuntu 软件包可能无法在 Debian 上使用,因为它需要 upstart。
总体而言,如果您认为 Debian 和 Ubuntu 的打包方式应该相同,最简单的方法仍然是为您的发行版的确切工具链重建二进制包。您可以轻松导入源包并自行构建或在 PPA 中构建。
每隔一段时间,Debian 和 Ubuntu 版本就会排成一排,我们可以共享 GCC、libc6 或 python 版本等内容。这当然对生态系统很有好处,因为拥有紧密结合的东西可以让用户、打包者和上游的工作变得更轻松。这就是为什么 Ubuntu 开发者峰会上的工具链讨论通常会考虑当时 Debian 的状态。
答案2
是的,Ubuntu 确实使用了不同的 apt 源。他们有很多人检查软件包是否有新版本。Ubuntu 也对 apt 进行了大量修改,所以这也许可以解释为什么它们不兼容(我自己也不太确定,但这可能是其中的一部分原因)。