Veröffentlichung des Systemmanagers systemd 244

Nach drei Monaten Entwicklung vorgestellt der Veröffentlichung des Systemmanagers systemd 244.

Hauptänderungen:

  • Unterstützung für den Ressourcen-Controller cpuset auf Basis von cgroups v2 hinzugefügt, der einen Mechanismus zum Binden von Prozessen an bestimmte CPUs (Einstellung „AllowedCPUs“) und NUMA-Speicherknoten (Einstellung „AllowedMemoryNodes“) bereitstellt;
  • Unterstützung für das Laden von Einstellungen aus der EFI-Variable SystemdOptions für die Konfiguration von systemd hinzugefügt, was die Anpassung des Verhaltens von systemd in Situationen ermöglicht, in denen es schwierig ist, die Kernel-Befehlszeilenparameter zu ändern, und die Konfiguration von der Festplatte zu spät gelesen wird (z. B. wenn Optionen im Zusammenhang mit der cgroup-Hierarchie konfiguriert werden müssen). Um die Variable in EFI festzulegen, kann der Befehl ‚bootctl systemd-efi-options‘ verwendet werden;
  • Unterstützung für das Laden von Einstellungen aus Verzeichnissen „{unit_type}.d/“, die an die Einheitstypen (z. B. „service.d/“) gebunden sind, hinzugefügt, die zur Hinzufügung von Einstellungen verwendet werden können, die sofort für alle Dateien dieses Einheitstyps gelten;
  • Für Diensteinheiten wurde ein neuer Sandbox-Isolierungsmodus ProtectKernelLogs hinzugefügt, der den Zugriff des Programms auf den Kernel-Logpuffer, der über den Systemaufruf syslog verfügbar ist (nicht zu verwechseln mit der gleichnamigen API, die in libc bereitgestellt wird), blockiert. Bei Aktivierung des Modus wird der Zugriff der Anwendung auf /proc/kmsg, /dev/kmsg und CAP_SYSLOG gesperrt;
  • Für Einheiten wurde die Einstellung RestartKillSignal eingeführt, die die Möglichkeit bietet, die Signalnummer zu überschreiben, die für die Beendigung des Prozesses während des Neustarts von Aufgaben verwendet wird (das Verhalten beim Stoppen des Prozesses in der Phase der Vorbereitung auf die Wiederherstellung kann geändert werden);
  • Der Befehl „systemctl clean“ wurde für die Verwendung mit Socket-, Mount- und Swap-Einheiten (socket, mount, swap) angepasst;
  • In der frühen Phase des Bootvorgangs wurden die Einschränkungen für die Intensität der Ausgabe von Nachrichten durch den Kernel über den Aufruf printk deaktiviert, was es ermöglicht, vollständigere Protokolle über den Fortschritt des Bootvorgangs zu sammeln, wenn der Speicher für Protokolle noch nicht angeschlossen ist (Protokolle werden im Ringpuffer des Kernels gesammelt). Die Einstellung von Grenzen für printk über die Kernel-Befehlszeile hat eine höhere Priorität und ermöglicht das Überschreiben des Verhaltens von systemd. Programme von systemd, die Protokolle direkt an /dev/kmsg ausgeben (dies geschieht nur in der frühen Phase des Bootvorgangs), verwenden separate interne Einschränkungen, um ein Überfüllen des Puffers zu vermeiden;
  • Das Dienstprogramm systemctl wurde um den Befehl ‚stop —job-mode=triggering‘ erweitert, der es ermöglicht, sowohl die auf der Befehlszeile angegebene Einheit als auch alle Einheiten, die sie aufrufen können, zu stoppen;
  • Die Informationen zum Status der Einheit umfassen jetzt Angaben zu den aufrufenden und aufgerufenen Einheiten;
  • Es wurde die Möglichkeit geschaffen, die Einstellung „RuntimeMaxSec“ in Scope-Einheiten zu verwenden (zuvor wurde sie nur in Service-Einheiten angewendet). Beispielsweise kann „RuntimeMaxSec“ jetzt zur Begrenzung der PAM-Sitzungszeit durch die Erstellung einer Scope-Einheit verwendet werden
    für das Benutzerkonto. Die Zeitbeschränkung kann auch über die Option systemd.runtime_max_sec in den PAM-Modulparametern pam_systemd festgelegt werden;
  • Eine neue Gruppe von Systemaufrufen „@pkey“ wurde hinzugefügt, die das Hinzufügen von Systemaufrufen zur Whitelist im Hinblick auf Container und Dienste zur Verbesserung des Gedächtnisschutzes vereinfacht;
  • In systemd-tmpfiles wurde das Flag „w+“ zum Schreiben im Datei-Append-Modus hinzugefügt;
  • Im systemd-analyze-Ausgabe wurden Informationen zur Übereinstimmung der Kernel-Speicherkonfiguration mit den systemd-Einstellungen hinzugefügt (z. B. wenn eine externe Anwendung die Kernelparametern geändert hat);
  • In systemd-analyze wurde die Option „—base-time“ hinzugefügt, bei der die kalendarischen Daten relativ zur in dieser Option angegebenen Zeit und nicht zur aktuellen Systemzeit berechnet werden;
  • In „journalctl —update-catalog“ wurde die Kontinuität der Reihenfolge der Elemente in der Ausgabe sichergestellt (nützlich für die Organisation wiederholbarer Builds);
  • Es wurde die Möglichkeit hinzugefügt, einen Standardwert für die Einstellung „WatchdogSec“ zu definieren, die in systemd-Diensten verwendet wird. Während der Kompilierung kann der Basiswert über die Option „-Dservice-watchdog“ definiert werden (wenn ein leerer Wert angegeben wird, wird der Watchdog deaktiviert);
  • Eine Build-Option „-Duser-path“ wurde hinzugefügt, um den Wert von $PATH zu überschreiben;
  • In das Tool systemd-id128 wurde die Option „-u“ („—uuid“) zum Ausgeben von 128-Bit-Identifikatoren im UUID-Format (kanonische Darstellung von UUIDs) hinzugefügt;
  • Für den Build wird jetzt libcryptsetup in mindestens Version 2.0.1 benötigt.

