Linux:为什么那么多人讨厌systemd?

简介:

systemd在Linux社区引起了无限争议。一些Linux用户对systemd的反对绝不屈从,还有一些Linux用户对systemd喜爱有加,还有很多人满不在乎。近日,关于systemd的话题又出现在社区中,很多人分享了自己的想法。一时兴起,笔者梳理了几个比较经典的回答。

为什么不喜欢systemd?

不断地听到很多人抱怨systemd有多么不好,但它还是被极大地普及了,并且我在网上所读到的很多文章都在介绍systemd的好处,比如更快的启动时间和更完善的日志记录,据说过去在fedora13上开机速度测试,upstart是27秒,而systemd仅用了24秒。

Linux:为什么那么多人讨厌systemd?

有人认为unix是做一件事,就把它做好,而systemd则是把pid 1扩张到最大化。这可能是很多人讨厌systemd的重大原因。也有其他人认为,systemd的日志记录并不是很好,二进制日志被很多人所诟病,虽然systemd提供了更快的索引,但二进制日志本身就有问题,而且systemd的日志损坏也不是第一次发生了。而且systemd真正令人反感的是设计不够灵活,对很多人而言,systemd阻止了他们的选择自由,考虑到kFreeBSD分支的软件源无法纳入systemd,为与其他分支保持一致,Debian的开发者尽力避免纳入systemd。但Lennart Poettering本人对此并不在意,并称“Debian GNU/kFreeBSD不过是玩具系统”。

systemd目前还处于中间发展阶段,那些想要超级安全或超级小或超快速系统的人都不适合使用。事实的真相是,systemd的很多反对者并不真正关心“底层”,只是抱怨systemd的各种不方便,比如命令太长,不熟悉demon报错等。systemd几乎没有所需的外部依赖,它们主要由glibc(或兼容的libc),setcap和libmount组成。

由于systemd项目合并了udev, logind等基础设施,以及Gnome/KDE积极与systemd集成,这给其它开源内核的桌面用户(以及Debian这样的多内核发行版)造成了困扰。

想想systemd最开始出现时,还是以一个纯粹的init软件的身份,之后短短的时间内大肆攻城略地,合并了很多进程,与Gnome暧昧不清,还设置了API锁定。虽然我可以理解很多linux用户为什么不喜欢复杂的桌面环境,但还是有很多人希望选择一个完整的桌面环境。

init系统中,虽然你可以轻松地选择桌面环境和窗口管理器,但在大多数发行版中,你几乎不能更改init系统。然而对大多数不深入sysadmining的用户来说,使用哪个init系统并不重要。

当然,每个经验丰富的Linux用户都有自己的看法。这里就不一一列举出来了,Linux社区充满了很多精通技术的开发人员,他们对Linux应该如何发展和成长有着自己的意见。这些观点大多数是不相关的,取决于具体的工作需求。即便很多人投诉systemd,但却没有更完美的替代品出现,这也是systemd迅速扩张的原因。

我发现systemd单元和服务文件很容易维护,更重要的是,它可以很容易地转让给别人。systemd的拥护者给出了支持其的原因,比如很稳定,有一个容易的可配置的方式管理服务,也有一些中立人士不强烈反对systemd,但它的扩展速度实在令人担忧。它接管了很多不需要任何修复的功能。

很多人都想知道systemd什么时候可以停止扩张,笔者也希望得到一个确切的答案。到今天,systemd已经相当流行了,如今各大发行版包括Arch,debian,Ububtu都已经切换到systemd或正在切换。systemd的反对者们创建了一个分支——uselessd,本来有望成为一个简单的init程序,但结果还是死了。本来尝鲜安装了systemd的用户,可能没想到自己得到的不仅仅是一个init软件,而是一个如此庞大的软件,不过发行版的维护者越发懒惰,systemd没准会让维护工作变得异常简单。





本文作者:佚名
来源:51CTO
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
存储 缓存 Linux
哇~~真的是你呀!今天是LInux安装方法和systemd管理机制。
Linux服务安装和systemd管理机制是Linux操作系统中重要的服务管理机制。systemd是Linux下一种基本的系统服务管理器,负责管理Linux中的各种服务,如进程管理、启动和停止服务、日志记录、挂载文件系统等等。在systemd中,每个服务都以一个Unit的形式存在,Unit定义了该服务相关的一些属性,如服务名称、启动脚本的路径、依赖关系等。
84 0
哇~~真的是你呀!今天是LInux安装方法和systemd管理机制。
|
3月前
|
存储 监控 Ubuntu
揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】
揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】
50 0
|
3月前
|
运维 网络协议 Linux
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
443 0
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
|
4月前
|
算法 Linux Shell
【Linux】systemv init和systemd的区别
【Linux】systemv init和systemd的区别
39 0
|
7月前
|
存储 Cloud Native Java
Linux下systemd深入指南:如何优化Java服务管理与开机自启配置
Linux下systemd深入指南:如何优化Java服务管理与开机自启配置
147 0
|
8月前
|
Linux
17.1.2 【Linux】systemd使用的unit分类
17.1.2 【Linux】systemd使用的unit分类
74 0
|
11月前
|
域名解析 存储 网络协议
如何在 Linux 中列出 Systemd 下所有正在运行的服务
如何在 Linux 中列出 Systemd 下所有正在运行的服务
147 0
|
12月前
|
Linux
linux系统服务systemd探讨
linux系统服务systemd探讨
137 0
|
Unix Linux Shell
Linux 温习(四): Systemd 分析与应用
一个运行起来的程序被为 进程,进程的英语是 process
144 0
|
Shell Linux
Linux 利用systemd开机自启shell脚本
Linux 利用systemd开机自启shell脚本