跳转到内容

systemd

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Mayjabber留言 | 贡献2014年10月24日 (五) 08:41 (此处的PID意指Process identifier(中文条目为“进程ID”),原内部链接错误的指向了“PID控制器”)编辑。这可能和当前版本存在着巨大的差异。

systemd
systemd在fedora上執行的情況
原作者Lennart Poettering英语Lennart Poettering
開發者Lennart Poettering等
首次发布2010年4月30日 (2010-04-30)
当前版本216(2014年8月19日
10年前
​(2014-08-19
源代码库 編輯維基數據鏈接
编程语言C[1]
操作系统Linux
文件大小~2.8 MB
类型init程序
许可协议GNU LGPL 2.1+ (自由软件)[2]
网站freedesktop.org上的项目主页
systemd組件
專門由systemd所使用的統一層次結構控制組

systemdLinux下的一种init软件,由Lennart Poettering英语Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布[2][3]。其开发目标是提供更优秀的框架以表示系统服务英语Service (systems architecture)间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell系统开销英语Computational overhead的效果,最终代替现在常用的System VBSD风格init程序。

起源

systemd这一名字源于Unix中的一个惯例:在Unix中常以“d”作为系统守护进程(英語:daemon,亦称后台进程)的后缀标识。除此以外,systemd亦是借代英文术语D体系英语System D,而这一术语即是用于描述一个人具有快速地适应环境并解决困难的能力[4]

设计

与多数发行版使用的System V风格init相比,systemd采用了以下新技术:

  • 采用Socket激活式与D-Bus激活式服务,以提高相互依赖的各服务的并行运行性能;
  • cgroups代替进程ID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。

从设计构思上说,由于systemd使用了cgroup与fanotify等组件以实现其特性,所以只适用于Linux[5]。有鉴于此,考虑到kFreeBSD分支的软件源无法纳入systemd,为与其他分支保持一致,Debian开发者尽力避免纳入systemd[6]。但Lennart Poettering本人对此并不在意,并称「Debian GNU/kFreeBSD不过是玩具系统」[7]

应用

systemd已纳入众多Linux发行版的软件源中,以下简表:

默认init程序为systemd的发行版
  • Arch Linux在2012年10月13日将systemd-sysvcompat纳入base软件组,自此Arch Linux默認安裝完即以systemd為init程序[13],同时也提供了与Arch自带启动脚本兼容用的systemd启动脚本包以方便用户,使用户能“开箱即用”[14]
可以使用systemd的发行版
  • Debian GNU/Linux,于“testing”分支源中提供[16],並在2014年的技術委員會的init系統投票中決定在Debian 8 “Jessie”中將以Linux為核心的版本轉換到systemd[17]

除此以外,systemd已由Lennart Poettering提请纳入GNOME 3.2的外部依赖关系列表[21],而这意味着所有使用GNOME的发行版都应该使用systemd,最低限度来说也必须将其作为配置选项之一。

参见

参考资料

  1. ^ systemd, Analysis Summary (Ohloh), [2011-06-16] 
  2. ^ 2.0 2.1 Lennart Poettering, systemd Status Update, 2012-04-21 [2012-04-28] 
  3. ^ Lennart Poettering, FAQs, systemd (0pointer), [2011-06-16] 
  4. ^ Lennart Poettering, Kay Sievers, Thorsten Leemhuis, Control Centre: The systemd Linux init system, 2012-05-08 
  5. ^ Lennart Poettering, systemd FAQ, 2010-04-30 [2011-12-14] 
  6. ^ Jake Edge, Debian debates systemd, 2011-07-27 [2011-12-14] 
  7. ^ Un entretien avec Lennart Poettering), 2011-07-05 [2011-12-14] 
  8. ^ Dj Walker-Morgan, Fedora 15's Lovelock released, The H, 2011-05-24 [2011-05-26] 
  9. ^ Jake Edge, systemd and Fedora 14, LWN, 2010-08-25 [2011-02-03] 
  10. ^ Fabian Scherschel, Mageia 2 arrives with GNOME 3 and systemd, The H, 2012-05-23 [2012-05-26] 
  11. ^ Dj Walker-Morgan, Mandriva 2011 arrives with systemd, The H, 2011-08-29 [2011-08-29] 
  12. ^ Chris von Eitzen, openSUSE 12.1 arrives with systemd and Btrfs, The H, 2011-11-16 [2011-11-16] 
  13. ^ Bächler, Thomas. systemd is now the default on new installations. Arch Linux Official. [2012-10-16]. 
  14. ^ systemd, Archlinux Wiki, [2011-03-09] 
  15. ^ Full switch to Systemd with Claire-2012.10 ISO released today, [2012-10-28] 
  16. ^ systemd, Debian wiki, [2011-07-21] 
  17. ^ Bdale Garbee. The Debian technical committee vote concludes. LWN.net. [2014-02-12]. 
  18. ^ Comment #210, systemd – bug #318365 (Gentoo's Bugzilla), [2011-07-05] 
  19. ^ systemd, Gentoo's Documentation, [2011-07-05] 
  20. ^ systemd, Gentoo wiki, [2012-08-26] 
  21. ^ Lennart Poettering, systemd as an external dependency, desktop-devel mailing list (GNOME), 2011-05-18 [2011-05-26] 

注释

  1. ^ 原先Fedora开发者打算在Fedora 14发布的时候便将systemd设为默认init程序,但最后还是推迟到Fedora 15才实行[9]

外部链接