systemd Systemmanager Version 251

Nach fünf Monaten Entwicklungszeit wird die Veröffentlichung des Systemmanagers systemd 251 vorgestellt.

Wichtigste Änderungen:

  • Die Systemanforderungen wurden erhöht. Die unterstützte Mindestversion des Linux-Kernels wurde von 3.13 auf 4.15 erhöht. Für den Betrieb ist der Timer CLOCK_BOOTTIME erforderlich. Zum Erstellen benötigen Sie einen Compiler, der den C11-Standard und GNU-Erweiterungen unterstützt (für Header-Dateien wird weiterhin der C89-Standard verwendet).
  • Es wurde ein experimentelles Dienstprogramm systemd-sysupdate hinzugefügt, um Updates mithilfe eines atomaren Mechanismus zum Ersetzen von Partitionen, Dateien oder Verzeichnissen automatisch zu erkennen, herunterzuladen und zu installieren (es werden zwei unabhängige Partitionen/Dateien/Verzeichnisse verwendet, von denen eine die aktuelle Arbeitsressource enthält und die andere installiert). beim nächsten Update, nach dem die Abschnitte/Dateien/Verzeichnisse ausgetauscht werden).
  • Einführung der neuen internen gemeinsam genutzten Bibliothek libsystemd-core- .so, das im Verzeichnis /usr/lib/systemd/system installiert wird und der vorhandenen libsystemd-shared-Bibliothek entspricht .Also. Verwendung der gemeinsam genutzten Bibliothek libsystemd-core Mit .so können Sie die Gesamtinstallationsgröße durch die Wiederverwendung von Binärcode reduzieren. Die Versionsnummer kann über den Parameter „shared-lib-tag“ im Meson-Build-System angegeben werden und ermöglicht es Distributionen, mehrere Versionen dieser Bibliotheken gleichzeitig auszuliefern.
  • Die Übertragung der Umgebungsvariablen $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID und $MONITOR_UNIT von Informationen über die überwachte Einheit an die OnFailure/OnSuccess-Handler wurde implementiert.
  • Für Einheiten wurde die Einstellung ExtensionDirectories implementiert, mit der das Laden von Systemerweiterungskomponenten aus regulären Verzeichnissen statt aus Disk-Images organisiert werden kann. Der Inhalt des Systemerweiterungsverzeichnisses wird mit OverlayFS überlagert und dient dazu, die Hierarchie der Verzeichnisse /usr/ und /opt/ zu erweitern und zur Laufzeit zusätzliche Dateien hinzuzufügen, selbst wenn diese Verzeichnisse schreibgeschützt gemountet sind. Der Befehl „portablectl attachment --extension=“ bietet außerdem Unterstützung für die Angabe eines Verzeichnisses.
  • Für Einheiten, die vom systemd-oomd-Handler aufgrund von Speichermangel im System zwangsweise beendet wurden, wird das Attribut „oom-kill“ übertragen und die Anzahl der erzwungenen Beendigungen wird im Attribut „user.oomd_ooms“ widergespiegelt.
  • Für Einheiten wurden neue Pfadspezifizierer %y/%Y hinzugefügt, die den normalisierten Pfad zur Einheit widerspiegeln (mit der Erweiterung symbolischer Links). Außerdem wurden die %q-Spezifizierer zum Ersetzen des PRETTY_HOSTNAME-Werts und %d für die CREDENTIALS_DIRECTORY-Ersetzung hinzugefügt.
  • Bei nicht privilegierten Diensten, die von einem normalen Benutzer mit dem Flag „--user“ gestartet werden, werden Änderungen an den Einstellungen von RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath vorgenommen , PrivateUsers, ProtectClock sind erlaubt, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs und MountFlags. Diese Funktion ist nur verfügbar, wenn Benutzernamensräume im System aktiviert sind.
  • Die LoadCredential-Einstellung ermöglicht die Angabe eines Verzeichnisnamens als Argument. In diesem Fall wird versucht, Anmeldeinformationen aus allen Dateien im angegebenen Verzeichnis zu laden.
  • In systemctl wurde es im Parameter „—timestamp“ möglich, das „unix“-Flag anzugeben, um die Zeit im epochalen Format (die Anzahl der Sekunden seit dem 1. Januar 1970) anzuzeigen.
  • Der „systemctl status“ implementiert das „old-kernel“-Flag, das angezeigt wird, wenn der in der Sitzung geladene Kernel eine ältere Versionsnummer hat als der im System verfügbare Basiskernel. Außerdem wurde ein „unmerged-usr“-Flag hinzugefügt, um zu bestimmen, dass der Inhalt der Verzeichnisse /bin/ und /sbin/ nicht durch symbolische Links zu /usr gebildet wird.
  • Für Generatoren, die von einem PID 1-Prozess gestartet werden, werden neue Umgebungsvariablen bereitgestellt: $SYSTEMD_SCOPE (Start von einem System- oder Benutzerdienst), $SYSTEMD_IN_INITRD (Start von der Initrd- oder Host-Umgebung), $SYSTEMD_FIRST_BOOT (Erststartindikator), $SYSTEMD_VIRTUALIZATION ( Vorhandensein einer Virtualisierung oder Start in einem Container) und $SYSTEMD_ARCHITECTURE (die Architektur, für die der Kernel erstellt wurde).
  • Der PID 1-Handler implementiert die Möglichkeit, Systemanmeldeinformationsparameter über die QEMU-Schnittstelle fw_cfg oder durch Angabe des Parameters systemd.set_credential in der Kernel-Befehlszeile zu laden. Die LoadCredential-Direktive ermöglicht die automatische Suche nach Anmeldeinformationen in den Verzeichnissen /etc/credstore/, /run/credstore/ und /usr/lib/credstore/, wenn ein relativer Pfad als Argument angegeben wird. Ähnliches Verhalten gilt für die LoadCredentialEncrypted-Direktive, die zusätzlich die Verzeichnisse /etc/credstore.encrypted/, /run/credstore.encrypted/ und /usr/lib/credstore.encrypted/ überprüft.
  • Die Möglichkeit, im JSON-Format zu exportieren, wurde in systemd-journald stabilisiert. Die Befehle „journalctl --list-boots“ und „bootctl list“ unterstützen jetzt die Ausgabe im JSON-Format (das Flag „--json“).
  • Zu udev wurden neue Dateien mit hwdb-Datenbanken hinzugefügt, die Informationen über tragbare Geräte (PDAs, Taschenrechner usw.) und Geräte zur Ton- und Videoerzeugung (DJ-Konsolen, Tastaturen) enthalten.
  • Neue Optionen „--prioritized-subsystem“ wurden zu udevadm hinzugefügt, um die Priorität der folgenden Systeme festzulegen (wird in systemd-udev-trigger.service verwendet, um Blockgeräte und TPMs zuerst zu verarbeiten), „-type=all“, „-initialized -match“ und „--initialized-nomatch“, um initialisierte oder nicht initialisierte Geräte auszuwählen, „udevadm info -tree“, um einen Baum von Objekten in der /sys/-Hierarchie anzuzeigen. udevadm fügt außerdem neue „Wait“- und „Lock“-Befehle hinzu, um auf das Erscheinen eines Geräteeintrags in der Datenbank zu warten und ein Blockgerät zu sperren, während eine Partitionstabelle formatiert oder geschrieben wird.
  • Ein neuer Satz symbolischer Links zu Geräten /dev/disk/by-diskseq/ hinzugefügt. um Blockgeräte anhand der Seriennummer („diskseq“) zu identifizieren.
  • Unterstützung für den Parameter „Firmware“ für .link-Dateien im Abschnitt [Match] hinzugefügt, um das Gerät zeilenweise mit der Firmware-Beschreibung abzugleichen.
  • In systemd-networkd wurde für Unicast-Routen, die über den Abschnitt [Route] konfiguriert wurden, der Bereichswert standardmäßig in „link“ geändert, um dem Verhalten des Befehls „ip route“ zu entsprechen. Der Parameter „Isolated=true|false“ wurde zum Abschnitt [Bridge] hinzugefügt, um das gleichnamige Attribut für Netzwerkbrücken im Kernel zu konfigurieren. Im Abschnitt [Tunnel] wurde der Parameter „Extern“ hinzugefügt, um den Tunneltyp auf „Extern“ (Metadatenerfassungsmodus) festzulegen. Im Abschnitt [DHCPServer] wurden die Parameter BootServerName, BootServerAddress und BootFilename hinzugefügt, um die Serveradresse, den Servernamen und den Bootdateinamen zu konfigurieren, die vom DHCP-Server beim Booten im PXE-Modus gesendet werden. Im Abschnitt [Netzwerk] wurde der L2TP-Parameter entfernt, stattdessen können Sie in .netdev-Dateien die neue Einstellung „Lokal“ in Verbindung mit der L2TP-Schnittstelle verwenden.
  • Neue Einheit „systemd-networkd-wait-online@“ hinzugefügt .service“, mit dem auf das Hochfahren einer bestimmten Netzwerkschnittstelle gewartet werden kann.
  • Es ist nun möglich, mithilfe von .netdev-Dateien virtuelle WLAN-Geräte zu erstellen, die im Abschnitt [WLAN] konfiguriert werden können.
  • In .link/.network-Dateien implementiert der Abschnitt [Match] den Kind-Parameter für den Abgleich nach Gerätetyp („bond“, „bridge“, „gre“, „tun“, „veth“).
  • Systemd-resolved wurde in einer früheren Boot-Phase gestartet, einschließlich des Starts von initrd, wenn systemd-resolved im initrd-Image vorhanden ist.
  • systemd-cryptenroll fügt die Option --fido2-credential-algorithm zur Auswahl des Verschlüsselungsalgorithmus für Anmeldeinformationen und die Option --tpm2-with-pin zur Steuerung der PIN-Eingabe beim Entsperren einer Partition mithilfe von TPM hinzu. Eine ähnliche tpm2-pin-Option wurde zu /etc/crypttab hinzugefügt. Beim Entsperren von Geräten über TPM werden die Einstellungen verschlüsselt, um ein Abfangen der Verschlüsselungsschlüssel zu verhindern.
  • systemd-timesyncd fügt die D-Bus-API zum dynamischen Abrufen von Informationen von einem NTP-Server über IPC hinzu.
  • Um festzustellen, ob eine Farbausgabe erforderlich ist, implementieren alle Befehle zusätzlich zu den zuvor überprüften NO_COLOR, SYSTEMD_COLORS und TERM eine Prüfung der Umgebungsvariablen COLORTERM.
  • Das Meson-Build-System implementiert die Option install_tag für die selektive Assemblierung und Installation der erforderlichen Komponenten: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Build-Option default-compression hinzugefügt, um den Komprimierungsalgorithmus für systemd-journald und systemd-coredump auszuwählen.
  • Experimentelle Einstellung „reboot-for-bitlocker“ zu sd-boot in Loader.conf hinzugefügt, um Microsoft Windows mit BitLocker TPM zu starten.

Source: opennet.ru

Kommentar hinzufügen