【51CTO 10月25日外电头条】一句新的格言是,对于有着正常生活的人来说,幸好还有Windows。
实不相瞒,这其实是一篇不停地大声抱怨Linux的文章。但是现在我生气得很,沮丧得很。众所周知,Linux人员打心底里就瞧不起没有夜以继日地琢磨Linux发行版细枝末节的人,但我有句话要说:我可不像你们这样Linux人有的是大把时间来钻研技术。
我受够了Linux
我受够了。我受够了所有拼凑起来的各系统部分必须版本刚刚好,必须有刚刚好的依赖关系,必须以刚刚好的方式来编译,必须选择刚刚好的时机,还必须数量刚刚好的的人员在刚刚好的时间步调一致。
我受够了所有不同的软件包管理器。一些代码使用某一个软件包管理器来分发,另一些代码则使用别的软件包管理器来分发。受够了只要按照资料不充分的HOWTO文件,在终端窗口中机械地输入一行行代码,可以将模块下载到Ubuntu上,却根本无法下载到CentOS或Fedora上,就因为没有按刚刚好的顺序来指定代码存储库。
我受够了所有不同的外壳程序和用户界面。除非你建立起一条稳定的SSH网络连接,下载了各部分代码,重新编译了软件包管理器,否则编译代码和发行版甚至无法启动进入到用户界面中;尔后,趁网络连接凑巧很通畅的时候,还需要通过调整另一个烦人的系统配置.Ini文件,全面设置远程监控器屏幕。
我受够了这一点:这个东西(Linux服务器)无法可靠地运行。当然喽,如果你每天每时每刻都在接触Linux;如果Linux对你来说就是生活的唯一;如果在你长出第一根胡须后,为了Linux从来没有约过异性;而且如果一生中除了负责做Linux之外,从来没有负责过其他东西,那么你自然谙熟关于Linux的一切事情。你自然知道哪些论坛和哪些楼主拥有只有他一个人知道的超长、超怪的命令行。
你还知道,如果你在发行版4.3版本上输入某个命令行,它可以运行,但是在4.3a版本上却出现了问题,那是由于后一个版本需要完全不同的程序,使用完全不同的软件包管理器来打包,而且确保那个命令行的顺序完全正确:为此需要进入正好合适的聊天室,需要在晚上正好合适的时间段,与正好知道的某个Linux专业人士对上话,才能够把文档中没有说明的-lM添加到第四个参数的前面。
要是哪个不走运的家伙把大小写搞错了,那就惨了,因为把-Lm放在第四个参数的前面会带来完全不同,甚至文档中不作进一步说明的,可能会危害所有人的某种结果。
我究竟为什么受够了Linux?
我受够了Linux,因为仅仅为了可以在图形用户界面中启动该死的虚拟网络连接(VNC),或者将平时所用的备份程序装入到网络上其他机器上,就需要好几个月经受上述种种磨难;而这种感受就像是玩《忍者武士》小游戏,非得四道关全部闯过,才能到达绿山的巅峰。更要命的是,我好不容易让整个系统起来,没想到就崩溃了。
确切地说说,我当时准备部署我那台Linux服务器。我想更新服务器,更新成最新版本,因为我做事循规蹈矩,经常定期更新。于是,当Gnome声称有更新版可以打上时,我表示OK
我真是太天真了。我表示OK,实际上是给Linux打上更新版。我知道,我本该格式化另一个硬盘,使用dd命令将我那堆文件拷贝过去,下载源代码包,将所有代码重新编译一次,然后向Linux祈祷,从头开始构建我的整个操作系统,而这一切仅仅是为了安装一些安全更新版。
但我没有这么做。我以为,经过这么多年后,Linux终于足够健壮了,不至于因为我仅仅想运行服务器、确保版本最新,就给我当头一棒。我好傻!我真的好傻!
于是我执行了更新。结果系统崩溃了。显示异常。而我之前付出的努力和时间全部泡汤了。而现在,服务器无法启动。
更要命的是,服务器放在互联网服务提供商(ISP)那里,由其托管,于是我只好低声下气地请求,请求对方重新为我构建硬盘,重新安装操作系统。幸好,服务器只是仍处于试运行的机器;我没有在上面运行工作系统。不然,我是完全没辙了,而不是仅仅气得破口大骂。
抱怨开始了……
好了,尽管我确信各位看官会说,我在技术方面准是个毫无经验的新手。你要知道,我可是个UNIX产品经理,之前不但写过内核代码,还在大学里教过语言编程。而现今Linux存在的问题却是,它绝不是内核这么简单。它是由成千上万个编得很差劲的软件片段组成的混合体,所有软件片段拼凑在一起,其中大多数只能在各片段采用某种组合的情况下才能正常运行。只要要哪里出现不匹配,搭起来的整个系统就顷刻崩溃。
当然,Linux机器可以成为出色的服务器。但是它们需要有一组专门的Linux技术人员,这些人了解关于Linux的一切事情,了解所有的联络暗号,了解所有不为人知的趣闻轶事,因为他们有的是时间。
而我就是个工作忙碌的人,有其他事要做。我只是需要打开一些网页,运行我的程序,仅此而已。我没有时间来跳血泪之舞,而你要真正成为Linux文化圈子中的一员,就得会跳血泪之舞。
我可是受够了。当然,我仍会在虚拟机中的Linux上运行某些一切就绪的硬件设备,可以几乎立马对虚拟机执行备份、快照和恢复等操作;但是就支撑我那些服务器的核心引擎而言,从现在开始,我的眼里只有Windows,永远如此。
我可是再也资本将更多的时间浪费在Linux上面了。一切都是随便拼凑起来的系统怎能让人放心?绝对不会用Linux了。你总不至于出钱、让我在服务器上运行Linux吧。永远不会再用Linux服务器了。
情绪平静之后
近日我找那家ISP谈了谈。对方告诉我,他们早上过来后发现,服务器监控器上显示了数量多得惊人的错误信息;用他们的话来说,出现的错误比他们之前见过的都要严重。
不过真正让人抓狂的事还在后头。我问,他们是不是在内部其他地方使用这个发行版(CentOS版本5.6)。
对方告知:“是的。我们在许多机器上使用这个发行版。但是我们从来没有更新过。当初安装完毕后,我们就没有理睬过。”这就是使用Linux发行版的真实写照,不难发现那么多用户有多侥幸。一旦安装上去,可以正常运行,用户从来就不、根本就不更新。
实际上,如果其他ISP也是这样子管理基于Linux的机器,那就意味着,新的安全漏洞公之于众后,他们没有及时更新系统。为了防止基于Linux的机器因开始进行简单的更新而变成一堆废物,许多ISP任由机器(及其客户)暴露在各种各样的恶意攻击面前。
从我的切身经历来看,Linux是一款优秀的系统,是一款健壮的操作系统,是一款灵活的操作系统。但就是无法同时做到优秀、健壮和灵活。它不是一款优秀、健壮又灵活的操作系统。
不信的话可以试试,保准你尝到苦头。还有最后一点是,别对我说我不清楚自己在干什么,于此因此抨击Linux。我很清楚自己在干什么,也很清楚维持一台简单的LAMP机器运行显然需要具有哪些要素。
对于有着正常生活的所有人来说,幸好还有Windows。
编者:本文作者的措辞未免有些偏激,而且引起了大家的热烈讨论。为此,编者执笔写了一篇回应本文作者的文章,运维需要做的有尊严,欢迎大家前去拍砖,谢谢。
【编辑推荐】