]>
Commit | Line | Data |
---|---|---|
d657c51f | 1 | systemd System and Service Manager |
31cee6f6 LP |
2 | |
3 | DETAILS: | |
4 | http://0pointer.de/blog/projects/systemd.html | |
5 | ||
6 | WEB SITE: | |
7 | http://www.freedesktop.org/wiki/Software/systemd | |
8 | ||
9 | GIT: | |
9fa2f410 KS |
10 | git://anongit.freedesktop.org/systemd/systemd |
11 | ssh://git.freedesktop.org/git/systemd/systemd | |
31cee6f6 LP |
12 | |
13 | GITWEB: | |
9fa2f410 | 14 | http://cgit.freedesktop.org/systemd/systemd |
31cee6f6 LP |
15 | |
16 | MAILING LIST: | |
17 | http://lists.freedesktop.org/mailman/listinfo/systemd-devel | |
18 | http://lists.freedesktop.org/mailman/listinfo/systemd-commits | |
19 | ||
20 | IRC: | |
21 | #systemd on irc.freenode.org | |
22 | ||
23 | BUG REPORTS: | |
24 | https://bugs.freedesktop.org/enter_bug.cgi?product=systemd | |
25 | ||
26 | AUTHOR: | |
5430f7f2 LP |
27 | Lennart Poettering |
28 | Kay Sievers | |
29 | ...and many others | |
31cee6f6 | 30 | |
673eab9b | 31 | LICENSE: |
5430f7f2 LP |
32 | LGPLv2.1+ for all code |
33 | - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT | |
f28cbd03 | 34 | - except src/udev/ which is (currently still) GPLv2+ |
673eab9b | 35 | |
31cee6f6 | 36 | REQUIREMENTS: |
b7f44df5 | 37 | Linux kernel >= 2.6.39 |
713bc0cf KS |
38 | CONFIG_DEVTMPFS |
39 | CONFIG_CGROUPS (it's OK to disable all controllers) | |
40 | CONFIG_INOTIFY_USER | |
41 | CONFIG_SIGNALFD | |
42 | CONFIG_TIMERFD | |
43 | CONFIG_EPOLL | |
41938693 | 44 | CONFIG_NET |
713bc0cf KS |
45 | CONFIG_SYSFS |
46 | ||
ffbd2c4d NC |
47 | Linux kernel >= 3.8 for Smack support |
48 | ||
713bc0cf | 49 | Udev will fail to work with the legacy layout: |
f28cbd03 | 50 | CONFIG_SYSFS_DEPRECATED=n |
713bc0cf KS |
51 | |
52 | Legacy hotplug slows down the system and confuses udev: | |
53 | CONFIG_UEVENT_HELPER_PATH="" | |
54 | ||
55 | Userspace firmware loading is deprecated, will go away, and | |
56 | sometimes causes problems: | |
57 | CONFIG_FW_LOADER_USER_HELPER=n | |
58 | ||
59 | Some udev rules and virtualization detection relies on it: | |
60 | CONFIG_DMIID | |
61 | ||
62 | Mount and bind mount handling might require it: | |
63 | CONFIG_FHANDLE | |
64 | ||
65 | Optional but strongly recommended: | |
66 | CONFIG_IPV6 | |
67 | CONFIG_AUTOFS4_FS | |
68 | CONFIG_TMPFS_POSIX_ACL | |
69 | CONFIG_TMPFS_XATTR | |
f28cbd03 | 70 | CONFIG_SECCOMP |
713bc0cf KS |
71 | |
72 | For systemd-bootchart a kernel with procfs support and several | |
73 | proc output options enabled is required: | |
74 | CONFIG_PROC_FS | |
75 | CONFIG_SCHEDSTATS | |
76 | CONFIG_SCHED_DEBUG | |
77 | ||
f28cbd03 KS |
78 | For UEFI systems: |
79 | CONFIG_EFI_VARS | |
80 | CONFIG_EFI_PARTITION | |
81 | ||
c1c8ca81 | 82 | dbus >= 1.4.0 |
3ede835a | 83 | libcap |
e3043162 TG |
84 | libblkid >= 2.20 (from util-linux) (optional) |
85 | libkmod >= 5 (optional) | |
3ede835a LP |
86 | PAM >= 1.1.2 (optional) |
87 | libcryptsetup (optional) | |
88 | libaudit (optional) | |
19d5d4cb | 89 | libacl (optional) |
fb0951b0 | 90 | libattr (optional) |
3ede835a | 91 | libselinux (optional) |
19d5d4cb | 92 | liblzma (optional) |
3ede835a | 93 | tcpwrappers (optional) |
7b17a7d7 LP |
94 | libgcrypt (optional) |
95 | libqrencode (optional) | |
96 | libmicrohttpd (optional) | |
2cc86f09 ZJS |
97 | libpython (optional) |
98 | make, gcc, and similar tools | |
99 | ||
100 | During runtime you need the following additional dependencies: | |
101 | ||
c3d2d86d TG |
102 | util-linux >= v2.19 (requires fsck -l, agetty -s) |
103 | sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended) | |
2cc86f09 | 104 | dracut (optional) |
46ba8aae | 105 | PolicyKit (optional) |
3ede835a | 106 | |
2cc86f09 | 107 | When building from git you need the following additional dependencies: |
3ede835a | 108 | |
3ede835a LP |
109 | docbook-xsl |
110 | xsltproc | |
111 | automake | |
112 | autoconf | |
113 | libtool | |
19d5d4cb | 114 | intltool |
b62cfcea | 115 | gperf |
19d5d4cb ZJS |
116 | gtkdocize (optional) |
117 | python (optional) | |
9015fa64 | 118 | sphinx (optional) |
21bc923a | 119 | |
fff2e5b5 LP |
120 | When systemd-hostnamed is used it is strongly recommended to |
121 | install nss-myhostname to ensure that in a world of | |
edca2e23 | 122 | dynamically changing hostnames the hostname stays resolvable |
fff2e5b5 | 123 | under all circumstances. In fact, systemd-hostnamed will warn |
bf9e477c | 124 | if nss-myhostname is not installed. |
fff2e5b5 | 125 | |
6705c2df | 126 | Note that D-Bus can link against libsystemd-login.so, which |
49f43d5f | 127 | results in a cyclic build dependency. To accommodate for this |
6705c2df LP |
128 | please build D-Bus without systemd first, then build systemd, |
129 | then rebuild D-Bus with systemd support. | |
130 | ||
9015fa64 ZJS |
131 | To build HTML documentation for python-systemd using sphinx, |
132 | please first install systemd (using 'make install'), and then | |
133 | invoke sphinx-build with 'make sphinx-<target>', with <target> | |
134 | being 'html' or 'latexpdf'. If using DESTDIR for installation, | |
135 | pass the same DESTDIR to 'make sphinx-html' invocation. | |
136 | ||
a24c64f0 | 137 | USERS AND GROUPS: |
37495eed LP |
138 | Default udev rules use the following standard system group |
139 | names, which need to be resolvable by getgrnam() at any time, | |
140 | even in the very early boot stages, where no other databases | |
141 | and network are available: | |
142 | ||
143 | tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk | |
37c0e8f3 | 144 | |
a24c64f0 | 145 | During runtime the journal daemon requires the |
1a9ce3f7 | 146 | "systemd-journal" system group to exist. New journal files will |
a24c64f0 LP |
147 | be readable by this group (but not writable) which may be used |
148 | to grant specific users read access. | |
149 | ||
150 | It is also recommended to grant read access to all journal | |
151 | files to the system groups "wheel" and "adm" with a command | |
152 | like the following in the post installation script of the | |
153 | package: | |
154 | ||
155 | # setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/ | |
156 | ||
37495eed | 157 | The journal gateway daemon requires the |
1a9ce3f7 | 158 | "systemd-journal-gateway" system user and group to |
37495eed LP |
159 | exist. During execution this network facing service will drop |
160 | privileges and assume this uid/gid for security reasons. | |
161 | ||
21bc923a LP |
162 | WARNINGS: |
163 | systemd will warn you during boot if /etc/mtab is not a | |
164 | symlink to /proc/mounts. Please ensure that /etc/mtab is a | |
165 | proper symlink. | |
166 | ||
167 | systemd will warn you during boot if /usr is on a different | |
168 | file system than /. While in systemd itself very little will | |
ed1c99fc | 169 | break if /usr is on a separate partition many of its |
21bc923a LP |
170 | dependencies very likely will break sooner or later in one |
171 | form or another. For example udev rules tend to refer to | |
172 | binaries in /usr, binaries that link to libraries in /usr or | |
173 | binaries that refer to data files in /usr. Since these | |
174 | breakages are not always directly visible systemd will warn | |
175 | about this, since this kind of file system setup is not really | |
176 | supported anymore by the basic set of Linux OS components. | |
fc7a744c | 177 | |
aa167132 LP |
178 | For more information on this issue consult |
179 | http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken | |
180 | ||
1b4bb4fd ZJS |
181 | To run systemd under valgrind, compile with VALGRIND defined |
182 | (e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise, | |
183 | false positives will be triggered by code which violates | |
184 | some rules but is actually safe. |