Po třech měsících vývoje k dispozici vydání správce systému systémové 261Mezi klíčové změny patří: příprava na podporu API pro ověřování stáří, podpora subsystémů Kexec Handover a Live Update Orchestration pro restartování bez ztráty stavu, subsystém IMDS (Instance Metadata Service), funkcionalita pro ochranu bootování na systémech bez fyzického TPM (Trusted Platform Module) a komponenta systemd-sysinstall s implementací instalačního programu.
Mezi změny v novém vydání:
- Přidána nová komponenta systemd-sysinstall s implementací jednoduchého instalačního programu operačního systému, který lze ovládat z příkazového řádku nebo prostřednictvím interaktivního textového rozhraní. Funkčnost systemd-sysinstall je tvořena stávajícími možnostmi systemd: používá systemd-repart, pro instalaci jádra a vygenerování bootovací nabídky - příkaz "odkaz bootctl"nainstalovat bootloader" systemd-boot — příkaz „bootctl install“ pro počáteční konfiguraci instalovaného systému (například výběr národního prostředí a rozložení klávesnice) — systemd-creds.
- V rámci přípravy na implementaci požadavků zákony O integraci API do OS pro ověření věku v databázi userdb Bylo přidáno pole birthDate, které označuje datum narození uživatele. Toto pole lze použít v portálu xdg-desktop-portal (vyvinutém pro distribuce) a ve službě AccountsService k poskytování informací o věkové kategorii uživatele aplikacím prostřednictvím rozhraní D-Bus org.freedesktop.AgeVerification1 nebo org.freedesktop.ParentalControls. Do utility homectl byla přidána volba --birth-date pro nastavení věku.
- Pro psovoda PID1 Přidána podpora pro subsystémy Linux-jádra LUO (Orchestrace živých aktualizací) A KHO (Předání Kexecu), což vám umožňuje plně restartovat a aktualizovat jádro bez zastavení práce a bez ztráty stavu systému, zařízení a procesů. KHO umožňuje spustit nové jádro ze starého bez ztráty stavu systému a LUO implementuje zachování stavu zařízení a RAM a také zajišťuje kontinuitu operací souvisejících s DMA a zpracováním přerušení.
V systemd mají nyní systémové a uživatelské jednotky možnost ukládat deskriptory souborů před voláním kexec a obnovovat je po restartu jádra pomocí kexec. Jednotky si také mohou vytvářet vlastní relace. LUO, uloženo a obnoveno během spuštění kexec. Chcete-li povolit zachování stavu úložiště deskriptorů souborů, použijte nastavení FileDescriptorStorePreserve=yes. - Subsystém byl implementován systemd-imdsd, který poskytuje API založené na Varlink IPC pro lokální programy pro přístup ke službám IMDS (Instance Metadata Service) nabízeným různými poskytovateli cloudových služeb. IMDS umožňuje virtuálním strojům získávat informace o cloudovém prostředí, jako je konfigurace sítě, geografická poloha uzlu, typ CPU a velikost úložiště. systemd-imdsd poskytuje jak nízkoúrovňové API pro přístup k jednotlivým polím, tak i vysokoúrovňové rozhraní pro dotazování pomocí standardních klíčů namapovaných na klíče specifické pro platformu. Pro interakci se systemd-imdsd byl přidán nástroj systemd-imdsd, který umožňuje import polí IMDS do lokálního systému účtů.
Byla přidána nová databáze hwdb.d/40-imds.hwdb, která detekuje cloudové platformy na základě informací o SMBIOS a určuje funkce IMDS dostupné na aktuálním uzlu. Mezi rozpoznávané cloudové platformy patří Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS a Vultr. Obslužná rutina systemd-imds-generator je k dispozici pro automatické nahrazení služby pro načítání dat přes IMDS při spuštění na podporované cloudové platformě. Lze vytvořit univerzální obrazy, které podporují IMDS při spuštění v cloudovém prostředí, ale mohou fungovat i bez IMDS. - В systemd-stub Byla implementována funkce tajného spouštění, která umožňuje generování klíče na základě proměnné EFI uložené v oblasti nepřístupné operačnímu systému a inicializované náhodnou hodnotou. Klíč je předáván initrd prostřednictvím souboru /.extra/boot-secret. Tato funkce může být vyžadována pro generování náhodného klíče specifického pro systém pro ověření spouštění nebo šifrování v systémech bez hardwarového modulu TPM (Trusted Platform Module).
- Přidána služba systemd-tpm2-swtpm.service pro spuštění emulátoru čipu TPM. swtpm (Software TPM Emulator), který lze použít k automatickému přechodu na softwarovou implementaci TPM pro bezpečné spouštění systémů bez hardwarového TPM. Softwarový TPM pracuje v uživatelském prostoru a neposkytuje stejnou úroveň ochrany jako hardwarový TPM, ale v některých situacích je jeho použití opodstatněné ve srovnání s provozem bez TPM. Například softwarový TPM může získat šifrovací klíč oddílu pomocí nové funkce „boot secret“ a použít ESP (EFI System Partition) na disku k uložení jeho stavu. Pro automatické povolení softwarového TPM je navržen parametr příkazového řádku jádra systemd.tpm2_software_fallback.
- Prohlášeno za stabilní a umístěno do komponenty /usr/bin/ systemd-sysupdate, navržený k automatické detekci, stahování a instalaci aktualizací pomocí atomického mechanismu pro nahrazování sekcí, souborů nebo adresářů (používají se dvě nezávislé sekce/soubory/adresáře, z nichž jedna obsahuje aktuálně spuštěný zdroj a druhá je místem, kam se instaluje další aktualizace, po které se sekce/soubory/adresáře prohodí).
- В systemd-vyřešen Byla implementována možnost předefinovat nebo zadat nové DNS záznamy umístěním souborů JSON do adresářů systemd/resolve/static.d/. Na rozdíl od /etc/hosts tyto nové soubory nejen vážou IP adresy na názvy hostitelů, ale také definují DNS RR záznamy zdrojů jiné než „A“ a „AAAA“. Systemd-resolved nyní navíc podporuje nastavení velikosti DNS cache: DNSCacheSize, MulticastDNSCacheSize a LLMNRCacheSize.
- Přidaná utilita 'úložištěctl' pro kontrolu úložných zařízení a správu připojení blokových zařízení a souborových systémů.
- V rámci iniciativy Aby se snížil počet závislostí, knihovna libsystemd nyní dynamicky načítá knihovny libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk a libcryptsetup voláním funkce dlopen() v situacích, kdy jsou jejich funkce skutečně potřeba.
- В systemd-tmpfiles Byl přidán příznak --inline, který umožňuje nastavení direktiv na příkazovém řádku bez vytváření konfiguračních souborů v tmpfiles.d/ a bez odesílání nastavení přes STDIN. Pro nastavení byl přidán nový typ direktivy k/K. schopnostiPřidán konfigurační soubor tmpfiles.d/root.conf, který nastavuje přístupová práva na hodnotu 0555 (-r-xr-xr-x) pro kořenový adresář (/), aby se zabránilo zadání nesprávných práv při dynamickém vytváření kořenového souborového systému.
- V obslužném programu bootctl Zajistěte, aby byla uložena záložní kopie zavaděče systemd-boot a aby byla stará verze zaregistrována v UEFI jako záložní možnost spouštění.
- В systemd-vmspawn Přidána podpora pro přímé bootování z jádra bez použití firmwaru UEFI. Implementována volba --firmware-features pro selektivní povolení nebo zakázání jednotlivých funkcí firmwaru. Přidán režim --console=headless pro spuštění virtuálního počítače bez konzole nebo obrazovky. Přidána volba --image-disk-type pro výběr typu blokového úložiště použitého ve virtuálním počítači (virtio-blk, virtio-scsi, nvme nebo scsi-cd). Přidána volba --coco (Confidential Computing) pro povolení šifrování paměti virtuálního počítače pomocí technologie AMD SEV-SNP.
- В systemd-hostname Do souboru /etc/machine-info byla přidána podpora pro připojení vlastních tagů k aktuálnímu systému pomocí parametru Tags. Tyto tagy lze poté použít k selektivnímu použití nastavení, ověřených výrazem ConditionMachineTag.
- Přidána nastavení EventLoopRateLimitIntervalSec a EventLoopRateLimitBurst pro omezení rychlosti smyčky zpracování událostí v PID1 a uvolnění zdrojů CPU v případě smyčky.
- Správce služeb nyní obsahuje nastavení MinimumUptimeSec pro nastavení minimální doby provozuschopnosti systému (ve výchozím nastavení 15 sekund). Pokud je vypnutí nebo restart zahájeno před uplynutím této doby, je k závěrečné fázi přidáno odpovídající zpoždění.
- Pro jednotky byla implementována nová nastavení: CPUSetPartition pro nastavení typu oddílu cpuset na cgroup (root, isolated, member), RestrictFileSystemAccess pro povolení spouštění pouze spustitelných souborů ověřených digitálním podpisem pomocí dm-verity a CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec pro příjem oznámení o vysokém zatížení CPU a I/O.
- Seznam metrik poskytovaných nástrojem byl rozšířen. systemd-reportNapříklad byly přidány informace o velikosti fyzické paměti a aktivních jádrech CPU, údaje o obsahu polí SMBIOS a /etc/machine-info, informace o podpoře režimu Confidential Computing a informace o výrobci čipu TPM2.
- В systemd-oomd Byla implementována možnost definovat pravidla pro filtrování procesů v případě nedostatku paměti v systému. Pravidla lze definovat v adresáři /etc/systemd/oomd/rules.d/ nebo v servisních jednotkách pomocí direktivy OOMRule.
- В systemd-socket-proxy Přidána podpora pro protokol PROXY, který odpovídá první verzi protokolu haproxy.
- В systemd-networkd Byl implementován nový backend sd-dhcp-relay pro DHCP relé. Následující nastavení v sekci [DHCPServer] byla zastaralá: BindToInterface, RelayTarget, RelayAgentCircuitId a RelayAgentRemoteId. Místo toho použijte parametr DHCPRelay v sekci [Network] a řadu nových nastavení v sekci [DHCPRelay] a v souboru networkd.conf. Byl přidán příkaz networkctl dhcp-lease INTERFACE pro ukládání výpisu informací o vazbách IP adres (DHCP lease).
- Do utility systemd-nspawn Byla přidána možnost --restrict-address-families spolu s nastavením RestrictAddressFamilies v souborech .nspawn pro omezení rodin socketových adres používaných v kontejneru. V budoucích verzích budou ve výchozím nastavení povoleny pouze rodiny AF_INET, AF_INET6 a AF_UNIX.
- Podpora starého formátu databáze udev (verze 0.x) byla ukončena. Aktualizace za běhu z verzí systemd před touto verzí. 247 (opennet.ru) již není podporováno.
- Při sestavování s knihovnou musl v jazyce C je nyní vyžadována alespoň verze musl 1.2.6.
Navíc lze poznamenat uvolnění projekt osvobozený-systemd 261, která vyvíjí fork systemd, jenž odstraňuje kód, jenž by mohl být použit ke špehování uživatelů. Navrhované změny v této verzi se omezují na odstranění kódu, který přidává do userdb pole birthDate s datem narození uživatele a volbu --birth-date do utility homectl pro nastavení věku.
Zdroj: linux.org.ru
