systemd在Linux社区引起了争议。一些Linux用户不屈服于systemd的反对,其他人喜欢systemd,还有许多人不在乎。最近社区里又出现了关于systemd的话题,很多人分享了自己的想法。笔者一时兴起,整理了几个比较经典的答案。你为什么不喜欢systemd?不断听到很多人抱怨systemd有多糟糕,但它仍然非常受欢迎,我在网上阅读的很多文章都描述了systemd的好处,比如更快的启动时间和更完整的日志记录。据说以往在fedora13上的启动速度测试,upstart用了27秒,而systemd只用了24秒。有人认为Unix做一件事而且做得很好,而systemd将pid1扩展到最大值。这可能是许多人讨厌systemd的一个重要原因。也有人觉得systemd的logging不是很好,binarylog被很多人诟病。虽然systemd提供了更快的索引,但是二进制日志本身就存在问题,systemd日志被破坏也不是第一次了。发生了。而systemd真正令人反感的是它在设计上不够灵活。对于很多人来说,systemd阻碍了他们选择的自由。考虑到kFreeBSD分支的软件源无法被systemd收录,为了与其他分支保持一致,Debian开发者尽量避免被并入systemd。但LennartPoettering本人并不关心这一点,他说“DebianGNU/kFreeBSD只是一个玩具系统”。systemd目前正处于开发阶段,不适合任何想要超安全或超小型或超快速系统的人。事情的真相是,很多systemd的反对者并不真正关心“下层”,只是抱怨systemd的不便,比如命令太长,不熟悉的恶魔报告错误等等。systemd有所需的外部依赖很少,它们主要由glibc(或兼容的libc)、setcap和libmount组成。由于systemd项目合并了udev、logind等基础设施,并且Gnome/KDE主动与systemd集成,这给其他开源内核(以及Debian等多核发行版)的桌面用户带来了问题。想想看。systemd刚出现的时候,还是一个纯粹的init软件。之后又在短时间内大举攻城掠地,合并了很多进程,与Gnome暧昧,设置API锁。虽然我能理解为什么很多linux用户不喜欢复杂的桌面环境,但还是有很多人想要选择一个完整的桌面环境。在init系统中,虽然您可以轻松选择桌面环境和窗口管理器,但在大多数发行版中,您几乎无法更改init系统。然而,对于大多数不深入系统管理的用户来说,使用哪个init系统并不重要。当然,每个经验丰富的Linux用户都有自己的看法。在此不一一列举,Linux社区中有许多精通技术的开发人员,他们对Linux应该如何发展和成长有自己的看法。这些要点中的大多数是无关紧要的,取决于具体的工作需要。尽管许多人抱怨systemd,但没有更有效的替代方案,这就是systemd迅速扩展的原因。我发现systemd单元和服务文件很容易维护,更重要的是,很容易转移给其他人。systemd的拥护者给出了支持它的理由,比如稳定,有一个简单的和可配置的方式来管理服务,也有一些中立者并不强烈反对systemd,但它的扩展速度确实令人担忧。它接管了许多不需要任何修复的功能。很多人想知道systemd什么时候可以停止扩容,笔者也希望得到一个确定的答案。如今,systemd相当流行,现在包括Arch、debian、Ubuntu在内的主要发行版都已转向或正在转向systemd。systemd的反对者创建了一个fork,uselessd,它应该是一个简单的init程序,但最终还是死了。尝鲜安装systemd的用户可能没有想到,他们得到的不仅仅是一个init软件,而是这么庞大的一个软件。不过,发行版的维护者越来越懒了,systemd可能会让维护工作变得异常简单。
