Nach drei Monaten Entwicklung ist die Version des Systemmanagers systemd 260 jetzt verfĂŒgbar. Zu den wichtigsten Ănderungen gehören die Einstellung der UnterstĂŒtzung fĂŒr Dienste im Format System V, der Mechanismus 'mstack' fĂŒr die Zusammensetzung mehrschichtiger Mount-Hierarchien, das Dienstprogramm systemd-report, die UnterstĂŒtzung der Integration von systemd-networkd mit ModemManager, die UnterstĂŒtzung benutzerdefinierter tragbarer Dienste sowie das Konzept 'xaccess' in systemd-logind und systemd-udevd.
Zu den Ănderungen in der neuen Version gehören:
- Die UnterstĂŒtzung fĂŒr Dienste im Format System V wurde eingestellt, und die Auslieferung der Komponenten rc-local.service, systemd-sysv-install, systemd-rc-local-generator und systemd-sysv-generator wurde eingestellt.
- Das "mstack" (Mount Stack) Mechanismus wurde implementiert, der es ermöglicht, Verzeichnisse mit dem Suffix ".mstack/" zu verwenden, um eine zusammengesetzte Hierarchie von Verzeichnissen zu erstellen. Diese wird durch die sequentielle Montage und Ăberlagerung von Disk-Images und Teilen des Dateisystems unter Verwendung von OverlayFS und "mount --bind" gebildet. Es wurden der Befehl systemd-mstack, die Option "--mstack" in systemd-nspawn sowie der Parameter RootMStack in den Units hinzugefĂŒgt, die fĂŒr die gleichzeitige Montage und Demontage aller Elemente, die in der "mstack"-Konfiguration definiert sind, verwendet werden können, beispielsweise zum schnellen Wiederherstellen eines Container-Images oder einer Arbeitsumgebung fĂŒr einen Service. Jede Datei oder jedes Unterverzeichnis in ".mstack/" definiert eine Montageschicht oder einen "overlayfs"-Layer.
Beispielsweise definiert die folgende Konfiguration "foobar.mstack/" ein overlayfs mit zwei Schichten im Nur-Lese-Modus aus den Disk-Images base.raw und app.raw (die als symbolische Links angegeben sind), sowie einem Verzeichnis "rw" mit Schreibmöglichkeiten darĂŒber: foobar.mstack/layer@0.raw â ../base.raw foobar.mstack/layer@1.raw â ../app.raw foobar.mstack/rw/
- Die Frameworks âmetricsâ und âreportâ wurden implementiert, die von Systemkomponenten zur Ausgabe von Statistiken ĂŒber Varlink im Verzeichnis /run/systemd/report/ verwendet werden können. ZusĂ€tzlich wurde das Dienstprogramm systemd-report hinzugefĂŒgt, welches einen konsolidierten Bericht erstellt, der Statistiken aller Komponenten zusammenfasst und im JSON-Format ausgibt. Derzeit stellen nur der Dienstmanager und systemd-networkd Metriken bereit.
- In systemd-networkd wurde die Integration mit ModemManager sichergestellt und eine Sektion â[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 ĂŒber ein Modem zu Mobilfunkanbietern zu nutzen.
- Es wurde die Möglichkeit geschaffen, systemd-portabled als Benutzerdienst zu starten, der von einem nicht privilegierten Benutzer ausgefĂŒhrt wird. Um den Diensttyp auszuwĂ€hlen, wurden in das Dienstprogramm portablectl die Flags ââuserâ und ââsystemâ hinzugefĂŒgt. Tragbare Dienste (âPortable Servicesâ) sind Systemdienste, die als eigenstĂ€ndige Container gestaltet sind (werden als Systemabbild bereitgestellt, jedoch wie ein gewöhnlicher Dienst behandelt).
- In systemd-logind und systemd-udevd wurde die UnterstĂŒtzung fĂŒr das Konzept "xaccess" (Extended Access) eingefĂŒhrt, das es ermöglicht, den Zugriff auf die GPU in grafischen Sitzungen fĂŒr Benutzer mit remote Zugriff bereitzustellen, die physisch keinen Monitor und EingabegerĂ€te auf dem lokalen System verwenden (analog zum uaccess-Zugriff, der Benutzer umfasst, die physisch am Computer arbeiten). FĂŒr die Konfiguration der Sitzungen wird in diesem Fall empfohlen, ĂŒber PAM die Umgebungsvariable XDG_SESSION_EXTRA_DEVICE_ACCESS festzulegen.
- Um die Konfiguration des DeviceTree in UKI-Images (Unified Kernel Image) zu automatisieren, wurde ein kanonischer Satz von Dateien mit Hardware-IDs unter /usr/lib/systemd/boot/hwids/ vorgeschlagen, der die GerĂ€te-IDs mit Elementen des DeviceTree verknĂŒpft. Mit diesem Satz findet und lĂ€dt das UKI-Image automatisch das erforderliche DTB (Device Tree Blob) wĂ€hrend des Bootvorgangs, ohne dass spezifische Images fĂŒr jedes GerĂ€t 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â durch die Möglichkeit unterscheidet, nicht-ASCII Unicode-Glyphen zu verwenden. 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-Schnittstellen bereitstellen, wurden mithilfe symbolischer Links in einem einzigen Verzeichnis /run/varlink/registry/ zusammengefĂŒhrt. Zum Anzeigen der Liste solcher Dienste wurde der Befehl âvarlinkctl list-registryâ implementiert.
- In Unit-Dateien wurde die Möglichkeit eingefĂŒhrt, im Parameter PrivateUsers den Wert âmanagedâ anzugeben, um dem Unit automatisch Benutzer- und Gruppen-IDs (UID/GID) ĂŒber systemd-nsresourced zuzuweisen.
- In Unit-Dateien wurde die Einstellung RefreshOnReload hinzugefĂŒgt, um Erweiterungen und Anmeldedaten beim Neustart der Unit zu aktualisieren.
- In Unit-Dateien wurde die Einstellung BindNetworkInterface hinzugefĂŒgt, um alle im Unit erstellten Sockets automatisch an das angegebene Netzwerk-Interface zu binden.
- In Unit-Dateien wurden die Einstellungen ConditionPathIsSocket und AssertPathIsSocket hinzugefĂŒgt, um das Verhalten der Unit zu Ă€ndern oder sie abzubrechen, wenn 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â wurde als veraltet erklĂ€rt.
- In den Diensten wurde die Einstellung MemoryTHP hinzugefĂŒgt, um die Verwendung von groĂen Speicherseiten in den Diensten zu verwalten (THP â Transparent Huge Pages).
- In den .delegate-Dateien von systemd-resolved wurde die UnterstĂŒtzung des Parameters FirewallMark hinzugefĂŒgt, um im Netzwerk-Stack ein âfirewall markâ fĂŒr den generierten DNS-Verkehr festzulegen.
- In systemd-sysupdate wurde der Befehl âacquireâ hinzugefĂŒgt, um die Schritte des Lade- und Installations- oder Aktualisierungsprozesses zu trennen. Die UnterstĂŒtzung zur Kennzeichnung 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 Formats âJSONâ mit der Möglichkeit zur Verwendung der Flags ââwhatâ, ââwhoâ, ââwhyâ und ââmodeâ zur Filterung der Ausgabe implementiert.
- In systemd-repart wurde eine grundlegende UnterstĂŒtzung fĂŒr die ĂberprĂŒfung der IntegritĂ€t von verschlĂŒsselten Partitionen unter Verwendung von dm-integrity hinzugefĂŒgt.
- In das Werkzeug 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 die interaktive Authentifizierung mit polkit implementiert.
- Eine polkit-Richtlinie 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â zu laden, die in Form von Images zum EinhĂ€ngen ĂŒ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.
- Es wurden vollfunktionsfĂ€hige, eigenstĂ€ndige ausfĂŒhrbare Dateien fĂŒr systemd-sysusers und systemd-tmpfiles bereitgestellt (zuvor wurden gekĂŒrzte Versionen erstellt).
- In systemd-oomd wurde ein âprekill hookâ hinzugefĂŒgt, der es ermöglicht, Handler zu integrieren, die vor der erzwungenen Beendigung eines Prozesses wegen Speichermangel im System ausgelöst werden.
- Die Möglichkeit, nicht-systemische Benutzer und Gruppen in udev-Regeln (OWNER=/GROUP=) und den Einstellungen von systemd-networkd (User=/Group=) zu verwenden, wurde wiederhergestellt, jedoch als veraltet markiert.
- In systemd-repart wurde die FunktionalitĂ€t des mkfs.xfs-Tools, die in xfsprogs 6.17.0 eingefĂŒhrt wurde, aktiviert, um den Anfangsinhalt des Dateisystems aus dem angegebenen Verzeichnis bereitzustellen.
- Die Anforderungen an die minimalen Versionen 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 das Engagement zur Vermeidung sichtbarer RĂŒckschritte in den öffentlichen Schnittstellen verstĂ€rkt wurde.
Quelle: opennet.ru
