Systemd is a system and session 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 cgroups, 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.
Systemd man pages
Development man pages
Here's a list man pages related to the development of Systemd itself.
daemon, pam systemd, sd-daemon, sd_booted, sd_is_fifo, sd_listen_fds, sd_notify,
End user man pages
Here's a list of man pages for various end user and administrative commands.
halt, runlevel, systemadm, systemctl, systemd-cgls, systemd-install, systemd-notify, systemd.automount, systemd.conf, systemd.device, systemd.exec, systemd, systemd.mount, systemd.path, systemd.service, systemd.snapshot, systemd.socket, systemd.special,
Quick Debugging Tips
- Add systemd.log_level=debug to the kernel command line to log systemd with debug output enabled
- Add "systemd.log_target=kmsg" to the kernel command line to let systemd buffer to be written to the kernel log buffer
- Run dmesg from the command line to inspect systemd output
- Redirect dmesg ouput to a file for later inspection or to use as an attachment to a bug report
- Run /bin/systemd --test --system from command line to test run init as systemd.
Technical details
- TODO Gather this stuff
Communicate
- Talk to other Systemd users and developers on our IRC channel
- Visit Systemd Development Archives to see the collection of prior postings to the Systemd Development mailing list
- Post a message to all Systemd Development list members
- Subscribe to the Systemd Development mailing list
Please read the mailing list guidelines before communicating on the list.
See also How to use IRC if the IRC links don't work, or if you need more information.
Getting started
To install on Fedora 14 and onwards run yum install systemd
.
Add selinux=0 init=/bin/systemd either to /etc/grub.conf or pass it on the kernel command line at bootup.
Getting the Source
The primary methods of distributing the Systemd source are source RPMs in the Fedora development tree and git.
To access the current source code in in non-rpm format, you'll need to install git.
yum -y install git
Note that several related packages will be installed as well.
After the git source code management tool has been installed, then you use anonymous git access to the Systemd repository.
git clone git://anongit.freedesktop.org/systemd
To keep your code updated with the latest System Development.
cd $systemd_directory && git pull
If you have committer access to Systemd, then you will want to use the git+ssh access URL.
git clone git+ssh://git.freedesktop.org/git/systemd
Once you've committed changes locally, you can push them with git push
.
If you would just like to browse the Systemd git repository via the web, then you can use Systemd gitweb.
Useful commands
Listing running services
- TODO add description
$ systemctl
- TODO Sample output
Show runtime status
- TODO add description
$ systemctl status $foo.service
- TODO sample output
Tree list control groups
- TODO add description
$ tree -d /cgroup/systemd/
- TODO sample output
PS with cgroups
- TODO add description
$ ps xawf -eo pid,user,cgroup,args
- TODO sample output
- TODO write some jibber jabber about creating a handy alias for the above command named psc if it does not get added to default profiles before GA
alias psc='ps xawf -eo pid,user,cgroup,args'
Reporting Problems
Before filing a bug, please read up on debugging, which will tell you how to fill out useful bug reports that will help us quickly solve your problem. Also take a look at Systemd bugs or try searching Bugzillafor other reports about your problem, as some bugs are often filed by several people.
Systemd Team
In alphabetical order, the following people are the Systemd team and are responsible for the majority of commits.
- Christian Ruppert
- Dave Reisner
- Fabian Henze
- Kay Sievers
- Lennart Poettering
- Maarten Lankhorst
- Malcolm Studd
- Marc Antoine Perennou
- Michael Tremer
- Pavol Rusnak
- Robert Gerus
- Tollef Fog Heen
- Tom Gundersen