Systemd

{{Infobox software
| name = systemd
| title = systemd
| author = , , , Daniel Mack, Tom Gundersen and David Herrmann
| developer = Lennart Poettering, Kay Sievers, Harald Hoyer, Daniel Mack, Tom Gundersen, David Herrmann等人
| logo = Systemd-logo.svg
| screenshot = Systemd-on-fedora.svg
| caption = 使用systemd的Fedora 17启动信息
| released =
| latest_release_version = 252
| latest_release_date =
| programming_language = C
| operating_system = Linux
| platform =
| language =
| genre = 系統軟件
| license = GNU LGPL 2.1+。

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

设计
]]

与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等元件。
  • 引入localectl、timedatectl、hostnamectl等新命令,系統配置更方便。

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

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

; 默认init程序为systemd的发行版

  • Fedora 15及后续版本
  • CentOS 7及後續版本。
  • Mageia 2
  • Mandriva 2011
  • openSUSE 12.1 及后续版本
  • Red Hat Enterprise Linux 7及后续版本,包括其衍生品CentOS、Scientific Linux、Oracle Linux等
  • Arch Linux在2012年10月13日将systemd-sysvcompat纳入base软件组,自此Arch Linux默認安裝完即以systemd為init程序,同时也提供了与Arch自带启动脚本兼容用的systemd启动脚本包以方便用户,使用户能“开箱即用”
  • Chakra GNU/Linux,在2012.10的光碟映像檔發佈後預設使用systemd。
  • Debian GNU/Linux,在2014年的技術委員會的init系統投票中決定在Debian 8“Jessie”中以Linux為核心的版本轉換到systemd。
  • Ubuntu 15.04及后续版本

; 可以使用systemd的发行版

  • Gentoo,同OpenRC一起被Gentoo官方支持

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

注释
参考文献
外部链接
*
*
*
*
*

参见

  • BusyBox

*

  • readahead

*

  • Upstart
  • OpenRC

评论 (0)

  • 还没有评论,来抢沙发吧。