summaryrefslogtreecommitdiff
path: root/units
Commit message (Collapse)AuthorAge
* fsckd: make sure unprivileged clients cannot play games with fsckdLennart Poettering2015-03-09
|
* units: add missing unit fileLennart Poettering2015-02-24
|
* importd: create a loopback btrfs file system for /var/lib/machines, if necessaryLennart Poettering2015-02-24
| | | | | | | | | | | | | | | | | When manipulating container and VM images we need efficient and atomic directory snapshots and file copies, as well as disk quota. btrfs provides this, legacy file systems do not. Hence, implicitly create a loopback file system in /var/lib/machines.raw and mount it to /var/lib/machines, if that directory is not on btrfs anyway. This is done implicitly and transparently the first time the user invokes "machinectl import-xyz". This allows us to take benefit of btrfs features for container management without actually having the rest of the system use btrfs. The loopback is sized 500M initially. Patches to grow it dynamically are to follow.
* Add man page and references to it.Didier Roche2015-02-18
| | | | | | Add man page explaining the plymouth theme protocol, usage of the daemon as well as the socket activation part. Adapt existing fsck man page.
* Add fsckd service and socket, retarget systemd-fsckDidier Roche2015-02-18
| | | | | systemd-fsckd can be socket-activated by systemd-fsck process. Reflect that in the different unit files.
* machined: move logic for bind mounting into containers from machinectl to ↵Lennart Poettering2015-02-17
| | | | | | | machined This extends the bus interface, adding BindMountMachine() for bind mounting directories from the host into the container.
* units: turn on --network-veth by default for systemd-nspawn@.serviceLennart Poettering2015-02-13
| | | | | Given the recent improvements in networkd, it's probably the better default now.
* units: fix systemd-networkd.service in containers lacking CAP_NET_ADMINLennart Poettering2015-02-13
|
* Revert "units: add SecureBits"Lennart Poettering2015-02-11
| | | | | | | | This reverts commit 6a716208b346b742053cfd01e76f76fb27c4ea47. Apparently this doesn't work. http://lists.freedesktop.org/archives/systemd-devel/2015-February/028212.html
* units: add SecureBitsTopi Miettinen2015-02-11
| | | | | | No setuid programs are expected to be executed, so add SecureBits=noroot noroot-locked to unit files.
* units: networkd - fix busname to work on kdbusTom Gundersen2015-02-06
|
* networkd: exit on idleTom Gundersen2015-02-05
| | | | | | We will be woken up on rtnl or dbus activity, so let's just quit if some time has passed and that is the only thing that can happen. Note that we will always stay around if we expect network activity (e.g. DHCP is enabled), as we are not restarted on that.
* networkd: add basic dbus APITom Gundersen2015-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only the very basics, more to come. For now: $ busctl tree org.freedesktop.network1 └─/org/freedesktop/network1 └─/org/freedesktop/network1/link ├─/org/freedesktop/network1/link/1 ├─/org/freedesktop/network1/link/2 ├─/org/freedesktop/network1/link/3 ├─/org/freedesktop/network1/link/4 ├─/org/freedesktop/network1/link/5 ├─/org/freedesktop/network1/link/6 ├─/org/freedesktop/network1/link/7 ├─/org/freedesktop/network1/link/8 └─/org/freedesktop/network1/link/9 $ busctl introspect org.freedesktop.network1 /org/freedesktop/network1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.network1.Manager interface - - - .OperationalState property s "carrier" emits-change $ busctl introspect org.freedesktop.network1 /org/freedesktop/network1/link/1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.network1.Link interface - - - .AdministrativeState property s "unmanaged" emits-change .OperationalState property s "carrier" emits-change
* units: so far we defaulted to 90s as default timeout for most things, let's ↵Lennart Poettering2015-02-02
| | | | | | do so for our oneshot services too Fewer surprises, and stuff...
* networkd: support socket activationTom Gundersen2015-02-02
| | | | | Still keep the non-socket activation code around for starting from the commandline, but will likely drop that too in the future.
* units: set TimeoutSec on some oneshot servicesZbigniew Jędrzejewski-Szmek2015-02-01
| | | | | | | | | | Services which are not crucial to system bootup, and have Type=oneshot can effectively "hang" the system if they fail to complete for whatever reason. To allow the boot to continue, kill them after a timeout. In case of systemd-journal-flush the flush will continue in the background, and in the other two cases the job will be aborted, but this should not result in any permanent problem.
* units: turn on watchdog for resolvedLennart Poettering2015-01-27
|
* units: fix all TTY paths for container gettysLennart Poettering2015-01-27
| | | | | | Spotted by Christian Seiler: http://lists.freedesktop.org/archives/systemd-devel/2015-January/027441.html
* build-sys: lookup for sulogin, it might not be in /sbinCristian Rodríguez2015-01-23
|
* importd: run daemon at minimal capabilitiesLennart Poettering2015-01-22
|
* import: introduce new mini-daemon systemd-importd, and make machinectl a ↵Lennart Poettering2015-01-22
| | | | | | | | | | | | | | client to it The old "systemd-import" binary is now an internal tool. We still use it as asynchronous backend for systemd-importd. Since the import tool might require some IO and CPU resources (due to qcow2 explosion, and decompression), and because we might want to run it with more minimal priviliges we still keep it around as the worker binary to execute as child process of importd. machinectl now has verbs for pulling down images, cancelling them and listing them.
* bus-proxy: turn into multi-threaded daemonDavid Herrmann2015-01-17
| | | | | | Instead of using Accept=true and running one proxy for each connection, we now run one proxy-daemon with a thread per connection. This will enable us to share resources like policies in the future.
* journal: bump RLIMIT_NOFILE when journal files to 16K (if possible)Lennart Poettering2015-01-08
| | | | | | | | | | | When there are a lot of split out journal files, we might run out of fds quicker then we want. Hence: bump RLIMIT_NOFILE to 16K if possible. Do these even for journalctl. On Fedora the soft RLIMIT_NOFILE is at 1K, the hard at 4K by default for normal user processes, this code hence bumps this up for users to 4K. https://bugzilla.redhat.com/show_bug.cgi?id=1179980
* units: make resolved pull in its own .busname unit, but only on kdbus systemsLennart Poettering2015-01-07
| | | | | The daemon requires the busname unit to operate, since it contains the policy that allows it to acquire its service name.
* units: improve Description= for systemd's own busname unitLennart Poettering2015-01-07
|
* journald: allow restarting journald without losing stream connectionsLennart Poettering2015-01-06
| | | | | | Making use of the fd storage capability of the previous commit, allow restarting journald by serilizing stream state to /run, and pushing open fds to PID 1.
* units: rework systemd-nspawn@.service unitLennart Poettering2014-12-29
| | | | | | | | | | | - Unescape instance name so that we can take almost anything as instance name. - Introduce "machines.target" which consists of all enabled nspawns and can be used to start/stop them altogether - Look for container directory using -M instead of harcoding the path in /var/lib/container
* units: make graphical.target dependencies more complete and similar to those ↵Lennart Poettering2014-12-29
| | | | of multi-user.target
* machined/machinectl: add logic to show list of available imagesLennart Poettering2014-12-19
| | | | | | | | | This adds a new bus call to machined that enumerates /var/lib/container and returns all trees stored in it, distuingishing three types: - GPT disk images, which are files suffixed with ".gpt" - directory trees - btrfs subvolumes
* systemd-hwdb: introduce new toolTom Gundersen2014-12-18
| | | | | | | | This pulls out the hwdb managment from udevadm into an independent tool. The old code is left in place for backwards compatibility, and easy of testing, but all documentation is dropped to encourage use of the new tool instead.
* build-sys: remove commented-out m4 from user@.serviceMantas Mikulėnas2014-12-14
| | | | | | | | | | | Otherwise this actually remains in the generated unit in /usr/lib. If you want to keep it commented out, a m4-compatible way would be: m4_ifdef(`HAVE_SMACK', dnl Capabilities=cap_mac_admin=i dnl SecureBits=keep-caps )
* build-sys: turn off SMACK capabilities stuff for now, since it is ↵Lennart Poettering2014-12-10
| | | | incompatible with nspawn
* gitignore: hide some more filesLennart Poettering2014-12-10
|
* bus-proxy: cloning smack labelPrzemyslaw Kedzierski2014-12-09
| | | | | | | | | | | | | | | | | | | | | | When dbus client connects to systemd-bus-proxyd through Unix domain socket proxy takes client's smack label and sets for itself. It is done before and independent of dropping privileges. The reason of such soluton is fact that tests of access rights performed by lsm may take place inside kernel, not only in userspace of recipient of message. The bus-proxyd needs CAP_MAC_ADMIN to manipulate its label. In case of systemd running in system mode, CAP_MAC_ADMIN should be added to CapabilityBoundingSet in service file of bus-proxyd. In case of systemd running in user mode ('systemd --user') it can be achieved by addition Capabilities=cap_mac_admin=i and SecureBits=keep-caps to user@.service file and setting cap_mac_admin+ei on bus-proxyd binary.
* units: make sure container-getty@.service stops restarting when the pts ↵Lennart Poettering2014-12-09
| | | | | | | | | device it is bound to is gone We only want to restart the getty as long as the pts device is still around. As soon as it is gone, the service should be removed to. http://lists.freedesktop.org/archives/systemd-devel/2014-December/026048.html
* gitignore: ignore generated systemd-bootchart.serviceWaLyong Cho2014-12-04
|
* units: skip mounting /dev/hugepages if we don't have CAP_SYS_ADMINMichal Sekletar2014-12-04
| | | | | Preparation for allowing systemd to run gracefully in containers lacking CAP_SYS_ADMIN.
* bootchart: add standalone bootchart serviceWaLyong Cho2014-12-04
|
* machine-id-commit: add unit fileDidier Roche2014-12-03
| | | | | The unit file only active the machine-id-commit helper if /etc is mounted writable and /etc/machine-id is an independant mount point (should be a tmpfs).
* rc-local: drop SysVStartPriority= field which is now obsoleteLennart Poettering2014-12-02
|
* bus-proxy: automatically detect scope of bus and derive which XML snippets ↵Lennart Poettering2014-11-28
| | | | to load from that
* nspawn: Add try-{host,guest} journal link modesMartin Pitt2014-11-21
| | | | | | | | | | | | | | | | | --link-journal={host,guest} fail if the host does not have persistent journalling enabled and /var/log/journal/ does not exist. Even worse, as there is no stdout/err any more, there is no error message to point that out. Introduce two new modes "try-host" and "try-guest" which don't fail in this case, and instead just silently skip the guest journal setup. Change -j to mean "try-guest" instead of "guest", and fix the wrong --help output for it (it said "host" before). Change systemd-nspawn@.service.in to use "try-guest" so that this unit works with both persistent and non-persistent journals on the host without failing. https://bugs.debian.org/770275
* units: make sure rfkill service is bount to the actual hardwareLennart Poettering2014-11-21
|
* Revert "systemd-logind.service: set Type=notify"Lennart Poettering2014-11-21
| | | | | | | | | | | This reverts commit a4962513c555fe3ac4b5bebf97a71701361a45b0. logind.service is a D-Bus service, hence we should use the dbus name as indication that we are up. Type=dbus is implied if BusName= is specified, as it is in this case. This removes a warning that is printed because a BusName= is specified for a Type=notify unit.
* systemd-logind.service: set Type=notifyDave Reisner2014-11-19
| | | | | | The code already calls sd_notify("READY=1"), so we may as well take advantage of the startup behavior in the unit. The same was done for the journal in a87a38c20.
* sd-bus: sync with kdbus upstream (ABI break)Daniel Mack2014-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kdbus has seen a larger update than expected lately, most notably with kdbusfs, a file system to expose the kdbus control files: * Each time a file system of this type is mounted, a new kdbus domain is created. * The layout inside each mount point is the same as before, except that domains are not hierarchically nested anymore. * Domains are therefore also unnamed now. * Unmounting a kdbusfs will automatically also detroy the associated domain. * Hence, the action of creating a kdbus domain is now as privileged as mounting a filesystem. * This way, we can get around creating dev nodes for everything, which is last but not least something that is not limited by 20-bit minor numbers. The kdbus specific bits in nspawn have all been dropped now, as nspawn can rely on the container OS to set up its own kdbus domain, simply by mounting a new instance. A new set of mounts has been added to mount things *after* the kernel modules have been loaded. For now, only kdbus is in this set, which is invoked with mount_setup_late().
* units: restore job timeouts for poweroff and rebootZbigniew Jędrzejewski-Szmek2014-11-06
| | | | | | | | It seems that there actually aren't any long running tasks which are performed at shutdown. If it turns out that there actually are, this should be revisited. This reverts most of commit 038193efa6.
* units: disable job timeoutsZbigniew Jędrzejewski-Szmek2014-11-05
| | | | | | | | | | | | | For boot, we might kill fsck in the middle, with likely catastrophic consequences. On shutdown there might be other jobs, like downloading of updates for installation, and other custom jobs. It seems better to schedule an individual timeout on each one separately, when it is known what timeout is useful. Disable the timeouts for now, until we have a clearer picture of how we can deal with long-running jobs.
* core: introduce new Delegate=yes/no property controlling creation of cgroup ↵Lennart Poettering2014-11-05
| | | | | | | | | | | | | | | | | | | | | | | | subhierarchies For priviliged units this resource control property ensures that the processes have all controllers systemd manages enabled. For unpriviliged services (those with User= set) this ensures that access rights to the service cgroup is granted to the user in question, to create further subgroups. Note that this only applies to the name=systemd hierarchy though, as access to other controllers is not safe for unpriviliged processes. Delegate=yes should be set for container scopes where a systemd instance inside the container shall manage the hierarchies below its own cgroup and have access to all controllers. Delegate=yes should also be set for user@.service, so that systemd --user can run, controlling its own cgroup tree. This commit changes machined, systemd-nspawn@.service and user@.service to set this boolean, in order to ensure that container management will just work, and the user systemd instance can run fine.
* units: make systemd-journald.service Type=notifyMichal Schmidt2014-11-04
| | | | | | | | | | | It already calls sd_notify(), so it looks like an oversight. Without it, its ordering to systemd-journal-flush.service is non-deterministic and the SIGUSR1 from flushing may kill journald before it has its signal handlers set up. https://bugs.freedesktop.org/show_bug.cgi?id=85871 https://bugzilla.redhat.com/show_bug.cgi?id=1159641