Jump to content

systemd

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jgowdy (talk | contribs) at 04:54, 13 February 2014 (Improve date). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Original author(s)Lennart Poettering, Kay Sievers
Developer(s)Lennart Poettering, Kay Sievers and others[1]
Initial release30 March 2010 (2010-03-30)
Stable release
208 / 1 October 2013; 10 years ago (2013-10-01)
Repository
Written inC[2]
Operating systemLinux
TypeInit daemon
Licensefirst GPLv2+, currently GNU LGPL 2.1+ [3]
Websitefreedesktop.org/…/systemd/
systemd components

systemd is a system management daemon designed exclusively for the Linux kernel API. In the Linux startup process, it is the first process to execute in user land; therefore, it is also the parent process of all child processes in user land. The name systemd adheres to the Unix convention of making daemons easier to distinguish by appending the letter d to the filename.[4]

systemd was developed for Linux to replace the init system inherited from UNIX System V and Berkeley Software Distribution (BSD) operating systems. Like init, systemd is a daemon that manages other daemons. All daemons, including systemd, are background processes. systemd is the first daemon to start (during booting) and the last daemon to terminate (during shutdown).

Lennart Poettering and Kay Sievers, the software engineers who initially developed systemd,[1] sought to surpass the efficiency of the init daemon in several ways. They wanted to improve the software framework for expressing dependencies; to allow more processing to be done concurrently or in parallel during system booting; and to reduce the computational overhead of the shell.

systemd is published as free and open-source software under the terms of the GNU Lesser General Public License version 2.1 or later.[3]

Software architecture

Systemd's initialization instructions for each daemon are recorded in a declarative configuration file rather than a shell script. For inter-process communication, systemd makes Unix domain sockets and D-Bus available to the running daemons. Because systemd tracks processes using Linux cgroups instead of process identifiers (PIDs), daemons cannot "escape" systemd; not even by double-forking. Systemd is also capable of aggressive parallelization.

Among systemd's auxiliary features are a cron-like job scheduler called systemd Calendar Timers, and an event logging subsystem called journal.[5] The system administrator may choose whether to log system events with systemd or syslog. systemd's logfile is a binary file. The state of systemd itself can be preserved in a snapshot for future recall.

In April 2012, the source tree for udev (a device manager that interoperates with the Linux kernel) was merged into systemd.[6]

Systemd provides a replacement for sysvinit, pm-utils, inetd, acpid, syslog, watchdog, cron and atd, and obsoletes ConsoleKit.[7]

According to Jacob Appelbaum in December 2013, forensics hardware such as a "mouse jiggler" (a HID device preventing screensaver from activating due to idle state[8]) is disabled in systemd.[9]

Userspace utilities

All available userspace utility programs for systemd and their man page are currently documented at the project's official page.[10]

Adoption

In May 2011, Fedora became the first major Linux distribution to enable systemd by default.[11]

Linux distributions that include systemd
Linux distribution Date added to software repository[a] Enabled by default?
Aptosid April 2012 No
Arch Linux October 2012[12] Yes
Chakra Linux October 2012[13] Yes
CoreOS July 2013 Yes[14]
Debian GNU/Linux[15] April 2012 Chosen for next release[c]
Fedora May 2011 (v15)[16] Yes
Frugalware Linux August 2011 (v1.5)[17] Yes
Gentoo Linux 2011[18][19][20] No
Mageia May 2012 (v2.0)[21] Yes
openSUSE March 2011 (v11.4)[22] Yes, since 15 September 2012 (v12.2)
Red Hat Enterprise Linux Pending for RHEL 7 Pending for RHEL 7[23][24]
Sabayon Linux August 2013 (v13.08)[25] Yes
siduction December 2013 (v13.2.rc1)[26] Yes
Ubuntu[b] April 2013 (v13.04)[27] No
  1. Dates are for the general availability release.
  2. Canonical Ltd. provides experimental instructions for installing systemd as an unsupported, alternative init system.[28]
  3. The Debian Technical Committee voted to make systemd the default system management daemon for Linux in the "jessie" release.[29]

