Systemd

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋

Template:NoteTA 腳本錯誤:沒有「Infobox」這個模塊。腳本錯誤:沒有「Check for unknown parameters」這個模塊。

systemdLinux電腦作業系統之下的一套中央化系統及設定管理程式(init),包括有守護進程函式庫以及應用軟件,由腳本錯誤:沒有「ilh」這個模塊。帶頭開發。其開發目標是提供更優秀的框架以表示腳本錯誤:沒有「ilh」這個模塊。間的依賴關係,並依此實現系統初始化時服務的並行啟動,同時達到降低Shell腳本錯誤:沒有「ilh」這個模塊。的效果,最終代替現在常用的System VBSD風格init程序。

目前絕大多數的Linux發行版都已採用systemd代替原來的System V

systemd在LGPL 2.1及其後續版本許可證下開源發佈[1][2]

起源[編輯]

systemd這一名字源於Unix中的一個慣例:在Unix中常以「d」作為系統守護進程Template:Langx,亦稱後台進程)的後綴標識。除此以外,systemd亦是借代英文術語系統D,而這一術語即是用於描述一個人具有快速地適應環境並解決困難的能力[3]

設計[編輯]

File:Systemd components.svg
systemd組件
File:Linux kernel unified hierarchy cgroups and systemd.svg
專門由systemd所使用的統一層次結構控制組

System V風格init相比,systemd採用了以下新技術:

  • 將service(服務)、target(執行模式,類似於運行級別)、mount、timer、snapshot、path、socket、swap等稱為Unit。比如,一個auditd服務(就是auditd.service)就是一個Unit,一個multi-user.target執行模式也是一個Unit。
  • 採用Socket激活式與D-Bus激活式服務,以提高相互依賴的各服務的並行運行性能;
  • cgroups代替進程ID來追蹤進程,因此即使是兩次fork之後生成的常駐程式也不會脫離systemd的控制。
  • 用target代替System V的運行級別(Runlevel),比如,SystemD的graphical.target相當於System V的init 5,multi-user.target相當於System V的init 3。
  • 內建journald 日誌管理系統。
  • 內建resolved、timesyncd、networkd等元件。
  • 引入localectltimedatectlhostnamectl等新命令,系統配置更方便。

從設計構思上說,由於systemd使用了cgroup與fanotify等組件以實現其特性,所以只適用於Linux[4]。有鑑於此,考慮到kFreeBSD分支的軟件源無法納入systemd,為與其他分支保持一致,Debian開發者盡力避免納入systemd[5]。但Lennart Poettering本人對此並不在意,並稱「Debian GNU/kFreeBSD不過是玩具系統」[6]。但Debian 8.0 Jessie開始以systemd取代sysvinit。[7]

應用[編輯]

systemd已納入眾多Linux發行版的軟件源中,以下簡表:

默認init程序為systemd的發行版
可以使用systemd的發行版
File:Systemd manager.png
systemd-manager

除此以外,systemd已由Lennart Poettering提請納入GNOME 3.2的外部依賴關系列表[21],而這意味着所有使用GNOME的發行版都應該使用systemd,最低限度來說也必須將其作為配置選項之一。

註釋[編輯]

  1. 原先Fedora開發者打算在Fedora 14發佈的時候便將systemd設為默認init程序,但最後還是推遲到Fedora 15才實行[9]

參考文獻[編輯]

  1. 腳本錯誤:沒有「citation/CS1」這個模塊。
  2. 腳本錯誤:沒有「citation/CS1」這個模塊。
  3. 腳本錯誤:沒有「citation/CS1」這個模塊。
  4. 腳本錯誤:沒有「citation/CS1」這個模塊。
  5. 腳本錯誤:沒有「citation/CS1」這個模塊。
  6. 腳本錯誤:沒有「citation/CS1」這個模塊。
  7. 腳本錯誤:沒有「citation/CS1」這個模塊。
  8. 腳本錯誤:沒有「citation/CS1」這個模塊。
  9. 腳本錯誤:沒有「citation/CS1」這個模塊。
  10. 腳本錯誤:沒有「citation/CS1」這個模塊。
  11. 腳本錯誤:沒有「citation/CS1」這個模塊。
  12. 腳本錯誤:沒有「citation/CS1」這個模塊。
  13. 腳本錯誤:沒有「citation/CS1」這個模塊。
  14. 腳本錯誤:沒有「citation/CS1」這個模塊。
  15. 腳本錯誤:沒有「citation/CS1」這個模塊。
  16. 腳本錯誤:沒有「citation/CS1」這個模塊。
  17. 腳本錯誤:沒有「citation/CS1」這個模塊。
  18. 腳本錯誤:沒有「citation/CS1」這個模塊。
  19. 腳本錯誤:沒有「citation/CS1」這個模塊。
  20. 腳本錯誤:沒有「citation/CS1」這個模塊。
  21. 腳本錯誤:沒有「citation/CS1」這個模塊。

外部連結[編輯]

頁面Template:Div col/styles.css沒有內容。

  • Template:Official website
  • 腳本錯誤:沒有「citation/CS1」這個模塊。
  • 腳本錯誤:沒有「citation/CS1」這個模塊。
  • 腳本錯誤:沒有「citation/CS1」這個模塊。
  • 腳本錯誤:沒有「citation/CS1」這個模塊。

參見[編輯]

腳本錯誤:沒有「Portal」這個模塊。

Template:Unix中的服務管理 package.lua第80行Lua錯誤:module 'Module:Arguments' not found Template:Linux內核