制作加油卡:第一章 概述-Linux系统管理

来源:百度文库 编辑:中财网 时间:2024/05/09 04:27:53

第一章   概述

 

目标

如果你还不知道Linux是什么?通过本章的学习,可以使你初步了解一下Linux的概念,为向Linux入门做好准备工作,为进而掌握整个操作系统打好基础。如果你是一个有经验的用户,你完全可以跳过本章的教程。甚至,你还可以跳过接下来的两个章节的教程。但是如果你想更多地了解一些关于Linux操作系统的基本知识以及这种操作系统有怎样的独特之处,那就请继续阅读!

好了,现在就让我们开始进入精彩的Linux的世界中去吧!

重点内容

Ø        什么是 Linux?

Ø        Linux 的历史

Ø        Linux的优势

Ø        Linux与开源软件

Ø        Linux Windws 的比较

Ø        Linux 与 Unix的比较

Ø        Linux 的内核版本

Ø        Linux 的适用场合

Ø        Linux 的未来


1.1 Linux 的历史及发展背景

Linux从20世纪中期一直发展到现在,前进的脚步从未停止过。尤其如今更是突飞猛进,发展迅速,一股Linux的热潮正在席卷整个世界,让人们意识到我们的生活中越来越离不开它。Linux的诞生和发展给全球的软件业带来了新的机遇,也使微软的Windows操作系统面临有始以来最大的威胁。由于Linux属于自由软件,它的源代码是公开的,并遵循公共版权许可证(GPL),用户可以免费使用,使Linux在极短的时间内就成为了一套成熟而稳定的操作系统。全世界成千上万的程序专家和Linux爱好者正在通过Internet不断地对Linux进行开发、完善和维护。

1.1.1 什么是Linux?

什么是Linux ?  引用芬兰人——Linus Torvalds(Linux系统最初的设计师,我们也称他为Linux之父,Linux的缔造者)的一句话就可以概述,即Linux是指社团性的(Community),免费性的(Free),开放性的(Open),源程序代码性的(Source),软件应用性的(Software),易获得性的(Available),稳定性的(Stable),健壮性的(Robust),高级的(Superior),更快速的(Faster),领先的(Cutting edge)一种操作系统。 Linux可以说是UNIX的一种克隆, Linux是一个类UNIX的完全支持多进程、 多线程、 多用户、实时性好,网络系统功能强大而稳定的操作系统。

Linux可以运行在多种系统平台之上,如x86 PC,Sun Sparc,Digital Alpha,680x0,PowerPC, MIPS等、,可以说Linux是目前支持硬件平台最多的操作系统。

Linux 是一种完全免费并对全世界开放源码的操作系统,人们可以自由的安装,并可以修改和完善软件的源程序。这一切要归功于Linux最初的设计者——Linus Torvalds,是他将Linux这个伟大的作品无偿的献给了世界,Linux的到来给整个世界一个惊喜。我们应该永远记住他——Linux之父!

 

参考资料:Linux之父

Linus Torvalds是芬兰人,生于赫尔辛基市中心,在Linux问世的那一年,Linux的缔造者Linus Torvalds刚刚27岁,左面的相片,就是Linus Torvalds人。 19918,他对外发布了一套新的操作系统,原代码放在芬兰网上最大的ftp站上,并放在名为Linux(LinusMinix*)的目录中,所以后来就有了Linux这个名字。而后Linux成为这个时代最伟大的奇迹之一。  

Linus Torvalds

 

1.1.2  Linux 的历史

目前Linux发展的速度越来越快,用途越来越多,前景广阔。目前世界使用Linux系统的用户和企业已有几千万,而且每天这个数字都在大幅增长,Linux系统在市场占有率增长超过200%,并超过了某些微软的Windows操作系统。这些成绩离不开那些早期的Linux的缔造者和爱好者,他们一直为Linux的发展做着无私的奉献,我们不应该忘记他们和一些有记念意义的历史时刻。

下面是Linux 及其相关技术的历史介绍:

1968年,Internet的先驱,ARPANET建立。虽然ARPANET的设计目的是使研究人员在合作一个项目时可以共享代码和信息,但是它也成为了对开放源代码可行性的一个展示。

1969年,贝尔实验室的研究员Ken Thompson编写了UNIX的第一个版本,这是一个多用户,多任务的操作系统。在整个七十年代,UNIX的代码都在免费的传播,它迅速成为了在大学和研究机构中很流行的系统。

1971年,作为开放源码的先驱,Richard Stallman加入了麻省理工学院的一个专门研究免费软件的组织。作为Emacs文本编辑程序的开发者,他后来建立了GNU项目;这最终导致了免费的Linux操作系统的诞生。

1973年,来自DARPA(Defense Advanced Research Projects Agency)的Vinton Cerf和Bob Kahn开发了TCP/IP协议——该协议迅速成为了Internet的网络基础。十年后,美国国防部为Internet命名,并且要求连入Internet的计算机都使用TCP/IP协议。

