• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Linux系统发行版

系统初识 彭东稳 9年前 (2016-03-30) 40101次浏览 已收录 0个评论

前面说了Linux是由C语言和汇编写的,具有很好的移植性性,可以运行在多平台之上。但前提是要使用编译器针对特定的平台进行编译后才可运行,也就是说一个C语言写的程序在编译之后是无法移植的,每到一个平台上运行都需要重新编译。不像Java语言编写的程序可以在编译之后运行在多平台之上,因为java运行程序是在java虚拟机内部,弥合了底层的硬件的不同。

回到Linux,Linux系统是由Linux内核加一些GNU程序才完美运行起来的。那么问题来了,这些程序都是源码程序,需要编译后才能运行在我们的硬件平台之上。但此时你只有一堆硬件,没有操作系统你的硬盘也无法识别。有人会说我可以去网上下载ISO镜像包然后安装系统啊。但是这儿ISO镜像包是什么呢?这就是一些社区和一些商业公司打包好的,他们会把Linux内核和GNU程序编译打包好,并且会给我们提供一个安装程序,这个安装程序会引导我们如何把真正的系统安装到我们的电脑硬盘之上,并且这个安装程序还必须要能识别到硬盘,这样才能把一个完整的系统安装完成。当一个系统安装完成后,所有的硬件识别在都是我们的操作系统来做的了。重新开机会根据一些系统预定义设置来识别硬盘,加载内核,启动进程,最后直至整个操作系统启动完成。

那么这些社区和商业公司把Linux内核和一些外围程序编译打包好并给这个打包好的程序取一个名字也就成为Linux的发行版了。具体有哪些常用的发行版以及那么组织或商业公司在做这些事情呢?下面慢慢介绍。

Linux版本分支

Linux的内核版本

内核版本指的是在Linus Torvalds领导下的开发小组开发出的系统内核的版本号,通常,内核版本号第一位表示“主版本号”一般只有重大改变才会更改此版本号;第二位是“次版本号”一般小功能改变就会改变次版本号;第三位是“修订版本号”一般修复bug就会改变次版本号;如内核版本:2.6.25。另外第二位是偶数表示是稳定的版本,如:2.6.25;是奇数表示有一些新的东西加入,是不稳定的测试版本,如2.5.6。Linux操作系统的核心就是它的内核,Linus Torvalds和他的小组在不断地开发和推出新内核。其内核开发任务:进程调度、内存管理、配置管理虚拟文件系统、提供网络接口以及支持进程间通信。像所有软件一样,Linux的内核也在不断升级。

Linux的发行版本

一个完整的操作系统不仅仅只有内核,还包括一系列为用户提供各种服务的外围程序。外围程序包括GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。所以,许多个人、组织和企业,开发了基于GNU/Linux的Linux发行版,他们将Linux系统的内核与外围应用软件和文档包装起来,并提供一些系统安装界面和系统设置与管理工具, 这样就构成了一个发行版本(distribution)。

实际上,Linux的发行版本就是Linux内核再加上外围的实用程序组成的一个大的编译后的软件包。相对于操作系统内核版本,发行版本的版本号是随发布者的不同而不同,与Linux系统内核的版本号是相对独立的,例如:RedHat EnterpriseLinux 6.4的操作系统内核是linux-2.6.32。

Linux的发行版本大体可以分为两类:一类是商业公司维护的发行版本,以著名的RedHat Linux为代表;一类是社区组织维护的发行版本,以Debian为代表。另外Linux的发行版有数百种之多,下面只介绍一些时下非常流行的发行版,对于那么不是那么流行的发行版也不必了解。

Linux的版本标识

Alpha:内测版,内部测试版本;

Beta:公测版,互联网公开测试版本;

RC:发行候选版,即将发行,可能还有一些收尾工作没有搞定的版本;

1)RHEL介绍

