Differences between revisions 55 and 56
Revision 55 as of 2010-11-18 21:02:34
Size: 6049
Editor: MichaelBiebl
Comment:
Revision 56 as of 2010-11-18 22:39:02
Size: 6355
Editor: MichaelBiebl
Comment:
Deletions are marked like this. Additions are marked like this.
Line 109: Line 109:
 * Get Essential flag removed from sysvinit.
 * Get Essential flag removed from sysvinit.
 * Sort out what to do about pam_loginuid, and integration into the Debian PAM stack
   * [[http://0pointer.de/blog/projects/ids.html]]
   * [[http://blog.flameeyes.eu/2010/11/12/it-s-getting-boring-i-know-more-consolekit-braindumps]]
   * [[http://blog.flameeyes.eu/2010/11/18/what-s-the-plan-with-pam]]

Translation(s): none


systemd

Introduction

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 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.

Installation

Currently v11 is available from experimental and v12 is being worked on. systemd requires dbus from upstream, means you need dbus >=1.4.0, which can also be found in experimental. You have to enhance your sources.list and add experimental Distribution.

To install systemd (and dbus) from experimental:

# apt-get update
# apt-get install -t experimental dbus systemd

You also need a kernel which supports DEVTMPFS, CGROUPS and is recent enough to support mounting cgroupfs at /sys/fs/cgroup. Debian Linux kernels (>= 2.6.32-23) are suitable.

Packages with native systemd support

  • dbus

    (>=1.4.0-1)

    experimental

    supports socket activation

    rsyslog

    (>=5.7.1-1)

    experimental

    supports socket activation, run "systemctl enable rsyslog.service"

    hal

    (>=0.5.14-4)

    experimental

    supports D-Bus activation

    consolekit

    (>=0.4.3-1)

    unstable

    supports D-Bus activation

    avahi

    (>=0.6.28-1)

    experimental

    avahi-daemon: supports socket and D-Bus activation, avahi-dnsconfd: started by multi-user.target. Run "systemctl enable avahi-daemon.service" resp. "systemctl enable avahi-dnsconfd.service".

Known Issues and Workarounds

  • Issue #1: sysvinit vs. systemd-sysv

As sysvinit is default System-V-like init-system and has "Essential flag" set, it will always be preferred on dist-upgrades. For more Details see chapters "3.8 Essential packages" and "5.6.9 Essential"

Workaround #1 (preferred): Do not install systemd-sysv, enhance grub-line (Kernel command line) by "init=/bin/systemd". For a grub2 persistent solution (requires an update-grub to refresh /boot/grub/grub.cfg):

# $EDITOR /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/bin/systemd" <--- Change this line

# update-grub

Workaround #2: Install systemd-sysv and put package "on hold".

NOTE: systemd-sysv replaces sysvinit package and changes symlink like "/sbin/init -> /bin/systemd".

The problem with "Essential flag" needs some discussion with the sysvinit maintainer.

  • Issue #2: agetty vs. getty

util-linux-ng has /sbin/agetty, Debian has renamed agetty to getty in its util-linux package (will be fixed for wheezy by Debian maintainer)

  • Issue #3: libnotify-0.7

Upstream systemd >=v12 requires libnotify 0.7 - this needs a revert as it is not available in Debian yet

Use native mount

With v12 you can use native (means systemd's) mount by activating it in /etc/systemd/system.conf.

# egrep 'MountAuto|SwapAuto' /etc/systemd/system.conf
Output:
MountAuto=yes
SwapAuto=yes

If you use LVM and your swap partition is on a LV, you need to use the actual device (/dev/dm-X) in /etc/fstab until the lvm2 package has been updated to properly work together with udev (603710)

Who is who?

Maintainer of the systemd package is Tollef Fog Heen (Mithrandir). Currently, it's discussed to get Michael Biebl (mbiebl) as co-maintainer. Michael and Sedat Dilek (dileks) contributed to the initial version of this wiki.

Where to get help?

As systemd is a very young project (see [1]), we would appreciate to use the existing upstream infrastructure like mailing-list [2], IRC and read Lennart's blog [3], etc. for following the development. Most people interested in systemd development (from diverse distributions) and Debian-specific packaging are around on IRC: #systemd (irc.freenode.net). Anyway, Debian-specific bugs should be sent to Debian-BTS (for example use report-bug tool).

  1. http://0pointer.de/blog/projects/systemd.html

  2. http://lists.freedesktop.org/mailman/listinfo/systemd-devel

  3. http://0pointer.de/blog/

Known Bugs and Bug Tracking Systems

TODO

Future plans

  • Communication channels: alioth project (+ mailing list) and/or a #debian-systemd IRC channel on OFTC
  • Announcement to the Debian mailing-lists: 1. Inform there is sth. awesome 2. Join the systemd party (use it and report, contribute to packaging or even upstream)

Resources