主题:关于Linux的推广——普通用户篇 -- 万斤
没有问题,我非常赞同你说的“总的来说,我觉得你对Linux的东西说得清楚,但在涉及到Windows上的东西的时候往往语焉不详,没有举出让人信服的例子。 ”,主要是我2002年以后就切换到Linux上去了,Windows 2000以后的系统基本没有正经用过(而且我个人认为windows 2000是MS系列里面最好的一个系统,很可惜快要不支持了)。所以可能最近windows发展的很快,我没有跟上脚步,听听像您这样的专业人士的意见,我非常高兴。
1。
“windows与之相比更像一个个人玩具,除了运行一个demo基本什么都干不了”
- 好像说得有些主观了?
在科学计算领域,基本上是这样,我很少听说哪个学校专门去搞一个大规模的windows集群,或者专门培养人去做相关的工作。一个最简单的例子,我上次要跑一个仿真的特大型程序(那个程序可以直接模拟一个核电站,或者卫星之类的设计)。那个程序,我花了半天时间就在Linux装上了,因为它的安装程序本来就是cshell的。但是我有个朋友的同事试图在windows下面安装,搞了1个多月还没有下文。
我听说现在有很多大型系统都在用windows,比如伦敦证券交易所就在用。不过这个例子太特殊了,我猜想 LSE主要看中的是微软提供的服务。这个就完全是另外一个问题了。
2。
“Windows下64位一直没有占主流不是个技术问题,而是64位并没有证明其与32位相比,有多大的投资回报优势。”
我自己的程序在64位方式下要比32位快大概10%。10%对我们意味着某些计算可以至少节约一天的时间。对于我的领域来说,64位有几个好处,第个是64位的整数所表达的数的范围在很多时候可以取代单精浮点数。第二是寄存器数量比以前多,这样可以把更多的变量放到寄存器内部,核心循环可以减少交换和寻址操作。
顺便,我认为即便是64位系统对于一般的信息处理没有太大的优势,但是既然现代的CPU都已经加上了这个扩展,Windows平台下面,以及第三方程序就应该利用它。而Linux这方面优点就非常突出。1-2年时间大部分的软件全部都成为64位的了(也和它以前就支持64位系统有关系)。而Windows平台方面反应太迟钝了。
3。
- 我同意你对Linux的看法,我认为那是可能的;但你没有论证为什么这在Windows下面是不可能的。
我认为windows下面也是有可能的,问题在于,现实生活中,几年长期不重启不关机,不重装系统是Linux用户的常态,而经常重启,关机重装系统是windows用户的常态。windows至少有50%以上的补丁,是需要你重新启动计算机的。而windows 几年运行,没有一个service pack供你下载?很多新的程序要求你运行service pack。当然如果你把windows机器独立出来就干一些简单的事情,不理会外界任何改动,那没有问题。但是像我学校的机器,我在上面写程序,玩游戏,升级显卡驱动等等等等一堆事情。windows 要做这些事情,我想还是要重启吧:)
4。
“这就是Windows客户系统所面对的安全困境。Linux是否能提供一个好的解决方案?如何在安全性和傻瓜性上找到平衡?”
在第一篇我就写的非常清楚,我一贯的思路是,我不鼓励甚至不支持什么都不懂,又什么程序都想运行的用户使用Linux。我绝对相信,如果一个什么都不懂的客户,一定要执意运行某种恶意软件,这个谁也拦不住。就像有一个人一定要把强盗骗子往自己家里引,又想拥有所有的权力,这个不是技术问题,而是基本教育问题。
第二,对于用户而言,如果你赋予它读,写,运行程序的权力,当然这个权力对他来说是绝对必须的,那么你就不能阻止它运行一个恶意程序进行读写操作,运行程序。但是,对于系统管理来说,能做到的是1)系统其他用户不受影响,2)甚至这个用户本身的关键数据不受影响 3)恢复速度足够快。
我本人并不是管理员,但是我可以提供一些基本解决思路是什么。这里可以简单地写写。这方面,也是Linux的优势。
第一就是要做好足够的备份工作。这一点Linux下面有很多强大的工具,可以支持非常复杂的备份策略,不多说。而且像Debian这样的系统可以在远程进行瞬间克隆。第二就是可以采用jail方式,或者虚拟机方式运行浏览器。和乱七八糟的小东西。
其实从我的角度,即便是一个工作站被感染了也不用担心太多问题。我这里提出一个方法,起到抛砖引玉的作用(我猜那些杀毒软件也是采用类似的机制)。
平时的预防可以用FAM程序来预防,FAM 本身可以监视任何对于系统文件的改动,一般的木马等程序,总是要通过某种系统程序漏洞获得root权限,然后抹去日志,改动相应的系统文件把自己隐藏起来,然后运行自己,并且在远端启动一个shell。但是管理员可以采用FAM可以随时监视当前系统文件的变化,把相关记录输出到服务器上去,并且用脚本立刻采取相关反应:比如立刻杀死所有相关用户进程,杀死所有shell的运行,进入init 1单用户方式等等。书写这样的脚本,并不是非常困难。这样能挡住大部分简单的病毒的感染。
再者,如果我发现我的机器被感染了,首先检查内核以及相关模组,/lib /bin /sbin 这三个目录下面的每一个程序是否被改动(直接强行拷一份新的也行)。然后用MD5 HASH检查每个文件的整合性。通常只要/etc, /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 几个地方的程序即可。就算是获得root下面的权力,这个文件,也并不难写。最后检查用户下面的所有可执行文件。如果真的很懒,直接拷贝就可以了:)
如果实在是担心系统的安全,还可以采用新的内核认证机制(这个我没有用过,一般病毒到不了这个水平)。在这个机制下,即便是root的权限好像也是有限的。
总之,在Linux下面,总有很多很多方法。而且Linux的开机自动化非常清晰,像流氓软件这种程序,几乎不可能存在。稍有经验的管理员,删除一个流氓软件实在是太容易了:)
5.
“- Windows下面一样有大量的remote management tool,GUI的和命令行的都有。实际上,大规模客户系统的集中管理在我看来是Windows的强项之一,因为这是大多数企业内部系统最需要的功能。”
Linux也可以很轻松地把客户管理集中到一台或者几台机器上,这个功能很早就有了。而且这个管理功能的整合性我不会认为比windows差。像我现在家里,公司的网络(学校有Novell),就是用OpenLDAP集中进行管理。而且这些管理程序,可以按照树型结构用subversion进行版本管理,机器和机器软件包配置的异同。具体什么配置不一样,什么地方一样。用diff就出来了。计算机管理,大部分情况我是用vim和emacs。
5.
“ windows 的软件包管理简直就是幼儿系统。” - 说具体些好吗?这样的话太感情化了。
windows到目前为止,没有一个统一的软件包安装,升级系统。和apt/dpkg这样的完全不是一个量级的。这个不多说,给一个例子。比如我现在要让远端计算机安装和我目前计算机上一样的软件,只要远端计算机下载一个最最基本的安装包,然后同步source.list,用dpkg把我这里安装的文件dump出来直接在那里用apt就可以全部复制。这个软件包列表本身,也是可以采用subversion,或者其他程序进行管理。如果我要知道两台机器哪些软件,哪些配置不一样,一个diff就出来了。(当然我不包括 /usr/local这个目录)
在这种管理方式下,比如要配置一台新的/已知的客户机,不用从头安装,只要拷贝一套最小化的Debian(100M左右),然后直接从subversion的树下下载所有相关的配置文件,和相关软件包。(这里可以专门为此机器起一个分支)。远程安装就可以了。windows 这方面,还有很长的路要走。
这个也顺便回答你,"类似于rsync的功能Windows下面一样有。关于tar和subversion我没太明白你具体指的是什么。"具体是什么含义。
6.
“Windows开机过程没什么神秘的,”
很神秘,关键是很难修改。Linux下面定制开机什么程序运行,什么程序不运行,什么程序在本地硬盘运行,哪些在远程系统上下载运行,如何自己定义变量。都很方便。比如,开机的时候,根据分配的IP地址不同定义不同的防火墙设置,这一点不知道windows下面怎么运作的。当然windows可以叫嚣说有工具可以实现这一点。那我可以把这个任务稍微改改:根据GPS给出的地理数据,自动应用相关的防火墙设置。这个对linux来说,实现这一步需要花费的时间很少。而windows就很难说了。
这个我绝对不是炫耀或者攀比,只是探讨怎么应用的可能性。非常感谢你的评论,而且你对我windows下面知识不足看得可真准啊!:)
本帖一共被 1 帖 引用 (帖内工具实现)
我确实喜欢用kdeveloper,跟windows下devExpress很像。vim也还可以,有人告诉熊仔,左ctrl+[就是Esc,熊仔短短的爪终于可以够到了。Emacs到现在也没学会,不知道linux下有eclipse没有,性能怎么样。
linux下有些命令太死性了,cd..都不行,非要cd ..
唉。国内有一本《鸟哥的linux私房菜》,据说不错,有河友看过吗?
网游的服务器据说一种要在本机编译的linux,绝对免费
linux的很多api和unix是一样的,比如创建共享内存区,可是性能似乎远远不如unix上的。熊仔记得曾经把一个sco unix下的程序拿到linux2.4.3上去跑,就死在这个上面。难道是熊仔配置的不对吗
单从这个惰性上来讲, 这些不过是一群鸭子, 而且会一直是鸭子. 我只是觉得奇怪, 放鸭子的居然也是一只鸭子.
国内用LINUX的真是少数.
我是高中的时候被LINUX的理念给忽悠了,当时硬着头皮装了N个乱七八糟的LINUX发行版,还有各BSD的发行版.全凭一股激情跟LINUX杠上了.
渐渐的越用越爽了就.
后来进了大学,才发现,这LINUX,要说其源码,我们学校有几个教员系统的研究过.但是他们居然都是在WINDOWS下用SOURCE INSIGHT和ULTRAEDIT来分析的.
很多笔记本这方面很差,在那个位置装个fn键。
emacs相对来说,要比vim上手更简单一些。Linux下面有eclipse,估计都差不多吧:)
linux创建共享内存区的问题具体我不是很清楚。不过你用2.6的内核试试?
用windows平台的?或者说科学计算方面的cluster,用的不多巴。
svn通常有5类访问协议:
file:///方式直接访问本地文件数据库。
svn+ssh:// 通过ssh方式远程访问,
svn:// 通过svn://网络方式访问svn服务器
http://以及https:// 采用http(s)方式通过apache+(ssl)访问。
是用什么软件虚拟呢?虚下来的性能怎么样?
我觉得用linux做底层,上层用虚拟出个windows比较合理。1主要担心虚出的系统和linux之间对换文件麻烦2虚出的windows上有些软件装不了3工行的网银一类的软件不能用。
如果类似问题都能解决,那么没事让两个系统共存,想用哪个用哪个,而且windows出了毛病重新载入一个就好。那用salaris是不是更好呢
谢谢你的回复,这样的讨论有意思。
Windows在服务器领域基本上是从2003才开始有竞争力的。2000也不错,但更像是个过渡产品,2003则不但稳固了中小企业的市场,而且开始向大型的应用进军。
“在科学计算领域,基本上是这样,我很少听说哪个学校专门去搞一个大规模的windows集群,或者专门培养人去做相关的工作。一个最简单的例子,我上次要跑一个仿真的特大型程序(那个程序可以直接模拟一个核电站,或者卫星之类的设计)。那个程序,我花了半天时间就在Linux装上了,因为它的安装程序本来就是cshell的。但是我有个朋友的同事试图在windows下面安装,搞了1个多月还没有下文。”
- 这个领域Windows确实不是好的选择,我基本同意。
“我听说现在有很多大型系统都在用windows,比如伦敦证券交易所就在用。不过这个例子太特殊了,我猜想 LSE主要看中的是微软提供的服务。这个就完全是另外一个问题了。”
- Windows 2003虽然有cluster的功能,但的确不是为大型的服务器群的环境设计的,但从cost和服务的角度来讲,确实有些地方开始使用2003来代替原有的main frame或者unix系统。真正的转折点我看在于2008,2008的server core edition把能去掉的瓶瓶罐罐都去掉了,而且有了自己的hyper visor。再一两年应该就能看出点眉目了。
“我自己的程序在64位方式下要比32位快大概10%。10%对我们意味着某些计算可以至少节约一天的时间。对于我的领域来说,64位有几个好处,第个是 64位的整数所表达的数的范围在很多时候可以取代单精浮点数。第二是寄存器数量比以前多,这样可以把更多的变量放到寄存器内部,核心循环可以减少交换和寻址操作。
顺便,我认为即便是64位系统对于一般的信息处理没有太大的优势,但是既然现代的CPU都已经加上了这个扩展,Windows平台下面,以及第三方程序就应该利用它。而Linux这方面优点就非常突出。1-2年时间大部分的软件全部都成为64位的了(也和它以前就支持64位系统有关系)。而Windows 平台方面反应太迟钝了。
”
- 同意,但Windows世界面对的问题是32上投入的太多,而且floating operation intensive的程序的比重并不大,所以大家没动力。微软自己从2000开始就有64位操作系统了,2003的64位更是和32位在patch和tool各方面都是同步的,但用的还是不多。2008的64位系统是微软在主推的,他们明确建议用户优先选用64位。所以,我的看法是64位是大家都想做到的,Linux由于商业应用少,包袱少,而且很多程序的源代码公开,只要重新compile一下就好了,但Windows方面的情况很不一样,不是微软不做或者做不出来,而是包袱太多,走不动。
“我认为windows下面也是有可能的,问题在于,现实生活中,几年长期不重启不关机,不重装系统是Linux用户的常态,而经常重启,关机重装系统是 windows用户的常态。windows至少有50%以上的补丁,是需要你重新启动计算机的。而windows 几年运行,没有一个service pack供你下载?很多新的程序要求你运行service pack。当然如果你把windows机器独立出来就干一些简单的事情,不理会外界任何改动,那没有问题。但是像我学校的机器,我在上面写程序,玩游戏,升级显卡驱动等等等等一堆事情。windows 要做这些事情,我想还是要重启吧:”
- 我不清楚Debian系统去年一年的patch的数量,没法评论。我管理的Windows servers我确实是基本上每个月有没有patch都要重启一遍,成习惯了,而且因为本身在设计的时候就没有single point of failure,重启并不影响用户的使用。他们基本上都不知道服务器啥时候重启了。对于客户端,说关机重装系统是windows用户的常态,我看还是因人而异,别忘了Windows的用户大多数是电脑盲的。我自己的laptop倒是很久没有重启或者重装过了。
“第一就是要做好足够的备份工作。这一点Linux下面有很多强大的工具,可以支持非常复杂的备份策略,不多说。而且像Debian这样的系统可以在远程进行瞬间克隆。第二就是可以采用jail方式,或者虚拟机方式运行浏览器。和乱七八糟的小东西。”
- Windows下一样可以。
“其实从我的角度,即便是一个工作站被感染了也不用担心太多问题。我这里提出一个方法,起到抛砖引玉的作用(我猜那些杀毒软件也是采用类似的机制)...”
- 木马的目的在于获利。只要它能运行上10秒钟,扫描用户的邮件,通讯录,文件(特别是open format的文件:)),找到有价值的信息,再传送到外面去,目的就达到了。不需要改动系统文件,也不需要常驻。Windows下的病毒和流氓软件现在绝大多数都是这种类型的,病毒制作者本人也不会期望木马能长期存活。像CIH那样损人不利己的病毒已经很少有人搞了。
“Linux也可以很轻松地把客户管理集中到一台或者几台机器上,这个功能很早就有了。而且这个管理功能的整合性我不会认为比windows差。像我现在家里,公司的网络(学校有Novell),就是用OpenLDAP集中进行管理。而且这些管理程序,可以按照树型结构用subversion进行版本管理,机器和机器软件包配置的异同。具体什么配置不一样,什么地方一样。用diff就出来了。计算机管理,大部分情况我是用vim和emacs。”
我不清楚Linux下如何达到以下的目的:
- 我想强制在每台客户机上安装某一固定版本的软件,如果被用户移除则自动重装,Linux下怎么确保?
- 我想保证有root权限的用户也不能把管理员用来集中管理账户删除,并更改防火墙来拒绝我从远程的控制。
- 我想拒绝任何用户运行某一版本的某程序,不管是在本地硬盘上,网络上还是USB drive上。怎么办?
- 我想强制同一间教室的电脑都使用同样的墙纸,不同的教室的墙纸不同。怎么办?
- 我想把公司所有机器的硬件型号,操作系统,安装的软件等等信息全部收录到一个数据库中,方便查询,并且这些信息要随时动态更新。如何确保?
- 希望你能说明一下Linux如何对付这些问题。这些都是规模大起来以后常见的问题。
“windows到目前为止,没有一个统一的软件包安装,升级系统。和apt/dpkg这样的完全不是一个量级的。这个不多说,给一个例子。比如我现在要让远端计算机安装和我目前计算机上一样的软件,只要远端计算机下载一个最最基本的安装包,然后同步source.list,用dpkg把我这里安装的文件 dump出来直接在那里用apt就可以全部复制。这个软件包列表本身,也是可以采用subversion,或者其他程序进行管理。如果我要知道两台机器哪些软件,哪些配置不一样,一个diff就出来了。(当然我不包括 /usr/local这个目录)
- 早就有了,叫MSI。这东西的历史很可能比apt/rpm还要长。
“在这种管理方式下,比如要配置一台新的/已知的客户机,不用从头安装,只要拷贝一套最小化的Debian(100M左右),然后直接从 subversion的树下下载所有相关的配置文件,和相关软件包。(这里可以专门为此机器起一个分支)。远程安装就可以了。windows 这方面,还有很长的路要走。”
- 你应该先看看active directory的功能再下结论,你说的这些功能在AD里面都能实现,而且这还只是Windows自带的,要是算上第三方的工具,那更是只有想不到,没有做不到(买不到?)Windows下超过几百台规模的系统基本上都会用imaging了,一台客户机也就是10分钟,而且甚至不需要有人在机器面前操作。
这个也顺便回答你,"类似于rsync的功能Windows下面一样有。关于tar和subversion我没太明白你具体指的是什么。"具体是什么含义。
- DFS-R是Windows自带的和rsync功能相似的工具。
6.
“很神秘,关键是很难修改。Linux下面定制开机什么程序运行,什么程序不运行,什么程序在本地硬盘运行,哪些在远程系统上下载运行,如何自己定义变量。都很方便。比如,开机的时候,根据分配的IP地址不同定义不同的防火墙设置,这一点不知道windows下面怎么运作的。当然windows可以叫嚣说有工具可以实现这一点。那我可以把这个任务稍微改改:根据GPS给出的地理数据,自动应用相关的防火墙设置。这个对linux来说,实现这一步需要花费的时间很少。而windows就很难说了。”
- Windows下的开机过程有全套的documentation,没什么神秘的。还是举个具体的例子才好比较。自动登录并运行程序等都是基本功能。根据ip不同更改防火墙设置用site policy就好了。根据GPS来更改firewall设置的问题是两步,第一步是获取GPS数据并分析,跟操作系统本身无关;第二部是根据第一步的输出来修改防火墙设置,在windows下也就是一个vbscript的事。
thanks!
第一种是用vmware软件,这个方法很流行。目前还算是比较稳定,特别是老一些,不支持Intel VT/AMD V技术的CPU平台,这个方法几乎是唯一比较有效的。除了游戏等运用directx的一些程序以外,其他生产性的工具运行没有任何问题。我本人也主要使用这个方法。
第二种,如果你有支持Intel VT/AMD V的CPU(现在的大多数CPU,以及AMD AM2以后的),那么有很多开放源程序的虚拟机软件允许你运行原装的windows。目前最主要的是用KVM和Xen,这个目前新的内核已经附带。而且新的ubuntu会缺省安装KVM。我向你推荐KVM。我准备下个月中旬在我自己的机器上试用一下。这个性能速度相当快。KVM我看了一眼,甚至支持Vista!
最后,如果要进行文件交换,你只需要把它看成两台独立的机器就可以了。最简单的你可以直接通过windows network文件共享的方式进行直接访问。把home目录下的某个目录(千万别是整个home),映射到客户windows下面的某个盘符下。你甚至可以考虑把Desktop目录映射过去,然后直接链接到windows桌面下:)
我的是AMD的4200+,不知道是不是支持VT的。我就记得有VT可以虚拟出x64的系统,没有就不行。
那我就试一下KVM吧,也发个帖跟大家说一下感受
1.
我不清楚Debian系统去年一年的patch的数量,没法评论。我管理的Windows servers我确实是基本上每个月有没有patch都要重启一遍,成习惯了,
Debian下面的不稳定版几乎每天都有几十个软件有更新版本。但是一般来说,大部分升级你可以长期不用理会。除非有相关的安全漏洞被发现了,或者你需要新的功能。这个Debian网站上有定期的通知。如果关键的问题,比如最近发现的以前的Linux内核root漏洞,Debian的内核包会自动打上补丁。
一般来说,Linux如果升级内核,确实需要重新启动。但是但是,如果你正在运行关键任务的服务器,那么最近的Linux好像有能力在不重启的情况下更换新内核。Linux甚至支持服务器上的热交换CPU,硬盘,内存。。。但是这已经超出大多数普通用户,甚至是企业用户需要考虑的范围了。
2.
“木马的目的在于获利。只要它能运行上10秒钟,扫描用户的邮件,通讯录,文件(特别是open format的文件:)),找到有价值的信息,再传送到外面去,目的就达到了。不需要改动系统文件,也不需要常驻。”
这个就是用户的问题,一般来说你也没有办法阻止通过在 用户端运行程序在防火墙上打个洞:)但是,我想通过虚拟机系统,你总是可以教育用户玩的时候用另外一个肉鸡系统来代替。我的经验,用户由于是第一受害者,他们通常对此比管理员还敏感。只要被破坏一两次,下次就知道了。所以我通常都不管他们,只要别破坏整个系统就可以了:)
“我不清楚Linux下如何达到以下的目的:
- 我想强制在每台客户机上安装某一固定版本的软件,如果被用户移除则自动重装,Linux下怎么确保?
- 我想保证有root权限的用户也不能把管理员用来集中管理账户删除,并更改防火墙来拒绝我从远程的控制。
- 我想拒绝任何用户运行某一版本的某程序,不管是在本地硬盘上,网络上还是USB drive上。怎么办?
- 我想强制同一间教室的电脑都使用同样的墙纸,不同的教室的墙纸不同。怎么办?
- 我想把公司所有机器的硬件型号,操作系统,安装的软件等等信息全部收录到一个数据库中,方便查询,并且这些信息要随时动态更新。如何确保?
- 希望你能说明一下Linux如何对付这些问题。这些都是规模大起来以后常见的问题。”
这个是我要回答你的重点,需要系统地来分析。
基本上,你讨论的是集中管理的问题,在windows下面,如果我没有搞错,用的是ActiveDirectory方式。这个技术的核心是一个LDAP数据库。Linux下面也有类似的数据库叫做OpenLDAP,SAMBA系统本身也整合进入OpenLDAP,目前可以作为一个domain controller。所以目前Linux下面可以同时管理Linux用户,也可以管理Windows用户。在下一个版本的SAMBA里面,SAMBA可以代替windows 2000 server成为主域控制器。
1)问:“我想强制在每台客户机上安装某一固定版本的软件,如果被用户移除则自动重装,Linux下怎么确保?”
答:有N种方法。如果是我做,首先我会把这个固定版本的软件放在一个特殊的目录下,比如/usr/local或者 /opt等等,然后用shell命令检查这个包里面一个或者某些执行文件是否存在,是否被改动,如果不存在或者被改动,则强行拷贝回去。这个检查可以用FAM实时监视,也可以用cron定期监视,或者用~/.bash_logout在用户退出的时候激发。
2)问:“我想保证有root权限的用户也不能把管理员用来集中管理账户删除,并更改防火墙来拒绝我从远程的控制。”
答:你可以把root用户直接从整个客户端取消,换句话说,没有人能够以root登录也不能变成root。所有的用户认证,计算机管理都由远程服务器完成。而具体的管理工作,可以由受限制的sudo来完成。我一直不清楚为什么要给用户这么大的权力。比如程序安装,它们可以安装在自己的home目录下,
3)问:“我想拒绝任何用户运行某一版本的某程序,不管是在本地硬盘上,网络上还是USB drive上。怎么办?”
答:这个稍微复杂一点,也是有很多方法。最简单的方法是把分区mount成 -noexec。所以用户只能运行你给定的程序。当然这个方法防不住用perl/python/sh这样的script程序。如果你给他们权限可以使用这些程序的的话。这个就是更高级的问题了。
4)问:“我想强制同一间教室的电脑都使用同样的墙纸,不同的教室的墙纸不同。怎么办?”
答:这个很简单,在gnome下面,用gconftool就能用命令行控制。在KDE下面应该有相应的控制,甚至你用DBUS就可以在KDE下面动态自动刷新某种墙纸。
5)问:“- 我想把公司所有机器的硬件型号,操作系统,安装的软件等等信息全部收录到一个数据库中,方便查询,并且这些信息要随时动态更新。如何确保?”
答:有N种方法,
Linux下面有若干个硬件自动探测的脚本,可以自动更新这些硬件型号。获取操作系统信息很容易用本地脚本开机的时候自动更新就可以。安装的软件,关键看这个软件装在哪里,如果是以比如deb方式安装的,dpkg就可以。关键是最后要把这些信息集中成文本文件。然后就可以利用脚本存到subversion下面或者OpenLDAP下面。
希望我能回答你所有的问题。
其他问题回头再回答:)
当然真的开发还是在服务器上方便。
但作为Windows开发人员,可以用这个先熟悉熟悉。
但是看看医院或公司里,Statistics有几个不用SAS,minitab的?
基于研究为目的的话,linux的cluster是决定性的,三大非盈利的SC,基本上都是linux/unix。Top500的cluster里面,ibm,hp,sgi,dell,cray占了将近90%,这几个的成名产品好像都是linux/unix based,除了dell不太清楚。当然dell的机器前两年自己把自己糟蹋了,看起来现在有点儿起色。
但是商业系统应该有一些windows平台的小型cluster,不过这个不太了解,那位给说说?
64位机确实很快,俺原来用的一个东西,64位上比32位快了大约15%-20%,有时候能省一星期,感觉还是不错的,不过对memory intensive的程序,就不好说了。
这是无数技术史上的事实证明的,在developer那儿还不是一样?Python Perl Ruby等脚本语言满天飞,C++能不用就不用,汇编已经被绝大多数人扔垃圾堆了......这是一个技术天才凭栏独立,做梁父吟的世代;也是大多数粗通电脑的人都至少可以写段script用用的世代。
所以别担心,MS死了,Mac跟Google还会继续好好的搞GUI