问题描述
Linux Mint基于Ubuntu。 Ubuntu基于Debian。像这样,还有其他几种基于Ubuntu,Debian,Slackware等的Linux发行版。令我感到困惑的是这意味着什么,即一个基于Linux发行版的Linux发行版。它们是如何制成的?
最佳办法
扎克(Zack)在他的UDS-P Talk Slides上有一张很棒的图来解释它
基本上,每个Ubuntu周期,直到Debian Import Freeze,每天都会将Debian中未修改的源软件包从Debian复制到Ubuntu(74%的分支)。已在Debian&中修改的软件包Ubuntu手动获得merged(Patch分支),通常由上次接触Ubuntu中的软件包的开发人员获得。
一些核心软件包(内核,大部分桌面和其他位)根本不是来自Debian,而是直接来自Upstreams(占11%的分支)
因此,Ubuntu可以维护自己的核心软件包集,还可以从大量的Debian软件包中受益。
次佳办法
Ubuntu使用相同的打包管理系统(deb和apt),并且在每个开发周期中都从Debian提取最新的软件包,然后使它们适应Ubuntu的特定要求,并在必要时添加更多功能和补丁。他们还将更改推回Debian,开发人员通常是Ubuntu和Debian开发人员。
Mint反过来对Ubuntu软件包也起作用(更新:尽管Mint似乎贡献不多或根本没有贡献)
第三种办法
除了名称之外,还有许多东西可以定义分布。打包系统(deb,rpm等),标准环境(例如,用作标准的”init”类型)以及许多其他内容,例如调度策略,主要目标用户等。请注意,共享某些核心工具不要做两个分布”siblings”。参见Red-Hat和SuSE的情况,例如:在@Zenklys链接的图表上,您看到SuSE是Slackware的早期衍生产品,但是他们从Red-Hat借来了RPM打包系统,我想不要重新发明轮子了。
其中大多数是某人(公司,个人或发展中社区)为您做出的决定。有些发行版彼此之间非常不同,并且在起源上几乎没有共同点(Debian和Red-Hat是早期的两个例子……),这是为实现工作环境而付出的平行努力的结果,但是其他发行版却是由于规模庞大而诞生的。社区一致认为,现有发行版的某些方面可以用不同的方式来完成,例如具有较短(或更大!)的发布周期,或者可以减少发行版的”general”并专注于某些方面,例如媒体创建(您可以预安装工具,请尝试针对特定情况进行更好/更轻松的硬件配置…);或公司决定可以通过调整某些目标受众的发行版来开展业务时。
让我们从此继续使用Ubuntu,但请记住,此过程在所有方面都是相似的。
当然,采用”derivative”方式意味着您从第0天开始使用工作系统,在那里您的工作将专注于进行所需的更改并保持最新的”parent”版本。
Ubuntu在这种意义上是Debian的衍生产品:他们进行了有效的发行并决定了许多事情:默认(并得到官方支持)桌面环境和主题化,强调非root用户可以访问所有受限区域(例如,硬件设置)等,还集成了工具,有时还开发了新工具来实现其目标。在某个时候,他们开始做出更基本的决定,例如更改关键子系统(例如,要成为新贵)或默认工具版本(例如,Python版本),而Ubuntu则在很大程度上依赖该工具。其中一些更改可能最终不会在原始发行版上发生,或者只是花费更长的时间…或相反,在这种情况下,您不喜欢在父发行版中进行的更改,并且您安排事情以便分发保持与以前相同的方式(例如当Ubuntu移至默认的Gnome 3时)。
再说一遍,在某些时候,Ubuntu用户认为他们对为他们所做的所有选择都不满意,因此您最终得到了Kubuntu或Xbuntu之类的派生工具,这些派生工具可能(或可能不)最终达到某个”official”状态原始项目。
Ubuntu一直在与Debian保持一定程度的反馈,从而使您轻松地(一定程度上)将您的知识带到另一个,但是对于所有派生发行版而言,并不需要如此。
依此类推…但是答案已经很久了:P
第四种办法
我一直喜欢这张关于linux发行版及其关系的小图片。 🙂
http://fr.wikipedia.org/wiki/Fichier:Gldt.svg