第1章Linux系统简介Linux是一种遵循POSIX标准(POSIX是一套由IEEE即电气和电子工程学会所制定的操作系统界面标准)的开放源代码的操作系统,与UNIX的风格非常相像,同时具有SystemV和BSD的扩展特性,但是Linux系统的核心代码已经全部重新编写。它的版权所有者是芬兰人LinusTorvalds和一些自由软件开发者,遵循GPL规范(GNUGeneralPublicLicense)。Linux的出现,打破了长久以来传统商业操作系统的技术垄断,为计算机技术的发展作出了巨大贡献。1.1Linux系统的起源说到Linux的历史,不得不先说一下Minix,它是一个由荷兰教授AndyTanenbaum编写的免费且开放源代码的微型UNIX操作系统,是Linux出现前最受欢迎的免费操作系统。而Linux开发者——当时芬兰赫尔辛基大学的学生LinusTorvalds正是受了Minux系统的启发,希望能够编写出一个比Minix更好的操作系统。因此,他在Minix的基础上开发出了0.0.1版本的Linux系统。经过改良后于1991年10月5日完成了0.0.2版本的Linux。LinusTorvalds把Linux放到了Internet上,使其成为了自由和开放源代码的软件,当时他在comp.os.minix新闻讨论组里发布Linux0.0.2时写道:各位使用minix的用户,大家好。我正在编写一个用于386(486)兼容机上的自由操作系统(仅仅是业余喜好,不会像GNU那么庞大和专业)。我从4月份开始进行编写,到现在已经差不多要完成了。由于这个操作系统在某种程度上与Minix很相像,所以我希望各位无论喜欢还是不喜欢Minix的朋友都能给我一些反馈意见。我已经把bash1.08和gcc1.40移植到这个操作系统上,并且能够正常运行。这意味着我在这几个月里面所做的努力已经得到了一些成果。我希望知道各位最希望这个操作系统能有一些什么样的功能和特性。欢迎各位都能给我建议,但我并不保证我一定能够实现它们。Linus(torvalds@kruuna.helsinki.fi)又及:这个操作系统是在Minix的基础上开发,有一个多线程的文件系统。它不具备很好的灵活性(使用了386的任务切换等),并且它不能支持除AT硬盘以外的硬件,因为我就只有这么多资源了。Linux的出现,引起了来自世界各地用户的关注,越来越多的开发人员通过Internet加入了Linux的内核开发行列,而Linux也随着在Internet上的传播而得到了快速的发展。1994年3月,在Linux社区的自由开发人员协同努力下,Linus完成并发布了具有里程碑意义的Linux1.0.0版本。该版本的Linux已经是一个功能完备的操作系统,稳定高效而且只需要占用很少的硬件资源,即使在只有很低配置的80386机器上都能很好地运行。由于Linux是由芬兰人Linus所开发的,所以这个系统的名称也是以此而命名(Linux第1章Linux系统简介·3·是“Linus’sUnix”的缩写)。同时,Linux以一只可爱的小企鹅作为吉祥物,它的名字叫Tux,如图1.1所示。至于为什么会选择企鹅作为吉祥物,也与LinusTorvalds有关。有一次Linus到澳大利亚旅游时见到一群企鹅,当Linus伸手想抚摸其中一只时却被咬了一口。自此Linus先生就对这只小动物情有独钟,并在为Linux设计吉祥物时选择了如今为人们所熟知的小企鹅——Tux。1.2Linux版本Linux的版本号可分为两部分:内核(Kernel)和发行套件(distribution)版本。内核版本是指由Linus领导下的开发小组开发出的系统内核的版本号,而发行套件则是由其他组织或者厂家将Linux内核与应用软件和文档包装起来,并提供了安装界面和系统设置或管理工具的完整软件包,发行套件版本由这些组织或厂家自行规范和维护。1.2.1Linux内核版本在Linux中,它的核心部分被称为“内核”,负责控制硬件设备、文件系统、进程调度及其他工作。Linux内核一直都是由Linus领导下的开发小组负责开发和规范的,其第一个公开版本就是1991年10月5日由Linus发布的0.0.2版本。两个月后,也就是在1991年12月,Linus发布了第一个可以不用依赖Minix就能使用的独立内核——0.11版本。其后内核继续不断地发展和完善,陆续发行了0.12和0.95版本,并在1994年3月完成了具有里程碑意义的1.0.0版本内核。从此,Linux内核的发展进入了新的篇章。从1.0.0版本开始,Linux内核开始使用两种方式来标准其版本号,即测试版本和稳定版本。其版本格式由主版本号.次版本号.修正版本号3部分组成。其中,主版本号表示有重大的改动,次版本号表示有功能性的改动,修正版本号表示有BUG的改动,从次版本号可以区分内核是测试版本还是稳定版本。如果次版本号是偶数,则表示是稳定版本,用户可以放心使用;如果次版本号是奇数,则表示是测试版本,这些版本的内核通常被加入了一些新的功能,而这些功能可能是不稳定的。例如,2.6.24是一个稳定版本,2.5.64则是一个测试版本。目前最新的Linux内核稳定版本是2.6.27,用户可以在Linux内核的官方网站上下载最新的内核代码,如图1.2所示。1.2.2Linux发行套件版本Linux内核只负责控制硬件设备、文件系统、进程调度等工作,并不包括应用程序,例如文件编辑软件、网络工具、系统管理工具或多媒体软件等。然而一个完整的操作系统,除了具有强大的内核功能外,还应该提供丰富的应用程序,以方便用户使用。图1.1Linux吉祥物Tux第1篇基础篇·4·图1.2Linux内核官方网站由于Linux内核是完全开放源代码以及免费的,因此很多公司和组织将Linux内核与应用软件和文档包装起来,并提供了安装界面、系统设置以及管理工具等,这就构成了一个发行套件。每种Linux发行套件都有自己的特点,其版本号也随着发行者的不同而不同,与Linux内核的版本号是相互独立的。目前全世界有上百种Linux发行套件,其中比较知名的有RedHat、Slackware、Debian、SuSE、红旗、Mandarke等。1.RedHat/FedoraCoreRedHat是目前在全世界范围内最流行的Linux发行版(RedHatLinux曾被权威计算机杂志InfoWorld评为最佳Linux套件),它最早由BoYoung和MarcEwing在1995年创建。自RedHatLinux9.0后其发行版本便分为两个系列:RedHatEnterpriseLinux(RHEL)和FedoraCore(FC)。RedHatEnterpriseLinux用于企业级服务器,由RedHat公司提供收费的技术支持和更新,目前最新版本为RedHatEnterpriseLinux5.2。FedoraCore是由RedHat赞助,由开源社区与RedHat工程师合作开发的项目,可以把它看做是原来RedHat9.0的后续版本。FedoraCore定位于桌面用户,提供最新的软件包,由Fedora社区开发并提供免费的支持。目前其最新版本为FedoraCore9。官方网站:。2.DebianLinuxDebian是由GNU发行的Linux套件,于1993年创建,是至今为止最遵循GNU规范的Linux系统。它使用了一个名为dpk(DebianPackage)的软件包管理工具,类似于RedHat的RPM,使得在Debian上安装、升级、删除软件包非常方便。Debian有3个版本,分别是unstable、testing和stable。其中,unstable为最新的测试版本,适用于桌面用户,提供了最新的软件包,但bug会相对较多。testing是unstable经过测试后的版本,相对更加稳定。而stable是Debian的外部发行版本,其稳定性和安全性在这3个版本中是最高的。官方网站:。第1章Linux系统简介·5·3.SlackwareLinuxSlackwareLinux由PatrickVolkerding创建于1992年,是历史最悠久的Linux发行套件。它曾经非常流行,但是在其他发行套件朝着易用性的方向发展时,它却依然固执地坚持KISS(KeepItSimpleandStupid),所有的配置都还是通过配置文件来完成。因此,随着Linux越来越普及,SlackwareLinux却渐渐地被人们所遗忘。尽管如此,SlackwareLinux仍然以其稳定、安全等特点吸引着一批忠实的用户,尤其是一些有经验的用户。官方网站:。4.SuSELinuxSuSELinux原来是由德国的SuSELinuxAG公司发行和维护的Linux发行套件,在全世界范围内都享有较高的声誉。它有一套名为SaX的设定程序,可以让用户比较方便地对系统进行设置。同时它自主开发了一套名为YaST的软件包管理工具,所以在SuSE上无论安装、升级还是删除软件包都是一件非常方便的事情。官方网站:。5.红旗Linux红旗Linux是由中科红旗软件技术有限公司研发的中文版本的Linux系统,提供了桌面版本和服务器版本。其针对中国用户提供了良好的中文支持环境,以及符合中国人操作习惯的用户界面。官方网站:。1.3RedHatEnterpriseLinux5.2简介RedHatEnterpriseLinux5是RedHat公司的企业级操作系统的第4次重要版本发布,而2008年5月发布的RedHatEnterpriseLinux5.2则是RedHatEnterpriseLinux5自2007年3月发布以来的第2次更新,采用了Linux2.6.18的内核。新的5.2版本在虚拟化技术方面有了很大的增强,这也是IT业界未来最重要的技术发展方向。经过更新的5.2版本能支持64个CPU的处理,增强了对IPv6的支持。其还支持DHCPv6技术及libvirt远程虚拟化技术。新的5.2版本还增加了更多的驱动程序,可以支持更多的新硬件,在安全方面也增加了TCG/TPM安全技术等。关于RHEL5与其他老版本的RedHatEnterpriseLinux的技术规格比较,如表1.1所示。表1.1不同版本的RHEL技术规格比较表技术规格RHEL3(实际值/理论值)RHEL4(实际值/理论值)RHEL5(实际值/理论值)支持的最大CPU数(X86)163232支持的最大CPU数(Itenium2)8256/512256/512支持的最大CPU数(AMD64)864/6464/255支持的最大CPU数(Power)864/128128/128支持的最大内存数(X86)64GB64GB16GB第1篇基础篇·6·续表技术规格RHEL3(实际值/理论值)RHEL4(实际值/理论值)RHEL5(实际值/理论值)支持的最大内存数(Itenium2)128GB2TB2TB支持的最大内存数(AMD64)128GB256GB/1TB256GB/1TB支持的最大内存数(Power)64GB128GB/1TB512GB/1TB文件大小限制(Ext3)2TB2TB2TB文件系统大小限制(Ext3)2TB8TB16TB进程的最大虚拟内存空间限制(X86)4GB4GB3GB支持的虚拟化CPU数(X86)不支持不支持32支持的最大虚拟化内存数(X86)不支持不支持16GB内核版本Linux2.4.21Linux2.6.9Linux2.6.18编译器版本GCC3.2GCC3.4GCC4.1支持的语言数(多国语言)101519兼容库V2.1V2.1和V3V3和V4桌面GUIGnome2.2Gnome2.8Gnome2.