Etter tre måneder med utvikling tilgjengelig utgivelse av systemleder systemd 261. Nøkkelendringer: forberedelse for støtte av API for aldersverifisering, støtte for Kexec Handover- og Live Update Orchestration-underprogrammer for omstart uten å miste tilstand, IMDS (Instance Metadata Service), funksjonalitet for beskyttelse av oppstart på systemer uten fysisk TPM (Trusted Platform Module), systemd-sysinstall-komponenten med implementering av installatør.
Amongst endringer i den nye utgivelsen:
- Ny komponent lagt til systemd-sysinstall med implementering av en enkel operativsysteminstallatør som kan administreres fra kommandolinjen eller gjennom et interaktivt tekstgrensesnitt. Funksjonaliteten til systemd-sysinstall er basert på allerede eksisterende muligheter i systemd: for oppsett av partisjoner benyttes systemd-repart, for installasjon av kjernen og generering av oppstartmeny - kommandoen «bootctl link», for installasjon av oppstarteren systemd-boot - kommandoen «bootctl install», for innledende konfigurasjon av det installerte systemet (for eksempel valg av lokalitet og tastaturoppsett) - systemd-creds.
- I forkant av implementering av kravene til lover for integrering av OS API for aldersverifisering i databasen userdb er et felt for fødselsdato lagt til med brukerens fødselsdato. Det nye feltet kan brukes i den utviklede portalen xdg-desktop-portal for distribusjoner og tjenesten AccountsService for å gi applikasjoner informasjon om brukerens alderskategori gjennom D-Bus-grensesnittet org.freedesktop.AgeVerification1 eller org.freedesktop.ParentalControls. For å angi alder er det lagt til et alternativ til homectl —birth-date.
- Støtte for Linux-kjernesystemets underprogrammer er lagt til i behandleren PID1 , LUO (Live Update Orchestration) og KHO (Kexec Handover), som muliggjør en fullstendig omstart og oppdatering av kjernen uten å stoppe arbeidet og uten å miste systemets, enhetenes og prosessenes tilstand. KHO gir muligheter for å starte en ny kjerne fra den gamle uten å miste systemets tilstand, og LUO implementerer lagring av tilstanden til enhetene og RAM, samt sikrer kontinuitet i operasjoner knyttet til DMA og behandling av avbrudd.
I systemd er det implementert mulighet for å lagre filbeskrivelser for systemiske og bruker-enheter før kexec-kallet og gjenopprette dem etter omstart av kjernen via kexec. Det er også mulig å opprette egne sesjoner i enhetene. LUO, lagret og gjenopprettet under utføring av kexec. For å aktivere lagringen av filbeskriverlagringsstatusen må innstillingen FileDescriptorStorePreserve=yes brukes. - Undersystemet er implementert systemd-imdsd, som tilbyr et API basert på Varlink IPC for tilgang til lokale programmer til IMDS (Instance Metadata Service), som leveres av ulike skyleverandører. IMDS gir virtuelle maskiner muligheten til å hente informasjon om skyomgivelsene, for eksempel nettverkskonfigurasjon, geografisk plassering av noden, type CPU og størrelse på lagringsplassen. systemd-imdsd tilbyr både et lavnivå API for tilgang til individuelle felt samt et høynivågrensesnitt for forespørsel etter typiske nøkler som samsvarer med nøkler spesifikke for enkelte skyleverandører. For samhandling med systemd-imdsd er det lagt til et verktøy, systemd-imds, som gjør det mulig å importere felt fra IMDS til det lokale kontosystemet.
For å gjenkjenne skyleverandører basert på informasjon fra SMBIOS og bestemme tilgjengelig funksjonalitet på den nåværende noden, er det lagt til en ny DB hwdb.d/40-imds.hwdb. Gjenkjenning av skyleverandører som Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS og Vultr er implementert. systemd-imds-generator behandler automatisk innsettingen av tjenesten for å hente data via IMDS når det oppdages drift under en støttet skyleverandør. Det er mulig å lage universelle bilder som støtter bruken av IMDS ved oppstart i skyomgivelser, men som også kan fungere uten IMDS. - I systemd-stub funksjonalitet for boot secret er implementert, noe som gjør det mulig å generere en nøkkel basert på en EFI-variabel som lagres i et område utilgjengelig for operativsystemet og initialisert med et tilfeldig verdij. I initrd overføres nøkkelen gjennom filen /.extra/boot-secret. Denne funksjonaliteten kan være nødvendig for å oppnå en spesifikk tilfeldig nøkkel for verifisering av oppstartsprosessen eller kryptering på systemer uten maskinvare-TPM (Trusted Platform Module).
- Tjenesten systemd-tpm2-swtpm.service for oppstart av TPM-chip-emulator er lagt til swtpm (Software TPM Emulator), som kan brukast for automatisk tilbakekjøring til programvareimplementasjonen av TPM for sikker oppstart på systemer utan maskinvare-TPM. Programvare-TPM fungerer i brukarruta og gir ikkje same beskyttelsesnivå som maskinvare-TPM, men i enkelte situasjonar kan det vere pragmatisk å bruke det samanlikna med å arbeide utan TPM. For eksempel kan programvare-TPM hente krypteringsnøkkelen for parti ved hjelp av den nye funksjonaliteten "boot secret" og bruke partisjonen ESP (EFI System Partition) på disken for å lagre sin tilstand. For automatisk aktivering av programvare-TPM er det foreslått ein kommandolinjeparameter for systemd.tpm2_software_fallback.
- Er erklært stabil og plassert i /usr/bin komponenten systemd-sysupdate, som er meint for automatisk å identifisere, laste ned og installere oppdateringar ved hjelp av ein atomisk mekanisme for å bytte parti, filer eller katalogar (to uavhengige parti/filer/katalogar vert brukt, der det eine inneheld den noverande aktive ressursen, medan det andre får den neste oppdateringa, før partia/fila/katalogane vert bytta om).
- I systemd-resolved har implementert moglegheit for å override eller spesifisere nye DNS-poster ved å plassere filer i JSON-format i katalogane systemd/resolve/static.d/. I motsetning til /etc/hosts kan nye filer ikkje berre knyte IP-adresser til vertsnavn, men også definere ressurs-DNS RR-poster som er ulike frå "A" og "AAAA". Vidare har systemd-resolved fått innstillingar for storleik på DNS-cachen: DNSCacheSize, MulticastDNSCacheSize og LLMNRCacheSize.
- Ein ny verktøy ‘storagectl’ er lagt til for å inspisere lagringsenheiter og administrere tilkopling av blokk- og filsystemer.
- Innenfor initiativet for å redusere avhengigheit har libsystemd implementert dynamisk lastinga av biblioteka libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk og libcryptsetup ved hjelp av dlopen()-kallet i situasjonar der deira funksjonar faktisk er nødvendige.
- I systemd-tmpfiles har fått flagget —inline, som gjer det mogleg å angje direktiv i kommandolinja utan å lage konfigurasjonsfiler i tmpfiles.d/ og utan å sende innstillingar gjennom STDIN. Ein ny type direktiv k/K for å stille inn capabilitiesEn konfigurajonsfilo tmpfiles.d/root.conf estis aldonita, kiu starigas aliron 0555 (-r-xr-xr-x) al la radikdirektorio (/) por protekti kontraŭ konvulsaj rajtoj dum dinamika formado de la radika FS.
- I verktøyet bootctl konservis sekurkopion de la ŝargilo systemd-boot kaj registris malnovan version en UEFI kiel rezervan ŝargilon.
- I systemd-vmspawn subteno por rekta ŝargado de la kernelo sen uzo de UEFI firmvaro estis aldonita. La opcio —firmware-features estis realigita por selektema inkludo aŭ ekskludo de apartaj firmvaraj funkcioj. La reĝimo —console=headless estis aldonita por lanĉi virtualan maŝinon sen konzolo kaj ekrano. La opcio —image-disk-type estis aldonita por elekti la tipon de blok-stokado uzata en VM (virtio-blk, virtio-scsi, nvme, scsi-cd). La opcio —coco (Konfidenca Komputado) por aktivigi la memorŝlosan reĝimon de virtualaj maŝinoj uzante AMD SEV-SNP-teknologion estis aldonita.
- I systemd-hostnamed kaj /etc/machine-info subtenas la aldonon de arbitraj etikedoj al la nuna sistemo uzante la parametran Tags. La antaŭdifinitaj etikedoj tiam povas esti uzataj por selektema apliko de agordoj kun kontrolo per la esprimo ConditionMachineTag.
- Aldonitaj agordoj EventLoopRateLimitIntervalSec kaj EventLoopRateLimitBurst, limigante la intensecon de la event-ciklo en PID1 por liberigi CPU-ŭirtoj en kazo de ciklo.
- I tjenesteforvalteren er MinimumUptimeSec-innstillingen implementert for å angi minimum driftstid for systemet (standard 15 sekunder). Hvis det iverksettes en nedstenging eller omstart før dette tidsrommet er utløpt, legges det til en tilsvarende forsinkelse i sluttfasen.
- Novaj agordoj CPUSetPartition por difini la tipon de cpuset-particio en cgroup (radiko, izolita, membro), RestrictFileSystemAccess por permesi la ekzekutadon nur de dosieroj, kiuj estas ciferece subskribitaj pere de dm-verity, kaj CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec por ricevi sciigojn pri altajŭirtoj de CPU kaj en/elpenso estis realigitaj por unuoj.
- La listo de metrikoj, elturnitaj de la utilo, estis vastigita. systemd-report. Ekzemple, informoj pri la grandeco de fizika memoraro kaj aktivaj CPU-nukleoj, datumoj pri la enhavo de SMBIOS kampoj kaj /etc/machine-info, informoj pri subteno de Konfidenca Komputado reĝimo, kaj informoj pri la TPM2 cipo-manufacturer estis aldonitaj.
- I systemd-oomd la ebleco difini regulojn por forigi procesojn kiam ĝi mankas je memoraro en la sistemo estis realigita. Reguloj povas esti difinitaj en la katalogo /etc/systemd/oomd/rules.d/ aŭ en servunitoj per la direktivo OOMRule.
- I systemd-socket-proxy subteno por la protokolo PROXY, kiu konformas al la unua versio de la haproxy protokolo, estis aldonita.
- I systemd-networkd En ny sd-dhcp-relay backend for DHCP-reléer er implementert. Innstillingene i seksjonen [DHCPServer] — BindToInterface, RelayTarget, RelayAgentCircuitId og RelayAgentRemoteId er erklært som foreldede, og isteden bør parameteren DHCPRelay i seksjonen [Network] og en rekke nye innstillinger i seksjonen [DHCPRelay] og i filen networkd.conf brukes. Kommandoen networkctl dhcp-lease INTERFACE for å lagre en dump med informasjon om IP-adressebinding (DHCP lease) er lagt til.
- Til verktøyet systemd-nspawn Alternativet —restrict-address-families er lagt til, og i .nspawn-filer er innstillingen RestrictAddressFamilies lagt til for å begrense brukte adressefamilier for sokler i containeren. I fremtidige utgivelser vil som standard bare AF_INET, AF_INET6 og AF_UNIX adressefamilier bli tillatt.
- Støtten for det gamle udev databaseformatet (versjon 0.x) er avsluttet. Oppdatering på farten fra systemd-versjoner til utgave 247 (opennet.ru) støttes ikke lenger.
- Ved bygging med musl C-biblioteket kreves nå minst versjon musl 1.2.6.
I tillegg kan det nevnes versjon prosjektet liberated-systemd 261, en fork av systemd som er kvitt kode som kan brukes til å overvåke brukere. I den foreslåtte utgivelsen er endringene fokusert på fjerning av kode som legger til feltet birthDate med brukerens fødselsdato i userdb, samt alternativet —birth-date i homectl-verktøyet for å sette alder.
Kilde: linux.org.ru
