1.4 Linux发行版
Linux内核修炼之道
从严格意义上来说,Linux只是一个操作系统内核,然而,一个完整的操作系统不仅仅只是内核而已,它通常还包括了桌面环境、办公套件、媒体播放器、数据库等应用软件。
许多个人、组织和企业开发了基于Linux内核的Linux发行版。现在已经有超过600个Linux发行版,可以在http://en.wikipedia.org/wiki/List_of_Linux_distributions
上看到它们的列表,其中,有多于300个正处于活跃的开发中,不断地改进。
学习内核最好的方法不是直接去分析它的源代码,而是首先去使用它,依照一个由上至下循序渐进的过程,在能够熟练地使用Linux操作系统之后再去研究内核中的实现。因此,了解并选择一个发行版进行安装使用便是一个不能回避的过程。
1.4.1 软件包管理器
Linux发行版通常被分割成一个个的软件包(package),每个软件包都包含了一个特定的软件或服务,比如一个处理PNG图像格式的库,或者一个Web浏览器。
软件包通常以已编译的机器码的形式提供,由软件包管理器(package management system)负责安装和卸载。每个软件包都包含有提供给包管理器的元数据(meta-information),比如包的描述、版本以及依赖。而包管理器能够利用这些信息实现搜索、自动更新到新版本、解决软件包之间的依赖关系。
虽然各个Linux发行版通常已经提供了很多的软件包,但是为了满足自己的特殊需求,用户经常会想要安装发行版中没有的软件,比如更新版本的软件,或者某些软件的替代品(比如用KDE替代GNOME)。如果软件包只提供源码,那么就需要在本地进行编译安装,此时该软件的状态就可能会与包管理器数据库中的不一致,这样的话,包管理器将不能对这个软件包进行自动更新等管理。
显然,安装、升级和卸载应用软件是影响用户对操作系统评价的决定性因素之一,因此对于各个Linux发行版来说,简洁强大的软件包管理机制是它们不可或缺的一部分。
目前,最为常见的软件包管理器是RPM(Red Hat Package Manager)和DPKG(Debian Package)。RPM最早由Red Hat公司制定实施,随后被Mandriva、SUSE等很多发行版采用。DPKG是为Debian专门开发的包管理工具,所有源自Debian的Linux发行版都使用DPKG,比如Ubuntu、Knoppix等。
1.4.2 流行的发行版
在众多的Linux发行版当中有许多杰出的作品,这里只简单介绍其中比较流行的几个。
1.Ubuntu
Ubuntu来自于祖鲁语和科萨语,被视为非洲人的传统理念,着眼于人们之间的忠诚和联系。Ubuntu精神的大意可以翻译为“天下共享的信念,连接起每个人”,Ubuntu Linux也将这个精神带到了软件世界。
Ubuntu基于Debian,它的出现改变了许多用户对Linux的看法,在此之前,很多人认为Linux难以安装、难以使用,但Ubuntu出现之后,这些都成为了历史。
Ubuntu官方主页为http://www.ubuntu.com
。
2.Fedora
Fedora是一个由Red Hat赞助,由开源社区与Red Hat工程师合作开发的项目。Red Hat是Linux用户最为熟悉的发行版,恐怕很多人使用Linux最初的岁月都是在Red Hat上度过的,但是自Red Hat 9.0之后,它便分为两个系列:由Red Hat公司提供收费技术支持和更新的RHEL(Red Hat Enterprise Linux),以及主要由社区开发的免费的Fedora Core。
Fedora官方主页为http://www.redhat.com
。
3.openSUSE
SUSE是德国最著名的Linux发行版,在全世界范围内享有较高的声誉。SUSE自主开发的软件包管理系统YaST也大受好评。SUSE于2003年年末被Novell收购。
openSUSE项目是由Novell公司资助的全球性社区计划, 旨在推进Linux的广泛使用。这个计划提供免费的openSUSE操作系统。openSUSE是Novell公司发行的企业级Linux产品的系统基础。
openSUSE官方主页为http://www.suse.com/
。
4.Debian
Debian最早由Ian Murdock于1993年创建,可以算是迄今为止最遵循GNU规范的Linux系统。Debian系统分为三个版本分支(branch):stable、testing和unstable。
Debian是我使用的第二个发行版(第一个自然是Red Hat),直至今日仍在使用。Debian能有众多的fans,它的包管理机制DPKG是原因之一,DPKG被誉为所有Linux软件包管理器中最为强大的,在Debian上安装、升级、卸载和管理软件变得非常容易,因此许多Debian用户都开玩笑说:Debian将他们养懒了。
Debian官方主页为http://www.debian.org/
。
5.Slackware
Slackware由Patrick Volkerding创建于1992年,算起来应当是历史最悠久的Linux发行版。Slackware曾经非常流行,但是当Linux越来越普及,新手用户越来越多后,Slackware渐渐地被新来的人们所遗忘。在其他主流发行版强调易用性的时候,Slackware依然固执地追求最原始的效率,所有的配置均还是要通过配置文件来进行。
尽管如此,Slackware仍然深入人心(大部分都是比较有经验的Linux老手)。Slackware稳定、安全,所以仍然有大批的忠实用户。
Slackware官方主页为http://www.slackware.com/
。
6.Gentoo
Gentoo最初由Daniel Robbins(前Stampede Linux和FreeBSD的开发者之一)创建。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD ports系统的软件包管理系统portage(使用Python编写而成)。Gentoo的首个稳定版本发布于2002年。
Gentoo的出名是因为其高度的自定制性:因为它是一个基于源代码的(source-based)发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo的用户都选择自己手动编译。这也是为什么Gentoo适合有丰富的Linux使用经验的老手使用的原因。但是要注意的是,由于编译软件需要消耗大量的时间,所以如果你所有的软件都自己编译,并安装KDE桌面系统等比较大的软件包,可能需要几天时间才能编译完。
Gentoo的官方主页为http://www.gentoo.org/
。
7.Mandriva
Mandriva原名Mandrake,最早由法国人Gaël Duval创建并在1998年7月发布最初的版本,其目标是使得新用户更容易使用Linux。Mandrake是世界上第一个为非技术类用户设计的易于使用、安装和管理的Linux发行版本。
Mandriva的官网主页为http://www.mandrivalinux.com/
。
1.4.3 选择Linux发行版
在众多的发行版中选择是一件很让人头痛的事情,这里介绍几种挑选的方法以供参考。
1.参考发行版排行榜
在网站http://distrowatch.com/
主页的右侧,依据页面点击次数给出了排名前100的Linux发行版,如图1.5所示,默认是最近6个月的点击次数,你可以选择数据统计的时间范围。这虽然不够科学,但也足够说明问题。
2.Linux发行版比较服务http://polishlinux.org/choose/comparison/
上提供的这个服务可以让你指定两个发行版,然后进行直观的比较,比较的项目非常细致,如图1.6所示为选择Ubuntu和Mandriva时的部分显示结果。
3.Linux Distribution Chooserhttp://www.zegeniestudios.net/ldc/index.php?firsttime=true
上提供了“Linux Distribution Chooser”服务通过问卷的形式帮助你挑选合适的Linux发行版。如图1.7所示,你只需要回答一些简单的问题,系统会给出几个符合你要求的发行版,最后还会给出一些不完全符合但也值得考虑的发行版。
4.听听别人的意见
通过上面的挑选,如果你已经决定了最终使用的那个发行版,那么恭喜你,你可以去下载或者购买该发行版的安装盘安装体验了。如果仍然在几个发行版之间徘徊,那么就要问问别人的意见,或者到网上查找一下相关的资料,到社区看看别人的评价。如果还是决定不了,那还是试用一下吧。