Total Pageviews

Saturday, 19 November 2011

我们为什么要用 Linux ?

见过无数 Linux 初学者,却几乎从未见过有人完全抛弃 Windows,唯一一个在我影响下成功脱离 Windows 的某人,还是用的 Mac!下面我就来罗列一下各种学习 Linux 的(不靠谱的)理由……

    Linux 很酷。有句话是这么说的:“帅有什么用?还不是被卒吃掉!”基于耍酷玩 Linux 注定是不能长久的……没事儿买辆保时捷,半道儿没油了才想起来问:这马子咋这么废油呢?电脑首先是一个拿来用的工具,Windows 用的好好的,你干嘛非要换个系统呢?是,现在 Linux 的桌面是很炫,特别是 3D 效果之类的,但我看来看去也就半透明窗口这一条能提高点工作效率,就连多桌面这个功能,也被我实验室同事说成是“poor man’s solution to multi-monitor”。而且很多程序在 3D 桌面下工作有问题,动不动就 crash。我看我周围的 Linux 用户,还开着 3D 桌面的不是极高的高手就是极新的新手。
    Linux 本身和大部分软件是开源的,或者至少是免费的。这个理由看起来很诱人,其实也不靠谱。Windows 下好的免费软件也很多,关键在于发现。还是那句话,Windows 下用的好好的,为什么要投资这样的迁移成本?换软件环境的适应期是很长的。Windows 下很多优秀的收费软件,在 Linux 下都很难找到同样质量的替代品。开源这个理由对于新手就更牵强,有多少人会自己去修改代码?然后这些软件将来出新版本你如何跟进?另外,免费这个理由,也要考虑到学习和维护的人力成本。
    Linux 系统稳定,不会有木马和病毒。这理由更不靠谱,说到底只不过是个使用习惯的问题,如果你是一个连 Windows 都用不好的人,那么到了 Linux 下面照样能把系统搞崩了。我的 Windows 系统用了五年还是很稳定,实在没必要对 Linux 盲目崇拜。
    Linux 效率高,适合破机器。这么说,如果有好机器,你就肯定抛弃 Linux 了?裁剪过的 Linux 确实挺适合嵌入式系统,不过一般的普通桌面用机,XP 并不比 Linux 慢(Vista 我们就不说它了)。
    会 Linux 的话简历上写着好看。功利主义是注定要失败的。

说了一堆新手学习 Linux 不靠谱的理由,那么有没有什么靠谱的理由呢?列几个:

    Linux 做服务器很稳定。前提是不要搭配什么乱七八糟的硬件。破硬件让 Windows 蓝屏,同样也能让 Linux kernel panic。
    Linux 核心命令集经过几十年的发展和验证,不但参数丰富而且性能可靠。这个同时使得远程操作极其方便,强化了 Linux 作为服务器操作系统的优势。
    Linux 下系统包管理能自动可靠的安装大部分通用软件,特别是装开发环境很快速,用来开发调试小软件很方便。(如果开发大软件呢?当然是你同事用什么你也用什么,如果你是项目经理,那就去问你老板。)

大部分优势都和 Linux 桌面没什么关系,实际上,Linux 桌面也没什么优势,Linux 的优势不是新手立刻就能体会到的。所以,说说我对 Linux 新手的建议:

    忘掉 Windows 的工作模式,Linux 是一个全新的环境,做事的时候想我希望做什么,而不是首先去想我在 Windows 下做这件事的具体步骤。
    碰到问题多搜索多求助。搜索尽量用英文。求助尽量把问题表述完整,不要加入自己三脚猫的判断和推理试图简化问题。碰到傲慢的老手尽量容忍,有的时候只是因为你的 Windows 思维无法和他们有效的沟通导致他们不屑和你沟通。
    如果周围有人在用 Linux,一定要经常骚扰他们。学习 Linux 初期有人指导和没人指导的差别是巨大的,有的时候前人的一句话甚至一个词都能让你少走很多弯路。
    当 Linux 和 Windows 交换数据出现问题的时候,不要怪罪任何一个操作系统,把精力集中在解决兼容性问题上。Linux 下编辑的文件到了 Windows 记事本里看没有回车,这应该怪谁呢?
    不要排斥命令行操作。Linux 不是古老的 DOS,命令行很强大也很必要。图形界面不是万能的。Linux 的命令行就像 Windows 的注册表,用久了肯定要接触到。
    Linux 是人,不是神,请允许 Linux 犯错误。Linux 也会死机,程序也会 crash,硬件也有驱动不了的,不要失去信念。
------------------------------------------------------------

Linux系统的优点

绝大多数基于Linux内核的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如 Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux。但有些人只把操作系统叫 做"Linux"。
基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命 令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因 为这两者的基本思想十分相近。

linux桌面

