主题:关于Linux的推广——普通用户篇 -- 万斤
linux同样无法解决得,这个是硬盘的问题。
---------
无法解决?我在Linux下面没有遇到过这个问题(我的var和tmp在单独的分区下面)/var工作站下面用过3-4年通常不会超过6G(包含apt cache),这个和硬盘有什么关系?最差情况var可以用lvm进行动态增长。当然,像搭建apache或者mail server这样的情况我会把var专门进行优化。
Linux下面有很多程序在windows上确实很少见啊,应用程序只给Linux开发的就多了去了(不包括cgywin)。
比如我想用evince——一个看pdf的软件,这个包括全屏双页显示,Acrobat reader我上次检查了,好像还不行。比如links2啊,lynx啊什么的,我也经常使用。比如Linux-on-CD啊,XFS文件系统啊(这个对我比较有用)。比如compiz cube啊,比如ssh server啊,比如apt/dpkg啊。比如jail啊。比如evolution啊(这个win下面有,但是版本很老)。比如FAM啊等等。随便一想就是一堆。
windows同样可以用网络驱动器来动态扩展,谁说一定要把软件装在C盘的。当然lvm是比较好用,可是windows下也有动态磁盘的概念,分成逻辑卷也是可以的。
你要这么说我也没话讲,非要把*nix系统的专用软件拿出来,那我也能举出一堆windows下的特色软件,光微软的产品就够了。我看你老是把PDF拿出来说事,但其实微软对PDF得支持在不停的增加,新版本的office只要用一个extension就能自动生成pdf了。adobe的acrobat可以说是这方面最强的软件,你说要全屏显示两页,这很容易,虚拟打印一下就可以了,没准evince就是那么实现的,
为什么?因为它免费,因为它开源。
嗯?!
对,看起来好像很矛盾,但其实这里面的道理非常简单。
免费就意味着没有公司能靠卖linux和卖linux软件给普通用户来赚钱成长。这样也就没有公司有能力和资源来做客户支持和培训,也没有这方面的积累。靠票友提供的社区支持是不可能做大的。
而开源就意味着牛人们看什么不爽都可以自己改,这样版本泛滥,连内核都不久就一个新版不久就一个新版,加上应用和库的变化,加上没有统一协调的管理而造成的冲突,让普通用户根本无所适从。debian之类的包管理在一定程度上可以缓解,但没有从根本上解决问题,尤其是碰到升级那常常还不如从头格了重装。还不能赖着不升级,大家都去做新版本,老版本没有支持。
还有最关键一点,就是出了问题没法告别人,没法要赔偿,要骂人都不知道找谁,“you get what you paid for”。
加上应用和库的变化,加上没有统一协调的管理而造成的冲突,让普通用户根本无所适从。debian之类的包管理在一定程度上可以缓解,但没有从根本上解决问题,尤其是碰到升级那常常还不如从头格了重装。还不能赖着不升级,大家都去做新版本,老版本没有支持。
---------
我个人没有遇到你说的情况,我经常对整个系统进行大规模升级,对于unstable branch来说,是有一些包在刚开始有依赖性问题,但是一般一个星期左右就能得到解决。Testing 和 stable branch来说,相当稳健。而且Debian,Redhat 等对老版本的软件支持很好。如果你有具体这方面的问题,你详细列出来也许我能帮你解决:)
我工作上一般用gentoo,反正都是从头造,改也好改,无所谓。不过我也从来不推荐别的“普通用户”改用linux,以前专门搞过这方面公司,心得还是颇有一些的。
linux出了个啥问题,几百页厚的manual自己慢慢翻,要没有google,光培训一个管理员就要多久
window一个重起一个重装傻问题都解决了。
当时要给组里的sun solaris装一个lapack,花了一周多看manual,最后也莫名其妙的通了.后来改到 linux,又要重新来一遍
个人觉得linux关键是自己觉得自己听professional挺爽,作为一个没多少时间与兴趣搞这个东西的人,我觉得就是一个鸡肋。
我在几个操作系统下都调过程序,(我是做科学计算,fortran c++为主)我宁愿把程序放到 windows下面调好了,再upload到服务器上去,花点功夫去写makefile。而且如果linux下面程序如果出了问题,我一般就只有自求多福了。windows下面只要很短时间就发现的bug到unix下面就自求多福吧。
personally, i donot like linux, unix, freebsd and so on. Windows is good enough.
windows? And run it on linux with a little bit modification.
For a cluster, do u think it is easy to reinstall all of nodes? if yes, u can do the same thing on linux based clusters. Currently, linux based cluster systems are pretty stable if u just run common parallel programs. Like in my old team, we ran some cpu-intensive scientific programs on a couple of nodes. In general, the machines kept idle just around 1-2 weeks in one year. They were always working 24x7 in other days and only needed to be restarted 2~3 times one year.
Of course, if u always want to touch the kernels, that could be a nightmare.
But that's true, it is not easy to handle some packages on linux platform. Sometimes, the problems are very annoying. The good thing is that we have Dr. Google, though sometimes, it can't answer your questions.
in a data center?
除了挨踢人士,有多少普通用户一心扑在电脑上?
I know, in many system biology labs dry-side or pure dry labs, they built their own clusters. 100k could be enough for a 128 nodes(2xDual Core) on a rack, with KVM, Centrol Terminal, even UPS. That's not a big deal. The only problem is AC.
In a supercomputer center, the nodes could be more than 1k. The reason why those labs spent money to build clusters is that, though computing hrs are free for academic users from large SCs, like SDSC, NCSA, PSC, etc, u can't get enough nodes at one time if ur application is parallel. In general, in those SCs, the Q rule is not exact FIFS, also depends on how many nodes u apply. So it's very likely for ur job to stay in the queue for more than 1 year if u want more than 100 nodes for ur program once. Actually, this market is not trivial since computers are pretty cheap so far. RO1 funding form NIH is more than 1M, it's a piece of cake to spend around 10k on computing infrastructure. However, the costs of professional clusters are not acceptable for a lab or small team, even a company, like Blue Genes.
The energy bills will take a big chunk out of your pocket.
When you spend 100k on equipments, you will probably spend another 100k for energy in 3 years.
我的看法比较简单,人要做工具的主人,而不是工具作人的主人。无论是Linux, 还是Windows,Java也好,.Net也好,工具而已。
在目前的状况来看,工具间的差异不大,在某些领域,某些工具会有一些优势,但这些优势,很容易就被一些二流使用者,消耗殆尽。
另外一方面,作为开发人员,常有人在江湖,身不由己的感慨。以我为例,读书时,最喜欢的是C语言,深为其简洁高效的语法折服。可是出来工作,为五斗米折腰,一直用VB用到现在。
或许是市场的力量吧。
本帖一共被 1 帖 引用 (帖内工具实现)
我也对科学计算有一点小小的经验。LAPACK我也要用,Debain系统下面,LAPACK,ATLAS,RefBLAS等这些软件安装不超过5分钟。Redhat体系下面也有相应的rpm包。
就算是自己手工安装,LAPACK安装相对来说也还可以接受,你可以看看这个帖子里面的指导。最后生成两个静态连接库文件放到/usr/lib下面,相应的头文件放到/usr/include就可以了。
听你的描述,我建议你系统使用一下gdb,我认为gdb调试程序相当好用。我有时候也会使用valgrind。顺便,听说Sun下面的DTrace是个功能更好的工具,不过我没有使用过。
还是PC顺手些。TCO是个啥东西?
这是个好问题,其实以前搭Cluster的时候和老板聊天说起过这个,不过涅,好像他不用付,或者说,已经付过了。这个经费到PI手里大概也就一半儿了,单位是要截流的,其中包括电钱,不知道是不是非营利单位的电钱有折扣。至于金融机构,也不在乎这点儿电钱了。其实跟做实验的比便宜多了,他们一小瓶药品,也就几十毫克甚至微克,都好几百。一个array就1k,还只是array的成本,可是经常一二十个array下来,结果一分析,没什么有意思的东西,得,一两万打水漂了,这个才厉害,计算机的成本真的不算什么。