| systemd System and Service Manager |
| |
| CHANGES WITH 183: |
| * 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 |
| subsystems. |
| |
| * 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 |
| it. |
| |
| * libudev no longer provides these symbols: |
| udev_monitor_from_socket() |
| udev_queue_get_failed_list_entry() |
| udev_get_{dev,sys,run}_path() |
| 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 |
| units. |
| |
| * 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: |
| http://freedesktop.org/wiki/Software/systemd/SystemUpdates |
| |
| * A new service type Type=idle is available now which helps us |
| avoiding ugly interleaving of getty output and boot status |
| messages. |
| |
| * 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 |
| so sexy. |
| |
| * 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 |
| patterns. |
| |
| * 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 |
| vt100. |
| |
| * 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 |
| system.conf. |
| |
| * 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. |
| |
| CHANGES WITH 44: |
| * This is mostly a bugfix release |
| |
| * Support optional initialization of the machine ID from the |
| KVM or container configured UUID. |
| |
| * Support immediate reboots with "systemctl reboot -ff" |
| |
| * Show /etc/os-release data in systemd-analyze output |
| |
| * Many bugfixes for the journal, including endianess fixes and |
| ensuring that disk space enforcement works |
| |
| * sd-login.h is C++ comptaible again |
| |
| * Extend the /etc/os-release format on request of the Debian |
| folks |
| |
| * We now refuse non-UTF8 strings used in various configuration |
| and unit files. This is done to ensure we don't pass invalid |
| data over D-Bus or expose it elsewhere. |
| |
| * Register Mimo USB Screens as suitable for automatic seat |
| configuration |
| |
| * Read SELinux client context from journal clients in a race |
| free fashion |
| |
| * Reorder configuration file lookup order. /etc now always |
| overrides /run in order to allow the administrator to always |
| and unconditionally override vendor supplied or |
| automatically generated data. |
| |
| * The various user visible bits of the journal now have man |
| pages. We still lack man pages for the journal API calls |
| however. |
| |
| * We now ship all man pages in HTML format again in the |
| tarball. |
| |
| Contributions from: Dave Reisner, Dirk Eibach, Frederic |
| Crozat, Harald Hoyer, Kay Sievers, Lennart Poettering, Marti |
| Raudsepp, Michal Schmidt, Shawn Landden, Tero Roponen, Thierry |
| Reding |
| |
| CHANGES WITH 43: |
| * This is mostly a bugfix release |
| |
| * systems lacking /etc/os-release are no longer supported. |
| |
| * Various functionality updates to libsystemd-login.so |
| |
| * Track class of PAM logins to distuingish greeters from |
| normal user logins. |
| |
| Contributions from: Kay Sievers, Lennart Poettering, Michael |
| Biebl |
| |
| CHANGES WITH 42: |
| * This is an important bugfix release for v41. |
| |
| * Building man pages is now optional which should be useful |
| for those building systemd from git but unwilling to install |
| xsltproc. |
| |
| * Watchdog support for supervising services is now usable. In |
| a future release support for hardware watchdogs |
| (i.e. /dev/watchdog) will be added building on this. |
| |
| * Service start rate limiting is now configurable and can be |
| turned off per service. When a start rate limit is hit a |
| reboot can automatically be triggered. |
| |
| * New CanReboot(), CanPowerOff() bus calls in systemd-logind. |
| |
| Contributions from: Benjamin Franzke, Bill Nottingham, |
| Frederic Crozat, Lennart Poettering, Michael Olbrich, Michal |
| Schmidt, Michał Górny, Piotr Drąg |
| |
| CHANGES WITH 41: |
| * The systemd binary is installed /usr/lib/systemd/systemd now; |
| An existing /sbin/init symlink needs to be adapted with the |
| package update. |
| |
| * The code that loads kernel modules has been ported to invoke |
| libkmod directly, instead of modprobe. This means we do not |
| support systems with module-init-tools anymore. |
| |
| * Watchdog support is now already useful, but still not |
| complete. |
| |
| * A new kernel command line option systemd.setenv= is |
| understood to set system wide environment variables |
| dynamically at boot. |
| |
| * We now limit the set of capabilities of systemd-journald. |
| |
| * We now set SIGPIPE to ignore by default, since it only is |
| useful in shell pipelines, and has little use in general |
| code. This can be disabled with IgnoreSIPIPE=no in unit |
| files. |
| |
| Contributions from: Benjamin Franzke, Kay Sievers, Lennart |
| Poettering, Michael Olbrich, Michal Schmidt, Tom Gundersen, |
| William Douglas |
| |
| CHANGES WITH 40: |
| * This is mostly a bugfix release |
| |
| * We now expose the reason why a service failed in the |
| "Result" D-Bus property. |
| |
| * Rudimentary service watchdog support (will be completed over |
| the next few releases.) |
| |
| * When systemd forks off in order execute some service we will |
| now immediately changes its argv[0] to reflect which process |
| it will execute. This is useful to minimize the time window |
| with a generic argv[0], which makes bootcharts more useful |
| |
| Contributions from: Alvaro Soliverez, Chris Paulson-Ellis, Kay |
| Sievers, Lennart Poettering, Michael Olbrich, Michal Schmidt, |
| Mike Kazantsev, Ray Strode |
| |
| CHANGES WITH 39: |
| * This is mostly a test release, but incorporates many |
| bugfixes. |
| |
| * New systemd-cgtop tool to show control groups by their |
| resource usage. |
| |
| * Linking against libacl for ACLs is optional again. If |
| disabled, support tracking device access for active logins |
| goes becomes unavailable, and so does access to the user |
| journals by the respective users. |
| |
| * If a group "adm" exists, journal files are automatically |
| owned by them, thus allow members of this group full access |
| to the system journal as well as all user journals. |
| |
| * The journal now stores the SELinux context of the logging |
| client for all entries. |
| |
| * Add C++ inclusion guards to all public headers |
| |
| * New output mode "cat" in the journal to print only text |
| messages, without any meta data like date or time. |
| |
| * Include tiny X server wrapper as a temporary stop-gap to |
| teach XOrg udev display enumeration. This is used by display |
| managers such as gdm, and will go away as soon as XOrg |
| learned native udev hotplugging for display devices. |
| |
| * Add new systemd-cat tool for executing arbitrary programs |
| with STDERR/STDOUT connected to the journal. Can also act as |
| BSD logger replacement, and does so by default. |
| |
| * Optionally store all locally generated coredumps in the |
| journal along with meta data. |
| |
| * systemd-tmpfiles learnt four new commands: n, L, c, b, for |
| writing short strings to files (for usage for /sys), and for |
| creating symlinks, character and block device nodes. |
| |
| * New unit file option ControlGroupPersistent= to make cgroups |
| persistent, following the mechanisms outlined in |
| http://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups |
| |
| * Support multiple local RTCs in a sane way |
| |
| * No longer monopolize IO when replaying readahead data on |
| rotating disks, since we might starve non-file-system IO to |
| death, since fanotify() will not see accesses done by blkid, |
| or fsck. |
| |
| * Don't show kernel threads in systemd-cgls anymore, unless |
| requested with new -k switch. |
| |
| Contributions from: Dan Horák, Kay Sievers, Lennart |
| Poettering, Michal Schmidt |
| |
| CHANGES WITH 38: |
| * This is mostly a test release, but incorporates many |
| bugfixes. |
| |
| * The git repository moved to: |
| git://anongit.freedesktop.org/systemd/systemd |
| ssh://git.freedesktop.org/git/systemd/systemd |
| |
| * First release with the journal |
| http://0pointer.de/blog/projects/the-journal.html |
| |
| * The journal replaces both systemd-kmsg-syslogd and |
| systemd-stdout-bridge. |
| |
| * New sd_pid_get_unit() API call in libsystemd-logind |
| |
| * Many systemadm clean-ups |
| |
| * Introduce remote-fs-pre.target which is ordered before all |
| remote mounts and may be used to start services before all |
| remote mounts. |
| |
| * Added Mageia support |
| |
| * Add bash completion for systemd-loginctl |
| |
| * Actively monitor PID file creation for daemons which exit in |
| the parent process before having finished writing the PID |
| file in the daemon process. Daemons which do this need to be |
| fixed (i.e. PID file creation must have finished before the |
| parent exits), but we now react a bit more gracefully to them. |
| |
| * Add colourful boot output, mimicking the well-known output |
| of existing distributions. |
| |
| * New option PassCredentials= for socket units, for |
| compatibility with a recent kernel ABI breakage. |
| |
| * /etc/rc.local is now hooked in via a generator binary, and |
| thus will no longer act as synchronization point during |
| boot. |
| |
| * systemctl list-unit-files now supports --root=. |
| |
| * systemd-tmpfiles now understands two new commands: z, Z for |
| relabelling files according to the SELinux database. This is |
| useful to apply SELinux labels to specific files in /sys, |
| among other things. |
| |
| * Output of SysV services is now forwarded to both the console |
| and the journal by default, not only just the console. |
| |
| * New man pages for all APIs from libsystemd-login. |
| |
| * The build tree got reorganized and a the build system is a |
| lot more modular allowing embedded setups to specifically |
| select the components of systemd they are interested in. |
| |
| * Support for Linux systems lacking the kernel VT subsystem is |
| restored. |
| |
| * configure's --with-rootdir= got renamed to |
| --with-rootprefix= to follow the naming used by udev and |
| kmod |
| |
| * Unless specified otherwise we'll now install to /usr instead |
| of /usr/local by default. |
| |
| * Processes with '@' in argv[0][0] are now excluded from the |
| final shut-down killing spree, following the logic explained |
| in: |
| http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons |
| |
| * All processes remaining in a service cgroup when we enter |
| the START or START_PRE states are now killed with |
| SIGKILL. That means it is no longer possible to spawn |
| background processes from ExecStart= lines (which was never |
| supported anyway, and bad style). |
| |
| * New PropagateReloadTo=/PropagateReloadFrom= options to bind |
| reloading of units together. |
| |
| Contributions from: Bill Nottingham, Daniel Walsh, Dave |
| Reisner, Dexter Morgan, Gregs Gregs, Jonathan Nieder, Kay |
| Sievers, Lennart Poettering, Michael Biebl, Michal Schmidt, |
| Michał Górny, Ran Benita, Thomas Jarosch, Tim Waugh, Tollef |
| Fog Heen, Tom Gundersen, Zbigniew Jędrzejewski-Szmek |