|| ||Lennart Poettering <lennart-AT-poettering.net> |
|| ||systemd Mailing List <systemd-devel-AT-lists.freedesktop.org> |
|| ||[ANNOUNCE] systemd 183 |
|| ||Fri, 25 May 2012 14:28:22 +0200|
|| ||Article, Thread
Note that this release is a major technology upgrade, and contains a lot
of new code you probably don't want to stick into your stable
distribution right-away. We expect this to stabilize over the next
handful of releases.
This release is already available in Fedora Rawhide.
From the NEWS file:
* Note that we skipped 139 releases here in order to set the
new version to something that is greater than both udev's
and systemd's most recent version number.
* udev: all udev sources are merged into the systemd source tree now.
All future udev development will happen in the systemd tree. It
is still fully supported to use the udev daemon and tools without
systemd running, like in initramfs or other init systems. Building
udev though, will require the *build* of the systemd tree, but
udev can be properly *run* without systemd.
* udev: /lib/udev/devices/ are not read anymore; systemd-tmpfiles
should be used to create dead device nodes as workarounds for broken
* udev: RUN+="socket:..." and udev_monitor_new_from_socket() is
no longer supported. udev_monitor_new_from_netlink() needs to be
used to subscribe to events.
* udev: when udevd is started by systemd, processes which are left
behind by forking them off of udev rules, are unconditionally cleaned
up and killed now after the event handling has finished. Services or
daemons must be started as systemd services. Services can be
pulled-in by udev to get started, but they can no longer be directly
forked by udev rules.
* udev: the daemon binary is called systemd-udevd now and installed
in /usr/lib/systemd/. Standalone builds or non-systemd systems need
to adapt to that, create symlink, or rename the binary after building
* libudev no longer provides these symbols:
The versions number was bumped and symbol versioning introduced.
* systemd-loginctl and systemd-journalctl have been renamed
to loginctl and journalctl to match systemctl.
* The config files: /etc/systemd/systemd-logind.conf and
/etc/systemd/systemd-journald.conf have been renamed to
logind.conf and journald.conf. Package updates should rename
the files to the new names on upgrade.
* For almost all files the license is now LGPL2.1+, changed
from the previous GPL2.0+. Exceptions are some minor stuff
of udev (which will be changed to LGPL2.1 eventually, too),
and the MIT licensed sd-daemon.[ch] library that is suitable
to be used as drop-in files.
* systemd and logind now handle system sleep states, in
particulary suspending and hibernating.
* logind now implements a sleep/shutdown/idle inhibiting logic
suitable for a variety of uses. Soonishly Lennart will blog
about this in more detail.
* var-run.mount and var-lock.mount are no longer provided
(which prevously bind mounted these directories to their new
places). Distributions which have not converted these
directories to symlinks should consider stealing these files
from git history and add them downstream.
* We introduced the Documentation= field for units and added
this to all our shipped units. This is useful to make it
easier to explore the boot and the purpose of the various
* All smaller setup units (such as
systemd-vconsole-setup.service) now detect properly if they
are run in a container and are skipped when
appropriate. This guarantees an entirely noise-free boot in
Linux container environments such as systemd-nspawn.
* A framework for implementing offline system updates is now
integrated, for details see:
* A new service type Type=idle is available now which helps us
avoiding ugly interleaving of getty output and boot status
* There's now a system-wide CapabilityBoundingSet= option to
globally reduce the set of capabilities for the
system. This is useful to drop CAP_SYS_MKNOD, CAP_SYS_RAWIO,
CAP_NET_RAW, CAP_SYS_MODULE, CAP_SYS_TIME, CAP_SYS_PTRACE or
even CAP_NET_ADMIN system-wide for secure systems.
* There are now system-wide DefaultLimitXXX= options to
globally change the defaults of the various resource limits
for all units started by PID 1.
* Harald Hoyer's systemd test suite has been integrated into
systemd which allows easy testing of systemd builds in qemu
and nspawn. (This is really awesome! Ask us for details!)
* The fstab parser is now implemented as generator, not inside
of PID 1 anymore.
* systemctl will now warn you if .mount units generated from
/etc/fstab are out of date due to changes in fstab that
haven't been read by systemd yet.
* systemd is now suitable for usage in initrds. Dracut has
already been updated to make use of this. With this in place
initrds get a slight bit faster but primarily are much
easier to introspect and debug since "systemctl status" in
the host system can be used to introspect initrd services,
and the journal from the initrd is kept around too.
* systemd-delta has been added, a tool to explore differences
between user/admin configuration and vendor defaults.
* PrivateTmp= now affects both /tmp and /var/tmp.
* Boot time status messages are now much prettier and feature
proper english language. Booting up systemd has never been
* Read-ahead pack files now include the inode number of all
files to pre-cache. When the inode changes the pre-caching
is not attempted. This should be nicer to deal with updated
packages which might result in changes of read-ahead
* We now temporaritly lower the kernel's read_ahead_kb variable
when collecting read-ahead data to ensure the kernel's
built-in read-ahead does not add noise to our measurements
of necessary blocks to pre-cache.
* There's now RequiresMountsFor= to add automatic dependencies
for all mounts necessary for a specific file system path.
* MountAuto= and SwapAuto= have been removed from
system.conf. Mounting file systems at boot has to take place
in systemd now.
* nspawn now learned a new switch --uuid= to set the machine
ID on the command line.
* nspawn now learned the -b switch to automatically search
for an init system.
* vt102 is now the default TERM for serial TTYs, upgraded from
* systemd-logind now works on VT-less systems.
* The build tree has been reorganized. The individual
components now have directories of their own.
* A new condition type ConditionPathIsReadWrite= is now available.
* nspawn learned the new -C switch to create cgroups for the
container in other hierarchies.
* We now have support for hardware watchdogs, configurable in
* The scheduled shutdown logic now has a public API.
* We now mount /tmp as tmpfs by default, but this can be
masked and /etc/fstab can override it.
* Since udisks doesn't make use of /media anymore we are not
mounting a tmpfs on it anymore.
* journalctl gained a new --local switch to only interleave
locally generated journal files.
* We can now load the IMA policy at boot automatically.
* The GTK tools have been split off into a systemd-ui.
Contributions from: Andreas Schwab, Auke Kok, Ayan George,
Colin Guthrie, Daniel Mack, Dave Reisner, David Ward, Elan
Ruusamäe, Frederic Crozat, Gergely Nagy, Guillermo Vidal,
Hannes Reinecke, Harald Hoyer, Javier Jardón, Kay Sievers,
Lennart Poettering, Lucas De Marchi, Léo Gillot-Lamure,
Marc-Antoine Perennou, Martin Pitt, Matthew Monaco, Maxim
A. Mikityanskiy, Michael Biebl, Michael Olbrich, Michal
Schmidt, Nis Martensen, Patrick McCarty, Roberto Sassu, Shawn
Landden, Sjoerd Simons, Sven Anders, Tollef Fog Heen, Tom
Lennart Poettering - Red Hat, Inc.
to post comments)