systemd System and Service Manager
+CHANGES WITH 201:
+
+ * journalctl --update-catalog now understands a new --root=
+ option to operate on catalogs found in a different root
+ directory.
+
+ * During shutdown after systemd has terminated all running
+ services a final killing loop kills all remaining left-over
+ processes. We will now print the name of these processes
+ when we send SIGKILL to them, since this usually indicates a
+ problem.
+
+ * If /etc/crypttab refers to password files stored on
+ configured mount points automatic dependencies will now be
+ generated to ensure the specific mount is established first
+ before the key file is attempted to be read.
+
+ * 'systemctl status' will now show information about the
+ network sockets a socket unit is listening on.
+
+ * 'systemctl status' will also shown information about any
+ drop-in configuration file for units. (Drop-In configuration
+ files in this context are files such as
+ /etc/systemd/systemd/foobar.service.d/*.conf)
+
+ * systemd-cgtop now optionally shows summed up CPU times of
+ cgroups. Press '%' while running cgtop to switch between
+ percentage and absolute mode. This is useful to determine
+ which cgroups use up the most CPU time over the entire
+ runtime of the system. systemd-cgtop has also been updated
+ to be 'pipeable' for processing with further shell tools.
+
+ * 'hostnamectl set-hostname' will now allow setting of FQDN
+ hostnames.
+
+ * The formatting and parsing of time span values has been
+ changed. The parser now understands fractional expressions
+ such as "5.5h". The formatter will now output fractional
+ expressions for all time spans under 1min, i.e. "5.123456s"
+ rather than "5s 123ms 456us". For time spans under 1s
+ millisecond values are shown, for those under 1ms
+ microsecond values are shown. This should greatly improve
+ all time-related output of systemd.
+
+ * libsystemd-login and libsystemd-journal gained new
+ functions for querying the poll() events mask and poll()
+ timeout value for integration into arbitrary event
+ loops.
+
+ * localectl gained the ability to list available X11 keymaps
+ (models, layouts, variants, options).
+
+ * 'systemd-analyze dot' gained the ability to filter for
+ specific units via shell-style globs, to create smaller,
+ more useful graphs. I.e. it's now possible to create simple
+ graphs of all the dependencies between only target units, or
+ of all units that Avahi has dependencies with.
+
+ Contributions from: Cristian Rodríguez, Dr. Tilmann Bubeck,
+ Harald Hoyer, Holger Hans Peter Freyther, Kay Sievers, Kelly
+ Anderson, Koen Kooi, Lennart Poettering, Maksim Melnikau,
+ Marc-Antoine Perennou, Marius Vollmer, Martin Pitt, Michal
+ Schmidt, Oleksii Shevchuk, Ronny Chevalier, Simon McVittie,
+ Steven Hiscocks, Thomas Weißschuh, Umut Tezduyar, Václav
+ Pavlín, Zbigniew Jędrzejewski-Szmek, Łukasz Stelmach
+
+CHANGES WITH 200:
+
+ * The boot-time readahead implementation for rotating media
+ will now read the read-ahead data in multiple passes which
+ consist of all read requests made in equidistant time
+ intervals. This means instead of strictly reading read-ahead
+ data in its physical order on disk we now try to find a
+ middle ground between physical and access time order.
+
+ * /etc/os-release files gained a new BUILD_ID= field for usage
+ on operating systems that provide continuous builds of OS
+ images.
+
+ Contributions from: Auke Kok, Eelco Dolstra, Kay Sievers,
+ Lennart Poettering, Lukas Nykryn, Martin Pitt, Václav Pavlín
+ William Douglas, Zbigniew Jędrzejewski-Szmek
+
+CHANGES WITH 199:
+
+ * systemd-python gained an API exposing libsystemd-daemon.
+
+ * The SMACK setup logic gained support for uploading CIPSO
+ security policy.
+
+ * Behaviour of PrivateTmp=, ReadWriteDirectories=,
+ ReadOnlyDirectories= and InaccessibleDirectories= has
+ changed. The private /tmp and /var/tmp directories are now
+ shared by all processes of a service (which means
+ ExecStartPre= may now leave data in /tmp that ExecStart= of
+ the same service can still access). When a service is
+ stopped its temporary directories are immediately deleted
+ (normal clean-up with tmpfiles is still done in addition to
+ this though).
+
+ * By default, systemd will now set a couple of sysctl
+ variables in the kernel: the safe sysrq options are turned
+ on, IP route verification is turned on, and source routing
+ disabled. The recently added hardlink and softlink
+ protection of the kernel is turned on. These settings should
+ be reasonably safe, and good defaults for all new systems.
+
+ * The predictable network naming logic may now be turned off
+ with a new kernel command line switch: net.ifnames=0.
+
+ * A new libsystemd-bus module has been added that implements a
+ pretty complete D-Bus client library. For details see:
+
+ http://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html
+
+ * journald will now explicitly flush the journal files to disk
+ at the latest 5min after each write. The file will then also
+ be marked offline until the next write. This should increase
+ reliability in case of a crash. The synchronization delay
+ can be configured via SyncIntervalSec= in journald.conf.
+
+ * There's a new remote-fs-setup.target unit that can be used
+ to pull in specific services when at least one remote file
+ system is to be mounted.
+
+ * There are new targets timers.target and paths.target as
+ canonical targets to pull user timer and path units in
+ from. This complements sockets.target with a similar
+ purpose for socket units.
+
+ * libudev gained a new call udev_device_set_attribute_value()
+ to set sysfs attributes of a device.
+
+ * The udev daemon now sets the default number of worker
+ processes executed in parallel based on the number of available
+ CPUs instead of the amount of available RAM. This is supposed
+ to provide a more reliable default and limit a too agressive
+ paralellism for setups with 1000s of devices connected.
+
+ Contributions from: Auke Kok, Colin Walters, Cristian
+ Rodríguez, Daniel Buch, Dave Reisner, Frederic Crozat, Hannes
+ Reinecke, Harald Hoyer, Jan Alexander Steffens, Jan
+ Engelhardt, Josh Triplett, Kay Sievers, Lennart Poettering,
+ Mantas Mikulėnas, Martin Pitt, Mathieu Bridon, Michael Biebl,
+ Michal Schmidt, Michal Sekletar, Miklos Vajna, Nathaniel Chen,
+ Oleksii Shevchuk, Ozan Çağlayan, Thomas Hindoe Paaboel
+ Andersen, Tollef Fog Heen, Tom Gundersen, Umut Tezduyar,
+ Zbigniew Jędrzejewski-Szmek
+
CHANGES WITH 198:
* Configuration of unit files may now be extended via drop-in
themselves. More specifically, if the administrator wants to
change one value for a service file foobar.service he can
now do so by dropping in a configuration snippet into
- /etc/systemd/systemd/foobar.service.d/*.conf. The unit logic
+ /etc/systemd/system/foobar.service.d/*.conf. The unit logic
will load all these snippets and apply them on top of the
main unit configuration file, possibly extending or
overriding its settings. Using these drop-in snippets is
them there; or creating a new file in /etc/systemd/system/
that incorporates the original one via ".include". Drop-in
snippets into these .d/ directories can be placed in any
- directory systems looks for units in, and the usual
+ directory systemd looks for units in, and the usual
overriding semantics between /usr/lib, /etc and /run apply
for them too.
* Most unit file settings which take lists of items can now be
- reset by assigning the empty strings to them. For example,
+ reset by assigning the empty string to them. For example,
normally, settings such as Environment=FOO=BAR append a new
environment variable assignment to the environment block,
each time they are used. By assigning Environment= the empty
string the environment block can be reset to empty. This is
particularly useful with the .d/*.conf drop-in snippets
- mentioned above, since this allows resetting list settings
- from vendor unit files via these drop-ins.
+ mentioned above, since this adds the ability to reset list
+ settings from vendor unit files via these drop-ins.
* systemctl gained a new "list-dependencies" command for
listing the dependencies of a unit recursively.
for all units. More specifically, you can now use a command
like "systemctl set-cgroup-attr foobar.service cpu.shares
2000" to alter the CPU shares a specific service gets. These
- settings are stores persistently on disk, and thus allow the
+ settings are stored persistently on disk, and thus allow the
administrator to easily adjust the resource usage of
services with a few simple commands. This dynamic resource
- management logic is also available to other services via the
+ management logic is also available to other programs via the
bus. Almost any kernel cgroup attribute and controller is
supported.
* systemd-vconsole-setup will now copy all font settings to
- all open VTs, where it previously applied them only to the
- foreground VT.
+ all allocated VTs, where it previously applied them only to
+ the foreground VT.
* libsystemd-login gained the new sd_session_get_tty() API
call.
- * This release drops support with a few
- legacy/distribution-specific LSB facility names when parsing
- init scripts: $x-display-manager, $mail-transfer-agent,
+ * This release drops support for a few legacy or
+ distribution-specific LSB facility names when parsing init
+ scripts: $x-display-manager, $mail-transfer-agent,
$mail-transport-agent, $mail-transfer-agent, $smtp,
$null. Also, the mail-transfer-agent.target unit backing
this has been removed. Distributions which want to retain
- compatibility with this should carry the burden for support
- this themselves and patch support for these back in if they
- really need to. Also, the facilities $syslog and $local_fs
- are now ignored, since systemd does not support early-boot
- LSB init scripts anymore, and these facilities are implied
- anyway for normal services. syslog.target has also been
- removed.
+ compatibility with this should carry the burden for
+ supporting this themselves and patch support for these back
+ in, if they really need to. Also, the facilities $syslog and
+ $local_fs are now ignored, since systemd does not support
+ early-boot LSB init scripts anymore, and these facilities
+ are implied anyway for normal services. syslog.target has
+ also been removed.
* There are new bus calls on PID1's Manager object for
- canceling jobs, and removing snapshot units. Previously,
+ cancelling jobs, and removing snapshot units. Previously,
both calls were only available on the Job and Snapshot
objects themselves.
container.
* nspawn will now mount its own devpts file system instance
- into the container, in order not to leake pty devices from
+ into the container, in order not to leak pty devices from
the host into the container.
* systemd will now read the firmware boot time performance
- from the EFI variables, if the used boot loader supports
- this, and take it into account for boot performance analysis
- via "systemd-analyze". This is currently supported only in
- conjunction with Gummiboot, but could be supported by other
- boot loaders too. For details see:
+ information from the EFI variables, if the used boot loader
+ supports this, and takes it into account for boot performance
+ analysis via "systemd-analyze". This is currently supported
+ only in conjunction with Gummiboot, but could be supported
+ by other boot loaders too. For details see:
http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
* A new generator has been added that automatically mounts the
EFI System Partition (ESP) to /boot, if that directory
- exists, is empty, and no other partition has been configured
- to be mounted there.
+ exists, is empty, and no other file system has been
+ configured to be mounted there.
* logind will now send out PrepareForSleep(false) out
unconditionally, after coming back from suspend. This may be
* Operations such as "systemctl start" can now be executed
with a new mode "--irreversible" which may be used to queue
operations that cannot accidentally be reversed by a later
- job queuing. This is by default use to make shutdown
+ job queuing. This is by default used to make shutdown
requests more robust.
* The Python API of systemd now gained a new module for
http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
* Boot time console output has been improved to provide
- animated boot time output.
+ animated boot time output for hanging jobs.
* A new tool systemd-activate has been added which can be used
to test socket activation with, directly from the command
* journalctl gained a new "--reverse" (or -r) option to show
journal output in reverse order (i.e. newest line first).
+ * journalctl gained a new "--pager-end" (or -e) option to jump
+ to immediately jump to the end of the journal in the
+ pager. This is only supported in conjunction with "less".
+
* journalctl gained a new "--user-unit=" option, that works
similar to "--unit=" but filters for user units rather than
system units.
* The journal files are now owned by a new group
"systemd-journal", which exists specifically to allow access
to the journal, and nothing else. Previously, we used the
- "adm" group for that, which however possible covers more
+ "adm" group for that, which however possibly covers more
than just journal/log file access. This new group is now
already used by systemd-journal-gatewayd to ensure this
daemon gets access to the journal files and as little else
up for /var/log/journal to give "adm" and "wheel" read
access to it, in addition to "systemd-journal" which owns
the journal files. We recommend that packaging scripts also
- add read access to "adm", "wheel" to /var/log/journal, and
+ add read access to "adm" + "wheel" to /var/log/journal, and
all existing/future journal files. To normal users and
administrators little changes, however packagers need to
ensure to create the "systemd-journal" system group at
* The pstore file system is now mounted by default, if it is
available.
+ * In addition to the SELinux and IMA policies we will now also
+ load SMACK policies at early boot.
+
Contributions from: Adel Gadllah, Aleksander Morgado, Auke
Kok, Ayan George, Bastien Nocera, Colin Walters, Daniel Buch,
Daniel Wallace, Dave Reisner, David Herrmann, David Strauss,