systemd - Linux

Joe avatar
By Joe
at 2016-07-07T22:01

Table of Contents


個人表達一點看法。

其實基本上 systemd 好壞各有定論,若要在這邊討論基本上當然很正常,
只是原帖只是提供國外的網址內容說裡面有許多抱怨的聲音說他不好,
那我想問的是原帖自己有沒有用過 systemd 呢?有的話又是多久時間了,
能夠表達一下自己的心得想法,而不是這邊起個火然後大家來發表高見。

systemd 包含太多議題,個人以 init script 個項目表達他的一些優點

1. daemon 服務啟動後要把服務停止結束,使用 /etc/init.d/name stop
方式其實無法確保整個 process 都結束,很有機會程式本身 fork
出去或者是執行外部程式這類動作都無法在所謂 stop 這個參數之後
正確都被關閉。

systemd 本身整合 cgroup,整合運作資源功能先不談,其實在 systemd
架構內透過 cgroup 執行的程序都可以被追蹤到,執行的程式與資源都
能夠被正確結束。

2. 各家的 /etc/init.d 目錄內 init script 都沒有一個標準,大家都有
自己 function 有自己的語法實作,所以常寫了 init script 可能只有
適合 rh-based 的系統,換成 debian or suse 就無法正常工作。

若使用 systemd 的話就可以依據他的標準設定檔案就有個規範,就算是
有需要調整地方也不多,可攜性比較高。

另外 systemd 內可以 override 某個 service unit 設定,原本的
service unit 檔案可以不用異動就拉出額外的設定,以往要改就是動
原本檔案內容

3. init script 要指定優先順序甚至相依性單純化,以往還要去檢查自家
linux 版本相關服務的啟動順序數字來當作撰寫 script 時候帶給
chkconfig 這類工具使用的啟動與結束的優先數字。其中建立必要 rc?.d
相關 script 檔案會產生必要數字決定啟動與結束順序...

在 systemd unit 檔案內只有註明相依,與包含需要在哪些服務啟動
之前還是之後,systemd 就自動協助處理,這不用仰賴上面提到數字優先性

4. 服務的 unit 檔案內可以很簡單指定自己的啟動模式,是開機跑一次還是
成為持續運作的服務,若程式結束了要不要每隔多久自己就重新啟動,
其中也包含重試啟動的次數等。

透過 systemd 工具就可以自己服務啟動的狀態。在傳統架構內要監視該
服務是很麻煩的,要看狀態也只能夠自己查看 log 來判斷...

5. 傳統 init script 服務可能有相依性,一般來說 init script 前面會寫
可能相依哪些服務,不過實際上手動執行相關服務時候若該服務需要另外
一個服務先啟動,這樣手動啟動服務方式並檢查到。

systemd 基本上會協助處力這部分的相依需求,會預先執行某個服務後再來
執行原本服務。另外服務可以有相依指定當然也可以有互斥指定,某個服務
啟用了與執行了,另外一個服務就不能夠啟用與執行。這個在傳統 init
script 服務架構上要支援會比較麻煩。

6. 有遇過某個服務可能因為某個原因導致要啟動很久所以卡住,導致系統無法
完全開起來情況吧?卡多久沒人知道,得慢慢等。這個在 systemd 內就比較
難發生,而且也可以自己指定某個 service 啟動要求的時間,沒有指定
也會有自己預設的配置設定。

另外有一些 service 可能啟動時候會有一些初始化需要等待,以 systemd
來說會判斷所需相依性,所以該服務可以執行然後等它完成,其他服務部分
就可以先啟動,整個服務啟動的流程也可以更有效率。另外關機庾重開時候
也可以指定服務結束執行等待時間。

systemd 只有優點沒缺點嗎,答案是未必,只是很多東西可以看正面而都非負面
的事情。最後個人感覺,linux distro 的 developer 對於換不換 systemd 是
有他們的考量在,對於末端 end user 或者是 sysadm 的人來說影響不大,就算
有其實也不是問題...

不過老實說系統架構換 systemd 應該很多 sysadm 會擔心吧! 因為是全新的東西,
一般習慣舊架構的人對新事物難免會害怕,就像是 centos 7 改用全新的網路設定
架構都用 Network Manager 管理,有人還是會選擇關閉他直接改設定檔案...
不過常言到進廚房就不要怕熱,走這行也不就是如此?有新的改變其實真的不熟悉
只需要瞭解一下就好... 再者以 sysadm 來說,牽涉的議題其實也不是很深,
帶來的影響其實相當有限....