1979年,AT&T宣布了使UNIX商业化的计划。这导致加州大学伯克利分校建立自己的UNIX版本,并将其称为BSD (Berkeley Software Distributions) UNIX。BSD UNIX被DEC和Sun这样的商业公司所接受。后来AT&T和Sun将各自的UNIX版本合并,并且推进其竞争对手(DEC,HP,以及IBM)共同建立开放软件基金(Open Software Foundation)。 加州大学伯克利分校的一个学生,Eric Allman,开发了一个程序用来在ARPANET网上的计算机之间发送信息。Eric Allman随后将这个程序进一步改造成sendmail。今天,Internet上有超过75%的 E-mail服务使用这个开放源码的程序来发送邮件。

1983年,为了反对软件所有权私有化的趋势,Stallman 建立了GNU计划来推进免费软件模型,并为此开发了一个免费的操作系统,应用程序以及开发工具。更重要的是,GNU建立了General Public License (GPL),就是Copyleft,它成为许多开放源码软件所采用的模型。

1986年,Larry Wall建立了Perl(Practical Extraction and Report Language),这是一种编写CGI程序广泛采用的通用编程语言。CGI为Web带来了更多动态内容。

1987年,开发者Andrew Tanenbaum发布了Minix,这是一个为PC,Mac,Amiga,以及Atari ST设计的UNIX版本,在发布时带有完整的源代码。

1989年,芬兰赫尔辛基大学的一名学生Linus Torvalds为了超越Minix,发布了一个新的UNIX变种——Linux。三年后,Linux正式接受GPL。今天,按照Red Hat Software的说法,全球有大约700万Linux用户。

1993年,FreeBSD 1.0发布。这个系统以BSD UNIX为基础,包括网络,虚拟内存,任务切换,以及长文件名。BSD许可不需要开发者反馈任何东西。

1994年,Marc Ewing 建立Red Hat Linux,用以解决Linux易用性方面的问题。Red Hat包含Linux,第三方软件,文档,以及初级技术支持,售价为50美圆。Red Hat迅速成为领先的Linux发行人。同年,Bryan Sparks在前Novell CEO Ray Noorda的支持下建立Caldera。

1995年,Apache Group建立了一种新的Web Server—Apache,该服务器以NCSA(National Center for Supercomputing Applications)的HTTPd 1.3以及一系列的补丁为基础。这种免费的Web Server已经成为最流行的HTTP Server。

1997年,程序员Eric S. Raymond(也是《新黑客字典》的作者)发表了名为“大教堂和集市”的文章,对比了商业开发模型以及开放源码开发模型。该文章成为Netscape的Mozilla.org的灵感。

1998年,Netscape宣布不仅其Communicator 5.0是免费的,而且还将发布其源代码。几个主要的软件厂商,包括CA,Corel,Informix,IBM,Interbase,Oracle,以及Sybase,宣布了支持Linux的产品计划。

1999年,Linux 2.2发布; GNOME 1.0 发布; 支持Linux 2.2的Red Hat 6.0发布; IBM推出全面支持Linux计划;HP宣布支持Linux。

1999至2003年,各种Linux版本不断发布,在市场的影响巨大。

 

直到现在,Linux还继续在以一种迅雷不及掩耳的惊人速度发展、壮大。

1.1.3  Linux 好在什么地方?

很多读者可能只用过Windows系统,从来没接触过Linux或者是UNIX系统。会觉得“Linux怎么这样麻烦”, 会有种从来没有开过汽车但是得把汽车拆开修理一样觉得无处下手。其实这是没有接触过Linux或是Linux初学者经常会遇到的问题。

那么使用Linux系统究竟有什么好处呢?为什么要使用 Linux 做为我们的主机系统呢?这是因为 Linux 有下面这些优点:

系统稳定

Linux是基于Unix的思想开发出来的操作系统,因此,Linux具有与Unix系统相似的的程序接口跟操作方式,当然也继承了Unix稳定并且有效率的特点。从用户的使用过程中,听到安装 Linux 的主机连续运作一年以上而不曾当机、不必关机是稀松平常的事,而不会出现当用户使用Windows时,类似蓝屏死机那样的现象。 

费用便宜

由于Linux是基于GPL( General Public License )的架构之下,因此他是 Free 的,也就是任何人都可以免费的使用或者是修改其中的原始码!这就是所谓的开放性架构,这对科学界来说是相当重要的!因为很多的工程师由于特殊的需求,常常需要修改系统的原始码,使该系统可以符合自己的需求!而这个开放性的架构将可以满足不同需求的工程师!由于Linux是基于 GPL 的基础下的产物,因此任何人皆可以自由取得Linux,至于一些安装套件的发行者,他们发行的安装光盘也仅需要少许费用即可获得!不同于Unix需要负担庞大的版权费用,当然也不同于微软需要一而再、再而三的更新你的系统,并且缴纳大量费用! 

安全性高

如果读者们非常了解网络的话,那么大家最常听到的一句话应该是“世界上没有绝对安全的主机!”这一点绝对没有错误!不过 Linux 由于支持者日众,有相当多的热心团体、个人参与其中的开发,因此可以随时获得最新的安全信息,并给予随时的更新,亦即是具有相对的较安全! 

