diff --git a/doc/manpage-urls.json b/doc/manpage-urls.json index a5064c8fcb5e..71bee5c7a6ea 100644 --- a/doc/manpage-urls.json +++ b/doc/manpage-urls.json @@ -6,29 +6,313 @@ "portals.conf(5)": "https://github.com/flatpak/xdg-desktop-portal/blob/1.18.1/doc/portals.conf.rst.in", + "bootctl(1)": "https://www.freedesktop.org/software/systemd/man/bootctl.html", + "busctl(1)": "https://www.freedesktop.org/software/systemd/man/busctl.html", + "coredumpctl(1)": "https://www.freedesktop.org/software/systemd/man/coredumpctl.html", + "homectl(1)": "https://www.freedesktop.org/software/systemd/man/homectl.html", + "hostnamectl(1)": "https://www.freedesktop.org/software/systemd/man/hostnamectl.html", + "init(1)": "https://www.freedesktop.org/software/systemd/man/init.html", + "journalctl(1)": "https://www.freedesktop.org/software/systemd/man/journalctl.html", + "localectl(1)": "https://www.freedesktop.org/software/systemd/man/localectl.html", + "loginctl(1)": "https://www.freedesktop.org/software/systemd/man/loginctl.html", + "machinectl(1)": "https://www.freedesktop.org/software/systemd/man/machinectl.html", + "mount.ddi(1)": "https://www.freedesktop.org/software/systemd/man/mount.ddi.html", + "networkctl(1)": "https://www.freedesktop.org/software/systemd/man/networkctl.html", + "oomctl(1)": "https://www.freedesktop.org/software/systemd/man/oomctl.html", + "portablectl(1)": "https://www.freedesktop.org/software/systemd/man/portablectl.html", + "resolvconf(1)": "https://www.freedesktop.org/software/systemd/man/resolvconf.html", + "resolvectl(1)": "https://www.freedesktop.org/software/systemd/man/resolvectl.html", + "systemctl(1)": "https://www.freedesktop.org/software/systemd/man/systemctl.html", + "systemd-ac-power(1)": "https://www.freedesktop.org/software/systemd/man/systemd-ac-power.html", + "systemd-analyze(1)": "https://www.freedesktop.org/software/systemd/man/systemd-analyze.html", + "systemd-ask-password(1)": "https://www.freedesktop.org/software/systemd/man/systemd-ask-password.html", + "systemd-cat(1)": "https://www.freedesktop.org/software/systemd/man/systemd-cat.html", + "systemd-cgls(1)": "https://www.freedesktop.org/software/systemd/man/systemd-cgls.html", + "systemd-cgtop(1)": "https://www.freedesktop.org/software/systemd/man/systemd-cgtop.html", + "systemd-creds(1)": "https://www.freedesktop.org/software/systemd/man/systemd-creds.html", + "systemd-cryptenroll(1)": "https://www.freedesktop.org/software/systemd/man/systemd-cryptenroll.html", + "systemd-delta(1)": "https://www.freedesktop.org/software/systemd/man/systemd-delta.html", + "systemd-detect-virt(1)": "https://www.freedesktop.org/software/systemd/man/systemd-detect-virt.html", + "systemd-dissect(1)": "https://www.freedesktop.org/software/systemd/man/systemd-dissect.html", + "systemd-escape(1)": "https://www.freedesktop.org/software/systemd/man/systemd-escape.html", + "systemd-id128(1)": "https://www.freedesktop.org/software/systemd/man/systemd-id128.html", + "systemd-inhibit(1)": "https://www.freedesktop.org/software/systemd/man/systemd-inhibit.html", + "systemd-machine-id-setup(1)": "https://www.freedesktop.org/software/systemd/man/systemd-machine-id-setup.html", + "systemd-measure(1)": "https://www.freedesktop.org/software/systemd/man/systemd-measure.html", + "systemd-mount(1)": "https://www.freedesktop.org/software/systemd/man/systemd-mount.html", + "systemd-notify(1)": "https://www.freedesktop.org/software/systemd/man/systemd-notify.html", + "systemd-nspawn(1)": "https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html", + "systemd-path(1)": "https://www.freedesktop.org/software/systemd/man/systemd-path.html", + "systemd-run(1)": "https://www.freedesktop.org/software/systemd/man/systemd-run.html", + "systemd-socket-activate(1)": "https://www.freedesktop.org/software/systemd/man/systemd-socket-activate.html", + "systemd-stdio-bridge(1)": "https://www.freedesktop.org/software/systemd/man/systemd-stdio-bridge.html", + "systemd-tty-ask-password-agent(1)": "https://www.freedesktop.org/software/systemd/man/systemd-tty-ask-password-agent.html", + "systemd-umount(1)": "https://www.freedesktop.org/software/systemd/man/systemd-umount.html", + "systemd(1)": "https://www.freedesktop.org/software/systemd/man/systemd.html", + "timedatectl(1)": "https://www.freedesktop.org/software/systemd/man/timedatectl.html", + "userdbctl(1)": "https://www.freedesktop.org/software/systemd/man/userdbctl.html", + "binfmt.d(5)": "https://www.freedesktop.org/software/systemd/man/binfmt.d.html", + "coredump.conf(5)": "https://www.freedesktop.org/software/systemd/man/coredump.conf.html", + "coredump.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/coredump.conf.d.html", + "crypttab(5)": "https://www.freedesktop.org/software/systemd/man/crypttab.html", + "dnssec-trust-anchors.d(5)": "https://www.freedesktop.org/software/systemd/man/dnssec-trust-anchors.d.html", + "environment.d(5)": "https://www.freedesktop.org/software/systemd/man/environment.d.html", + "extension-release(5)": "https://www.freedesktop.org/software/systemd/man/extension-release.html", + "homed.conf(5)": "https://www.freedesktop.org/software/systemd/man/homed.conf.html", + "homed.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/homed.conf.d.html", + "hostname(5)": "https://www.freedesktop.org/software/systemd/man/hostname.html", + "initrd-release(5)": "https://www.freedesktop.org/software/systemd/man/initrd-release.html", + "integritytab(5)": "https://www.freedesktop.org/software/systemd/man/integritytab.html", + "iocost.conf(5)": "https://www.freedesktop.org/software/systemd/man/iocost.conf.html", + "journal-remote.conf(5)": "https://www.freedesktop.org/software/systemd/man/journal-remote.conf.html", + "journal-remote.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/journal-remote.conf.d.html", + "journal-upload.conf(5)": "https://www.freedesktop.org/software/systemd/man/journal-upload.conf.html", + "journal-upload.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/journal-upload.conf.d.html", "journald.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.html", + "journald.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.d.html", + "journald@.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald@.conf.html", + "loader.conf(5)": "https://www.freedesktop.org/software/systemd/man/loader.conf.html", + "locale.conf(5)": "https://www.freedesktop.org/software/systemd/man/locale.conf.html", + "localtime(5)": "https://www.freedesktop.org/software/systemd/man/localtime.html", "logind.conf(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.html", + "logind.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.d.html", + "machine-id(5)": "https://www.freedesktop.org/software/systemd/man/machine-id.html", + "machine-info(5)": "https://www.freedesktop.org/software/systemd/man/machine-info.html", + "modules-load.d(5)": "https://www.freedesktop.org/software/systemd/man/modules-load.d.html", "networkd.conf(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.html", + "networkd.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.d.html", + "oomd.conf(5)": "https://www.freedesktop.org/software/systemd/man/oomd.conf.html", + "oomd.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/oomd.conf.d.html", + "org.freedesktop.LogControl1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.LogControl1.html", + "org.freedesktop.home1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.home1.html", + "org.freedesktop.hostname1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.hostname1.html", + "org.freedesktop.import1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.import1.html", + "org.freedesktop.locale1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.locale1.html", + "org.freedesktop.login1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.login1.html", + "org.freedesktop.machine1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.machine1.html", + "org.freedesktop.network1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.network1.html", + "org.freedesktop.oom1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.oom1.html", + "org.freedesktop.portable1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.portable1.html", + "org.freedesktop.resolve1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.resolve1.html", + "org.freedesktop.systemd1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.systemd1.html", + "org.freedesktop.timedate1(5)": "https://www.freedesktop.org/software/systemd/man/org.freedesktop.timedate1.html", + "os-release(5)": "https://www.freedesktop.org/software/systemd/man/os-release.html", + "pstore.conf(5)": "https://www.freedesktop.org/software/systemd/man/pstore.conf.html", + "pstore.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/pstore.conf.d.html", + "repart.d(5)": "https://www.freedesktop.org/software/systemd/man/repart.d.html", + "resolved.conf(5)": "https://www.freedesktop.org/software/systemd/man/resolved.conf.html", + "resolved.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/resolved.conf.d.html", + "sleep.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/sleep.conf.d.html", + "sysctl.d(5)": "https://www.freedesktop.org/software/systemd/man/sysctl.d.html", + "system.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/system.conf.d.html", + "systemd-sleep.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-sleep.conf.html", + "systemd-system.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html", + "systemd-user-runtime-dir(5)": "https://www.freedesktop.org/software/systemd/man/systemd-user-runtime-dir.html", + "systemd-user.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-user.conf.html", "systemd.automount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.automount.html", + "systemd.device(5)": "https://www.freedesktop.org/software/systemd/man/systemd.device.html", + "systemd.dnssd(5)": "https://www.freedesktop.org/software/systemd/man/systemd.dnssd.html", "systemd.exec(5)": "https://www.freedesktop.org/software/systemd/man/systemd.exec.html", + "systemd.kill(5)": "https://www.freedesktop.org/software/systemd/man/systemd.kill.html", "systemd.link(5)": "https://www.freedesktop.org/software/systemd/man/systemd.link.html", "systemd.mount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.mount.html", + "systemd.negative(5)": "https://www.freedesktop.org/software/systemd/man/systemd.negative.html", "systemd.netdev(5)": "https://www.freedesktop.org/software/systemd/man/systemd.netdev.html", "systemd.network(5)": "https://www.freedesktop.org/software/systemd/man/systemd.network.html", "systemd.nspawn(5)": "https://www.freedesktop.org/software/systemd/man/systemd.nspawn.html", "systemd.path(5)": "https://www.freedesktop.org/software/systemd/man/systemd.path.html", + "systemd.positive(5)": "https://www.freedesktop.org/software/systemd/man/systemd.positive.html", + "systemd.preset(5)": "https://www.freedesktop.org/software/systemd/man/systemd.preset.html", "systemd.resource-control(5)": "https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html", "systemd.scope(5)": "https://www.freedesktop.org/software/systemd/man/systemd.scope.html", "systemd.service(5)": "https://www.freedesktop.org/software/systemd/man/systemd.service.html", "systemd.slice(5)": "https://www.freedesktop.org/software/systemd/man/systemd.slice.html", "systemd.socket(5)": "https://www.freedesktop.org/software/systemd/man/systemd.socket.html", + "systemd.swap(5)": "https://www.freedesktop.org/software/systemd/man/systemd.swap.html", + "systemd.target(5)": "https://www.freedesktop.org/software/systemd/man/systemd.target.html", "systemd.timer(5)": "https://www.freedesktop.org/software/systemd/man/systemd.timer.html", "systemd.unit(5)": "https://www.freedesktop.org/software/systemd/man/systemd.unit.html", - "systemd-system.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html", - "systemd-user.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-user.conf.html", + "sysupdate.d(5)": "https://www.freedesktop.org/software/systemd/man/sysupdate.d.html", + "sysusers.d(5)": "https://www.freedesktop.org/software/systemd/man/sysusers.d.html", "timesyncd.conf(5)": "https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html", + "timesyncd.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/timesyncd.conf.d.html", "tmpfiles.d(5)": "https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html", + "udev.conf(5)": "https://www.freedesktop.org/software/systemd/man/udev.conf.html", + "user-runtime-dir@.service(5)": "https://www.freedesktop.org/software/systemd/man/user-runtime-dir@.service.html", + "user.conf.d(5)": "https://www.freedesktop.org/software/systemd/man/user.conf.d.html", + "user@.service(5)": "https://www.freedesktop.org/software/systemd/man/user@.service.html", + "vconsole.conf(5)": "https://www.freedesktop.org/software/systemd/man/vconsole.conf.html", + "veritytab(5)": "https://www.freedesktop.org/software/systemd/man/veritytab.html", + "bootup(7)": "https://www.freedesktop.org/software/systemd/man/bootup.html", + "daemon(7)": "https://www.freedesktop.org/software/systemd/man/daemon.html", + "file-hierarchy(7)": "https://www.freedesktop.org/software/systemd/man/file-hierarchy.html", + "hwdb(7)": "https://www.freedesktop.org/software/systemd/man/hwdb.html", + "kernel-command-line(7)": "https://www.freedesktop.org/software/systemd/man/kernel-command-line.html", + "linuxaa64.efi.stub(7)": "https://www.freedesktop.org/software/systemd/man/linuxaa64.efi.stub.html", + "linuxia32.efi.stub(7)": "https://www.freedesktop.org/software/systemd/man/linuxia32.efi.stub.html", + "linuxx64.efi.stub(7)": "https://www.freedesktop.org/software/systemd/man/linuxx64.efi.stub.html", + "sd-boot(7)": "https://www.freedesktop.org/software/systemd/man/sd-boot.html", + "sd-stub(7)": "https://www.freedesktop.org/software/systemd/man/sd-stub.html", + "smbios-type-11(7)": "https://www.freedesktop.org/software/systemd/man/smbios-type-11.html", + "systemd-boot(7)": "https://www.freedesktop.org/software/systemd/man/systemd-boot.html", + "systemd-stub(7)": "https://www.freedesktop.org/software/systemd/man/systemd-stub.html", + "systemd.directives(7)": "https://www.freedesktop.org/software/systemd/man/systemd.directives.html", + "systemd.environment-generator(7)": "https://www.freedesktop.org/software/systemd/man/systemd.environment-generator.html", + "systemd.generator(7)": "https://www.freedesktop.org/software/systemd/man/systemd.generator.html", + "systemd.image-policy(7)": "https://www.freedesktop.org/software/systemd/man/systemd.image-policy.html", + "systemd.index(7)": "https://www.freedesktop.org/software/systemd/man/systemd.index.html", + "systemd.journal-fields(7)": "https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html", + "systemd.net-naming-scheme(7)": "https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html", + "systemd.offline-updates(7)": "https://www.freedesktop.org/software/systemd/man/systemd.offline-updates.html", + "systemd.special(7)": "https://www.freedesktop.org/software/systemd/man/systemd.special.html", + "systemd.syntax(7)": "https://www.freedesktop.org/software/systemd/man/systemd.syntax.html", + "systemd.system-credentials(7)": "https://www.freedesktop.org/software/systemd/man/systemd.system-credentials.html", "systemd.time(7)": "https://www.freedesktop.org/software/systemd/man/systemd.time.html", + "udev(7)": "https://www.freedesktop.org/software/systemd/man/udev.html", + "30-systemd-environment-d-generator(8)": "https://www.freedesktop.org/software/systemd/man/30-systemd-environment-d-generator.html", + "halt(8)": "https://www.freedesktop.org/software/systemd/man/halt.html", + "kernel-install(8)": "https://www.freedesktop.org/software/systemd/man/kernel-install.html", + "libnss_myhostname.so.2(8)": "https://www.freedesktop.org/software/systemd/man/libnss_myhostname.so.2.html", + "libnss_mymachines.so.2(8)": "https://www.freedesktop.org/software/systemd/man/libnss_mymachines.so.2.html", + "libnss_resolve.so.2(8)": "https://www.freedesktop.org/software/systemd/man/libnss_resolve.so.2.html", + "libnss_systemd.so.2(8)": "https://www.freedesktop.org/software/systemd/man/libnss_systemd.so.2.html", + "nss-myhostname(8)": "https://www.freedesktop.org/software/systemd/man/nss-myhostname.html", + "nss-mymachines(8)": "https://www.freedesktop.org/software/systemd/man/nss-mymachines.html", + "nss-resolve(8)": "https://www.freedesktop.org/software/systemd/man/nss-resolve.html", + "nss-systemd(8)": "https://www.freedesktop.org/software/systemd/man/nss-systemd.html", + "pam_systemd(8)": "https://www.freedesktop.org/software/systemd/man/pam_systemd.html", + "pam_systemd_home(8)": "https://www.freedesktop.org/software/systemd/man/pam_systemd_home.html", + "poweroff(8)": "https://www.freedesktop.org/software/systemd/man/poweroff.html", + "reboot(8)": "https://www.freedesktop.org/software/systemd/man/reboot.html", + "shutdown(8)": "https://www.freedesktop.org/software/systemd/man/shutdown.html", + "systemd-ask-password-console.path(8)": "https://www.freedesktop.org/software/systemd/man/systemd-ask-password-console.path.html", + "systemd-ask-password-console.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-ask-password-console.service.html", + "systemd-ask-password-wall.path(8)": "https://www.freedesktop.org/software/systemd/man/systemd-ask-password-wall.path.html", + "systemd-ask-password-wall.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-ask-password-wall.service.html", + "systemd-backlight(8)": "https://www.freedesktop.org/software/systemd/man/systemd-backlight.html", + "systemd-backlight@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html", + "systemd-battery-check(8)": "https://www.freedesktop.org/software/systemd/man/systemd-battery-check.html", + "systemd-binfmt(8)": "https://www.freedesktop.org/software/systemd/man/systemd-binfmt.html", + "systemd-bless-boot-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-bless-boot-generator.html", + "systemd-bless-boot(8)": "https://www.freedesktop.org/software/systemd/man/systemd-bless-boot.html", + "systemd-boot-check-no-failures(8)": "https://www.freedesktop.org/software/systemd/man/systemd-boot-check-no-failures.html", + "systemd-boot-random-seed.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-boot-random-seed.service.html", + "systemd-confext(8)": "https://www.freedesktop.org/software/systemd/man/systemd-confext.html", + "systemd-confext.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-confext.service.html", + "systemd-coredump(8)": "https://www.freedesktop.org/software/systemd/man/systemd-coredump.html", + "systemd-coredump.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-coredump.socket.html", + "systemd-coredump@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-coredump@.service.html", + "systemd-cryptsetup-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-cryptsetup-generator.html", + "systemd-cryptsetup(8)": "https://www.freedesktop.org/software/systemd/man/systemd-cryptsetup.html", + "systemd-cryptsetup@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-cryptsetup@.service.html", + "systemd-debug-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-debug-generator.html", + "systemd-environment-d-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-environment-d-generator.html", + "systemd-fsck-root.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fsck-root.service.html", + "systemd-fsck-usr.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fsck-usr.service.html", + "systemd-fsck(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fsck.html", + "systemd-fsck@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fsck@.service.html", "systemd-fstab-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fstab-generator.html", - "systemd-networkd-wait-online.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html" + "systemd-getty-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-getty-generator.html", + "systemd-gpt-auto-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html", + "systemd-growfs-root.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-growfs-root.service.html", + "systemd-growfs(8)": "https://www.freedesktop.org/software/systemd/man/systemd-growfs.html", + "systemd-growfs@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-growfs@.service.html", + "systemd-halt.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-halt.service.html", + "systemd-hibernate-resume-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hibernate-resume-generator.html", + "systemd-hibernate-resume(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hibernate-resume.html", + "systemd-hibernate.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hibernate.service.html", + "systemd-homed(8)": "https://www.freedesktop.org/software/systemd/man/systemd-homed.html", + "systemd-hostnamed(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hostnamed.html", + "systemd-hwdb(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hwdb.html", + "systemd-hybrid-sleep.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-hybrid-sleep.service.html", + "systemd-importd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-importd.html", + "systemd-integritysetup-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-integritysetup-generator.html", + "systemd-integritysetup(8)": "https://www.freedesktop.org/software/systemd/man/systemd-integritysetup.html", + "systemd-integritysetup@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-integritysetup@.service.html", + "systemd-journal-gatewayd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.html", + "systemd-journal-gatewayd.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.socket.html", + "systemd-journal-remote(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.html", + "systemd-journal-remote.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.socket.html", + "systemd-journal-upload(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html", + "systemd-journald-audit.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald-audit.socket.html", + "systemd-journald-dev-log.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald-dev-log.socket.html", + "systemd-journald-varlink@.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald-varlink@.socket.html", + "systemd-journald(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald.html", + "systemd-journald.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald.socket.html", + "systemd-journald@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald@.service.html", + "systemd-journald@.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-journald@.socket.html", + "systemd-kexec.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-kexec.service.html", + "systemd-localed(8)": "https://www.freedesktop.org/software/systemd/man/systemd-localed.html", + "systemd-logind(8)": "https://www.freedesktop.org/software/systemd/man/systemd-logind.html", + "systemd-machine-id-commit.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-machine-id-commit.service.html", + "systemd-machined(8)": "https://www.freedesktop.org/software/systemd/man/systemd-machined.html", + "systemd-makefs(8)": "https://www.freedesktop.org/software/systemd/man/systemd-makefs.html", + "systemd-makefs@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-makefs@.service.html", + "systemd-mkswap@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-mkswap@.service.html", + "systemd-modules-load(8)": "https://www.freedesktop.org/software/systemd/man/systemd-modules-load.html", + "systemd-network-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-network-generator.html", + "systemd-networkd-wait-online(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.html", + "systemd-networkd-wait-online@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online@.service.html", + "systemd-networkd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd.html", + "systemd-oomd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-oomd.html", + "systemd-pcrfs-root.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrfs-root.service.html", + "systemd-pcrfs@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrfs@.service.html", + "systemd-pcrmachine.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrmachine.service.html", + "systemd-pcrphase-initrd.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrphase-initrd.service.html", + "systemd-pcrphase-sysinit.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrphase-sysinit.service.html", + "systemd-pcrphase(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pcrphase.html", + "systemd-portabled(8)": "https://www.freedesktop.org/software/systemd/man/systemd-portabled.html", + "systemd-poweroff.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-poweroff.service.html", + "systemd-pstore(8)": "https://www.freedesktop.org/software/systemd/man/systemd-pstore.html", + "systemd-random-seed(8)": "https://www.freedesktop.org/software/systemd/man/systemd-random-seed.html", + "systemd-reboot.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-reboot.service.html", + "systemd-remount-fs(8)": "https://www.freedesktop.org/software/systemd/man/systemd-remount-fs.html", + "systemd-repart(8)": "https://www.freedesktop.org/software/systemd/man/systemd-repart.html", + "systemd-repart.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-repart.service.html", + "systemd-resolved(8)": "https://www.freedesktop.org/software/systemd/man/systemd-resolved.html", + "systemd-rfkill(8)": "https://www.freedesktop.org/software/systemd/man/systemd-rfkill.html", + "systemd-rfkill.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-rfkill.socket.html", + "systemd-run-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-run-generator.html", + "systemd-shutdown(8)": "https://www.freedesktop.org/software/systemd/man/systemd-shutdown.html", + "systemd-sleep(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sleep.html", + "systemd-socket-proxyd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-socket-proxyd.html", + "systemd-soft-reboot.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-soft-reboot.service.html", + "systemd-suspend-then-hibernate.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-suspend-then-hibernate.service.html", + "systemd-suspend.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html", + "systemd-sysctl(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysctl.html", + "systemd-sysext(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysext.html", + "systemd-sysext.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysext.service.html", + "systemd-system-update-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-system-update-generator.html", + "systemd-sysupdate-reboot.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysupdate-reboot.service.html", + "systemd-sysupdate-reboot.timer(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysupdate-reboot.timer.html", + "systemd-sysupdate(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html", + "systemd-sysupdate.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.service.html", + "systemd-sysupdate.timer(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.timer.html", + "systemd-sysusers(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysusers.html", + "systemd-sysusers.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-sysusers.service.html", + "systemd-time-wait-sync(8)": "https://www.freedesktop.org/software/systemd/man/systemd-time-wait-sync.html", + "systemd-timedated(8)": "https://www.freedesktop.org/software/systemd/man/systemd-timedated.html", + "systemd-timesyncd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html", + "systemd-tmpfiles-clean.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles-clean.service.html", + "systemd-tmpfiles-clean.timer(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles-clean.timer.html", + "systemd-tmpfiles-setup-dev-early.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles-setup-dev-early.service.html", + "systemd-tmpfiles-setup-dev.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles-setup-dev.service.html", + "systemd-tmpfiles-setup.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles-setup.service.html", + "systemd-tmpfiles(8)": "https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.html", + "systemd-udev-settle.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-udev-settle.service.html", + "systemd-udevd-control.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-udevd-control.socket.html", + "systemd-udevd-kernel.socket(8)": "https://www.freedesktop.org/software/systemd/man/systemd-udevd-kernel.socket.html", + "systemd-udevd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-udevd.html", + "systemd-update-done(8)": "https://www.freedesktop.org/software/systemd/man/systemd-update-done.html", + "systemd-update-utmp-runlevel.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-update-utmp-runlevel.service.html", + "systemd-update-utmp(8)": "https://www.freedesktop.org/software/systemd/man/systemd-update-utmp.html", + "systemd-user-sessions(8)": "https://www.freedesktop.org/software/systemd/man/systemd-user-sessions.html", + "systemd-userdbd(8)": "https://www.freedesktop.org/software/systemd/man/systemd-userdbd.html", + "systemd-vconsole-setup(8)": "https://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.html", + "systemd-veritysetup-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-veritysetup-generator.html", + "systemd-veritysetup(8)": "https://www.freedesktop.org/software/systemd/man/systemd-veritysetup.html", + "systemd-veritysetup@.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-veritysetup@.service.html", + "systemd-volatile-root(8)": "https://www.freedesktop.org/software/systemd/man/systemd-volatile-root.html", + "systemd-xdg-autostart-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-xdg-autostart-generator.html", + "udevadm(8)": "https://www.freedesktop.org/software/systemd/man/udevadm.html" } diff --git a/maintainers/scripts/doc/list-systemd-manpages.zsh b/maintainers/scripts/doc/list-systemd-manpages.zsh new file mode 100755 index 000000000000..6737a4d3fef1 --- /dev/null +++ b/maintainers/scripts/doc/list-systemd-manpages.zsh @@ -0,0 +1,33 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i zsh -p zsh +set -euo pipefail + +# cd into nixpkgs' root, get the store path of `systemd.man` +cd "$(dirname "$0")/../../.." +SYSTEMD_MAN_DIR="$(nix-build -A systemd.man)/share/man" + +# For each manual section +for section in {1..8}; do + sec_dir="${SYSTEMD_MAN_DIR}/man${section}" + + # skip section 3 (library calls) + ! [[ $section -eq 3 ]] || continue + + # for each manpage in that section (potentially none) + for manpage in ${sec_dir}/*(N); do + # strip the directory prefix and (compressed) manpage suffix + page="$(basename "$manpage" ".${section}.gz")" + + # if this is the manpage of a service unit + if [[ "$page" =~ ".*\.service" ]]; then + # ... and a manpage exists without the `.service` suffix + potential_alias="${sec_dir}/${page%\.service}.${section}.gz" + ! [[ -e "${potential_alias}" && + # ... which points to the same file, then skip + "$(gunzip -c "${potential_alias}")" == ".so ${page}.${section}" ]] || continue + fi + + # else produce a JSON fragment, with the link to the upstream manpage (as HTML) + echo " \"${page}(${section})\": \"https://www.freedesktop.org/software/systemd/man/${page}.html\"," + done +done diff --git a/nixos/doc/manual/administration/nixos-state.section.md b/nixos/doc/manual/administration/nixos-state.section.md new file mode 100644 index 000000000000..9819d613198c --- /dev/null +++ b/nixos/doc/manual/administration/nixos-state.section.md @@ -0,0 +1,28 @@ +# NixOS {#sec-nixos-state} + +## `/nix` {#sec-state-nix} + +NixOS needs the entirety of `/nix` to be persistent, as it includes: +- `/nix/store`, which contains all the system's executables, libraries, and supporting data; +- `/nix/var/nix`, which contains: + - the Nix daemon's database; + - roots whose transitive closure is preserved when garbage-collecting the Nix store; + - system-wide and per-user profiles. + +## `/boot` {#sec-state-boot} + +`/boot` should also be persistent, as it contains: +- the kernel and initrd which the bootloader loads, +- the bootloader's configuration, including the kernel's command-line which + determines the store path to use as system environment. + + +## Users and groups {#sec-state-users} + +- `/var/lib/nixos` should persist: it holds state needed to generate stable + uids and gids for declaratively-managed users and groups, etc. +- `users.mutableUsers` should be false, *or* the following files under `/etc` + should all persist: + - {manpage}`passwd(5)` and {manpage}`group(5)`, + - {manpage}`shadow(5)` and {manpage}`gshadow(5)`, + - {manpage}`subuid(5)` and {manpage}`subgid(5)`. diff --git a/nixos/doc/manual/administration/running.md b/nixos/doc/manual/administration/running.md index 48e8c7c6668b..83412d9b7af5 100644 --- a/nixos/doc/manual/administration/running.md +++ b/nixos/doc/manual/administration/running.md @@ -8,6 +8,7 @@ rebooting.chapter.md user-sessions.chapter.md control-groups.chapter.md logging.chapter.md +system-state.chapter.md cleaning-store.chapter.md containers.chapter.md troubleshooting.chapter.md diff --git a/nixos/doc/manual/administration/system-state.chapter.md b/nixos/doc/manual/administration/system-state.chapter.md new file mode 100644 index 000000000000..6840cc390257 --- /dev/null +++ b/nixos/doc/manual/administration/system-state.chapter.md @@ -0,0 +1,17 @@ +# Necessary system state {#ch-system-state} + +Normally — on systems with a persistent `rootfs` — system services can persist state to +the filesystem without administrator intervention. + +However, it is possible and not-uncommon to create [impermanent systems], whose +`rootfs` is either a `tmpfs` or reset during boot. While NixOS itself supports +this kind of configuration, special care needs to be taken. + +[impermanent systems]: https://nixos.wiki/wiki/Impermanence + + +```{=include=} sections +nixos-state.section.md +systemd-state.section.md +zfs-state.section.md +``` diff --git a/nixos/doc/manual/administration/systemd-state.section.md b/nixos/doc/manual/administration/systemd-state.section.md new file mode 100644 index 000000000000..84f074871a65 --- /dev/null +++ b/nixos/doc/manual/administration/systemd-state.section.md @@ -0,0 +1,52 @@ +# systemd {#sec-systemd-state} + +## `machine-id(5)` {#sec-machine-id} + +`systemd` uses per-machine identifier — {manpage}`machine-id(5)` — which must be +unique and persistent; otherwise, the system journal may fail to list earlier +boots, etc. + +`systemd` generates a random `machine-id(5)` during boot if it does not already exist, +and persists it in `/etc/machine-id`. As such, it suffices to make that file persistent. + +Alternatively, it is possible to generate a random `machine-id(5)`; while the +specification allows for *any* hex-encoded 128b value, systemd itself uses +[UUIDv4], *i.e.* random UUIDs, and it is thus preferable to do so as well, in +case some software assumes `machine-id(5)` to be a UUIDv4. Those can be +generated with `uuidgen -r | tr -d -` (`tr` being used to remove the dashes). + +Such a `machine-id(5)` can be set by writing it to `/etc/machine-id` or through +the kernel's command-line, though NixOS' systemd maintainers [discourage] the +latter approach. + +[UUIDv4]: https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random) +[discourage]: https://github.com/NixOS/nixpkgs/pull/268995 + + +## `/var/lib/systemd` {#sec-var-systemd} + +Moreover, `systemd` expects its state directory — `/var/lib/systemd` — to persist, for: +- {manpage}`systemd-random-seed(8)`, which loads a 256b “seed” into the kernel's RNG + at boot time, and saves a fresh one during shutdown; +- {manpage}`systemd.timer(5)` with `Persistent=yes`, which are then run after boot if + the timer would have triggered during the time the system was shut down; +- {manpage}`systemd-coredump(8)` to store core dumps there by default; + (see {manpage}`coredump.conf(5)`) +- {manpage}`systemd-timesyncd(8)`; +- {manpage}`systemd-backlight(8)` and {manpage}`systemd-rfkill(8)` persist hardware-related + state; +- possibly other things, this list is not meant to be exhaustive. + +In any case, making `/var/lib/systemd` persistent is recommended. + + +## `/var/log/journal/{machine-id}` {#sec-var-journal} + +Lastly, {manpage}`systemd-journald(8)` writes the system's journal in binary +form to `/var/log/journal/{machine-id}`; if (locally) persisting the entire log +is desired, it is recommended to make all of `/var/log/journal` persistent. + +If not, one can set `Storage=volatile` in {manpage}`journald.conf(5)` +([`services.journald.storage = "volatile";`](#opt-services.journald.storage)), +which disables journal persistence and causes it to be written to +`/run/log/journal`. diff --git a/nixos/doc/manual/administration/zfs-state.section.md b/nixos/doc/manual/administration/zfs-state.section.md new file mode 100644 index 000000000000..11ad5badea7e --- /dev/null +++ b/nixos/doc/manual/administration/zfs-state.section.md @@ -0,0 +1,16 @@ +# ZFS {#sec-zfs-state} + +When using ZFS, `/etc/zfs/zpool.cache` should be persistent (or a symlink to a persistent +location) as it is the default value for the `cachefile` [property](man:zpoolprops(7)). + +This cachefile is used on system startup to discover ZFS pools, so ZFS pools +holding the `rootfs` and/or early-boot datasets such as `/nix` can be set to +`cachefile=none`. + +In principle, if there are no other pools attached to the system, `zpool.cache` +does not need to be persisted; it is however *strongly recommended* to persist +it, in case additional pools are added later on, temporarily or permanently: + +While mishandling the cachefile does not lead to data loss by itself, it may +cause zpools not to be imported during boot, and services may then write to a +location where a dataset was expected to be mounted.