1994年3月,Linux1.0版正式发布。不久,在1995年1月,Bob Young创办了RedHat公司,以GNU Linux为核心,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux发行版,后来成为最著名的Linux分销商之一。Redhat公司在发布RedHat 9后(此时还是社区版),全面转向Redhat enterprise linux(简写为rhel)的开发。和以往不同的是,由于在其 Linux 发行版中大多数软件包,都是基于 GPL 协议发布的,也就是我们常说的开源软件,正因为是这样,Red Hat 公司也必须遵循这个协议,将构成 Red Hat Enterprise Linux (以下称之为 RHEL) 的软件包的源码公开发布,只要是遵循GPL协议,任何人都可以在原有的软件构成的基础上再开发和发布。所以Redhat公司会把系统编译打包好放在网上供用户下载直接安装使用,不过如果说某一个程序出现一个漏洞,那么不好意思更新的程序包不提供给你,如果想要使用更新的程序包,那么就必须付费了,一年的服务费根据服务质量不同所付出的费用也不同。还是回过头来说,由于GPL协定,Rdhat公司如果不提供更新包就意味着违反GPL协定,所以狡猾的Redhat公司是这么干的,它遵循了GPL协定公开了更新程序的源码包,如果你要使用就必须自己重新编译某个组件,而大多数用户是无法自行编译的。这么一来也就有人看不过去了,于是也就出现了我们下面提到的CentOS系统。

2)Fedora介绍

Red Hat公司最早发行的个人版本的Linux,其1.0版本于1994年11月3日发行,虽然其历史不及其它Linux发行版本悠久,但比起很多的Linux发行套件,Red Hat的历史悠久得多。自从Red Hat 9.0版本发布后,RedHat公司就不再开发桌面版的Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支援,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行套件则与来自开源社区的 Fedora 计划合并,成为Fedora Core 发行版本。

Fedora项目是由Red Hat赞助,由开源社区与Red Hat工程师合作开发的项目统称。Fedora Core(缩写为FC)被红帽公司定位为新技术的实验场地,许多新的技术都会在FC中检验,如果稳定的话红帽公司则会考虑加入Red Hat Enterprise Linux中。Fedora Core 1发布于2003年年末,而FC的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅6个月。由于版本更新频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用Fedora Core。其实可以这么认为,Fedora就是Red Hat发行Red Hat企业版linux的一个实验版本,拿用户做测试,为Red Hat企业版发布做基础。

3)CentOS介绍

Linux 是开源系统,这个大家都知道。Red Hat 公司是世界上大名鼎鼎的 Linux 系统开发公司,在其 Linux 发行版中大多数软件包,都是基于 GPL 协议发布的,也就是我们常说的开源软件,正因为是这样,Red Hat 公司也必须遵循这个协议,将构成 Red Hat Enterprise Linux (以下称之为 RHEL) 的软件包的源码公开发布,只要是遵循GPL协议,任何人都可以在原有的软件构成的基础上再开发和发布。由于Redhat公司在RedHat 9后转向RedHat企业版系统的开发,并且以服务费的方式牟利。于是有人就看不下去了,因此一个名为 Community Enterprise Operating System 的项目诞生了。他的缩写既是CentOS。在CentOS 社区中有一部分人会同步RedHat公司版本发布,将 RedHat 的网站上获得的所有源代码下载下来,以完全兼容RHEL系统从而进行重新编译并开源提供用户使用。重新编译后,还修正了一些 BUG。但由于 RHEL 是商业产品,必须将所有 RedHat 的 Logo 和标识改成自己的 CentOS 标识。CentOS就是 RedHat 的免费版本。使用CentOS,可以获得和 RHEL相同的性能和感受。

