2012-01-25 09:20:38 +08:00
|
|
|
systemd System and Service Manager
|
2010-05-13 09:30:21 +08:00
|
|
|
|
|
|
|
DETAILS:
|
|
|
|
http://0pointer.de/blog/projects/systemd.html
|
|
|
|
|
|
|
|
WEB SITE:
|
|
|
|
http://www.freedesktop.org/wiki/Software/systemd
|
|
|
|
|
|
|
|
GIT:
|
2012-01-23 01:40:13 +08:00
|
|
|
git://anongit.freedesktop.org/systemd/systemd
|
|
|
|
ssh://git.freedesktop.org/git/systemd/systemd
|
2010-05-13 09:30:21 +08:00
|
|
|
|
|
|
|
GITWEB:
|
2012-01-23 01:40:13 +08:00
|
|
|
http://cgit.freedesktop.org/systemd/systemd
|
2010-05-13 09:30:21 +08:00
|
|
|
|
|
|
|
MAILING LIST:
|
|
|
|
http://lists.freedesktop.org/mailman/listinfo/systemd-devel
|
|
|
|
http://lists.freedesktop.org/mailman/listinfo/systemd-commits
|
|
|
|
|
|
|
|
IRC:
|
|
|
|
#systemd on irc.freenode.org
|
|
|
|
|
|
|
|
BUG REPORTS:
|
|
|
|
https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
|
|
|
|
|
|
|
|
AUTHOR:
|
2012-04-12 06:20:58 +08:00
|
|
|
Lennart Poettering
|
|
|
|
Kay Sievers
|
|
|
|
...and many others
|
2010-05-13 09:30:21 +08:00
|
|
|
|
2011-07-15 05:53:53 +08:00
|
|
|
LICENSE:
|
2012-04-12 06:20:58 +08:00
|
|
|
LGPLv2.1+ for all code
|
|
|
|
- except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
|
2013-08-15 04:58:21 +08:00
|
|
|
- except src/shared/MurmurHash3.c which is Public Domain
|
|
|
|
- except src/journal/lookup3.c which is Public Domain
|
|
|
|
- except src/udev/* which is (currently still) GPLv2, GPLv2+
|
2011-07-15 05:53:53 +08:00
|
|
|
|
2010-05-13 09:30:21 +08:00
|
|
|
REQUIREMENTS:
|
2013-07-23 21:50:09 +08:00
|
|
|
Linux kernel >= 3.0
|
2013-03-07 02:36:39 +08:00
|
|
|
CONFIG_DEVTMPFS
|
|
|
|
CONFIG_CGROUPS (it's OK to disable all controllers)
|
|
|
|
CONFIG_INOTIFY_USER
|
|
|
|
CONFIG_SIGNALFD
|
|
|
|
CONFIG_TIMERFD
|
|
|
|
CONFIG_EPOLL
|
2013-03-07 02:51:52 +08:00
|
|
|
CONFIG_NET
|
2013-03-07 02:36:39 +08:00
|
|
|
CONFIG_SYSFS
|
|
|
|
|
2013-03-08 03:06:58 +08:00
|
|
|
Linux kernel >= 3.8 for Smack support
|
|
|
|
|
2013-03-07 02:36:39 +08:00
|
|
|
Udev will fail to work with the legacy layout:
|
2013-03-07 03:01:45 +08:00
|
|
|
CONFIG_SYSFS_DEPRECATED=n
|
2013-03-07 02:36:39 +08:00
|
|
|
|
|
|
|
Legacy hotplug slows down the system and confuses udev:
|
|
|
|
CONFIG_UEVENT_HELPER_PATH=""
|
|
|
|
|
|
|
|
Userspace firmware loading is deprecated, will go away, and
|
|
|
|
sometimes causes problems:
|
|
|
|
CONFIG_FW_LOADER_USER_HELPER=n
|
|
|
|
|
|
|
|
Some udev rules and virtualization detection relies on it:
|
|
|
|
CONFIG_DMIID
|
|
|
|
|
|
|
|
Mount and bind mount handling might require it:
|
|
|
|
CONFIG_FHANDLE
|
|
|
|
|
2013-09-15 13:29:25 +08:00
|
|
|
Support for some SCSI devices serial number retrieval, to
|
|
|
|
create additional symlinks in /dev/disk/ and /dev/tape:
|
|
|
|
CONFIG_BLK_DEV_BSG
|
|
|
|
|
2013-03-07 02:36:39 +08:00
|
|
|
Optional but strongly recommended:
|
|
|
|
CONFIG_IPV6
|
|
|
|
CONFIG_AUTOFS4_FS
|
|
|
|
CONFIG_TMPFS_POSIX_ACL
|
|
|
|
CONFIG_TMPFS_XATTR
|
2013-03-07 03:01:45 +08:00
|
|
|
CONFIG_SECCOMP
|
2013-03-07 02:36:39 +08:00
|
|
|
|
|
|
|
For systemd-bootchart a kernel with procfs support and several
|
|
|
|
proc output options enabled is required:
|
|
|
|
CONFIG_PROC_FS
|
|
|
|
CONFIG_SCHEDSTATS
|
|
|
|
CONFIG_SCHED_DEBUG
|
|
|
|
|
2013-03-07 03:01:45 +08:00
|
|
|
For UEFI systems:
|
|
|
|
CONFIG_EFI_VARS
|
|
|
|
CONFIG_EFI_PARTITION
|
|
|
|
|
2013-05-10 06:14:12 +08:00
|
|
|
Note that kernel auditing is broken when used with systemd's
|
|
|
|
container code. When using systemd in conjunction with
|
|
|
|
containers please make sure to either turn off auditing at
|
|
|
|
runtime using the kernel command line option "audit=0", or
|
|
|
|
turn it off at kernel compile time using:
|
|
|
|
CONFIG_AUDIT=n
|
|
|
|
|
2010-11-27 03:48:29 +08:00
|
|
|
dbus >= 1.4.0
|
2011-02-17 02:09:11 +08:00
|
|
|
libcap
|
2012-11-20 08:24:32 +08:00
|
|
|
libblkid >= 2.20 (from util-linux) (optional)
|
2013-10-18 01:49:19 +08:00
|
|
|
libkmod >= 15 (optional)
|
2011-02-17 02:09:11 +08:00
|
|
|
PAM >= 1.1.2 (optional)
|
|
|
|
libcryptsetup (optional)
|
|
|
|
libaudit (optional)
|
2011-07-12 19:57:48 +08:00
|
|
|
libacl (optional)
|
2012-10-17 04:58:07 +08:00
|
|
|
libattr (optional)
|
2011-02-17 02:09:11 +08:00
|
|
|
libselinux (optional)
|
2011-07-12 19:57:48 +08:00
|
|
|
liblzma (optional)
|
2011-02-17 02:09:11 +08:00
|
|
|
tcpwrappers (optional)
|
2012-09-28 06:46:32 +08:00
|
|
|
libgcrypt (optional)
|
|
|
|
libqrencode (optional)
|
|
|
|
libmicrohttpd (optional)
|
2012-11-22 22:30:50 +08:00
|
|
|
libpython (optional)
|
|
|
|
make, gcc, and similar tools
|
|
|
|
|
|
|
|
During runtime you need the following additional dependencies:
|
|
|
|
|
2012-11-26 04:59:00 +08:00
|
|
|
util-linux >= v2.19 (requires fsck -l, agetty -s)
|
|
|
|
sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
|
2012-11-22 22:30:50 +08:00
|
|
|
dracut (optional)
|
2013-02-14 05:56:43 +08:00
|
|
|
PolicyKit (optional)
|
2011-02-17 02:09:11 +08:00
|
|
|
|
2012-11-22 22:30:50 +08:00
|
|
|
When building from git you need the following additional dependencies:
|
2011-02-17 02:09:11 +08:00
|
|
|
|
|
|
|
docbook-xsl
|
|
|
|
xsltproc
|
|
|
|
automake
|
|
|
|
autoconf
|
|
|
|
libtool
|
2011-07-12 19:57:48 +08:00
|
|
|
intltool
|
2011-08-03 23:09:55 +08:00
|
|
|
gperf
|
2011-07-12 19:57:48 +08:00
|
|
|
gtkdocize (optional)
|
|
|
|
python (optional)
|
2013-02-10 04:37:35 +08:00
|
|
|
sphinx (optional)
|
2013-03-08 09:13:40 +08:00
|
|
|
python-lxml (entirely optional)
|
2011-02-23 08:12:07 +08:00
|
|
|
|
2011-05-18 01:35:56 +08:00
|
|
|
When systemd-hostnamed is used it is strongly recommended to
|
|
|
|
install nss-myhostname to ensure that in a world of
|
2012-11-06 04:13:28 +08:00
|
|
|
dynamically changing hostnames the hostname stays resolvable
|
2011-05-18 01:35:56 +08:00
|
|
|
under all circumstances. In fact, systemd-hostnamed will warn
|
2013-01-24 17:31:34 +08:00
|
|
|
if nss-myhostname is not installed.
|
2011-05-18 01:35:56 +08:00
|
|
|
|
2011-08-25 05:29:28 +08:00
|
|
|
Note that D-Bus can link against libsystemd-login.so, which
|
2012-07-15 16:41:40 +08:00
|
|
|
results in a cyclic build dependency. To accommodate for this
|
2011-08-25 05:29:28 +08:00
|
|
|
please build D-Bus without systemd first, then build systemd,
|
|
|
|
then rebuild D-Bus with systemd support.
|
|
|
|
|
2013-02-10 04:37:35 +08:00
|
|
|
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.
|
|
|
|
|
2013-03-06 01:53:21 +08:00
|
|
|
USERS AND GROUPS:
|
2013-03-06 02:15:31 +08:00
|
|
|
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
|
2013-03-06 02:04:48 +08:00
|
|
|
|
2013-03-06 01:53:21 +08:00
|
|
|
During runtime the journal daemon requires the
|
2013-03-06 02:19:26 +08:00
|
|
|
"systemd-journal" system group to exist. New journal files will
|
2013-03-06 01:53:21 +08:00
|
|
|
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/
|
|
|
|
|
2013-03-06 02:15:31 +08:00
|
|
|
The journal gateway daemon requires the
|
2013-03-06 02:19:26 +08:00
|
|
|
"systemd-journal-gateway" system user and group to
|
2013-03-06 02:15:31 +08:00
|
|
|
exist. During execution this network facing service will drop
|
|
|
|
privileges and assume this uid/gid for security reasons.
|
|
|
|
|
2011-02-23 08:12:07 +08:00
|
|
|
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
|
2011-03-04 10:58:52 +08:00
|
|
|
break if /usr is on a separate partition many of its
|
2011-02-23 08:12:07 +08:00
|
|
|
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.
|
2011-03-02 06:44:26 +08:00
|
|
|
|
2011-03-04 12:07:01 +08:00
|
|
|
For more information on this issue consult
|
|
|
|
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
|
|
|
|
|
2012-10-12 20:56:19 +08:00
|
|
|
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.
|