README revision f28cbd0382ca53baa99803bbc907a469fbf68128
d657c51f14601d0235434ffb78cf6ac0f27cc83cLennart Poetteringsystemd System and Service Manager
220a21d38f675eb835f5758e3d23e896573aa5eaLennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringDETAILS:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering http://0pointer.de/blog/projects/systemd.html
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringWEB SITE:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering http://www.freedesktop.org/wiki/Software/systemd
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringGIT:
ad88e758d1b08a21d25971b074e119c167757109Zbigniew Jędrzejewski-Szmek git://anongit.freedesktop.org/systemd/systemd
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering ssh://git.freedesktop.org/git/systemd/systemd
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringGITWEB:
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers http://cgit.freedesktop.org/systemd/systemd
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringMAILING LIST:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering http://lists.freedesktop.org/mailman/listinfo/systemd-devel
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering http://lists.freedesktop.org/mailman/listinfo/systemd-commits
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
fd86897568f7a1aed7ffe4c54ace6c158ddbdf7dKay SieversIRC:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering #systemd on irc.freenode.org
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringBUG REPORTS:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringAUTHOR:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Kay Sievers
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering ...and many others
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
156f7d09add8fc93cae8a3f13adcb2564931fee4Kay SieversLICENSE:
156f7d09add8fc93cae8a3f13adcb2564931fee4Kay Sievers LGPLv2.1+ for all code
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering - except src/udev/ which is (currently still) GPLv2+
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringREQUIREMENTS:
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers Linux kernel >= 2.6.39
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_DEVTMPFS
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_CGROUPS (it's OK to disable all controllers)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_INOTIFY_USER
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_SIGNALFD
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_TIMERFD
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_EPOLL
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_NET
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_SYSFS
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering Udev will fail to work with the legacy layout:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_SYSFS_DEPRECATED=n
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering Legacy hotplug slows down the system and confuses udev:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_UEVENT_HELPER_PATH=""
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Userspace firmware loading is deprecated, will go away, and
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering sometimes causes problems:
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_FW_LOADER_USER_HELPER=n
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Some udev rules and virtualization detection relies on it:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_DMIID
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Mount and bind mount handling might require it:
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_FHANDLE
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering Optional but strongly recommended:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_IPV6
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_AUTOFS4_FS
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_TMPFS_POSIX_ACL
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_TMPFS_XATTR
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_SECCOMP
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering For systemd-bootchart a kernel with procfs support and several
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering proc output options enabled is required:
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_PROC_FS
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering CONFIG_SCHEDSTATS
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_SCHED_DEBUG
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering For UEFI systems:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_EFI_VARS
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering CONFIG_EFI_PARTITION
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering dbus >= 1.4.0
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libcap
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libblkid >= 2.20 (from util-linux) (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libkmod >= 5 (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering PAM >= 1.1.2 (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libcryptsetup (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libaudit (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libacl (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libattr (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libselinux (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering liblzma (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering tcpwrappers (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libgcrypt (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libqrencode (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libmicrohttpd (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering libpython (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering make, gcc, and similar tools
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering During runtime you need the following additional dependencies:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering util-linux >= v2.19 (requires fsck -l, agetty -s)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering dracut (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering PolicyKit (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering When building from git you need the following additional dependencies:
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering docbook-xsl
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering xsltproc
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering automake
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering autoconf
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering libtool
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering intltool
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering gperf
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering gtkdocize (optional)
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering python (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering sphinx (optional)
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering When systemd-hostnamed is used it is strongly recommended to
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering install nss-myhostname to ensure that in a world of
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering dynamically changing hostnames the hostname stays resolvable
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering under all circumstances. In fact, systemd-hostnamed will warn
6aa8d43ade72e24c9426e604f7fc4b7582b9db7cLennart Poettering if nss-myhostname is not installed.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Note that D-Bus can link against libsystemd-login.so, which
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering results in a cyclic build dependency. To accommodate for this
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering please build D-Bus without systemd first, then build systemd,
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering then rebuild D-Bus with systemd support.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering To build HTML documentation for python-systemd using sphinx,
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering please first install systemd (using 'make install'), and then
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering invoke sphinx-build with 'make sphinx-<target>', with <target>
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers being 'html' or 'latexpdf'. If using DESTDIR for installation,
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering pass the same DESTDIR to 'make sphinx-html' invocation.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringUSERS AND GROUPS:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering Default udev rules use the following standard system group
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering names, which need to be resolvable by getgrnam() at any time,
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering even in the very early boot stages, where no other databases
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering and network are available:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
bf9335608821264163058a8b036a00775a8ffbe4Kay Sievers During runtime the journal daemon requires the
bf9335608821264163058a8b036a00775a8ffbe4Kay Sievers "systemd-journal" system group to exist. New journal files will
bf9335608821264163058a8b036a00775a8ffbe4Kay Sievers be readable by this group (but not writable) which may be used
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering to grant specific users read access.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering It is also recommended to grant read access to all journal
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering files to the system groups "wheel" and "adm" with a command
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering like the following in the post installation script of the
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering package:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering # setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering The journal gateway daemon requires the
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers "systemd-journal-gateway" system user and group to
40e21da873c120936faff0aa42a6533f6933edf7Kay Sievers exist. During execution this network facing service will drop
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering privileges and assume this uid/gid for security reasons.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart PoetteringWARNINGS:
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering systemd will warn you during boot if /etc/mtab is not a
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering symlink to /proc/mounts. Please ensure that /etc/mtab is a
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering proper symlink.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering systemd will warn you during boot if /usr is on a different
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering file system than /. While in systemd itself very little will
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering break if /usr is on a separate partition many of its
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering dependencies very likely will break sooner or later in one
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering form or another. For example udev rules tend to refer to
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering binaries in /usr, binaries that link to libraries in /usr or
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering binaries that refer to data files in /usr. Since these
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering breakages are not always directly visible systemd will warn
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering about this, since this kind of file system setup is not really
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering supported anymore by the basic set of Linux OS components.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering For more information on this issue consult
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering To run systemd under valgrind, compile with VALGRIND defined
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering (e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering false positives will be triggered by code which violates
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering some rules but is actually safe.
85d683970b7dc2c4470b2b7d60c3d9dce28c1471Lennart Poettering