Po devíti měsících vývoje byl představen vydání systémového správce systemd 258. Klíčové změny: ukončení podpory cgroups v1 a komponent systému ve stylu System V, nové nástroje systemd-factory-reset a systemd-pty-forward, koncept domácích oblastí, podpora zavádění z diskového obrazu získaného přes HTTP.
Medzi zmenami v novom vydaní:
- Byl přidán nástroj systemd-factory-reset pro iniciaci nebo zrušení návratu do továrního nastavení (factory reset) při dalším spuštění. Pro okamžité resetování byla přidána jednotka factory-reset-now.target. Pro reset během zavádění byla přidána volba příkazového řádku jádra „systemd.factory_reset“.
- Byl přidán koncept domácích oblastí (home area), který umožňuje definovat podadresáře uvnitř hlavního domácího adresáře ($HOME), do kterých se může uživatel přihlásit pro práci v různých pracovních prostorech. Například pro jednoho uživatele lze vytvořit samostatné oblasti pro testování nastavení a pro vývoj (~\/Areas\/foo a ~\/Areas\/bar). Pro připojení k dalšímu prostoru při přihlášení je třeba uvést v přihlášení název oblasti, oddělený symbolem „%“ („username%foo“) nebo použít nástroj run0 s volbou „—area“. Podpora domácích oblastí je prozatím implementována pouze ve systemd-homed a není dostupná pro plné grafické seance.
- Do parametrů příkazového řádku jádra „systemd.pull“ a „rd.systemd.pull“, používaných pro automatické zavádění virtuálních strojů, kontejnerů nebo rozšířených obrazů (sysext, confext), byla přidána vlajka „blockdev“. Při zadání této vlajky je připojený obraz namapován na smyčkový zařízení, což umožňuje přímé zavádění z diskového obrazu získaného přes HTTP. Například: rd.systemd.pull=raw,machine,verify=no,blockdev:image:https://192.168.100.1:8081/image.raw \ root=\/dev\/disk\/by-loop-ref\/image.raw-part2
- Byl přidán nástroj systemd-pty-forward, pomocí kterého lze vytvořit pseudo-terminál („PTY“) a spustit na něm proces s přesměrováním jakéhokoli výstupu na původní terminál, na kterém byl nástroj spuštěn.
- Byl odstraněn kód, který zajišťoval podporu cgroups v1.
- Byly odstraněny komponenty ovládání systému ve stylu System V, jako jsou nástroje itctl, runlevel a telinit, zařízení /dev/initctl, koncept úrovní zavádění (runlevel), unit-souboru runlevel[0-6].target a možnost řízení stavu prostřednictvím příkazu init. Odstranění podpory skriptů služeb System V je plánováno na další vydání.
- Minimálne požiadavky na verziu jadra Linux boli zvýšené na vydanie 5.4 (odporúčaná verzia 5.7).
- Práva na prístup k zariadeniam tty/pts boli zmenené z 0620 (-rw—w—-) na 0600 (-rw——-) na zákaz zápisu do cudzích terminálov iným používateľom v tej istej skupine. Na obnovenie starého správania pri kompilácii môžete použiť voľbu ‘-Dtty-mode=0620’.
- V systemd-resolved a systemd-importd bola ukončená podpora knižníc GnuTLS a libgcrypt, ako kryptografického backendu zostal iba OpenSSL.
- Do súborov jednotiek bola pridaná podpora podmienky „ConditionKernelModuleLoaded“ na kontrolu načítania určitého modul jadra. Podmienka „ConditionKernelVersion“ bola nahradená všeobecnejšou konštrukciou „ConditionVersion“, ktorá umožňuje kontrolovať verzie nielen jadra, ale aj systemd a glibc.
- Bola pridaná podpora používateľských kvót pre adresár /tmp/, umiestnený v tmpfs, a pre /dev/shm/.
- Pre slice jednotky používané na rozdelenie systému na časti (app.slice, background.slice, session.slice) na izoláciu zdrojov medzi rôznymi používateľskými službami boli implementované nastavenia ConcurrencySoftMax a ConcurrencyHardMax na riadenie počtu súčasne aktívnych jednotiek. Pridané možnosti môžu byť použité ako mechanizmus na správu spúšťania úloh s ohľadom na spotrebu zdrojov, podporujúci hierarchické pooly úloh.
- Do nastavenia ExecStart bola pridaná podpora prefixu ‘|’, ktorý určuje spustenie cez príkazový interpret.
- Bol implementovaný API založený na protokole Varlink, ktorý môže byť použitý na určenie aktuálneho stavu, zoznamu jednotiek a stavu jednotiek.
- Bol pridaný dodatkový adresár s prednastaveniami („preset“) pre systémové služby vykonávané v initrd, umožňujúci oddeliť zapínanie systémových služieb pre hostiteľa a initrd.
- Bola pridaná možnosť viazať kvóty na jednotlivé služby, pričom sa používajú nastavenia StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota a LogsDirectoryAccounting.
- V systemd-udevd bola pridaná podpora vlastností ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. Bol pridaný parameter príkazovej zostavy jadra „udev.trace“ a možnosť „—traceu“ v utilite devadm na sledovanie logiky udev počas spúšťania a počas prevádzky. Do utilitky udevadm bola pridaná príkaz „cat“ na zobrazenie obsahu nainštalovaných súborov s pravidlami. Bol zabezpečený automatický označovanie ladacích USB rozhraní Android (ADB DbC, ADB, Fastboot) pre prístup nepriviligovanými používateľmi.
- V systemd-networkd boli pridané nastavenia IPv4DuplicateAddressDetectionTimeoutSec, UseSIP v sekcii „[DHCPv6]“, MPLSRouting v sekcii „[Network]“, Preference v sekcii „[IPv6RoutePrefix]“, LinkLocalLearning, Locked, MACAuthenticationBypass a VLANTunnel v sekcii „[Bridge]“. V kliente DHCPv4 bola pridaná podpora protokolu BOOTP.
- V systemd-logind boli pridané nové triedy relácií: „none“ na vypnutie vytvárania relácie; „user-light“ a „user-early-light“ na vytvorenie používateľských relácií bez aktivácie pre používateľa servisného manažéra (pre neinteraktívne relácie).
- V systemd-resolved bola pridaná podpora delegačných zón („delegate zone“), ktoré umožňujú smerovať DNS požiadavky pre určité domény cez dané. servery DNS. Bol zabezpečený paralelný odosielanie požiadaviek DNS záznamov A a AAAA pre jednu doménu. V resolved.conf bola pridaná konfigurácia RefuseRecordTypes na určenie blokovaných typov záznamov, napríklad na blokovanie záznamov „A“ na hostoch len s IPv6.
- Do príkazu „systemctl start“ bola pridaná možnosť „—verbose“ na zobrazenie logu práce jednotiek, na ktorých sa vykonáva operácia.
- V systemd-boot bola pridaná podpora dvoch nových špecifikácií bootloaderov — „uki“ a „uki-url“. V druhom prípade bola realizovaná možnosť načítania obrazu UKI z externého hostiteľa cez protokol HTTP. Pridala sa možnosť zabudovania obrazov firmvéru UEFI do obrazov UKI (Unified Kernel Image). Do loader.conf bola pridaná konfigurácia „reboot-on-error“ na určenie akcií (re štartovať alebo zobraziť bootovacie menu) v prípade zlyhania vybranej bootovacej pozície.
- V systemd-nspawn bola pridaná podpora nepriviligovaného spúšťania obrazov kontajnerov, uložených v bežných adresároch.
- V systemd-importd bola pridaná podpora obrazov, komprimovaných algoritmom zstd (k suplementu .xz, .gz a .bz2.).
- Boli pridané parametre príkazového riadku jadra „systemd.break“ a „rd.systemd.break“, ktoré umožňujú vkladať interaktívne body zastavenia, prerušiace načítanie v určených momentoch. K dispozícii sú štyri body zastavenia: „pre-udev“, „pre-basic“, „pre-mount“ a „pre-switch-root“.
- V nasledujúcej verzii je naplánované ukončenie podpory adresára /run/lock/ a paketového filtra iptables (v systemd-networkd a systemd-nspawn zostane iba podpora nftables). Tiež sú naplánované vyššie požiadavky na minimálne verzie: jadro Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.
Zdroj: opennet.ru