过去,Linux主要被用作服务器的操作系统,但因它的廉价、灵活性及Unix背景使得它很合适作更广泛的应用。传统上有以Linux为基础的 “LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”经典技术组合,提供了包括操作系统、数据库、网站服务器、动态网页的一整套网站架设支持。而面向更大规模级别的 领域中,如数据库中的Oracle、DB2、PostgreSQL,以及用于Apache的Tomcat JSP等都已经在Linux上有了很好的应用样本。除了已在开发者群体中广泛流行,它亦是现时提供网站务供应商最常使用的平台。

1、低廉性

基于其低廉成本与高度可设定性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及行动装置等。在移动电话上,Linux已经成为与 Symbian OS、Windows Mobile系统并列的三大智能手机操作系统之一;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数位摄影机使用了经过定制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部分LinkSys的 产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。
2、广泛性

采用Linux的超级电脑亦愈来愈多,根据2005年11月号的TOP500超级电脑列表,显示世上最快速的两组超级电脑都是使用Linux作为其 操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。
除了一部分专家之外,大多数人都不自己选择每一样组件或自行设置,而是直接使用Linux套件。
2006年开始发售的SONY PlayStation 3亦使用Linux的操作系统。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。至于游戏开发商雅达利及id Software,都有为其旗下的游戏推出过Linux桌面版本。此外,Linux Game Publishing亦有专门为Linux平台撰写游戏,并致力于把其他在Windows平台编撰的游戏程序码转携至Linux平台,及为转携游戏提供使 用授权。
而一个打算对所有生活在发展中国家孩子提供手提电脑的名为“每孩子皆有一部手提电脑(OLPC)”的项目,正是使用Linux作为缺省的操作系统。
我们不必探讨Linux源代码的开放给我们带来多大诱惑,我们只研究Linux对我们的生活有何帮助。我们在平时只要掌握Linux最基础的应用, 以及安装及使用就可以了。对Linux的操作现在发展到了在命令行下操作以及像Windows的桌面系统般的应用。对Linux不是很了解的用户可以选择 桌面型Linux安装。
这里把对Linux的一些疑问解答从网上整理一下,贴出来,希望对那些想要了解Linux的朋友有所帮助。
3、灵活性

Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限 下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译 器等应用软件。它还包括带有多个窗口管理器的X-Window图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
4、倍受青睐的原因

Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据 自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix 操作系统的人都可以从Linux中获益。
运行Linux需要的配置并不高,支持众多的PC周边设备,并且这样一个功能强大的软件完全免费,其源代码是完全公开的,任何人都能拿来使用。说到 这里,各位可能怀疑这免费后面是不是隐藏着什么?作者会心甘情愿的把它拿出来而分文不取吗?其实,它代表着软件开发的另一种概念:那就是基于GNU的版权 制度。
版权是为了保护作者应有利益而设立的制度,但时至今日它却对科技的发展造成了一定的阻碍。例如现在病毒的肆虐,就是因为微软不肯将Windows的 源代码公开。杀毒软件的厂商只好自己去钻研OLE结构。还有,Intel为了保住自己的霸主地位,建立了一个个不许其它厂商使用的硬件规范,造成众多开发 者并不是为了提升技术而是为了兼容性而耗费资金和时间,这样就造成了科研发展的混乱和垄断。
为了改变这种状况,Richard M. Stallman在1984年创立了以生产免费软件为目的的组织--Free Software Foundation(自由软件基金会,简称FSF)。他认为:各个软件公司为了自己的利益不公开源代码会阻碍人类文明的发展,一个真正好的软件是为了替 人解决问题,应该散发给需要的人。他开发了一个叫做GNU的计划,第一套软件就是GNU Emacs(UNIX平台下强大的编辑器)。任何人都能免费拿到这个软件和它的源代码,于是许多人自发的修改这套软件,为它增加功能。为了明确GNU的规 范,Stallman发表了GNU General Public License和GNU Library General Public License授权声明,根据这些声明,所有的GNU软件都可以被任何人下载、出售、复制和修改,但必须提供程序源代码或者让使用者知道从哪里获得源代 码!但不论免费或者收费,任何得到这些软件的使用者都有和提供者同样的权利,可以将它们赠送或出售。由于这个授权,GNU软件像滚雪球一样越来越多,功能 也越来越强。当然,这样做也有不良的效果,如果开发商的利润减少了那么就没有人愿意真正开发软件了,毕竟人还是要吃饭的呀。不过随着Internet的盛 行,大众越来越容易得到各种各样的软件,而且大多只为一时之需,用完之后根本不会再用,一个软件的使用寿命就大大缩短,在这种情况下,传统的电子出版行业 应该做出相应的调整。
Linux核心程序的著作权归Linus本人所有,其它应用程序归各自的作者所有,但按照GNU授权,任何人都可以采取收费或免费方式来发行 Linux,并在符合该授权的规范下做修改。这样就有了一大批的免费程序移植到了Linux上,包括GNU Emacs、XFree86、Mozilla等经典软件,并且在不断壮大中。由于源代码是公开的,任何一个使用Linux的人在添置了新硬件后都能自己编 写驱动程序,所以Linux对新硬件的支持已经超过了许多专业UNIX系统。Linux的成功如果没有Internet是不可能的,因为Linux实际上 是世界各地众多程序员共同开发的结果。
5、不断完善中

