2N/Asystemd System and Service Manager
59N/A LGPLv2.1+ for all code
2N/A - except
src/udev/* which is (currently still) GPLv2, GPLv2+
26N/A Linux kernel >= 3.7
2N/A Linux kernel >= 3.8 for Smack support
1470N/A CONFIG_CGROUPS (it is OK to disable all controllers)
26N/A CONFIG_FHANDLE (libudev, mount and bind mount handling)
26N/A udev will fail to work with the legacy sysfs layout:
26N/A CONFIG_SYSFS_DEPRECATED=n
700N/A Legacy hotplug slows down the system and confuses udev:
26N/A CONFIG_UEVENT_HELPER_PATH=""
26N/A Userspace firmware loading is not supported and should
1498N/A CONFIG_FW_LOADER_USER_HELPER=n
1498N/A Some udev rules and virtualization detection relies on it:
26N/A Support for some SCSI devices serial number retrieval, to
26N/A Required for PrivateNetwork in service units:
2N/A Optional but strongly recommended:
26N/A CONFIG_TMPFS_POSIX_ACL
26N/A Required for CPUShares in resource control unit settings
26N/A CONFIG_CGROUP_SCHED
26N/A CONFIG_FAIR_GROUP_SCHED
586N/A For systemd-bootchart, several proc debug interfaces are required:
1498N/A Note that kernel auditing is broken when used with systemd's
2N/A container code. When using systemd in conjunction with
26N/A containers, please make sure to either turn off auditing at
26N/A runtime using the kernel command line option "audit=0", or
181N/A turn it off at kernel compile time using:
181N/A If systemd is compiled with libseccomp support on
99N/A architectures which do not use socketcall() and where seccomp
59N/A is supported (this effectively means x86-64 and ARM, but
12N/A excludes 32-bit x86!), then nspawn will now install a
30N/A work-around seccomp filter that makes containers boot even
1256N/A with audit being enabled. This works correctly only on kernels
1256N/A 3.14 and newer though. TL;DR: turn audit off, still.
1256N/A libmount >= 2.20 (from util-linux)
1256N/A libseccomp >= 1.0.0 (optional)
1256N/A libblkid >= 2.20 (from util-linux) (optional)
1256N/A gobject-introspection > 1.40.0 (optional)
1256N/A make, gcc, and similar tools
1256N/A During runtime, you need the following additional
1256N/A util-linux >= v2.25 required
2N/A dbus >= 1.4.0 (strictly speaking optional, but recommended)
185N/A When building from git, you need the following additional
197N/A python-lxml (optional, but required to build the indices)
30N/A When systemd-hostnamed is used, it is strongly recommended to
26N/A install nss-myhostname to ensure that, in a world of
46N/A dynamically changing hostnames, the hostname stays resolvable
46N/A under all circumstances. In fact, systemd-hostnamed will warn
46N/A if nss-myhostname is not installed.
64N/A To build HTML documentation for python-systemd using sphinx,
26N/A please first install systemd (using 'make install'), and then
46N/A invoke sphinx-build with 'make sphinx-<target>', with <target>
46N/A being 'html' or 'latexpdf'. If using DESTDIR for installation,
46N/A pass the same DESTDIR to 'make sphinx-html' invocation.
1256N/A Default udev rules use the following standard system group
1256N/A names, which need to be resolvable by getgrnam() at any time,
1256N/A even in the very early boot stages, where no other databases
1256N/A audio, cdrom, dialout, disk, input, kmem, lp, tape, tty, video
1256N/A During runtime, the journal daemon requires the
1256N/A "systemd-journal" system group to exist. New journal files will
1256N/A be readable by this group (but not writable), which may be used
1256N/A to grant specific users read access.
1256N/A It is also recommended to grant read access to all journal
1256N/A files to the system groups "wheel" and "adm" with a command
1256N/A like the following in the post installation script of the
1256N/A The journal gateway daemon requires the
1256N/A "systemd-journal-gateway" system user and group to
1256N/A exist. During execution this network facing service will drop
1256N/A Similarly, the NTP daemon requires the "systemd-timesync" system
1256N/A Similarly, the network management daemon requires the
1256N/A "systemd-network" system user and group to exist.
1256N/A Similarly, the name resolution daemon requires the
1413N/A "systemd-resolve" system user and group to exist.
1413N/A Similarly, the kdbus dbus1 proxy daemon requires the
1413N/A "systemd-bus-proxy" system user and group to exist.
1413N/A systemd ships with three NSS modules:
1413N/A nss-myhostname resolves the local hostname to locally
1256N/A configured IP addresses, as well as "localhost" to
1256N/A nss-resolve enables DNS resolution via the systemd-resolved
1256N/A nss-mymachines enables resolution of all local containers
1256N/A registered with machined to their respective IP addresses.
1256N/A To make use of these NSS modules, please add them to the
1256N/A should replace the glibc "dns" module in this file.
1256N/A The three modules should be used in the following order:
1256N/A hosts: files mymachines resolve myhostname
1256N/A systemd will warn you during boot if /usr is on a different
53N/A file system than /. While in systemd itself very little will
46N/A break if /usr is on a separate partition, many of its
46N/A dependencies very likely will break sooner or later in one
26N/A form or another. For example, udev rules tend to refer to
181N/A binaries in /usr, binaries that link to libraries in /usr or
369N/A binaries that refer to data files in /usr. Since these
181N/A breakages are not always directly visible, systemd will warn
181N/A about this, since this kind of file system setup is not really
181N/A supported anymore by the basic set of Linux OS components.
181N/A systemd requires that the /run mount point exists. systemd also
99N/A For more information on this issue consult
26N/A To run systemd under valgrind, compile with VALGRIND defined
1549N/A (
e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
1549N/A false positives will be triggered by code which violates
1549N/A some rules but is actually safe.
1549N/AENGINEERING AND CONSULTING SERVICES:
1549N/A engineering and consulting services for systemd. Please
1549N/A contact Chris Kühl <chris@endocode.com> for more information.