主题:关于Linux的推广——普通用户篇 -- 万斤
合不合使用习惯另说,但可以保证仔细玩的话功能都是"空前"强大,可定制性让人窒息的丰富。
但行业软件就没辙了,一个网上银行,就足以让所有推广Linux/Unix/Mac的人翻白眼~(Mac还有IE4.2,但仍有部分网银不支持,而且安全性相当滴让人心里没底)
就是linux的选择实在太多了,从内核、版本到使用的软件,多到让人眼花缭乱,而安装和管理方法对于普通用户来说,比Windows难了不只一点半点,有时候,给用户太多的选择,不如只给他一个选择,哪怕那个选择并不是最好的。
举个例子
我家里三台电脑,一台式机,装的windows,一台我开发用的笔记本装的fedora,一台是我新买的mac pro装的leopard,我老婆最多的时候是在windows上玩QQ游戏,有时偶尔也会光顾一下我的小白,因为她说那界面很漂亮,上网、听歌(她又ipod)都很棒,但我的那台fedora,自她摸过一次之后就再也没有碰过。
类似于不带界面的clearcase
主要是没有运营的经验,上传下发数据的量太大。
说句外行话:
如果微软愿意,当初用左手,闭上一只眼,不搞Windows,而致力发展DOS,我想今天这个世界上就不会有Linux这个词了。
#define var_0 Linux
#define var_1 Windows
while (time==3个月) 争论 var_0 和 var_1 ;
现在的视窗的shell功能虽然比起linux还相去甚远,但是也已经相当可观了,只是用到的时候不多了。
俺认为微软好像是让本来简单貌似神秘的东西变回简单,而且一直致力于此。(套用某些激进人士的话:连面壁这个卖菜的现在都会摆弄计算机了)
万斤老兄举的tar xzfv的例子,俺的方法是每天开机输一遍,到现在弄得没有键盘俺还是记不住。
linux真正是好个东西,但只能停留在少数高智商人群中--多数人连微软视窗都搞不定,经常焦头烂额--更别说linux了。
对于以上你们讨论的问题我不能全部明白,不过我可以提供我自己的办公计算机截图来说明一下有些时候Windows还是可以坚持很久的。
这是我在单位使用的Win2K的运行时间截图:
系统是2004年装的Win2k,主要用于办公(Office2003)、浏览网页(firefox+NoScript+AdblockPlus)、看书(PDF)、网银、不玩游戏,有SP4补丁,防护使用诺顿企业版和安全卫士360,服务做了一些修改,就我而言小心使用还是蛮稳定的。
(另外,看了楼主的文章,只有钦佩,并觉得有必要尝试一下Linux。:)
M$如果不搞windows专心发展dos,有没有linux不一定,M$多半n年前就倒闭了。
“早就有了,叫MSI。这东西的历史很可能比apt/rpm还要长。”
--------
MSI我看了一眼,严格来说它对应的不是apt,而是dpkg的部分功能(这个历史就悠久了:),因为它既不管理软件包之间的依赖性问题,也几乎不管理包的数据源头的问题。所以apt的功能它几乎没有。举个例子:只需要apt-get update; apt-get upgrade;一个命令,就可以把整个Debian系的系统(包括里面所有的应用程序比如openoffice 统统升级)。而比较我在windows 2000下面如果新装一次系统,刨开那些非官方的包不谈,除了service pack 4(好像是这个版本),以及几十个乱七八糟的升级,比如directx和windows media。至少要被建议重新启动三次。
Debian的dpkg/apt(包括以前的dselect)系统是可以整体对系统升级的,比如Debian 2.0升级到3。0,我可以一步一步地升级系统。有些部分我可以升级(比如用户界面),有些我可以暂时不升级(比如某个服务器程序)。而windows据我所知就不能从windows 2000采用这样的方式升级到windows xp。
还有就是active directory的功能问题,首先非常感谢你让我知道active directory这方面强大的功能。我以后如果遇到类似情况就知道如何处理了。其次我要指出,我给出的这个例子在Linux下面思路非常简单,只需要dpkg/apt等基本工具。根本不需要任何服务器端程序的参与,也不要求两台机器在一个域内。基本思路是,dpkg 输出一个本地计算机上所有文件的列表,然后把这个文本列表通过各种方式,比如电子邮件,送给另外一台机器上。运行apt直接读入这个列表,apt就自动下载所有的包装上。如果你只是想确保每台机器只装几个你确定的文件,你自己写这个文件列表就可以了。如果你想AD那样集中把程序在一个地方,甚至可以自己起一个软件仓库,让apt直接定向这个仓库就可以了,这样每台机器都可以自动动态升级。这些都是一些特别基本的功能。
比如知道我当前的机器装的软件包(我顺手写的,可能不很准确,用的时候别忘了先测试一下!!!):
dpkg --get-selections > package.txt
把这个包拷贝到远程计算机,比如叫做 computer2
scp package.txt computer2:/home/user/
设置
dpkg --set-selections < package.txt
克隆:
apt-get dselect-upgrade
比如你上次提出的,让一堆计算机确保安装某个程序,最简单的方法是,把这些机器的名字/IP放在一个文本文件里面比如叫做classroom1.txt,(用DNS也行,好像BIND有这个选项)。一个计算机一行:
cat classroom1.txt | sed 's,.*,ssh admin@& sudo apt-get --quite --reinstall install package,' | sh
我这些都是最简单的方法,如果你想严肃一点,或者希望有更好的拓展性的话,你可以用点第三方软件,比如clusterssh什么的:)
最后,win开机过程我就不多说了:)
的主要原因是把vbscript发展成一个non-interactive的shell语言了,interactive的有恐龙级的batch command糊弄着就够了,而且两者可以混在一起。这也是为啥微软被人骂了那么多年没有壳,却也一直没去弄个壳,因为实际上是有的,只不过是两个而已。
现在微软搞得powershell,是第一个全部object oriented的壳,不知道*nix下面有没有类似的产品或者project?
关于软件deployment的事情,Windows下的商业产品很多,选择也非常多,首先AD自己就能做不少事情了,然后有SMS这样的东西来帮忙,第三方的产品更能提供很多方便的功能,再加上以Citrix/Softgrid为代表的application virtualization的东西,不但有了非常大的灵活性,而且有非常好的控制。我明白你的观点是在Linux下面你一样能通过写脚本来达到同样的目的,我相信是可以的,我自己也做过一些,但一旦被Windows上的这些东西宠坏了,要自己再写东西,首先是重复劳动,而且个人的精力有限,上面我说的所有的东西我自己也都能写出程序来,但那得多久?不过我相信如果Linux能推广开的话,类似于Windows下的很多的第三方工具很快就也会被开发出来的。
vbscript == perl/python/ruby