Systemd 是目前为止在Linux平台上最有争议的项目之一。它到底有多大的争议?它的争议大到systemd的开发者之一Lennart Poettering 声称有人使用比特币雇佣职业杀手要干掉他。可是仍是有比较理智的作法的,有一个抵制systemd网站在技术角度上提出了抵制systemd的缘由。 html
如此强烈的抵制也反映了systemd的成功。它已经被或将要被Fedroa、OpenSUSE、Ubuntu、Debian、Arch Linux等众多发行版采用。随着时间推移,GNOME愈来愈依赖它,Debian回归GNOME的缘由之一就是它采用了systemd。systemd无处不在! linux
那么如此激烈的争论究竟是关于什么呢?让咱们近距离观察这场战争。 ubuntu
Systemd的核心是取代老旧的SysV init。init用来初始化你的操做系统,当你启动系统时,init负责加载须要的驱动,激活你的网络连接,启动众多的系统服务,最后进入图形登录界面。而SysV init 是一个老旧的系统,它基本上仅运行/etc/init.d目录下的一些脚本。 网络
Systemd是一个现代技术,用以取代老旧以及粗糙的SysV init。它能够在接收到事件响应时启动相关服务;好比,当你接入了一个USB打印机,systemd能够在接收到设备接入响应时启动打印服务。当它接收 到某个网络端口的链接请求时,它能够启动在此端口上监听的服务而且传递这个链接。 socket
获取更多关于SysV init 与 systemd的信息,能够参考Jorgen Schäfer的 “Why systemd?” 工具
systemd的反对者之中也有部分人认为SysV太老了,应该被取代掉。可是批评systemd的人发现Systemd是一个巨大的项目,其中包括了不少其余的功能。它是一个软件套件,而不单单是一个init。 网站
维基共享资源 systemd 结构图解 加密
Systemd包括用于管理用户登录的守护进程logind,还包括journald,而且journald 很有争议的使用了二进制形式保存系统日志而不是以文本形式。systemd也采用了udev的思想及代码,它对/dev/目录下的虚拟设备文件进行管理,而且处理设备接入或推出时所产生的事件。除了这些还有不少其余的,如:systemd还包括了cron风格的任务调度器与网络守护进程networkd等等。 spa
多数的抱怨源于人们认为systemd项目太大以致于超出了它的工做范围,而且它从Linux系统接管的部分太多了。不要感到惊奇,systemd的抵制活动是如下面的抱怨开始的: 操作系统
"systemd文件是一大堆的复杂的高度耦合的二进制组成的,这违反了UNIX哲学:‘作一件事情,并把它作好’。它超出了一个init程序的职 责范围,由于它还有电源管理,设备管理,挂载管理,cron(定时执行工具),磁盘加密,socket接口/inetd,syslog,网络配置,登录 /会话管理,文件预读,GPT分区发现,容器注册,hostname/locale/time管理,mDNS/DNS-SD等功能,它将Linux控制台 以及其余的一些功能都包装在一个程序里面。
到这里,我判断一下,到底谁是正确的。
systemd最初的想法是很是好的。Linux须要一个新的东西来替换老的 SysV init 和沉重的 SysV init 脚本,这个新的程序应该是灵活的,现代化的系统守护进程,它能够响应更多类型,而且智能化的管理众多的守护进程。然而,事实上systemd好像成为了一个仅依赖Linux核心的彻底统一的系统层。
可是,尽管Linux是一个社区开发项目,但它不是为PC世界的专栏做家或者是一群网络评论者提供的,这些人都不能决定它的进化与发展。只有那些亲手贡献代码以及全身心投入的人才有这个资格。巧的是,Linux发行版以及那些参与者好像大部分都倾向与systemd。
'我对于systemd自己并无很强烈的我的见解。我与核心开发人员争论过它的bug与兼容性,而且我认为它的一些设计是愚蠢的(好比二进制的日志),但这只是细节,不是大问题。
若是 Linux Torvald 对于systemd的设计没有什么反对意见,那么说明它可能仍是不错的。若是你想平静的看下为何Linux发行版要使用systemd的话,我推荐这篇文章,Debian's systemd discussion document。
你是如何看systemd的,能够在评论回复!可是请文明讨论。
更新这篇文章以澄清以前的错误的消息,ubuntu 桌面版将在下一个版本中归入systemd。以前咱们错误的认为ubuntu已经使用了systemd。
Linux 引导方式systemd upstart sysV http://www.linuxidc.com/Linux/2014-01/95555.htm
为何systemd会被如此迅速的采用? http://www.linuxidc.com/Linux/2014-08/105789.htm
systemd 与 sysVinit 彩版对照表 http://www.linuxidc.com/Linux/2014-09/106455.htm
Linux Systemd——在RHEL/CentOS 7中启动/中止/重启服务 http://www.linuxidc.com/Linux/2014-08/105975.htm
太有用了!用systemd命令来管理Linux系统! http://www.linuxidc.com/Linux/2014-09/106490.htm