现在的Linux经过数次改版(包括核心的升级和周边程序的完善),已经发展成了一个遵循POSIX标准的纯32位多工操作系统,64位版本也在开 发之中。Linux可以兼容大部分的UNIX系统,很多UNIX的程序不需要改动,或者很少的改变就可以运行于Linux环境;内置TCP/IP协议,可 以直接连入Internet,作为服务器或者终端使用;内置JAVA解释器,可直接运行JAVA源代码;具备程序语言开发、文字编辑和排版、数据库处理等 能力;提供X Window的图形界面;主要用于x86系列的个人电脑,也有其它不同硬件平台的版本,支持现在流行的所有硬件设备。就性能上来说,它并不弱于 Windows甚至UNIX,而且靠仿真程序还可以运行Windows应用程序。它有成千上万的各类应用软件,并不输于Windows的应用软件数量,其 中也有商业公司开发的赢利性的软件。最可贵的是:它是一个真正的UNIX系统,可以供专业用户和想学UNIX的人在自己的个人电脑上使用。Linux是一 个非常灵活的系统,相对于Windows而言也是一个比较难用的系统,就如同大多数用户用不惯MacOS的单键鼠标一样。想要对Linux轻车熟路,你必 须懂得一些相关知识,软、硬件的配置,最好还懂点程序,因为没有人有义务为您提供技术支援,除了和其它用户交流之外 ,您必须要自己解决问题。当然,如果您只是作为日常应用,就不需要那么复杂啦,Linux一样会为您提供完美的操作环境,你所要做的就是改变使用习惯和成 见。
早期的操作系统是没有图形界面的,自从Apple于1984年推出System 1.0开始,个人电脑才实现了真正的GUI(Graphics User Interface,图形用户界面),从此电脑变得更加具有亲和力,也更加易于使用。Windows的图形化开始于Windows 3.1/3.2,直到Windows 95的出现才标志着多媒体时间的到来,从此计算机变得能说会唱起来。Linux始于UNIX,却青出于蓝胜于蓝,同样拥有着不俗的图形用户界面,性能更稳 定,也更漂亮,可以和世界上曾经出现过的,最美丽的操作系统媲美!不同于现在的XP,Linux的图形界面是基于Console之上的,类似于 Windows 95架于DOS之上,Linux下实现图形界面的是X Window系统(区别于MS的Windows)。
X Window是一套用于UNIX的具有极大可携性、对彩色掌握的多样性和网络之间的操作透明性的健在式处理窗口系统。它和微软的Windows的工作原理 并不相同,不过两者都使用图形界面和窗口技术,从外表看来有那么一点点相似,但又存在着巨大的不同,实际上X Window的界面更加多样化,也更漂亮,且高效快捷。就Windows对于DOS的地位一样,X Window一改UNIX/Linux单调的文本界面,提供了一个友善的图形用户界面(GUI)。
1984年在麻省理工学院(MIT)电脑科学研究室工作的Bob Scheifler正在发展分布式系统,DEC公司的Jim Gettys也在MIT进行A-thena计划的一部分。两者都需要一套在UNIX系统上使用的图形界面,因此两者开始合作研制X Window。1987年,MIT发布了第11个版本的X Window,并成立了非赢利性组织“X协会”来发展及控制X Window标准。所以现在的X Window并不完全是一个软件,而是一个协定,定义了一个系统所必须具备的功能。任何系统能满足这个协定及符合X协会其它的规范,便可称为X Window,它的源代码公开。因为X Window具有强大的与设备无关结构性,它提供了一组网络通信协议,任何硬件只要提供X协定,便可以执行应用程序显示一群包含图文的窗口,不需要重新编 译,这种与设备无关的特性只要是根据X Window标准所开发的应用程序均可在不同的环境下作用,这就大大减少了跨越不同平台之间的编译工作,应用程序更加具有可移植性。
Linux上最常用的X Window是Xfree86,它是MIT的X11R5的移植版,使用Openlook窗口管理系统,所以Xfree86是免费的。Xfree86支持现行所有的PC显示卡,但不一定支持它们的Windows加速特性,比如DirectX 9。
到目前为止,可以支持中文的Linux己不再是凤毛麟角,而且中文应用软件正不断丰富着。但一些商业软件并未完成移植,其中有诸多原因,在此不详述。

No comments:

Post a Comment