最後要論 systemd 好壞,一開始貼文不是給個 url 然後要大家表達看法,就算是
我有看法要回應也是回應給那些網路上寫反對意見的人,回應在這邊基本上是根本
沒有必要。再來這篇其實我對於 systemd 陳述也只是 systemd 內冰山一角的好處,
上面表達都是純個人的意見,不是拿來批鬥傳統 init script 的缺點用。

--
Tags: Linux

All Comments

Poppy avatar
By Poppy
at 2016-07-08T21:43
不就是閒聊,已經說了 n 遍了,硬要說成是「批鬥」,
Elma avatar
By Elma
at 2016-07-11T10:32
就是去了解一下,他們為什麼會反對 systemd。文中早
Kumar avatar
By Kumar
at 2016-07-12T02:14
就說了。architecture 的東西本就可討論,不管你有沒
Necoo avatar
By Necoo
at 2016-07-16T08:33
有用過,還是用了多久,是就架構去做比較。
David avatar
By David
at 2016-07-17T07:31
回應是就論點在回應,不是就人身在回應。
Megan avatar
By Megan
at 2016-07-21T02:35
那篇 po 文,其實最先跳下來戰的就是 kenduest你自己
Rosalind avatar
By Rosalind
at 2016-07-25T05:06
systemd 的作者才是到處對批評 systemd 的人引戰好嗎?
Skylar Davis avatar
By Skylar Davis
at 2016-07-25T06:23
推錯篇
Faithe avatar
By Faithe
at 2016-07-29T17:45
Hamiltion avatar
By Hamiltion
at 2016-08-03T11:15
到處引戰並不奇怪. Linus本人也嗆得很.
Enid avatar
By Enid
at 2016-08-04T15:06
文章內個人只有陳述systemd好處,不是批鬥 init script
Andy avatar
By Andy
at 2016-08-05T22:19
的壞,這是針對兩者,不是一開始原始樓主陳述的意思
Poppy avatar
By Poppy
at 2016-08-06T02:06
嗯,只陳述好處,對我而言跟寫手有九成像
Enid avatar
By Enid
at 2016-08-09T11:45
好像要依你的說法來 po 文才是正確的。
Edith avatar
By Edith
at 2016-08-13T01:36
我在推文已經說為什麼 Slack 不用 systemd,那當然
找的都是反對/負面的論點。並沒有在否定正面的論點,
只是沒有 po 出來罷了。
Quintina avatar
By Quintina
at 2016-08-17T15:37
簡單說你只負責丟議題出來?這樣不是不好,只是實在有點
Charlie avatar
By Charlie
at 2016-08-20T03:51
只是在找 Slack 不用 systemd 的可能理由。
Quintina avatar
By Quintina
at 2016-08-23T18:46
一堆 FYI 的文章,也只是引 url 及一點簡單的介紹。
Poppy avatar
By Poppy
at 2016-08-28T13:42
我覺得你老師做久了,有職業病出現了。:)
Kama avatar
By Kama
at 2016-08-31T20:39
我是有些心得,但不準備現在 po 出,因為我的確還在
觀望中。而且大家本位主義太重,還是藏拙吧!
Robert avatar
By Robert
at 2016-09-04T05:45
或者是他堅持要用原本架構不導入systemd 其實我也沒意見
Liam avatar
By Liam
at 2016-09-08T13:05
因為我發現,去看黃易的大唐雙龍傳比較有趣一點。XD
Aaliyah avatar
By Aaliyah
at 2016-09-10T00:50
倒是遇過systemd關機時砍不掉某個程序,然後跑了等待時間
,不過改完等待時間好像就沒有了。
Susan avatar
By Susan
at 2016-09-14T15:28
systemd 僅能用於Linux,所以有bsd的debian本來不打算支援
Frederic avatar
By Frederic
at 2016-09-16T12:06
EdwardGJLee: 我是有些心得,但不準備現在 po
Vanessa avatar
By Vanessa
at 2016-09-16T13:06
你的話語真的很幽默風趣
Wallis avatar
By Wallis
at 2016-09-17T05:16
對於沒很熟的 sysadm 來說 kenduest 的文章顯然較有價
Caroline avatar
By Caroline
at 2016-09-21T21:18
值 而 Edward 兄也就真的只是閒聊而已
Quintina avatar
By Quintina
at 2016-09-24T07:06
我本來就一再強調是在閒聊,標題也是這麼下,但有人
Steve avatar
By Steve
at 2016-09-24T13:20
就是聽不進去,有什麼辦法。
David avatar
By David
at 2016-09-25T12:13
跑到人家舞會去大調古典鋼琴,然後說你們的音樂好俗
Megan avatar
By Megan
at 2016-09-28T14:34
[閒聊] 我們來聊量子力學 然後看近兩年IEEE就好
我還在觀望風向 雖然我有想法但是還不想說
重點都在IEEE 不用去看SCI 我跟你說都在這邊了
Adele avatar
By Adele
at 2016-10-01T20:27
我只是閒聊喔 重要內容都在2015~2016IEEE
Todd Johnson avatar
By Todd Johnson
at 2016-10-04T05:16
你們很奇怪耶 我只是閒聊 你們又叫我表態
還砲轟我發文沒內容不然就是說我引戰
我只是閒聊 都說了重點都在這兩年的IEEEE
Sandy avatar
By Sandy
at 2016-10-04T14:54
自己去看很難嗎 我很想飆三字經
Linda avatar
By Linda
at 2016-10-06T14:43
這系列文真是不錯
Ethan avatar
By Ethan
at 2016-10-08T16:28
centos 7,很多人不願意去使用新架構
Wallis avatar
By Wallis
at 2016-10-13T13:58
不管是network,firewall等等
Bethany avatar
By Bethany
at 2016-10-13T23:57
雖然說本質上是相同的,但其實在應用上有差異
例如Firewall本質還是iptables
Olive avatar
By Olive
at 2016-10-16T22:26
可是多Zone,永久與暫時等等
Charlie avatar
By Charlie
at 2016-10-19T19:32
一個firewalld-cmd就能實現所以可能
Bethany avatar
By Bethany
at 2016-10-23T12:40
一般管理員只會知道指令改變而已
Olive avatar
By Olive
at 2016-10-26T11:39
知道Systemd這東西沒有幾個
Bethany avatar
By Bethany
at 2016-10-26T20:39
甚至我身邊就有整天抱怨CentOS7的改變
為什麼不沿用原本指令,實在很想說
Cara avatar
By Cara
at 2016-10-30T11:12
對於任何一個東西還是去了解原理比較實在
假如,Systemd不好,FreeBSD,Debian也不會改變
Regina avatar
By Regina
at 2016-10-30T19:39
是啊,以管理系統人來說,這是相當必要的
Kumar avatar
By Kumar
at 2016-11-04T07:48
我個人是沒有甚麼立場,但既然那些大頭決定
Regina avatar
By Regina
at 2016-11-06T13:16
一定有優異之處,相信那些開發者吧
Victoria avatar
By Victoria
at 2016-11-07T17:27
Linux本身就是因為架構選擇多,才會像現在一樣
Regina avatar
By Regina
at 2016-11-08T20:15
是好處也是壞處,沒辦法像MS那樣統一
想換掉就是換掉,連舊的也不會留給你
Tom avatar
By Tom
at 2016-11-11T23:39
systemd 我最喜歡的功能就是status,確實方便
Andy avatar
By Andy
at 2016-11-16T21:19
應該說,是log整合,不能說是功能
Queena avatar
By Queena
at 2016-11-19T12:46
Linux架構選擇多其實就是會出現使用者黏著度高
大部分的使用者是不喜歡換環境工具
Gilbert avatar
By Gilbert
at 2016-11-20T13:34
像我第一次學Linux是Arch 其他的發行版都覺得不好用
Valerie avatar
By Valerie
at 2016-11-23T21:57
最近被強迫使用VC++14 其實很快上手 只是心態上不能
接受
Kumar avatar
By Kumar
at 2016-11-24T15:37
目前版上都是支持systemd的居多 看來某個測風向的人
Anthony avatar
By Anthony
at 2016-11-27T15:29
不會戰systemd了吧
Kumar avatar
By Kumar
at 2016-11-29T23:40
喜好與否我想這個人想法,應該不用這麼激烈吧,其各有優缺
Lydia avatar
By Lydia
at 2016-12-03T10:15
,沒有必要一定要爭所謂的一定最好一定不好,這樣很無聊。
Caitlin avatar
By Caitlin
at 2016-12-04T21:30
主要是問法不對,如果說使用之後發現問題來問
Brianna avatar
By Brianna
at 2016-12-07T23:20
可能會有人分享差異,解法,而不是丟別人意見上來
然後說為什麼不能FYI……
Jacky avatar
By Jacky
at 2016-12-12T10:07
通常有接觸使用才會特地詢問
這不是比較合理嗎?
至於架構好壞,我習慣有新的都會玩一下
Tracy avatar
By Tracy
at 2016-12-17T00:48
並且去了解差異,評估身份使用
是否
Sarah avatar
By Sarah
at 2016-12-20T19:17
我不懂systemd跟FreeBSD有啥關聯...
Todd Johnson avatar
By Todd Johnson
at 2016-12-22T06:03
你第二點說可攜性比較高,你都綁systemd了,還談什
麼可攜?
Odelette avatar
By Odelette
at 2016-12-23T01:05
在有systemd的環境下 有可攜性沒說錯吧
Dora avatar
By Dora
at 2016-12-26T05:55
我想Filiaslayers可能誤會我前篇所說的可攜性與通用性
Connor avatar
By Connor
at 2016-12-30T22:33
的意義了...我是System builder所以用什麼init對我而言
Jacob avatar
By Jacob
at 2017-01-01T04:39
意義重大,而且我的init script是有透通與可攜性需求
Agnes avatar
By Agnes
at 2017-01-03T02:17
但是,對於使用者貨運行管理員而言。系統的可攜性不在這
些東西上。其實我也有幫我的客戶寫了一些shell cmd warp
Yedda avatar
By Yedda
at 2017-01-07T09:16
warp什麼? 把一般傳統(COS5)的unix指令warp到新指令
Liam avatar
By Liam
at 2017-01-10T16:15
所以,我前篇也講了:用什麼init對中酖用戶來講差異不大
Olive avatar
By Olive
at 2017-01-14T20:08
事實是,只要付費。就能請人把新的系統濤整成任何你想
Olivia avatar
By Olivia
at 2017-01-16T15:44
要的OS的樣子,我也曾把RH7調整成與 NextStep相容
Charlie avatar
By Charlie
at 2017-01-16T18:38
然後把Slackware11偽裝成SunOS...基本上只要用戶願意付
Tristan Cohan avatar
By Tristan Cohan
at 2017-01-19T13:33
錢,偽裝成Windows我都可以幹.. :)
Poppy avatar
By Poppy
at 2017-01-22T03:39
或運行 終端

