User:Johannbg/QA/Systemd

From FedoraProject

Jump to: navigation, search

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.

Contents

Systemd man pages

daemon, halt, pam systemd, runlevel, sd-daemon, sd_booted, sd_is_fifo, sd_listen_fds,

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.

Read More...

Technical details

  1. TODO Gather this stuff

Communicate

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

  1. TODO add description
$ systemctl
  1. TODO Sample output

Show runtime status

  1. TODO add description
$ systemctl status $foo.service
  1. TODO sample output

Tree list control groups

  1. TODO add description
$ tree -d /cgroup/systemd/ 
  1. TODO sample output

PS with cgroups

  1. TODO add description
$ ps xawf -eo pid,user,cgroup,args
  1. TODO sample output
  2. 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