多用户、多任务

与Windows系统不同的,Linux主机上可以同时允许多人上线来工作,并且资源的分配较为公平。这个多人多任务特点可是Linux系统中相当好的一个功能,怎么形容这个功能呢?即指我们可以在一台 Linux 主机上面规划出不同等级的使用者,而且每个使用者登入系统时的工作环境都可以不相同,此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源

应用丰富

由于目前有很多的软件逐渐被这套操作系统所使用,而更多的软件套件也正在Linux系统上面进行着发展和测试,因此,Linux近来已经可以独力完成几乎所有的工作站或服务器的服务了,例如Web, Mail, FTP,DNS,Proxy服务等等。所以说,目前Linux已经是一套相当成熟的操作系统啰!

总之,就是因为Linux这个系统有上面这些优秀功能,从而受到广大用户的欢迎和青睐。上面提到的这些优点也是造成Linux成为最近几年来最受瞩目的操作系统之一的主要原因。如前所述,Linux会受到广大用户的关注的原因主要是因为他是free的,就是基本上讲是一套免费的操作系统!然后它是开放性的系统,也就是说我们可以随时的取得程序的原始码,这对于程序开发工程师是很重要的!而且,虽然Linux是免费的,不过功能却很强大!另外,Linux对于硬件的需求是很低的,这一点更是造成他流行的主因,因为硬件的更新换代太快了,所以很多人手边都有一些很少在用的零件,这些零件组一组就可以用来跑Linux了。

Linux在近年来的火爆不亚于当年IBM360系列问世的盛况。谁能想到一个芬兰的大学生个人搞出的一套系统,由于互联网和开放源码的基础,在众多爱好者和使用者的关爱下不到十年时间竟然以一种独特的软件开发模式,成就了一个令人刮目相看的软件系统并最终形成了对微软帝国的真正挑战。对于微软来说,正在面临Linux系统带来的重大压力和市场冲击。这从另外侧面也给我们提供了一个重要信息,Linux的飞速发展确实是给全世界的计算计使用者带来了“新鲜的空气”,至少Linux给中国软件产业的发展提供了一种机遇,也给用户提供了一种选择,从而可以把主动权掌握在自己手中。

 1.2 Linux与开源软件

Linux最大的特色就是其源程序完全公开,以其为代表的开放源码软件(Open Source Software,缩写为OSS,简称开源软件)则是近年来软件领域最受关注的话题。

开源软件背后的基本概念非常简单:当程序员们能够在因特网上阅读、再发布和修改一段软件源码的时候,它就发展了。人们增强它,改进它,修补其中的漏洞,这种飞速进化的过程能够比在传统封闭模式下创造出更好的软件。在传统的封闭模式下,仅有少数程序员能够看到源代码,而其他人只能盲目摸索地使用一堆不透明的二进制码。

开源软件与整个Unix、因特网、自由软件和“黑客”(Hacker)文化有着深厚的历史渊源,它们都基于一种共享和协作的价值观念。从共享和协作开发的角度出发,可以将开源软件的发展划分为三个时期。

第一个发展时期:二十世纪六十年代初到二十世纪八十年代初

在二十世纪六十年代和二十世纪七十年代期间,计算机操作系统和因特网的许多关键方面都是在诸如加州Berkeley分校和MIT这样的学术环境中、以及那些具有高度自主权的企业中央研究机构(如Bell实验室、施乐公司的Palo Alto研究中心)中被开发出来的。在二十世纪七十年代,多数的协作开发工作关注于开发那些能够运行在多种计算机硬件平台的操作系统,最成功的例子是由AT&T的Bell实验室最初开发的Unix操作系统和用于开发Unix应用的C语言。那时候的情况是,一套软件可以在不同的机构间安装使用,这种让渡基本是免费的,可能只会象征性的收些费用。

而且许多安装了软件的网站还积极的做了些深层的革新来实现与他人共享代码。1979年Usenet(用户新闻组)引入到Unix编程社区,随着Usenet的大受欢迎,代码共享思想也得到极大宣传和推广。从1979到1982年,全球网站的数量迅速的从3家激增到400家。这期间,计算机专业的学生和企业编程人员的代码共享意识和能力也大大增强。

那个时期,企业软件项目的开发是在相当非正式的情况下进行的——既没有特别强调对专有权利的保护,也没有限制软件的复用。但是到了二十世纪八十年代,问题出现了——AT&T站出来主张他在Unix上的知识产权了。

第二个发展时期:二十世纪八十年代初到二十世纪九十年代初

