Po třech měsících vývoje je k dispozici verze systémového manažera systemd 262. V nové verzi byla implementována integrace minimálního souboru unit, byla zajištěna podpora pro statické spojování, proběhla integrace s dm-clone pro klonování blokových zařízení, byl přidán záznam databáze nainstalovaných souborů v systemd-sysupdate a byla zajištěna kryptografická verifikace zpráv systemd-report.
Mezi změnami v novém vydání:
- Do spustitelného souboru systémového manažera byl integrován soubor základních unitů (basic.target, sysinit.target, multi-user.target, reboot.target, shutdown.target, systemd-poweroff.service atd.), které se používají v případě, že není možné načíst unit-soubory z disku. Taková integrace umožňuje spouštění kontejnerů s init-procesem (PID1) založeným na systemd bez instalace unit-souborů.
- Byla přidána podpora pro sestavení v podobě jednoho staticky zkomponovaného spustitelného souboru, který může být použit pro inicializaci a spuštění služeb v kontejnerech s minimálním vybavením. Při spuštění meson pro statické spojování je třeba uvést příznaky: "—default-library=static —prefer-static -Dbuild-static=true -Dsystemd-multicall-binary=true".
- Byla integrována podpora modulu jádra dm-clone, který umožňuje na základě dostupného blokového zařízení pouze pro čtení vytvořit jeho klon, který umožňuje zápis. Nastavení z /etc/clonetab jsou zpracovávána systemd-clonesetup-generator a ukládána ve formě jednotek systemd-clonesetup@.service, které jsou vázány na clonesetup.target. Pro vytváření a odstraňování klonů blokových zařízení byla přidána utilita systemd-clonesetup.
- Vylepšily se možnosti nástroje systemd-sysupdate, určeného pro automatické rozpoznávání, stahování a instalaci aktualizací s použitím atomického mechanismu pro výměnu oddílů, souborů nebo adresářů (využívají se dva nezávislé oddíly/soubory/adresáře, přičemž na jednom z nich je aktuálně pracující zdroj a na druhém se instaluje další aktualizace, po čemž se oddíly/soubory/adresáře vymění). Byla zrealizována databáze obsahující informace o všech nainstalovaných souborech. Byla přidána příkaz „systemd-sysupdate cleanup“ pro odstranění souborů, které se staly nadbytečnými po aktualizaci systému nebo neodpovídají aktuálnímu konfiguračnímu vzoru. Byly přidány příkazy „systemd-sysupdate enable-feature/disable-feature/enable-component/disable-component“ pro správu zapínání funkcionality a komponent. Byla zavedena koncepce doporučených komponent, například příkazem „systemd-sysupdate enable-component —component-suggested“ mohou být aktivovány ovladače potřebné pro zajištění fungování stávajícího hardwaru. Do příkazu „systemd-sysupdate update“ byla přidána možnost „—component-all“ pro hromadnou aktualizaci všech komponent.
- Do systemd-report byla přidána možnost „—sign=“, která umožňuje podepisování zpráv, které generují a nahrávají příkazy „generate“ a „upload“. Byly navrženy tři backendy pro podepisování zpráv: systemd-report-sign-plain (Ed25519), systemd-report-sign-tsm (configfs TSM) a systemd-report-sign-tpm2 (TPM2 PCR).
- Pro vyvážení zatížení v případě hromadného restartování služeb po selháních byl navržen parametr RestartRandomizedDelaySec, který přidává náhodné zpoždění před automatickým restartováním služby, omezené zadanými mezemi.
- Do slice jednotek byl přidán parametr ActivatingConcurrencyMax pro omezení maximálního počtu současně aktivovaných jednotek v hierarchii.
- Pro služby byl implementován parametr LUOSession, určený k vytváření sezení Live Update Orchestrator, používaných pro aktualizaci jádra v živém režimu bez zastavení provozu a aniž by došlo ke ztrátě stavu systému, zařízení a procesů.
- V socket jednotkách byly implementovány parametry XAttrEntryPoint, XAttrListen a XAttrAccept, které umožňují připojovat k UNIX socketům rozšířené atributy (xattr) pro jejich označení.
- Pro automatické přiřazení snadno zapamatovatelných názvů hostitelů (/etc/hostname) byl zaveden nový zástupný symbol „$“, nahrazující prvek ze seznamu slov vybraný pomocí hashování vázaného na identifikátor systému.
- Do utility run0 byly přidány možnosti kompatibilní s sudo -k/—reset-timestamp, -K/—remove-timestamp a -v/—validate pro odvolání nebo aktualizaci dočasné autorizace provedené prostřednictvím polkit.
- Do utility systemd-escape byla přidána možnost „—stdin“ pro čtení řetězců ze standardního vstupu.
- Do vconsole byla přidána proměnná prostředí FONT_SCALE pro nastavení úrovně měřítka písem, analogicky k parametrům jádra vconsole.font_scale (zatím jsou podporovány pouze hodnoty 100% a 200%).
- Ke všem příkazům, které podporují možnost „—help“, byla přidána možnost „—introspect-cli“ pro výstup nápovědy ve formátu JSON pro usnadnění automatizace kontroly přítomnosti požadovaných možností z nadstaveb a skriptů.
- Při autentizaci pomocí FIDO2 tokenů se zobrazuje počet zbylých pokusů o zadání PIN kódu.
- V systemd-networkd byla do sekce „[Match]“ v souborech .link, .network a .netdev přidána kontrola MachineTag, umožňující vázat síťová nastavení na přítomnost nebo nepřítomnost specifických tagů. Do příkazu „networkctl reload“ byla přidána možnost „—no-reconfigure“ pro restartování souborů .network a .netdev z disku bez přeprogramování existujících síťových odkazů. V souborech .network bylo povoleno uvádět více názvů síťových zařízení oddělených mezerou pro parametry IPoIB, IPVLAN, IPVTAP, MACsec, MACVLAN, MACVTAP, Tunnel, VLAN, VXLAN a Xfrm.
- V systemd-journald byl mechanismus FSS (Forward Secure Sealing), který zaručuje neměnnost protokolů, převeden na používání kryptofunkcí z knihovny OpenSSL místo libgcrypt. Knihovna libsystemd již není spojena s libgcrypt.
- Do utility systemd-sysctl byla přidána možnost „—verify“, při které se hodnota parametru sysctl čte po nastavení a porovnává se s původní hodnotou pro ověření, zda byla změna provedena. Byly přidány možnosti „—save=FILENAME“ a „—revert=FILENAME“ pro ukládání a obnovu nastavení sysctl umístěných v adresáři /run/sysctl.d/.
- Byla přidána podpora pro sestavení s knihovnou OpenSSL 4.
Zdroj: opennet.ru
