NEWS: reword/fix/extend the entries for v254
This commit is contained in:
@@ -4,12 +4,12 @@ CHANGES WITH 254 in spe:
|
||||
|
||||
Announcements of Future Feature Removals and Incompatible Changes:
|
||||
|
||||
* We intend to remove cgroup v1 support from a systemd release after the
|
||||
end of 2023. If you run services that make explicit use of cgroup v1
|
||||
features (i.e. the "legacy hierarchy" with separate hierarchies for
|
||||
each controller), please implement compatibility with cgroup v2 (i.e.
|
||||
the "unified hierarchy") sooner rather than later. Most of Linux
|
||||
userspace has been ported over already.
|
||||
* We intend to remove cgroup v1 support from a systemd release after
|
||||
the end of 2023. If you run services that make explicit use of
|
||||
cgroup v1 features (i.e. the "legacy hierarchy" with separate
|
||||
hierarchies for each controller), please implement compatibility with
|
||||
cgroup v2 (i.e. the "unified hierarchy") sooner rather than later.
|
||||
Most of Linux userspace has been ported over already.
|
||||
|
||||
* The next release (v255) will remove support for split-usr (/usr/
|
||||
mounted separately during late boot, instead of being mounted by the
|
||||
@@ -27,19 +27,19 @@ CHANGES WITH 254 in spe:
|
||||
*now* to include a native systemd unit file instead of a legacy
|
||||
System V script to retain compatibility with future systemd releases.
|
||||
|
||||
* Behaviour of the per-user service manager units have changed w.r.t.
|
||||
sandboxing options, so that they work without having to manually
|
||||
enable PrivateUsers= as well, which is not required for system units.
|
||||
To make this work, we will implicitly enable user namespaces
|
||||
(PrivateUsers=yes) when a sandboxing option is enabled in a user unit.
|
||||
The drawback is that system users will no longer be visible (and
|
||||
appear as 'nobody') to the user unit when a sandboxing option is
|
||||
enabled. By definition a sandboxed user unit should run with reduced
|
||||
privileges, so impact should be small. This will remove a great source
|
||||
of confusion that has been reported by users over the years, due to
|
||||
how these options require an extra setting to be manually enabled when
|
||||
used in the per-user service manager, as opposed as to the system
|
||||
service manager. For more details, see:
|
||||
* Behaviour of sandboxing options for the per-user service manager
|
||||
units has changed. They now imply PrivateUsers=yes, which means user
|
||||
namespaces will be implicitly enabled when a sandboxing option is
|
||||
enabled in a user unit. Enabling user namespaces has the the drawback
|
||||
that system users will no longer be visible (and processes/files will
|
||||
appear as owned by 'nobody') in the user unit.
|
||||
|
||||
By definition a sandboxed user unit should run with reduced
|
||||
privileges, so impact should be small. This will remove a great
|
||||
source of confusion that has been reported by users over the years,
|
||||
due to how these options require an extra setting to be manually
|
||||
enabled when used in the per-user service manager, which is not
|
||||
needed in the system service manager. For more details, see:
|
||||
https://lists.freedesktop.org/archives/systemd-devel/2022-December/048682.html
|
||||
|
||||
Security Relevant Changes:
|
||||
@@ -61,35 +61,36 @@ CHANGES WITH 254 in spe:
|
||||
Service Manager:
|
||||
|
||||
* "Startup" memory settings are now supported. Previously IO and CPU
|
||||
settings were already supported via StartupCPUWeight= and similar,
|
||||
this adds the same logic for the various per-unit memory settings
|
||||
StartupMemoryMax= and related.
|
||||
settings were already supported via StartupCPUWeight= and similar.
|
||||
The same logic has been added for the various per-unit memory
|
||||
settings StartupMemoryMax= and related.
|
||||
|
||||
* The service manager gained support for enqueuing POSIX signals to
|
||||
services that carry an additional integer value, exposing the
|
||||
sigqueue() system call. This is accessible via new D-Bus calls
|
||||
QueueSignalUnit() (and related), as well as in systemctl via the new
|
||||
--kill-value= parameter.
|
||||
org.freedesktop.systemd1.Manager.QueueSignalUnit() and
|
||||
org.freedesktop.systemd1.Unit.QueueSignal(), as well as in systemctl
|
||||
via the new --kill-value= option.
|
||||
|
||||
* systemctl gained a new "list-paths" verb, which shows all currently
|
||||
active .path units, similar to how "systemctl list-timers" shows
|
||||
active .path units, similarly to how "systemctl list-timers" shows
|
||||
active timers, and "systemctl list-sockets" shows active sockets.
|
||||
|
||||
* If MemoryDenyWriteExecute= is enabled for a service and the kernel
|
||||
supports the new PR_SET_MDWE prctl() call it is used in preference
|
||||
over seccomp() based system call filtering to achieve the same effect.
|
||||
|
||||
* systemctl gained a new --when= switch which is honoured by the various
|
||||
forms of shutdown (i.e. reboot, kexec, poweroff, halt) and allows
|
||||
scheduling these operations by time, similar in fashion to how this
|
||||
has been supported by SysV shutdown.
|
||||
|
||||
* If MemoryDenyWriteExecute= is enabled for a service and the kernel
|
||||
supports the new PR_SET_MDWE prctl() call, it is used instead of the
|
||||
seccomp()-based system call filter to achieve the same effect.
|
||||
|
||||
* A new set of kernel command line options is now understood:
|
||||
systemd.tty.term.<name>=, systemd.tty.rows.<name>=,
|
||||
systemd.tty.columns.<name>= allow configuring the TTY type and
|
||||
dimensions for the tty specified via <name>. When systemd invokes a
|
||||
service on a tty (via TTYName=) it will look for these and configure
|
||||
the TTY accordingly. This is particularly useful in VM environments,
|
||||
the TTY accordingly. This is particularly useful in VM environments
|
||||
to propagate host terminal settings into the appropriate TTYs of the
|
||||
guest.
|
||||
|
||||
@@ -101,17 +102,16 @@ CHANGES WITH 254 in spe:
|
||||
btrfs/xfs reflinks or btrfs snaphots, if available.
|
||||
|
||||
* The service activation logic gained new settings RestartSteps= and
|
||||
RestartMaxDelaySec= which allow exponentially growing restart
|
||||
RestartMaxDelaySec= which allow exponentially-growing restart
|
||||
intervals for Restart=.
|
||||
|
||||
* PID 1 will now automatically load the virtio_console kernel module
|
||||
during early initialization if running in a suitable VM. This is done
|
||||
so that early-boot logging can be written to the console if available.
|
||||
|
||||
* Similar, virtio-vsock supported is loaded early too in suitable VM
|
||||
environments. Since PID 1 sends sd_notify() notifications via
|
||||
AF_VSOCK to the VMM these days (if requested), loading this early is
|
||||
beneficial.
|
||||
* Similarly, virtio-vsock support is loaded early in suitable VM
|
||||
environments. PID 1 will send sd_notify() notifications via AF_VSOCK
|
||||
to the VMM if configured, thus loading this early is beneficial.
|
||||
|
||||
* A new verb "fdstore" has been added to systemd-analyze to show the
|
||||
current contents of the file descriptor store of a unit. This is
|
||||
@@ -124,47 +124,48 @@ CHANGES WITH 254 in spe:
|
||||
|
||||
* A new service option FileDescriptorStorePreserve= has been added that
|
||||
allows tuning the life-cycle of the per-service file descriptor
|
||||
store. If set to "yes" the entries in the fd store are retained even
|
||||
after the service is fully stopped.
|
||||
store. If set to "yes", the entries in the fd store are retained even
|
||||
after the service has been fully stopped.
|
||||
|
||||
* The "systemctl clean" command may now be used to clear the fdstore of
|
||||
a service.
|
||||
|
||||
* Unit *.preset files gained a new directive "ignore", in addition to
|
||||
the existing "enable" and "disable". As the name suggests it leaves
|
||||
units defined like this in its status quo, i.e. neither enables nor
|
||||
disables them.
|
||||
the existing "enable" and "disable". As the name suggests, matching
|
||||
units are left unchanged, i.e. neither enabled nor disabled.
|
||||
|
||||
* Service units gained a new setting DelegateSubgroup=. It takes the
|
||||
name of a sub-cgroup to place any processes the service manager forks
|
||||
off in. Previously, the service manager would place all service
|
||||
processes directly in the top-level cgroup it creates for them, no
|
||||
matter what. This usually meant that services with delegation enabled
|
||||
would first have to move themselves down some level in order to not
|
||||
conflict with the "no processes in inner cgroups" rule of
|
||||
cgroupv2. With this option it is now possible to configure the name
|
||||
of a subgroup to place all processes forked off by PID 1 in directly.
|
||||
processes directly in the top-level cgroup it created for the
|
||||
service. This usually meant that main process in a service with
|
||||
delegation enabled would first have to create a subgroup and move
|
||||
itself down into it, in order to not conflict with the "no processes
|
||||
in inner cgroups" rule of cgroup v2. With this option, this step is
|
||||
now handled by PID 1.
|
||||
|
||||
* The service manager will now look for .upholds/ directories, similar
|
||||
to the existing support for .wants/ and .requires/ directories, and
|
||||
uses contained symlinked units for creating Upholds=
|
||||
dependencies. The [Install] section of unit files gained support for
|
||||
a new UpheldBy= directive to generate symlinks of this automatically
|
||||
when a unit is enabled.
|
||||
* The service manager will now look for .upholds/ directories,
|
||||
similarly to the existing support for .wants/ and .requires/
|
||||
directories. Symlinks in this directory result in Upholds=
|
||||
dependencies.
|
||||
|
||||
The [Install] section of unit files gained support for a new
|
||||
UpheldBy= directive to generate .upholds/ symlinks automatically when
|
||||
a unit is enabled.
|
||||
|
||||
* The service manager now supports a new kernel command line option
|
||||
systemd.default_device_timeout_sec=, which may be used to override
|
||||
the default timeout for .device units.
|
||||
|
||||
* A new "soft-reboot" mechanism has been added to the service
|
||||
manager. A "soft reboot" is similar to a regular reboot, except that
|
||||
it affects userspace only: the service manager shuts down the running
|
||||
* A new "soft-reboot" mechanism has been added to the service manager.
|
||||
A "soft reboot" is similar to a regular reboot, except that it
|
||||
affects userspace only: the service manager shuts down any running
|
||||
services and other units, then optionally switches into a new root
|
||||
file system (mounted to /run/nextroot/), and then passes control to a
|
||||
systemd instance in the new file system which then starts the system
|
||||
up again. The kernel is not rebooted and neither is hardware,
|
||||
firmware or boot loader. It is a fast, lightweight mechanism to
|
||||
quickly reset or update userspace, without the latency that a full
|
||||
up again. The kernel is not rebooted and neither is the hardware,
|
||||
firmware or boot loader. This provides a fast, lightweight mechanism
|
||||
to quickly reset or update userspace, without the latency that a full
|
||||
system reset involves. Moreover, open file descriptors may be passed
|
||||
across the soft reboot into the new system where they will be passed
|
||||
back to the originating services. This allows pinning resources
|
||||
@@ -175,8 +176,8 @@ CHANGES WITH 254 in spe:
|
||||
reboot mechanism is accessible via the new "systemctl soft-reboot"
|
||||
command.
|
||||
|
||||
* A new service setting MemoryKSM= has been added, which may be used to
|
||||
enable kernel same-page merging individually for services.
|
||||
* A new service setting MemoryKSM= has been added to enable kernel
|
||||
same-page merging individually for services.
|
||||
|
||||
* A new service setting ImportCredentials= has been added that augments
|
||||
LoadCredential= and LoadCredentialEncrypted= and searches for
|
||||
@@ -184,21 +185,20 @@ CHANGES WITH 254 in spe:
|
||||
|
||||
Journal:
|
||||
|
||||
* The sd-journal API learnt a new call sd_journal_get_seqnum() for
|
||||
retrieving the current log record's sequence number and sequence
|
||||
number ID, which allows applications to order records the same way as
|
||||
journal does internally already. The sequence number is now also
|
||||
exported in the JSON and "export" output of the journal.
|
||||
* The sd-journal API gained a new call sd_journal_get_seqnum() to
|
||||
retrieve the current log record's sequence number and sequence number
|
||||
ID, which allows applications to order records the same way as
|
||||
journal does internally. The sequence number is now also exported in
|
||||
the JSON and "export" output of the journal.
|
||||
|
||||
* journalctl gained a new switch --truncate-newline. If specified
|
||||
multi-line log records will be truncated at the first newline,
|
||||
i.e. only the first line of each log message is shown.
|
||||
i.e. only the first line of each log message will be shown.
|
||||
|
||||
systemd-repart:
|
||||
|
||||
* systemd-repart's drop-in files gained a new ExcludeFiles= option which
|
||||
may be used to exclude certain files from the effect of CopyFiles=,
|
||||
which allows populating newly created partitions automatically.
|
||||
may be used to exclude certain files from the effect of CopyFiles=.
|
||||
|
||||
* systemd-repart's Verity support now implements the Minimize= setting
|
||||
to minimize the size of the resulting partition.
|
||||
@@ -206,11 +206,11 @@ CHANGES WITH 254 in spe:
|
||||
* systemd-repart gained a new --offline= switch, which may be used to
|
||||
control whether images shall be built "online" or "offline",
|
||||
i.e. whether to make use of kernel facilities such as loopback block
|
||||
devices and DM or not.
|
||||
devices and device mapper or not.
|
||||
|
||||
* If systemd-repart is told to populate a newly created ESP or XBOOTLDR
|
||||
partition with some files it will now default to VFAT rather than
|
||||
ext4, unless specified otherwise.
|
||||
partition with some files, it will now default to VFAT rather than
|
||||
ext4.
|
||||
|
||||
* systemd-repart gained a new --architecture= switch. If specified, the
|
||||
per-architecture GPT partition types (i.e. the root and /usr/
|
||||
@@ -220,21 +220,22 @@ CHANGES WITH 254 in spe:
|
||||
|
||||
systemd-boot, systemd-stub, ukify, bootctl, kernel-install:
|
||||
|
||||
* bootctl gained a new switch --print-root-device (or short: -R) that
|
||||
prints the main block device the root file system is backed by. It's
|
||||
useful for invocations such as "cfdisk $(bootctl -R)" to quickly have
|
||||
a look at the partition table of the running OS.
|
||||
* bootctl gained a new switch --print-root-device/-R that prints the
|
||||
main block device the root file system is backed by. It's useful for
|
||||
invocations such as "cfdisk $(bootctl -R)" to quickly show the
|
||||
partition table of the running OS.
|
||||
|
||||
* systemd-stub will now look for the SMBIOS Type 1 field
|
||||
"io.systemd.stub.kernel-cmdline-extra" and append its value to the
|
||||
kernel command line it invokes. This is useful for VMMs such as qemu
|
||||
to pass additional kernel command lines into the system even when
|
||||
booting via full UEFI. It's measured into TPM PCR 12.
|
||||
booting via full UEFI. The contents of the field are measured into
|
||||
TPM PCR 12.
|
||||
|
||||
* The KERNEL_INSTALL_LAYOUT= setting for kernel-install gained a new
|
||||
value "auto". If used a kernel will be automatically analyzed, and if
|
||||
it qualifies as UKI it will be installed as if the setting was to set
|
||||
to "uki", otherwise via "bls".
|
||||
value "auto". With this value, a kernel will be automatically
|
||||
analyzed, and if it qualifies as UKI, it will be installed as if the
|
||||
setting was to set to "uki", otherwise as "bls".
|
||||
|
||||
* systemd-stub can now optionally load UEFI PE "add-on" images that may
|
||||
contain additional kernel command line information. These "add-ons"
|
||||
@@ -264,41 +265,41 @@ CHANGES WITH 254 in spe:
|
||||
of the same name.
|
||||
|
||||
* A new kernel-install plugin 60-ukify has been added which will
|
||||
combine kernel/initrd locally into an UKI and sign them with a local
|
||||
key. This may be used to switch to UKI mode even on systems where a
|
||||
local kernel or initrd shall be supported. (Typically UKIs are built
|
||||
and signed on OS vendor systems.)
|
||||
combine kernel/initrd locally into an UKI and optionally sign them
|
||||
with a local key. This may be used to switch to UKI mode even on
|
||||
systems where a local kernel or initrd is used. (Typically UKIs are
|
||||
built and signed by the vendor.)
|
||||
|
||||
* The ukify tool now supports "petool" in addition to the pre-existing
|
||||
* The ukify tool now supports "pesign" in addition to the pre-existing
|
||||
"sbsign" for signing UKIs.
|
||||
|
||||
* systemd-measure and systemd-stub now look for a new .uname PE section
|
||||
that should encode the kernel's "uname -r" string.
|
||||
* systemd-measure and systemd-stub now look for the .uname PE section
|
||||
that should contain the kernel's "uname -r" string.
|
||||
|
||||
* systemd-measure may now calculate expected PCR hashes for a UKI
|
||||
"offline", i.e. requires no access to a TPM (neither physical nor
|
||||
software emulated).
|
||||
* systemd-measure and ukify now calculate expected PCR hashes for a UKI
|
||||
"offline", i.e. without access to a TPM (physical or
|
||||
software-emulated).
|
||||
|
||||
Memory Pressure & Control:
|
||||
|
||||
* The sd-event API gained new calls sd_event_add_memory_pressure(),
|
||||
sd_event_source_set_memory_pressure_type(),
|
||||
sd_event_source_set_memory_pressure_period() for creating and
|
||||
configuring an event source that is called whenever the OS signals
|
||||
memory pressure. Another call sd_event_trim_memory() is provided that
|
||||
sd_event_source_set_memory_pressure_period() to create and configure
|
||||
an event source that is called whenever the OS signals memory
|
||||
pressure. Another call sd_event_trim_memory() is provided that
|
||||
compacts the process' memory use by releasing allocated but unused
|
||||
malloc() memory back to the kernel. Services can also provide their
|
||||
own custom callback to do memory trimming. This should improve system
|
||||
behaviour under memory pressure, as on Linux traditionally provided no
|
||||
mechanism to return process memory back to the kernel if the kernel
|
||||
was under pressure to acquire some. This makes use of the kernel's PSI
|
||||
interface. Most long-running services that systemd contains have been
|
||||
hooked up with this, and in particular systems with low memory should
|
||||
benefit from this.
|
||||
behaviour under memory pressure, as on Linux traditionally provided
|
||||
no mechanism to return process memory back to the kernel if the
|
||||
kernel was under memory pressure. This makes use of the kernel's PSI
|
||||
interface. Most long-running services in systemd have been hooked up
|
||||
with this, and in particular systems with low memory should benefit
|
||||
from this.
|
||||
|
||||
* Service units learnt the new MemoryPressureWatch=,
|
||||
MemoryPressureThresholdSec= for configuring the PSI memory pressure
|
||||
logic individually. If these options are used the
|
||||
* Service units gained new settings MemoryPressureWatch= and
|
||||
MemoryPressureThresholdSec= to configure the PSI memory pressure
|
||||
logic individually. If these options are used, the
|
||||
$MEMORY_PRESSURE_WATCH and $MEMORY_PRESSURE_WRITE environment
|
||||
variables will be set for the invoked processes to inform them about
|
||||
the requested memory pressure behaviour. (This is used by the
|
||||
@@ -306,18 +307,18 @@ CHANGES WITH 254 in spe:
|
||||
|
||||
* systemd-analyze gained a new "malloc" verb that shows the output
|
||||
generated by glibc's malloc_info() on services that support it. Right
|
||||
now, only the service manager has been updated accordingly.
|
||||
now, only the service manager has been updated accordingly. This
|
||||
call requires privileges.
|
||||
|
||||
User & Session Management:
|
||||
|
||||
* The sd-login API gained a new call sd_session_get_username() for
|
||||
returning the user name who owns a specific login session. It also
|
||||
gained a new call sd_session_get_start_time() for retrieving the time
|
||||
the login session started. A new call sd_session_get_leader() has
|
||||
been added to return the PID of the "leader" process of a session. A
|
||||
new call sd_uid_get_login_time() returns the time since when the
|
||||
specified user has most recently been continuously logged in with at
|
||||
least one session.
|
||||
* The sd-login API gained a new call sd_session_get_username() to
|
||||
return the user name of the owner of a login session. It also gained
|
||||
a new call sd_session_get_start_time() to retrieve the time the login
|
||||
session started. A new call sd_session_get_leader() has been added to
|
||||
return the PID of the "leader" process of a session. A new call
|
||||
sd_uid_get_login_time() returns the time since the specified user has
|
||||
most recently been continuously logged in with at least one session.
|
||||
|
||||
* JSON user records gained a new set of fields capabilityAmbientSet and
|
||||
capabilityBoundingSet which contain a list of POSIX capabilities to
|
||||
@@ -326,24 +327,24 @@ CHANGES WITH 254 in spe:
|
||||
for users via --capability-bounding-set=/--capability-ambient-set=.
|
||||
|
||||
* pam_systemd learnt two new module options
|
||||
default-capability-bounding-set= + default-capability-ambient-set= to
|
||||
configure the default bounding sets for users as they are logging in,
|
||||
if the JSON user record doesn't specify this explicitly (see
|
||||
above). The built-in default for the ambient set now contains the
|
||||
CAP_WAKE_ALARM, thus allowing regular users who may log in locally to
|
||||
resume from a system suspend via a timer. (see above)
|
||||
default-capability-bounding-set= and default-capability-ambient-set=,
|
||||
which configure the default bounding sets for users as they are
|
||||
logging in, if the JSON user record doesn't specify this explicitly
|
||||
(see above). The built-in default for the ambient set now contains
|
||||
the CAP_WAKE_ALARM, thus allowing regular users who may log in
|
||||
locally to resume from a system suspend via a timer.
|
||||
|
||||
* The Session D-Bus objects systemd-logind gained a new SetTTY() method
|
||||
call for updating the TTY of a session after it has been allocated
|
||||
already. This is useful for SSH sessions which are typically
|
||||
allocated first, and for which a TTY is added in later.
|
||||
call to update the TTY of a session after it has been allocated. This
|
||||
is useful for SSH sessions which are typically allocated first, and
|
||||
for which a TTY is added later.
|
||||
|
||||
* The sd-login API gained a new call sd_pid_notifyf_with_fds() which
|
||||
combines the various other sd_pid_notify() flavours into one: takes a
|
||||
format string, an overriding PID, and a set of file descriptors to
|
||||
send along. It also gained a new call sd_pid_notify_barrier() which
|
||||
is equivalent to sd_notify_barrier() but allows specification of the
|
||||
originating PID.
|
||||
send. It also gained a new call sd_pid_notify_barrier() call which is
|
||||
equivalent to sd_notify_barrier() but allows the originating PID to
|
||||
be specified.
|
||||
|
||||
* "loginctl list-users" and "loginctl list-sessions" will now show the
|
||||
state of each logged in user/session in their tabular output. It will
|
||||
@@ -357,19 +358,20 @@ CHANGES WITH 254 in spe:
|
||||
* systemd-dissect will now install itself as mount helper for the "ddi"
|
||||
pseudo-file system type. This means you may now mount DDIs directly
|
||||
via /bin/mount or /etc/fstab, making full use of embedded Verity
|
||||
information and all other DDI features. Example: mount -t ddi
|
||||
myimage.raw /some/where
|
||||
information and all other DDI features.
|
||||
|
||||
* The systemd-dissect tool gained the new switches --attach/--detach for
|
||||
attaching a DDI to a loopback block device without mounting it. It
|
||||
will automatically derive the right sector size from the image and set
|
||||
up Verity and similar, but not mount the file systems in it.
|
||||
Example: mount -t ddi myimage.raw /some/where
|
||||
|
||||
* When systemd-gpt-auto-generator or the DDI mounting logic mount an ESP
|
||||
or XBOOTLDR partition the MS_NOSYMFOLLOW mount option is now
|
||||
implied. Given that these file systems are typically untrusted
|
||||
territory this should make mounting them automatically have less of a
|
||||
security impact.
|
||||
* The systemd-dissect tool gained the new switches --attach/--detach to
|
||||
attach/detach a DDI to a loopback block device without mounting it.
|
||||
It will automatically derive the right sector size from the image
|
||||
and set up Verity and similar, but not mount the file systems in it.
|
||||
|
||||
* When systemd-gpt-auto-generator or the DDI mounting logic mount an
|
||||
ESP or XBOOTLDR partition the MS_NOSYMFOLLOW mount option is now
|
||||
implied. Given that these file systems are typically untrusted, this
|
||||
should make mounting them automatically have less of a security
|
||||
impact.
|
||||
|
||||
* All tools that parse DDIs (such as systemd-nspawn, systemd-dissect,
|
||||
systemd-tmpfiles, …) now understand a new switch --image-policy= which
|
||||
@@ -383,12 +385,12 @@ CHANGES WITH 254 in spe:
|
||||
MountImagePolicy= and ExtensionImagePolicy= to configure the same for
|
||||
disk images a service runs off.
|
||||
|
||||
* systemd-analyze gained a new verb "image-policy" for validating and
|
||||
parsing image policy strings.
|
||||
* systemd-analyze gained a new verb "image-policy" to validate and
|
||||
parse image policy strings.
|
||||
|
||||
* systemd-dissect gained support for a new --validate switch for
|
||||
superficially validating DDI structure, and checking whether a
|
||||
specific image policy allows the DDI.
|
||||
* systemd-dissect gained support for a new --validate switch to
|
||||
superficially validate DDI structure, and check whether a specific
|
||||
image policy allows the DDI.
|
||||
|
||||
Network Management:
|
||||
|
||||
@@ -401,13 +403,13 @@ CHANGES WITH 254 in spe:
|
||||
offline.
|
||||
|
||||
* udev will now create symlinks to loopback block devices in the
|
||||
/dev/loop/by-ref/ directory that are based on the .lo_file_name string
|
||||
field selected during allocation. The systemd-dissect tool and the
|
||||
util-linux losetup command now supports a complementing new switch
|
||||
--loop-ref= for selecting the string. This means a loopback block
|
||||
device may now be allocated under a caller chosen reference and can
|
||||
subsequently be referenced by that without first having to look up the
|
||||
block device name the caller ended up with.
|
||||
/dev/loop/by-ref/ directory that are based on the .lo_file_name
|
||||
string field selected during allocation. The systemd-dissect tool and
|
||||
the util-linux losetup command now supports a complementing new
|
||||
switch --loop-ref= for selecting the string. This means a loopback
|
||||
block device may now be allocated under a caller-chosen reference and
|
||||
can subsequently be referenced by that without first having to look
|
||||
up the block device name the caller ended up with.
|
||||
|
||||
* udev also creates symlinks to loopback block devices in the
|
||||
/dev/loop/by-ref/ directory based on the .st_dev/st_ino fields of the
|
||||
@@ -482,8 +484,8 @@ CHANGES WITH 254 in spe:
|
||||
source might be in, resetting all rate limiting counters.
|
||||
|
||||
* When the sd-bus library is used to make connections to AF_UNIX D-Bus
|
||||
sockets, it will now encode the "description" one can set via
|
||||
sd_bus_set_description into the source socket address. It will also
|
||||
sockets, it will now encode the "description" set via
|
||||
sd_bus_set_description() into the source socket address. It will also
|
||||
look for this information when accepting a connection. This is useful
|
||||
to track individual D-Bus connections on a D-Bus broker for debug
|
||||
purposes.
|
||||
@@ -493,29 +495,30 @@ CHANGES WITH 254 in spe:
|
||||
* systemd-resolved gained a new resolved.conf setting
|
||||
StateRetentionSec= which may be used to retain cached DNS records
|
||||
even after their nominal TTL, and use them in case upstream DNS
|
||||
servers cannot be reached. This should make name resolution more
|
||||
resilient in case of network problems.
|
||||
servers cannot be reached. This can be sued to make name resolution
|
||||
more resilient in case of network problems.
|
||||
|
||||
* resolvectl gained a new verb "show-cache" for showing current cache
|
||||
contents of systemd-resolved.
|
||||
* resolvectl gained a new verb "show-cache" to show the current cache
|
||||
contents of systemd-resolved. This verb comunicates with the
|
||||
systemd-resolved daemon and requires privileges.
|
||||
|
||||
Other:
|
||||
|
||||
* The default keymap to apply may now be chosen at build-time via the
|
||||
new default-keymap meson option.
|
||||
new -Ddefault-keymap= meson option.
|
||||
|
||||
* Most of systemd's long-running services now have a generic handler of
|
||||
the SIGRTMIN+18 signal handler which executes various operations
|
||||
depending on the sigqueue() parameter sent along. For example, values
|
||||
0x100…0x107 allow changing the maximum log level of such
|
||||
services. 0x200…0x203 allow changing the log target of such
|
||||
services. 0x300 make the services trim their memory similar to the
|
||||
automatic PSI triggered action, see above. 0x301 make the services
|
||||
services. 0x300 make the services trim their memory similarly to the
|
||||
automatic PSI-triggered action, see above. 0x301 make the services
|
||||
output their malloc_info() data to the logs.
|
||||
|
||||
* machinectl gained new "edit" and "cat" verbs for editing .nspawn
|
||||
files, inspired by systemctl's verbs of the same which edit unit
|
||||
files. Similar, networkctl gained the same verbs for editing
|
||||
files, inspired by systemctl's verbs of the same name which edit unit
|
||||
files. Similarly, networkctl gained the same verbs for editing
|
||||
.network, .netdev, .link files.
|
||||
|
||||
* A new syscall filter group "@sandbox" has been added that contains
|
||||
@@ -527,12 +530,12 @@ CHANGES WITH 254 in spe:
|
||||
https://systemd.io/COREDUMP
|
||||
https://systemd.io/MEMORY_PRESSURE
|
||||
|
||||
* systemd-firstboot gained a new --reset option. If specified the
|
||||
settings in /etc/ it normally initializes are reset instead.
|
||||
* systemd-firstboot gained a new --reset option. If specified, the
|
||||
settings in /etc/ it knows how to initialize are reset.
|
||||
|
||||
* systemd-sysext is now a multi-call binary and also installed under the
|
||||
systemd-confext alias name (via a symlink). When invoked that way it
|
||||
will operate on /etc/ instead of /usr/ + /opt/. It thus becomes a
|
||||
* systemd-sysext is now a multi-call binary and is also installed under
|
||||
the systemd-confext alias name (via a symlink). When invoked that way
|
||||
it will operate on /etc/ instead of /usr/ + /opt/. It thus becomes a
|
||||
powerful, atomic, secure configuration management of sorts, that
|
||||
locally can merge configuration from multiple confext configuration
|
||||
images into a single immutable tree.
|
||||
@@ -553,7 +556,7 @@ CHANGES WITH 254 in spe:
|
||||
server-side environment variable expansion in specified command
|
||||
lines.
|
||||
|
||||
* The systemd-system-update-generator has been update to also look for
|
||||
* The systemd-system-update-generator has been updated to also look for
|
||||
the special flag file /etc/system-update in addition to the existing
|
||||
support for /system-update to decide whether to enter system update
|
||||
mode.
|
||||
@@ -562,9 +565,8 @@ CHANGES WITH 254 in spe:
|
||||
mount options by default.
|
||||
|
||||
* systemd-fstab-generator now understands two new kernel command line
|
||||
options systemd.mount-extra= and systemd.swap-extra= which may be
|
||||
used to configure additional mounts or swaps via the kernel command
|
||||
line, in a format similar to /etc/fstab lines.
|
||||
options systemd.mount-extra= and systemd.swap-extra=, which configure
|
||||
additional mounts or swaps in a format similar to /etc/fstab.
|
||||
|
||||
* systemd-sysupdate's sysupdate.d/ drop-ins gained a new setting
|
||||
PathRelativeTo=, which can be set to "esp", "xbootldr", "boot", in
|
||||
@@ -577,13 +579,14 @@ CHANGES WITH 254 in spe:
|
||||
s2h suspend logic checks this state to decide whether to enter system
|
||||
suspend or hibernation.
|
||||
|
||||
* The /etc/os-release file now has two new optional fields VENDOR_NAME=
|
||||
and VENDOR_URL= carrying information about the vendor of the OS.
|
||||
* The /etc/os-release file can now have two new optional fields
|
||||
VENDOR_NAME= and VENDOR_URL= to carry information about the vendor of
|
||||
the OS.
|
||||
|
||||
* When the system hibernates information about the used device and
|
||||
offset is now written to a non-volatile EFI variable. On next boot
|
||||
the system will attempt to resume from the location indicated in this
|
||||
EFI variable. This should make hibernation a lot more robust, and
|
||||
* When the system hibernates, information about the device and offset
|
||||
used is now written to a non-volatile EFI variable. On next boot the
|
||||
system will attempt to resume from the location indicated in this EFI
|
||||
variable. This should make hibernation a lot more robust, while
|
||||
requiring no manual configuration of the resume location.
|
||||
|
||||
* The $XDG_STATE_HOME environment variable (added in more recent
|
||||
|
||||
Reference in New Issue
Block a user