革命之潮:让Linux像Windows那般无脑

2014-09-05 07:40


最终,systemd的逐步普及很可能让桌面与服务器发行版彻底区别开来,而Linux服务器管理员也可能因此投向FreeBSD的怀抱。 

 

尽管仍有些人认为systemd有利的论点已经成为相关争议的实质性结论,但我过去两周间在论留言板、论坛以及所写博文的评论中都看到了大量反对之声。其实已经不只一次有人放出systemd已然胜利的宣言,而红帽如今也以强制性方式在发布RHEL 7版本的同时将其塞入了企业级方案当中。但在我看来,事情绝没有这么简单。

没错,我们都承认systemd已经在Fedora上获得了不俗的成绩,也清楚它将成为RHEL 7的组成部分。我们看到systemd被囊括在Ubuntu与Debian当中,并借此被交付给相当一部分Linux用户群体。而余下的这部分用户则继续将基于Linux的大型服务以及应用程序堆栈运行在CentOS及RHEL的现有版本之上,并坚持认为在systemd真正占领全部Linux平台之前、其抗拒态度绝对不会妥协。不过从客观角度看,这恐怕真的只是时间问题,现在向systemd敞开接纳的怀抱也还为时不晚。

我发现在针对systemd的热烈讨论当中,显现出一种较为普遍的舆论倾向。那些对systemd最为推崇的狂热支持者似乎大多属于单一桌面系统用户,相比之下服务器管理员与架构师则往往持反对态度。就以最近一篇文章中的评论为例。用户ZincKidd评论称,“BSD目前正在不断发展完善……”而另一位用户Adam Jorgensen则回复称“你不妨在自己的笔记本上运行一下,然后再下论断:-)”。

我丝毫没有冒犯之意,不过Adam同学,我根本不可能在自己的笔记本上运行RHEL 7。这是适合运行在服务器上的系统方案,而且属于完全不同的工作负载类型。请注意,在这个话题上,笔记本压根不应该成为讨论重点。

在另一篇文章中,systemd支持者Luya Tshimbalanga将运行级别(runlevel)斥为“意义不明”。他随后指出,基本的0、1、2、3、4、5、6运行级别已经成为每一套Unix衍生方案中的组成部分,但这显然太过复杂。当有人问起,这些运行级别到底会让哪些用户感到摸不着头脑时,他的回答是:“新生代管理员与用户。你之所以会提出这个问题,是因为你已经对init中的数字表意非常熟悉,但未来的管理员们如果不参考说明文档、恐怕根本没法弄清其实际意义。Init数字是随机指定的,其本身并没有明确含义。”

我并不是有意选择此类极端言论,但他们代表的是当前技术社区中的一大舆论导向,即很多用户似乎认为阅读指导手册与学习操作系统使用方法属于负面因素。在他们看来,最好的办法是抛弃所有繁文缛节,利用一套漂亮、时髦但却毫无透明度可言的管理层代替这一切。举例来说:systemd。

我认为这种想法与微软在上世纪九十年代遵循的操作系统发展设想非常相近。这是一种典型的终端用户思维方式——不能说错,但显然不适用于服务器、特别是企业级服务器领域。这种“学习是件难事”的观点会给Linux作为服务平台带来严重的不良影响。

如果在同样的评论内容中选取另一种议题,那么FreeBSD则瞬间变得热门了起来。我长久以来一直是FreeBSD的忠诚拥趸,而且至今已经有二十年的FreeBSD服务器管理经验。我听到不少老管理员们的抱怨,他们由于对systemd极度厌恶而始终希望能将服务从Linux环境迁移到FreeBSD当中。我相信随着时间的推移,这种观点也会受到更多用户的认同。特别是在当下,随着Docker技术的迅猛崛起,如果人们突然发现FreeBSD那尘封已久的卓越优势、整个业界的前景都可能随着二者的结合而发生重大变化。

在这方面,systemd所带来的结果很可能是将解决方案彻底划分成两大阵营——Linux专门针对笔记本设备,而FreeBSD则大举占据服务器平台。又或者,我们也许会看到一款全新而且更为纯粹的Linux服务器发行版横空出世,能够将systemd与桌面元素一同扔进垃圾堆(为什么桌面元素也会中枪?因为GNOME已经开始依赖于systemd)。当然,Gentoo与Slackware用户肯定觉得自己目前所使用的方案就是此类代表。

Linux与开源软件的美妙之处在于,只要各个步骤都能有序进行、那么整场革命性颠覆绝非不可接受。红帽公司将systemd强行引入RHEL 7虽然看起来是一步昏招,但这场战争的结局也有可能给Linux发行版市场带来更为清晰的分界线。那些喜爱桌面系统而非服务器系统的用户可以继续使用systemd,而喜爱服务器系统而非桌面系统的用户也拥有自己的选择。

如此收场的弊端在于,我们需要利用新的框架方案对软件进行打包、从而保证其能够在多种发行版上正常运行——但这也并不算什么新鲜难题。当下正是将新玩家引入游戏的最佳时机,有生力量的加入也有机会将RHEL从神坛上拉下——或者至少充分其后备方案。谁知道呢?也许Suse能够焕发出第二次青春。

继续前进吧,后起之秀们,将以运行级别为代表的一切非直观性机制全部覆盖上华丽的外表。从init到cron,从pam到login,把这些东西通通塞进PID1与dbus。光鲜亮丽的外表加上时髦花哨的设计才是新时代的风格,其内部运作方式可以被直接忽略,新一代管理员与终端用户也用不着再阅读什么指导手册或者学习愚蠢的命令行工具。将你的发行版针对桌面工作负载作出深入调整,让Linux最终成为开源版本的Windows!

这就是systemd在我们这些服务器用户眼中的形象。也许它在有些人眼中艳丽无比,但请恕我们无法认同。