raspberry pi3 網頁控制如何做

Leila avatar
By Leila
at 2016-07-07T21:50
如題 我在raspberry上已經架設一個apache了 要怎樣才能夠讓網站上的按鈕連結到某一個程式 例如我用c寫了一個led的程式 當按下網頁上的按鈕 便會執行這個程式 有沒有比較簡單的方式 或是比較簡單的html語法 網路上的資料看不太懂qq 謝謝 - ...

systemd

Olga avatar
By Olga
at 2016-07-07T12:20
很抱歉,沒想到只是順勢抒發推文一下卻引起紛爭 m=_=m : 推 WolfLord: 其實,我所維護的系統至今為止我都避免使用Systemd 07/07 09:10 : → WolfLord: 倒不是孰優孰劣的問題,而是商用系統一直有繼承維護相容 07/07 09:11 : → WolfLor ...

用CENTOS上bbs亂碼的問題

Isla avatar
By Isla
at 2016-07-06T22:57
大家好,不才有個問題如標題,在語系設定條件為LANG=zh_TW.utf8..到最後的LC_ALL 然後 上網找到指令用ssh bbsuatptt.cc 畫面變成這樣 http://imgur.com/IoyuDog 不知問題在哪請指導一下不才 謝謝 - ...

apache上,如何設定某檔案只能內網讀取

Gilbert avatar
By Gilbert
at 2016-07-06T12:07
請問apache網站系統,如何設定某檔案只能被內網讀取 如 content.html 這個檔只能被網站裡的 read_content.php 檔來讀取, 而一般使用者無法拜訪content.html - ...

ATI radeon X1200 on Linuxmint 17.3

Poppy avatar
By Poppy
at 2016-07-05T22:48
各位大大好 小弟剛踏入Linuxmint的世界,滿心歡喜的想說家裡的老爺電腦BenQ iScreen i91應該 還有其殘餘價值。就給它安裝了Linuxmint 17.3,整體上來說跑起來還不錯順。 但就是會有一個跑動的白色雜訊,尤其在一個完整非白色的色塊看起來更明顯。 我使用過驅動程式管理,但他跟我說沒有需 ...