1.2 Linux内核及其发行版本
1.2.1 Linux发行版本概述
Linux的版本可以分两类,即内核(Kernel)与发行(Distribution)版本,内核版本指的是在Linux领导下的开发小组开发出来的系统内核版本号,目前最新的内核版本号为Linux 2.6。其发行版共有27149个不同补丁和600万行代码,开发周期长达680天。在2004年Linux内核峰会上,即稳定版内核发行约8个月之后又增加了123万行代码,删除了849 366行代码,这意味着有三分之一的内核被改动了。Novell公司Linux开发人员格雷格·克洛·哈特曼认为,这说明稳定版内核还有很多工作要做,于是开发社区做出决定不升级内核版本,所有成熟的新功能和补丁都加入到2.6稳定版内核中。一些组织或公司将Linux内核与应用软件和文档包装起来,并提供一些安装界面和系统设置与管理工具,这样就构成了一个发行版本。例如,我们所听说的Mandriva Linux、Red Hat Linux、Debian Linux、Ubuntu Linux,以及国产的红旗Linux、CLEEX For Linux、Xteam Linux和Turbo Linux等。
1.2.2 Linux内核的变迁
Linux内核变迁0.00(1991.2~1991.4)的两个进程分别显示AAA为BBB。
● 0.01(1991.9)第1个正式向外公布的Linux内核版本。
● 0.02(1991.10.5)该版本及0.03版是内部版本,目前已经无法找到。
● 0.03(1991.10.5)。
● 0.10(1991.10)由Ted Ts’o发布的Linux内核版本。
● 0.11(1991.12.8)基本可以正常运行的内核版本。
● 0.12(1992.1.15)主要加入针对数学协处理器的软件模拟程序。
● 0.95(0.13)(1992.3.8)开始加入虚拟文件系统思想的内核版本。
● 0.96(1992.5.12)开始加入网络支持和虚拟文件系统VFS。
● 0.97(1992.8.1)。
● 0.98(1992.9.29)。
● 0.99(1992.12.13)。
● 1.0(1994.3.14)。
● 1.2(1995.3.7)。
● 2.0(1996.2.9)。
● 2.2(1999.1.26)。
● 2.4(2001.1.4)。
● 2.6(2003.12.17)。
小贴士:查看Linux内核的版本的方法
登录Linux系统,在文本终端用下面的命令:
$ uname -r
输出结果如下:
uname -a Linux localhost.localdomain 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
表示当前Linux系统的内核版本为2.6.32-71.el6.x86_64SMP,即主版本号为2,次版本号为6,修订号为32,为第71次编译。el表示该内核为企业级Linux(Enterprise Linux),SMP表示对称多处理器(Symmetric MultiProcessing), x86_64表示64位版本。
Linux内核版本号格式为major.minor.patch-build.desc,说明如下。
(1)major:表示主版本号,有结构性变化时才变更。
(2)minor:表示次版本号,新增功能时才发生变化。一般奇数表示测试版,偶数表示生产版。
(3)patch:表示对次版本的修订次数或补丁包数。
(4)build:表示编译(或构建)的次数,每次编译可能优化或修改少量程序,但一般没有大(可控)的功能变化。
(5)desc:用来描述当前的版本特殊信息,其信息由编译时指定。具有较大的随意性,但也有如下描述标识是常用的。
● rc(有时也用一个字母r):表示候选版本(release candidate),rc后的数字表示该正式版本的第几个候选版本,各候选版本之间在多数情况下数字越大越接近正式版。
● SMP:表示对称多处理器(Symmetric MultiProcessing)。
● pp:在Red Hat Linux中常用来表示测试版本(pre-patch)。
● el:在Red Hat Linux中用来表示企业版Linux(Enterprise Linux)。
● mm:表示专门用来测试新的技术或新功能的版本。
● fc:在Red Hat Linux中表示Fedora Core。
在生产机上最好不要安装小版本号是奇数和pre-patch的内核版本。
1.2.3 Linux主要发行版本
1.Red Hat Linux
Red Hat是一个比较成熟的Linux版本,无论在销售还是装机量上都比较可观。该版本从4.0开始同时支持Intel、Alpha及Sparc硬件平台,并且通过Red Hat公司的开发使得用户可以轻松地进行软件升级,彻底卸载应用软件和系统部件。Red Hat最早由Bob Young和Marc Ewing在1995年创建,目前分为两个系列,即由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。Fedora Core 1发布于2003年年末,定位为桌面用户。Fedora Core提供了最新的软件包,同时版本更新周期也非常短,仅6个月。目前最新版本为Fedora Core 6,而Fedora Core 7的测试版已经推出,适用于服务器的版本是Red Hat Enterprise Linux。由于这是个收费的操作系统,于是国内外许多企业或网络空间公司选择CentOS。CentOS可以算是Red Hat Enterprise Linux的克隆版,但是免费的,其官方主页是http://www.redhat.com/。
2.Debian Linux
Debian最早由Ian Murdock于1993年创建,可以算是迄今为止最遵循GNU规范的Linux系统。Debian系统分为3个版本分支(Branch),即Stable、Testing和Unstable。截至2005年5月,这3个版本分支分别对应的具体版本为Woody、Sarge和Sid。其中,Unstable为最新的测试版本,包括最新的软件包。但是也有相对较多的Bug,适合桌面用户Testing的版本都经过Unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而Woody一般只用于服务器,其中的软件包大部分都比较过时,但是稳定性能和安全性能都非常高,是如此多的用户痴迷于Debian、Apt-Get和Dpkg原因之一。Dpkg是Debian系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM)中最强大的,配合Apt-Get在Debian上安装、升级、删除和管理软件变得异常容易。许多Debian的用户都开玩笑地说,Debian将他们养懒了,因为只要输入“Apt-Get Upgrade && Apt-Get Upgrade”,计算机上所有的软件就会自动更新。其官方主页是http://www.debian.org/。
3.Ubuntu Linux
简单而言,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强优点的近乎完美的Linux操作系统。Ubuntu是一个相对较新的发行版,它的出现可能改变了许多潜在用户对Linux的看法。也许,以前人们会认为Linux难以安装并难以使用,但是Ubuntu出现后这些都成为了历史。Ubuntu基于Debian Sid,所以拥有Debian的所有优点,包括Apt-Get。然而不仅如此, Ubuntu默认采用的GNOME桌面系统也将Ubuntu的界面装饰得简易而不失华丽。当然如果你是一个KDE的拥护者的话,Ubuntu同样适合。Ubuntu的安装非常人性化,只要按照提示一步一步进行,安装操作与Windows操作系统同样简便。并且Ubuntu被誉为是对硬件支持最好最全面的Linux发行版之一,许多在其他发行版上无法使用或者默认配置时无法使用的硬件,在Ubuntu上可以轻松实现。并且它采用自行加强的内核(Kernel),安全性方面更加完善。Ubuntu默认不能直接Root登录,必须由第1个创建的用户通过Su或Sudo来获取Root权限(这也许不太方便,但无疑增加了安全性,避免用户由于粗心而损坏系统)。Ubuntu的版本周期为6个月,弥补了Debian更新缓慢的不足,其官方主页是http://www.ubuntulinux.org/。
4.Slackware Linux
Slackware由Patrick Volkerding创建于1992年,应当是历史最悠久的Linux发行版。它曾经非常流行,但是当Linux越来越普及,用户的技术层面越来越广(更多的新手)后,而渐渐地被新来的人们所遗忘。在其他主流发行版强调易用性时,Slackware依然固执地追求最原始的效率——所有的配置均要通过配置文件来进行。尽管如此,Slackware仍然深入人心(大部分都是比较有经验的Linux老手)。它稳定且安全,所以仍然有大批的忠实用户。由于Slackware尽量采用原版的软件包而不进行任何修改,所以制造新Bug的概率便低了很多。其版本更新周期较长(大约1年),但是新版本仍然不间断地提供给用户下载,其官方主页是www.slackware.com/。
5.Suse Linux
Suse是起源于德国的最著名的Linux发行版,在全世界范围中也享有较高的声誉,其自主开发的软件包管理系统YaST也大受好评。Suse于2003年年末被Novell收购,Suse 8.0之后的发布显得比较混乱,比如9.0版本是收费的,而10.0版本(也许由于各种压力)又免费发布。这使得一部分用户感到困惑,也转而使用其他发行版本。但是瑕不掩瑜,Suse仍然是一个非常专业且优秀的发行版,其官方主页是http://www.suse.com/。
6.Gentoo Linux
Gentoo Linux最初由Daniel Robbins(前Stampede Linux和FreeBSD的开发者之一)创建,由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——portage(ports和portage都是用于在线更新软件的系统,类似于apt-get,但还是有很大不同)。Gentoo的首个稳定版本发布于2002年,其出名是因为高度的自定制性,它是一个基于源代码的(source-based)发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用用户都选择自己手动编译,这也是为什么Gentoo适合比较有Linux使用经验的老手使用的原因。但是要注意的是,由于编译软件需要消耗大量的时间,所以如果所有的软件都自己编译并安装KDE桌面系统等比较大的软件包,可能需要几天时间,其官方主页是www.gentoo.org/。
7.其他
Linux世界最不缺乏的可能就是发行版本了,目前全球至少有386个不同的发行版本,了解Linux发行版的最佳方法是查看Linux流行风向标的网站(www.distrowatch.com)。在发行版排行中,目前Ubuntu的发行版高居榜首。