Der systemd 259 ist verfĂŒgbar

Nach drei Monaten Entwicklung ist die Veröffentlichung des systemd-Managers 259 verfĂŒgbar. Wichtige Änderungen: UnterstĂŒtzung der Standardbibliothek Musl, der Befehl „run0 —empower“, um privilegierte Aktionen ohne UID-Wechsel auszufĂŒhren, dynamisches Laden von Drittanbieterbibliotheken, die in libsystemd benötigt werden, Ignorieren von Konfigurationsdateien durch HinzufĂŒgen von „.ignore“ zum Namen.

Zu den Änderungen in der neuen Version gehören:

  • Teilweise UnterstĂŒtzung der Standard-C-Bibliothek Musl wurde hinzugefĂŒgt, aktivierbar durch Setzen des Wertes „musl“ in der libc-Option im Meson-Buildsystem. Da die Musl-Bibliothek die NSS-FunktionalitĂ€t nicht bereitstellt, sind beim Build von systemd mit Musl die Komponenten nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd sowie der Parameter DynamicUser und die Möglichkeit des nicht privilegierten Starts von systemd-nspawn nicht verfĂŒgbar. Die Entwickler von systemd garantieren bisher nicht, dass die UnterstĂŒtzung von Musl in zukĂŒnftigen Versionen erhalten bleibt. Die Entscheidung hĂ€ngt von der erfolgreichen Weiterentwicklung der Schicht ab, die zusĂ€tzliche FunktionalitĂ€ten ĂŒber Musl implementiert, sowie von der Nachfrage nach dem Projekt und Berichten ĂŒber muslspezifische Fehler.
  • In das Tool run0, das als sichere Alternative zu sudo dient und auf systemd-run aufbaut, wurde die Option „—empower“ hinzugefĂŒgt, die das Starten einer neuen Sitzung mit erhöhten Privilegien ermöglicht, ohne zum Benutzer root zu wechseln. Die AusfĂŒhrung privilegierter Aktionen ohne UID-Wechsel erfolgt durch Setzen von Capability-Flags wie CAP_SYS_ADMIN, die ausreichend sind, um auf die meisten privilegierten Systemaufrufe zuzugreifen. Die gestarteten Prozesse werden außerdem in eine separate Gruppe „empower“ eingeteilt, die Zugriff auf die meisten Polkit-Aktionen hat.
  • Es wurde beschlossen, die UnterstĂŒtzung von Service-Skripten im System V-Format in der nĂ€chsten Version zu entfernen. Zu entfernen sind die Komponenten systemd-sysv-install, systemd-rc-local-generator und systemd-sysv-generator. In der nĂ€chsten Version sind auch erhöhte Anforderungen an die minimalen Versionen vorgesehen: Linux-Kernel 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0.
  • Im Rahmen der Initiative zur Reduzierung von AbhĂ€ngigkeiten wird in libsystemd die dynamische LadefunktionalitĂ€t fĂŒr die Bibliotheken libacl, libblkid, libseccomp, libselinux und libmount mit Hilfe des Aufrufs von dlopen() implementiert, wenn deren Funktionen tatsĂ€chlich benötigt werden. Über dlopen() wird auch die Zusammenarbeit mit dem Linux-Audit-System und PAM realisiert. Die zuvor ĂŒber die Zwischenbibliothek libcap aufgerufene FunktionalitĂ€t ist jetzt in libsystemd integriert.
  • In systemd-resolved wurde die Möglichkeit hinzugefĂŒgt, lokale Handler anzuhĂ€ngen, die bei jeder Anfrage zur Auflösung lokaler Namen aufgerufen werden. Die Handler werden im Verzeichnis /run/systemd/resolve.hook/ abgelegt.
  • In der Benutzerdatenbank wurde ein Feld fĂŒr die UUID hinzugefĂŒgt, und im Tool userdbctl wurde die Option „—uuid“ fĂŒr die Suche nach UUIDs ergĂ€nzt.
  • Es wurde sichergestellt, dass Konfigurationsdateien mit Namen, die auf „.ignore“ enden, ignoriert werden.
  • In systemd-importd wurde eine integrierte Logik zur Arbeit mit TAR-Archiven implementiert, die libarchive anstelle des Aufrufs des GNU tar-Tools verwendet. Es wurde die Möglichkeit geschaffen, systemd-machined und systemd-importd benutzerspezifisch zu starten, anstatt auf Systemebene, mit dem Laden von Systemabbildern in ~/local/state/machines/. Zur Auswahl des Betriebsmodus wurden in das Tool importctl die Optionen „—user“ und „—system“ hinzugefĂŒgt.
  • Der Standardmodus fĂŒr die Speicherung von Protokollen wurde von ‚auto‘ auf ‚persistent‘ geĂ€ndert (frĂŒher hing der Modus von der Existenz des Verzeichnisses /var/log/journal ab).
  • In systemd-networkd und systemd-nspawn wird die UnterstĂŒtzung fĂŒr die Erstellung von NAT-Regeln ĂŒber iptables/libiptc eingestellt. Es bleibt nur die UnterstĂŒtzung von nftables bestehen.
  • In systemd-boot und systemd-stub wird die UnterstĂŒtzung fĂŒr TPM 1.2 eingestellt (die UnterstĂŒtzung fĂŒr TPM 2.0 bleibt erhalten).
  • In systemd-machined wird standardmĂ€ĂŸig sichergestellt, dass „verborgene“ Disk-Images, deren Namen mit einem Punkt beginnen, im Nur-Lese-Modus eingehĂ€ngt werden.
  • Die API basierend auf dem Varlink-Protokoll wurde erweitert, die nun fĂŒr den Zugriff auf die Dienstkonfigurationen verwendet werden kann. IPC-Aufrufe fĂŒr Reload() und Reexecute() wurden implementiert. Es wurden Aufrufe fĂŒr den Zugriff auf die FunktionalitĂ€t und Konfigurationen von systemd-repart, systemd-resolved und systemd-networkd hinzugefĂŒgt.
  • Die Einstellung ExecReloadPost wurde hinzugefĂŒgt, die es ermöglicht, Befehle nach dem Neustart der Dienstkonfiguration auszufĂŒhren.
  • FĂŒr Dienste wurden die Eigenschaften OOMKills und ManagedOOMKills implementiert, die die Anzahl der Prozesse enthalten, die vom Kernel oder systemd-oomd aufgrund von Speichermangel zwangsweise beendet wurden.
  • FĂŒr temporĂ€re Dienste wurde die Eigenschaft RootDirectoryFileDescriptor hinzugefĂŒgt, die den Dateideskriptor des Wurzelverzeichnisses definiert.
  • Die Einstellung UserNamespacePath wurde hinzugefĂŒgt, die es ermöglicht, ein Unit ĂŒber einen Pfad im Pseudo-Dateisystem /proc mit dem Benutzer-Namespace zu verbinden, Ă€hnlich den Einstellungen IPCNamespacePath und NetworkNamespacePath. In systemd-nspawn wurde die Einstellung NamespacePath zur Angabe des Netzwerk-Namensraums im [Network]-Abschnitt von .nspawn-Dateien hinzugefĂŒgt.
  • In systemd-sysext und systemd-confext wurde die UnterstĂŒtzung fĂŒr separate Konfigurationsdateien /etc/systemd/systemd-sysext.conf und /etc/systemd/systemd-confext.conf implementiert. Es wurde die Möglichkeit hinzugefĂŒgt, die Umgebungsvariable SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS und $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS zur Konfiguration der Overlayfs-Mount-Optionen zu verwenden.
  • In systemd-udevd wurde die Einstellung OPTIONS=»dump-json» hinzugefĂŒgt, um den Status des aktuellen Ereignisses im JSON-Format auszugeben. In der Funktion net_id wurde die Generierung vorhersehbarer Namen fĂŒr drahtlose Netzwerkschnittstellen auf Systemen mit DeviceTree implementiert. Es wird die Generierung symbolischer Links /dev/gpio/by-id/... fĂŒr GPIO-GerĂ€te sichergestellt.
  • Im Befehl «homectl update» wurde die Möglichkeit hinzugefĂŒgt, die Option «—recovery-key» zu verwenden, um Backup-SchlĂŒssel zu einem bestehenden Benutzerkonto hinzuzufĂŒgen (zuvor konnten solche SchlĂŒssel nur bei der Erstellung des Benutzers hinzugefĂŒgt werden).
  • In systemd-homed wurden die Optionen «—prompt-shell» und «—prompt-groups» fĂŒr die interaktive Auswahl der Kommandozeile und der Gruppe wĂ€hrend des ersten Starts mit dem Dienst systemd-homed-firstboot.service hinzugefĂŒgt. In systemd-firstboot wurde die Option «—prompt-keymap-auto» hinzugefĂŒgt, um beim ersten Start ĂŒber die lokale Konsole nach dem Tastaturlayout zu fragen.
  • In systemd-boot wurde die Möglichkeit hinzugefĂŒgt, das Protokollierungsniveau ĂŒber den Parameter log-level in loader.conf oder das SMBIOS-Feld io.systemd.boot.loglevel festzulegen.
  • In systemd-networkd wurden fĂŒr den DHCP-Server die Optionen EmitDomain und Domain hinzugefĂŒgt, und es wurde ein Handler implementiert, um die ĂŒber DHCP ausgegebenen Hostnamen ĂŒber DNS-Resolving zu ermitteln.
  • In systemd-run wurde die Option «—root-directory» hinzugefĂŒgt, um einen Dienst im angegebenen Wurzelverzeichnis zu starten. In systemd-run und run0 wurde die Option «—same-root-dir» («-R») hinzugefĂŒgt, um einen Dienst im selben Wurzelverzeichnis zu starten, das auch der auslösende Prozess hat.
  • In systemd-modules-load wurde die Parallelisierung des Ladens von Kernelmodulen implementiert.
  • In systemd-integrity-setup wurde die UnterstĂŒtzung fĂŒr die Algorithmen HMAC-SHA256, PHMAC-SHA256 und PHMAC-SHA512 hinzugefĂŒgt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4