CentOS 就是这样在 RHEL 发布的基础上克隆再现的一个 Linux 发行版本。RHEL 的克隆版本不只 CentOS 一个,还有 White Box Enterprise Linux 和 TAO Linux 和 Scientific Linux,在众多的 RHEL 的克隆版本中,CentOS 是很出众、很优秀的。为什么Red Hat容忍 CentOS 的这种行为?。根据 GPL 协议 CentOS 这样做完全合法的,Red Hat 也无可奈何,它的商业就是基于开源模式。但 CentOS 确实在不断吞食 Red Hat 的市场,从 Google趋势上也能观察到。从目前的情况来看,CentOS 造成的伤害还没有到达让 Red Hat 不得不改变商业模式的地步。而好处是它迫使 Red Hat 加快创新,使之始终走在其它 Linux 服务器发行版的前面。CentOS巨大成功的真正的受害者是其它的发行版,如 Novell的SLES, Ubuntu Server等。RedHat 对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”

但是很操蛋的是,红帽公司已经有钱到了不用再担心CentOS系统了,它们直接把CentOS给招安了,被红帽收购了。现在的CentOS已经属于红帽公司旗下的社区了。这个问题跟MySQL所面临的问题一样,MySQL被Oracle公司给收购了(但MySQL创始人又开发出了一个MariaDB数据库)。关于CentOS会不会被红帽公司进行收费处理,这个可能性不是很大,但前途也是未知。不难发现好的开源软件最后的结局总是面临被收购。

到这里,大概明白了RHEL系统跟CentOS系统的区别了,也就是说RHEL 通过付费可以得到在线升级(包括补丁)或咨询服务、技术支持;CentOS 提供长期的免费升级更新支持,网络上的技术支持也很多。虽然说是 RHEL 的克隆版本,但并不是一模一样,并不保障对应 RHEL 的软件在 CentOS 上面能也够 100% 的正常工作。并且安全漏洞的修正和软件包的升级对应 RHEL 的有偿服务和技术支持来说,快的数小时,慢的数日数星期数个月的延迟情况也有。所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS 并不向用户提供商业支持,当然也不负上任何商业责任。使用 CentOS 完全合法,不涉及版权问题。获得 CentOS 很方便,全球提供了 10 多个站点镜像(HTTP/FTP),以及 BT 方式(常年提供种子)。所以一般RHEL系统都是用在不差钱且属于弱势群体的企业中,比如电信啊什么的。而CentOS一般就是在互联网企业中使用,他们有足够的实力自行维护。

4)Debian 介绍

Debian名字的由来—-Debian GNU/Linux是由一个叫做伊恩·默多克(IanMurdock)在1993年发起的,他的名字以Ian开头,他太太的名字Debra开头三个字母是Deb。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由 Ian Murdock于1993年创建,分为三个版本分支: stable(服务器版), testing(稳定版) 和unstable(测试版)。目前在企业中使用Debian的也普遍比较多,是目前几大发行版中唯一由社区维护的发行版本,不像CentOS或Suse都有商业公司支持。

一般来说Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。可以说稳定得无与伦比了。debian整个系统,只要应用层面不出现逻辑缺陷,基本上固若金汤,是个常年不需要重启的系统(当然,这是夸张了点,但并没有夸大其稳定性)。debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。128M的VPS即可以流畅运行Debian,而CentOS则会略显吃力。但是由于Debian的发展路线,使它的帮助文档相对于CentOS略少,技术资料也少一些。同时Debian限制比较小,所以你懂得在使用难度上也是比CentOS要麻烦一些。

5)Ubuntu介绍

Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。

共分三个版本:基于Gnome的Ubuntu,基于KDE的Kubuntu以,基于Xfc的 Xubuntu。

Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡等等。这一切让Ubuntu越来越向大众化方向发展。但别忘了:你所需要的只是一个简约、稳定、易用的服务器系统而已!Ubuntu的图形界面固然漂亮,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。如何你希望在学习Linux的过程中有个沉浸式的环境,那么Ubuntu的确不错:仅仅安装在自己的电脑中而非服务器中。从这一点来讲,Ubuntu并没有在VPS安装的操作系统选择之列,相信你也不会为了那数百M的驱动与宝贵的内存买单。

