《Linux从入门到精通之一Linux概述.doc》由会员分享,可在线阅读,更多相关《Linux从入门到精通之一Linux概述.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章 Linux概述什么是Linux?在所有关于Linux的问题中,没有比这个更基本的了。简单地说,Linux是一种操作系统,可以安装在包括服务器、个人电脑、乃至PDA、手机、打印机等各类设备中。尝试一个新的操作系统难免让人心潮澎湃,如果读者之前还没有接触过Linux的话,在正式开始安装和使用Linux之前,首先让自己放松,试着做几个深呼吸,然后跟随本章的介绍来整理一下同Linux有关的思绪。1.1 Linux的起源和发展Linux起源和发展是一段令人着迷的历史。这里面包含着太多颠覆“常理”的事件和思想,促成Linux成长壮大的“神奇”力量总是被人津津乐道,Linux所创造的传奇有时候让初次
2、接触它的人感到不可思议。1.1.1 Linux的起源1991年,一个名不见经传的芬兰研究生购买了自己的第一台PC,并且决定开始开发自己的操作系统。这个想法非常偶然,最初只是为了满足自己读写新闻和邮件的需求。这个芬兰人选择了Minix作为自己研究的对象。Minix是由荷兰教授Andrew S. Tanenbaum开发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。这个研究生名叫Linus Torvalds,他很快编写了自己的磁盘驱动程序和文件系统,并且慷慨地把源代码上传到互联网。Linus把这个操作系统命名为Linux,意指“Linus的Minix”(Linus Minix)。
3、Linus根本不会想到,这个内核迅速引起了全世界的兴趣。在短短的几年时间里,借助社区开发的推动力,Linux迸发出强大的生命力。1994年,1.0版本的Linux内核正式发布。本书写作时,最新的稳定内核版本为2.6.27。Linux目前得到了大部分IT巨头的支持,并且进入了重要战略规划的核心领域。一个非盈利性的操作系统计划能够延续那么多年,并且最终成长为在各行各业发挥巨大影响力的产品,本身就让人惊叹。在探究这些现象背后的原因前,首先来看一下Linux和UNIX之间的关系,这两个名词常常让人感到有些困惑。1.1.2 追溯到UNIXUNIX的历史需要追溯到遥远的1969年,最初只是AT&T贝尔实验
4、室的一个研究项目。10年后,UNIX被无偿提供给各大学,由此UNIX成为众多大学和实验室研究项目的基础。尽管UNIX被免费提供,但获取源代码仍然需要向AT&T交纳一定的许可证费用。1977年,加州大学伯克利分校的计算机系统研究小组(CSRG)从AT&T获取了UNIX的源代码,经过改动和包装后发布了自己的UNIX版本伯克利UNIX(Berkeley UNIX),这个发行版通常被称为BSD,代表Berkeley Software Distribution(伯克利软件发行版)。随着UNIX在商业上的蓬勃发展,AT&T的许可证费用也水涨船高。伯克利于是决定从BSD中彻底除去AT&T的代码。这项工程持续
5、了一年多。到1989年6月,一个完全没有AT&T Unix代码的BSD版本诞生了。这是第一套由Berkeley发布的自由可再发行(freely-redistributable)的代码,所谓的“自由”颇有些“你知道这是我的东西就可以了”的味道。只要承认这是Berkeley的劳动成果,那么任何人就可以以任何方式使用这些源 代码。1995年6月,4.4BSD-Lite发行,但这也是CSRG的绝唱。此后,CSRG因为失去资金支持而被迫解散。但BSD的生命并没有到此终结。目前大多数的BSD UNIX的版本,例如FreeBSD、OpenBSD等等都是从4.4BSD-Lite发展过来的,并且延续了它的许可证
6、 协议。与此同时,另一些UNIX版本则沿用了AT&T的代码,这些UNIX系的操作系统包括HP-UX、Solaris等。简单地说,Linux是对UNIX的重新实现。世界各地的Linux开发人员借鉴了UNIX的技术和用户界面,并且融入了很多独创的技术改进。Linux的确可以被称作UNIX的一个变体,但从开发形式和最终产生的源代码来看,Linux不属于BSD和AT&T风格的UNIX中的任何一种。因此严格说来,Linux是有别于UNIX的另一种操作系统。1.1.3 影响世界的开源潮流Linux的发展历程看起来是一个充满传奇色彩的故事。特别是,为什么有如此多的人向社区贡献源代码,不索取任何酬劳并任由其他
7、人免费使用?“因为他们乐于成为一个全球协作努力活动的一部分”,Linus这样回答说。开源成为了一种全球性的文化现象,无数的程序员投身到各种开源项目中,并且乐此不疲。事实上,社区合作已经成为了被广泛采用的开发模式。Linux、Apache、PHP、Firefox等业界领先的各类软件产品均使用了社区开发模式并采用某种开源许可协议。包括Sun、IBM、Novell、Google甚至Microsoft在内的很多商业公司都拥有自己的开放源代码社区。有意思的是,开放源代码的思想不仅仅根植于程序员的头脑中,更重要的是,社区合作演变成为了一种互联网文化。见证了维基百科等产品的巨大成功,人们发现,用户创造内容这
8、种所谓的Web2.0模式从本质上是同开源思想一脉相承的。已经有了多种不同的开放源代码许可证协议,包括BSD、Apache、GPL、MIT、LGPL等。其中的一些比较宽松,如BSD、Apache和MIT,用户可以修改源代码,并保留修改部分的版权。Linux所遵循的GPL协议相对比较严格,它要求用户将所作的一切修改回 馈社区。关于开源协议的讨论常常是一个法律问题,一些法律系的学生会选择这方面的 主题作为自己的毕业论文。在Google中输入关键字“开源协议”可以得到非常详尽的 解答。1.1.4 GNU公共许可证:GPLGNU来源于20世纪80年代初期,Richard Stallman在软件业引发了一
9、场革命。这个人坚持认为软件应该是“自由”的,软件业应该发扬开放、团结、互助的精神。这种在当时看来离经叛道的想法催生了GNU计划。截至1990年,在GNU计划下诞生的软件包括文字编辑器Emacs、C语言编译器gcc以及一系列UNIX程序库和工具。1991年,Linux的加入让GNU实现了自己最初的目标创造一套完全自由的操作系统。GNU是GNUs Not UNIX(GNU不是UNIX)的缩写。这种古怪的命名方式是计算机专家们玩的小幽默(如果觉得这一点都不好笑,那么就不要勉强自己)。GNU公共许可证(GNU Public License,GPL)是包括Linux在内的一批开源软件遵循的许可证协议。下
10、面来关心一下GPL中到底说了些什么(这对于考虑部署Linux或者其他遵循GPL的产品的企业可能非常重要)。概括说来,GPL包括下面这些内容。q 软件最初的作者保留版权。q 其他人可以修改、销售该软件,也可以在此基础上开发新的软件。但必须保证这份源代码向公众开放。q 经过修改的软件仍然要受到GPL的约束除非能够确定经过修改的部分是独立于原来作品的。q 如果软件在使用中引起了损失,开发人员不承担相关责任。完整的GPL协议可以在互联网上通过各种途径(如GNU的官方网站www.gnu.org)获得,GPL协议已经被翻译成中文,读者可以在Google中搜索“GPL”获得相关信息。1.2 为什么选择Lin
11、uxWindows已经占据了这个世界大部分电脑的屏幕从PC到服务器。如果已经习惯了在Windows下工作,有什么必要选择Linux呢?Linux的开发模式从某个角度回答了这个问题。Linux是免费的,用户并不需要为使用这个系统交付任何费用。当然,这并不是唯一的,也不是最重要的理由。相对于Windows和其他操作系统,Linux拥有其独特的优势。这些优势使Linux长期以来得到了大量的应用和支持,并在最近几年收获了爆炸性的发展。1.2.1 作为服务器Linux已经在服务器市场展现了非比寻常的能力,在世界各地有数百万位志愿者为Linux提供技术支持和软件更新,其中包括有IBM、Google、Red
12、 Hat、Novell等IT跨国企业的资深学者和工程师。这要归功于Linux的社区开发模式,公开的源代码不是招来更多的黑客攻击,相反,Linux对于安全漏洞可以提供更快速的反应。在企业级应用领域,更少被病毒和安全问题困扰的Linux是众多系统管理员的首选。Linux在系统性能方面同样表现出优势。已经不必担心Linux是否能发挥服务器的全部性能。相反在实现同样的功能时,Linux所消耗的系统资源比Windows更少,同时也更为稳定。虚拟化技术、分布式计算、互联网应用等在Linux上可以得到很好的支持,Linux在服务器市场的份额一直在快速增长。2004年,IBM宣布其全线服务器均支持Linux。
13、这无疑向世界传递了这样一个信号:Linux已经成长为一种最高档次的操作系统,具备了同其他操作系统一较高下的实力。在这之后的4年中,步IBM后尘的企业越来越多。如今,选择Linux作为自己的服务器操作系统已经不存在任何风险,因为主流的服务器制造商都能够提供对Linux的支持。值得一提的是,在2008年排名前500的超级计算机中,93.8%(469台)都采用了Linux操作系统。尽管微软很自豪地表示,Windows HPC Server 2008进入榜单前10位,但需要知道的是,前9名的超级计算机都采用了Linux。总体上来说,Linux非常健壮和灵活,很适合用于大型企业生产环境在把Linux投入
14、实际使用之后,用户将会更多地体会到这一点。1.2.2 作为桌面没有必要夸大Linux作为桌面操作系统的优势。在这个领域,Windows仍然占据绝对的主导地位。用户体验方面,Windows的确做得更好一些。然而随着Linux在桌面领域投入更多的精力,其桌面市场份额正在缓步提升。在2008年的世界开源大会上,Ubuntu Linux创始人Mark Shuttleworth甚至大胆预测,Linux的市场份额将在两年时间内超越苹果。那么究竟有什么理由在PC上使用Linux呢?“免费”是一个非常重要的理由。Linux上的开源软件非常丰富,能够完成日常办公中的所有任务,并且不需要为此缴纳任何费用。用户不再
15、需要为各种专业软件和操作系统支付大笔的许可证费用,省下的这笔资金可以用到更有用处的地方。另一个重要理由在于Linux的开放性。这意味着用户可以订制属于自己需要的功能,在Linux中,没有什么是不能被修改的。对于希望学习操作系统原理的用户,Linux是一个很好的平台,它可以让研究人员清楚地看到其中的每一个细节。相比较Windows而言,Linux确实更少受到病毒的侵扰。随着学习的深入,读者会逐渐了解到其中的原因。1.3 Linux的发行版本严格说来,Linux这个词并不能指代本书所要介绍的这个(或者说几个)操作系统。Linux实际上只定义了一个操作系统内核,这个内核由kernel.org负责维护
16、。不同的企业和组织在此基础上开发了一系列辅助软件,打包发布自己的“发行版本”。各种发行版本可以“非常不同”,却是建立在同一个基础之上的。1.3.1 不同的发行版本Linux的发行版本确实太多了,表1.1只列出了其中比较著名的一些(即便如此,这张表格仍然有点长)。这些发行版本是按照字母顺序,而不是推荐或者流行程度排列的。表1.1 著名的Linux发行版本发 行 版 本官 方 网 站说 明CentOSwww.centos.org模仿Red Hat Enterprise Linux的非商业发行版本Debianwww.debian.org免费的非商业发行版本FedoraRed Hat公司的免费发行版本
17、Gentoowww.gentoo.org基于源代码编译的发行版本Mandriva前身Mandrakelinux,第一个为非技术类用户设计的Linux发行版本openSUSEwww.opensuse.orgSUSE Linux的免费发行版本Red Flagwww.redflag-国内发展最好的Linux发行版本Red Hat EnterpriseRed Hat公司的企业级商业化发行版本SUSE Linux EnterpriseNovell公司的企业级商业化Linux发行版本TurboLinux在中国和日本取得较大成功的发行版本Ubuntu类似于Debian的免费发行版本在过去的十年中,Red H
18、at公司一直是Linux乃至开源世界的领导者。2003年,公司高层决定将其产品分成两个不同的发行版本。商业版本被称为Red Hat Enterprise Linux,这个发行版本专注于企业级应用,并向使用它的企业提供全套技术支持,Red Hat公司从中收取相关许可证费。另一个发行版本被称为Fedora,其开发依托于Linux社区。尽管Fedora从名字上已经不再打着Red Hat的旗号,但是这两个发行版本依然保持着很大程度上的相似性。另一个走上几乎相同路线的Linux发行版本是SUSE Linux,这个目前由Novell公司运作的Linux发行版本分为SUSE Linux Enterprise
19、和openSUSE两种,前者由Novell提供技术和服务支持,后者则由Linux社区维护并免费提供。相对于Fedora而言,openSUSE似乎能够得到更多的来自其商业公司的支持。一个很有意思的发行版本是CentOS,这个发行版本收集了Red Hat为了遵守各种开源许可证协议而必须开放的源代码,并且打包整理成一个同Red Hat Enterprise非常相似的Linux发行版本。CentOS完全免费,这对于那些希望搭建企业级应用平台,而又不需要Red Hat公司服务支持的团队而言是一个好消息。毕竟,钱是很多时候必须首要考虑的问题。Debian和Ubuntu依旧保持着原始的Linux精神,这两个
20、发行版本由社区开发,并且完全向用户免费提供。其中Ubuntu至今享受着南非企业家Mark Shuttleworth的资助,用户可以登录其官方网站预定安装光盘。Canonical(Ubuntu社区的授权公司)会为此支付一切费用,甚至包括邮费。Red Flag Linux(红旗Linux)是来自北京中科红旗软件技术有限公司的产品,这几年,国内Linux市场环境有了长足的进步,这也促使红旗软件逐渐成长为亚洲最大、也是发展最迅速的Linux产品发行商,并于2004年同亚洲其他Linux发行商合作发布了企业级Linux系统Asianux。红旗Linux最大的优势在于其本地化服务,同时在中文支持上,红旗L
21、inux比其同行做得更好。1.3.2 哪种发行版本最好既然已经介绍了那么多发行版本,那么哪一种最好?每一种发行版本都宣称自己能够提供更好的用户体验、更丰富的软件库从这种意义上讲,发行商的建议常常只是广告性质的宣传。使用哪一种发行版本主要取决于用户的具体需求。如果用户需要在企业环境中部署Linux系统,那么应该侧重考虑Red Hat Enterprise Linux这样的发行版本,这些专为企业用户设计的Linux可以更有效地应用在生产环境中,并且在出现问题的时候能够找到一个为此负责的人。对于大型企业而言,千万不要尝试那些小的发行版本,因为稳定性永远是最重要的,没有人会愿意看到自己购买的产品几年后
22、就不存在了。如果某些发行版的某些功能的确很吸引人,那么至少也要等它“长大了”再说。Debian和Ubuntu尽管是两个非盈利性的发行版本,但是在很长的时间内,这两个发行版本将会继续存在。对于企业用户而言,这是同样值得考虑的对象。对于个人用户而言,需要考虑的东西就要少很多。桌面用户可能更关心漂亮的图形界面,以及简易的操作性。很难确定哪个发行版本更“漂亮”,或者用起来更顺手这取决于不同的口味。通常来说,标榜自己是Desktop(桌面)的Linux发行版在很大程度上都考虑到了这两方面的内容,Linux玩家可能会来回尝试多个发行版本,这是一件充满乐趣的事情。每当一个新的Linux发行版出现,或者已有发
23、行版本完成一次升级后,都会有无数的Linux爱好者参与到测评和比较中。因此在决定使用哪个发行版之前,关注一下相关的Linux论坛是一个好主意。1.3.3 本书选择的发行版本众多的Linux发行版本的确丰富了Linux世界,但是也给所有介绍Linux的书籍出了一个大难题,即究竟选择哪个发行版本作为讲解对象?本书非常谨慎地选择了其中的两 个:Ubuntu Linux和openSUSE Linux。不仅因为这是目前Linux桌面市场占有率最高的两个发行版本,更重要的是,这两个发行版是桌面Linux的代表,本书讨论的所有内容都可以几乎不加修改地应用于其他Linux发行版本中。在具体的讲解过程中,Ubu
24、ntu Linux占据了更多的篇幅,只有在两个体系不同的地方,才会让openSUSE出场。另外,考虑到Ubuntu桌面环境是基于Gnome的,本书为openSUSE选择了KDE,并且使用了稳定的KDE 3.5而不是更华丽的KDE 4。另外,在涉及服务器配置的地方,本书会兼顾到使用Red Hat Enterprise Linux和Fedora的用户,毕竟在服务器领域,这两个版本的Linux系统占据了更大比例的市场份额。关于Gnome和KDE的详细介绍,可以参考第4章,但是这里也不妨首先感受一下这两个发行版的用户界面,如图1.1和图1.2所示。图1.1 Ubuntu Linux的Gnome桌面图1
25、.2 openSUSE的KDE桌面1.4 Internet上的Linux资源Internet上永远都不缺少Linux资源,除了1.3.1节列出的各发行版的官方网站外,还有很多组织和个人建立了各种Linux网站和论坛,这些资源为Linux用户提供了大量支持。经常光顾这些地方并及时实践是学习Linux的最好途径。表1.2和表1.3分别列出了国外和国内的常用Linux站点。表1.2 常用的国外Linux资源国 外 网 站说 明来自Linux和开放源代码界的新闻最齐全的Linux/UNIX软件库信息齐全的Linux学习网站www.kernel.orgLinux内核的官方网站提供全方位的Linux信息(
26、尽管不是官方网站)提供内核信息和补丁的汇总非常完整的Linux新闻站点表1.3 常用的国内Linux资源国 内 网 站说 明国内最大的Linux/Unix技术社区网站Linux伊甸园,最大的中文开源资讯门户网站www.linuxfans.org中国Linux公社,拥有自己的Linux发行版本Magic Linuxwww.linuxsir.org提供Linux各种资源、包括资讯、软件、手册等这些Linux站点显然不能涵盖所有,Linux爱好者遍布全球,遇到问题的时候随便找个地方发张贴就可能得到热情的解答,但是通常并不推荐这种做法。很多问题已经被回答了无数次,并且因为人们的懒惰而不得不继续被回答。
27、首先尝试自己去寻找问题的答案是一个好习惯,任何流行的搜索引擎都能帮上忙。对于技术类的问题,Google是相对“更好”的选择。不要有意回避UNIX的相关信息,这些信息通常都可以直接用于Linux(回忆一下本章开头所描述的Linux和UNIX之间的渊源)。对于某些特定于发行版本的配置则应该小心,因为读者使用的发行版本很可能使用了不同的配置方式。本书在所有可能产生这些问题的地方都会给出说明。1.5 小 结q Linux起源于芬兰研究生Linus Torvalds 1991年的个人计划,最初只是一个简单的操作系统内核。Linus将其在互联网上公布后,这个内核吸引了全世界大量志愿者共同参与开发。q UN
28、IX来源于AT&T贝尔实验室的一个研究项目,CSRG对其重新实现后发布了不含AT&T代码的伯克利UNIX。这两种版本(AT&T和BSD)是很多UNIX类操作系统如Solaris、FreeBSD等的共同祖先。q Linux社区的开发人员借鉴了UNIX技术和使用方式,并将其融入Linux中。Linux不属于以上两种UNIX中的任何一种。q 基于社区合作的开源文化已经深刻地影响了这个世界。q Linux内核遵循GPL协议发布,这个许可证协议是GNU计划的一部分。q Linux在服务器领域占据绝对的优势,可以非常有效地应用于各类生产环境。作为一个先进的操作系统,Linux得到了几乎所有IT巨头们的支持。q Linux在桌面市场的份额也在不断上升,并在全世界聚集了一大批爱好者。q 不同的企业和组织在Linux内核的基础上开发了一系列辅助软件,打包发布自己的“发行版本”。选择发行版本完全取决于用户的需求和口味。q Internet上存在大量的Linux资源,在遇到问题时合理利用这些资源是学习Linux(也是其他计算机技术)的重要途径。