编者按:本文属于一个纯粹的运维咆哮体,但是文中有些观点说的有些欠缺。
一句新的格言是,对于有着正常生活的人来说,幸好还有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终于足够健壮了,不至于因为我仅仅想运行服务器、确保版本最新,就给我当头一棒。我好傻!我真的好傻!
于是我执行了更新。结果系统崩溃了。显示异常。而我之前付出的努力和时间全部泡汤了。而现在,服务器无法启动。