Efter tre mÄnaders utveckling Àr version 261 av systemhanteraren systemd nu tillgÀnglig. NyckelförÀndringar: förberedelse för stöd för API för Äldersverifiering, stöd för Kexec Handover- och Live Update Orchestration-underomrÄden för omstart utan förlust av tillstÄnd, IMDS (Instance Metadata Service) underomrÄde, funktionalitet för att skydda uppstart pÄ system utan fysisk TPM (Trusted Platform Module), samt componenten systemd-sysinstall med implementation av installationsprogrammet.
Bland förÀndringarna i den nya versionen:
- En ny komponent, systemd-sysinstall, har lagts till med ett enkelt installationsprogram för operativsystemet, som kan hanteras frĂ„n kommandoraden eller genom ett interaktivt textgrĂ€nssnitt. Funktionaliteten hos systemd-sysinstall bygger pĂ„ redan existerande möjligheter i systemd: för att konfigurera diskpartitioner anvĂ€nds systemd-repart, för att installera kĂ€rnan och generera en boot-meny anvĂ€nds kommandot âbootctl linkâ, för att installera bootloadern systemd-boot anvĂ€nds kommandot âbootctl installâ, och för initial konfiguration av det installerade systemet (t.ex. val av sprĂ„k och tangentbordslayout) anvĂ€nds systemd-creds.
- Som en del av förberedelserna för att implementera kraven i lagarna om integration av API:er för Ă„ldersverifiering har ett fĂ€lt för födelsedatum med anvĂ€ndarens födelsedatum lagts till i databasen userdb. Det tillagda fĂ€ltet kan anvĂ€ndas i den utvecklade portalen xdg-desktop-portal för distributioner och i tjĂ€nsten AccountsService för att ge program information om anvĂ€ndarens Ă„lderskategori via D-Bus-grĂ€nssnittet âorg.freedesktop.AgeVerification1â eller âorg.freedesktop.ParentalControlsâ. För att stĂ€lla in Ă„ldern har ett alternativ ââbirth-dateâ lagts till i verktyget homectl.
- Stödet för Linux-kÀrnans underomrÄden LUO (Live Update Orchestration) och KHO (Kexec Handover) har lagts till i PID1-hanteraren, vilket möjliggör fullstÀndig omstart och uppdatering av kÀrnan utan driftsstopp och utan att förlora systemets, enheternas och processernas tillstÄnd. KHO erbjuder möjligheter att köra en ny kÀrna frÄn den gamla utan att förlora systemets tillstÄnd, medan LUO implementerar lagring av enheternas och arbetsminnets tillstÄnd och sÀkerstÀller kontinuitet i operationer relaterade till DMA och avbrottshantering.
I systemd för system- och anvÀndarunitar har möjligheten att spara filbeskrivare inför anrop av kexec och ÄterstÀlla dem efter omstart av kÀrnan via kexec implementerats. I unitarna kan man ocksÄ skapa egna LUO-sessioner som sparas och ÄterstÀlls vid utförande av kexec. För att aktivera sparande av tillstÄndet för filbeskrivare bör instÀllningen 'FileDescriptorStorePreserve=yes' anvÀndas.
- Systemd-imdsd underavdelningen har implementerats, vilket ger ett API baserat pÄ Varlink IPC för att ge lokala program Ätkomst till IMDS (Instance Metadata Service) tjÀnster, som tillhandahÄlls av olika leverantörer av molnsystem. IMDS möjliggör virtuella maskiner Ätkomst till information om molnmiljön, till exempel kan man fÄ information om nÀtverkskonfiguration, geografisk plats för noden, typ av CPU och lagringsstorlek. I systemd-imdsd tillhandahÄlls sÄvÀl en lÄg-nivÄ API för Ätkomst till specifika fÀlt som ett hög-nivÄ grÀnssnitt för att frÄga efter typiska nycklar, motsvarande nycklar som Àr specifika för olika molnplattformar. För att interagera med systemd-imdsd har ett verktyg, systemd-imds, lagts till, vilket tillÄter import av fÀlt frÄn IMDS till det lokala anvÀndarsystemet.
För att kÀnna igen molnplattformar baserat pÄ information frÄn SMBIOS och bestÀmma den funktionalitet för IMDS som Àr tillgÀnglig pÄ den aktuella noden har en ny databas hwdb.d/40-imds.hwdb lagts till. HÀr sker igenkÀnning av molnplattformar som Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS och Vultr. En systemd-imds-generator har gjorts tillgÀnglig för automatisk insÀttning av tjÀnsten för att hÀmta data via IMDS vid identifiering av drift pÄ en stödd molnplattform. Det Àr möjligt att skapa universella avbilder som stödjer anvÀndning av IMDS vid start i molnmiljöer, men Àven kan fungera utan IMDS.
- I systemd-stub har funktionaliteten 'boot secret' implementerats, vilket möjliggör skapande av en nyckel baserad pÄ en EFI-variabel som lagras i ett omrÄde som Àr otillgÀngligt för operativsystemet och som initialiseras med ett slumpmÀssigt vÀrde. I initrd överförs nyckeln via filen /.extra/boot-secret. Denna möjlighet kan vara nödvÀndig för att erhÄlla en system-specifik slumpmÀssig nyckel för verifiering av uppstartsprocessen eller kryptering pÄ system utan hÄrdvaru-TPM (Trusted Platform Module).
- En ny tjÀnst systemd-tpm2-swtpm.service har lagts till för att köra emuleraren för TPM-kretsar swtpm (Software TPM Emulator), som kan anvÀndas för att automatiskt ÄtergÄ till en mjukvarubereglering av TPM för sÀker uppstart pÄ system utan hÄrdvarutpm. Den mjukvarubaserade TPM fungerar i anvÀndarutrymmet och nÄr inte upp till sÀkerhetsnivÄn hos hÄrdvarutpm, men i vissa situationer Àr dess anvÀndning berÀttigad jÀmfört med att arbeta utan TPM. Till exempel kan den mjukvarubaserade TPM fÄ krypteringsnyckeln för partitioner genom en ny funktionalitet "boot secret" och anvÀnda partitionen ESP (EFI System Partition) pÄ disken för att lagra sitt tillstÄnd. För automatisk aktivering av mjukvarutpm har en parameter föreslagits för kommandoraden i kÀrnan systemd.tpm2_software_fallback.
- Komponenten systemd-sysupdate har utannonserats som stabil och placerats i /usr/bin, designad för att automatiskt identifiera, ladda ner och installera uppdateringar med hjÀlp av en atomÀr mekanism för byte av partitioner, filer eller kataloger (tvÄ oberoende partitioner/filer/kataloger anvÀnds dÀr en innehÄller den aktuella fungerande resursen och den andra installeras med den nÀsta uppdateringen, varefter partitionerna/filerna/katalogerna byts om).
- I systemd-resolved har möjligheten att Ă„sidosĂ€tta eller ange nya DNS-poster implementerats genom att placera filer i JSON-format i katalogerna systemd/resolve/static.d/. Till skillnad frĂ„n /etc/hosts kan nya filer inte bara binda IP-adresser till vĂ€rdnamn, utan ocksĂ„ definiera resurs-DNS RR-poster som skiljer sig frĂ„n "A" och "AAAA". Dessutom har instĂ€llningarna för storleken pĂ„ DNS-cachen lagts till i systemd-resolved: âDNSCacheSizeâ, âMulticastDNSCacheSizeâ och âLLMNRCacheSizeâ.
- Verktyget âstoragectlâ har lagts till för att inspektera lagringsenheter och hantera anslutningen av blockenheter och filsystem.
- Som ett led i initiativet att minska beroenden har libsystemd implementerat dynamisk laddning av biblioteken libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk och libcryptsetup
genom att anropa dlopen() i situationer nÀr deras funktioner verkligen behövs. - I systemd-tmpfiles har en flagga "--inline" lagts till, vilket gör det möjligt att stÀlla in direktiv via kommandoraden utan att skapa konfigurationsfiler i tmpfiles.d/ och utan att skicka instÀllningar genom STDIN. En ny typ av direktiv 'k/K' har lagts till för att stÀlla in behörigheter. En konfigurationsfil tmpfiles.d/root.conf har lagts till, som sÀtter Ätkomstbehörigheter 0555 (-r-xr-xr-x) till rotkatalogen (/) för att skydda mot felaktig behörighet vid dynamisk skapelse av rotfilsystemet.
- I verktyget bootctl har sÀkerhetskopiering av systemd-boot-laddaren implementerats, tillsammans med ange en gammal version i UEFI som en reservstartalternativ.
- I systemd-vmspawn har stöd för direkt uppstart av kÀrnan utan anvÀndning av UEFI-firmware lagts till. En alternativ "--firmware-features" har implementerats för att selektivt aktivera eller inaktivera specifika firmware-funktioner. En lÀge "--console=headless" har lagts till för att starta en virtuell maskin utan konsol och skÀrm. En alternativ "--image-disk-type" har lagts till för att vÀlja den typ av blocklagring som anvÀnds i VM (virtio-blk, virtio-scsi, nvme, scsi-cd). En alternativ "--coco" (Confidential Computing) har lagts till för att aktivera minneskrypteringslÀget. virtuella maskiner med hjÀlp av AMD SEV-SNP-teknik.
- I systemd-hostnamed och /etc/machine-info har stöd för att fÀsta valfria taggar till det aktuella systemet lagts till, med hjÀlp av parametrar "Tags". De angivna taggarna kan sedan anvÀndas för att selektivt tillÀmpa instÀllningar med kontroll via uttrycket ConditionMachineTag.
- InstÀllningar för EventLoopRateLimitIntervalSec och EventLoopRateLimitBurst har lagts till för att begrÀnsa intensiteten i hÀndelsebearbetningscykeln i PID1 för att frigöra CPU-resurser vid slinga.
- I tjÀnstehanteraren har instÀllningen MinimumUptimeSec implementerats för att ange minimal driftstid för systemet (standard 15 sekunder). Om en shutdown eller omstart initieras före utgÄngen av denna tid lÀggs en motsvarande fördröjning till i det avslutande skedet.
- För enheter har nya instÀllningar för CPUSetPartition implementerats för att stÀlla in typ av cpuset-partition i cgroup ("root", "isolated", "member"), RestrictFileSystemAccess för att endast tillÄta körning av exekverbara filer verifierade med digital signatur genom dm-verity, och CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec för att fÄ meddelanden om hög belastning pÄ CPU och in-/utdata.
- Listan över metrik som tillhandahÄlls av verktyget systemd-report har utökats. Till exempel har information om mÀngden fysisk minne och aktiva CPU-kÀrnor, data om innehÄllet i SMBIOS-fÀlt och /etc/machine-info, information om stöd för Confidential Computing-lÀget samt uppgifter om tillverkaren av TPM2-chip lagts till.
- I systemd-oomd har möjligheten att definiera regler för att filtrera processer vid minnesbrist implementerats. Reglerna kan anges i katalogen /etc/systemd/oomd/rules.d/ eller i tjÀnst-unitar via direktiv OOMRule.
- I systemd-socket-proxy har stöd för protokollet "PROXY", som motsvarar första versionen av protokollet "haproxy", lagts till.
- I systemd-networkd har en ny backend sd-dhcp-relay för DHCP-relĂ€er implementerats. InstĂ€llningar i sektionen "[DHCPServer]" â BindToInterface, RelayTarget, RelayAgentCircuitId och RelayAgentRemoteId har förklarats förĂ„ldrade, och istĂ€llet bör parameter DHCPRelay i sektionen "[Network]" och en serie nya instĂ€llningar i sektionen [DHCPRelay] samt i filen networkd.conf anvĂ€ndas. Kommandot ânetworkctl dhcp-lease INTERFACEâ har lagts till för att spara en dump med information om IP-adressbindningar (DHCP-leases).
- Verktyget systemd-nspawn har fĂ„tt alternativet "ârestrict-address-families", och i .nspawn-filer har instĂ€llningen RestrictAddressFamilies lagts till för att begrĂ€nsa de adressfamiljer som anvĂ€nds i containern. I framtida versioner kommer endast familjerna AF_INET, AF_INET6 och AF_UNIX att vara tillĂ„tna som standard.
- Stödet för det gamla udev-databasformatet (version 0.x) har upphört. Omedelbar uppgradering frÄn versioner av systemd till version 247 stöds inte lÀngre.
- Vid byggande med C-biblioteket musl krÀvs nu minst musl version 1.2.6.
Det kan ocksĂ„ nĂ€mnas att utgĂ„van av projektet liberated-systemd 261, som utvecklar en fork av systemd utan kod som kan anvĂ€ndas för att spĂ„ra anvĂ€ndare, har slĂ€ppts. I den föreslagna versionen reduceras förĂ€ndringarna till att radera koden som lĂ€gger till ett födelsedatum i userdb-fĂ€ltet och tillĂ€gget "âbirth-date" i homectl-verktyget för att stĂ€lla in Ă„lder.
KĂ€lla: opennet.ru
