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