Efter tre måneders udvikling er version 260 af systemadministratoren systemd tilgængelig. Nøgleændringer: ophør af support for tjenestescripts i System V-format, mekanismen „mstack“ til sammensætning af lagdelte monteringshierarkier, værktøjet systemd-report, støtte til integration af systemd-networkd med ModemManager, understøttelse af brugerdefinerede bærbare tjenester, og konceptet „xaccess“ i systemd-logind og systemd-udevd.
Blandt ændringerne i den nye udgave:
- Støtten til tjenestescripts i System V-format er ophørt, og komponenterne rc-local.service, systemd-sysv-install, systemd-rc-local-generator og systemd-sysv-generator er ikke længere tilgængelige.
- Mekanismen „mstack“ (Mount Stack) er implementeret, hvilket gør det muligt at bruge kataloger med suffixet „.mstack/“ til at danne en sammensat kataloghierarki, der skabes gennem sekventiel montering og overlapning af diskbilleder og dele af FS ved hjælp af OverlayFS og „mount --bind“. Kommandoen systemd-mstack, indstillingen „--mstack“ i systemd-nspawn og parameteren RootMStack i unit-filerne er blevet tilføjet og kan bruges til at montere og afmontere alle elementer, der er defineret i „.mstack“-konfigurationen, for eksempel til hurtig genskabelse af et containerbillede eller et tjenestemiljø. Hvert fil eller undermappe i „.mstack/“ definerer et monteringsniveau eller et „overlayfs“-lag.
For eksempel definerer den følgende konfiguration „foobar.mstack/“ et overlayfs med to lag i skrivebeskyttet tilstand fra diskbillederne base.raw og app.raw (angivet som symboliske links) og et „rw“-katalog med skriveadgang oven på dem: foobar.mstack/layer@0.raw → ../base.raw foobar.mstack/layer@1.raw → ../app.raw foobar.mstack/rw/
- Frameworkene „metrics“ og „report“ er implementeret og kan bruges af systemkomponenter til at udskrive statistik via Varlink i kataloget /run/systemd/report/. Værktøjet systemd-report er tilføjet, som genererer en sammenfattende rapport, der samler statistikken fra alle komponenter og præsenterer den i JSON-format. I øjeblikket leverer kun tjenestemanageren og systemd-networkd metrics.
- I systemd-networkd er der sikret integration med ModemManager, og sektionen „[MobileNetwork]“ med indstillinger for APN, AllowedAuthenticationMechanisms, User, Password, IPFamily, AllowRoaming, PIN, OperatorId, RouteMetric og UseGateway er blevet tilføjet. Dette muliggør brugen af systemd-networkd til tilslutning til mobile operatører gennem modem.
- Muligheden for at køre systemd-portabled som en brugerdefineret service, der kører under en ikke-privilegeret bruger, er blevet introduceret. Flags "--user" og "--system" er blevet tilføjet til værktøjet portablectl for at vælge servicen type. Portable services er systemtjenester, der præsenteres som selvforsynende containere (leveres som et systembillede, men behandles som en almindelig tjeneste).
- systemd-logind og systemd-udevd har fået støtte til konceptet "xaccess" (Extended Access), der muliggør adgang til GPU'en for brugere med fjernadgang i grafiske sessioner, som fysisk ikke benytter en skærm og inputenheder på det lokale system (analogt med uaccess, der dækker brugere, der fysisk arbejder med computeren). For at konfigurere sessionerne i dette tilfælde foreslås det at sætte miljøvariablen XDG_SESSION_EXTRA_DEVICE_ACCESS via PAM.
- For at automatisere konfigurationen af DeviceTree i UKI-billeder (Unified Kernel Image) er der blevet foreslået et kanonisk sæt filer med hardware-id'er i /usr/lib/systemd/boot/hwids/, der forbinder enheds-id'er med DeviceTree elementer. Med dette sæt kan UKI-billedet automatisk finde og indlæse den nødvendige DTB (Device Tree Blob) under opstart uden behov for at oprette billeder, der er specifikke for hver enhed. I øjeblikket er hwid-filerne dannet til ARM64-enheder baseret på Snapdragon-chips.
- I /etc/os-release er der tilføjet et nyt felt "FANCY_NAME", der adskiller sig fra "PRETTY_NAME" ved at muliggøre brugen af ikke-ASCII Unicode glyphs. Når feltet "FANCY_NAME" er til stede, vil det blive brugt i output fra systemd, systemd-hostnamed og hostnamectl i stedet for "PRETTY_NAME".
- Tjenester, der tilbyder offentlige Varlink-grænseflader, er blevet samlet i en enkelt mappe /run/varlink/registry/ ved hjælp af symboliske links. Kommandoen ‘varlinkctl list-registry’ er implementeret til at vise listen over sådanne tjenester.
- I enhederne er muligheden for at angive værdien "managed" i parameteren PrivateUsers implementeret for automatisk at tildele enhederne bruger- og gruppe-id-ranges (UID/GID) via systemd-nsresourced.
- I enhederne er indstillingen RefreshOnReload tilføjet for at opdatere udvidelser og legitimationsoplysninger ved genstart af enheden.
- I enhederne er indstillingen BindNetworkInterface tilføjet for automatisk at binde alle sockets, der oprettes i enheden, til den angivne netværksinterface.
- Der unit-er er tilføjet indstillingerne ConditionPathIsSocket og AssertPathIsSocket for at ændre adfærden eller tvinge unit-en til at lukke, hvis de angivne stier ikke er sockets.
- Systemctl har fået kommandoen 'enqueue-marked', som kalder D-Bus-metoden EnqueueMarkedJobs(). Den tidligere anvendte parameter '—marked' er blevet mærket som forældet.
- Der er tilføjet indstillingen MemoryTHP til tjenester for at styre brugen af store hukommelsessider i tjenester (THP - Transparent Huge Pages).
- I .delegate-filerne for systemd-resolved er der tilføjet understøttelse af parameteren FirewallMark for at sætte en firewall-markering i netværksstakken for det genererede DNS-trafik.
- Systemd-sysupdate har fået kommandoen 'acquire' for at adskille faserne af download og installation eller opdatering. Understøttelse af at mærke partitioner som delvist downloadet er implementeret.
- I systemd-vmspawn er muligheden '—image-format' tilføjet for at vælge formatet (qcow2 eller raw) af diskbilledet.
- I systemd-inhibit er understøttelsen af formatet 'JSON' tilføjet til muligheden '—list', hvilket muliggør brugen af flagene '—what', '—who', '—why' og '—mode' til at filtrere output.
- I systemd-repart er der tilføjet grundlæggende understøttelse af integritetskontrol af krypterede partitioner ved hjælp af dm-integrity.
- Der er tilføjet kommandoen 'extract-certificate' i systemd-keyutil for at udskrive indholdet af X.509-certifikater.
- I systemd-sysext og varlinkctl er der implementeret understøttelse af interaktiv autorisation gennem polkit.
- Der er tilføjet en polkit-politik, der tillader en ikke-privilegeret bruger at kalde systemd-ask-password.
- I systemd-importd er der tilføjet mulighed for at downloade OCI-billeder med kommandoen 'importctl pull-oci', som gemmes som billeder, der kan monteres via 'mstack'.
- Der er tilføjet understøttelse af farverne SYSTEMD_COLORS=auto-16, SYSTEMD_COLORS=auto-256, og SYSTEMD_COLORS=auto-24bit.
- Der er leveret fuldt funktionelle separate eksekverbare filer systemd-sysusers og systemd-tmpfiles (tidligere blev der bygget reducerede versioner).
- I systemd-oomd er der tilføjet en 'prekill hook', der muliggør tilslutning af håndteringsrutiner, der aktiveres før tvungen lukning af processer på grund af mangel på hukommelse i systemet.
- Muligheden for at bruge ikke-systembrugere og grupper i udev-regler (OWNER=/GROUP=) og indstillinger for systemd-networkd (User=/Group=) er genoptaget, men er markeret som forældet.
- I systemd-repart er den nye funktionalitet i xfsprogs 6.17.0 for mkfs.xfs-værktøjet blevet inddraget til at implementere det indledende indhold af FS fra den angivne mappe.
- Kravene til de minimale versioner er hævet: Linux-kernen 5.4 → 5.10 (anbefalet 5.14, og for fuld funktionalitet — 6.6), libidn → libidn2, Python 3.7.0 → 3.9.0, glibc 2.31 → 2.34, OpenSSL 1.1.0 → 3.0.0, cryptsetup 2.0.1/2.3.0 → 2.4.0, elfutils 158 → 177, libblkid 2.24 → 2.37, libseccomp 2.3.1 → 2.4.0.
- Reglerne for sikring af portabilitet og stabilitet er blevet omarbejdet og forenklet, hvor der lægges større vægt på at undgå synlige brugergenererede regressioner i offentlige grænseflader.
Kilde: opennet.ru
