Efter tre måneders udvikling tilgængelig udgivelse af systemadministrator systemd 261. Nøgleændringer: forberedelse til understøttelse af API til aldersverifikation, understøttelse af Kexec Handover og Live Update Orchestration subsystemer til genstart uden tab af tilstand, IMDS (Instance Metadata Service) subsystem, funktionalitet til beskyttelse af boot på systemer uden fysisk TPM (Trusted Platform Module), systemd-sysinstall komponent med implementering af en installationsprogram.
Blandt ændringer i den nye udgivelse:
- Tilføjet ny komponent systemd-sysinstall med implementering af en simpel installationsprogram til operativsystemet, som kan styres fra kommandolinjen eller via et interaktivt tekstbaseret interface. Funktionaliteten i systemd-sysinstall er sammensat af eksisterende funktioner i systemd: til konfiguration af diskpartitioner anvendes systemd-repart, til installation af kernen og generation af boot-menuen - kommandoen 'bootctl link', til installation af bootloaderen systemd-boot - kommandoen 'bootctl install', til indledende konfiguration af det installerede system (f.eks. valg af lokalitet og tastaturopsætning) - systemd-creds.
- I forbindelse med forberedelsen til implementering af kravene lovene til integration i OS API til aldersverifikation i databasen userdb tilføjet feltet birthDate med brugerens fødselsdato. Det tilføjede felt kan bruges i den udviklede portal til distributioner xdg-desktop-portal og service AccountsService til at give anvendelser information om brugerens alderskategori via D-Bus interface org.freedesktop.AgeVerification1 eller org.freedesktop.ParentalControls. For at fastsætte alderen er der tilføjet en mulighed -birth-date til værktøjet homectl.
- I handleren PID1 er der tilføjet understøttelse af Linux-kernens subsystemer LUO (Live Update Orchestration) og KHO (Kexec Handover), der muliggør en fuld genstart og opdatering af kernen uden at stoppe arbejdet og uden at miste systemtilstand, enheder og processer. KHO giver muligheder for at starte en ny kerne fra den gamle uden tab af systemtilstand, og LUO implementerer bevarelsen af enheders og RAM-status samt sikrer kontinuitet i operationer relateret til DMA og intervahåndtering.
I systemd er der implementeret muligheden for at bevare filbeskrivelser før kaldet til kexec og deres gendannelse efter genstart af kernen via kexec for system- og brugerenheder. I enheder kan der også oprettes egne sessioner. LUO, der gemnes og genskabes under kexec. For at aktivere opbevaring af filbeskrivelseslagerets tilstand, skal indstillingen FileDescriptorStorePreserve=yes bruges. - Implementeret subsystem systemd-imdsd, der leverer et API baseret på Varlink IPC for adgang til lokale programmer til IMDS (Instance Metadata Service) tjenester, der tilbydes af forskellige cloud-udbydere. IMDS gør det muligt for virtuelle maskiner at få oplysninger om cloud-miljøet, f.eks. kan de få oplysninger om netværkskonfiguration, geografisk placering af noden, type CPU og lagerstørrelse. systemd-imdsd giver både et lavniveau API til adgang til individuelle felter og et høj-niveau interface til at anmode om standardnøgler, der svarer til nøgler specifikke for bestemte cloud-platforme. For interaktion med systemd-imdsd er der tilføjet et værktøj systemd-imds, der muliggør import af felter fra IMDS til det lokale system for kontoadministration.
For at genkende cloud-platforme baseret på oplysninger fra SMBIOS og bestemme den tilgængelige IMDS-funktionalitet på den aktuelle node, er en ny database hwdb.d/40-imds.hwdb blevet tilføjet. Implementeret genkendelse af cloud-platforme som Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS og Vultr. En processor systemd-imds-generator er tilgængelig for automatisk at indsætte tjenesten til at hente data via IMDS, når der er opdaget drift under en understøttet cloud-platform. Det er muligt at oprette universelle billeder, der understøtter brugen af IMDS ved opstart i cloud-miljøer, men som også kan fungere uden IMDS. - I systemd-stub har implementeret boot secret-funktionalitet, der gør det muligt at generere en nøgle baseret på en EFI-variabel, der opbevares i et område, der ikke er tilgængeligt for operativsystemet og initialiseret med et tilfældigt værdi. I initrd overføres nøgle via fil /.extra/boot-secret. Denne mulighed kan være nødvendig for at få en system-specifik tilfældig nøgle til verifikation af boot-processen eller kryptering på systemer uden hardware TPM (Trusted Platform Module).
- Tilføjet tjenesten systemd-tpm2-swtpm.service for at starte en TPM-chipemulator swtpm (Software TPM Emulator), der kan bruges til automatisk at falde tilbage til en softwareimplementering af TPM for sikker opstart på systemer uden hardware-TPM. Software-TPM fungerer i brugerrummet og kan ikke opnå det samme sikkerhedsniveau som hardware-TPM, men i visse situationer er dets anvendelse berettiget i forhold til at arbejde uden TPM. For eksempel kan software-TPM få krypteringsnøglen til partitioner ved hjælp af den nye funktionalitet „boot secret“ og bruge partitionen ESP (EFI System Partition) på disken til at gemme sin tilstand. For automatisk aktivering af software-TPM foreslås parameteren systemd.tpm2_software_fallback via kommandolinjen.
- Er erklæret stabil og placeret i /usr/bin/ komponenten systemd-sysupdate, designet til automatisk at opdage, downloade og installere opdateringer ved hjælp af en atomar udskiftningsmekanisme for partitioner, filer eller kataloger (to uafhængige partitioner/filer/kataloger bruges, hvoraf den ene indeholder den aktuelle kørende ressource, og den anden installerer den næste opdatering, hvorefter partitioner/filer/kataloger byttes).
- I Som systemisk DNS-resolver tilbydes nu Muligheden for at overskrive eller angive nye DNS-poster er implementeret ved at placere JSON-filer i katalogerne systemd/resolve/static.d/. I modsætning til /etc/hosts kan nye filer ikke kun binde IP-adresser til værtens navne, men også definere ressourcedNS RR-poster, der adskiller sig fra „A“ og „AAAA“. Derudover er der tilføjet indstillinger for størrelse af DNS-cache i systemd-resolved: DNSCacheSize, MulticastDNSCacheSize og LLMNRCacheSize.
- Tilføjet værktøjet 'storagectl‘ til inspektion af lagringsenheder og styring af tilslutning af blokenheder og filsystemer.
- Inden for initiativer For at reducere afhængigheder i libsystemd er dynamisk loading af bibliotekerne libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk og libcryptsetup implementeret ved hjælp af dlopen()-kald i situationer, hvor deres funktioner faktisk er nødvendige.
- I systemd-tmpfiles tilføjet flaget —inline, der tillader at angive direktiver på kommandolinjen uden at oprette konfigurationsfiler i tmpfiles.d/ og uden at sende indstillinger gennem STDIN. En ny type direktiv k/K er tilføjet for at udstille capabilities. Tilføjet konfigurationsfilen tmpfiles.d/root.conf, der sætter adgangsrettighederne til 0555 (-r-xr-xr-x) for rodmappen (/) for at beskytte mod angivelse af forkerte rettigheder ved dynamisk oprettelse af rod-FS.
- I værktøjet bootctl Der er sikret backup af systemd-boot-laderen og indskrevet den gamle version i UEFI som en fallback bootmulighed.
- I systemd-vmspawn Tilføjet støtte til direkte opstart af kernen uden at bruge UEFI-firmware. Implementeret mulighed -firmware-features til selektivt at aktivere eller deaktivere specifikke firmware-funktioner. Tilføjet tilstand -console=headless til kørsel af en virtuel maskine uden konsol og skærm. Tilføjet mulighed -image-disk-type til valg af den anvendte type bloklagring i VM (virtio-blk, virtio-scsi, nvme, scsi-cd). Tilføjet mulighed -coco (Confidential Computing) til aktivering af hukommelseskrypteringsmodus for virtuelle maskiner ved hjælp af AMD SEV-SNP-teknologi.
- I systemd-hostnamed Og /etc/machine-info er der tilføjet støtte til at knytte vilkårlige tags til det nuværende system ved brug af parameteren Tags. De angivne tags kan derefter anvendes til selektiv anvendelse af indstillinger med verificering gennem betingelsen ConditionMachineTag.
- Tilføjet indstillingerne EventLoopRateLimitIntervalSec og EventLoopRateLimitBurst, der begrænser intensiteten af event-behandlingscyklussen i PID1 for at frigive CPU-ressourcer i tilfælde af looping.
- I service manageren er MinimumUptimeSec indstillingen blevet implementeret for at angive minimum driftstid for systemet (som standard 15 sekunder). Hvis der initieres en nedlukning eller genstart før udløbet af denne tid, tilføjes der en tilsvarende forsinkelse i den afsluttende fase.
- Der er implementeret nye indstillinger for enheder omkring CPUSetPartition til at angive typen af cpuset-partition i cgroup (root, isolated, member), RestrictFileSystemAccess til kun at tillade eksekverbare filer, der er verificeret gennem digital signatur ved hjælp af dm-verity, og CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec til at modtage notifikationer om høj CPU-og I/O-belastning.
- Listen over målinger, der leveres af værktøjet, er udvidet. systemd-reportFor eksempel er der tilføjet oplysninger om mængden af fysisk hukommelse og aktive CPU-kerner, data om indholdet af SMBIOS-felter og /etc/machine-info, information om støtte til Confidential Computing-tilstand og oplysninger om producenten af TPM2-chips.
- I systemd-oomd Der er implementeret mulighed for at definere regler til filtrering af processer ved lav hukommelse i systemet. Regler kan angives i kataloget /etc/systemd/oomd/rules.d/ eller i serviceenheder gennem direktivet OOMRule.
- I systemd-socket-proxy Der er tilføjet støtte til PROXY-protokollen, der svarer til den første version af haproxy-protokollen.
- I systemd-networkd Den nye backend sd-dhcp-relay til DHCP-relæer er blevet implementeret. Indstillingerne i sektionen [DHCPServer] — BindToInterface, RelayTarget, RelayAgentCircuitId og RelayAgentRemoteId er nu forældede, og der skal i stedet bruges parameteren DHCPRelay i sektionen [Network] samt en række nye indstillinger i sektionen [DHCPRelay] og i filen networkd.conf. Kommandoen networkctl dhcp-lease INTERFACE er tilføjet for at gemme en dump af oplysningerne om IP-adresses binding (DHCP lease).
- I værktøjet systemd-nspawn Muligheden —restrict-address-families er blevet tilføjet, og i .nspawn-filerne konfigurationen RestrictAddressFamilies for at begrænse de adresser, der anvendes i containeren. I fremtidige udgivelser vil kun familierne AF_INET, AF_INET6 og AF_UNIX som standard blive tilladt.
- Understøttelsen af det gamle udev databaseformat (version 0.x) er blevet afsluttet. Opgradering fra versioner af systemd til udgave 247 (opennet.ru) understøttes ikke længere.
- Ved kompilering med musl C-biblioteket kræves det nu at have mindst musl-version 1.2.6.
Yderligere kan det nævnes udgivelse projektet liberated-systemd 261, en udviklende fork af systemd, der er fri for kode, der kan bruges til at overvåge brugere. I den foreslåede udgivelse er ændringerne koncentreret om at fjerne koden, der tilføjer et felt birthDate med brugerens fødselsdato til userdb, samt tilføjelsen af optionen —birth-date i værktøjet homectl for at sætte brugerens alder.
Kilde: linux.org.ru
