Re: [閒聊] systemd

看板Linux作者 (小州)時間8年前 (2016/07/07 22:01), 8年前編輯推噓14(14084)
留言98則, 14人參與, 最新討論串3/6 (看更多)
個人表達一點看法。 其實基本上 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 的缺點用。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.155.17 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1467900098.A.E09.html

07/07 22:17, , 1F
不就是閒聊,已經說了 n 遍了,硬要說成是「批鬥」,
07/07 22:17, 1F

07/07 22:18, , 2F
就是去了解一下,他們為什麼會反對 systemd。文中早
07/07 22:18, 2F

07/07 22:19, , 3F
就說了。architecture 的東西本就可討論,不管你有沒
07/07 22:19, 3F

07/07 22:20, , 4F
有用過,還是用了多久,是就架構去做比較。
07/07 22:20, 4F

07/07 22:21, , 5F
回應是就論點在回應,不是就人身在回應。
07/07 22:21, 5F

07/07 22:22, , 6F
那篇 po 文,其實最先跳下來戰的就是 kenduest你自己
07/07 22:22, 6F
我還是感覺,往後討論東西請說一點自己實際一點的內容比較實在, 要不然自己沒表達比較多內容卻希望他人表達意見是真的有點

07/07 22:22, , 7F
systemd 的作者才是到處對批評 systemd 的人引戰好嗎?
07/07 22:22, 7F

07/07 22:23, , 8F
推錯篇
07/07 22:23, 8F

07/07 22:35, , 9F
07/07 22:35, 9F

07/07 22:36, , 10F
到處引戰並不奇怪. Linus本人也嗆得很.
07/07 22:36, 10F
樓上說 linus 比中指事情嗎:)

07/07 22:39, , 11F
文章內個人只有陳述systemd好處,不是批鬥 init script
07/07 22:39, 11F

07/07 22:40, , 12F
的壞,這是針對兩者,不是一開始原始樓主陳述的意思
07/07 22:40, 12F

07/07 22:42, , 13F
嗯,只陳述好處,對我而言跟寫手有九成像
07/07 22:42, 13F

07/07 22:45, , 14F
好像要依你的說法來 po 文才是正確的。
07/07 22:45, 14F
基本上隨便了。至少我陳述了個人systemd的優點分析 個人認為比較實在。至於有人只是丟個議題出來也好 的確有興趣的人會參與,沒興趣自動略過

07/07 22:49, , 15F
我在推文已經說為什麼 Slack 不用 systemd,那當然
07/07 22:49, 15F

07/07 22:49, , 16F
找的都是反對/負面的論點。並沒有在否定正面的論點,
07/07 22:49, 16F

07/07 22:49, , 17F
只是沒有 po 出來罷了。
07/07 22:49, 17F

07/07 22:50, , 18F
簡單說你只負責丟議題出來?這樣不是不好,只是實在有點
07/07 22:50, 18F

07/07 22:50, , 19F
只是在找 Slack 不用 systemd 的可能理由。
07/07 22:50, 19F
簡單說你只負責丟議題出來?這樣不是不好,只是實在有點 個人認為 linux distro 是否採用 systemd 都隨便 主要就是大頭決定,他們有他們規劃想法 systemd 個人感覺是以 linux distro 來說整個系統要 調整是需要許多整合功夫,很辛苦.... 個人我自己看法是採用了這個絕對應該是經過思考過結果 多瞭解體驗一下,瞭解箇中的改變與實際帶來得好處 網路上負面抱怨systemd文章這幾年很多,個人也看過不少 有一些是比較深入架構問題個人無法評論,但是有一些基本 對我來說用systemd還是傳統init sript其實影響不大

07/07 22:52, , 20F
一堆 FYI 的文章,也只是引 url 及一點簡單的介紹。
07/07 22:52, 20F