6)Slackware介绍

Slackware由PatrickVolkerding(帕特里克.沃克登)创建于1992年。算起来应当是历史最悠久的Linux发行版。尽管如此,Slackware仍然深入人心(大部分都是比较有经验的 Linux老手)。Slackware稳定、安全,所以仍然有大批的忠实用户。由于Slackware尽量采用原版的软件包而不进行任何修改,所以制造新 bug的几率便低了很多。Slackware的版本更新周期较长(大约1年),但是新版本的软件仍然不间断的提供给用户下载。

7)OpenSUSE介绍

SUSE是德国最著名的Linux发行版,在全世界范围中也享有较高的声誉。SUSE自主开发的软件包管理系统也大受好评。SUSE于2003年年末被Novell收购。SUSE在收购之后的发布显得比较混乱,比如9.0版本是收费的,而10.0版本(也许由于各种压力)又免费发布。这使得一部分用户感到困惑,也转而使用其它发行版本。最近还跟微软扯到了一起。但是瑕不掩瑜,SUSE仍然是一个非常专业、优秀的发行版。

openSUSE 项目是由Novell公司资助的全球性社区计划,旨在推进 Linux 的广泛使用。这个计划提供免费的 openSUSE 操作系统。这里是一个由普通用户和开发者共同构成的社区,我们拥有一个共同的目标—创造世界上最好用的 Linux 发行版。openSUSE 是 Novell 公司发行的企业级 Linux 产品的系统基础。

openSUSE 项目是由Novell 发起的开源社区计划。 旨在推进 Linux 的广泛使用。提供了自由简单的方法来获得世界上最好用的 Linux 发行版,SUSE Linux。openSUSE 项目为 Linux 开发者和爱好者提供了开始使用 Linux 所需要的一切。

8)中国大陆的Linux发行版

红旗Linux(RedflagLinux) ,冲浪Linux(Xteam Linux) ,蓝点Linux , GNU/Linux ,OpenDesktop等等 ,台湾地区也有鸿奇Linux等。

PS:除了上面说到的一些主流发行版之外,此外还有Arch Linxu、Gentoo、LFS等一系列的Linux和FreeBSD、Unix等系统,由于其涉及领域更加专业,因此不作介绍。

9)Android系统

现在的手机系统主要有两大阵营,一个是以苹果为主的IOS系统,另一个就是以Google公司开源的Android系统。IOS系统在安全性和速度上都要比Android要好,因为IOS是基于object-C研发的直接跑在硬件上的。而Android主要是由Linux kernel加上Busybox(一个集成很多命令程序的程序并且非常小)外加一个Java虚拟机,在java虚拟机的基础上使用java语言开发了一个图形界面那就是Android了。

由于java是一种字节码语言,它也需要转换为二进制格式。但是需要在java虚拟机中翻译才能运行。所以在相同的硬件下IOS要比Android快。另外java有一个特性是好处也是坏处,那就是java语言编写程序时只需要申请内存不需要释放内存,那么就增加了可操作性和安全性(C语言就是一个申请和释放都需要程序员设置的,好处就是比较强大,但操作比较难,安全性低)。同时内存的释放是通过java内置的JC垃圾收集器来处理的并且这个垃圾收集器的处理机制就是当有一定的内存空间没有被计数器引用时都一块释放,所以也就导致了Android系统会出现玩着玩着卡死了那就是java垃圾收集器在回收内存。当内存回收释放完毕之后Android系统又恢复正常运行了。这也就是Android的假死现象。

Android中常说的Root其实就是Linux的超级管理员,由于Android的操作使用的是普通账号没有给root权限,所以有些软件安装不上去或者卸载不下来。当你给Android进行Root之后那么就可以为所欲为了,但同时你的Android系统的安全性也降低了。

最近Google好像提出了一个即时编译的Java虚拟机,由此就可以预测Android以后比起IOS再也不会说系统那么慢了。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (1)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!