Änderungen im Zusammenhang mit der Netzwerkkonfiguration:

  • In systemd-networkd wurde die Unterstützung für das dynamische Neurekonfigurieren von Links hinzugefügt, dafür wurden in networkctl die Befehle „reload“ und „reconfigure DEVICE…“ zum Neuladen von Einstellungen und Neurekonfigurieren von Geräten hinzugefügt;
  • In systemd-networkd wurde das Erstellen von Standardrouten für lokale IPv4-Links mit Intranet-Adressen 169.254.0.0/16 eingestellt (Link-lokale). Früher führte die automatische Erstellung von Standardrouten für solche Links in einigen Fällen zu unvorhergesehenem Verhalten und Routingproblemen. Um das alte Verhalten wiederherzustellen, sollte die Einstellung „DefaultRouteOnDevice=yes“ verwendet werden. Ebenso wurde die Zuweisung von lokalen IPv6-Adressen eingestellt, wenn das lokale IPv6-Routing für den Link nicht aktiviert ist;
  • In systemd-networkd wird beim Verbinden mit drahtlosen Netzwerken im Ad-hoc-Modus standardmäßig eine Konfiguration mit link-lokaler Adressierung angewendet;
  • Die Parameter RxBufferSize und TxBufferSize wurden hinzugefügt, um die Größe der Empfangs- und Versandpuffer des Netzwerkinterfaces zu konfigurieren;
  • In systemd-networkd wurde die Ankündigung zusätzlicher IPv6-Routen umgesetzt, die über die Optionen Route und LifetimeSec im Abschnitt „[IPv6RoutePrefix]“ gesteuert wird;
  • In systemd-networkd wurde die Möglichkeit hinzugefügt, die Routen des „next hop“ mithilfe der Optionen „Gateway“ und „Id“ im Abschnitt „[NextHop]“ zu konfigurieren;
  • In systemd-networkd und networkctl wurde für DHCP die Aktualisierung von IP-Adressenbindungen (Leases) in Echtzeit, umgesetzt durch den Befehl ‚networkctl renew‘, bereitgestellt;
  • Systemd-networkd stellt beim Neustart die DHCP-Konfiguration wieder her (um die Einstellungen zu sichern, sollte der Parameter KeepConfiguration verwendet werden). Der Standardwert der Einstellung SendRelease wurde auf „true“ geändert;
  • Im DHCPv4-Client wird der Wert der Option OPTION_INFORMATION_REFRESH_TIME verwendet, der vom Server übermittelt wird. Um spezifische Optionen vom Server anzufordern, wurde der Parameter „RequestOptions“ vorgeschlagen, und um dem Server Optionen zu senden – „SendOption“. Für die Konfiguration des Typs IP-Dienstes wurde dem DHCP-Client der Parameter „IPServiceType“ hinzugefügt;
  • Zur Ersetzung des DHCPv4-Servers mit einer Liste von SIP-Servern (Session Initiation Protocol) wurden die Parameter „EmitSIP“ und „SIP“ hinzugefügt. Auf der Client-Seite kann der Empfang von SIP-Parametern vom Server mit der Einstellung „UseSIP=yes“ aktiviert werden;
  • Im DHCPv6-Client wurde der Parameter „PrefixDelegationHint“ zum Anfordern eines Adresspräfixes hinzugefügt;
  • In den .network-Dateien wurde die Unterstützung für die Zuordnung drahtloser Netzwerke nach SSID und BSSID bereitgestellt, z. B. zur Bindung an den Namen des Zugangspunkts und die MAC-Adresse. Die Werte SSID und BSSID werden in der Ausgabe von networkctl für drahtlose Interfaces angezeigt. Zusätzlich wurde die Möglichkeit zur Zuordnung nach Typ des drahtlosen Netzwerks (Parameter WLANInterfaceType) hinzugefügt;
  • In systemd-networkd wurde die Möglichkeit zur Konfiguration von Warteschlangendisziplinen zur Verkehrsverwaltung mit neuen Parametern Parent hinzugefügt,
    NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
    NetworkEmulatorPacketLimit und NetworkEmulatorLossRate,
    NetworkEmulatorDuplicateRate im Abschnitt «[TrafficControlQueueingDiscipline]»;
  • In systemd-resolved wird die Überprüfung von IP-Adressen in Zertifikaten bei der Verwendung von GnuTLS sichergestellt.

