❏ 站外平台:

Systemd这个有争议的项目正在接管你身边的Linux发行版

作者: Chris Hoffman 译者: LCTT DoubleC

| 2014-11-30 10:04   评论: 42 收藏: 1 分享: 37    

Systemd 是目前为止在Linux平台上最有争议的项目之一。它到底有多大的争议?它的争议大到systemd的开发者之一Lennart Poettering 声称有人使用比特币雇佣职业杀手要干掉他。但是还是有比较理智的做法的,有一个抵制systemd网站在技术角度上提出了抵制systemd的原因。

如此强烈的抵制也反映了systemd的成功。它已经被或将要被Fedroa、OpenSUSE、Ubuntu、Debian、Arch Linux等众多发行版采用。随着时间推移,GNOME越来越依赖它,Debian回归GNOME的原因之一就是它采用了systemd。systemd无处不在!

那么如此激烈的争论到底是关于什么呢?让我们近距离观察这场战争。

Systemd是一个全新的init

Systemd的核心是取代老旧的SysV init。init用来初始化你的操作系统,当你启动系统时,init负责加载需要的驱动,激活你的网络链接,启动众多的系统服务,最后进入图形登陆界面。而SysV init 是一个老旧的系统,它基本上仅运行/etc/init.d目录下的一些脚本。

Systemd是一个现代技术,用以取代老旧以及粗糙的SysV init。它可以在接收到事件响应时启动相关服务;比如,当你接入了一个USB打印机,systemd可以在接收到设备接入响应时启动打印服务。当它接收到某个网络端口的连接请求时,它可以启动在此端口上监听的服务并且传递这个连接。

获取更多关于SysV init 与 systemd的信息,可以参考Jorgen Schäfer的 “Why systemd?

但是systemd远不止此

systemd的反对者之中也有部分人认为SysV太老了,应该被取代掉。但是批评systemd的人发现Systemd是一个巨大的项目,其中包括了很多其他的功能。它是一个软件套件,而不仅仅是一个init。

An illustration of systemd's structure.

维基共享资源 systemd 结构图解

Systemd包括用于管理用户登陆的守护进程logind,还包括journald,并且journald 颇有争议的使用了二进制形式保存系统日志而不是以文本形式。systemd也采用了udev的思想及代码,它对/dev/目录下的虚拟设备文件进行管理,并且处理设备接入或推出时所产生的事件。除了这些还有很多其他的,如:systemd还包括了cron风格的任务调度器与网络守护进程networkd等等。

抨击者认为systemd不是类UNIX风格

多数的抱怨源于人们认为systemd项目太大以至于超出了它的工作范围,并且它从Linux系统接管的部分太多了。不要感到惊奇,systemd的抵制活动是以下面的抱怨开始的:

"systemd文件是一大堆的复杂的高度耦合的二进制组成的,这违反了UNIX哲学:‘做一件事情,并把它做好’。它超出了一个init程序的职责范围,因为它还有电源管理,设备管理,挂载管理,cron(定时执行工具),磁盘加密,socket接口/inetd,syslog,网络配置,登陆/会话管理,文件预读,GPT分区发现,容器注册,hostname/locale/time管理,mDNS/DNS-SD等功能,它将Linux控制台以及其他的一些功能都包装在一个程序里面。

那么,systemd是好是坏?

到这里,我判断一下,到底谁是正确的。

systemd最初的想法是非常好的。Linux需要一个新的东西来替换老的 SysV init 和沉重的 SysV init 脚本,这个新的程序应该是灵活的,现代化的系统守护进程,它可以响应更多类型,并且智能化的管理众多的守护进程。然而,事实上systemd好像成为了一个仅依赖Linux核心的完全统一的系统层

但是,尽管Linux是一个社区开发项目,但它不是为PC世界的专栏作家或者是一群网络评论者提供的,这些人都不能决定它的进化与发展。只有那些亲手贡献代码以及全身心投入的人才有这个资格。巧的是,Linux发行版以及那些参与者好像大部分都倾向与systemd。

'我对于systemd本身并没有很强烈的个人看法。我与核心开发人员争论过它的bug与兼容性,并且我认为它的一些设计是愚蠢的(比如二进制的日志),但这只是细节,不是大问题。

如果 Linus Torvalds 对于systemd的设计没有什么反对意见,那么说明它可能还是不错的。如果你想平静的看下为什么Linux发行版要使用systemd的话,我推荐这篇文章,Debian's systemd discussion document

