Systemd這個有爭議的項目正在接管你身邊的Linux發行版

Systemd 是目前爲止在Linux平臺上最有爭議的項目之一。它到底有多大的爭議?它的爭議大到systemd的開發者之一Lennart Poettering 聲稱有人使用比特幣僱傭職業殺手要幹掉他。可是仍是有比較理智的作法的,有一個抵制systemd網站在技術角度上提出了抵制systemd的緣由。 html

如此強烈的抵制也反映了systemd的成功。它已經被或將要被Fedroa、OpenSUSEUbuntu、Debian、Arch Linux等衆多發行版採用。隨着時間推移,GNOME愈來愈依賴它,Debian迴歸GNOME的緣由之一就是它採用了systemd。systemd無處不在! linux

那麼如此激烈的爭論究竟是關於什麼呢?讓咱們近距離觀察這場戰爭。 ubuntu

Systemd是一個全新的init

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遠不止此

systemd的反對者之中也有部分人認爲SysV太老了,應該被取代掉。可是批評systemd的人發現Systemd是一個巨大的項目,其中包括了不少其餘的功能。它是一個軟件套件,而不單單是一個init。 網站

Systemd這個有爭議的項目正在接管你身邊的Linux發行版

維基共享資源 systemd 結構圖解 加密

Systemd包括用於管理用戶登錄的守護進程logind,還包括journald,而且journald 很有爭議的使用了二進制形式保存系統日誌而不是以文本形式。systemd也採用了udev的思想及代碼,它對/dev/目錄下的虛擬設備文件進行管理,而且處理設備接入或推出時所產生的事件。除了這些還有不少其餘的,如:systemd還包括了cron風格的任務調度器與網絡守護進程networkd等等。 spa

抨擊者認爲systemd不是類UNIX風格

多數的抱怨源於人們認爲systemd項目太大以致於超出了它的工做範圍,而且它從Linux系統接管的部分太多了。不要感到驚奇,systemd的抵制活動是如下面的抱怨開始的: 操作系統

"systemd文件是一大堆的複雜的高度耦合的二進制組成的,這違反了UNIX哲學:‘作一件事情,並把它作好’。它超出了一個init程序的職 責範圍,由於它還有電源管理,設備管理,掛載管理,cron(定時執行工具),磁盤加密,socket接口/inetd,syslog,網絡配置,登錄 /會話管理,文件預讀,GPT分區發現,容器註冊,hostname/locale/time管理,mDNS/DNS-SD等功能,它將Linux控制檯 以及其餘的一些功能都包裝在一個程序裏面。

那麼,systemd是好是壞?

到這裏,我判斷一下,到底誰是正確的。

Systemd這個有爭議的項目正在接管你身邊的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

本文永久更新連接地址http://www.linuxidc.com/Linux/2014-11/110023.htm

相關文章
相關標籤/搜索