《Linux内核修炼之道》——1.4 Linux发行版

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 Chooser
http://www.zegeniestudios.net/ldc/index.php?firsttime=true上提供了“Linux Distribution Chooser”服务通过问卷的形式帮助你挑选合适的Linux发行版。如图1.7所示,你只需要回答一些简单的问题,系统会给出几个符合你要求的发行版,最后还会给出一些不完全符合但也值得考虑的发行版。

4.听听别人的意见
通过上面的挑选,如果你已经决定了最终使用的那个发行版,那么恭喜你,你可以去下载或者购买该发行版的安装盘安装体验了。如果仍然在几个发行版之间徘徊,那么就要问问别人的意见,或者到网上查找一下相关的资料,到社区看看别人的评价。如果还是决定不了,那还是试用一下吧。

时间: 2024-10-24 20:26:31

《Linux内核修炼之道》——1.4 Linux发行版的相关文章

《Linux内核修炼之道》——分析内核源码如何入手?(上)

<Linux内核修炼之道>--分析内核源码如何入手?(上) 透过现象看本质,兽兽门无非就是一些人体艺术展示.同样往本质里看过去,学习内核,就是学习内核的源代码,任何内核有关的书籍都是基于内核,而又不高于内核的. 既然要学习内核源码,就要经常对内核代码进行分析,而内核代码千千万,还前仆后继的不断往里加,这就让大部分人都有种雾里看花花不见的无助感.不过不要怕,孔老夫子早就留给我们了应对之策:敏于事而慎于言,就有道而正焉,可谓好学也已.这就是说,做事要踏实才是好学生好同志,要遵循严谨的态度,去理解每

《Linux内核修炼之道》——2.2 编译内核

2.2 编译内核 Linux内核修炼之道2.2.1 准备工作 虽然与配置内核相比,编译内核所做的工作要少得多,但是在正式编译之前,我们仍需要做一些必要的准备. 1.需要了解的基础知识 首先我们需要了解系统中与编译过程有关的目录及文件. /boot/vmlinuz-< version >:用于启动的压缩内核镜像. /boot/system.map-< version >:存储内核符号表. /boot/initrd.img-< version >:一个镜像文件,类似ramd

《Linux内核修炼之道》——第1章 初识Linux 1.1 Linux史记

第1章 初识Linux Linux内核修炼之道 我一直都认为自己是个很冷静.很理智的人,但是在过去的某年某月,我初识了Linux,并为之着迷,至今仍深陷其中,找不到出去的路. 如果你尚未与Linux亲密接触过,那么希望本书可以成为你初识Linux的见证.如果你已经是个Linux达人,那么就选个安静的早晨或下午,陪我一起缅怀下这过去的18年吧. 1.1 Linux史记 Linux内核修炼之道 至此落笔之际,恰至Linux问世18周年,18年的成长,风雨颇多,感慨颇多,谨以这18年来的点滴之事为Li

《Linux内核修炼之道》——1.3 获取内核源码

1.3 获取内核源码 Linux内核修炼之道内核源码可以通过HTTP和FTP两种方式从http://www.kernel.org获得. 2.6.x以及2.6.x.y位于http://www.kernel.org/pub/linux/kernel/v2.6. -rc内核位于http://www.kernel.org/pub/linux/kernel/v2.6/testing. -git补丁位于http://www.kernel.org/pub/linux/kernel/v2.6/snapshots

《Linux内核修炼之道》——1.2 内核的版本

1.2 内核的版本 Linux内核修炼之道很多年来,Linux内核的版本都是以X.Y.Z这3个数字的形式设定的,偶数Y代表稳定版,奇数Y代表不稳定的开发版.所谓的稳定版本是指内核的特性已经固定,代码运行稳定可靠,不再增加新的特性,要改进也只是修改代码中的错误.而不稳定版本是指相对于上一个稳定版本增加了新的特性,还处于发展之中,代码运行不大可靠. Z的递增表示个别的修正版发布."稳定"的1.0.0内核在1994年3月发布,随后发布了"不稳定"的1.1.z分支,直到19

十天学Linux内核之第五天---有关Linux文件系统实现的问题

原文:十天学Linux内核之第五天---有关Linux文件系统实现的问题 有时间睡懒觉了,却还是五点多醒了,不过一直躺倒九点多才算起来,昨晚一直在弄飞凌的嵌入式开发板,有些问题没解决,自己电脑系统的问题,虽然Win10发布了,,但我还是好喜欢XP呀,好想回家用用家里的XP来玩玩这块板子,不知不觉也第五天了,感觉代码都有些模糊,连自己都不是很清楚了,担心现在分享起来比较困惑,各路大神多加批评呀,觉得渣渣的尽量指正出来,拉出来批评,今天还是来总结一下有关Linux文件系统的问题吧~ Linux的使用

Linux内核分析(三)----初识linux内存管理子系统

原文:Linux内核分析(三)----初识linux内存管理子系统 Linux内核分析(三) 昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linux的内存管理子系统,linux的内存管理子系统相当的庞大,所以我们今天只是初识,只要对其进行简单的了解就好了,不会去追究代码,但是在后面我们还会对内存管理子系统进行一次深度的分析. 在分析今天的内容之前,我们先来看出自http://bbs.chinaunix.net/thread-2018659-2

Linux 有问必答:如何在debian及其衍生发行版中改变默认的 Java 版本

Linux 有问必答:如何在debian及其衍生发行版中改变默认的 Java 版本 提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境会设置一个"target"变量来设置程序可以运行的最低Java版本.如果你Linux系统上运行的程序不能满足最低的JRE版本要求,那么你会在运行的时候遇到下面的错误. Exception in thread

Linux驱动修炼之道-SPI驱动框架源码分析(上)【转】

转自:http://blog.csdn.net/lanmanck/article/details/6895318 SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享: 来自:http://blog.csdn.net/woshixingaaa/article/details/6574215     SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式.相关通讯设备可工作于m/s模式.主设备发起数据帧,允许多个从设备的存在.每个从设备 有独立的片选信号,SPI一般来说