Nach drei Monaten Entwicklung steht die Version des Systemmanagers systemd 260 zur VerfĂŒgung. Die wichtigsten Neuerungen: Einstellung der UnterstĂŒtzung fĂŒr Service-Skripte im System V-Format, der Mechanismus âmstackâ zur Bildung von mehrschichtigen Mount-Hierarchien, das Tool systemd-report, UnterstĂŒtzung fĂŒr die Integration von systemd-networkd mit ModemManager, UnterstĂŒtzung fĂŒr benutzerdefinierte portable Dienste, das Konzept âxaccessâ in systemd-logind und systemd-udevd.
Zu den Ănderungen in der neuen Version gehören:
- Die UnterstĂŒtzung fĂŒr Service-Skripte im System V-Format wurde eingestellt, und die Bereitstellung der Komponenten rc-local.service, systemd-sysv-install, systemd-rc-local-generator und systemd-sysv-generator wurde eingestellt.
- Der Mechanismus âmstackâ (Mount Stack) wurde implementiert, der die Verwendung von Verzeichnissen mit dem Suffix â.mstack/â zur Bildung einer zusammengesetzten Verzeichnisstruktur ermöglicht, die durch aufeinanderfolgende Mounts und das Ăberlagern von Disk-Images und Teilen des Dateisystems mittels OverlayFS und âmount âbindâ entsteht. Die Befehle systemd-mstack, die Option ââmstackâ in systemd-nspawn und der Parameter RootMStack in den Units wurden hinzugefĂŒgt, die zum gleichzeitigen Mounten und Unmounten aller in der â.mstackâ-Konfiguration definierten Elemente verwendet werden können, um beispielsweise schnell ein Container-Image oder eine Arbeitsumgebung eines Dienstes wiederherzustellen. Jede Datei oder Unterverzeichnis in â.mstack/â definiert eine Mount-Ebene oder eine âoverlayfsâ-Schicht.
Beispielsweise definiert die folgende Konfiguration âfoobar.mstack/â ein overlayfs mit zwei Schichten im Nur-Lesen-Modus aus den Disk-Images base.raw und app.raw (als symbolische Links angegeben) und einem ârwâ-Verzeichnis mit Schreibrecht darĂŒber: foobar.mstack/layer@0.raw â .. /base.raw foobar.mstack/layer@1.raw â .. /app.raw foobar.mstack/rw/
- Die Rahmenwerke âmetricsâ und âreportâ wurden implementiert, die von Systemkomponenten fĂŒr die Ausgabe von Statistiken ĂŒber Varlink im Verzeichnis /run/systemd/report/ verwendet werden können. Das Tool systemd-report wurde hinzugefĂŒgt, das einen konsolidierten Bericht erstellt, der die Statistiken aller Komponenten zusammenfĂŒhrt und im JSON-Format ausgibt. Derzeit stellen nur der Service-Manager und systemd-networkd Metriken zur VerfĂŒgung.
- In systemd-networkd wurde die Integration mit ModemManager sichergestellt, und es wurde der Abschnitt â[MobileNetwork]â mit den Einstellungen APN, AllowedAuthenticationMechanisms, User, Password, IPFamily, AllowRoaming, PIN, OperatorId, RouteMetric und UseGateway hinzugefĂŒgt, die es ermöglichen, systemd-networkd fĂŒr die Verbindung mit Mobilfunkanbietern ĂŒber ein Modem zu nutzen.
- Es wurde die Möglichkeit geschaffen, systemd-portabled als Benutzerdienst zu starten, der von nicht privilegierten Benutzern ausgefĂŒhrt wird. Zur Auswahl des Diensttyps wurden der Utility portablectl die Flags ââuserâ und ââsystemâ hinzugefĂŒgt. Tragbare Dienste (âPortable Servicesâ) sind Systemdienste, die als eigenstĂ€ndige Container dargestellt werden (werden als Systemabbild geliefert, aber als gewöhnlicher Dienst behandelt).
- In systemd-logind und systemd-udevd wurde die UnterstĂŒtzung fĂŒr das Konzept âxaccessâ (Extended Access) hinzugefĂŒgt, das es in grafischen Sitzungen ermöglicht, Benutzern mit Remote-Zugriff, die physisch keinen Monitor und keine EingabegerĂ€te auf dem lokalen System verwenden, Zugriff auf die GPU zu gewĂ€hren (analog zum uaccess-Zugriff, der physisch arbeitende Computerbenutzer abdeckt). Zur Konfiguration von Sitzungen wird in diesem Fall vorgeschlagen, ĂŒber PAM die Umgebungsvariable XDG_SESSION_EXTRA_DEVICE_ACCESS zu setzen.
- FĂŒr die Automatisierung der Konfiguration des DeviceTree in UKI-Abbildern (Unified Kernel Image) wurde ein kanonisches Set von Dateien mit Hardware-IDs unter /usr/lib/systemd/boot/hwids/ vorgeschlagen, das Hardware-IDs mit Elementen des DeviceTree verknĂŒpft. Mit diesem Set findet UKI-Abbild automatisch das erforderliche DTB (Device Tree Blob) wĂ€hrend des Bootvorgangs, ohne dass gerĂ€tespezifische Abbilder erstellt werden mĂŒssen. Aktuell wurden hwid-Dateien fĂŒr ARM64-GerĂ€te auf Basis von Snapdragon-Chips erstellt.
- In /etc/os-release wurde ein neues Feld âFANCY_NAMEâ hinzugefĂŒgt, das sich von âPRETTY_NAMEâ dadurch unterscheidet, dass nicht-ASCII-Zeichen von Unicode verwendet werden können. Wenn das Feld âFANCY_NAMEâ vorhanden ist, wird es in der Ausgabe von systemd, systemd-hostnamed und hostnamectl anstelle von âPRETTY_NAMEâ verwendet.
- Dienste, die öffentliche Varlink-Interfaces bereitstellen, wurden mithilfe von symbolischen Links in einem Verzeichnis /run/varlink/registry/ zusammengefasst. Um die Liste solcher Dienste anzuzeigen, wurde der Befehl âvarlinkctl list-registryâ implementiert.
- In den Einheiten wurde die Möglichkeit eingefĂŒhrt, im Parameter PrivateUsers den Wert âmanagedâ anzugeben, um dem Dienst automatisch Bereichskennungen von Benutzern und Gruppen (UID/GID) ĂŒber systemd-nsresourced zuzuweisen.
- In die Einheiten wurde die Einstellung RefreshOnReload hinzugefĂŒgt, um Erweiterungen und Anmeldeinformationen beim Neustart der Einheit zu aktualisieren.
- In die Einheiten wurde die Einstellung BindNetworkInterface hinzugefĂŒgt, um alle im Dienst erstellten Sockets automatisch an die angegebene Netzwerkschnittstelle zu binden.
- In die Units wurden die Einstellungen ConditionPathIsSocket und AssertPathIsSocket hinzugefĂŒgt, um das Verhalten oder das Abbrechen der Unit zu Ă€ndern, falls die angegebenen Pfade keine Sockets sind.
- In systemctl wurde der Befehl âenqueue-markedâ hinzugefĂŒgt, der die D-Bus-Methode EnqueueMarkedJobs() aufruft. Der zuvor verwendete Parameter ââmarkedâ ist veraltet.
- In die Services wurde die Einstellung MemoryTHP hinzugefĂŒgt, um die Verwendung groĂer Speicherseiten in den Services (THP â Transparent Huge Pages) zu steuern.
- In die .delegate-Dateien von systemd-resolved wurde die UnterstĂŒtzung des Parameters FirewallMark hinzugefĂŒgt, um im Netzwerkstack ein âFirewall-Markâ fĂŒr den erzeugten DNS-Verkehr festzulegen.
- In systemd-sysupdate wurde der Befehl âacquireâ hinzugefĂŒgt, um die Phasen von Booten und Installation oder Aktualisierung zu trennen. Die UnterstĂŒtzung fĂŒr das Markieren von Partitionen als teilweise geladen wurde implementiert.
- In systemd-vmspawn wurde die Option ââimage-formatâ hinzugefĂŒgt, um das Format (qcow2 oder raw) des Disk-Images auszuwĂ€hlen.
- In systemd-inhibit wurde fĂŒr die Option ââlistâ die UnterstĂŒtzung des âJSONâ-Formats umgesetzt, mit der Möglichkeit, die Flags ââwhatâ, ââwhoâ, ââwhyâ und ââmodeâ zur Filterung der Ausgabe zu verwenden.
- In systemd-repart wurde grundlegende UnterstĂŒtzung fĂŒr die IntegritĂ€tsprĂŒfung von verschlĂŒsselten Partitionen unter Verwendung von dm-integrity hinzugefĂŒgt.
- In das Tool systemd-keyutil wurde der Befehl âextract-certificateâ hinzugefĂŒgt, um den Inhalt von X.509-Zertifikaten auszugeben.
- In systemd-sysext und varlinkctl wurde die UnterstĂŒtzung fĂŒr interaktive Autorisierungsanfragen mittels polkit implementiert.
- Eine polkit-Politik wurde hinzugefĂŒgt, die es einem nicht privilegierten Benutzer ermöglicht, systemd-ask-password aufzurufen.
- In systemd-importd wurde die Möglichkeit hinzugefĂŒgt, OCI-Images mit dem Befehl âimportctl pull-ociâ herunterzuladen, die in Form von Images zum Mounten ĂŒber âmstackâ gespeichert werden.
- Die UnterstĂŒtzung fĂŒr die Farben SYSTEMD_COLORS=auto-16, SYSTEMD_COLORS=auto-256 und SYSTEMD_COLORS=auto-24bit wurde hinzugefĂŒgt.
- Voll funktionsfĂ€hige, isolierte ausfĂŒhrbare Dateien systemd-sysusers und systemd-tmpfiles wurden bereitgestellt (frĂŒher wurden reduzierte Versionen erstellt).
- In systemd-oomd wurde ein âprekill hookâ hinzugefĂŒgt, der es ermöglicht, Handler anzuschlieĂen, die vor der zwangsweisen Beendigung eines Prozesses aufgrund von Speichermangel im System ausgelöst werden.
- Die Möglichkeit zur Verwendung nicht-systemischer Benutzer und Gruppen in udev-Regeln (OWNER= / GROUP=) und in den Einstellungen von systemd-networkd (User= / Group=) wurde wieder aufgenommen, jedoch als veraltet markiert.
- In systemd-repart wurde die in xfsprogs 6.17.0 hinzugekommene FunktionalitÀt des Tools mkfs.xfs zur Bereitstellung des initialen Inhalts des Dateisystems aus dem angegebenen Verzeichnis aktiviert.
- Die Mindestanforderungen wurden erhöht: Linux-Kernel 5.4 â 5.10 (empfohlen 5.14, fĂŒr volle FunktionalitĂ€t â 6.6), libidn â libidn2, Python 3.7.0 â 3.9.0, glibc 2.31 â 2.34, OpenSSL 1.1.0 â 3.0.0, cryptsetup 2.0.1/2.3.0 â 2.4.0, elfutils 158 â 177, libblkid 2.24 â 2.37, libseccomp 2.3.1 â 2.4.0.
- Die Regeln zur GewĂ€hrleistung der PortabilitĂ€t und StabilitĂ€t wurden ĂŒberarbeitet und vereinfacht, wobei die Verpflichtungen zur Vermeidung sichtbarer Regressionen in öffentlichen Schnittstellen verstĂ€rkt wurden.
Quelle: opennet.ru