Änderungen im Zusammenhang mit udev:

  • In systemd-udevd wurde das 30-sekündige Timeout für das erzwungene Beenden von festgefahrenen Handlern entfernt. Systemd-udevd wartet jetzt auf den Abschluss von Handlern, für die 30 Sekunden nicht ausgereicht haben, um die Operationen in großen Installationen regulär abzuschließen (zum Beispiel konnte das Timeout die Initialisierung eines Treibers während des Wechsels des gemounteten Teils für das Root-Dateisystem unterbrechen). Bei der Verwendung von systemd kann das Timeout, das systemd-udevd vor dem Verlassen abwartet, über die Einstellung TimeoutStopSec in systemd-udevd.service festgelegt werden. Beim Start ohne systemd wird das Timeout über den Parameter udev.event_timeout geregelt;
  • Für udev wurde das Programm fido_id hinzugefügt, das FIDO CTAP1-Token identifiziert
    („U2F“) / CTAP2 basierend auf Daten über deren vergangene Nutzung und gibt die erforderlichen Umgebungsvariablen aus (das Programm ermöglicht es, ohne externe Weißlisten aller bekannten Token auszukommen, die zuvor verwendet wurden);
  • Die automatische Generierung von udev-Regeln für Autosuspend wurde für Geräte aus der aus Chromium OS importierten Weißliste implementiert (Änderung ermöglicht die Ausweitung der Verwendung von Energiesparmodi auf zusätzliche Geräte);
  • In udev wurde eine neue Einstellung «CONST{key}=value» hinzugefügt, die es ermöglicht, direkt Wertzuweisungen von Systemkonstanten durchzuführen, ohne separate Handler für die Überprüfung zu starten. Derzeit werden nur die Schlüssel «arch» und «virt» unterstützt;
  • Das Öffnen des CDROM im nicht-exklusiven Modus wurde bei der Durchführung der Anforderung unterstützter Modi sichergestellt (Änderung behebt Zugriffsprobleme von Programmen auf das CDROM und verringert das Risiko von Unterbrechungen von Schreibprogrammen, die keinen exklusiven Zugriff verwenden).

Quelle: opennet.ru

60GB SSD 8Gb DDR4