一个Linux操作系统是如何“基于”另一个Linux操作系统?

当回顾不同的Linux风格时,你经常会遇到像“Ubuntu是基于Debian”这样的短语,但究竟是什么意思?

今天的问答环节由我们感谢SuperUser - Stack Exchange的一个分支,这是一个社区驱动的Q&A网站分组。

问题

SuperUser读者PLPiper试图获得关于Linux变体如何工作的句柄:

我最近一直在寻找相当多的Linux发行版来了解什么是什么,一个短语不断出现是“[这个操作系统]是基于[另一个操作系统]”。 例如:

  • Fedora基于Red Hat
  • Ubuntu是基于Debian的
  • Linux Mint是基于Ubuntu的

对于来自Mac环境的人来说,我理解“OS X是基于达尔文”,但是当我看看Linux Distros时,我发现自己问“他们都不是基于Linux吗?

在这种情况下,到底是什么意思一个Linux操作系统是基于另一个Linux操作系统?

那么,当我们谈论一个基于另一个版本的Linux版本时,它是什么意思呢?

答案

超级用户贡献者kostix提供了整个系统的完整概述:

Linux是一个内核 -一个(复合)片的软件,该软件与硬件的工作原理和出口在一定的应用程序编程接口(API),以及如何精确地使用(应用程序二进制接口(ABI))提供给“用户自二进制约定空间“应用程序。

Debian的,红帽和其他一些操作系统 -完整的软件环境,其中包括内核和一组用户空间程序这使得他们执行合理的任务(发送/接收邮件,让您浏览互联网,行车电脑非常有用的机器人等)。

现在,每个这样的操作系统,同时提供几乎相同的软件(有没有那么多的免费邮件服务器程序或网络浏览器或桌面环境,例如)在不同的方法来做到这一点,也在他们的既定目标和发布周期。

通常这些OS被称为“分布”。 这是,海事组织,一个有点错误术语的事实所产生的你技术上能够手工打造所有必需的软件,并在目标计算机上安装它,所以这些操作系统分发的打包软件,让你无论是不需要建它(Debian,RedHat)或他们促进这种建设(Gentoo)。 它们通常还提供有助于将OS安装到目标机器上的安装程序。

制作和配套的操作系统是一项非常复杂的任务,需要一个复杂的和复杂的基础设施(上传队列,构建服务器,一个bug跟踪系统和归档服务器,邮件列表软件等等等)和工作人员。 这显然为创建一个新的,从头开始的操作系统带来了很大的障碍。 例如,Debian提供ca. 一些五个硬件架构的37k软件包 - 去看看有多少工作是支持这个东西。

不过,如果有人认为他们需要为任何原因一个新的操作系统,它可能会使用现有的基础建立在一个不错的主意。 而这也正是基于其他操作系统的操作系统开始存在。 例如,Ubuntu通过从其中导入大多数软件包并重新打包它们的一小部分,加上自己的包装,提供他们自己的艺术品,默认设置,文档等,来构建Debian。

注意,这个“基于”的东西有变化。 例如,Debian促进了“纯混合”本身的创造:使用Debian而不是直接使用的分布,只是添加一堆软件包和其他只对相当小的用户组有用的东西,例如在教育,医学或音乐工业等

另外一个奇怪的是,并不是所有这些操作系统都是基于Linux。 例如,Debian还提供FreeBSD和Hurd内核。 他们有相当小的用户组,但无论如何。


有什么东西添加到解释? 声音在评论中。 想要阅读更多的技术精明的Stack Exchange用户的答案? 这里查看完整的话题

赞 (0)
分享到:更多 ()