summaryrefslogtreecommitdiff
path: root/units
AgeCommit message (Collapse)Author
2013-07-12static-nodes: don't hardcode path to mkdirTom Gundersen
2013-07-11units: since we auto-spawn user@.service instances now we don need an ↵Lennart Poettering
[Install] section in it
2013-07-08static-nodes: move creation of static nodes from udevd to tmpfilesTom Gundersen
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 Sievers
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 Poettering
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 Poettering
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 Poettering
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 Poettering
- 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 Poettering
2013-06-04units: cleanup agetty command lineKarel Zak
* 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 Poettering
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 Poettering
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 Kok
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 Poettering
running containers as system services
2013-04-23units: update user@.service to reflect new user cgroup pathsLennart Poettering
2013-04-23man: link systemd-tmpfiles-setup-dev.serviceUmut Tezduyar
2013-04-22units: rename systemd-static-nodes -> systemd-tmpfiles-setup-devTom Gundersen
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 Poettering
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 Sievers
2013-04-12tmpfiles: create static device nodes before udev is startedTom Gundersen
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 Poettering
2013-04-01Do no isolate in case of emergency or severe problemsDr. Tilmann Bubeck
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-Szmek
... 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 Poettering
2013-03-29unit: replace remote-fs-setup.target by network-online.targetLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=787314
2013-03-26units: disallow manual starting of passive unitsLennart Poettering
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.
2013-03-26units: downgrade dependency on sockets.target/timers.target/paths.target by ↵Lennart Poettering
basic.target There isn't really any need to require any targets but sysinit.target from basic.target, so downgrade sockets.target, paths.target, timers.target.
2013-03-25units: there is no point in pulling in ordering 'provides'-style targetsLennart Poettering
Units such as nss-lookup.target, nss-user-lookup.target, remote-fs-pre.target, local-fs-pre.target, time-sync.target, rpcbind.target are to be pulled in by the implementing services, and that's there only purpose. They should not have any 'active component' otherwise, so let's drop all further deps from these units.
2013-03-25units: introduce remote-fs-setup.target to pull in dependencies from remote ↵Lennart Poettering
mounts This introduces remote-fs-setup.target independently of remote-fs-pre.target. The former is only for pulling things in, the latter only for ordering. The new semantics: remote-fs-setup.target: is pulled in automatically by all remote mounts. Shall be used to pull in other units that want to run when at least one remote mount is set up. Is not ordered against the actual mount units, in order to allow activation of its dependencies even 'a posteriori', i.e. when a mount is established outside of systemd and is only picked up by it. remote-fs-pre.target: needs to be pulled in automatically by the implementing service, is otherwise not part of the initial transaction. This is ordered before all remote mount units. A service that wants to be pulled in and run before all remote mounts should hence have: a) WantedBy=remote-fs-setup.target -- so that it is pulled in b) Wants=remote-fs-pre.target + Before=remote-fs-pre.target -- so that it is ordered before the mount point, normally.
2013-03-25Revert "remote-fs.target: want remote-fs-pre.target"Lennart Poettering
This reverts commit 6bde0b3220e95a08cefb70846f73b2cf24b7734a. We should not pull in remote-fs-pre.target unconditionally. It's supposed to be pulled in by the implementors of it, rather then its users.
2013-03-25units: and also, order all early-boot sockets before sockets.targetLennart Poettering
2013-03-25units: order all udev services before sysinit.target, tooLennart Poettering
Not that it would matter much, but let's make things a bit more systematic: early boot services shall order themselves before sysinit.target, and nothing else.
2013-03-25units: introduce new timers.target and paths.target to hook timer/path units ↵Lennart Poettering
into for boot
2013-03-25build-sys: add missing sed substitution for DEBUGTTYKay Sievers
2013-03-25build-sys: configurable debug shell tty pathUmut Tezduyar
2013-03-23udevd: ensure static nodes are created before local-fs mountFrederic Crozat
static nodes (like /dev/loop-control) are created when systemd-udevd is started and needed to mount loopback devices. Therefore, local-fs-pre.target should be only started after systemd-udevd is started.
2013-03-22Update user session unit template.Auke Kok
While most folks will be using the derivative from user-session-units, I'm updating this one to reflect some of the fixes and things to note about user sessions: - cgroup should be set with "%u" - username instead of %I - set dbus path with %U explicitly too - hint to folks that wish to use MEM_CG features in user sessions - allow unit to be enabled for instances with systemctl enable
2013-03-23Revert "units: ignore systemd-sysctl on shutdown"Lennart Poettering
This reverts commit faeffa73a81ab5b59acfadeb571431fb0e42af70. There isn't really much point in dropping the Conflicts= since shutting down this service is basically free as it doesn't have anything running. Also, the patch was incomplete, because shutdown.target was still listed in Before=.
2013-03-16units: initrd, multi-user - add a few more words to Description=Kay Sievers
2013-03-15units: ignore systemd-sysctl on shutdownUmut Tezduyar
No need to try to stop systemd-sysctl on shutdown as this service doesn't have ExecStop= anyways.
2013-03-15Make initrd.target the default target in the initrdHarald Hoyer
First, rename root-fs.target to initrd-root-fs.target to clarify its usage. Mount units with "x-initrd-rootfs.mount" are now ordered before initrd-root-fs.target. As we sometimes construct /sysroot mounts in /etc/fstab in the initrd, we want these to be mounted before the initrd-root-fs.target is active. initrd.target can be the default target in the initrd. (normal startup) : : v basic.target | ______________________/| / | | sysroot.mount | | | v | initrd-root-fs.target | | | v | initrd-parse-etc.service (custom initrd services) | | v | (sysroot-usr.mount and | various mounts marked | with fstab option | x-initrd.mount) | | | v | initrd-fs.target | | \______________________ | \| v initrd.target | v initrd-cleanup.service isolates to initrd-switch-root.target | v ______________________/| / | | initrd-udevadm-cleanup-db.service | | (custom initrd services) | | | \______________________ | \| v initrd-switch-root.target | v initrd-switch-root.service | v switch-root
2013-03-13add initrd-fs.target and root-fs.targetHarald Hoyer
Instead of using local-fs*.target in the initrd, use root-fs.target for sysroot.mount and initrd-fs.target for /sysroot/usr and friends. Using local-fs.target would mean to carry over the activated local-fs.target to the isolated initrd-switch-root.target and thus in the real root. Having local-fs.target already active after deserialization causes ordering problems with the real root services and targets. We better isolate to targets for initrd-switch-root.target, which are only available in the initrd.
2013-03-12remote-fs.target: want remote-fs-pre.targetHarald Hoyer
This pulls in remote-fs-pre.target if remote-fs.target is needed. Previously remote-fs-pre.target was not active, if no remote fs was mounted from /etc/fstab. So, every manual remote fs mount was ordered against the inactive remote-fs-pre.target and umount.target. Because remote-fs-pre.target was not active, the remote fs was umounted at umount.target time, which was too late (network already down). Now remote-fs-pre.target is active, even if no remote fs is mounted. On shutdown it is deactivated in the correct order and all manual remote fs mounts also.
2013-03-12udevd: sort into sysinit instead of basic targetKay Sievers
2013-03-11Update .gitignoreMichael Biebl
for the changes in 7b40ce553f0ec9487077e53f5bdc46580025901c
2013-03-11Move udevadm to rootbindirMichael Biebl
The udevadm utility is needed during early boot, so move it to rootbindir to support split-/usr configurations.
2013-03-09build-sys: don't hard-code binary paths in initrd-*.serviceMichael Biebl
Instead use @bindir@ for udevadm and @rootbindir@ for systemctl.
2013-03-06units: run systemd-ask-password-console.service after ↵Harald Hoyer
systemd-vconsole-setup.service
2013-03-06initrd-parse-etc.servic: force start local-fs.targetHarald Hoyer
2013-03-06Revert "add initrd-fs.target and initrd-fs-pre.target"Harald Hoyer
This reverts commit 39b83cdab37623a546344622db9bbbc784c15df5.