首先要申明一下,以下有些介绍性内容都是从网络上摘抄过来了,但是我根据自己的理解稍微做了整理,也添加了自己的一些理解,如有侵权,请及时联系我。我也只是想分享一下,。
通过上一节的讲解,大家对Linux的由来应该已经有一定的了解了,但什么又是linux发行版?这要从Linux开源免费的特性说起。
因为Linux是开源和免费的,任何人和组织,都可以使用这些软件,进行修改,重新发布,所以,很多的公司在开源的标准Linux基础上,进行了修改和客制化,并添加了自己的应用,重新进行包装和发布属于自己的Linux操作系统,这些再次修改,包装发布的Linux系统,就称为Linux发行版。甚至你自己,也可以去发行一个自己的Linux版本,比如张三做了个Linux发行版,叫张三Linux,就是一个Linux发行版。
我们可以接触到各种的Linux发型版,比如fedora,RedHat, Ubuntu, Debian等等,这些Linux发行版,也都是开源的,因为是基于开源Linux系统衍生出来的,就是遵循开源GPL协议,但各个厂商针对自己发布的Linux系统,也进行的大量改造和扩展,基本上都包含大量的软件,比如软件开发工具,数据库,web服务器(例如Apache),x window,桌面环境(比如gnome和kde),办公套件(比如openoffice.org)。虽然系统开源,但他们可以通过附加技术服务来赚钱。有些完全厂商自己开发的应用方案,针对这部分完全独立的应用方案,也可以不用开源进行商业化。简单来说,Linux发行版就是由Linux内核与各种常用软件的集合产品,如今全球大约有数百款的Linux发行版本(如下图distrowatch统计的Linux发行版)。
下图是distrowatch对各种发行版欢迎程度的统计,这个排名也是随之时间再不停变化的,你可以访问以下网站,查看最新的信息:
https://distrowatch.com/dwres.php?resource=popularity
Linux发行版统计
当然,应该还有很多很小的Linux发行版没有统计在内,所以,Linux发行版,我估计上千种都有。那我们需要去了解这么多发行版吗,当然不需要,因为从本质上就,他们都是Linux,只是穿了不同的马甲而已。学会了一种,其他的都是大同小异。
但是我们有必要去了解一下一些常用的Linux发型版,看看他们有什么不同,这样,当你要进行Linux开发时,或者你的项目需要基于Linux平台来架构是,你也就可以评估,使用哪种Linux发行版版会更加合适。
接下来我们来介绍一下目前最流行的几个发现,这些发行版,就是我们最常用的发行版,我工作十几年,基本上也就接触过下面几种发行版,我这里主要说说说我的看法的和体会,并不是官方的介绍。仅供参考。
目前市面上较知名的发行版有:Ubuntu、RedHat、Centos、Debian、Fedora、SuSE、OpenSUSE 等。每种Linux,一般都有自己个一个图标。如:
常见Linux发行版和对应图标
我这里主要介绍Ubuntu,Debian, Redhet, Fedora, Centos, 以及国产的Deepin, UOS,中标麒麟和openEuler等。从我再接触的工业客户来讲,95%以上的客户都在使用上述系统。当然,当你读到我的这本书的时候,可能又有新的发行版有出来了,这也是很正常的。
当然还有一种比较特备的Linux系统叫Yocto,但严格来说,yocto是一个构建Linux发行版的套件,而不是一个Linux发行版,这里先不做讨论,后续我们谈到ARM Linux移植时,再来讨论。
另外,还有Android系统,是目前手机中除苹果iOS外最常用的系统,Android底层还是基于Linux内核的,所以也可以将Android归类为一个特殊的Linux发行版,但我们这里对Android也不做讨论。你只要知道Android底层也是基于Linux内核的,就行了。
(1) Ubuntu
Ubuntu是目前世界上最流行的Linux发行版,中文一般翻译成优班图、友帮拓等,第一个正式版本于2004年10月正式推出,发行这个Linux发行版的公司叫做Canonical,就是说,Ubuntu是Canonical公司推出的一个Linux发行版,目前通常半年会更新一次,基本上是其版本号采用年份加月份的方式,比如Ubuntu 20.04,表示是2020年4月份发布的,Ubuntu 21.10,表示是2021年10月份发布的,Ubuntu目前一般都是在4月份和10月份左右推出新的版本。另外,每隔两年,会推出一个长期支持版本,长期支持版本大概会支持5年以上,比如Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04,都是长期支持版本,所以就会出来Ubuntu 20.04.1,Ubuntu 20.04.2这样的版本。另外,Ubuntu各个版本,一般还有一个开发代号,通常的格式为“形容词 动物”,比如Ubuntu16.04的开发代号是Xenial Xerus,译为“好客的非洲地松鼠”。
不管是个人Linux用户,还是工业用户,目前Ubuntu都是使用最为广泛的Linux系统,根据Ubuntu发行版本的用途来,同一个版本,有可以分为Ubuntu桌面版(Ubuntu Desktop),Ubuntu服务器版(Ubuntu Server),Ubuntu云操作系统(Ubuntu Cloud)等,还可以支持X86,ARM等各种架构,Ubuntu已经形成一个比较完整的解决方案,涵盖了IT产品的方方面面。
- Ubuntu对个人使用、组织和企业内部开发使用是免费的,但这种使用没有售后支持。
- 对于商业用途,要搭载Ubuntu系统去销售,则需要Ubuntu授权,并且是收费的,但Ubuntu会提供售后服务。
Ubuntu适用于笔记本电脑、桌面电脑和服务器,特别是为桌面用户提供尽善尽美的使用体验。Ubuntu几乎包含了所有常用的应用软件:文字处理、电子邮件、软件开发工具和Web服务等。用户下载、使用、分享Ubuntu系统,以及获得技术支持与服务,无需支付任何许可费用。同时,由于其众多的软件支持和其稳定性,在工业上,Ubuntu也会非常广泛的应用。
所以本书后续,如果没有特别说明,都是基于Ubuntu来讲解Linux,只要Ubuntu掌握了,其他Linux发行版,也都大同小异,可以很快掌握。
(2) Debian
Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。是由 GPL 和其他自由软件许可协议授权的自由软件组成的操作系统, 由 Debian 计划 (Debian Project) 组织维护。Debian 计划没有任何的营利组织支持,它的开发团队完全由来自世界各地的志愿者组成, 官方开发者的总数就将近 1000 名,非官方的开发者为数更多。
Debian Debian 计划组织跟其他自由操作系统(如 Ubuntu、openSUSE、Fedora、Mandriva、OpenSolaris 等)的开发组织不同,上述这些自由操作系统的开发组织通常背后由公司或机构支持。而 Debian 计划组织则完全是一个独立的、分散的开发者组织,纯粹由志愿者组成, 背后没有任何公司或机构支持。
Debian以其坚守 Unix 和自由软件的精神,以及其给予用户的众多选择而闻名,其目标是成为 The Universal Operating System,即“通用操作系统”。现在 Debian 包括了超过 25,000 个软件包并支持 12 个计算机硬件构架,在国外拥有很高的认可度和使用率。对于各类内核架构支持性良好,稳定性、安全性强更有免费的技术支持。
分为三个版本分支(branch):
unstable,为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。
testing,经过unstable中的测试,相对较为稳定,也支持了不少新技术。
stable,比较适用于服务器,上面的软件包大部分相对版本比较旧,但是稳定和安全性都非常的高。
其他众多的 Linux 发行版,例如 Ubuntu、Knoppix 和 Linspire 及 Xandros 等, 都建基于 Debian GNU/Linux再次修改发行的Linux。我们来说说Ubuntu 和Debian的关系,它两是有着很密切的关系的,由于Debian Stable 版本总是相对保守,而其他分支却没有较好支持,同时管理上也过于民主,造成决策缓慢。这样 Debian 开发者之一的 马克·舍特尔沃斯 决定创建 Ubuntu 项目。
Ubuntu 基于 Debian 的 unstable 或者 testing 分支,同时对来自 Debian 的部分软件包进行了一定的修改,以使其更加适合桌面使用。 同时,优化了安装过程,使 Ubuntu 安装起来更加容易。Ubuntu 也是坚守自由软件的发行版。虽然早期Ubuntu和Debian社区关系比较紧张,但目前Ubuntu 向 Debian 回馈的通道也已经比较畅通,关系也已非常融洽。
(3) Fedora/RHEL/CentOS
这三个系统目前都是Redhat公司的,基本上也很相似,我们暂且称之为Redhat系列,即是三个独立的系统,又有相互的联系,但他们的使用方式和界面都是比较像的,其的包管理也方式都是采用的是,基于RPM包和YUM包的管理方式,包分发方式是编译好的二进制文件。
- Fedora Core :
Fedora是社区版本,红帽Redhat赞助的。一般一些新的产品会在fedora优先发布,供大家体验,同时发现bug或者提出更好的建议。等到稳定的时候,就加入到redhat的版本。所以虽然免费版本,但稳定性较差,最好只用于桌面应用, 用户可免费体验到最新的技术或工具,而功能成熟后会被加入到RHEL系统中。因此也被称为RHEL系统的“试验田”。
但我也有看到很多客户在工业领域使用Fedora 操作系统。从这方面看,其稳定性也还是可以的。
- RHEL (Redhat Enterprise Linux):
也就是所谓的Redhat Advance Server,收费版本,稳定性非常好,适合服务器使用。Redhat 红帽公司官方系统,是很多国企或外企服务器中常用系统,需要进行付费,有官方服务支持。
红帽已经被IBM 340亿刀收购了,但是红帽依旧发行自己的RedHat enterprise linux 版本。
- CentOS:
centos 直接就是使用RHEL的源代码 进行编译再发布的版本,中间去除了红帽自己的发布订阅设置 不需要企业订阅就能接收更新 也可以使用红帽自己的yum 以及rpm管理工具,一版比红帽RHEL版本晚十几天发布。可能编译时间长的缘故吧。
你可以把CentOS发行版想象成RHEL的社区克隆版本,免费版本,稳定性非常好,适合服务器使用,CentOS 是RHEL源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。centos 就是给不想花钱给红帽的企业用的,centos 红帽公司免费版系统,大多数互联网公司服务器常用系统,可以部署的服务多样,稳定性也比较高
CentOS得益于极为出色的稳定性,全球范围内无数著名网站均选用它,它不仅继承 RHEL 优越的稳定性,还提供免费更新,因此在服务器提供商、中小型公司中装机量几乎是最大最流行的 Linux 系统:
图片来源于网络
但现在CentOS也已正式加入红帽公司,CentOS 被收购之后,就决定了今天的命运。红帽公司关闭了 CentOS之前的发布方式,变成继续发展CentOS Stream,CentOS Stream 是一个滚动版本,介于 Fedora 和 RHEL 之间。CentOS Stream 通过发布很多小版本,以社区的力量来帮助 RHEL 发布更快更稳定的版本。
图片来源于网络
就这样,后续CentOS Stream将是一个介于实验性版本和稳定商业版本之间的产物。它会带来很多新的特性,自然也会隐藏很多新的缺失,因此 CentOS Stream不再适合作为企业版 Linux 操作系统使用。
其实红帽公司的策略很明显,不再支持 CentOS 后续发展,推出 CentOS Stream 做为社区版本,然后让大家购买 RHEL 商业版本来挣钱。
如今可能 Ubuntu Linux 发行版,慢慢会成为国内开发者的不多的选择了。
但万一后面 Ubuntu 也被商业公司收购了呢?
这么多年,这么多人使用的 CentOS 说停就停了,如果我们不掌握底层核心的技术,迟早都会被收割的。我们可以利用开源,但一定要消化和自主,很多开源组织背后是公司,他们产生变化后,下游公司是需要付出巨大的代价。
(4) Deepin,UOS,中标麒麟,openEuler
将这四个Linux发行版放在一起来讲,因为他们是目前国产Linux操作系统的翘楚。
- 深度Deepin
适用于个人免费用户,对于个人用户来说,好用,能够满足平时办公,娱乐等,是第一位的,深度软件商店的应用很是齐全,且都经过了适配。基本常用软件都已经适配成功,比如说浏览器、QQ/微信、办公三件套以及开发工具什么的,基本都有,个人电脑日常使用没有问题,影音娱乐也OK,只是在游戏方面,深度Deepin还有很多力所不能及的地方,这主要源于游戏商并不对linux进行适配和优化有关,而与系统本身关系不大。
- 中标(银河)麒麟
2019年12月6日,业界期待已久的中标麒麟&银河麒麟操作系统合并正式启动。应该是 2010 年 12 月 16 日,两大国产操作系统——民用的“中标 Linux”操中标麒麟作系统和解放军研制的“银河麒麟”操作系统,在上海正式宣布合并,双方今后将共同以“中标麒麟”的新品牌统一出现在市场上,并将开发军民两用的操作系统。
银河麒麟操作系统( Kylin Operating System )是天津麒麟信息技术有限公司旗下的国产 Linux 操作系统,源自国防科大"麒麟"、"银河麒麟"操作系统,支持主流 X86 架构 CPU 以及国产飞腾 CPU 平台。可以看出国防科大继续了麒麟的开发,所以有了天津麒麟,和银河麒麟。麒麟最早就是国防科大在做,因此银河麒麟算是继承了老麒麟的魂。
中标和银河麒麟合并为麒麟操作系统,它的目标客户群是军、政、公。
- 统信UOS
UOS是统信软件的产品,统信软件是由中国电子集团、诚迈科技 、深度、中兴等参与筹备成立的公司。UOS的桌面环境为深度,深度Linux已经广受好评,目前发展势头非常好。
- openEuler
openEuler 是一个开源、免费的 Linux 发行版平台,2019 年 9 月 18 日,华为携手社区全体伙伴共同将欧拉开源操作系统(openEuler,简称“欧拉”)正式捐赠给开放原子开源基金会。将通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系。同时,openEuler 也是一个创新的平台,鼓励任何人在该平台上提出新想法、开拓新思路、实践新方案openEuler 希望通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。2019 年 12 月 31 日,openEuler 开源代码上线。2021年全新升级的欧拉,从服务器操作系统,升级为数字基础设施的操作系统,支持 IT、CT、OT 等数字基础设施全场景,覆盖服务器、云计算、边缘计算、嵌入式等各种形态的设备。openEuler 目前已经有了成熟的规模商用能力。
总的来说,这几个国产Linux操作系统,扛起了大旗,勇气可嘉:
- 统信UOS致力于打造最好的国产操作系统
- 麒麟仿Windows,争抢2020-2022年的个人电脑操作系统政府采购订单
- Deepin开源免费,适用个人用户。
- OpenEuler应该是对标Redhat Enterprise或者CentOS,
三四家不多,适当的竞争是好事,谁最后赢也许也不重要,能让国产操作系统上有进步更重要。
同时适当竞争,能让用户得到更可靠更有竞争的产品。同时,我们也希望各家国产厂商也能互通有无,强强联手,让中国Linux操作系统更具有世界竞争力,这不仅是国家政府,也是我们Linux爱好者的期待!
有这么多的发行版,那对于初学者,使用哪种Linux进行学习,以下是我的一些新的和看法,仅供参考
- 如果你是一个初学者,推荐使用Ubuntu
- 如果你想要一个Linux桌面系统来进行办公,推荐Ubuntu和Deepin
- 如果你想要学习一个服务器系统:推荐RHEL,CentOS
- 如果你想在一些嵌入式设备安装轻量级的Linux:推荐xubuntu
- 如果你想要定制Linux,可以试试Debian
- 如果你需要国产系统:推荐Deepin,UOS和openEuler
当来,以上不是绝对了,还要看你具体的使用场景,比如Ubuntu,也有很多人安装在服务器上,也是非常稳定的。
另外,在工业领域,很多嵌入式设备也都采用Linux,工业系统最看重的就是稳定性和长期支持,一般使用Ubuntu长期支持版本,或者CentOS,RHEL等版本比较多。另外,有些软件开发厂商通常会认定一个Linux系统,之前有碰到一些电力方面的客户,一直在用Debian系统,另外有一些轨道交通的客户,就一直在用Ubuntu 和Fedora。所以我才说,没有绝对一定要用那种系统,需要根据具体情况来决定,他们本质上就是Linux,功能也大同小异。
呵呵,说了半天,好像又什么也没有,自己慢慢体会吧,当你对Linux有深入了解得时候,自来就会明白使用那种Linux对你最合适,如果你现在只是Linux的小白,先不用去操心要选哪个Linux,按照我的建议,就从使用Ubuntu开始吧。
,