主题:关于Linux的推广——普通用户篇 -- 万斤
本来这个文章的标题叫做管理员篇,可是pdfwold朋友认为我把Linux下面的开发说的过于吓人了。所以我决心在这个帖子里面,着重讨论Linux的优势。
很多朋友建议使用wine,认为我没有提到wine。我在这里做个简要的说明,我介绍的程序以稳定的生产型工具为主,而wine这方面有很多不足:第一个问题是wine的版本升级非常快,而且小号(minor)版本(比如0.95 - 0.96)之间的区别很大,经常上一个版本可以用的程序,到了新版本反而不能用了。 第二个问题是wine下运行的程序,即使是像photoshop这样相对长期被稳定支持的程序,也经常出现各种奇怪的错误。第三个问题是wine的安装相当复杂,特别是当你想把wine当作一个真正的环境来对待的时候,就不太可能在/home/user/.wine下面安装(否则home目录分区会看起来很诡异)而且多用户配置,也有一定的难度。而它带来的优势却不能抵消这些明显的问题。所以我在这里推荐虚拟机方案。还有一个问题是游戏问题,我个人目前只玩Linux下面有本地版本的游戏。比如id系列,目前我最喜欢的游戏(其实不是游戏)是flightgear,一个飞行模拟器。而其他游戏,我建议还是在windows下面玩。
我在这里讨论的Linux的优势,不是通常宣传的那些优势,实际上很多优势我觉得是过于夸大其词了。我这里讨论的优势主要是我自己的感受,这种感受是每天能遇到,过几年以后看,有明显区别的优势。基本上,目前国内,包括在这里讨论的朋友,很多都是处于“用windows为主,但是能用Linux”,而我想谈的是指“用Linux为主,同时能用windows”这样的模式下面所带来的区别。我自己同时经历过这两种模式,之间的区别还是非常大的。
如果你不确定自己是哪种模式,只要问问自己:今天我立刻把windows从机器上彻底删除,明天是不是会遇到很多麻烦?(我绝对不鼓励这么做!)我本人,要是把windows删除,对我就没有什么影响。我家里目前有一个小型的网络,有两台工作站一台服务器,上面不存在任何windows分区,其中一个有vmware下面的windows 2000,但是很少使用。两台笔记本,一台是我女朋友的,一台是我的,我的那台上面也是linux。我女朋友的是学校发的机器,用的是windows,这台机器目前是我们主要用来看电视的场所,偶然也会用它处理点办公什么的。不过她最近对windows比较厌恶,准备转回去用linux。
其实我的感受,从全局来说,Linux目前基本上是超过了windows,嵌入式系统就不多说了。我本人是做科学计算的,在这个领域,基本上是Unix/Linux系统的天下。而最近几年则基本上是Linux横扫,Linux提供过去Unix下面几乎所有的服务,而且软件包丰富,升级很快。虽然Sun有OpenSolaris,但是目前还是用Linux占多数(当然还有一些用Mac),在我的周围(三维图像领域),软件几乎都是为Linux写的。我个人感觉Linux在这方面的优势主要是 1)这些程序通常运行在从上百个CPU的集群到老式的alpha工作站上。像我们现在的程序经常要处理几十G的数据。计算时间通常跨越若干个星期。Linux提供最佳的伸缩性和系统的稳定性,windows与之相比更像一个个人玩具,除了运行一个demo基本什么都干不了2)Linux下面的科学计算的库非常多,3)Linux下面系统设计比较科学,比如我去年早期就开始使用64位系统。所有程序现在几乎都是64位模式。而windows下面到现在为止都还没有普及64位系统。对于服务器方面,我也不多说,windows下面的服务器很难与之相比。
对于个人来说,我对linux的优点最突出一点的感受就是突出的稳定性。虽然大家都说linux稳定,但是只有自己长期用过才能真正感受到这个稳定的意义。
首先运行非常稳定。比如我在单位的机器,和家里的两台台式机一样都用的是Debian Sid版本,(Debian的不稳定版本),但是基本上一年就重启2-3次(主要是因为升级内核,或者更换硬件),到现在为止已经连续运行两三年不关机了。又比如我现在笔记本上面的系统,是从02年一台台式机上拷贝过来的。一直用到现在。这在windows下面也是几乎不可能的。
其次是操作的稳定,虽然现在linux下面gui有很大的发展,操作变化很大,但是命令行界面一直是非常稳定的。而且基本开发方法,开发工具也是非常稳定的。很多朋友在这里提到很多IDE,而我个人倾向于使用emacs/vim套装(Make/gdb/gcc ...),其中一个原因就是这个方法的稳定性,变化很小。在emacs下我用惯了subversion管理版本,最近转成git,一看操作界面,几乎一样。5分钟就搞定。我相信过20年,只要计算机基本模型还是这样,我估计这个方式也不会有太多改变。
还有一个稳定就是机器性能稳定性,Linux对不同配置的系统,都能恰如其分地运行,比如我的服务器,是althon xp 2500+,上面运行各种最新版本的服务器没有任何问题。我的笔记本是05年买的,是一个赛扬1.2G的thinkpad,在linux下面运行一直非常稳定,以前什么样,现在还是什么样,(我甚至最近装上了compiz而速度没有任何区别,你能想象在这样的机器上装vista吗?)。而我女朋友的笔记本,core duo 1.8G的机器,XP经常越用越慢,C盘越来越满。经常要查毒,查spyware....。经常一发作硬盘狂响,什么事情都干不了,所以我女朋友现在更倾向于使用linux干活(她本人并不太懂计算机)。
第四就是安心,windows下面想想即便是Gates都要抱怨流氓软件问题。这个日子不好过啊!而目前Linux相对来说,安全要严格很多。对于一般用户而言把端口封死,定期升级安全补丁即可。
第二个突出的感受就是省时省事,虽然都说Linux是免费的,但是实际上对一般用户而言,这点可以忽略不计。我突出感受其真正省钱的地方是在后期维护方面节约大量的时间。特别是对于计算机管理方面,方便性是windows没有办法比的。
我最觉得方便之处就是,Linux下面通常管理一群计算机和管理一台计算机是差不多的,我现在是两台台式机,一台服务器,但是只有一台机器上有两台显示器+鼠标键盘。不管是笔记本,还是台式机,甚至我女朋友的windows机器,只要通过ssh+xforwarding进入任意一台主机,就可以调动所有的相关计算机的全部功能,甚至同时包括学校的服务器和公司的服务器。Windows下面类似功能相比而言要差很多。虽然remote desktop(Linux下面也有类似的东西)。我现在经常是开两三个窗口,每个窗口管理一台计算机。
第二个方便之处是软件包管理,和现代的linux包管理系统,比如Debian的apt/dpkg系统以及Gentoo的Portage系统相比,windows 的软件包管理简直就是幼儿系统。我自己是把/etc目录,以及dpkg数据库,还有kernel配置文件都用subversion管理起来。我所有的计算机的配置,都处于这个统一配置的管理之下。万一我需要买一台新的计算机,几个简单的命令就能把我当前所有的系统配置拷贝过去(不用cp方法),非常方便。
第三个是文件系统清晰:/etc下面保存几乎所有的设计,/var下面是具体程序的数据,/home下面是所有用户文档。有一个直接的目录树来管理。而且远程的计算机硬盘可以直接用nfs来挂接到本地目录。多台计算机的数据可以合并成一个总体来进行安排。同时采用文件系统采用LVM+XFS,可以动态增长分区,所以我的硬盘分区一般就两个1)一个2G的开头分区,保存一个基本的Linux系统用来处理特殊情况,2)一个几百G的LVM分区。具体大小再按照各目录使用的情况来动态分配。非常简单。
第四是不同系统之间同步,备份非常方便,rsync,tar,subversion等等这些工具能够让我各种计算机的数据之间有一个良好的协调性。而且有大量的工具可以进行这方面的维护。这对系统的维护至关重要,而Windows下面类似功能不够强大。
还有一点就是Linux的核心设计哲学通常都非常简单,比如它的开机过程,一步接一步,我01年花了2天看懂,到现在还记得,非常容易理解。要想做个修改,非常容易。而到现在为止又有多少人知道win开机都做了些什么呢?我现在怎么样才能把xp放到光盘上或者U盘上去运行呢?windows下面由于封闭,做任何简单的任务,都需要大量的专业工具来进行调整,而这些工具之间并没有太多的协作性。远远增加了系统维护的难度。
第三个突出感受是自主性很强,windows下面,大部分人要做的就是跟着windows从里到外不停地升级。基本上,不管是windows做开发,还是只是使用,win下面都有一些非常清楚的,体现公司意志的主线,而你要做的就是跟着这个主线走。我记得早期的框架叫做OLE,后来叫做dcom,现在又改叫做.net。虽然Linux下面也经历了Corba,dbus等类似的升级,或者GTK 1.0 变成GTK 2.0,但是Linux对此并不是完全强迫性质的。这样,不管是用户,还是开发人员,可以按照自己的思路,独立写库,独立进行开发,受外界影响小。相对来说windows就要严格地多。
这方面,倒是可以理解,公司的产品,关心的是标准性,交互性。但是带来的一个问题是当比如微软公司的大框架变了,下面所有的软件就要跟着多多少少有变化,很不幸地是,这个变化还相当地剧烈。Linux相对要稳定的多,基本设计变化小。加上源程序公开,库的历史记录清楚,所以很容易维护已经开发的软件的独立性和完整性。
先打到这里,欢迎批评指正。
- 相关回复 上下关系8
🙂是啊,这就是linux成为阳春白雪的原因 瓦斯 字185 2008-03-31 00:46:10
🙂你的USB wireless好像可以用RalinkRT73驱动 万斤 字297 2008-03-27 02:49:13
🙂有个MULTIGET. 隆飞 字88 2008-03-26 20:59:10
🙂关于Linux的推广——优势篇
🙂这个不能一概而论 fanix 字173 2008-03-29 12:50:13
🙂Linux 现在最大的问题是动不动死机 1 任爱杰 字725 2008-03-28 22:35:02
🙂这个批评很到位,写driver的人太少,几个大厂家 老成都 字78 2009-04-03 08:13:57
🙂个人感觉SUSE的显卡支持不错。 粗茶淡饭 字215 2008-04-04 06:13:56