README revision 32dcef3ab1eb91ee469c3246ef859578dccd8a45
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poetteringsystemd System and Service Manager
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringDETAILS:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering http://0pointer.de/blog/projects/systemd.html
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringWEB SITE:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering http://www.freedesktop.org/wiki/Software/systemd
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringGIT:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering git://anongit.freedesktop.org/systemd/systemd
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering ssh://git.freedesktop.org/git/systemd/systemd
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringGITWEB:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering http://cgit.freedesktop.org/systemd/systemd
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringMAILING LIST:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering http://lists.freedesktop.org/mailman/listinfo/systemd-devel
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering http://lists.freedesktop.org/mailman/listinfo/systemd-commits
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringIRC:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering #systemd on irc.freenode.org
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringBUG REPORTS:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart PoetteringAUTHOR:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Kay Sievers
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering ...and many others
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringLICENSE:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering LGPLv2.1+ for all code
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering - except src/shared/MurmurHash2.c which is Public Domain
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering - except src/shared/siphash24.c which is CC0 Public Domain
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering - except src/journal/lookup3.c which is Public Domain
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering - except src/udev/* which is (currently still) GPLv2, GPLv2+
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart PoetteringREQUIREMENTS:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Linux kernel >= 3.0
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_DEVTMPFS
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_CGROUPS (it's OK to disable all controllers)
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_INOTIFY_USER
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_SIGNALFD
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_TIMERFD
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_EPOLL
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_NET
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_SYSFS
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_PROC_FS
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering CONFIG_FHANDLE (mount and bind mount handling)
71d35b6b5563817dfbe757ab9e3b9f018b2db491Thomas Hindoe Paaboel Andersen
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Linux kernel >= 3.8 for Smack support
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
71d35b6b5563817dfbe757ab9e3b9f018b2db491Thomas Hindoe Paaboel Andersen Udev will fail to work with the legacy layout:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_SYSFS_DEPRECATED=n
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Legacy hotplug slows down the system and confuses udev:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_UEVENT_HELPER_PATH=""
f52e61da047d7fc74e83f12dbbf87e0cbcc51c73Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Userspace firmware loading is deprecated, will go away, and
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering sometimes causes problems:
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_FW_LOADER_USER_HELPER=n
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
6e0684729420912df019cc64d3f8a3c8290cc5f1Lennart Poettering Some udev rules and virtualization detection relies on it:
6e0684729420912df019cc64d3f8a3c8290cc5f1Lennart Poettering CONFIG_DMIID
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ae6a4bbf318e197813227e50c245a00de03784a2Lennart Poettering Support for some SCSI devices serial number retrieval, to
ae6a4bbf318e197813227e50c245a00de03784a2Lennart Poettering create additional symlinks in /dev/disk/ and /dev/tape:
ae6a4bbf318e197813227e50c245a00de03784a2Lennart Poettering CONFIG_BLK_DEV_BSG
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Optional but strongly recommended:
9df3ba6c6cb65eecec06f39dfe85a3596cedac4eTom Gundersen CONFIG_IPV6
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_AUTOFS4_FS
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_TMPFS_POSIX_ACL
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering CONFIG_TMPFS_XATTR
4667e00a61c2f60922558bc5e33ac9d3073a482cLennart Poettering CONFIG_SECCOMP
4667e00a61c2f60922558bc5e33ac9d3073a482cLennart Poettering
d20b1667dbab8bccf69735523a0d5fc645e81b80Tom Gundersen For systemd-bootchart, several proc debug interfaces are required:
4667e00a61c2f60922558bc5e33ac9d3073a482cLennart Poettering CONFIG_SCHEDSTATS
8300ba218e3cf5049496937be8bce10f22d09bbcTom Gundersen CONFIG_SCHED_DEBUG
8300ba218e3cf5049496937be8bce10f22d09bbcTom Gundersen
be808ea083fa07271116b4519c3c27fd20c5f077Tom Gundersen For UEFI systems:
be808ea083fa07271116b4519c3c27fd20c5f077Tom Gundersen CONFIG_EFI_VARS
be808ea083fa07271116b4519c3c27fd20c5f077Tom Gundersen CONFIG_EFI_PARTITION
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering Note that kernel auditing is broken when used with systemd's
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering container code. When using systemd in conjunction with
801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47ddLennart Poettering containers, please make sure to either turn off auditing at
801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47ddLennart Poettering runtime using the kernel command line option "audit=0", or
801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47ddLennart Poettering turn it off at kernel compile time using:
801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47ddLennart Poettering CONFIG_AUDIT=n
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering glibc >= 2.14
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libcap
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libblkid >= 2.20 (from util-linux) (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libkmod >= 15 (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering PAM >= 1.1.2 (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libcryptsetup (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libaudit (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libacl (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libattr (optional)
f52e61da047d7fc74e83f12dbbf87e0cbcc51c73Lennart Poettering libselinux (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering liblzma (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering tcpwrappers (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libgcrypt (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libqrencode (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libmicrohttpd (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering libpython (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering make, gcc, and similar tools
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering To sucessfully use --compat-libs, gcc >= 4.8 seems necessary.
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering During runtime, you need the following additional
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering dependencies:
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering util-linux >= v2.19 (requires fsck -l, agetty -s),
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering v2.21 required for tests in test/
6e0684729420912df019cc64d3f8a3c8290cc5f1Lennart Poettering dbus >= 1.4.0 (strictly speaking optional, but recommended)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended,
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering required for tests in test/)
3b31df8301fd7dfb78bf9eaf9227d40c9bf12182Tom Gundersen dracut (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering PolicyKit (optional)
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering When building from git, you need the following additional
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering dependencies:
c3bc53e62459d7e566ffffeade41cd82bc6754f5Lennart Poettering
docbook-xsl
xsltproc
automake
autoconf
libtool
intltool
gperf
gtkdocize (optional)
python (optional)
python-lxml (optional, but required to build the indices)
sphinx (optional)
When systemd-hostnamed is used, it is strongly recommended to
install nss-myhostname to ensure that, in a world of
dynamically changing hostnames, the hostname stays resolvable
under all circumstances. In fact, systemd-hostnamed will warn
if nss-myhostname is not installed.
To build HTML documentation for python-systemd using sphinx,
please first install systemd (using 'make install'), and then
invoke sphinx-build with 'make sphinx-<target>', with <target>
being 'html' or 'latexpdf'. If using DESTDIR for installation,
pass the same DESTDIR to 'make sphinx-html' invocation.
USERS AND GROUPS:
Default udev rules use the following standard system group
names, which need to be resolvable by getgrnam() at any time,
even in the very early boot stages, where no other databases
and network are available:
tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk
During runtime, the journal daemon requires the
"systemd-journal" system group to exist. New journal files will
be readable by this group (but not writable), which may be used
to grant specific users read access.
It is also recommended to grant read access to all journal
files to the system groups "wheel" and "adm" with a command
like the following in the post installation script of the
package:
# setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
The journal gateway daemon requires the
"systemd-journal-gateway" system user and group to
exist. During execution this network facing service will drop
privileges and assume this uid/gid for security reasons.
WARNINGS:
systemd will warn you during boot if /etc/mtab is not a
symlink to /proc/mounts. Please ensure that /etc/mtab is a
proper symlink.
systemd will warn you during boot if /usr is on a different
file system than /. While in systemd itself very little will
break if /usr is on a separate partition, many of its
dependencies very likely will break sooner or later in one
form or another. For example, udev rules tend to refer to
binaries in /usr, binaries that link to libraries in /usr or
binaries that refer to data files in /usr. Since these
breakages are not always directly visible, systemd will warn
about this, since this kind of file system setup is not really
supported anymore by the basic set of Linux OS components.
For more information on this issue consult
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
To run systemd under valgrind, compile with VALGRIND defined
(e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
false positives will be triggered by code which violates
some rules but is actually safe.