systemd System and Service Manager
What is this?
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. See Lennart's blog story for a longer introduction, and the three status updates since then. Also see the Wikipedia article. If you are wondering whether systemd is for you, please have a look at this comparison of init systems by one of the creators of systemd.
License:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
Spelling:
Yes, it is written systemd, not system D or System D, or even SystemD. And it isn't system d either. Why? Because it's a system daemon, and under Unix/Linux those are in lower case, and get suffixed with a lower case d. And since systemd manages the system, it's called systemd. It's that simple. But then again, if all that appears too simple to you, call it (but never spell it!) System Five Hundred since D is the roman numeral for 500 (this also clarifies the relation to System V, right?). The only situation where we find it OK to use an uppercase letter in the name (but don't like it either) is if you start a sentence with systemd. On high holidays you may also spell it sÿstëmd. But then again, Système D is not an acceptable spelling and something completely different (though kinda fitting).
Plus:
Hackfests and Sprints:
- systemd Hackfest on Thu, February 21 and Fri, February 22 2013 in Brno, Czech Republic, colocated with the Red Hat Developer Conference 2013
Or
Mailing Lists:
Bug Reports:
Also check out various distributions bugtrackers:
IRC:
Download:
And, most importantly, Git:
- git://anongit.freedesktop.org/systemd/systemd
- ssh://git.freedesktop.org/git/systemd/systemd
Git Web Frontend:
And the package repositories of the various distributions:
Continuous Integration:
Publications:
- Article in The H
- Article in The H, Part 2
- Bê-á-bá do systemd #1, #2, #3, #4, #5, #6 (Brazilian Portuguese)
- Évolutions techniques de systemd (French)
Manuals and Documentation for Users and Administrators:
- Manual Pages
- Tips And Tricks
- Frequently Asked Questions
- Debugging systemd Problems
- Incompatibilities with SysV/LSB
- Booting Without /usr is Broken
- Predictable Network Interface Names
- API File Systems
- Running Services After the Network is up
- My Service Can't Get Realtime!
- The 30 Biggest Myths about systemd
Videos for Users and Administrators:
- Presentation about the journal at Devconf 2013
- Presentation about recent developments at Devconf 2013
- Presentation about systemd at FOSDEM 2013 (Audio is bad 0:29 - 06:12, please seek ahead), (Slides)
- Presentation about systemd at FOSS.in 2012
- Presentation about systemd at OSEC Barcamp 2012
- Presentation about systemd at FOSDEM 2011
- Presentation about systemd at linux.conf.au 2011, (Slides)
- Interview about systemd at golem.de (German)
The systemd for Administrators Blog Series:
- #1: Verifying Bootup
- #2: Which Service Owns Which Processes?
- #3: How Do I Convert A SysV Init Script Into A systemd Service File?
- #4: Killing Services
- #5: The Three Levels of "Off"
- #6: Changing Roots
- #7: The Blame Game
- #8: The New Configuration Files
- #9: On /etc/sysconfig and /etc/default
- #10: Instantiated Services
- #11: Converting inetd Services
- #12: Securing Your Services
- #13: Log and Service Status
- #14: The Self-Explanatory Boot
- #15: Watchdogs
- #16: Gettys on Serial Consoles (and Elsewhere)
- #17: Using the Journal
- #18: Managing Resources
- #19: Detecting Virtualization
- #20: Socket Activated Internet Services and OS Containers
Also available: a Russian translation; another, more complete Russian translation as PDF; a Vietnamese translation
Documentation for Developers:
- Presets
- systemd Optimizations
- Interface Stability Promise
- Interface Portability and Stability Chart
- libudev Library interface
- GUdev Library interface
- Writing Password Agents
- PID1's Bus APIs
- On hostnamed
- On timedated
- On localed
- On logind
- Multi-Seat on Linux
- Writing Display Managers
- Writing Desktop Environments
- Inhibitor Locks
- Cooperating in the cgroupfs trees
- Writing syslog Daemons Which Cooperate Nicely With systemd
- systemd and Storage Daemons for the Root File System
- The Case for the /usr Merge
- The Container Interface of systemd
- The initrd Interface of systemd
- The Boot Loader Interface of systemd
- Implementing Offline System Updates
- Generators
- Minimal Builds
- Journal Export Format
- Journal JSON Format
- Journal File Format
- Control Groups vs. Control Groups
- On /etc/os-release
- Journal Message Catalogs
- Testing systemd during Development in Virtualization
The systemd for Developers Series:
Related Packages:
- PHP Bindings for the Journal APIs
- Node.JS Bindings for the Journal APIs
- Lua Bindings for the Journal APIs
- Node.JS Support for systemd Socket Activation
- Experimental Qt bindings
Note that Python support for the Journal is included in systemd's tarball.

