Efter tre mÄnaders utveckling Àr tillgÀnglig utgivning av systemhanteraren systemd 261. Viktiga förÀndringar: förberedelse för stöd för API för Äldersverifiering, stöd för Kexec Handover och Live Update Orchestration för omstart utan att förlora tillstÄnd, IMDS (Instance Metadata Service), funktionalitet för skydd av uppstart pÄ system utan fysisk TPM (Trusted Platform Module), komponenten systemd-sysinstall med implementering av en installerare.
Bland Àndringar nyheterna i denna utgÄva:
- Ny komponent tillagd systemd-sysinstall med implementering av en enkel operativsysteminstallerare som kan hanteras frĂ„n kommandoraden eller genom ett interaktivt textgrĂ€nssnitt. Funktionaliteten för systemd-sysinstall har formats av redan existerande möjligheter inom systemd: för att konfigurera diskpartitioner anvĂ€nds systemd-repart, för att installera kĂ€rnan och generera startmenyn â kommandot «bootctl link», för att installera bootloadern systemd-boot â kommandot «bootctl install», för den initiala konfigurationen av det installerade systemet (till exempel val av sprĂ„k och tangentbordslayout) â systemd-creds.
- Som en del av förberedelserna för att genomföra kraven frĂ„n lagar om integration i OS API för Ă„ldersverifiering i DB userdb ett fĂ€lt med birthDate med anvĂ€ndarens födelsedatum har lagts till. Det tillagda fĂ€ltet kan anvĂ€ndas i den nya portalen xdg-desktop-portal och i tjĂ€nsten AccountsService för att ge applikationer 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.
- I hanteraren PID1 har stöd för kÀrnans Linux-subsystem lagts till LUO (Live Update Orchestration) och KHO (Kexec Handover), som möjliggör fullstÀndig omstart och uppdatering av kÀrnan utan att stoppa arbete och utan att tappa systemets, enheternas och processen tillstÄnd. KHO ger möjligheter att starta en ny kÀrna frÄn en gammal utan att förlora systemets tillstÄnd, samt LUO implementerar bevarande av tillstÄndet för enheter och RAM, samt sÀkerstÀller kontinuitet i operationer relaterade till DMA och avbrottshantering.
I systemd har funktionen för system- och anvÀndar-enheter implementerats för att spara filbeskrivare före kexec-anrop och ÄterstÀlla dem efter kÀrnans omstart via kexec. I enheterna gÄr det ocksÄ att skapa egna sessioner. LUO, som sparas och ÄterstÀlls vid körning av kexec. För att aktivera lagring av filbeskrivare bör instÀllningen FileDescriptorStorePreserve=yes anvÀndas. - Implementerad delsystem systemd-imdsd, som tillhandahÄller ett API baserat pÄ Varlink IPC för Ätkomst för lokala program till IMDS (Instance Metadata Service) som erbjuds av olika molnleverantörer. IMDS gör det möjligt för virtuella maskiner att fÄ information om molnmiljön, till exempel kan information om nÀtverkskonfiguration, geografisk placering av noden, typ av CPU och storlek pÄ lagring erhÄllas. I systemd-imdsd tillhandahÄlls bÄde en lÄg nivÄ API för att fÄ tillgÄng till individuella fÀlt, och ett hög nivÄ grÀnssnitt för att göra förfrÄgningar pÄ typiska nycklar, kopplade till nycklar specifika för olika molnplattformar. För interaktion med systemd-imdsd har verktyget systemd-imds lagts till, vilket gör det möjligt att importera fÀlt frÄn IMDS till det lokala anvÀndarkontot.
För att kÀnna igen molnplattformar baserat pÄ information frÄn SMBIOS och för att bestÀmma funktionaliteten som Àr tillgÀnglig pÄ den aktuella noden har en ny databas hwdb.d/40-imds.hwdb lagts till. Det har implementerats stöd för molnplattformar som Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS och Vultr. En systemd-imds-generator har ocksÄ lagts till för automatisk insÀttning av tjÀnsten för att hÀmta data via IMDS nÀr en stödjande molnplattform identifieras. Det Àr möjligt att skapa universella avbilder som stöder anvÀndning av IMDS vid starten i molnmiljöer, men som ocksÄ kan fungera utan IMDS. - I systemd-stub har implementerat funktionen boot secret, vilket gör det möjligt att generera en nyckel baserad pÄ en EFI-variabel som lagras i ett omrÄde otillgÀngligt för operativsystemet och initieras med ett slumpmÀssigt vÀrde. I initrd överförs nyckeln via fil/.extra/boot-secret. Denna funktion kan behövas för att erhÄlla en system-specifik slumpmÀssig nyckel för verifiering av startprocessen eller kryptering pÄ system utan hÄrdvaru-TPM (Trusted Platform Module).
- En tjÀnst systemd-tpm2-swtpm.service har lagts till för att köra emulatort TPM-chip swtpm (Software TPM Emulator), som kan anvÀndas för automatisk ÄtergÄng till en mjukvarurelaterad TPM för sÀker start pÄ system utan hÄrdvaru-TPM. Mjukvaru-TPM fungerar i anvÀndarutrymmet och ger inte samma skyddsnivÄ som hÄrdvaru-TPM, men i vissa situationer kan dess anvÀndning vara motiverad jÀmfört med att arbeta utan TPM. Till exempel kan mjukvaru-TPM fÄ kryptonyckeln för partitioner genom den nya funktionen 'boot secret' och anvÀnda ESP-partitionen (EFI System Partition) pÄ disken för att lagra sitt tillstÄnd. För automatisk aktivering av mjukvaru-TPM föreslÄs en parameter som kommandorad för systemd.tpm2_software_fallback.
- Har deklarerats stabil och placerats i /usr/bin/ komponenten systemd-sysupdate, avsedd för automatisk identifiering, nedladdning och installation av 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 aktiva resursen och den andra den nÀsta uppdateringen, efter vilken partitioner/filer/kataloger byts plats).
- I systemd-resolved har möjligheten att ÄsidosÀtta eller ange nya DNS-poster genom att placera filer i JSON-format i katalogerna systemd/resolve/static.d/. Till skillnad frÄn /etc/hosts kan nya filer inte bara koppla IP-adresser till vÀrdnamn, utan ocksÄ definiera resurs-DNS RR-poster som skiljer sig frÄn 'A' och 'AAAA'. Dessutom har systemd-resolved fÄtt instÀllningar för storleken pÄ DNS-cachen: DNSCacheSize, MulticastDNSCacheSize och LLMNRCacheSize.
- En ny anvĂ€ndarprogram âstoragectlâ har lagts till för att inspektera lagringsenheter och hantera anslutningen av blockenheter och filsystem.
- Inom initiativ för att minska beroenden i libsystemd har dynamisk laddning av biblioteken libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk och libcryptsetup implementerats genom anrop av dlopen() i situationer dÀr deras funktioner verkligen behövs.
- I systemd-tmpfiles har fĂ„tt flaggan âinline, vilket gör det möjligt att ange direktiv pĂ„ kommandoraden utan att skapa konfigurationsfiler i tmpfiles.d/ och utan att skicka instĂ€llningarna via STDIN. En ny typ av direktiv k/K har lagts till för att stĂ€lla in capabilitiesEn konfigurationsfil tmpfiles.d/root.conf har lagts till, vilket sĂ€tter behörigheter 0555 (-r-xr-xr-x) för rotkatalogen (/) för att skydda mot felaktigt angivna rĂ€ttigheter vid dynamisk skapning av rot-FS.
- I verktyget bootctl en sÀkerhetskopia av systemd-boot-laddaren har sparats och den gamla versionen har registrerats i UEFI som ett reservalternativ för uppstart.
- I systemd-vmspawn stöd för direkt laddning av kĂ€rnan utan att anvĂ€nda UEFI-firmware har lagts till. En alternativ parameter âfirmware-features har implementerats för selektiv aktivering eller avaktivering av specifika firmware-funktioner. LĂ€ge âconsole=headless har lagts till för att köra en virtuell maskin utan konsol och skĂ€rm. En parameter âimage-disk-type har lagts till för att vĂ€lja typ av blocklagring som anvĂ€nds i VM (virtio-blk, virtio-scsi, nvme, scsi-cd). En parameter âcoco (Confidential Computing) har lagts till för att aktivera minneskryptering för virtuella maskiner med hjĂ€lp av AMD SEV-SNP-teknologi.
- I systemd-hostnamed och /etc/machine-info har stöd för att fÀsta godtyckliga taggar till det aktuella systemet med hjÀlp av parametern Tags. De angivna taggarna kan sedan anvÀndas för selektiv tillÀmpning av instÀllningar med kontroll genom uttrycket ConditionMachineTag.
- InstÀllningarna EventLoopRateLimitIntervalSec och EventLoopRateLimitBurst har lagts till för att begrÀnsa intensiteten i evenemangshanteringscykeln i PID1 för att frigöra CPU-resurser vid loopande.
- 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.
- Nya instÀllningar för enheter har implementerats: CPUSetPartition för att stÀlla in typ av cpuset-partition i cgroup (root, isolated, member), RestrictFileSystemAccess för att tillÄta körning av endast körbara filer som verifierats med digital signatur via dm-verity, samt CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec för att fÄ meddelanden om hög belastning pÄ CPU och I/O.
- Listan över metrik som tillhandahÄlls av verktyget systemd-reporthar utvidgats. Till exempel har information om fysisk minnesstorlek och aktiva CPU-kÀrnor, data om innehÄllet i SMBIOS-fÀlten och /etc/machine-info, information om stöd för Confidential Computing-lÀget och uppgifter om TPM2-chipstillverkare lagts till.
- I systemd-oomd har implementerat möjligheten att definiera regler för att avskilja processer vid minnesbrist i systemet. Regler kan definieras i katalogen /etc/systemd/oomd/rules.d/ eller i serviceenheter via direktivet OOMRule.
- I systemd-socket-proxy har lagt till stöd för PROXY-protokollet, som överensstÀmmer med den första versionen av haproxy-protokollet.
- I systemd-networkd En ny backend för sd-dhcp-relay har implementerats för DHCP-relĂ€er. InstĂ€llningarna i sektionen [DHCPServer] â BindToInterface, RelayTarget, RelayAgentCircuitId och RelayAgentRemoteId har förklarats som 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 bindning av IP-adresser (DHCP-lease).
- I verktyget systemd-nspawn en alternativ ârestrict-address-families har lagts till, och i .nspawn-filerna har instĂ€llningen RestrictAddressFamilies införts för att begrĂ€nsa de socket-adressfamiljer som fĂ„r anvĂ€ndas i containern. I framtida versioner kommer som standard endast familjer AF_INET, AF_INET6 och AF_UNIX att tillĂ„tas.
- Stödet för det gamla udev-databasformatet (version 0.x) har upphört. Uppdatering i realtid frÄn versioner av systemd till version 247 (opennet.ru) stöds inte lÀngre.
- Vid byggande med C-biblioteket musl krÀvs nu minst musl version 1.2.6.
Dessutom kan det nĂ€mnas utgivning projektet liberated-systemd 261, en utvecklad fork av systemd som Ă€r fri frĂ„n kod som kan anvĂ€ndas för att spĂ„ra anvĂ€ndare. I den föreslagna versionen fokuseras förĂ€ndringarna pĂ„ att ta bort den kod som la till ett birthDate-fĂ€lt med anvĂ€ndarens födelsedatum i userdb, samt en option âbirth-date i verktyget homectl för att stĂ€lla in Ă„ldern.
KĂ€lla: linux.org.ru
