Linux入门引导 第1章.doc_第1页
Linux入门引导 第1章.doc_第2页
Linux入门引导 第1章.doc_第3页
Linux入门引导 第1章.doc_第4页
Linux入门引导 第1章.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

225第18章 常用插件扩展点第1章 概述本章将简述开源的历史与发展,对Linux和它的前身Unix进行简单的介绍,并对其优势与不足一并指出。并且阐述Linux的文化与哲学,让读者体会到开源的文化魅力所在。同时,本章将会谈到如何合理地利用网络解决问题、解答问题的技巧。1.1 GNU/Linux与开源小时候,老师教育我们要把我们手中的糖果分给身边的伙伴一起吃。Richard Stallman1.1.1 何为开源?开源(OpenSource),顾名思义就是程序开放源代码。事实上,开源与计算机可以说是同时诞生的,在那个年代,计算机科学家们通过亲自交换手头的源代码来达到程序交换与共享的目的。而这,就是开源。当用户在使用一个使用起来不称心的,有那么一些瑕疵的闭源软件时,常常会抱怨为什么程序不能像他们所想那样完美一些,完美一些,再完美一些。而正是开源,让这类问题的解决变得简单,变得方便。用户可以自行修改或者拓展正在使用的程序的功能。也许你会问:“我们自己有修改程序的能力和必要么?”的确,如今大部分的普通用户并没有修改软件的能力和需要。但在早期,计算机及其软件主要被设计应用于科学研究领域。同时,它们也是黑客手中的珍贵玩具。除了计算机软件销售商(vendor),没有人喜欢闭源的软件,人们都希望投入到计算机这一令人兴奋的新领域的探索中去,而闭源软件昂贵的版权费和没有弹性的程序让一部分人极为不满。于是,他们要解放软件,使软件自由。开源运动(OpenSource Movement)就此拉开宏伟的序幕。1.1.2 GNU项目的诞生在20世纪80年代,软件工业迅速发展,各IT行业的厂家都要在市场中保持竞争力,并想通过一些办法来隔离用户并控制他们,于是这些软件销售商们就把各自的软件源代码封闭了起来,并禁止购买其软件的用户进行分享。而这大大损害了软件用户的利益。在1983年,一位名叫Richard Stallman的黑客率先站了出来,宣布了一个名叫GNU的项目,该项目要开发一个包含系统内核和系统程序在内的操作系统GNU。GNU是GNUs Not Unix的缩写形式,这个无限递归的趣名表明了这个操作系统将会是一个Unix的自由变种。图1.1 GNU的Logo为了保护GNU软件,防止任何人对其进行私有化,GNU发布了Copyleft的法规,也就是著名的GPL协议。Copyleft的宗旨是给予用户运行程序,拷贝软件,修改源代码并且发布的权限,但阻止任何人将其私有化。图1.2 Copyleft的Logo由于当时人们对GNU emacs编辑器的喜好,越来越多的人愿意加入到GNU项目中去。于是,在1985年,自由软件基金会由Richard Stallman一行人创立了。自由软件基金会征募了一批热爱自由软件的程序员进行编写与维护软件的工作。基金会的收入大部分来自分发软件拷贝、捐助以及相关的技术服务。到了1990年,GNU几乎已经完成了整个系统构建,大量如编译器,编辑器,系统管理工具等系统必要工具已经具备,唯一缺少的就是内核了。而内核GNU Hurd尚未成熟,无法产品化,就在这时,GNU迎来了Linux的横空出世。1.1.3 Linux横空出世操作系统(Operating System)作为一个底层软件,负责着系统的任务调度,内存分配,处理计算机外部硬件接口等很多重要任务。操作系统的内核是驱动整台计算机的核心,而在早期,操作系统内核的源代码是各个计算机销售商小心看管的机密,它们不对外公布。GNU项目的诞生给了人们新的选择。当时,整个世界都在Richard Stallman的带领下创建自由软件,但始终缺少一个平台来将这些优秀的软件整合在一起,时势造英雄,Linux就在这样诞生了。事实上,Linux只是一个操作系统内核(Kernel)。1991年,在芬兰赫尔辛基大学计算机科学系就读的二年级学生Linus Benedict Torvalds为了克服当时MINIX系统的一些缺点,自行开发了Linux,并于当年在网上发布了该系统内核。Linux是因特网爆炸时代的产物,在当时,操作系统的源代码而当Linux内核源代码被自由共享到网络上后,来自全世界的黑客为之振奋,纷纷开始为内核义务进行拓展,并进一步开发系统需要使用的各种工具(Utilities),同时增加与增强系统功能,这使得Linux以惊人的速度开始发展。图1.3 Linux的吉祥物TuxLinux操作系统使用了大量的GNU工具,一直以来,人们忽视了GNU对于Linux的重要性,准确的说,Linux应该称为GNU/Linux。因为正是与GNU的联姻,才成就了Linux。Linux的关键词就是Have Fun,它是一款自由的操作系统,任何人都能学习它,修改它,并进行重新发布。任何人可以从网络上免费下载Linux的内核、大部分自由软件、文档,通过新闻组(Usenet) ,邮件列表(Mailing list),IRC(Internet Relay Chat)等Internet资源得到强有力的技术支持。1.1.4 自由软件的保护伞GPL协议大多数商业软件的许可证都会剥夺用户分享与修改软件的自由,而GNU通用公共许可证,也就是GPL协议的发布,就是为了保护用户分享软件、修改软件的自由。GPL禁止任何人不承认用户自由的权利,或者逼迫用户放弃这些自由。它给予软件以版权的保护,禁止任何人将其私有化,同时提供给用户许可证,许可证给予用户分享、发布、修改软件的法律许可。GPL的最新版本是GPLv3,于2007年6月29日发布,但是Linux仍然采用着GPLv2,没有升级到GPLv3。用户可以从GPL的官方网站(/licenses/gpl.html)上了解到GPL协议的最新动态与信息。1.2 Linux的优势有这样一句广为流传的描述:“Linux做不了的事就是不需要做的事。”这话不免有些偏激,但也不是没有道理,它很形象地说明了Linux的实用性。Linux的众多优点与特点使其在许多领域都有着极其重要的应用。1.2.1 开放性Linux作为一款开源的操作系统,其内部是完全透明的。它继承了Unix的开发理念与哲学,提供了各类编程接口和工具,用户可以根据自己的需要为系统开发各种程序或工具,这些小工具往往能够互相协作从而完成更为复杂的任务。在Linux操作系统中,用户甚至可以自己修改、编译内核,打补丁,然后上传给Linus本人或者是Linux的内核开发团队。而正是这样的开放性的开发模式使得Linux一步步走向成功。1.2.2 价格与费用Linux操作系统不仅公开源代码,而且绝大多数发行版本都是免费的,更有像ubuntu这样的发行版本为用户提供免费邮寄业务。价格的优势对于Linux来说是无比巨大的。即使是Linux的商业版本,例如Redhat Enterprise Linux,它所收取的费用相比较于其它商业操作系统,还是非常低的。1.2.3 可移植性有这样一句对Linux可移植性的评论:“只要有CPU,就能装上Linux”,确实,由于Linux操作系统的源代码95%以上是用C语言实现的,而C语言是一种与计算机无关的高级语言,所以Linux操作系统移植性非常好。Linux不仅可以运行于Intel芯片架构的机器上,同样能够移植到基于Alpha的Compaq机、基于MIPS的计算机、基于Motorola 68K的计算机、PowerPC还有IBM S/390机。只要愿意,甚至可以将它安装在PlayStation 3这样的游戏机上以及苹果公司的iPod音乐播放器内,等等。在嵌入式应用领域,Linux也有着不俗的表现,电视机机顶盒、手机、导航系统等设备的内部都有Linux操作系统的身影。1.2.4 多用户多任务Linux是一个完全受保护的多用户多任务操作系统,它可以支持上百甚至上千个用户同时使用一台计算机来运行他们需要使用的程序,而每个程序的进程间可以通信,并且这些进程都是受到保护的,不会受到其他进程的干扰。多用户多任务的功能可以让一台计算机的资源充分的被利用起来。比如,用户A在使用打印机打印文件,用户B在使用浏览器浏览网页,用户C在使用编辑器编写代码他们之间互不影响,互不干扰,而系统资源可以最大程度地被各个用户所利用,使用成本就减到了最少,这就是多用户多任务操作系统的根本目的所在。Linux操作系统无时无刻不在出色地完成这样的多用户多任务工作。1.2.5 应用领域Linux如今的应用领域已经极为广泛。在服务器领域,Linux一直以来都是最佳候选系统之一,Linux+Apache+Mysql+PHP被人们称为开源黄金组合LAMP。LAMP在成千上万台运行着关键业务的企业服务器上服役,在世界前500强的企业中扮演着极为重要的角色。在桌面应用领域,用户可以从各种Linux发行版本的软件仓库找到合自己心意的自由软件,它们能够为用户处理文字,加强网络安全,便于系统管理,等等。Linux下的自由软件最大的特点就是其开放性吸引了许多职业或是业余的开发者志愿为软件进行拓展。例如网络即时通讯协议集合软件pidgin,其爱好者和开发团队为其写了几十种实用的插件,用户可以根据自己的需要利用插件来拓展程序的功能。如今,Linux 操作系统同样能够胜任桌面环境下的绝大多数工作。1.2.6 硬件支持愿意支持Linux的大型IT厂商如今越来越多,这些厂商发现支持Linux事实上是有利润回报的。并且随着Linux的流行,这样的利润会越来越大。Linux在新硬件的支持速度上没有微软的Windows操作系统来得快,但是对于硬件配置较差的机器非常友好。Linux仍然能够非常顺畅地在各种配置较低的计算机上运行,但是版本越是新的Windows操作系统,对于硬件的要求就越苛刻,到了Windows Vista更是变本加厉。在Windows用户抱怨自己的机器配置不够好时,Linux操作系统却可以欢快地奔跑在已被淘汰多年的计算机上。Linux操作系统可以裁减到只有不到10兆大小,然后装在一个过时很久了的机器上做防火墙使用,而这是Windows无法办到的。同样的,要开启机器华丽的桌面效果,Linux的硬件配置要求大约只有Windows Vista的四分之一,而实现的效果却远比Vista漂亮。所以,Linux操作系统的平易近人是它非常大的一个优势。1.2.7 安全性与稳定性Linux操作系统是非常稳定与安全的。在Linux下,用户几乎不需要担心自己的系统会中病毒,并且不要担心系统会突然失去一切响应,造成死机。因为系统完全死机或是中病毒在Linux操作系统下发生的概率就好比中彩票那样小。Linux的安全性大致要归功于两方面,一方面是Linux无法运行Windows格式的程序,所以Windows下的病毒文件到了Linux下就是一个毫无意义的普通文件罢了,无法在Linux上运行发作。另一方面就是Linux坚固的系统结构以及权限机制,这继承了Unix的优良传统。一般来说,Linux下各种普通的操作都是由普通用户完成的,普通用户的权限范围非常小,根本无法对系统动任何手脚。所有关键性质的系统配置等操作也不一定需要成为超级用户root才能完成。如此权“线”分明的安全机制使得非法用户很难随意入侵破坏Linux系统。1.3 Linux的不足虽然Linux操作系统在大部分科技应用领域是如此的出色,但是部分桌面应用始终是Linux狂热爱好者的心病。大部分优秀的商业软件考虑到自身的利益,没有开发Linux平台的客户端,虽然其中有一部分在Linux下有替代的软件,比如用GIMP来完成Photoshop的工作,用eva来登陆QQ,但是它们当中大多不是功能不够齐全就是操作习惯上无法让使用惯Windows的用户所立刻适应。并且,有许多软件在Linux平台上是没有软件能够替代的,这类软件中主要就是一些大型的游戏。另一方面,标准也是一个问题。虽然OpenO是Linux下非常优秀的办公软件,但是它却无法完全正确地打开doc等已被广泛使用的Microsoft Office格式的文件。还有一个主要的问题就是对网络银行的支持,由于中国国内大多数的网络银行只支持浏览器Internet Explorer,而Internet Explorer是微软公司的操作系统Windows平台上的浏览器,不支持Linux。所以只有少数支持Firefox浏览器的网络银行才能在Linux上使用。在桌面应用的响应能力方面,相比较于Linux,Windows要更胜一筹。这是因为Windows在底层对用户的指令进行了优化,所以系统在接受到用户的命令后,会优先执行,而这会影响到系统的稳定性。同时,Windows的图形库是在内核中,而Linux的图形界面好比是一个运行在系统上的程序,再从这个程序上运行图形程序,效率方面要比Windows略慢一些。另一方面,Linux操作系统没有在系统稳定性上进行让步,宁愿让其桌面响应速度稍微慢一些,所以,造成了部分用户抱怨的“Linux速度慢”的错觉。Linux是一款定制性很强的操作系统,这样一来,对用户自己配置系统、DIY能力等方面的要求就高了。所以Linux不适合动手与接受能力比较差的群体,例如中老年群体。同时,Linux的汉化支持还有待改进。由于Linux下的许多软件都是自由软件,没有官方支持这样的形式,翻译工作需要有志愿者参与,所以部分软件的汉化还没有跟上步伐,导致了许多英语水平有限的用户面对Linux望而止步。Linux的不足已经越来越少了,全世界的自由软件爱好者都在为Linux这样的类Unix开源操作系统作出自己的贡献,它的各种不足正以惊人的速度被一一弥补。1.4 一切灵感的来源UnixLinux与GNU一样同样也是Unix操作系统的一个自由变种。Unix已经不再是一个操作系统那么简单了,它是一个强大的家族,是迄今为止生命力最为顽强的操作系统,这种生命力不但没有衰竭,反而得到了更为强劲的延续。Unix操作系统在各类计算机上所服役的时间比其它所有分时操作系统(Time Sharing System)的总和还要多。究竟是什么造就了如此出色、稳定的系统神话呢?关键就在于它的开发哲学。1.4.1 Unix历史简述Unix最初是在1969年诞生于贝尔实验室(Bell Laboratories)的计算机科学家Ken Thompson的脑海中。在这之前,Ken Thompson是Multics项目的一名研究员,但是Multics项目最终失败了,被贝尔实验室终止。Multics项目给Ken Thompson带来了许多设计文件系统和操作系统方面的灵感。于是,Unix在PDP-7上开始了它的生命。从Multics项目中一起走出来的还有Dennis Ritchie(C语言之父,Unix创始人之一)和Doug McIlroy(Unix管道发明者)等人,他们都不希望研究Multics的热情和灵感随着项目的终止而终止,他们共同参与到了PDP-7上Unix的设计实验中去。最终,Unix操作系统被成功地设计了出来,它最初由汇编语言编写。到了1973年,Ken Thompson与Dennis Ritchie用C语言对整个Unix系统重新实现,在那个连软件都是用汇编语言编写的年代,这是一个了不起的壮举。图1.4 PDP-7Unix的历史是一本讲不完的故事书,它的高移植性使得许多厂商都开发了自己的Unix版本及相关软件。无论是商业化还是开源,Unix的生命力在无比顽强的延续下去。1.4.2 Unix的文化与哲学和其它操作系统不同的是,Unix操作系统有着自身的文化与哲学,恰恰是这种看似毫不相关的文化与哲学让Unix有着极为顽强的生命力。Unix环境的系统及软件开发从一开始就尊崇着K.I.S.S的哲学,K.I.S.S是Keep It Simple Stupid的简写,意思是让系统及其程序尽可能的简单。代码的简洁性对于程序的稳定性与安全性极为关键,越是编写得复杂的程序,就越难维护,更难找出其潜在的漏洞。K.I.S.S是Unix操作系统核心的开发哲学,对于一个Unix环境下的工具(Utility)来说,其代码不但要尽可能的简单,还要保持一定的弹性(Flexibility)。同时,Unix强调程序间的沟通性。几个小程序可以组合在一起使用,成为一个实现自己特定功能的新工具。而程序内部的模块与模块之间也要求具有良好的沟通性和弹性。除了强调程序的透明性与协作性,Unix还有一个重要的理念就是任何东西都是一个文件。在Unix下没有复杂的文件类型,几乎所有的数据格式都是一个普通文件,即使是设备文件也是如此。简单就是美,简单的构造给系统带来良好的稳定性,安全性以及弹性。这就是为什么Unix及类Unix系统坚若磐石,拥有顽强的生命力,原因很简单,就是因为简单。1.5 Linux!=Windows许多计算机用户的操作系统母语是Windows。的确,微软的Windows系统提供了易用的操作界面与良好的兼容性,在桌面应用领域,它是当之无愧的老大。百分之九十以上的普通用户使用着Windows,人们熟悉了“C:”,“.exe”,“注册表”等许多Windows下的特性。当用户初次安装并使用 Linux时,难免会有不适应与不习惯。因为用户很难一下子抛开Windows式思维。并且,有很大一部分人将电脑与Windows完全划了等号,经常可以听到“我电脑C盘下的文件被不小心删了,如何恢复”之类的描述,Windows操作系统无形之中对很多人产生了概念上的影响以及思维上的禁锢。Windows不会告诉用户除了它自己还有什么优秀的操作系统,也不会告诉用户命令行操作对于一个任务的高效完成的重要性,更不会告诉用户在它封闭的源代码中是否存在监视用户的后门程序。用户使用的是一个完全不透明的操作系统,他们无法知道其底层代码的实现方式,不知道系统文件夹中每一个文件的作用,不知道有多少垃圾文件隐藏在系统中,不知道甚至用户根本不会想到去知道这些。更多人关心的是将电影放在D盘好还是E盘好,杀毒软件用哪个好,遭遇病毒与木马时怎么办等不应该浪费时间去考虑的问题。Linux的学习是一个全新的过程,不要提出类似于“为什么Linux不能像Windows那样”之类的问题,不要以Windows的思维去定位Linux。两者是截然不同的操作系统,最初的设计理念,所针对的最终用户也大不相同。Linux正在走向成熟,并开始在普通用户中普及,越来越多的人开始选择并喜欢上这款自由的操作系统,因为如今Linux的操作性已经同样简便。1.6 问题解决之道在学习、修行的道路上,难免会碰到大大小小的问题。当遇到这些问题时,是直接求助于他人,还是自己先进行一番摸索?在摸索的过程中,什么才是最有效,最快捷的方法来解决所遇到问题?这些都是本节要讨论的主题。1.6.1 提问前书是人类进步的阶梯,在刚开始学习Linux的时候,手头最好有一本入门或者参考的书籍,在遇到问题时可以随时查阅。也许您会觉得很荒谬,用个操作系统还要买书看。的确,有多少人会去买Windows操作系统的入门书籍呢?Windows提供了极其傻瓜的用户界面,而Linux不一样,Linux乐意让每一个用户去探索它,学习它,分享使用它的快乐。每当一个看似困难,实质上有可能很简单的问题被解决后,都会另人感到无比的兴奋。在拿到一本好书后,静下心来仔细阅读每一个重要的知识重点和难点是关键,Linux的学习多以实践为主,实践往往比学习理论更能让人掌握知识要点。在学习Linux的一开始,不要指望它能胜任用户所需要的一切工作,会有一个摸索的阶段。所以,大胆地在计算机上去尝试,去实现自己的一些想法,不要害怕Linux会崩溃,硬盘会受损,不要出现任何类似的担心,大胆的实践可以从中领悟到书上没有教授到的东西。在实践的过程中如果遇到问题,自己探索无果,并且无法在现有的文献资料中找到答案,那么这时就要向网络求助了。通过网络搜索引擎(Search Engine)的搜索,可以找到许多实用的信息,更多的情况下还能找到其他用户提的类似的或者是一模一样的问题,这时问题就能利用现成的网络资源很好的解决了。当上述方法都无法奏效后,可能用户所遇到的问题就是一个特例,这时,就要向身边或者网络上的朋友以及专家请教了。1.6.2 提问场合与标题要进行提问,首先要知道在哪里提问能够更快更好地得到帮助。在一个与问题毫不相关或者不适宜的论坛版块或者是新闻组提出问题会直接遭到忽视。所以,在论坛版块或者其它问题交流场合的选择上,要将问题对号入座。同时,类似“高手进来帮帮我!”,“小弟跪求”之类的问题标题是最糟糕的,几乎所有人都厌恶这样低水平的问题标题,更懒地去回答了。一个好的问题标题应该做到言简意赅,用最少的字符表达出问题的核心内容。表1.9提问标题范例问题前缀问题标题对应版块ubuntuIntel GM965 X3100无法开启桌面特效系统配置;驱动问题软件配置KDE下如何修改p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论