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. Template:Cite web
  14. 脚本错误:没有“citation/CS1”这个模块。
  15. 脚本错误:没有“citation/CS1”这个模块。
  16. Template:Cite web
  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内核