你是如何看systemd的,可以在评论回复!但是请文明讨论。

更新这篇文章以澄清之前的错误的消息,ubuntu 桌面版将在下一个版本中纳入systemd。之前我们错误的认为ubuntu已经使用了systemd


via: http://www.pcworld.com/article/2841873/meet-systemd-the-controversial-project-taking-over-a-linux-distro-near-you.html

作者:Chris Hoffman 译者:SPccman 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出



最新评论

来自河南郑州的 Chrome 98.0|GNU/Linux 用户 2022-02-24 15:33 1 回复
Arbeit macht frei. Systemd macht frei. Nazis machen frei ...
来自河南郑州的 Yandex Browser 20.9|GNU/Linux 用户 2020-11-18 11:24 5 回复
systemd: D=Deutschland  CC卐V的设计者来自德国城市Karlsruhe.
Hitler: "Demoralize the enemy from within by surprise, terror, sabotage, assassination. That is the war of the future." 
Josef Goebbells: “If you tell a lie big enough and keep repeating it, people will eventually come to believe it.”
更多: d-mk-ultra.bokee.com
来自河南郑州的 Yandex Browser 20.4|GNU/Linux 用户 2020-07-19 10:33 6 回复
ueber D: d-mk-ultra点bokee点com/
来自河南郑州的 Yandex Browser 20.4|GNU/Linux 用户 2020-07-19 10:30 5 回复
Systemd macht frei. noch CC卐V ...
[1]
来自 - 山东青岛 的 Safari/Mac 用户 发表于 2015-02-14 21:50 的评论:
用arch爱上systemd觉得init丑陋不堪,用centos7爱上firewalld觉得iptables丑陋不堪,期待接下来会爱上什么
来自香港的 Chrome 71.0|Windows 10 用户 2019-01-29 11:12 8 回复
我爱上了networkd,觉得dhcpcd丑陋不堪!还有systemd-boot,也随之抛弃了grub
[1]
kaiser [Chrome 47.0|Windows 7] 发表于 2015-12-30 11:18 的评论:
“并且处理设备接入或推出时所产生的事件” 这里的“推出”应该是“退出”; 当然,这只是个细节问题,感谢译者和校对人员的辛勤付出!
linux [Chrome 47.0|Mac 10.11] 2015-12-30 12:36 7 回复
不是,确实是“推出”,类似光盘一样的。在磁盘卷上,应该是指卸载。不过意思到了,大家明白就行。
微博评论 2014-12-02 18:33 5 回复
早就意识到了啊。不过sysvinit管理的服务一般都比较成熟,质量过得去//@纤夫张: 回复@西安气象爱好者:systemd自带daemontools功能,这个还是不错的,现在所有sysvinit管理的服务不会自动重启,很多人没意识到吧
微博评论 2014-12-02 18:33 6 回复
那么问题来了,如果发生比特币雇凶杀人,万年一年级生柯南可以破案么?
微博评论 2014-12-02 09:03 5 回复
mark
来自 - 山东青岛 的 Firefox/Linux 用户 2014-12-01 14:57 15 回复
我到觉得systemd管得太多了,平时用着挺好,但是一旦出了问题,你是无从下手的。也许从桌面端来看systemd是一个很棒的东西,但对于管服务器那帮人来说,可能就。。。
来自 - 北京 的 Mozilla/Mac 用户 2014-12-01 07:22 5 回复
不懂
来自 - 北京 的 Safari/Linux 用户 2014-12-01 00:26 11 回复
gentood在这方面还是非常不错的
微博评论 2014-12-01 00:03 5 回复
要发生命案了,linus都没表态
[1]
来自 - 江苏苏州 的 Chrome/Windows 用户 发表于 2014-11-30 20:30 的评论:
用了systemd之后,觉得整个系统有一种很统一的感觉,总体体验是不错,不过相应的扩展性应该会差一点,但是个人还是倾向于使用sysyemd的。
感觉社区一般会反对大而全的东西,这也挺正常的啦。就像iproute2和net-tool之间的争论一样。
linux 2014-11-30 22:29 5 回复
相比起来,我对iproute2 感觉可以接受多了。。
微博评论 2014-11-30 20:03 7 回复
任何一个试图降低Linux使用门槛的工具都会遭到很多开源狗的反对——同时它们还反对Win32系统,我很怀疑这帮人究竟在反对什么,是商业软件还是一般水平市民也能使用计算机这件事?
微博评论 2014-11-30 17:03 11 回复
systemd的开发者之一Lennart Poettering 声称有人使用比特币雇佣职业杀手要干掉他,那么问题来了,通过bitcion作为匿名交易媒介能否开发一个杀手网站呢?
微博评论 2014-11-30 12:03 5 回复
回复@FindBlog:晕倒。。。抱歉笔误。。
微博评论 2014-11-30 12:03 5 回复
难道那个人名不应该是linus?
微博评论 2014-11-30 12:03 6 回复
关键是systemd难用啊!//@Hadoop中国:新老交替引发的血案
微博评论 2014-11-30 12:03 8 回复
自从arch转向systemd以来就十分讨厌这个项目了
微博评论 2014-11-30 12:03 5 回复
回复@西安气象爱好者:systemd自带daemontools功能,这个还是不错的,现在所有sysvinit管理的服务不会自动重启,很多人没意识到吧。//@西安气象爱好者:变动太大,没啥必要,以前的init用的好好的,配置什么的都很顺手,也许我就是一个保守派。
微博评论 2014-11-30 12:03 5 回复
回复@西安气象爱好者:systemd自带daemontools功能,这个还是不错的,现在所有sysvinit管理的服务不会自动重启,很多人没意识到吧。
微博评论 2014-11-30 12:03 5 回复
就用过的CentOS7的改动来说,不习惯firewalld,还是改回了iptables。systemd倒不排斥,整合了chkconfig,init,service这些之后觉得挺方便的,就是runlevel变成target管理之后不习惯
微博评论 2014-11-30 12:03 11 回复
复杂的东西都是由简单的东西组成的,那些人把UNIX哲学的东西学得有些死,如果这个systemd的各模块间易于管理,条理分明而又合作无间,它就是不错的。而且对linux桌面的标准化有利。(以上个人观点)
微博评论 2014-11-30 11:33 6 回复
虽然还没太深入了解过,稍微用了下表示不太喜欢
微博评论 2014-11-30 11:33 5 回复
@Linux_cn @校长Ubuntu @Deepin官方微博 //@Go语言中文论坛_golang: 就别管他有没有争议了,有没有干货好好介绍一下.
绿色圣光 2014-11-30 11:10 5 回复
争议是难以避免的。我没有仔细研究过,没有发言权。
微博评论 2014-11-30 11:03 5 回复
就别管他有没有争议了,有没有干货好好介绍一下.
微博评论 2014-11-30 11:03 5 回复
[哈哈] 用比特币雇佣杀手暗杀他,开源社区的正反派斗争真是血雨腥风
微博评论 2014-11-30 11:03 5 回复
变动太大,没啥必要,以前的init用的好好的,配置什么的都很顺手,也许我就是一个保守派。
微博评论 2014-11-30 11:03 4 回复
//@Hadoop中国:新老交替引发的血案
微博评论 2014-11-30 11:03 5 回复
开源社区革命派与保守派之间的斗争//@Hadoop中国:新老交替引发的血案
微博评论 2014-11-30 10:27 5 回复
个人感受就是systemd太复杂了,而且也没感觉比sysv快。
微博评论 2014-11-30 10:27 5 回复
新老交替引发的血案
微博评论 2014-11-30 10:27 6 回复
哈哈哈哈哈哈哈哈哈有人使用比特币雇佣杀手干掉他
微博评论 2014-11-30 10:27 5 回复
在桌面端用systemd好像没有什么不妥,但用在服务器上……系统管理员岂不是要哭了
微博评论 2014-11-30 10:27 13 回复
ubuntu接纳商业代码也受抨击,但解决了可用性,并使开源向前进步。如果没有亲身体验开源的产品,又不曾沟通与贡献。可以认为对所言之事没有充份理解,也不应获得发言权。给予真正动手贡献价值的人合适的权力,让他们决定作什么。只会叫喊的人不会给世界带来任何帮助,蚊字般的噪音。
微博评论 2014-11-30 10:27 5 回复
原来如此
微博评论 2014-11-30 10:27 13 回复
Systemd:不要跟我抢!全都是我的~
LCTT 译者
DoubleC 🌟🌟
共计翻译: 9.0 篇 | 共计贡献: 126
贡献时间:2014-09-14 -> 2015-01-18
访问我的 LCTT 主页 | 在 GitHub 上关注我


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。