diff --git a/LICENSES/README.md b/LICENSES/README.md index 2f825c44be..69ef2d6315 100644 --- a/LICENSES/README.md +++ b/LICENSES/README.md @@ -48,6 +48,7 @@ The following exceptions apply: - src/systemctl/systemd-sysv-install.SKELETON - tools/check-includes.pl - all examples under man/ + - config files and examples under /network * the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain): - src/basic/MurmurHash2.c - src/basic/MurmurHash2.h diff --git a/NEWS b/NEWS index 48c81105b5..ad8244095b 100644 --- a/NEWS +++ b/NEWS @@ -10699,7 +10699,7 @@ CHANGES WITH 211: also supports LUKS-encrypted partitions now. With this in place, automatic discovery of partitions to mount following the Discoverable Partitions Specification - (https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec) + (https://systemd.io/DISCOVERABLE_PARTITIONS/) is now a lot more complete. This allows booting without /etc/fstab and without root= on the kernel command line on systems prepared appropriately. @@ -12204,7 +12204,7 @@ CHANGES WITH 198: only in conjunction with Gummiboot, but could be supported by other boot loaders too. For details see: - https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface + https://systemd.io/BOOT_LOADER_INTERFACE * A new generator has been added that automatically mounts the EFI System Partition (ESP) to /boot, if that directory @@ -12280,7 +12280,7 @@ CHANGES WITH 198: * A new tool kernel-install has been added that can install kernel images according to the Boot Loader Specification: - https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec + https://systemd.io/BOOT_LOADER_SPECIFICATION * Boot time console output has been improved to provide animated boot time output for hanging jobs. @@ -12370,7 +12370,7 @@ CHANGES WITH 197: of these policies is now the default. Please see this wiki document for details: - https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames + https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html * Auke Kok's bootchart implementation has been added to the systemd tree. It is an optional component that can graph the @@ -13369,7 +13369,7 @@ CHANGES WITH 183: * A framework for implementing offline system updates is now integrated, for details see: - https://www.freedesktop.org/wiki/Software/systemd/SystemUpdates + https://www.freedesktop.org/software/systemd/man/systemd.offline-updates.html * A new service type Type=idle is available now which helps us avoiding ugly interleaving of getty output and boot status @@ -13737,7 +13737,7 @@ CHANGES WITH 38: * Processes with '@' in argv[0][0] are now excluded from the final shut-down killing spree, following the logic explained in: - https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons + https://systemd.io/ROOT_STORAGE_DAEMONS/ * All processes remaining in a service cgroup when we enter the START or START_PRE states are now killed with diff --git a/README b/README index 6d5b91bbb2..f47a884542 100644 --- a/README +++ b/README @@ -1,10 +1,7 @@ systemd System and Service Manager -DETAILS: - http://0pointer.de/blog/projects/systemd.html - WEB SITE: - https://www.freedesktop.org/wiki/Software/systemd + https://systemd.io GIT: git@github.com:systemd/systemd.git @@ -19,6 +16,11 @@ IRC: BUG REPORTS: https://github.com/systemd/systemd/issues +OLDER DOCUMENTATION: + + http://0pointer.de/blog/projects/systemd.html + https://www.freedesktop.org/wiki/Software/systemd + AUTHOR: Lennart Poettering Kay Sievers diff --git a/TODO b/TODO index d00e56eca4..6717a5b769 100644 --- a/TODO +++ b/TODO @@ -813,7 +813,7 @@ Features: Note that we start initrd-fs.target and initrd-cleanup.target there, so a straightforward ConditionPathExists= is not enough. -* docs: bring http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date +* docs: bring https://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date * add a job mode that will fail if a transaction would mean stopping running units. Use this in timedated to manage the NTP service diff --git a/docs/CONTAINER_INTERFACE.md b/docs/CONTAINER_INTERFACE.md index 57036e622e..6607f52200 100644 --- a/docs/CONTAINER_INTERFACE.md +++ b/docs/CONTAINER_INTERFACE.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later # The Container Interface Also consult [Writing Virtual Machine or Container -Managers](http://www.freedesktop.org/wiki/Software/systemd/writing-vm-managers). +Managers](https://www.freedesktop.org/wiki/Software/systemd/writing-vm-managers). systemd has a number of interfaces for interacting with container managers, when systemd is used inside of an OS container. If you work on a container diff --git a/docs/DISCOVERABLE_PARTITIONS.md b/docs/DISCOVERABLE_PARTITIONS.md index ca4c6ca810..b375106afd 100644 --- a/docs/DISCOVERABLE_PARTITIONS.md +++ b/docs/DISCOVERABLE_PARTITIONS.md @@ -31,8 +31,8 @@ for specific uses. This has many benefits: descriptive information about partitions tables. Note that the OS side of this specification is currently implemented in -[systemd](http://systemd.io/) 211 and newer in the -[systemd-gpt-auto-generator(8)](http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html) +[systemd](https://systemd.io/) 211 and newer in the +[systemd-gpt-auto-generator(8)](https://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html) generator tool. Note that automatic discovery of the root only works if the boot loader communicates this information to the OS, by implementing the [Boot Loader @@ -164,7 +164,7 @@ Other GPT type IDs might be used on Linux, for example to mark software RAID or LVM partitions. The definitions of those GPT types is outside of the scope of this specification. -[systemd-id128(1)](http://www.freedesktop.org/software/systemd/man/systemd-id128.html)'s +[systemd-id128(1)](https://www.freedesktop.org/software/systemd/man/systemd-id128.html)'s `show` command may be used to list those GPT partition type UUIDs. ## Partition Names diff --git a/docs/JOURNAL_EXPORT_FORMATS.md b/docs/JOURNAL_EXPORT_FORMATS.md new file mode 100644 index 0000000000..441872b088 --- /dev/null +++ b/docs/JOURNAL_EXPORT_FORMATS.md @@ -0,0 +1,156 @@ +--- +title: Journal Export Format +category: Interfaces +layout: default +SPDX-License-Identifier: LGPL-2.1-or-later +--- + +# Journal Export Format + +_Note that this document describes the binary serialization format of journals only, as used for transfer across the network. +For interfacing with web technologies there's the Journal JSON Format, described below. +The binary format on disk is documented as the [Journal File Format](https://systemd.io/JOURNAL_FILE_FORMAT/)._ + +_Before reading on, please make sure you are aware of the [basic properties of journal entries](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), in particular realize that they may include binary non-text data (though usually don't), and the same field might have multiple values assigned within the same entry (though usually hasn't)._ + +When exporting journal data for other uses or transferring it via the network/local IPC the _journal export format_ is used. It's a simple serialization of journal entries, that is easy to read without any special tools, but still binary safe where necessary. The format is like this: + +* Two journal entries that follow each other are separated by a double newline. +* Journal fields consisting only of valid non-control UTF-8 codepoints are serialized as they are (i.e. the field name, followed by '=', followed by field data), followed by a newline as separator to the next field. Note that fields containing newlines cannot be formatted like this. Non-control UTF-8 codepoints are the codepoints with value at or above 32 (' '), or equal to 9 (TAB). +* Other journal fields are serialized in a special binary safe way: field name, followed by newline, followed by a binary 64bit little endian size value, followed by the binary field data, followed by a newline as separator to the next field. +* Entry metadata that is not actually a field is serialized like it was a field, but beginning with two underscores. More specifically, `__CURSOR=`, `__REALTIME_TIMESTAMP=`, `__MONOTONIC_TIMESTAMP=` are introduced this way. Note that these meta-fields are only generated when actual journal files are serialized. They are omitted for entries that do not originate from a journal file (for example because they are transferred for the first time to be stored in one). Or in other words: if you are generating this format you shouldn't care about these special double-underscore fields. But you might find them usable when you deserialize the format generated by us. Additional fields prefixed with two underscores might be added later on, your parser should skip over the fields it does not know. +* The order in which fields appear in an entry is undefined and might be different for each entry that is serialized. +And that's already it. + +This format can be generated via `journalctl -o export`. + +Here's an example for two serialized entries which consist only of text data: + +``` +__CURSOR=s=739ad463348b4ceca5a9e69c95a3c93f;i=4ece7;b=6c7c6013a26343b29e964691ff25d04c;m=4fc72436e;t=4c508a72423d9;x=d3e5610681098c10;p=system.journal +__REALTIME_TIMESTAMP=1342540861416409 +__MONOTONIC_TIMESTAMP=21415215982 +_BOOT_ID=6c7c6013a26343b29e964691ff25d04c +_TRANSPORT=syslog +PRIORITY=4 +SYSLOG_FACILITY=3 +SYSLOG_IDENTIFIER=gdm-password] +SYSLOG_PID=587 +MESSAGE=AccountsService-DEBUG(+): ActUserManager: ignoring unspecified session '8' since it's not graphical: Success +_PID=587 +_UID=0 +_GID=500 +_COMM=gdm-session-wor +_EXE=/usr/libexec/gdm-session-worker +_CMDLINE=gdm-session-worker [pam/gdm-password] +_AUDIT_SESSION=2 +_AUDIT_LOGINUID=500 +_SYSTEMD_CGROUP=/user/lennart/2 +_SYSTEMD_SESSION=2 +_SELINUX_CONTEXT=system_u:system_r:xdm_t:s0-s0:c0.c1023 +_SOURCE_REALTIME_TIMESTAMP=1342540861413961 +_MACHINE_ID=a91663387a90b89f185d4e860000001a +_HOSTNAME=epsilon + +__CURSOR=s=739ad463348b4ceca5a9e69c95a3c93f;i=4ece8;b=6c7c6013a26343b29e964691ff25d04c;m=4fc72572f;t=4c508a7243799;x=68597058a89b7246;p=system.journal +__REALTIME_TIMESTAMP=1342540861421465 +__MONOTONIC_TIMESTAMP=21415221039 +_BOOT_ID=6c7c6013a26343b29e964691ff25d04c +_TRANSPORT=syslog +PRIORITY=6 +SYSLOG_FACILITY=9 +SYSLOG_IDENTIFIER=/USR/SBIN/CROND +SYSLOG_PID=8278 +MESSAGE=(root) CMD (run-parts /etc/cron.hourly) +_PID=8278 +_UID=0 +_GID=0 +_COMM=run-parts +_EXE=/usr/bin/bash +_CMDLINE=/bin/bash /bin/run-parts /etc/cron.hourly +_AUDIT_SESSION=8 +_AUDIT_LOGINUID=0 +_SYSTEMD_CGROUP=/user/root/8 +_SYSTEMD_SESSION=8 +_SELINUX_CONTEXT=system_u:system_r:crond_t:s0-s0:c0.c1023 +_SOURCE_REALTIME_TIMESTAMP=1342540861416351 +_MACHINE_ID=a91663387a90b89f185d4e860000001a +_HOSTNAME=epsilon + +``` + +A message with a binary field produced by +```bash +python3 -c 'from systemd import journal; journal.send("foo\nbar")' +journalctl -n1 -o export +``` + +``` +__CURSOR=s=bcce4fb8ffcb40e9a6e05eee8b7831bf;i=5ef603;b=ec25d6795f0645619ddac9afdef453ee;m=545242e7049;t=50f1202 +__REALTIME_TIMESTAMP=1423944916375353 +__MONOTONIC_TIMESTAMP=5794517905481 +_BOOT_ID=ec25d6795f0645619ddac9afdef453ee +_TRANSPORT=journal +_UID=1001 +_GID=1001 +_CAP_EFFECTIVE=0 +_SYSTEMD_OWNER_UID=1001 +_SYSTEMD_SLICE=user-1001.slice +_MACHINE_ID=5833158886a8445e801d437313d25eff +_HOSTNAME=bupkis +_AUDIT_LOGINUID=1001 +_SELINUX_CONTEXT=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 +CODE_LINE=1 +CODE_FUNC= +SYSLOG_IDENTIFIER=python3 +_COMM=python3 +_EXE=/usr/bin/python3.4 +_AUDIT_SESSION=35898 +_SYSTEMD_CGROUP=/user.slice/user-1001.slice/session-35898.scope +_SYSTEMD_SESSION=35898 +_SYSTEMD_UNIT=session-35898.scope +MESSAGE +^G^@^@^@^@^@^@^@foo +bar +CODE_FILE= +_PID=16853 +_CMDLINE=python3 -c from systemd import journal; journal.send("foo\nbar") +_SOURCE_REALTIME_TIMESTAMP=1423944916372858 +``` + +# Journal JSON Format + +_Note that this section describes the JSON serialization format of the journal only, as used for interfacing with web technologies. +For binary transfer of journal data across the network there's the Journal Export Format described above. +The binary format on disk is documented as [Journal File Format](https://systemd.io/JOURNAL_FILE_FORMAT)._ + +_Before reading on, please make sure you are aware of the [basic properties of journal entries](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), in particular realize that they may include binary non-text data (though usually don't), and the same field might have multiple values assigned within the same entry (though usually hasn't)._ + +In most cases the Journal JSON serialization is the obvious mapping of the entry field names (as JSON strings) to the entry field values (also as JSON strings) encapsulated in one JSON object. However, there are a few special cases to handle: + +* A field that contains non-printable or non-UTF8 is serialized as a number array instead. This is necessary to handle binary data in a safe way without losing data, since JSON cannot embed binary data natively. Each byte of the binary field will be mapped to its numeric value in the range 0…255. +* The JSON serializer can optionally skip huge (as in larger than a specific threshold) data fields from the JSON object. If that is enabled and a data field is too large, the field name is still included in the JSON object but assigned _null_. +* Within the same entry, Journal fields may have multiple values assigned. This is not allowed in JSON. The serializer will hence create a single JSON field only for these cases, and assign it an array of values (which the can be strings, _null_ or number arrays, see above). +* If the JSON data originates from a journal file it may include the special addressing fields `__CURSOR`, `__REALTIME_TIMESTAMP`, `__MONOTONIC_TIMESTAMP`, which contain the cursor string of this entry as string, and the realtime/monotonic timestamps of this entry as formatted numeric string of usec since the respective epoch. + +Here's an example, illustrating all cases mentioned above. Consider this entry: + +``` +MESSAGE=Hello World +_UDEV_DEVNODE=/dev/waldo +_UDEV_DEVLINK=/dev/alias1 +_UDEV_DEVLINK=/dev/alias2 +BINARY=this is a binary value \a +LARGE=this is a super large value (let's pretend at least, for the sake of this example) +``` + +This translates into the following JSON Object: +```json +{ + "MESSAGE" : "Hello World", + "_UDEV_DEVNODE" : "/dev/waldo", + "_UDEV_DEVLINK" : [ "/dev/alias1", "/dev/alias2" ], + "BINARY" : [ 116, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 105, 110, 97, 114, 121, 32, 118, 97, 108, 117, 101, 32, 7 ], + "LARGE" : null +} +``` diff --git a/docs/JOURNAL_FILE_FORMAT.md b/docs/JOURNAL_FILE_FORMAT.md index 2bfc7a10ca..f9c9fcb314 100644 --- a/docs/JOURNAL_FILE_FORMAT.md +++ b/docs/JOURNAL_FILE_FORMAT.md @@ -7,11 +7,9 @@ SPDX-License-Identifier: LGPL-2.1-or-later # Journal File Format -_Note that this document describes the binary on-disk format of journals -only. For interfacing with web technologies there's the [Journal JSON -Format](http://www.freedesktop.org/wiki/Software/systemd/json). For transfer -of journal data across the network there's the [Journal Export -Format](http://www.freedesktop.org/wiki/Software/systemd/export)._ +_Note that this document describes the binary on-disk format of journals only. +For interfacing with web technologies there's the [Journal JSON Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format). +For transfer of journal data across the network there's the [Journal Export Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format)._ The systemd journal stores log data in a binary format with several features: @@ -32,30 +30,30 @@ keep this document up-to-date and accurate. Instead of implementing your own reader or writer for journal files we ask you to use the [Journal's native C -API](http://www.freedesktop.org/software/systemd/man/sd-journal.html) to access +API](https://www.freedesktop.org/software/systemd/man/sd-journal.html) to access these files. It provides you with full access to the files, and will not withhold any data. If you find a limitation, please ping us and we might add some additional interfaces for you. If you need access to the raw journal data in serialized stream form without C API our recommendation is to make use of the [Journal Export -Format](http://www.freedesktop.org/wiki/Software/systemd/export), which you can -get via "journalctl -o export" or via systemd-journal-gatewayd. The export +Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format), which you can +get via `journalctl -o export` or via `systemd-journal-gatewayd`. The export format is much simpler to parse, but complete and accurate. Due to its stream-based nature it is not indexed. _Or, to put this in other words: this low-level document is probably not what you want to use as base of your project. You want our [C -API](http://www.freedesktop.org/software/systemd/man/sd-journal.html) instead! +API](https://www.freedesktop.org/software/systemd/man/sd-journal.html) instead! And if you really don't want the C API, then you want the [Journal Export -Format](http://www.freedesktop.org/wiki/Software/systemd/export) instead! This -document is primarily for your entertainment and education. Thank you!_ +Format or Journal JSON Format](https://systemd.io/JOURNAL_EXPORT_FORMATS) instead! +This document is primarily for your entertainment and education. Thank you!_ This document assumes you have a basic understanding of the journal concepts, the properties of a journal entry and so on. If not, please go and read up, then come back! This is a good opportunity to read about the [basic properties of journal -entries](http://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), +entries](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), in particular realize that they may include binary non-text data (though usually don't), and the same field might have multiple values assigned within the same entry. diff --git a/docs/PORTABILITY_AND_STABILITY.md b/docs/PORTABILITY_AND_STABILITY.md index 674fe89b94..bfe5b6aa89 100644 --- a/docs/PORTABILITY_AND_STABILITY.md +++ b/docs/PORTABILITY_AND_STABILITY.md @@ -100,7 +100,8 @@ And now, here's the list of (hopefully) all APIs that we have introduced with sy | [Network](https://www.freedesktop.org/software/systemd/man/systemd.network.html) & [Netdev file format](https://www.freedesktop.org/software/systemd/man/systemd.netdev.html) | File format | yes | yes | no | no | - | no | | [Link file format](https://www.freedesktop.org/software/systemd/man/systemd.link.html) | File format | yes | yes | no | no | - | no | | [Journal File Format](https://systemd.io/JOURNAL_FILE_FORMAT) | File format | yes | yes | - | maybe | - | no | -| [Journal Export Format](https://www.freedesktop.org/wiki/Software/systemd/export) | File format | yes | yes | - | yes | - | no | +| [Journal Export Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format) | File format | yes | yes | - | yes | - | no | +| [Journal JSON Format](https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format) | File format | yes | yes | - | yes | - | no | | [Cooperation in cgroup tree](https://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups) | Treaty | yes | yes | libvirt | yes | libvirt | no | | [Password Agents](https://systemd.io/PASSWORD_AGENTS) | Socket+Files | yes | yes | - | yes | - | no | | [udev multi-seat properties](https://www.freedesktop.org/software/systemd/man/sd-login.html) | udev Property | yes | yes | X11, gdm | no | - | no | diff --git a/docs/PREDICTABLE_INTERFACE_NAMES.md b/docs/PREDICTABLE_INTERFACE_NAMES.md index ae16d7211d..ffc681bda4 100644 --- a/docs/PREDICTABLE_INTERFACE_NAMES.md +++ b/docs/PREDICTABLE_INTERFACE_NAMES.md @@ -62,7 +62,7 @@ Does this have any drawbacks? Yes, it does. Previously it was practically guaran You basically have three options: 1. You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's .link file for the default policy: `ln -s /dev/null /etc/systemd/network/99-default.link` -1. You create your own manual naming scheme, for example by naming your interfaces `internet0`, `dmz0` or `lan0`. For that create your own `.link` files in `/etc/systemd/network/`, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See [systemd.link(5)](http://www.freedesktop.org/software/systemd/man/systemd.link.html) for more information. +1. You create your own manual naming scheme, for example by naming your interfaces `internet0`, `dmz0` or `lan0`. For that create your own `.link` files in `/etc/systemd/network/`, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See [systemd.link(5)](https://www.freedesktop.org/software/systemd/man/systemd.link.html) for more information. 1. You pass the `net.ifnames=0` on the kernel command line ## How does the new naming scheme look like, precisely? diff --git a/docs/_config.yml b/docs/_config.yml index d543031261..412db1f413 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later title: systemd baseurl: "" # the subpath of your site, e.g. /blog/ -url: "http://systemd.io" # the base hostname & protocol for your site +url: "https://systemd.io" # the base hostname & protocol for your site permalink: /:title/ diff --git a/man/journalctl.xml b/man/journalctl.xml index 4be2ed3476..9e784f3d3c 100644 --- a/man/journalctl.xml +++ b/man/journalctl.xml @@ -301,7 +301,7 @@ serializes the journal into a binary (but mostly text-based) stream suitable for backups and network transfer (see - Journal Export Format + Journal Export Format for more information). To import the binary stream back into native journald format use systemd-journal-remote8. @@ -314,7 +314,7 @@ formats entries as JSON objects, separated by newline characters (see Journal JSON Format for more + url="https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format">Journal JSON Format for more information). Field values are generally encoded as JSON strings, with three exceptions: Fields larger than 4096 bytes are encoded as null values. (This diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml index a301879ff7..d25287b18b 100644 --- a/man/org.freedesktop.login1.xml +++ b/man/org.freedesktop.login1.xml @@ -621,7 +621,7 @@ node /org/freedesktop/login1 { whether the inhibit shall be consider mandatory or whether it should just delay the operation to a certain maximum time. The method returns a file descriptor. The lock is released the moment this file descriptor and all its duplicates are closed. For more information on the inhibition logic see - Inhibitor Locks. + Inhibitor Locks. @@ -644,7 +644,7 @@ node /org/freedesktop/login1 { that should be done shortly before shutdown/sleep, in conjunction with delay inhibitor locks. After completion of this work they should release their inhibition locks in order to not delay the operation any further. For more information see - Inhibitor Locks. + Inhibitor Locks. diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml index 31485935a4..b433f2066c 100644 --- a/man/org.freedesktop.systemd1.xml +++ b/man/org.freedesktop.systemd1.xml @@ -1427,7 +1427,7 @@ node /org/freedesktop/systemd1 { properties contains properties of the unit, specified like in SetUnitProperties(). aux is currently unused and should be passed as an empty array. See the - New Control Group + New Control Group Interface for more information how to make use of this functionality for resource control purposes. diff --git a/man/sd_bus_set_description.xml b/man/sd_bus_set_description.xml index ce6b8d387d..0c38c16128 100644 --- a/man/sd_bus_set_description.xml +++ b/man/sd_bus_set_description.xml @@ -141,7 +141,7 @@ specification, informing the receiving side that the caller is prepared to wait for interactive authorization, which might take a considerable time to complete. If this flag is set, the user may be queried for passwords or confirmation via - polkit or a similar + polkit or a similar framework. sd_bus_get_allow_interactive_authorization() returns true if diff --git a/man/systemd-coredump.xml b/man/systemd-coredump.xml index bb84cf5f93..cb9f47745b 100644 --- a/man/systemd-coredump.xml +++ b/man/systemd-coredump.xml @@ -79,7 +79,7 @@ It is also possible to invoke systemd-coredump with option. In this case, systemd-coredump expects a journal entry in the journal - Journal Export Format + Journal Export Format on standard input. The entry should contain a MESSAGE= field and any additional metadata fields the caller deems reasonable. systemd-coredump will append additional metadata fields in the same way it does for core dumps received from the kernel. In this mode, no core diff --git a/man/systemd-journal-gatewayd.service.xml b/man/systemd-journal-gatewayd.service.xml index 5f4a0dbeff..609d05037f 100644 --- a/man/systemd-journal-gatewayd.service.xml +++ b/man/systemd-journal-gatewayd.service.xml @@ -212,9 +212,8 @@ Entries are formatted as JSON data structures, one per line (like journalctl --output json). - See Journal - JSON Format for more information. + See Journal JSON Format + for more information. @@ -233,13 +232,10 @@ application/vnd.fdo.journal - Entries are serialized into a binary (but - mostly text-based) stream suitable for backups and network - transfer - (like journalctl --output export). - See Journal - Export Format for more information. + Entries are serialized into a binary (but mostly text-based) stream suitable for + backups and network transfer (like journalctl --output export). See Journal Export Format + for more information. @@ -303,10 +299,8 @@ Examples - Retrieve events from this boot from local journal - in Journal - Export Format: + Retrieve events from this boot from local journal in + Journal Export Format: curl --silent -H'Accept: application/vnd.fdo.journal' \ 'http://localhost:19531/entries?boot' diff --git a/man/systemd-journal-remote.service.xml b/man/systemd-journal-remote.service.xml index bea0936d66..e66e0f1e9c 100644 --- a/man/systemd-journal-remote.service.xml +++ b/man/systemd-journal-remote.service.xml @@ -42,7 +42,7 @@ systemd-journal-remote is a command to receive serialized journal events and store them to journal files. Input streams are in the - Journal Export Format, + Journal Export Format, i.e. like the output from journalctl --output=export. For transport over the network, this serialized stream is usually carried over an HTTPS connection. diff --git a/man/systemd-logind.service.xml b/man/systemd-logind.service.xml index 746c9163b4..0bffbbb381 100644 --- a/man/systemd-logind.service.xml +++ b/man/systemd-logind.service.xml @@ -43,7 +43,7 @@ used. Providing polkit-based + url="https://www.freedesktop.org/wiki/Software/polkit">polkit-based access for users for operations such as system shutdown or sleep @@ -92,7 +92,7 @@ Writing Display Managers. If you are interested in writing a desktop environment that makes use of logind, please have look at - Writing + Writing Desktop Environments. diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml index 554b517235..241d60f673 100644 --- a/man/systemd.journal-fields.xml +++ b/man/systemd.journal-fields.xml @@ -515,11 +515,10 @@ Address Fields During serialization into external formats, such as the - Journal - Export Format or the Journal - JSON Format, the addresses of journal entries are + Journal Export Format + or the + Journal JSON Format, + the addresses of journal entries are serialized into fields prefixed with double underscores. Note that these are not proper fields when stored in the journal but for addressing metadata of entries. They cannot be written as part of diff --git a/network/80-6rd-tunnel.network b/network/80-6rd-tunnel.network index 2e479eb1ac..6b9748a072 100644 --- a/network/80-6rd-tunnel.network +++ b/network/80-6rd-tunnel.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-6rd-tunnel.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches 6rd-* SIT devices which is automatically created by # systemd-networkd when DHCPv4 6RD option is received. diff --git a/network/80-container-host0.network b/network/80-container-host0.network index a8e683455b..da92b6bd00 100644 --- a/network/80-container-host0.network +++ b/network/80-container-host0.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-container-host0.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches the container-side of the virtual Ethernet link # created by systemd-nspawn's --network-veth switch. See systemd-nspawn(1) for diff --git a/network/80-container-vb.network b/network/80-container-vb.network index 37f43c6543..9908f87580 100644 --- a/network/80-container-vb.network +++ b/network/80-container-vb.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-container-vb.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches the host-side of the virtual Ethernet link # created by systemd-nspawn's --network-veth switch with --network-bridge or diff --git a/network/80-container-ve.network b/network/80-container-ve.network index 0c233bc8e0..10441a571c 100644 --- a/network/80-container-ve.network +++ b/network/80-container-ve.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-container-ve.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches the host-side of the virtual Ethernet link # created by systemd-nspawn's --network-veth switch. See systemd-nspawn(1) for diff --git a/network/80-container-vz.network b/network/80-container-vz.network index 1c58f7d508..6861fe7dff 100644 --- a/network/80-container-vz.network +++ b/network/80-container-vz.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-container-vz.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches the bridge interface created by systemd-nspawn's # --network-zone= switch. See systemd-nspawn(1) for details. diff --git a/network/80-ethernet.network.example b/network/80-ethernet.network.example new file mode 100644 index 0000000000..30c710098b --- /dev/null +++ b/network/80-ethernet.network.example @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: CC0-1.0 +# +# This example config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# +# To use the file, one of the following methods may be used: +# 1. add a symlink from /etc/systemd/network to the current location of this file, +# 2. copy the file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. + +# Enable DHCPv4 and DHCPv6 on all ethernet links +[Match] +Type=ether + +[Network] +DHCP=yes diff --git a/network/80-vm-vt.network b/network/80-vm-vt.network index e8365df31e..f1cb60fd1b 100644 --- a/network/80-vm-vt.network +++ b/network/80-vm-vt.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-vm-vt.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. # This network file matches vt-* TUN/TAP devices and applies a similar # configuration as ve-* to provide NAT/DHCP to VMs. diff --git a/network/80-wifi-adhoc.network b/network/80-wifi-adhoc.network index c0c388f165..3d5ba3cad5 100644 --- a/network/80-wifi-adhoc.network +++ b/network/80-wifi-adhoc.network @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/80-wifi-adhoc.network.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. [Match] Type=wlan diff --git a/network/80-wifi-ap.network.example b/network/80-wifi-ap.network.example index 8549387672..d866f79005 100644 --- a/network/80-wifi-ap.network.example +++ b/network/80-wifi-ap.network.example @@ -1,3 +1,14 @@ +# SPDX-License-Identifier: CC0-1.0 +# +# This example config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# +# To use the file, one of the following methods may be used: +# 1. add a symlink from /etc/systemd/network to the current location of this file, +# 2. copy the file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. + [Match] Type=wlan WLANInterfaceType=ap diff --git a/network/80-wifi-station.network.example b/network/80-wifi-station.network.example index 1fb28a1b07..a1cd3530e4 100644 --- a/network/80-wifi-station.network.example +++ b/network/80-wifi-station.network.example @@ -1,3 +1,14 @@ +# SPDX-License-Identifier: CC0-1.0 +# +# This example config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). +# +# To use the file, one of the following methods may be used: +# 1. add a symlink from /etc/systemd/network to the current location of this file, +# 2. copy the file into /etc/systemd/network or one of the other paths checked +# by systemd-networkd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. + [Match] Type=wlan WLANInterfaceType=station diff --git a/network/99-default.link b/network/99-default.link index bca660ac28..dad91bb1a2 100644 --- a/network/99-default.link +++ b/network/99-default.link @@ -1,11 +1,15 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-License-Identifier: CC0-1.0 # -# This file is part of systemd. +# This config file is installed as part of systemd. +# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License). # -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. +# To make local modifications, one of the following methods may be used: +# 1. add a drop-in file that extends this file by creating the +# /etc/systemd/network/99-default.link.d/ directory and creating a +# new .conf file there. +# 2. copy this file into /etc/systemd/network or one of the other paths checked +# by systemd-udevd and edit it there. +# This file should not be edited in place, because it'll be overwritten on upgrades. [Match] OriginalName=* diff --git a/network/meson.build b/network/meson.build index f4ae2194d0..4c6de20515 100644 --- a/network/meson.build +++ b/network/meson.build @@ -5,6 +5,7 @@ if conf.get('ENABLE_NETWORKD') == 1 '80-container-host0.network', '80-container-ve.network', '80-container-vz.network', + '80-ethernet.network.example', '80-vm-vt.network', '80-wifi-adhoc.network', '80-wifi-ap.network.example', diff --git a/src/core/org.freedesktop.systemd1.policy.in b/src/core/org.freedesktop.systemd1.policy.in index 74721c516f..f34b2d5bf0 100644 --- a/src/core/org.freedesktop.systemd1.policy.in +++ b/src/core/org.freedesktop.systemd1.policy.in @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Send passphrase back to system diff --git a/src/home/org.freedesktop.home1.policy b/src/home/org.freedesktop.home1.policy index 10ad7c283a..71253e04e9 100644 --- a/src/home/org.freedesktop.home1.policy +++ b/src/home/org.freedesktop.home1.policy @@ -7,7 +7,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Create a home area diff --git a/src/hostname/org.freedesktop.hostname1.policy b/src/hostname/org.freedesktop.hostname1.policy index 7d28c395cf..dacea0ff0a 100644 --- a/src/hostname/org.freedesktop.hostname1.policy +++ b/src/hostname/org.freedesktop.hostname1.policy @@ -14,7 +14,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Set hostname diff --git a/src/import/org.freedesktop.import1.policy b/src/import/org.freedesktop.import1.policy index 9736816e33..e88a6e8ae6 100644 --- a/src/import/org.freedesktop.import1.policy +++ b/src/import/org.freedesktop.import1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Import a VM or container image diff --git a/src/locale/org.freedesktop.locale1.policy b/src/locale/org.freedesktop.locale1.policy index f12ca0970a..ed98c4aa09 100644 --- a/src/locale/org.freedesktop.locale1.policy +++ b/src/locale/org.freedesktop.locale1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Set system locale diff --git a/src/login/org.freedesktop.login1.policy b/src/login/org.freedesktop.login1.policy index 80ebb39f30..df906b0e73 100644 --- a/src/login/org.freedesktop.login1.policy +++ b/src/login/org.freedesktop.login1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Allow applications to inhibit system shutdown diff --git a/src/machine/org.freedesktop.machine1.policy b/src/machine/org.freedesktop.machine1.policy index ddf5ec05c6..5e43cb6e24 100644 --- a/src/machine/org.freedesktop.machine1.policy +++ b/src/machine/org.freedesktop.machine1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Log into a local container diff --git a/src/network/org.freedesktop.network1.policy b/src/network/org.freedesktop.network1.policy index 9e27f728bc..c39f20655d 100644 --- a/src/network/org.freedesktop.network1.policy +++ b/src/network/org.freedesktop.network1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Set NTP servers diff --git a/src/portable/org.freedesktop.portable1.policy b/src/portable/org.freedesktop.portable1.policy index 17e22b0155..09f9028dc5 100644 --- a/src/portable/org.freedesktop.portable1.policy +++ b/src/portable/org.freedesktop.portable1.policy @@ -7,7 +7,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Inspect a portable service image diff --git a/src/resolve/org.freedesktop.resolve1.policy b/src/resolve/org.freedesktop.resolve1.policy index 08615ec6a4..2408bb9e38 100644 --- a/src/resolve/org.freedesktop.resolve1.policy +++ b/src/resolve/org.freedesktop.resolve1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Register a DNS-SD service diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c index f5a2cb20c1..ed45ea9edb 100644 --- a/src/shutdown/umount.c +++ b/src/shutdown/umount.c @@ -522,7 +522,7 @@ static int remount_with_timeout(MountPoint *m, int umount_log_level) { if (r < 0) return r; if (r == 0) { - log_info("Remounting '%s' read-only with options '%s'.", m->path, strna(m->remount_options)); + log_info("Remounting '%s' read-only with options '%s'.", m->path, strempty(m->remount_options)); /* Start the mount operation here in the child */ r = mount(NULL, m->path, NULL, m->remount_flags, m->remount_options); diff --git a/src/timedate/org.freedesktop.timedate1.policy b/src/timedate/org.freedesktop.timedate1.policy index c4e71b0753..4a770c08e6 100644 --- a/src/timedate/org.freedesktop.timedate1.policy +++ b/src/timedate/org.freedesktop.timedate1.policy @@ -16,7 +16,7 @@ The systemd Project - http://www.freedesktop.org/wiki/Software/systemd + https://systemd.io Set system time