Linux是内核,它是一种(复杂的)软件,可以与硬件一起使用,并可以导出特定的应用程序编程接口(API),以及有关如何精确使用它的二进制约定(Application Binary Interface,ABI)。空间”应用程序。
Debian,RedHat和其他操作系统是完整的软件环境,它由内核和一组用户空间程序组成,这些程序使计算机在执行明智的任务(发送/接收邮件,允许您浏览Internet,驱动程序,机器人等)。
现在,每个这样的OS在提供几乎相同的软件(例如,免费邮件服务器程序或Internet浏览器或台式机环境并不多)的同时,实现此目标的方法以及目标和发布周期也有所不同。
这些操作系统通常被称为“发行版”。IMO,这是一个错误的术语,因为您在技术上能够手动构建所有必需的软件并将其安装在目标计算机上,因此这些OS 分发了打包的软件,因此您无需构建(Debian,RedHat)还是它们促进了这种构建(Gentoo)。他们通常还提供安装程序,以帮助将操作系统安装到目标计算机上。
制作和支持操作系统是一项非常复杂的任务,需要复杂而复杂的基础架构(上载队列,构建服务器,错误跟踪器,存档服务器,邮件列表软件等)和人员。显然,这为创建新的,从零开始的操作系统带来了很大的障碍。例如,Debian提供了ca。用于约五种硬件体系结构的37k软件包—来计算支持这些东西需要投入多少工作。
但是,如果有人认为出于任何原因需要创建新的OS,则最好使用现有的基础进行构建。这正是基于其他操作系统的操作系统应运而生的地方。例如,Ubuntu通过仅从Debian导入大多数软件包并仅重新打包其中的一小部分,再打包自己的软件包,提供自己的图稿,默认设置,文档等,在Debian上进行构建。
请注意,此“基于”的事物有所不同。例如,Debian促进了其自身的“纯混合”的创建:发行版直接使用Debian,仅添加了一堆软件包和其他内容,这些内容仅对相当一部分用户有用,例如从事教育,医学或音乐工作的用户工业等
另一个问题是,并非所有这些操作系统都基于Linux。例如,Debian还提供FreeBSD和Hurd内核。他们的用户组很小,但无论如何。