Nach sechs Monaten Entwicklungszeit wurde die Veröffentlichung des Systemmanagers systemd 257 vorgestellt. Wichtige Ănderungen: neue Dienstprogramme systemd-sbsign und systemd-keyutil, UnterstĂŒtzung fĂŒr MPTCP bei Aktivierung ĂŒber einen Socket, anfĂ€ngliche UnterstĂŒtzung fĂŒr das Erstellen mit der Musl-C-Bibliothek updatectl-Dienstprogramm zur Verwaltung der Installation von Updates ĂŒber systemd-sysupdate, die Möglichkeit, Dienste in separaten PID-Namespaces zu starten, Schutz vor versehentlichem Löschen von Dateien bei Verwendung von âsystemd-tmpfiles â purgeâ.
Zu den Ănderungen in der neuen Version gehören:
- Ein neues Hilfsprogramm, systemd-sbsign, wurde hinzugefĂŒgt, um ausfĂŒhrbare Dateien im PE-Format (Portable Executable) digital zu signieren. Diese Dateien sind fĂŒr den Start im EFI Secure Boot-Modus vorgesehen. Zur Signaturerstellung können Engines und Provider der OpenSSL-Bibliothek verwendet werden. systemd-sbsign kann als Alternative zu den Anwendungen sbsigntool und pesign im ukify-Dienstprogramm beim Erstellen universeller Kernel-Images (UKIs) eingesetzt werden. UKIs kombinieren einen UEFI-Bootloader (UEFI-Boot-Stub) und ein Kernel-Image in einer einzigen Datei. Linux und die initrd-Systemumgebung in den Speicher geladen.
- Ein neues Dienstprogramm, systemd-keyutil, wurde hinzugefĂŒgt, das verschiedene VorgĂ€nge fĂŒr private SchlĂŒssel und X.509-Zertifikate implementiert. Beispielsweise kann systemd-keyutil verwendet werden, um die FĂ€higkeit zu testen, private SchlĂŒssel und Zertifikate zu laden und daraus öffentliche SchlĂŒssel im PEM-Format zu extrahieren.
- In den ".socket"-Einheiten, die fĂŒr die Funktion des Socket-Aktivierungsmechanismus (Starten von Prozessen beim Aufbau einer Netzwerkverbindung) zustĂ€ndig sind, wird MPTCP (Multipath TCP) unterstĂŒtzt. MPTCP ist eine Erweiterung des TCP-Protokolls, die den Betrieb einer TCP-Verbindung mit der gleichzeitigen Zustellung von Paketen ĂŒber mehrere Routen durch verschiedene, an unterschiedliche Netzwerkschnittstellen gebundene GerĂ€te organisiert. IP-Adressen.
- EnthĂ€lt Ănderungen, die zum Erstellen mit der Standard-Musl-C-Bibliothek erforderlich sind.
- Verschiedene systemd-Komponenten, die Fortschrittsanzeigen darstellen (z. B. systemd-repart, systemd-sysupdate/updatectl und importctl), unterstĂŒtzen nun die Verwendung von ANSI-Sequenzen zur Animation der Fortschrittsanzeigen. Solche Sequenzen werden derzeit nur in unterstĂŒtzt. Windows Terminal (es wird erwartet, dass im Laufe der Zeit eine Ă€hnliche Funktion auf Terminalemulatoren ĂŒbertragen wird fĂŒr Linux).
- Die Funktionen der systemd-sysupdate-Komponente wurden erweitert und dienen zum automatischen Erkennen, Herunterladen und Installieren von Updates mithilfe eines atomaren Mechanismus zum Ersetzen von Partitionen, Dateien oder Verzeichnissen (es werden zwei unabhÀngige Partitionen/Dateien/Verzeichnisse verwendet, von denen eine die aktuelle Funktion enthÀlt). Ressource, und der andere installiert das nÀchste) Update, nach dem die Abschnitte/Dateien/Verzeichnisse ausgetauscht werden. In der Praxis wird systemd-sysupdate bereits im GNOME-Betriebssystem verwendet.
ZusĂ€tzlich zum systemd-sysupdate-Prozess wurde ein gleichnamiger Dienst hinzugefĂŒgt, der es einem unprivilegierten Benutzer ermöglicht, D-Bus zur Verwaltung von Systemaktualisierungen zu verwenden. Zur Verwaltung des Dienstes ist auĂerdem ein neues Dienstprogramm updatectl enthalten. â--offlineâ-Flag zu systemd-sysupdate hinzugefĂŒgt, um das Herunterladen von Metadaten ĂŒber das Netzwerk zu deaktivieren und nur Versionen zu verwenden, die bereits auf das lokale System heruntergeladen wurden. UnterstĂŒtzung fĂŒr die Ausgabe im JSON-Format fĂŒr alle Befehle hinzugefĂŒgt.
- FĂŒr Dienste wurde eine neue Eigenschaft âPrivatePIDsâ implementiert, mit der Sie den Start von Prozessen mit PID 1 (Init-Prozess) in einem separaten Prozess-Identifier-Raum (PID-Namespace) organisieren können. In der fĂŒr den gestarteten Prozess erstellten Umgebung sind nur Prozesse aus dem dafĂŒr erstellten Namespace sichtbar.
- UnterstĂŒtzung fĂŒr Ăbereinstimmungen ohne BerĂŒcksichtigung der GroĂ- und Kleinschreibung bei udev-Regeln hinzugefĂŒgt (z. B. 'ATTR{foo}==i»abcd»'). Mit udev ist es möglich, unprivilegierten lokalen Benutzern Zugriff (âuaccessâ) auf das /dev/udmabuf-GerĂ€t zu gewĂ€hren, der fĂŒr die Arbeit mit IPMI-Kameras ĂŒber libcamera notwendig ist. udev erkennt verschiedene Hardware-Krypto-Wallets mit USB-Schnittstelle und setzt fĂŒr sie die Eigenschaft ID_HARDWARE_WALLET, die es Ihnen ermöglicht, den âuaccessâ-Modus fĂŒr den Zugriff durch nichtprivilegierte Benutzer auf sie anzuwenden.
- Der Datei /etc/os-release wurden neue Felder RELEASE_TYPE, EXPERIMENT und EXPERIMENT_URL hinzugefĂŒgt. âRELEASE_TYPEâ kann die Werte âexperimentalâ, âdevelopmentâ, âstableâ und âltsâ annehmen, um stabile Versionen von Entwicklungs- und experimentellen Builds zu trennen. Die Parameter EXPERIMENT und EXPERIMENT_URL sollen das Wesentliche des experimentellen Builds erlĂ€utern.
- Das Dienstprogramm run0, das als Ersatz fĂŒr das Programm sudo entwickelt wurde, hat die Option â--shell-prompt-prefixâ hinzugefĂŒgt, die die PrĂ€fixzeichenfolge fĂŒr die Befehls-Shell-Eingabeaufforderung angibt. StandardmĂ€Ăig wird das Emoji âđŠžâ als PrĂ€fix angezeigt, um eine erhöhte Sitzung optisch hervorzuheben.
- Um zu verhindern, dass versehentlich die falschen Dateien gelöscht werden, gilt in systemd-tmpfiles die Option â--purgeâ jetzt nur fĂŒr Einstellungen in tmpfiles.d/, bei denen das Flag â$â explizit gesetzt ist. Die Operation â--purgeâ erfordert jetzt auch die Angabe mindestens einer Datei aus dem Verzeichnis tmpfiles.d/. FĂŒr Zeichenfolgen mit dem Typ âLâ wurde das Flag â?â hinzugefĂŒgt. Bei Angabe wird ein symbolischer Link nur erstellt, wenn die Zieldatei vorhanden ist.
- Im Service Manager und zugehörigen Dienstprogrammen wird der Prozessverfolgungscode weiterhin so konvertiert, dass PIDFD anstelle von PID verwendet wird. Ein PIDFD ist einem bestimmten Prozess zugeordnet und Àndert sich nicht, wÀhrend eine PID einem anderen Prozess zugeordnet werden kann, nachdem der aktuelle Prozess, der dieser PID zugeordnet ist, beendet wird.
- FĂŒr Dienste ist es nun möglich, im Parameter âRestartModeâ den Wert âdebugâ anzugeben, bei dem der ausgefallene Dienst mit aktiviertem Debug-Modus neu gestartet wird (die Umgebungsvariable DEBUG_INVOCATION=1 ist gesetzt) ââund der LogLevelMax-Wert vorĂŒbergehend auf Debug-Level angehoben.
- Der PID 1-Handler hat die Möglichkeit, Regeln fĂŒr das IPE-LSM-Modul (Integrity Policy Enforcement) zu laden, die die IntegritĂ€tsrichtlinie fĂŒr das gesamte System definieren (welche VorgĂ€nge zulĂ€ssig sind und wie die AuthentizitĂ€t von Komponenten ĂŒberprĂŒft werden soll).
- Den Unit-Dateien â.timerâ wurde die Option âDeferReactivationâ hinzugefĂŒgt, mit der Sie die nĂ€chste Timer-Aktivierung ĂŒberspringen können, wenn der Dienst seine AusfĂŒhrung seit der letzten Aktivierung noch nicht abgeschlossen hat.
- Im Unit-Dateiparameter PrivateUsers ist es nun möglich, den Wert âidentityâ anzugeben, um die Zuordnung von Benutzer-IDs beim Erstellen eines Benutzernamensraums zu ermöglichen.
- UnterstĂŒtzung fĂŒr den Wert âdisconnectedâ zum Unit-Dateiparameter PrivateTmp hinzugefĂŒgt, der separate tmpfs-Instanzen fĂŒr die Verzeichnisse /tmp/ und /var/tmp/ verwendet.
- Dem Unit-Dateiparameter ProtectControlGroups wurde UnterstĂŒtzung fĂŒr neue âprivateâ und âstrengeâ Modi hinzugefĂŒgt. Wenn diese festgelegt sind, wird ein neuer cgroup-Namespace fĂŒr den Dienst erstellt und cgroupfs gemountet. Wenn die Option âstrictâ gesetzt ist, wird cgroupfs im schreibgeschĂŒtzten Modus gemountet.
- Die Parameter StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory und ConfigurationDirectory bieten die Möglichkeit, das Flag â:roâ zu verwenden, um den Zugriff auf die entsprechenden Verzeichnisse auf den schreibgeschĂŒtzten Modus zu beschrĂ€nken.
- UnterstĂŒtzung fĂŒr den Wert âfirmwareâ zum Kernel-Befehlszeilenparameter âsystemd.machine_idâ hinzugefĂŒgt, in dem die Systemkennung (Maschinen-ID) basierend auf der UUID von SMBIOS/DeviceTree berechnet wird.
- UnterstĂŒtzung fĂŒr die in den letzten Kernel-Versionen eingefĂŒhrten Systemaufrufe mseal(), listmount() und statmount() hinzugefĂŒgt. Linux.
- Die Dienstprogramme âresolvectlâ, âtimedatectlâ und âsystemd-inhibitâ unterstĂŒtzen jetzt die interaktive Autorisierung mit Polkit.
- Es wurde die Möglichkeit hinzugefĂŒgt, das Flag â--nowâ im Befehl âreenableâ zum Dienstprogramm âsystemctlâ zu verwenden.
- Option â--jsonâ zum Dienstprogramm systemd-mount fĂŒr die Ausgabe im JSON-Format hinzugefĂŒgt (wenn sie beispielsweise zusammen mit â--list-devicesâ angegeben wird, wird eine Liste von GerĂ€ten im JSON-Format ausgegeben).
- Dem Dienstprogramm âlocalectlâ wurden die Optionen â-lâ und â--fullâ hinzugefĂŒgt, um das Abschneiden langer Zeilen wĂ€hrend der Ausgabe zu deaktivieren.
- In der Datei âsleep.confâ wurde die Option âHibernateOnACPowerâ hinzugefĂŒgt, mit der Sie den Wechsel in den Schlafmodus verzögern können, bis das GerĂ€t von der stationĂ€ren Stromquelle getrennt wird.
- In systemd-sysusers wurde den âuâ-Zeilen UnterstĂŒtzung fĂŒr den Modifikator â!â hinzugefĂŒgt, mit dem Sie vollstĂ€ndig gesperrte Benutzerkonten erstellen können (zuvor wurde das Festlegen eines falschen Passworts zum Blockieren eines Benutzers verwendet, was beispielsweise dazu fĂŒhrte, dass fĂŒhrte nicht zur Blockierung bei der SchlĂŒsselauthentifizierung in SSH).
- Systemd-coredump fĂŒgt eine Option âEnterNamespaceâ hinzu, die den Zugriff auf den EinhĂ€ngepunktraum aller abgestĂŒrzten Prozesse ermöglicht, um deren Debugsymbole abzurufen. In der Praxis kann die Option nĂŒtzlich sein, um die RĂŒckverfolgung von Kerndateien von Anwendungen zu organisieren, die in isolierten Containern ausgefĂŒhrt werden.
- systemd-logind umfasst die Verarbeitung der Kombination Strg-Alt-Umschalt-Esc, um das Signal org.freedesktop.login1.SecureAttentionKey an die Komponenten der Benutzerumgebung mit der Aufforderung zu senden, einen sicheren Anmeldedialog anzuzeigen. Die Einstellung âDesignatedMaintenanceTimeâ wurde implementiert, um die Arbeit automatisch so zu planen, dass sie zu einem bestimmten Zeitpunkt abgeschlossen wird. Analog zur UnterstĂŒtzung fĂŒr DRM- und evdev-GerĂ€te wurde UnterstĂŒtzung fĂŒr die Konfiguration des Zugriffs fĂŒr nichtprivilegierte Benutzer auf Hidraw-GerĂ€te (Gamecontroller und Joysticks) hinzugefĂŒgt.
- systemd-machined unterstĂŒtzt jetzt unprivilegierte Client-Logins. virtuelle Maschinen und Container. Der Zugriff auf systemd-basierte Funktionen erfolgt ĂŒber die Varlink-API sowie ĂŒber D-Bus.
- Der Konfigurationsdatei networkd.conf wurde ein neuer Abschnitt â[IPv6AddressLabel]â hinzugefĂŒgt, um Bezeichnungen und PrĂ€fixe fĂŒr IPv6-Adressen zu konfigurieren
- Option â--stdinâ zum Befehl ânetworkctl editâ hinzugefĂŒgt, um Dateiinhalte aus dem Standard-Stream abzurufen. UnterstĂŒtzung fĂŒr das Bearbeiten und Anzeigen von .netdev-Dateien durch Angabe einer Netzwerkschnittstelle fĂŒr die Befehle ânetworkctl editâ und ânetworkctl catâ hinzugefĂŒgt. Option â--no-ask-passwordâ hinzugefĂŒgt, um die interaktive Autorisierung zu deaktivieren.
- Den Dienstprogrammen ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart und systemd-sbsign wurde die Option â--certificate-sourceâ hinzugefĂŒgt, um ein X.509-Zertifikat ĂŒber den OpenSSL-Anbieter zu laden, anstatt es direkt von einem zu laden Datei.
- systemd-boot bietet die Möglichkeit, mit den LautstĂ€rketasten durch das Boot-MenĂŒ nach oben und unten zu navigieren, was auf GerĂ€ten wie Smartphones nĂŒtzlich sein kann. Dem Dienstprogramm bootctl wurde UnterstĂŒtzung fĂŒr die Installation der UEFI Secure Boot-Datenbank im ESL-Format (db/dbx/âŠ) fĂŒr systemd-boot hinzugefĂŒgt.
- Option â--list-invocationâ zu âjournalctlâ hinzugefĂŒgt, um eine Liste von Einheitenaufrufen anzuzeigen, und Option â--invocationâ (â-Iâ), um Protokolle anzuzeigen, die nur einem bestimmten Aufruf zugeordnet sind.
- systemd-nspawn fĂŒgt UnterstĂŒtzung fĂŒr die unprivilegierte Verwendung von FUSE (Filesystem in Userspace) in Containern hinzu. Bei Verwendung der Option â--bind-userâ werden die fĂŒr den Zugriff per SSH benötigten SSH-SchlĂŒssel des Benutzers an den Container weitergeleitet.
- libsystemd hat eine neue Programmierschnittstelle âsd-jsonâ hinzugefĂŒgt, die das JSON-Format verwendet, sowie eine Schnittstelle âsd-varlinkâ, die IPC Varlink verwendet.
- Die empfohlene Basiskernelversion wurde auf Version 5.4 aus dem Jahr 2019 aktualisiert. NĂ€chstes Jahr planen sie, die UnterstĂŒtzung Ă€lterer Kernel einzustellen und die Version 5.4 als mindestens unterstĂŒtzte Basisversion zu markieren.
- Die UnterstĂŒtzung fĂŒr cgroups v1 ist veraltet und standardmĂ€Ăig deaktiviert (um sie zu aktivieren, mĂŒssen Sie zusĂ€tzlich zur Aktivierung in den Systemd-Einstellungen SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 in der Kernel-Befehlszeile angeben). Die nĂ€chste Version von systemd 258 sieht vor, den cgroups v1-bezogenen Code vollstĂ€ndig zu entfernen. Systemd Version 258 soll auĂerdem die UnterstĂŒtzung fĂŒr System V-Dienstskripte entfernen.
Source: opennet.ru