07/07 22:54, , 21F
我覺得你老師做久了,有職業病出現了。:)
07/07 22:54, 21F
旗下管理清一色超過百台還不是傳統的 init script 架構的 server, 剩餘用 systemd 的確少,因為大多是新起的 server 服務沒有與舊的 放在一起時候的有的嵌入式系統來說用 systemd 會複雜嗎?個人認為小複雜 因為他有太多元件劃分開,無法像是傳統 init 單純 我目前已經不當老師了,專心都在商業上為主 當不老師與這個議題無關 當補習班老師與學校老師基本上不同 若我當純工程師沒當老師過我更是會認為討論技術更實在 題外話其實果正兄個人網路上認識你應該也超過10年了 我想這次你應該感覺我回應上態度很硬,不過我還是針對就事論事為主, focus 還是在這個 systemd 上 我一開始回比較強烈回應是,若技術人員討論這檔事情的話,若可以放出 一些自己對systemd 使用相關心得比較等,也許內容是真的才好參與 個人對目前有處理一些舊的server把服務轉移到新架構的一些經驗, 感覺這 systemd 還蠻有意思的 當然,為何某個 linux distro 沒採用我個人是不大關心

07/07 23:03, , 22F
我是有些心得,但不準備現在 po 出,因為我的確還在
07/07 23:03, 22F

07/07 23:03, , 23F
或者是他堅持要用原本架構不導入systemd 其實我也沒意見
07/07 23:03, 23F

07/07 23:03, , 24F
觀望中。而且大家本位主義太重,還是藏拙吧!
07/07 23:03, 24F

07/07 23:04, , 25F
因為我發現,去看黃易的大唐雙龍傳比較有趣一點。XD
07/07 23:04, 25F
搞系統整合技術,是需要點堅持的 要廣納意見每個人都贊成,個人認為很難.... 回應一下之前樓上的 crazydogx,只是當 systemd 專門的寫手也怪怪的... 網路上說好處的文章不少了 個人只是針對自己系統管理的小心得簡單寫寫而已裡面基本上沒有很技術性的內容, 純管理系統心得 開個玩笑目前網路上許多所謂的打手還有錢可以領 我寫這篇可是半毛錢都沒有...

07/08 05:01, , 26F
倒是遇過systemd關機時砍不掉某個程序,然後跑了等待時間
07/08 05:01, 26F

07/08 05:01, , 27F
,不過改完等待時間好像就沒有了。
07/08 05:01, 27F

07/08 07:37, , 28F
systemd 僅能用於Linux,所以有bsd的debian本來不打算支援
07/08 07:37, 28F

07/08 07:37, , 29F
07/08 07:37, 29F

07/08 14:06, , 30F
EdwardGJLee: 我是有些心得,但不準備現在 po
07/08 14:06, 30F

07/08 14:08, , 31F
你的話語真的很幽默風趣
07/08 14:08, 31F

07/08 16:30, , 32F
對於沒很熟的 sysadm 來說 kenduest 的文章顯然較有價
07/08 16:30, 32F

07/08 16:31, , 33F
值 而 Edward 兄也就真的只是閒聊而已
07/08 16:31, 33F
還有 29 則推文
還有 2 段內文
07/09 02:07, , 63F
想換掉就是換掉,連舊的也不會留給你
07/09 02:07, 63F

07/09 02:10, , 64F
systemd 我最喜歡的功能就是status,確實方便
07/09 02:10, 64F

07/09 02:11, , 65F
應該說,是log整合,不能說是功能
07/09 02:11, 65F

07/09 07:20, , 66F
Linux架構選擇多其實就是會出現使用者黏著度高
07/09 07:20, 66F

07/09 07:20, , 67F
大部分的使用者是不喜歡換環境工具
07/09 07:20, 67F

07/09 07:21, , 68F
像我第一次學Linux是Arch 其他的發行版都覺得不好用
07/09 07:21, 68F

07/09 07:23, , 69F
最近被強迫使用VC++14 其實很快上手 只是心態上不能
07/09 07:23, 69F

07/09 07:23, , 70F
接受
07/09 07:23, 70F

07/09 07:24, , 71F
目前版上都是支持systemd的居多 看來某個測風向的人
07/09 07:24, 71F

07/09 07:25, , 72F
不會戰systemd了吧
07/09 07:25, 72F

07/09 08:42, , 73F
喜好與否我想這個人想法,應該不用這麼激烈吧,其各有優缺
07/09 08:42, 73F

