五千年(敝帚自珍)

主题:关于Linux的推广——普通用户篇 -- 万斤

共:💬381 🌺357
全看树展主题 · 分页首页 上页
/ 26
下页 末页
家园 问个问题:用什么替换山口山?
家园 咳咳,那个例子是教科书上常见的

我读书的时候就作过一个作业,录像带管理系统,现在应该与时俱进,让我改成影碟了。

这是个麻雀虽小,五脏俱全的例子,简单来说,要建立顾客的资料,影碟资料,必须能够更新、查询。还要记录租碟,还碟的交易,看看有无过期未还,最后还要产生一些统计报表。

至于.Net,简单来说,就像Java,是个Framework。其中一个不同之处在于它支持多种语言。

家园 山口山是啥?
家园 山口山就是WoW

Linux下游戏是无解的,在虚拟机或者Wine下玩分明就是自找不痛快。

家园 如果是我做

我看了一眼,如果就是内部机器上用,一个理想的方法是用python开发,数据库用Berkeley DB,如果要求多用户使用,编程的时候需要考虑多进程协作。简单的统计可以自己写。报告生成有可以采用电子邮件形式也可以采用LaTeX 模板 后者可以直接生成 pdf, txt, html ....

家园 前面讲得很好

这里讲的有些主观了。.net是啥你都还不清楚的话,是没法评论和比较Linux和Windows下面的编程的优劣的。

家园 Word 2003 可以通过Wine运行

好像楼主没有提到。我是在opensuse10.3,wine(0.9.58)上运行Word 2003,感觉和在windows下运行没有什么区别。

家园 WOW还真有拿WINE来玩的.

而且似乎速度还过得去.当然还是比直接用WINDOWS慢一些.

家园 关于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相对要稳定的多,基本设计变化小。加上源程序公开,库的历史记录清楚,所以很容易维护已经开发的软件的独立性和完整性。

先打到这里,欢迎批评指正。

家园 LINUX下的娱乐软件

例如下载工具迅雷(好象没有), BT, 播放用的暴风影音, REAL PLAYER, 都有吗?

我鼠标是MS INTELLIMOUSE EXPLORER 3.0, 很怀疑在LINUX下能用否. 还有最大的麻烦是LINKSYS WIRELESS-G USB NETWORK ADAPTER, 具体型号也不知道是啥.还是有线的容易弄啊.

还有一些行业软件, 例如, 广发证券的东东也只能在WINDOWS上玩.

家园 有个MULTIGET.

类似于老版FLASHGET.

BT我用TRANSMISSION.

EMULE我用AMULE.

播放用MPLAYER/XINE.

家园 从维护的角度,那Linux没得说

特别是OP的方向,windows的平行计算平台估计没什么影响。稍微大点儿的cluster,没个几百上千就不要提了,上千台跑windows的cluster俺孤陋寡闻没听过。稳定性上基于linux的cluster,7x24跑个一年,也就重起个三四次足矣,大概一两次也行,当然停电不算。

但是很多经常用的软件,linux还不多,或者功能和习惯上差很多。例如要是经常用Photoshop的,对应的软件就差点儿,别跟俺提GIMP,那还是差着段距离呢。还有一些数据处理软件,像Origin,SigmaPlot等等。当然您说matlab也有linux版的,不过那玩艺儿不得自己写嘛。至于SAS,minitab,这些玩艺儿的linux版好找不?当然R也能干这事儿,可这边儿很多学校的statistics学生,离了SAS就抓瞎。万一哪位喜欢编辑video的(普通使用的说),好像Pinnacle有一款,那俺一直用别家的,例如傻瓜的Ulead,那可咋办?

其实Linux的软件还是太少,或者对应的软件在GUI或者HCI上还是有很大的差距的。

家园 那些大型软件,Linux下没有。

一般的小型软件,还是很齐全的。从媒体播放,共享上说, cifs, nifs, samba, upnp client, server,

audio player, media player, 开源的软件多了。

家园 Subversion有Windows版本的

我在上一家公司的时候,用的就是Windows版的Apache+Subversion做SCM系统的。

现在我自己写点小程序也用Subversion管理,不过没有再装Subversion,而是直接用TortoiseSVN客户端了,不需要服务器端。

家园 上千台的Windows的cluster

还是有的,而且还不少。最近听了一耳朵的是Microsoft自己要在2010年左右达到一个一百万台左右规模的server farm for Live Search.

全看树展主题 · 分页首页 上页
/ 26
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河