In the interest of enhancing the interoperability between systemd and GNOME, systemd coauthor Lennart Poettering asked the GNOME Project to consider making systemd an external dependency of GNOME 3.2, so those two projects become better integrated, with GNOME using operations offered by systemd for various tasks.[30] In November 2012, the GNOME Project concluded that basic GNOME functionality should not rely on systemd.[31]

See also

References

  1. ^ a b "README", systemd, freedesktop.org, retrieved 2012-09-09
  2. ^ "systemd", Analysis Summary, Ohloh, retrieved 2011-06-16
  3. ^ a b Lennart Poettering (2012-04-21), systemd Status Update, retrieved 2012-04-28
  4. ^ Lennart Poettering, Kay Sievers, Thorsten Leemhuis (2012-05-08), Control Centre: The systemd Linux init system, The H, archived from the original on 14 October 2012, retrieved 2012-09-09{{citation}}: CS1 maint: multiple names: authors list (link)
  5. ^ "[Phoronix] Systemd Dreams Up New Feature, Makes It Like Cron". Phoronix.com. 2013-01-28. Retrieved 2014-01-22.
  6. ^ Sievers, Kay, "Commit importing udev into systemd", systemd, freedesktop.org, retrieved 25 May 2012
  7. ^ ConsoleKit official website
  8. ^ "Mouse Jiggler". Cru-inc.com. 2011-03-29. Retrieved 2014-01-22.
  9. ^ Jacob Appelbaum (2013-12-30). "To Protect And Infect" (PDF). cryptome.org. Retrieved 2014-01-02.
  10. ^ "systemd.index", freedesktop.org
  11. ^ "F15 one page release notes", fedoraproject.org, 2001-05-24
  12. ^ systemd is now the default on new installations, Arch Linux News, 2012-10-17, retrieved 2014-01-05
  13. ^ Chakra is making the full switch to systemd, Chakra Project, 2012-10-13, retrieved 2012-10-29
  14. ^ CoreOS's init system, CoreOS Inc, retrieved 2014-02-14
  15. ^ systemd, Debian Wiki, retrieved 2011-07-21
  16. ^ D. J. Walker-Morgan (2011-05-24), Fedora 15's Lovelock released, The H, archived from the original on 2 August 2011, retrieved 2012-08-22
  17. ^ Phayz (2012-01-17), Review of 2011, Frugalware Project, retrieved 2012-08-22
  18. ^ "Comment #210", systemd – bug #318365, Gentoo's Bugzilla, retrieved 2011-07-05
  19. ^ systemd, Gentoo's Documentation, retrieved 2011-07-05
  20. ^ systemd, Gentoo wiki, retrieved 2012-08-26
  21. ^ Fabian Scherschel (2012-05-23), Mageia 2 arrives with GNOME 3 and systemd, The H, archived from the original on 8 December 2013, retrieved 2012-08-22
  22. ^ Directory view of the 11.4 i586 installation showing presence of the systemd v18 installables, 2011-02-23, retrieved 2013-09-24
  23. ^ Lennart Poettering (2013-06-19). "Red Hat Summit talk about systemd in RHEL 7 is now available online". Google Plus. Retrieved 2013-12-31.
  24. ^ Tim Burke (2012-06-27), "Red Hat Enterprise Linux Roadmap Highlights" (PDF), presentation
  25. ^ lxnay (2013-08-12). "Press Release: Sabayon 13.08". Sabayon. Retrieved 2014-01-22.
  26. ^ "siduction 2013.2 RC1 released with systemdnews.siduction.org". news.siduction.org. 2013-12-23. Retrieved 2014-01-22.
  27. ^ http://packages.ubuntu.com/search?suite=raring&arch=amd64&keywords=systemd
  28. ^ systemd - An alternative boot manager, Ubuntu Wiki, retrieved 2013-06-24
  29. ^ Bdale Garbee (2014-02-11), Bug#727708: call for votes on default Linux init system for jessie
  30. ^ Lennart Poettering (2011-05-18), "systemd as an external dependency", desktop-devel mailing list, GNOME, retrieved 2011-05-26
  31. ^ Frederic Peters (2011-11-04), "20121104 meeting minutes", release-team mailing list, GNOME, retrieved 2013-01-14