AT&T等软件公司的诉讼引发了对企业软件开发背后的根本规则的探讨,由此也掀开了软件开发的第二个时期。这个时期值得一提的组织是1983年由MIT人工智能实验室的Richard Stallman创建的自由软件基金会(FSF,Free Software Foundation)及其支持的GNU项目GNU(Gnu's Not UNIX,这是自由软件基金会的一个工程,主要目标是创建一个免费的类似UNIX的操作系统,并在其基础上开发与其兼容的各种GNU软件)。FSF致力于在最大程度上宣传和实现软件的自由使用。

FSF的一个很重要的创新是公布了一个正式的许可证GPL(General Public License 通用公众许可证),该许可的核心,也是现在最为人所知的原则是:要想自由使用和修改GNU软件,用户必须同意软件的源代码可被他人自由获得或只收取象征性的费用。GPL许可制度还规定软件使用者不得对其他使用者强加许可限制,而且所有的代码改进——包括与协作开发代码混合的代码进行单独开发时,也必须遵循相同的规定(GPL的详细规定请参考《附录一GNU通用公共许可证(GPL)》)。

基于GNU项目和同时期其它组织和项目的努力,开放源码社区的一些重要的组织特征也逐渐形成。一个典型的开发模式就是软件的发布版本来自众多的、不同的开发者——这些发布版本一经被项目核心团队确认后,就会在因特网上公开发布。而对软件正式版本的修改权通常只赋予少数核心开发人员或某个项目领导者。

第三个发展时期:二十世纪九十年代初至今

二十世纪九十年代因特网的普及极大地促进了开放源码运动的发展。开放源码软件的发布版本增加,同时,大量新的开放源码项目出现。Linux就是在这一时期诞生的,并以GPL作为其许可证。

这个时期出现了众多的开源软件许可证可供选择。在上个世纪八十年代,GPL是开源软件协作开发时遵循的主导许可规则。这种情况在上个世纪九十年代发生了较大的改变,特别是在1995年Debian组织发布了“Debian社区契约(Debian Social Contract)”后。这个契约赋予了使用者最大限度的灵活性——包括允许使用者将协作开发的软件的代码与专有软件的代码混合。从1997年起这个更为宽松的许可规则逐渐开始被大量的协作软件开发者采用,并开始以另外一个名字——“Open Source Definition”闻名于世。

值得一提的是,所谓开源社区(Open Source Community)在开源软件研发和推广中占据着特殊的重要地位。所有活跃的开源软件项目都有一个良好定义的社区,该社区有着共同的志趣,比如不断演进其相关的产品和/或使用其结果。某个开源社区不能被简单地看作一个常规意义上的组织或统一体,而应看作是由许多具有不同思想的个体和团体组成的、在某个小范围内有着同样兴趣的集合,开源软件项目作为开发者的组织形式则成为开源社区的基本元素,通常建立独立的“.org”实体,鼓励开发者加入该组织并遵守相关规则。

由于开源项目通常是自发形成,因此其成功的关键取决于能否吸引足够的开发者投入足够的时间从事开发和维护,这涉及到人们为什么加入开源开发,影响因素很多,调查显示“兴趣”、“增进技术”、“支持开源运动”和“满足使用者需求”是最主要的驱动因素。

在国内,开源运动正受到越来越多的关注,但总体上仍处于发展的初级阶段,在国际上有影响的开源软件计划中由中国人带队的很少,开源软件以应用为主而创造性工作不足,已有开源软件的开发仍然主要以个体为主,国际交流能力较差,等等。这与中国国情紧密相关,比如中国的程序员须为生计奔波、不熟悉开源软件开发模式、基于Linux/Unix系统的程序员不多等等,尚未形成成熟的开源软件社区,而商业IT公司尤其是开源公司对如何利用和回馈开源软件社区的力量也了解不足,再加上盗版、知识产权观念淡漠、软件服务意识不足等等因素,导致照搬国外的开源模式很难行得通。

国内的开源社区多以技术论坛和资源下载为主要形式,有些还组织技术沙龙、开源电子刊物等,真正进行开源项目开发的很少,在这方面共创软件联盟(www.cosoft.org.cn)建立的中国第一个在线协同开发环境是为数不多的开源项目之一。

为了方便读者,以下提供一些著名的开源社区和相关资料供参考。

开源社区:

[1] Eric S. Raymond. The cathedral and the bazaar, 1998.

http://tuxedo.org/~esr/writings/cathedral-bazaar/.

[2] Eric S. Raymond, etc. Open Sources Voices from the Open Source Revolution, 1999.

http://www.openresources.com/documents/open-sources/main.html

[3] Eric S. Raymond. Homesteading the noosphere, 1998.

http://tuxedo.org/~esr/writings/homesteading/.

[4] Free Software Foundation. Free software definition.

http://www.gnu.org/philosophy/free-sw.html

[5] Free Software Foundation. The GNU manifesto, 1985.

http://www.gnu.org/philosophy/

[6] The Open Source Initiative. The open source definition, 1998.

http://www.opensource.org/osd.html.

[7] Ian Jackson, Christian Schwarz, and David A. Morris. Debian policy manual.

http://www.debian.org/doc/manuals/debian-policy/.

[8] Some dates of the open source software history.

http://eu.conecta.it/paper/Some_dates_open_source.html

[9] David A. Wheeler. Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! 2002.

http://www.dwheeler.com/oss_fs_why.html

[10] Eric S. Raymond. The Magic Cauldron, 1998.

http://www.tuxedo.org/~esr/writings/magic-cauldron/magic-cauldron.html

[11] For general information on Open Source Software.

http://www.dwheeler.com/oss_fs_refs.html

1.3  Linux 与 Windows 的比较

Linux是一个主要运行于PC机和企业服务器的UNIX克隆系统,它具备UNIX操作系统的几乎全部特征,是基于UNIX的完全的支持多进程, 多线程, 多用户, 实时性好,网络系统功能非常强大而稳定的操作系统。而Linux系统又与Windows系统有很多不同之处,下面的内容会给大家介绍。

1.3.1 开发模式和系统架构的区别

首先Linux系统与Windows 操作系统有着完全不同的开发模式和系统架构。

自由免费是Linux开发中最大的优点,这种优点使Linux的开发可以不受太多外界因素的影响,任何人都可以免费获取源代码,进行操作系统的开发研究与测试,从而得到非常健康的发展;而Windwos系统的开发模式则是完全封闭式的,所有涉及系统的开发技术都非常保密,只有专门内部的技术工程师才可以对其进行改造开发与测试。

在系统架构方面,Linux系统采用X-Windows桌面系统,一般为GNOME或KDE应用程序,指挥操作系统核心直接操作硬件(如下图1_1所示)。而Windows系统则采用Windows桌面系统来完成相同的任务。Linux系统的X-Windows桌面系统与其他桌面操作系统一样,需要大量应用程序的支持,而当前Linux还欠缺的就是易用的桌面环境和其上的应用程序,以及对各种在桌面系统中常用硬件的支持。不过这种局面正在逐渐的发生巨大的变化,很多Linux系统的开发商正在改善Linux的桌面。

1_1 Linux的系统架构

1.3.2 局部的区别

下面我们对Linux与Windows系统进行一些局部区别的比较:

价格优势:Linux 廉价

由于Linux是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。与Windows以及其它商品化UNIX操作系统相比,Linux的一个显而易见的优势就是廉价。

稳定性:Linux 更加稳定

Linux在开发设计中采用UNIX在?方面成功的技术,并在开发的过程中采用GNU的GPL原则,将其源代码程序对外免费公布。全世界大量的热爱Linux的天才程序员们在一起参与Linux系统的开发与设计工作,请求并接受反馈信息,并将这些信息在下一代开发的Linux版本中体现出来。可以说Linux的设计是由全世界的Linux爱好者共同参与的一种过程和智慧的结晶。。

安全性:Linux具有一定优势

和Windows系统相比,由于Linux采用的是UNIX在安全性方面成功的技术,尽管有一些安全漏洞,但因为设计上的开放性,这些安全漏洞能够在很快的时间内发现并得到解决。。

进程分配及管理:Linux消耗较小

在进程分配及管理方面,Linux是一个单一块式的操作系统,操作系统通常在单用户进程的内存空间内进行,可免去发生系统调用时候进程切换导致的资源消耗。Windows是一个准微内核操作系统,许多功能都是以单独的进程来实现,从而提高了系统的模块化程度,而在进程切换时的开销要大一些。

进程间通信机制:Linux更加灵活

在进程间通信机制上,Linux提供了标准的UNIX IPC机制,而Windows则在基本IPC机制的基础上,提供了许多直接面向应用程序的高级IPC机制。从本质上看,Linux、UNIX的IPC机制接近于IPC原语,比较底层,提供了最大的灵活性,也可以在此基础上建立更加复杂的高级IPC机制,而Windows 在原语级提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。

内存管理:Linux优于Windows

在内存管理上,Linux和Windows 在面对相同的进程地址空间大小时,对内存布局的使用方式不同。在虚拟内存的使用上,Linux内核为用户管理了非常多的细节问题,用户可以认为自己真正拥有4GB地址空间,而不用关心虚拟内存是否提交物理存储等问题。Windows 则为程序员提供了多种虚拟内存使用方案,虽然这些方案的使用有些复杂,但却提供了一定程度上的灵活性。Windows支持DOS和Win16程序的执行,但为了提供这种兼容性,它的内存管理付出了极高的性能代价;Linux和Windows 虽然均提供了内存共享技术,但它们的实现有些细微的差别。Linux提供给用户的接口非常简单,只需将自己的虚拟内存空间区域附加到共享内存对象之上。Windows 则是通过内存映射文件提供共享内存机制,从使用上讲,略显复杂;Linux的内存交换管理灵活性很强,用户可以在普通的文件系统上建立“无洞”的文件作为交换空间,还可以使用多个交换文件,从而可以动态增加交换文件。它也提供了利用交换分区作为交换空间的方法,此方法是优选的交换空间方案。Windows的页面文件很难摆脱碎片化的危险,为了保证它采用无碎片的页面文件,必须采取一定的措施;Linux 和Windows NT在高速缓存的使用上有一些共同之处,均尽量采用系统的全部空闲RAM作为高速缓存区域,但Linux在高速缓存管理上有一些独到之处,这是它性能之所以高的根本原因所在。

1.4  Linux 与 UNIX的比较

LinuxUNIX区别

Linux和UNIX的最大的区别是,前者是开放源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型。在Linux的开发过程中,全球的内核爱好者都可以看到工程进展的情况,可以为新的特性进行测试或提供改错的方法;内核的源代码全部开放,任何人只要遵守GPL就可以获得对所有源代码的控制权。另一方面,在商用UNIX的开发过程中,除了开发小组的相关成员以外,没有别人可以了解到工程的真正进展;除了赋予权限的人员,没有别人可以得到系统的源代码(无论这些源代码是核心,还是其它什么),更不用说获得这些源代码的控制权了!

Linux和UNIX的另一个的区别是:前者廉价,后者比较昂贵。与Windows以及其它商品化UNIX操作系统相比,Linux的一个显而易见的优势就是廉价。硬件的花销加上很少的软件费用就可以拥有一个PC工作站或服务器,这方面显然是其它操作系统无法比拟的。而且Linux对于硬件的要求比Windows要低得多。一般的用户也可以利用Linux来构造一个高性能的集群。

但在另一方面,在操作系统和服务器性能上,价格昂贵的UNIX还是稍占优势的。一般比较有经济实力的企业还是选择了UNIX操作系统,例如:SUN Solaris等著名操作系统和服务器都是这些企业选择的对象。

LinuxUNIX共同之处

大部分Linux是由UNIX兼容系统变化而来的,有时也称为UNIX的克隆系统,它具备UNIX系统的全部特征。在跟UNIX的关系上,它不比任何其它UNIX兼容系统远。所以用Linux你可以学到有关UNIX的知识,这些知识绝大部分在其它商业UNIX上可以用得上,因为在Linux操作系统上的命令、用户管理方式、各种服务的配置方法等几乎和UNIX操作系统上一样。当然,Linux和UNIX操作系统的核心思想也绝对是相同的。

1.5  Linux 的内核版本

 

由于Linux内核的开发方式比较特殊,有测试版本和稳定版本之分。Linux版本的命名规则如下:第一位数字是主版本号,第二位数字用于标识版本类型,而后面其它的数字是发行套件版本号。

很多人常常把内核的版本号和发行套件版本号弄混了,其实Linux的版本号应该分成两部分:内核版本号和发行套件版本号。标识版本类型的第二位数字分奇数和偶数,通常奇数是测试版本,而偶数是稳定版本,厂家一般对两种版本同时开发。新功能不断加入到测试版本中,稳定版本则不断优化和稳定。想使用新功能的用户可使用测试版本,而追求稳定的用户,可以使用稳定的版本。新功能一旦稳定,应立即加入稳定版本的使用中。 

给大家举例说明,目前较新和稳定的内核版本为kernel-2.4.20,最新发布的Redhat 9.0版本就是采用了2.4.20的内核,而测试内核版本的例子如kernel-2.4.19 内核等。

1.6  Linux 的适用场合

回想一到两年前,企业用户在决定是否采用Linux操作系统时,最先考虑的问题是有没有所需的应用软件。今天,这已经不是决定性因素了,因为各Linux厂商和独立软件开发商已经开发了大量的Linux应用产品。涉及的领域包括零售业、金融证券、教育、邮政、电力等十几个行业,提供的解决方案包括网上证券系统、电力管理、财务管理、客户关系管理、并行计算、电子化邮局等。Linux厂商已经建立了一套完善的Linux应用产品体系,可以为客户提供从操作系统、数据库服务器到企业应用解决方案等多种服务,可以说为企业采用Linux开通了“直通车”。此外,像一些证券行情分析系统、视频点播系统、虚拟服务器集群系统等等,都给企业用户提供了足够多的选择。

除企业应用外,嵌入式应用算得上是Linux最具发展潜力的领域。从技术上看,Linux操作系统具有内核稳定、可靠性高、实时性好、可裁剪、内核小等多种优点,因此,Linux在工控设备、手持设备、信息家电等领域具有广泛的发展前景。除此之外,各类智能控制设备、智能仪表、自动控制设备等,都可以利用嵌入式Linux 作为其内部操作平台。据有关技术人员介绍,通常情况下,工控设备采用的操作系统为DOS系统或专用系统,前者的问题是单应用、单用户,很难支持新的智能设备;后者通常是封闭系统,缺少灵活性,而且一旦出了问题,维护费用很高。与这些系统相比,嵌入式Linux的开放性、稳定性以及对多任务、多用户的支持都很值得称道。相信在最近这几年,嵌入式Linux将会得到广泛的应用。

由此可见,由于具有多方面的用途,Linux目前已经发展成为最热门的操作系统之一,并且从1999年开始,Linux就开始获得软、硬件公司的强劲支持。一直到目前2004年,人们所认为的Linux缺乏软、硬件公司支持的局面已得到了相当的改观,让大家不断的感受到Linux发展前景越来越美妙。

1.7           linux的未来到底在何方?

目前UNIX、Linux、Windows三种操作系统三分天下,最终谁能占领市场的主流,成为市场的霸主,目前还没有定论。就个人观点而言,感觉Linux的成长十分迅速,发展前景看好。Linux历史悠久,发展到今天已经相当成熟,尤其以安全可靠和应用广泛著称。而最新的Linux凭借其先进的设计思想和自由软件的身分也正跻身于优秀网络操作系统的行列。

 而对Linux 操作系统而言,由于设计思想先进和源代码开放,使其处在一种飞速发展的状态中。从前谁都可以对Linux不予理睬,但是现在那样的日子已经一去不复返。没有人敢再小看它。不管是大型企业还是中小型企业都希望用最少的投入获得最大的收益,而Linux正顺应了这种潮流。现有的服务器平台,特别是NetWare、Windows NT和Windows 2000正受到来自Linux的冲击,当然UNIX也不例外,比如HP、IBM和Sun的各个UNIX版本。尽管BSD也曾因为其开放源代码的方式备受关注,但很显然它没有Linux的势头强劲。IDC 的报告显示,2003年Linux占据了服务器操作系统市场份额的31%,Windows占40%,而NetWare和主要的UNIX版本分别占有12.8%和13.9%,BSD与其它操作系统占据了剩下的4.3%。 而且目前主流的UNIX厂商也对Linux表示了浓厚的兴趣,或许本来Linux就与UNIX有着深厚的渊源,UNIX连同Linux与Windows之间总是存在着某种对抗。而根据IDC的数据,这两者的市场份额合在一起是41.9%,与Windows旗鼓相当。虽然很少会有用户持有二者只能选其一的态度,但有人预测,它们之间的对抗会在随后的几年之内见分晓。

Linux能有今天的发展,人们最先想到的自然是其低廉的价格,许多Linux版本都是免费的或者几乎是免费的,即使为大中型主机平台设计的最昂贵的版本也就是几千美元。而它可以与大型UNIX系统之间平滑地移植程序,是它受欢迎的另一个重要因素,应该说这是沾了UNIX的光。

但除了这些天生的优势,Linux这两年自身性能的提升也有目共睹。可能几年前,Linux对企业来说还没有足够的吸引力,因为它居然没有很好的日志文件系统,但是今天,已经很难找到那样的Linux版本了。在扩展性方面Linux想要赶上传统的UNIX版本还有待时日,但主流UNIX供应商们已经开始使它们的产品看起来或是感觉上像Linux了,因为它们认识到如果还想继续保持领先地位,最明智的选择就是在混乱到来之前抽身而出。比如IBM在它的AIX 5L中与Linux联姻,使AIX 5L成为业界第一个提供同时构建和管理UNIX和Linux应用能力的操作系统。 Linux与UNIX的集成或许可以使Linux获得更高的可扩展性,从而适应直线上升的硬件性能。现在的Linux支持32个CPU已经没有问题,硬件和软件条件都已具备。尽管离运行128个或256个处理器还有差距,但很明显Linux与UNIX之间的距离正在急剧缩小。而且Linux的内核从诞生以来就从来没有停止过升级,在2003年7月14日,Linux开发人员的领袖Linus Torvalds又发布了下一代Linux操作系统内核的测试版--2.6内核。 2.6内核作了许多改变,其中包括更好地支持多处理器系统、更好地支持嵌入式设备、对点击鼠标和键盘的反应速度更快和彻底改善了块设备软件插件等。 还有目前主要的Linux厂商,比如Mandrake、Caldera、RedHat和SuSe等不断利用最新的技术推出Linux的最新版本和产品,为广大使用Linux系统的用户提供最好的性能支持,从而推动Linux市场的迅速发展。

可见Linux 操作系统受到如此之多的支持,就是因为它越来越受企业和用户欢迎的原因,它会和UNIX 操作系统一样,发展前景无限。

1.8 关于本书的说明

本书全文分为三大部分,基本包含内容描述如下,大家可以在此先有一个全局性的了解,也可以根据自己的情况对具体内容进行选读。

1.8.1   第一部分   Linux简介和原理介绍(第一章与第二章)

Linux的基础知识,如何产生、发展,它的特点是什么,大概有哪些相关的知识。

第一章  概述:Linux 的历史背景,优势,内核版本,适用场合等普遍性的介绍。

第二章  Linux系统基本原理:Linux的体系结构,基本特点,核心与模块,文件系统,目录结构,线程与进程,设备与网络,Shell控制台等相关内容。

1.8.2   第二部分 基础知识(第三章至第六章)

成长为合格的系统管理员,Linux操作的基础知识首先必须扎实。如何去使用命令,编辑工具的使用,shell脚本与编程是第二部分的内容。在熟悉和掌握之后,才谈得上如何去控制和管理Linux计算机。

第三章  shell命令:目录操作命令,文件操作命令,用户管理命令,属性与权限命令,系统命令等。

第四章  Linux编辑器:vi、vim、ed等介绍,以vi操作为主。

第五章  shell编程:变量和运算,过程中使用变量,脚本执行语句,shell控制,Shell 程序调试等。

第六章  高级脚本编程:以awk为主。介绍awk、sed与perl。

1.8.3   第三部分     系统管理(第七章至第二十章)

使用第二部分中掌握的知识与技能,在最后一部分就要开始系统管理的学习了。

 

第七章  Linux管理介绍:系统管理员职责,日常管理。

第八章  启动过程和启动脚本:理解Linux系统启动过程,运行级别,GRUB与LILO等内容。

第九章  用户管理:用户类型,帐号配置文件,用户的创建与维护,组的创建与维护,查询等。

第十章  进程管理:创建进程和启动进程,进程调度,监控与统计,信号,进程的挂起和恢复等。

第十一章 文件系统:分区管理,fdisk与parted命令,文件系统创建与维护,磁盘限额。并介绍一些特殊的文件系统,如proc、SWAP等。

第十二章 文件与数据备份:备份策略,备份命令,tar,磁带机使用。

第十三章 软件包管理:介绍各种软件包管理方式。以rpm方式为主,rpm 命令的用法,rpm包的构建等。

第十四章 linux模块配置与设备管理:模块如何加载,如何安装与管理Linux下的诸如磁带机、网卡、串行口等。

第十五章 日志管理:日志子系统类别,日志文件使用,dmesg和messages,日志管理工具等。

第十六章 打印管理:Linux打印体系概述,打印原理,添加打印机,CUPS打印等。

第十七章 基本网络配置与管理:如何使用各种连接手段联网,如ADSL、电话拨号等,网卡设置,IP相关配置,常用服务与xinetd的管理。

第十八章 系统安全简介:补丁,PAM,用户安全设置,文件权限,端口限制,iptables,简单攻击检测,安全工具介绍。

第十九章 系统优化和核心参数调整:性能监视与测试、系统优化的相关命令,系统优化措施。

第二十章 X Window配置:X的基本元素,运行原理,启动与关闭,配置与升级等。

1.9 本章小结

通过本章的学习,你了解了Linux操作系统的概念,能说出几种Linux操作系统的版本吗? Linux、UNIX操作系统之间有什么区别?它又和Windows操作系统有何区别吗?如果还不知道的话,那可就要再认真仔细阅读了。本章是全书的开头章节,主要讲述了Linux操作系统的发展史和相关概念,学习Linux千里之行,始于足下,一定要打好基础。希望大家要好好把握本章的重点内容。

1.10 专家答疑

1.什么是自由软件?

答:

自1984年起,麻省理工学院开始支持“世界最后一名黑客”Richard stallman在软件开发团体中发起的自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件革命的序章。GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。而GNU项目的目标是建立可自由发布的、可移植的类UNIX操作系统。

2.RedHat Linux 9.0和Linux 2.4哪个版本高?

答:

 其实,这两个版本号是不同的!RedHat Linux是将Linux内核与Linux的一些常用配套软件、应用软件捆绑在一起的发行版,9.0是这个发行版的版本号。而Linux 2.4则是指Linux内核的版本。Linux核心的版本号一般由二到三个部分组成,例如现在最稳定的内核版本2.4.20 表示的含义为:

第一个2是主版本号,一般在一个时期内比较稳定;

第二个4是次版本号,如果是偶数,代表是正式版,如果是奇数,代表是开发过程中的测试版,如在2.4正式出来时,2.3.x就是在开发者间使用的测试版的版本号;

最后一个20是修改号,如2.4.20就是对2.4.19做了一些小的修改而来。 这种特殊的版本命名法是为了便于在Internet上共同开发而制定的。

3. Linux能应用在哪些领域呢?

答: 

    1)教育领域:设计先进、公开源代码这两大特性使得Linux成为了操作系统课的活教材;

