Systemd 244 mit einigen Änderungen

Systemd 244 beschränkt unter anderem Prozesse über Cgroupsv2-Controller auf bestimmte CPUs und Memory-Nodes und holt mehr Logs im frühen Bootprozess ab.

Über “cpuset.cpus” und “cpuset.mems” weist der Admin Prozessen bestimmte CPUs oder NUMA-Nodes zu, um die Systemressourcen effizienter zu verwenden. Dafür greift er auf die genannten Cgroups-v2-Schnittstellen zurück. Nun reflektieren auch neue Parameter für Systemds Ressourcenkontrolle diese Änderungen, konkret heißen diese “AllowedCPUs=” sowie “AllowedMemoryNodes=”.

Daneben deaktiviert Systemd 244 die Ratelimits von “printk” im frühen Bootstadium. Dies soll es erlauben, früh im Bootprozess mehr Logging-Daten zu sammeln. Eigentlich wurde die “printk_ratelimit()”-Funktion eingeführt, um die schiere Menge an Logging-Nachrichten zu begrenzen. Wer dieses Verhalten daher nicht mag, kann das Setting über einen Kernel-Bootparameter überschreiben.

Weiterhin lässt sich “systemctl clean” nun für Socket-, Mount- und Swap-Units verwenden. Ebenfalls für Units gibt es die Option, ein Toplevel-Verzeichnis mit dem passenden Unit-Typen anzulegen (etwa “service.d”), das dann Konfigurationen für sämtliche darin enthaltenen Units sammelt. Eine neue “@pkey” System-Call-Gruppe macht es einfacher, Speicherschutz-Systemaufrufe für Container und Dienste auf eine Whitelist zu packen.

Udev-Updates

Auch an Udev haben die Entwickler geschraubt. Das Programm “fido_id” identifiziert Fidos CTAP1- und CTAP2-Security-Tokens und gibt passende Umgebungsvariablen aus. Der Mechanismus ersetzt eine bisherige Whitelist, auf der alle bekannten und zuvor verwendeten Security Token standen. Zudem öffnet Udev nun CDROMs in einem nicht-exklusiven Modus. Das behebt einerseits Probleme mit Programmen, die keinen Zugriff auf das CDROM erhielten, schafft aber womöglich neue Probleme, wenn Programme eben diesen exklusiven Zugriff benötigen. Nicht zuletzt erzeugt Systemd 244 Autosuspend-Udev-Regeln für Geräte, die auf einer zuvor importierten Whitelist vom Chromium-OS-Projekt stehen. Das soll den Energieverbrauch zahlreicher Geräte senken.

Die Komponenten “systemd-networkd” erzeugt Systemd nun keine Standardrouten mehr für IPv4 Link-local-Adressen, es sei denn, der Admin fordert dies über “DefaultRouteOnDevice=yes” explizit ein. Die automatisch erzeugten Routen hätten für Verwirrung gesorgt und in einigen Fällen das Routing gestört. Auch wenn Ipv6 Link-Local-Routing deaktiviert ist, richtet “systemd-networkd” keine Adresse mehr ein. Dafür kündigt die Komponente auf Wunsch für IPv6 zusätzliche Routen an und verwendet dafür den Bereich “[IPv6RoutePrefix]” und die Optionen”Route=” und “LifetimeSec=”.

Der Aufruf “journalctl –update-catalog” produziert neuerdings deterministische Ergebnisse, was den Bau von reproduzierbaren Images erleichtern soll. Die Bootloader-Spezifikation dokumentiert ein neues “devicetree-overlay”-Setting. “systemd-resolved” validiert IP-Adressen auf Zertifikaten, wenn Gnu TLS zum Einsatz kommt. Nicht zuletzt bringen Service Units die Option “ProtectKernelLogs=” mit. Die sollen in bestimmten Einsatzszenarien dafür sorgen, dass die “syslog()” Systemaufrufe keinen Zugriff auf “/proc/kmsg”, “/dev/kmsg” und die “CAP_SYSLOG” Capability erhalten. Die so beschränkten Services erhalten also weder schreibend noch lesend Zugriff auf die Kernel Log Buffer.

Das ist nur eine Auswahl der Änderungen. Die komplette Liste und zusätzliche Informationen zu System 244 warten in den Release Notes auf der Mailingliste.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben