Zbigniew Jędrzejewski-Szmek
de747a0008
test-set: make test-set not link to libshared and test test_set_put_strdup*()
...
The sets are such basic functionality that it is convenient to be able to
build test-set without all the machinery in shared, and to test it without
the mempool to validate memory accesses easier.
2020-05-06 16:55:07 +02:00
Zbigniew Jędrzejewski-Szmek
be32732168
basic/set: let set_put_strdup() create the set with string hash ops
...
If we're using a set with _put_strdup(), most of the time we want to use
string hash ops on the set, and free the strings when done. This defines
the appropriate a new string_hash_ops_free structure to automatically free
the keys when removing the set, and makes set_put_strdup() and set_put_strdupv()
instantiate the set with those hash ops.
hashmap_put_strdup() was already doing something similar.
(It is OK to instantiate the set earlier, possibly with a different hash ops
structure. set_put_strdup() will then use the existing set. It is also OK
to call set_free_free() instead of set_free() on a set with
string_hash_ops_free, the effect is the same, we're just overriding the
override of the cleanup function.)
No functional change intended.
2020-05-06 16:54:06 +02:00
Lennart Poettering
1fab579743
systemctl: underline whole rows, gapless
...
Just some tweaking of the output.
2020-05-06 15:40:15 +02:00
Lennart Poettering
b0395c1176
format-table: support coloring the gap right of each cell individually
...
This is useful for underlining a whole row of cells: previously we
couldn't underline the gap. Now we can.
2020-05-06 15:40:15 +02:00
Lennart Poettering
45d82c3f1c
systemctl: ensure underline for "list-unit-files" empty cells
2020-05-06 15:40:15 +02:00
Lennart Poettering
50098d87fb
systemctl: let's tweak how we synthesize a cell for activating unit
...
Let's create a string cell for the unit if possible (since there can
only be one unit right now, and the JSON alternative output then
generates a string instead of an array for us), an empty cell if empty.
2020-05-06 15:40:15 +02:00
Lennart Poettering
bc04bb0d29
systemctl: change column name in "list-sockets" out from "units" to "unit"
...
All our other tables call the field in singular, hence let's do so here,
too.
2020-05-06 15:40:15 +02:00
Lennart Poettering
0773357ad1
systemctl: show empty cells as '-'
...
This is mostly relevant for "systemct list-sockets" which can have empty
cells for the activating unit.
2020-05-06 15:40:15 +02:00
Lennart Poettering
557b0841b7
format-table: display an empty strv cell the same way as an empty cell
...
An empty list conceptually is very close to null, hence let's show it
the same way, i.e. using the defined "empty" string, and greyed out.
2020-05-06 15:40:15 +02:00
Zbigniew Jędrzejewski-Szmek
0894f08bf1
resolve: fix type of parameter and update man page
...
The "a" got dropped in eff7c2d3c905dec9ea4e1d5e53a0efd6af7d3d26.
2020-05-06 15:02:38 +02:00
Zbigniew Jędrzejewski-Szmek
ba5a389d24
Merge pull request #15473 from keszybz/bus-introspection
2020-05-06 15:00:07 +02:00
Eric Anderson
9e12d5bf63
socket-proxy: Support exit-on-idle
...
This adds the --exit-idle-time argument that causes
systemd-socket-proxyd to exit when there has been an idle period. An
open connection prevents the idle period from starting, even if there is
no activity on that connection.
When combined with another service that uses StopWhenUnneeded=, the
proxy exiting can trigger a resource-intensive process to exit. So
although the proxy may consume minimal resources, significant resources
can be saved indirectly.
Fixes #2106
2020-05-06 13:58:57 +02:00
Gergely Polonkai
c28904dae0
Update the rsync command in CONVERTING_TO_HOMED
...
The old version of this command will delete everything under the new home directory (including `.identity`), rendering the directory unusable with homed.
2020-05-06 10:52:22 +02:00
Daan De Meyer
eff7c2d3c9
sd-bus: Add a nicer way of specifying sd-bus vtable method arguments
...
SD_BUS_NAMES_WITH_ARGS is a less error-prone way of specifying D-Bus
method arguments.
2020-05-06 10:22:54 +02:00
Evgeny Vereshchagin
7f3a5eb70e
build-system: bring back 'nonnull'
...
Having taken a look at https://github.com/systemd/systemd/runs/645252074?check_suite_focus=true
where fuzz-journal-remote failed with
```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==16==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f864f98948e bp 0x7ffde5c6b7c0 sp 0x7ffde5c6b560 T0)
==16==The signal is caused by a READ memory access.
==16==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
#0 0x7f864f98948e in output_short /work/build/../../src/systemd/src/shared/logs-show.c
#1 0x7f864f984624 in show_journal_entry /work/build/../../src/systemd/src/shared/logs-show.c:1154:15
#2 0x7f864f984b63 in show_journal /work/build/../../src/systemd/src/shared/logs-show.c:1239:21
#3 0x4cabab in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-journal-remote.c:67:21
#4 0x51fd16 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:556:15
#5 0x51c330 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:470:3
#6 0x523700 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:765:7
#7 0x5246cd in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:792:3
#8 0x4de3d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:824:6
#9 0x4cfb47 in main /src/libfuzzer/FuzzerMain.cpp:19:10
#10 0x7f864e69782f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#11 0x41f2a8 in _start (out/fuzz-journal-remote+0x41f2a8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /work/build/../../src/systemd/src/shared/logs-show.c in output_short
==16==ABORTING
MS: 0 ; base unit: 0000000000000000000000000000000000000000
0x44,0x3d,0xa,0x5f,0x5f,0x52,0x45,0x41,0x4c,0x54,0x49,0x4d,0x45,0x5f,0x54,0x49,0x4d,0x45,0x53,0x54,0x41,0x4d,0x50,0x3d,0x31,0xa,0xa,
D=\x0a__REALTIME_TIMESTAMP=1\x0a\x0a
artifact_prefix='./'; Test unit written to ./crash-d635b9dd31cceff3c912fd45e1a58d7e90f0ad73
Base64: RD0KX19SRUFMVElNRV9USU1FU1RBTVA9MQoK
```
I was wondering why it hadn't been caught by the compiler even though clang should have failed to compile it with
```
../src/shared/logs-show.c:624:25: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
print_multiline(f, 4 + fieldlen + 1, 0, OUTPUT_FULL_WIDTH, 0, false,
^
../src/shared/logs-show.c:161:24: note: callee declares array parameter as static here
size_t highlight[static 2]) {
^ ~~~~~~~~~~
../src/shared/logs-show.c:1239:21: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
r = show_journal_entry(f, j, mode, n_columns, flags, NULL, NULL, ellipsized);
^ ~~~~
../src/shared/logs-show.c:1133:30: note: callee declares array parameter as static here
const size_t highlight[static 2],
^ ~~~~~~~~~~
2 warnings generated.
```
Given that judging by https://github.com/systemd/systemd/issues/13039 it doesn't seem to be
the first time issues like that have been missed I think it would be better to turn nonnull on
and get around false positives on a case-by-case basis with DISABLE_WARNING_NONNULL .. REENABLE_WARNING
Reopens https://github.com/systemd/systemd/issues/6119
2020-05-06 09:50:57 +02:00
Lennart Poettering
fc58c0c7bf
sysusers: be extra careful when locking accounts
...
Let's use "!*" instead of "!!" as invalid password string.
Generally, any invalid password string can be used to for locking an
account, according to shadow(5). To temporarily lock a password of an
account it is commonly implemented to prefix the original password with
a single "!", so that it can later on be unlocked again by removing the
"!", restoring the original password. Thus, the "!" marker is an
indicator for a locked password; the act of prefixing "!" to a
password string is the locking operation; and the removal of a "!"
prefix is the unlock operation. (This is also suggested in shadow(5)).
If we want to entirely lock an account we previously used "!!" as
password string. This is nice since it indicates the password is locked.
However, it is less than ideal, since applying the password unlock
operation once will change the string to "!", which is still a locked
password. Unlocking the password a second time will result in "", i.e.
the empty password, which will in many cases allow logging in without
password. And that's a problem. Hopefully, tools do not allow such
duplicate unlocking, but it's still not a nice property.
By changing our password string to "!*" we get different behaviour: the
password will appear locked. When it is unlocked the password is "*"
which is an invalid password. In that case the password is hence
unlocked but invalid, which is a much better state to be in than the
above.
This is paranoia hardening. Not more. There's no report that anyone
every unlocked an account twice and people could log in.
2020-05-06 09:44:35 +02:00
Zbigniew Jędrzejewski-Szmek
b61cc5fdad
man: update login1(5) for SetType()
...
Added in db72aea4a952cdfdef51eda03408d7c4a11e7359.
2020-05-06 09:13:42 +02:00
Zbigniew Jędrzejewski-Szmek
b856b346c1
man: add stub for home1(5)
2020-05-06 09:13:42 +02:00
Zbigniew Jędrzejewski-Szmek
cfd508a9d6
homed: convert to the new scheme and add --bus-introspect
2020-05-06 09:13:42 +02:00
Lennart Poettering
c92391f52f
Merge pull request #15692 from keszybz/preset-cleanup
...
Make systemctl list-unit-files output more useful
2020-05-06 08:19:37 +02:00
Zbigniew Jędrzejewski-Szmek
1a0e562a5b
man: add description of org.freedesktop.LogControl1
...
I'm not sure if the LogTarget property is sufficiently general to be made into
a property that can be generally implemented. It is very closely tied to the internal
systemd logic. The other two seem fine thoough.
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
81e06775be
meson: add man/update-dbus-docs target
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
7cb4f4145f
man: drop LogLevel from resolve1(5)
...
Removed in 4c4520789d2bfa3fa51b38b826cac2efb5a4d252.
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
38b52b6918
man: drop CanMultiSession from documention
...
Removed in 8f8cc84ba4612e74cd1e26898c6816e6e60fc4e9.
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
48f99d7c06
man: use --bus-introspect to autogenerate dbus api docs
...
This has the advantage that the executables are always in place and we don't
need any units to exist on the bus, so we can eventually hook this up into
a normal build system. (Probably as a build time check.)
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
c351d568c3
update-dbus-docs: use executables in build/
2020-05-05 22:41:23 +02:00
Zbigniew Jędrzejewski-Szmek
5c08257b70
pid1: add --bus-introspect
2020-05-05 22:40:44 +02:00
Zbigniew Jędrzejewski-Szmek
f6e9aa9e45
pid1: convert to the new scheme
...
In all the other cases, I think the code was clearer with the static table.
Here, not so much. And because of the existing dump code, the vtables cannot
be made static and need to remain exported. I still think it's worth to do the
change to have the cmdline introspection, but I'm disappointed with how this
came out.
2020-05-05 22:40:37 +02:00
Zbigniew Jędrzejewski-Szmek
4faa530cf6
machined: convert to the new scheme and add --bus-introspect
2020-05-05 22:38:31 +02:00
Zbigniew Jędrzejewski-Szmek
5ceceff170
localed: convert to the new scheme and add --bus-introspect
2020-05-05 22:37:08 +02:00
Zbigniew Jędrzejewski-Szmek
670139db40
hostnamed: convert to the new scheme and add --bus-introspect
2020-05-05 22:36:54 +02:00
Zbigniew Jędrzejewski-Szmek
8b4933973e
bus-introspect: list the interfaces with "list"
...
The output is not very well formatted, but it is still useful when
testing this.
2020-05-05 22:36:38 +02:00
Zbigniew Jędrzejewski-Szmek
8d1280897b
resolved: convert to the new scheme
2020-05-05 22:36:37 +02:00
Zbigniew Jędrzejewski-Szmek
c4b7d95c46
timedated: convert to the new scheme and add --bus-introspect
2020-05-05 22:34:37 +02:00
Zbigniew Jędrzejewski-Szmek
cd7e1e1a7f
units: change description of systemd-logind.service
...
"Login Service" doesn''t explain much, esp. considering that logind is actually is
for logins. I think "User Login Management" is better, but not that great either.
Suggestions welcome.
2020-05-05 22:34:17 +02:00
Zbigniew Jędrzejewski-Szmek
d4cc0edfce
importd,logind: add --bus-introspect= option
2020-05-05 22:34:17 +02:00
Zbigniew Jędrzejewski-Szmek
1e9bc92dba
bus-util: add wrapper for interface introspection
2020-05-05 22:33:53 +02:00
Zbigniew Jędrzejewski-Szmek
c2b178d3ca
logind: convert to the new scheme
2020-05-05 22:33:52 +02:00
Zbigniew Jędrzejewski-Szmek
a3b7cf5013
importd: convert to the new scheme
2020-05-05 22:31:50 +02:00
Zbigniew Jędrzejewski-Szmek
6a7e98aaca
sd-bus: add helper struct for interface definitions
...
The idea is to have a static table that defines the dbus API. The vtable is
defined right next to the interface name and path because they are logically
connected.
2020-05-05 22:27:03 +02:00
Zbigniew Jędrzejewski-Szmek
31b8895af7
systemctl: do not show preset state for "static"/"alias"/"generated"/"transient" units
...
This modifies list-unit-files and status.
The output of list-unit-files would contain various lines with "static
disabled", which is just misleading, because systemctl preset will not touch
those files, so the preset configuration is not relevant. Similarly, for
"generated" and "transient" units, preset state is irrelevant. For "alias"
lines, the preset for the alias target would be used. In all cases let's just
skip preset status in those cases.
Diff for a a Fedora rawhide container:
--- $ systemctl --root=/tmp/root2 list-unit-files
+++ $ build/systemctl --root=/tmp/root2 list-unit-files
@@ -1,125 +1,125 @@
UNIT FILE STATE VENDOR PRESET
-proc-sys-fs-binfmt_misc.automount static disabled
-dev-hugepages.mount static disabled
-dev-mqueue.mount static disabled
-proc-fs-nfsd.mount static disabled
+proc-sys-fs-binfmt_misc.automount static
+dev-hugepages.mount static
+dev-mqueue.mount static
+proc-fs-nfsd.mount static
proc-sys-fs-binfmt_misc.mount disabled disabled
-sys-fs-fuse-connections.mount static disabled
-sys-kernel-config.mount static disabled
-sys-kernel-debug.mount static disabled
-sys-kernel-tracing.mount static disabled
-tmp.mount static disabled
-var-lib-nfs-rpc_pipefs.mount static disabled
+sys-fs-fuse-connections.mount static
+sys-kernel-config.mount static
+sys-kernel-debug.mount static
+sys-kernel-tracing.mount static
+tmp.mount static
+var-lib-nfs-rpc_pipefs.mount static
ostree-finalize-staged.path disabled enabled
-systemd-ask-password-console.path static disabled
-systemd-ask-password-plymouth.path static disabled
-systemd-ask-password-wall.path static disabled
+systemd-ask-password-console.path static
+systemd-ask-password-plymouth.path static
+systemd-ask-password-wall.path static
abrt-journal-core.service enabled enabled
abrt-oops.service enabled enabled
abrt-pstoreoops.service disabled disabled
abrt-vmcore.service enabled enabled
abrt-xorg.service enabled enabled
abrtd.service enabled enabled
-anaconda-direct.service static disabled
-anaconda-nm-config.service static disabled
-anaconda-noshell.service static disabled
-anaconda-pre.service static disabled
-anaconda-shell@.service static disabled
-anaconda-sshd.service static disabled
-anaconda-tmux@.service static disabled
-anaconda.service static disabled
+anaconda-direct.service static
+anaconda-nm-config.service static
+anaconda-noshell.service static
+anaconda-pre.service static
+anaconda-shell@.service static
+anaconda-sshd.service static
+anaconda-tmux@.service static
+anaconda.service static
arp-ethers.service disabled disabled
atd.service enabled enabled
auditd.service enabled enabled
-auth-rpcgss-module.service static disabled
+auth-rpcgss-module.service static
autofs.service disabled disabled
-autovt@.service enabled disabled
-blivet.service static disabled
+autovt@.service alias
+blivet.service static
blk-availability.service disabled disabled
bluetooth.service enabled enabled
-btattach-bcm@.service static disabled
+btattach-bcm@.service static
certmonger.service disabled disabled
-chrony-dnssrv@.service static disabled
+chrony-dnssrv@.service static
chrony-wait.service disabled disabled
chronyd.service enabled enabled
-clean-mount-point@.service static disabled
-cockpit-motd.service static disabled
-cockpit-wsinstance-http-redirect.service static disabled
-cockpit-wsinstance-http.service static disabled
-cockpit-wsinstance-https-factory@.service static disabled
-cockpit-wsinstance-https@.service static disabled
-cockpit.service static disabled
+clean-mount-point@.service static
+cockpit-motd.service static
+cockpit-wsinstance-http-redirect.service static
+cockpit-wsinstance-http.service static
+cockpit-wsinstance-https-factory@.service static
+cockpit-wsinstance-https@.service static
+cockpit.service static
console-getty.service disabled disabled
-container-getty@.service static disabled
+container-getty@.service static
dbus-broker.service enabled enabled
dbus-daemon.service disabled disabled
-dbus-org.bluez.service enabled disabled
-dbus-org.fedoraproject.FirewallD1.service enabled disabled
-dbus-org.freedesktop.home1.service static disabled
-dbus-org.freedesktop.hostname1.service static disabled
-dbus-org.freedesktop.locale1.service static disabled
-dbus-org.freedesktop.login1.service static disabled
-dbus-org.freedesktop.ModemManager1.service enabled disabled
-dbus-org.freedesktop.nm-dispatcher.service enabled disabled
-dbus-org.freedesktop.portable1.service static disabled
-dbus-org.freedesktop.timedate1.service static disabled
-dbus.service enabled disabled
+dbus-org.bluez.service alias
+dbus-org.fedoraproject.FirewallD1.service alias
+dbus-org.freedesktop.home1.service alias
+dbus-org.freedesktop.hostname1.service alias
+dbus-org.freedesktop.locale1.service alias
+dbus-org.freedesktop.login1.service alias
+dbus-org.freedesktop.ModemManager1.service alias
+dbus-org.freedesktop.nm-dispatcher.service alias
+dbus-org.freedesktop.portable1.service alias
+dbus-org.freedesktop.timedate1.service alias
+dbus.service alias
dbxtool.service enabled enabled
debug-shell.service disabled disabled
-dm-event.service static enabled
+dm-event.service static
dmraid-activation.service enabled enabled
-dnf-makecache.service static disabled
+dnf-makecache.service static
dnsmasq.service disabled disabled
-dracut-cmdline.service static disabled
-dracut-initqueue.service static disabled
-dracut-mount.service static disabled
-dracut-pre-mount.service static disabled
-dracut-pre-pivot.service static disabled
-dracut-pre-trigger.service static disabled
-dracut-pre-udev.service static disabled
-dracut-shutdown.service static disabled
+dracut-cmdline.service static
+dracut-initqueue.service static
+dracut-mount.service static
+dracut-pre-mount.service static
+dracut-pre-pivot.service static
+dracut-pre-trigger.service static
+dracut-pre-udev.service static
+dracut-shutdown.service static
ead.service disabled disabled
-emergency.service static disabled
+emergency.service static
fancontrol.service disabled disabled
firewalld.service enabled enabled
-fprintd.service static disabled
-fstrim.service static disabled
+fprintd.service static
+fstrim.service static
getty@.service enabled enabled
-grub-boot-indeterminate.service static disabled
+grub-boot-indeterminate.service static
gssproxy.service disabled disabled
import-state.service enabled enabled
initial-setup-reconfiguration.service disabled disabled
initial-setup.service enabled disabled
-initrd-cleanup.service static disabled
-initrd-parse-etc.service static disabled
-initrd-switch-root.service static disabled
-initrd-udevadm-cleanup-db.service static disabled
-instperf.service static disabled
+initrd-cleanup.service static
+initrd-parse-etc.service static
+initrd-switch-root.service static
+initrd-udevadm-cleanup-db.service static
+instperf.service static
io.podman.service disabled disabled
irqbalance.service enabled enabled
-iscsi-shutdown.service static disabled
+iscsi-shutdown.service static
iscsi.service enabled disabled
iscsid.service disabled disabled
iscsiuio.service disabled disabled
iwd.service disabled disabled
kdump.service disabled disabled
-kmod-static-nodes.service static disabled
-ldconfig.service static disabled
+kmod-static-nodes.service static
+ldconfig.service static
lm_sensors.service enabled enabled
loadmodules.service disabled disabled
-logrotate.service static disabled
-lvm2-lvmpolld.service static enabled
+logrotate.service static
+lvm2-lvmpolld.service static
lvm2-monitor.service enabled enabled
-lvm2-pvscan@.service static disabled
-man-db-cache-update.service static disabled
+lvm2-pvscan@.service static
+man-db-cache-update.service static
man-db-restart-cache-update.service disabled disabled
-mdadm-grow-continue@.service static disabled
-mdadm-last-resort@.service static disabled
-mdmon@.service static disabled
+mdadm-grow-continue@.service static
+mdadm-last-resort@.service static
+mdmon@.service static
mdmonitor.service enabled enabled
-mlocate-updatedb.service static disabled
+mlocate-updatedb.service static
ModemManager.service enabled enabled
-modprobe@.service static disabled
+modprobe@.service static
multipathd.service enabled enabled
ndctl-monitor.service disabled disabled
NetworkManager-dispatcher.service enabled enabled
@@ -127,53 +127,53 @@
NetworkManager.service enabled enabled
nfs-blkmap.service disabled disabled
nfs-convert.service enabled disabled
-nfs-idmapd.service static disabled
-nfs-mountd.service static disabled
+nfs-idmapd.service static
+nfs-mountd.service static
nfs-server.service disabled disabled
-nfs-utils.service static disabled
-nfsdcld.service static disabled
+nfs-utils.service static
+nfsdcld.service static
nftables.service disabled disabled
nis-domainname.service disabled disabled
oddjobd.service disabled disabled
openhpid.service disabled disabled
-ostree-finalize-staged.service static disabled
-ostree-prepare-root.service static disabled
+ostree-finalize-staged.service static
+ostree-prepare-root.service static
ostree-remount.service enabled enabled
-packagekit-offline-update.service static disabled
-packagekit.service static disabled
+packagekit-offline-update.service static
+packagekit.service static
pcscd.service indirect disabled
-plymouth-halt.service static disabled
-plymouth-kexec.service static disabled
-plymouth-poweroff.service static disabled
-plymouth-quit-wait.service static disabled
-plymouth-quit.service static disabled
-plymouth-read-write.service static disabled
-plymouth-reboot.service static disabled
-plymouth-start.service static disabled
-plymouth-switch-root.service static disabled
+plymouth-halt.service static
+plymouth-kexec.service static
+plymouth-poweroff.service static
+plymouth-quit-wait.service static
+plymouth-quit.service static
+plymouth-read-write.service static
+plymouth-reboot.service static
+plymouth-start.service static
+plymouth-switch-root.service static
podman.service disabled disabled
-polkit.service static enabled
+polkit.service static
psacct.service disabled disabled
qemu-guest-agent.service enabled enabled
-quotaon.service static disabled
+quotaon.service static
raid-check.service disabled disabled
-rc-local.service static disabled
+rc-local.service static
rdisc.service disabled disabled
-realmd.service static disabled
-rescue.service static disabled
+realmd.service static
+rescue.service static
rngd.service enabled enabled
-rpc-gssd.service static disabled
-rpc-statd-notify.service static disabled
-rpc-statd.service static disabled
+rpc-gssd.service static
+rpc-statd-notify.service static
+rpc-statd.service static
rpcbind.service disabled disabled
rsyslog.service enabled enabled
selinux-autorelabel-mark.service enabled enabled
-selinux-autorelabel.service static disabled
+selinux-autorelabel.service static
serial-getty@.service disabled disabled
smartd.service enabled enabled
sshd-keygen@.service disabled disabled
sshd.service enabled enabled
-sshd@.service static disabled
+sshd@.service static
sssd-autofs.service indirect disabled
sssd-kcm.service indirect disabled
sssd-nss.service indirect disabled
@@ -182,84 +182,84 @@
sssd-ssh.service indirect disabled
sssd-sudo.service indirect disabled
sssd.service enabled enabled
-system-update-cleanup.service static disabled
-systemd-ask-password-console.service static disabled
-systemd-ask-password-plymouth.service static disabled
-systemd-ask-password-wall.service static disabled
-systemd-backlight@.service static disabled
-systemd-binfmt.service static disabled
-systemd-bless-boot.service static disabled
+system-update-cleanup.service static
+systemd-ask-password-console.service static
+systemd-ask-password-plymouth.service static
+systemd-ask-password-wall.service static
+systemd-backlight@.service static
+systemd-binfmt.service static
+systemd-bless-boot.service static
systemd-boot-check-no-failures.service disabled disabled
-systemd-boot-system-token.service static disabled
-systemd-coredump@.service static disabled
-systemd-exit.service static disabled
-systemd-firstboot.service static disabled
-systemd-fsck-root.service static disabled
-systemd-fsck@.service static disabled
-systemd-halt.service static disabled
-systemd-hibernate-resume@.service static disabled
-systemd-hibernate.service static disabled
-systemd-homed.service static disabled
-systemd-hostnamed.service static disabled
-systemd-hwdb-update.service static disabled
-systemd-hybrid-sleep.service static disabled
-systemd-initctl.service static disabled
-systemd-journal-catalog-update.service static disabled
-systemd-journal-flush.service static disabled
-systemd-journald.service static disabled
-systemd-journald@.service static disabled
-systemd-kexec.service static disabled
-systemd-localed.service static disabled
-systemd-logind.service static disabled
-systemd-machine-id-commit.service static disabled
-systemd-modules-load.service static disabled
+systemd-boot-system-token.service static
+systemd-coredump@.service static
+systemd-exit.service static
+systemd-firstboot.service static
+systemd-fsck-root.service static
+systemd-fsck@.service static
+systemd-halt.service static
+systemd-hibernate-resume@.service static
+systemd-hibernate.service static
+systemd-homed.service static
+systemd-hostnamed.service static
+systemd-hwdb-update.service static
+systemd-hybrid-sleep.service static
+systemd-initctl.service static
+systemd-journal-catalog-update.service static
+systemd-journal-flush.service static
+systemd-journald.service static
+systemd-journald@.service static
+systemd-kexec.service static
+systemd-localed.service static
+systemd-logind.service static
+systemd-machine-id-commit.service static
+systemd-modules-load.service static
systemd-network-generator.service disabled disabled
systemd-networkd-wait-online.service disabled disabled
systemd-networkd.service disabled disabled
-systemd-portabled.service static disabled
-systemd-poweroff.service static disabled
+systemd-portabled.service static
+systemd-poweroff.service static
systemd-pstore.service disabled enabled
-systemd-quotacheck.service static disabled
-systemd-random-seed.service static disabled
-systemd-reboot.service static disabled
-systemd-remount-fs.service static disabled
-systemd-repart.service static disabled
+systemd-quotacheck.service static
+systemd-random-seed.service static
+systemd-reboot.service static
+systemd-remount-fs.service static
+systemd-repart.service static
systemd-resolved.service disabled disabled
-systemd-rfkill.service static disabled
-systemd-suspend-then-hibernate.service static disabled
-systemd-suspend.service static disabled
-systemd-sysctl.service static disabled
-systemd-sysusers.service static disabled
+systemd-rfkill.service static
+systemd-suspend-then-hibernate.service static
+systemd-suspend.service static
+systemd-sysctl.service static
+systemd-sysusers.service static
systemd-time-wait-sync.service disabled disabled
-systemd-timedated.service static disabled
+systemd-timedated.service static
systemd-timesyncd.service disabled disabled
-systemd-tmpfiles-clean.service static disabled
-systemd-tmpfiles-setup-dev.service static disabled
-systemd-tmpfiles-setup.service static disabled
-systemd-udev-settle.service static disabled
-systemd-udev-trigger.service static disabled
-systemd-udevd.service static disabled
-systemd-update-done.service static disabled
-systemd-update-utmp-runlevel.service static disabled
-systemd-update-utmp.service static disabled
-systemd-user-sessions.service static disabled
-systemd-userdbd.service static disabled
-systemd-vconsole-setup.service static disabled
-systemd-volatile-root.service static disabled
-teamd@.service static disabled
+systemd-tmpfiles-clean.service static
+systemd-tmpfiles-setup-dev.service static
+systemd-tmpfiles-setup.service static
+systemd-udev-settle.service static
+systemd-udev-trigger.service static
+systemd-udevd.service static
+systemd-update-done.service static
+systemd-update-utmp-runlevel.service static
+systemd-update-utmp.service static
+systemd-user-sessions.service static
+systemd-userdbd.service static
+systemd-vconsole-setup.service static
+systemd-volatile-root.service static
+teamd@.service static
udisks2.service enabled enabled
-user-runtime-dir@.service static disabled
-user@.service static disabled
+user-runtime-dir@.service static
+user@.service static
winbind.service disabled disabled
zram-swap.service enabled disabled
-zram.service static disabled
-system-cockpithttps.slice static disabled
-system-systemd\x2dcryptsetup.slice static disabled
-user.slice static disabled
-cockpit-wsinstance-http-redirect.socket static disabled
-cockpit-wsinstance-http.socket static disabled
-cockpit-wsinstance-https-factory.socket static disabled
-cockpit-wsinstance-https@.socket static disabled
+zram.service static
+system-cockpithttps.slice static
+system-systemd\x2dcryptsetup.slice static
+user.slice static
+cockpit-wsinstance-http-redirect.socket static
+cockpit-wsinstance-http.socket static
+cockpit-wsinstance-https-factory.socket static
+cockpit-wsinstance-https@.socket static
cockpit.socket enabled enabled
dbus.socket enabled enabled
dm-event.socket enabled enabled
@@ -280,95 +280,95 @@
sssd-pam.socket disabled disabled
sssd-ssh.socket disabled disabled
sssd-sudo.socket disabled disabled
-syslog.socket static disabled
-systemd-coredump.socket static disabled
-systemd-initctl.socket static disabled
-systemd-journald-audit.socket static disabled
-systemd-journald-dev-log.socket static disabled
-systemd-journald-varlink@.socket static disabled
-systemd-journald.socket static disabled
-systemd-journald@.socket static disabled
+syslog.socket static
+systemd-coredump.socket static
+systemd-initctl.socket static
+systemd-journald-audit.socket static
+systemd-journald-dev-log.socket static
+systemd-journald-varlink@.socket static
+systemd-journald.socket static
+systemd-journald@.socket static
systemd-networkd.socket disabled disabled
-systemd-rfkill.socket static disabled
-systemd-udevd-control.socket static disabled
-systemd-udevd-kernel.socket static disabled
-systemd-userdbd.socket static disabled
-anaconda.target static disabled
-basic.target static disabled
-blockdev@.target static disabled
-bluetooth.target static enabled
-boot-complete.target static disabled
-cryptsetup-pre.target static disabled
-cryptsetup.target static disabled
-ctrl-alt-del.target enabled disabled
-default.target indirect disabled
-emergency.target static disabled
+systemd-rfkill.socket static
+systemd-udevd-control.socket static
+systemd-udevd-kernel.socket static
+systemd-userdbd.socket static
+anaconda.target static
+basic.target static
+blockdev@.target static
+bluetooth.target static
+boot-complete.target static
+cryptsetup-pre.target static
+cryptsetup.target static
+ctrl-alt-del.target alias
+default.target alias
+emergency.target static
exit.target disabled disabled
-final.target static disabled
-getty-pre.target static disabled
-getty.target static disabled
-graphical.target static disabled
+final.target static
+getty-pre.target static
+getty.target static
+graphical.target static
halt.target disabled disabled
-hibernate.target static disabled
-hybrid-sleep.target static disabled
-initrd-fs.target static disabled
-initrd-root-device.target static disabled
-initrd-root-fs.target static disabled
-initrd-switch-root.target static disabled
-initrd.target static disabled
+hibernate.target static
+hybrid-sleep.target static
+initrd-fs.target static
+initrd-root-device.target static
+initrd-root-fs.target static
+initrd-switch-root.target static
+initrd.target static
kexec.target disabled disabled
-local-fs-pre.target static disabled
-local-fs.target static disabled
+local-fs-pre.target static
+local-fs.target static
multi-user.target indirect disabled
-network-online.target static disabled
-network-pre.target static disabled
-network.target static disabled
+network-online.target static
+network-pre.target static
+network.target static
nfs-client.target enabled disabled
-nss-lookup.target static disabled
-nss-user-lookup.target static disabled
-paths.target static disabled
+nss-lookup.target static
+nss-user-lookup.target static
+paths.target static
poweroff.target disabled disabled
-printer.target static disabled
+printer.target static
reboot.target enabled enabled
remote-cryptsetup.target disabled enabled
-remote-fs-pre.target static disabled
+remote-fs-pre.target static
remote-fs.target enabled enabled
-rescue.target static disabled
-rpc_pipefs.target static disabled
-rpcbind.target static disabled
-runlevel0.target disabled disabled
-runlevel1.target static disabled
-runlevel2.target indirect disabled
-runlevel3.target indirect disabled
-runlevel4.target indirect disabled
-runlevel5.target static disabled
-runlevel6.target enabled disabled
-selinux-autorelabel.target static disabled
-shutdown.target static disabled
-sigpwr.target static disabled
-sleep.target static disabled
-slices.target static disabled
-smartcard.target static disabled
-sockets.target static disabled
-sound.target static disabled
-sshd-keygen.target static disabled
-suspend-then-hibernate.target static disabled
-suspend.target static disabled
-swap.target static disabled
-sysinit.target static disabled
-system-update-pre.target static disabled
-system-update.target static disabled
-time-set.target static disabled
-time-sync.target static disabled
-timers.target static disabled
-umount.target static disabled
+rescue.target static
+rpc_pipefs.target static
+rpcbind.target static
+runlevel0.target alias
+runlevel1.target alias
+runlevel2.target alias
+runlevel3.target alias
+runlevel4.target alias
+runlevel5.target alias
+runlevel6.target alias
+selinux-autorelabel.target static
+shutdown.target static
+sigpwr.target static
+sleep.target static
+slices.target static
+smartcard.target static
+sockets.target static
+sound.target static
+sshd-keygen.target static
+suspend-then-hibernate.target static
+suspend.target static
+swap.target static
+sysinit.target static
+system-update-pre.target static
+system-update.target static
+time-set.target static
+time-sync.target static
+timers.target static
+umount.target static
chrony-dnssrv@.timer disabled disabled
dnf-makecache.timer enabled enabled
fstrim.timer enabled enabled
logrotate.timer enabled enabled
-mdadm-last-resort@.timer static disabled
+mdadm-last-resort@.timer static
mlocate-updatedb.timer enabled enabled
raid-check.timer disabled disabled
-systemd-tmpfiles-clean.timer static disabled
+systemd-tmpfiles-clean.timer static
371 unit files listed.
In particular, this allows a meaningful comparison to be made:
$ ~/src/systemd/build/systemctl --root=/tmp/root2 list-unit-files|rg 'enabled.*disabled|disabled.*enabled'
ostree-finalize-staged.path disabled enabled
initial-setup.service enabled disabled
iscsi.service enabled disabled
nfs-convert.service enabled disabled
systemd-pstore.service disabled enabled
zram-swap.service enabled disabled
iscsid.socket enabled disabled
iscsiuio.socket enabled disabled
multipathd.socket enabled disabled
nfs-client.target enabled disabled
remote-cryptsetup.target disabled enabled
(It turns out that most of the services on this list that are enabled without a
corresponding preset are against rpm packaging and do direct 'systemctl enable'
calls in %post, instead of going through presets as they are supposed to.)
systemctl: also skip preset status in status verb
2020-05-05 22:03:53 +02:00
Zbigniew Jędrzejewski-Szmek
15d7ab87c4
systemctl: add new enablement state "alias"
...
For units which are aliases of other units, reporting preset status as
"enabled" is rather misleading. For example, dbus.service is an alias of
dbus-broker.service. In list-unit-files we'd show both as "enabled". In
particular, systemctl preset ignores aliases, so showing any preset status at
all is always going to be misleading. Let's introduce a new state "alias" and
use that for all aliases.
I was trying to avoid adding a new state, to keep compatibility with previous
behaviour, but for alias unit files it simply doesn't seem very useful to show
any of the existing states. It seems that the clearly showing that those are
aliases for other units will be easiest to understand for users.
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
9c894b8579
shared/install: rename variable for clarity
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
bce84e10f8
shared/install: print name of offending file in error
...
"Unit type slice cannot be templated."
↓
"/etc/systemd/system.control/user@.slice: unit type slice cannot be templated."
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
babccf14ce
shared/install: indent tables
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
8f7b256665
shared/install: optionally cache the preset list
...
When doing list-unit-files with --root, we would re-read the preset
list for every unit. This uses a cache to only do it once. The time
for list-unit-files goes down by about ~30%.
unit_file_query_preset() is also called from src/core/. This patch does not
touch that path, since the saving there are smaller, since preset status is
only read on demand over dbus, and caching would be more complicated.
2020-05-05 21:50:31 +02:00
Chris Down
87afd40b5a
man: systemd.service: systemd-analyze exit-codes -> exit-status
...
5238d9a83a52 renames this to exit-status, but systemd.service was not
updated.
The rest of the doc seems a bit inconsistent in its use of the terms
"exit code" and "exit status", but it's not that confusing, so leave
those alone for now.
2020-05-05 21:38:29 +02:00
Ferran Pallarès Roca
a8acbf9748
Add Zowie ZA12 details to mouse hwdb
2020-05-05 19:06:29 +02:00
Zbigniew Jędrzejewski-Szmek
c39b7821f6
systemctl: fix --root support in querying presets
...
We would always look on the host, ignoring --root.
2020-05-05 18:05:32 +02:00
Zbigniew Jędrzejewski-Szmek
4cb1015e6b
systemctl: refuse online-only ops with --root
...
It is super confusing when a command does not support --root, and is called
with it specified, and returns some bogus results. Let's just catch this
early and refuse.
2020-05-05 18:05:23 +02:00