2) 网络服务器领域:稳定、健壮、系统要求低、网络功能强使得Linux成为现在Internet服务器操作系统的首选,现已达到了25%的占有率;

3)企业Intranet:可以用低廉的投入架设E-MAIL服务器、WWW服务器、代理服务器、透明网关、路由器;

4)视频制作领域:著名的《泰坦尼克号》就是由200多台Linux协作完成其中的特技效果的。

4.Linux与UNIX有什么不同?

答:

Linux也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它们之间的最大区别在于以下两点:

1)UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上;

2)UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。

5.我是一个初学者,该如何学习好Linux的系统管理呢?

答:

  1) 多阅读书籍,如《RedHat Linux 技术大全》、《Linux系统管理白皮书》、《Linux系统管理指南》等;  

2) 要敢于尝试,经常使用Linux,从实践中学习,别怕“try again!”;

3)经常通过网络或技术活动与Linux爱好者们互相交流,以便提高

自己的水平,俗话说:“三人行,必有我师”。

1.11 课堂练习题

1.  什么是 Linux?

2. Linux 该怎么念?

3. Linux 用途是什么?

4   Linux 的内核版本如何判断?

5. 请你说出目前Linux 主要流行的版本都有哪些?

6. Linux 与Windows系统有何差异?

7. Linux与UNIX 系统的区别和共同点?

8. 请你介绍一下Linux 不同版本间差异。

9. 什么是Open Source 和GPL?它们与FSF的关系是什么?

10.请描述Redhat Linux 9.0 与Kenel 2.4.20 中所包含数字的含义?