07/09 08:43, , 74F
,沒有必要一定要爭所謂的一定最好一定不好,這樣很無聊。
07/09 08:43, 74F
舊的有他的優缺點,新的也是如此... 我只是一開始認為貼了一堆 systemd sucks 文章原貼竟然自己沒有表達一些實體意見,是要大家「閒聊」,而且還是吵這麼久 的議題,閒聊這個我就不大懂。

07/09 13:47, , 75F
主要是問法不對,如果說使用之後發現問題來問
07/09 13:47, 75F

07/09 13:48, , 76F
可能會有人分享差異,解法,而不是丟別人意見上來
07/09 13:48, 76F

07/09 13:48, , 77F
然後說為什麼不能FYI……
07/09 13:48, 77F

07/09 13:49, , 78F
通常有接觸使用才會特地詢問
07/09 13:49, 78F

07/09 13:49, , 79F
這不是比較合理嗎?
07/09 13:49, 79F

07/09 13:49, , 80F
至於架構好壞,我習慣有新的都會玩一下
07/09 13:49, 80F

07/09 13:50, , 81F
並且去了解差異,評估身份使用
07/09 13:50, 81F

07/09 13:50, , 82F
是否
07/09 13:50, 82F
是的,個人對於問法部分的確是比較有意見。至於什麼我有些新的看法了, 目前暫不表示意見硬要說就是比較沒有「討論誠意」 這認真說也沒啥錯誤, 只是感覺...

07/09 18:04, , 83F
我不懂systemd跟FreeBSD有啥關聯...
07/09 18:04, 83F

07/09 19:41, , 84F
你第二點說可攜性比較高,你都綁systemd了,還談什
07/09 19:41, 84F

07/09 19:41, , 85F
麼可攜?
07/09 19:41, 85F

07/09 19:51, , 86F
在有systemd的環境下 有可攜性沒說錯吧
07/09 19:51, 86F
應該是說在 init script 各自為政,systemd 上,有個標準寫 script unit 方式比較統一若都用 systemd 下可以減少許多的麻煩其實系統管理發展來 說有個標準,大家也好 follow,畢竟 systemd 在常見需求上有設計提供 不同參數可用,認真說很省事

07/09 21:50, , 87F
我想Filiaslayers可能誤會我前篇所說的可攜性與通用性
07/09 21:50, 87F

07/09 21:51, , 88F
的意義了...我是System builder所以用什麼init對我而言
07/09 21:51, 88F

07/09 21:52, , 89F
意義重大,而且我的init script是有透通與可攜性需求
07/09 21:52, 89F

07/09 21:53, , 90F
但是,對於使用者貨運行管理員而言。系統的可攜性不在這
07/09 21:53, 90F

07/09 21:53, , 91F
些東西上。其實我也有幫我的客戶寫了一些shell cmd warp
07/09 21:53, 91F

07/09 21:54, , 92F
warp什麼? 把一般傳統(COS5)的unix指令warp到新指令
07/09 21:54, 92F

07/09 21:55, , 93F
所以,我前篇也講了:用什麼init對中酖用戶來講差異不大
07/09 21:55, 93F

07/09 21:56, , 94F
事實是,只要付費。就能請人把新的系統濤整成任何你想
07/09 21:56, 94F

07/09 21:57, , 95F
要的OS的樣子,我也曾把RH7調整成與 NextStep相容
07/09 21:57, 95F

07/09 21:58, , 96F
然後把Slackware11偽裝成SunOS...基本上只要用戶願意付
07/09 21:58, 96F

07/09 21:59, , 97F
錢,偽裝成Windows我都可以幹.. :)
07/09 21:59, 97F

07/09 22:01, , 98F
或運行 終端
07/09 22:01, 98F
WolfLord 屬於很務實派的。 ※ 編輯: kenduest (122.117.154.222), 07/09/2016 23:56:06
文章代碼(AID): #1NVc32u9 (Linux)
討論串 (同標題文章)
以下文章回應了本文
4
31
完整討論串 (本文為第 3 之 6 篇):
9
152
5
38
14
98
4
31
文章代碼(AID): #1NVc32u9 (Linux)