A dependency system for unix services.
And, a set of basic unix services to make a unix system usable.
And, a growing list of not quite so basic services
From a programmers perspective, it's the mainloop phenomenon.
Solaris: Service Management Facility
Mac OSX: launchd
Ubuntu: upstart (until recently)
SYSV
LSB (actually implements LSB deps)
units
targets
Proper, explicit dependencies between system compontents
Starts components in parallel
A proper separation of concerns, lots of situations covered.
Configuration is not runnable shell.
[Unit]
Description=CUPS Scheduler
Documentation=man:cupsd(8)
[Service]
ExecStart=/usr/sbin/cupsd -l
Type=simple
[Install]
Also=cups.socket cups.path
WantedBy=printer.target
Separate system and user daemons.
Modify configuration without modifying upstream configuration
Service watching (startup, watchdog, failure modes)
systemd-delta
[EXTENDED] /lib/systemd/system/rc-local.service → /lib/systemd/system/rc-local.service.d/debian.conf
[EXTENDED] /lib/systemd/system/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf
[EQUIVALENT] /etc/systemd/system/default.target → /lib/systemd/system/default.target
3 overridden configuration files found.
Removal of some error and security prone code
standardized cgroup controls
containers
debootstrap ; systemd-spawn-boot
* systemd takes care of all pseudo file systems for you
quick to boot
can reduce load later on (services start & stop as required)
Color legend:
systemd-analyze plot gdm.service
Journald
It’s a little new, so LTS distros necessarily have older versions
network-online.target is a bit flakey
DBUS
Deeply hooked into linux specific details, not portable
Some cool features relient on file system e.g. btrfs for snapshot
I haven’t had a chance to play with networkd yet, but it sounds like it’s going to be very good.
Migrating
Userspace
Unless otherwise stated, our shows are released under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.
The HPR Website Design is released to the Public Domain.