Po třech měsících vývoje je k dispozici vydání systémového manažera systemd 260. Klíčové změny: ukončení podpory skriptů služeb ve formátu System V, mechanismus „mstack“ pro skládání vícestupňových hierarchií montování, utilita systemd-report, podpora integrace systemd-networkd s ModemManagerem, podpora uživatelských přenosných služeb, koncept „xaccess“ v systemd-logind a systemd-udevd.
Mezi změnami v novém vydání:
- Byla ukončena podpora skriptů služeb ve formátu System V a dodávka komponent rc-local.service, systemd-sysv-install, systemd-rc-local-generator a systemd-sysv-generator byla zastavena.
- Byl implementován mechanismus „mstack“ (Mount Stack), který umožňuje používat adresáře s příponou „.mstack/“ pro vytváření složené hierarchie adresářů, utvářené pomocí sekvenčního montování a překrývání diskových obrazů a částí FS pomocí OverlayFS a „mount —bind“. Byly přidány příkazy systemd-mstack, možnost „—mstack“ v systemd-nspawn a parametr RootMStack v unit-ách, které lze použít k simultánnímu montování a odmontování všech položek definovaných v konfiguraci „.mstack“, například pro rychlou obnovu obrazu kontejneru nebo pracovní prostředí služby. Každý soubor nebo podadresář v „.mstack/“ definuje jednu úroveň montování nebo vrstvu „overlayfs“.
Například následující konfigurace „foobar.mstack/“ definuje overlayfs se dvěma vrstvami v režimu pouze pro čtení z diskových obrazů base.raw a app.raw (uvedeny jako symbolické odkazy) a adresářem „rw“, který umožňuje zápis: foobar.mstack/layer@0.raw → .. /base.raw foobar.mstack/layer@1.raw → .. /app.raw foobar.mstack/rw/
- Byly implementovány frameworky „metrics“ a „report“, které mohou být použity systémovými komponenty pro výstup statistik prostřednictvím Varlink v adresáři /run/systemd/report/. Byla přidána utilita systemd-report, která generuje souhrnnou zprávu, spojující statistiky ze všech komponent, a vystupuje je ve formátu JSON. V současnosti metriky poskytují pouze správce služeb a systemd-networkd.
- V systemd-networkd byla zajištěna integrace s ModemManagerem a přidána sekce „[MobileNetwork]“ s nastaveními APN, AllowedAuthenticationMechanisms, User, Password, IPFamily, AllowRoaming, PIN, OperatorId, RouteMetric a UseGateway, které umožňují použít systemd-networkd pro připojení prostřednictvím modemu k mobilním operátorům.
- Byla zavedena možnost spuštění systemd-portabled jako uživatelské služby, kterou může spouštět nepřivilegovaný uživatel. Pro výběr typu služby byly do utilitky portablectl přidány příznaky „—user“ a „—system“. Přenosné služby („Portable Services“) jsou systémové služby, které jsou zformovány jako samostatné kontejnery (dodávají se jako systémový obraz, ale zpracovávají se jako běžné služby).
- Do systemd-logind a systemd-udevd byla přidána podpora konceptu „xaccess“ (Extended Access), který umožňuje v grafické relaci poskytovat přístup k GPU uživatelům s dálkovým přístupem, kteří fyzicky nepoužívají monitor a vstupní zařízení na místním systému (analogicky k přístupu uaccess, který zahrnuje fyzicky pracující s počítačem). Pro konfiguraci relací se v tomto případě navrhuje přes PAM nastavit proměnnou prostředí XDG_SESSION_EXTRA_DEVICE_ACCESS.
- Pro automatizaci nastavení DeviceTree v UKI-obrázcích (Unified Kernel Image) byl navržen kanonický soubor s identifikátory hardware v /usr/lib/systemd/boot/hwids/, které spojují identifikátory zařízení s prvky DeviceTree. Díky tomuto souboru UKI-obraz automaticky najde a načte potřebný DTB (Device Tree Blob) během bootování, aniž by bylo nutné vytvářet obrazy specifické pro každé zařízení. V současnosti byly hwid-soubory vytvořeny pro zařízení ARM64 založená na čipech Snapdragon.
- Do /etc/os-release bylo přidáno nové pole „FANCY_NAME“, které se od „PRETTY_NAME“ liší možností použití ne-ASCII znaků Unicode. Pokud existuje pole „FANCY_NAME“, bude se používáno v výstupu systemd, systemd-hostnamed a hostnamectl místo „PRETTY_NAME“.
- Služby poskytující veřejné rozhraní Varlink byly pomocí symbolických odkazů sloučeny do jednoho adresáře /run/varlink/registry/. Pro zobrazení seznamu těchto služeb byla implementována příkaz ‚varlinkctl list-registry‘.
- Do jednotek byla implementována možnost zadání hodnoty „managed“ v parametru PrivateUsers pro automatické přidělení rozsahů identifikátorů uživatelů a skupin (UID/GID) prostřednictvím systemd-nsresourced.
- Do jednotek byla přidána konfigurace RefreshOnReload pro obnovení rozšíření a přihlašovacích údajů při restartu jednotky.
- Do jednotek byla přidána konfigurace BindNetworkInterface pro automatické přiřazení všech socketů vytvářených v jednotce k uvedenému síťovému rozhraní.
- Do unitů byly přidány možnosti ConditionPathIsSocket a AssertPathIsSocket pro změnu chování nebo nouzové ukončení unit-u, pokud zadané cesty nejsou sockety.
- Do systemctl byla přidána příkaz ‚enqueue-marked‘, který vyvolává metodu D-Bus EnqueueMarkedJobs(). Dříve používaný parametr ‚—marked‘ byl pro tento účel označen jako zastaralý.
- Do služeb byla přidána možnost MemoryTHP pro řízení využívání velkých stránek paměti ve službách (THP — Transparent Huge Pages).
- Do .delegate souborů systemd-resolved byla přidána podpora parametru FirewallMark pro nastavení v síťovém stacku značky firewallu („firewall mark“) pro generovaný DNS provoz.
- Do systemd-sysupdate byla přidána příkaz ‚acquire‘ pro rozdělení etap zavádění a instalace nebo aktualizace. Byla implementována podpora označení oddílů jako částečně zavedených.
- Do systemd-vmspawn byla přidána možnost „—image-format“ pro výběr formátu (qcow2 nebo raw) diskového obrazu.
- Do systemd-inhibit byla pro volbu „—list“ implementována podpora formátu „JSON“ s možností použití příznaků „—what“, „—who“, „—why“ a „—mode“ pro filtrování výstupu.
- Do systemd-repart byla přidána základní podpora kontroly integrity šifrovaných oddílů pomocí dm-integrity.
- Do utility systemd-keyutil byl přidán příkaz ‚extract-certificate‘ pro výstup obsahu certifikátů X.509.
- Do systemd-sysext a varlinkctl byla implementována podpora interaktivního procházení autorizací pomocí polkit.
- Byla přidána politika polkit, která umožňuje zavolat systemd-ask-password nepřístupným uživatelským účtem.
- Do systemd-importd byla přidána možnost stahovat OCI obrazy příkazem „importctl pull-oci“, které se ukládají ve formě obrazů pro připojení prostřednictvím „mstack“.
- Byla přidána podpora barev SYSTEMD_COLORS=auto-16, SYSTEMD_COLORS=auto-256 a SYSTEMD_COLORS=auto-24bit.
- Byly poskytnuty plně funkční samostatné spustitelné soubory systemd-sysusers a systemd-tmpfiles (dříve se sestavovaly zkrácené verze).
- Do systemd-oomd byl přidán „prekill hook“, který umožňuje připojit zpracovatele, které se aktivují před nuceným ukončením procesu z důvodu nedostatku paměti v systému.
- Byla obnovena, ale označena jako zastaralá, možnost použití nesystémových uživatelů a skupin v pravidlech udev (OWNER=\/GROUP=) a v nastavení systemd-networkd (User=\/Group=).
- Do systemd-repart byla implementována nová funkčnost nástroje mkfs.xfs z xfsprogs 6.17.0 pro nasazení počátečního obsahu FS z uvedeného adresáře.
- Byly zvýšeny požadavky na minimální verze: jádro Linux 5.4 → 5.10 (doporučeno 5.14, a pro plnou funkčnost — 6.6), libidn → libidn2, Python 3.7.0 → 3.9.0, glibc 2.31 → 2.34, OpenSSL 1.1.0 → 3.0.0, cryptsetup 2.0.1/2.3.0 → 2.4.0, elfutils 158 → 177, libblkid 2.24 → 2.37, libseccomp 2.3.1 → 2.4.0.
- Pravidla pro zajištění přenositelnosti a stability byla přepracována a zjednodušena, přičemž byla posílena závazky zamezit viditelným regresím uživatelům v veřejných rozhraních.
Zdroj: opennet.ru
