summaryrefslogtreecommitdiff
path: root/units
AgeCommit message (Collapse)AuthorFilesLines
2014-02-23fix lingering references to /var/lib/{backlight,random-seed}Dave Reisner1-1/+1
This should have been part of ef5bfcf668e6029faa78534dfe.
2013-10-01logind: run with CAP_SYS_ADMINDavid Herrmann1-1/+1
DRM Master access requires CAP_SYS_ADMIN, yay! Add it to the capability bounding set for systemd-logind. As CAP_SYS_ADMIN actually allows a huge set of actions, this mostly renders the restriction-set useless. Anyway, patches are already pending to reduce the restriction on the kernel side. But these won't really make it into any stable-release so for now we're stuck with CAP_SYS_ADMIN.
2013-10-01units: Add SHELL environment variableEvan Callicoat1-0/+1
With the advent of systemd --user sessions, it's become very interesting to spawn X as a user unit, as well as accompanying processes that may have previously been in a .xinitrc/.xsession, or even just to replace a collection of XDG/GDM/KDM/etc session files with independent systemd --user units. The simplest case here would be to login on a tty, with the traditional /usr/sbin/login "login manager". However, systemd --user (spawned by user@.service) is at the top level of the slice for the user, and does not inherit any environment variables from the login process. Given the number of common applications which rely on SHELL being set in the environment, it seems like the cleanest way to provide this variable is to set it to %s in the user@.service. Ideally in the long-term, applications which rely on SHELL being set should be fixed to just grab it from getpwnam() or similar, but until that becomes more common, I propose this simple change to make user sessions a little bit nicer out of the box.
2013-09-28kmod-static-nodes: condition execution on modules.devnameDave Reisner1-0/+1
2013-09-23Fix obsolete references to systemd-random-seed-load.serviceEelco Dolstra1-1/+1
This service was merged with systemd-random-seed-save.service in c35b956d34bbb8bb208e49e45de2c103ca11911c.
2013-09-17nspawn: update unit fileLennart Poettering1-1/+0
ControlGroup= is obsolete, so let's drop it from the default nspawn unit file.
2013-09-11Add pam configuration to allow user sessions to work out of the boxZbigniew Jędrzejewski-Szmek1-1/+1
systemd-logind will start user@.service. user@.service unit uses PAM with service name 'systemd-user' to perform account and session managment tasks. Previously, the name was 'systemd-shared', it is now changed to 'systemd-user'. Most PAM installations use one common setup for different callers. Based on a quick poll, distributions fall into two camps: those that have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia, Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE). Distributions that have system-auth have just one configuration file that contains auth, password, account, and session blocks, and distributions that have common-auth also have common-session, common-password, and common-account. It is thus impossible to use one configuration file which would work for everybody. systemd-user now refers to system-auth, because it seems that the approach with one file is more popular and also easier, so let's follow that.
2013-09-11filesystem targets: disable default dependenciesTom Gundersen4-0/+8
This means we can use default dependencies on mount units without having to get them automatically ordered before the filesystem targets. Reported-by: Thomas Baechler <thomas@archlinux.org>
2013-08-22use CAP_MKNOD ConditionCapabilityKhem Raj1-1/+1
Fixes errors seen when booting VMs on QEMU like systemd[1]: kmod-static-nodes.service: main process exited, code=exited, status=203/EXEC systemd[1]: Failed to start Create list of required static device nodes for the current kernel. systemd[1]: Unit kmod-static-nodes.service entered failed state. Make sure that mknod capability is available Signed-off-by: Khem Raj <raj.khem@gmail.com>
2013-08-20units: disable kmod-static-nodes.service in containersZbigniew Jędrzejewski-Szmek1-0/+1
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=998122. Note: upstream kmod has a patch [1] to exit with a warning if modules.devname is missing. We could use new %v specifier to make this service conditional on the existence of this file, but this could mask a kernel installation error, hence we should let kmod run even if the file doesn't exist. [1] http://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=ae17710117
2013-08-17udev: replace CAP_MKNOD by writable /sys conditionKay Sievers4-4/+4
2013-08-15units: make fsck units remain after exitZbigniew Jędrzejewski-Szmek2-3/+3
Without this, fsck would be re-run if any other service which pulls in a target requiring one of the mounts was started after fsck was done but before the initial transaction was done. https://bugs.freedesktop.org/show_bug.cgi?id=66784
2013-08-15typo fixes in man and commentsThomas Hindoe Paaboel Andersen1-1/+1
2013-08-15sysctl: allow overwriting of values specified in "later" filesKay Sievers1-1/+0
2013-08-14backlight: instead of syspath use sysname for identifying backlight devicesLennart Poettering1-3/+3
This makes the description string of the backlight service a bit nicer.
2013-08-14backlight: add minimal tool to save/restore screen brightness across rebootsLennart Poettering2-0/+22
As many laptops don't save/restore screen brightness across reboots, let's do this in systemd with a minimal tool, that restores the brightness as early as possible, and saves it as late as possible. This will cover consoles and graphical logins, but graphical desktops should do their own per-user stuff probably. This only touches firmware brightness controls for now.
2013-07-30core: optionally send SIGHUP in addition to the configured kill signalLennart Poettering6-24/+7
This is useful to fake session ends for processes like shells.
2013-07-24tmpfiles-setup: exclude /dev prefixes filesDave Reisner1-1/+1
Fixes Arch Linux bug: https://bugs.archlinux.org/task/36259
2013-07-22kmod-static-nodes: remain after exitTom Gundersen2-1/+2
2013-07-22systemd-tmpfiles-setup-dev: remain after exitTom Gundersen1-0/+1
Without this, tmpfiles-setpu-dev would be re-run if any other service, which pulls in basic.target, was started after setup-dev was finished and before basic.target was active.
2013-07-19machined: run machined at minimal capabilitiesLennart Poettering1-0/+1
2013-07-19units: add references to bus API documentation to logind+machinedLennart Poettering2-1/+2
2013-07-17remove /run/initramfs/root-fsck logicHarald Hoyer1-2/+0
dracut uses systemd in the initramfs and does not write these files anymore. The state of the root fsck is serialized.
2013-07-13units: do not special-case getty@tty1.service installationZbigniew Jędrzejewski-Szmek1-3/+3
Since a long while we can use "systemctl enable getty@tty1.service" which does the right thing, so there's no need to abuse Alias= for installation.
2013-07-12static-nodes: don't hardcode path to mkdirTom Gundersen1-1/+1
2013-07-11units: since we auto-spawn user@.service instances now we don need an ↵Lennart Poettering1-3/+0
[Install] section in it
2013-07-08static-nodes: move creation of static nodes from udevd to tmpfilesTom Gundersen4-3/+20
As of kmod v14, it is possible to export the static node information from /lib/modules/`uname -r`/modules.devname in tmpfiles.d(5) format. Use this functionality to let systemd-tmpfilesd create the static device nodes at boot, and drop the functionality from systemd-udevd. As an effect of this we can move from systemd-udevd to systemd-tmpfiles-setup-dev: * the conditional CAP_MKNOD (replaced by checking if /sys is mounted rw) * ordering before local-fs-pre.target (see 89d09e1b5c65a2d97840f682e0932c8bb499f166)
2013-07-02build-sys: work around automake issue with files with a leading '-'Kay Sievers1-0/+0
We should probably work around it, until it is sorted out. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14728
2013-07-02machined: split out machine registration stuff from logindLennart Poettering3-2/+22
Embedded folks don't need the machine registration stuff, hence it's nice to make this optional. Also, I'd expect that machinectl will grow additional commands quickly, for example to join existing containers and suchlike, hence it's better keeping that separate from loginctl.
2013-07-02logind: port over to use scopes+slices for all cgroup stuffLennart Poettering1-4/+2
In order to prepare things for the single-writer cgroup scheme, let's make logind use systemd's own primitives for cgroup management. Every login user now gets his own private slice unit, in which his sessions live in a scope unit each. Also, add user@$UID.service to the same slice, and implicitly start it on first login.
2013-06-27core: general cgroup reworkLennart Poettering3-2/+16
Replace the very generic cgroup hookup with a much simpler one. With this change only the high-level cgroup settings remain, the ability to set arbitrary cgroup attributes is removed, so is support for adding units to arbitrary cgroup controllers or setting arbitrary paths for them (especially paths that are different for the various controllers). This also introduces a new -.slice root slice, that is the parent of system.slice and friends. This enables easy admin configuration of root-level cgrouo properties. This replaces DeviceDeny= by DevicePolicy=, and implicitly adds in /dev/null, /dev/zero and friends if DeviceAllow= is used (unless this is turned off by DevicePolicy=).
2013-06-20logind: add infrastructure to keep track of machines, and move to slicesLennart Poettering4-7/+5
- This changes all logind cgroup objects to use slice objects rather than fixed croup locations. - logind can now collect minimal information about running VMs/containers. As fixed cgroup locations can no longer be used we need an entity that keeps track of machine cgroups in whatever slice they might be located. Since logind already keeps track of users, sessions and seats this is a trivial addition. - nspawn will now register with logind and pass various bits of metadata along. A new option "--slice=" has been added to place the container in a specific slice. - loginctl gained commands to list, introspect and terminate machines. - user.slice and machine.slice will now be pulled in by logind.service, since only logind.service requires this slice.
2013-06-18units: add default units for system.slice, user.slice, machine.sliceLennart Poettering5-2/+51
2013-06-04units: cleanup agetty command lineKarel Zak2-2/+2
* baud rate is optional and unnecessary for virtual terminals * term type is optional (default is 'linux' for virtual terminals and 'vt102' for serial lines) * long options are more user-friendly ... all this is supported since util-linux v2.20 (Aug 2011).
2013-05-16utmp: turn systemd-update-utmp-shutdown.service into a normal runtime serviceLennart Poettering4-23/+27
With this change systemd-update-utmp-shutdown.service is replaced by systemd-update-utmp.service which is started at boot and stays around until shutdown. This allows us to properly order the unit against both /var/log and auditd. https://bugzilla.redhat.com/show_bug.cgi?id=853104 https://bugs.freedesktop.org/show_bug.cgi?id=64365
2013-05-15units: rework systemd-random-seed-{load,save}.service to be a single serviceLennart Poettering4-22/+7
That way ordering it with MountsRequiredFor= works properly, as this no longer results in mount units start requests to be added to the shutdown transaction that conflict with stop requests for the same unit.
2013-05-09systemctl does not expand %u, so revert back to %IAuke Kok1-1/+1
The description field is only displayed by systemctl, and it can't expand %u properly (it will always display "root").
2013-04-30units: add an easy-to-use unit template file systemd-nspawn@.service for ↵Lennart Poettering2-0/+19
running containers as system services
2013-04-23units: update user@.service to reflect new user cgroup pathsLennart Poettering1-1/+1
2013-04-23man: link systemd-tmpfiles-setup-dev.serviceUmut Tezduyar4-3/+4
2013-04-22units: rename systemd-static-nodes -> systemd-tmpfiles-setup-devTom Gundersen2-1/+1
This is really just a special case of systemd-tmpfiles-setup, moreover it could easily create more than static nodes.
2013-04-17readahead: let readahead run for a little longerLennart Poettering1-1/+1
Especially slower systems need more than 10s for starting the session, so let's bump this to 30s.
2013-04-12bus: rename KDBUS_CMD_FNAME_POLICY_NONE -> KDBUS_CMD_FNAME_POLICY_OPENKay Sievers1-0/+1
2013-04-12tmpfiles: create static device nodes before udev is startedTom Gundersen1-0/+16
Since v183, the contents of /usr/lib/udev/devices is no longer copied to /dev on boot, rather systemd-tmpfiles should be used instead. However, as systemd-tmpfiles --create is only ran long after udevd has been started, it is no longer possible to use udev rules to assign permissions to the static nodes. This calls systemd-tmpfiles --create early, before udev is started, and restricts the call to /dev, which is known to be mounted already. In the future, this could also take over the creation of static device nodes from systemd-udevd.
2013-04-09units: fix some left-over mentions of remote-fs-setup.targetLennart Poettering1-1/+1
2013-04-01Do no isolate in case of emergency or severe problemsDr. Tilmann Bubeck1-1/+1
This patch changes local-fs.target and systemd-fsck to not use "isolate" when going into emergency. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=810722 The motivation is, that when something wents wrong, we should keep everything as it is, to let the user fix the problem. When isolating we stop a lot of services and therefore change the system heavily so that it gets harder for the user to fix. An example is a crypted partition. When the fsck in a crypted partition fails, it previously used "emergency/start/isolate" which stops cryptsetup. Therefore if the user tries to fsck e.g. /dev/mapper/luks-356c20ae-c7a2-4f1c-ae1d-1d290a91b691 as printed by the failing fsck, then it will not find this device (because it got closed). So please apply this patch to let the user see the failing situation. Thanks! [zj: removed dead isolate param from start_target().] https://bugs.freedesktop.org/show_bug.cgi?id=49463 https://bugzilla.redhat.com/show_bug.cgi?id=810722
2013-03-31units/user: default.target must be isolatableZbigniew Jędrzejewski-Szmek1-0/+1
... Activating default unit: default.target Default target could not be isolated, starting instead: Operation refused, unit may not be isolated.
2013-03-29units: fix network-online.target fieldsLennart Poettering1-2/+2
2013-03-29unit: replace remote-fs-setup.target by network-online.targetLennart Poettering1-0/+0
https://bugzilla.redhat.com/show_bug.cgi?id=787314
2013-03-26units: disallow manual starting of passive unitsLennart Poettering6-0/+6
As passive units only are useful for ordering things within the initial transaction there is no point in ever activating them manually, hence refuse it.