Po troch mesiacoch vývoja vydanie systémového správcu . V novom vydaní boli pridané nové komponenty systemd-homed a systemd-repart, bola zahrnutá podpora prenosných profilov používateľov vo formáte JSON, bola zabezpečená možnosť definovania priestorov mien v systemd-journald a bola pridaná podpora mechanizmu „pidfd“. Kompletná prestavba , na ktorej je zhromaždená väčšina dostupnej dokumentácie a bol navrhnutý nový logo.

Hlavné :
- Bol pridaný servis , ktorý zabezpečuje správu prenosných domácich adresárov dodávaných vo forme pripojiteľného súboru obrazu, pričom dáta v ňom sú šifrované. Systemd-homed umožňuje vytvárať samostatné prostredia pre používateľské dáta, ktoré sa dajú prenášať medzi rôznymi systémami bez starostí o synchronizáciu identifikátorov a dôvernosť. Parametre používateľských údajov sú viazané na domácu zložku, nie na systémové nastavenia – namiesto /etc/passwd, /etc/group a /etc/shadow sa používa profil vo formáte . Viac informácií nájdete v systemd-homed.
- Bol pridaný aj sprievodný komponent systemd-homed „“ („systemd-userdb“), ktorý prekladá účty UNIX/glibc NSS do záznamov JSON a poskytuje unifikované API Varlink na vyhľadávanie a prehľadávanie záznamov. V pripojenom profile JSON sú uvedené parametre potrebné pre fungovanie používateľa, vrátane údajov o mene, hashovacom hesle, kľúčoch na šifrovanie, kvótach a poskytovaných zdrojoch. Profil môže byť podpísaný digitálnym podpisom uchovávaným na externom tokenu Yubikey. Na správu profilov bola navrhnutá utilita „userdbctl“. Podpora profilov vo formáte JSON bola pridaná do rôznych komponentov systemd, vrátane systemd-logind a pam-systemd, čo umožňuje pre používateľov prenosných adresárov organizovať autentifikáciu, prihlásenie, nastavenie premenných prostredia, vytvorenie relácie, nastavenie limitov atď. V budúcnosti sa očakáva vznik možnosti generovania JSON profilov rámcom sssd so zabezpečením nastavení používateľov v LDAP.
- Bola pridaná nová utilita „systemd-repart“, určená na preparticionovanie tabuliek diskových oddielov vo formáte GPT. Štruktúra oddielov je definovaná deklaratívne prostredníctvom súborov, ktoré popisujú, aké oddiely by mali alebo môžu existovať. Pri každom spustení operačného systému je aktuálna tabuľka oddielov porovnávaná s týmito súbormi, po čom sa pridávajú chýbajúce oddiely alebo, ak sa relatívna alebo absolútna veľkosť uvedená v nastaveniach nezhoduje, zväčšuje sa veľkosť existujúcich. Dovoľujú sa iba inkrementálne zmeny, t.j. odstránenie a zmenšenie veľkosti nie je možné, oddiely môžu byť len pridané a zväčšené.
Utilita je primárne navrhnutá na spustenie z initrd a automaticky zistí disk, na ktorom je umiestnený koreňový oddiel, čo nevyžaduje žiadnu ďalšiu konfiguráciu, okrem súborov s definovaním zmien.V praxi môže byť systemd-repart užitočný pre obrazy operačného systému, ktoré pôvodne môžu byť dodávané v minimálnom rozsahu, a po prvom spustení sa rozširujú na veľkosť existujúceho blokového zariadenia alebo sa doplňujú ďalšími oddielmi (napríklad koreňový oddiel môže byť rozšírený, aby pokryl celý disk, alebo po prvom spustení môže byť vytvorený swap oddiel alebo /home). Ďalším použitím môžu byť konfigurácie s dvoma vzájomne sa vymieňajúcimi oddielmi — pôvodne môže byť dodávaný iba prvý oddiel, zatiaľ čo druhý môže byť vytvorený pri prvom spustení.
- Objavila sa možnosť spustenia viacerých inštancií systemd-journald, z ktorých každá vedie logy vo svojom mennom priestore. Okrem hlavného systemd-journald.service je v priečinku .service navrhnutý šablón na vytvorenie ďalších inštancií viazaných na svoje menné priestory pomocou direktívy „LogNamespace“. Každý menný priestor logov je spravovaný samostatným pozadovým procesom so svojím súborom nastavení a limitov. Navrhnutá možnosť môže byť užitočná na vyváženie záťaže pri vysokom objeme logov alebo na posilnenie izolácie aplikácií. Do journalctl bola pridaná možnosť „—namespace“, ktorá obmedzuje dopyt len na uvedený menný priestor.
- Do systemd-udevd a ďalšie komponenty systemd bola pridaná podpora pre mechanizmus priraďovania alternatívnych názvov sieťovým rozhraniam, ktorý umožňuje zároveň priradiť k jednému rozhraniu viacero názvov. Veľkosť názvu môže dosiahnuť 128 znakov (predtým bolo meno sieťového rozhrania obmedzené na 16 znakov). Predvolene teraz systemd-udevd priraďuje každému sieťovému rozhraniu všetky varianty názvov generované podporovanými schémami pomenovania. Toto správanie je možné zmeniť prostredníctvom nových nastavení AlternativeName a AlternativeNamesPolicy v súboroch .link. V systemd-nspawn bola implementovaná generácia alternatívnych názvov s celým menom kontajnera pre vytvárané na strane hostiteľa veth-linky.
- Do API sd-event.h bola pridaná podpora podsysystému jadra Linux «pidfd» na spracovanie situácie s opätovným využitím PID (pidfd je viazaný na konkrétny proces a nemeni sa, zatiaľ čo PID môže byť priradený inému procesu po skončení aktuálneho procesu, ktorý je s týmto PID spojený). Všetky komponenty systemd, s výnimkou PID 1, boli prevedené na používanie pidfd, pokiaľ tento podsysystém podporuje aktuálne jadro.
- V systemd-logind prostredníctvom PolicyKit zabezpečuje overenie prístupu k operácii výmeny virtuálneho terminálu. Predvolene sú oprávnenia na výmenu aktívneho terminálu poskytované iba používateľom, ktorí aspoň raz iniciovali reláciu na lokálnom virtuálnom termináli.
- Na zjednodušenie vytvárania obrazov initrd so systemd, obsluhovač PID 1 teraz určuje fakt používania v initrd a v takom prípade automaticky načítava initrd.target namiesto default.target. Pri takomto prístupe sa obrazy initrd a hlavného systému môžu líšiť len prítomnosťou súboru /etc/initrd-release.
- Bol pridaný nový parameter príkazového riadka jadra — «systemd.cpu_affinity», čo je ekvivalent možnosti CPUAffinity v /etc/systemd/system.conf a umožňuje nastaviť masku priradenia k CPU pre PID 1 a iné procesy.
- Bola zabezpečená reštartovanie databázy SELinux spolu s reštartom PID 1 prostredníctvom príkazov, ako sú «systemctl daemon-reload».
- Do obsluhovača PID 1 bola pridaná nastavenie «systemd.show-status=error», pri ktorej sa na konzolu vypisujú len správy o chybách a podstatných oneskoreniach pri načítaní.
- V systemd-sysusers bola pridaná podpora na vytváranie používateľov s menom hlavnej skupiny, ktorá sa líši od mena používateľa.
- V systemd-growfs cez možnosť montovania x-systemd.growfs v /etc/fstab bola implementovaná podpora rozšírenia oddielov XFS, okrem podporovaných rozšírení oddielov s Ext4 a Btrfs.
- Do /etc/crypttab bola pridaná možnosť x-initrd.attach na určenie šifrovaného oddielu, ktorý bol už odomknutý počas fázy initrd.
- V systemd-cryptsetup bola pridaná podpora (možnosť pkcs11-uri v /etc/crypttab) na odomykanie šifrovaných oddielov pomocou smart kariet PKCS#11, napríklad na prepojenie šifrovania oddielov k YubiKeys.
- Do /etc/fstab boli pridané nové možnosti montovania „x-systemd.required-by“ a „x-systemd.wanted-by“ na explicitné nastavenie unit-ov, ktoré určujú operácie montovania, vyvolané namiesto local-fs.target a remote-fs.target.
- Přidala se nová možnost sandbox-izolácie služieb — ProtectClock, ktorá obmedzuje zápis do systémových hodín (prístup je blokovaný na úrovni /dev/rtc, systémových volaní a oprávnení CAP_SYS_TIME/CAP_WAKE_ALARM).
- Do špecifikácie a systemd-gpt-auto-generator bolo pridané určenie oddielov
/var и /var/tmp. - V „systemctl list-unit-files“ sa pri zobrazovaní zoznamu unit-ov objavil nový stĺpec, ktorý odráža stav zapnutia, navrhovaný v prednastaveniach výrobcu pre tento typ unit-ov.
- Do „systemctl“ bola pridaná možnosť „—with-dependencies“, pri aktivácii ktorej príkazy ako „systemctl status“ a „systemctl cat“ zobrazia nielen všetky príslušné unit-y, ale aj unit-y, od ktorých závisia.
- V systemd-networkd bola v konfigurácii qdisc pridaná možnosť nastavenia parametrov TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) a FQ (Fair Queue).
- V systemd-networkd bola pridaná podpora sieťových zariadení IFB ().
- V systemd-networkd v sekcii [Route] bol implementovaný parameter MultiPathRoute na nastavenie multi-path trás.
- V systemd-networkd pre klienta DHCPv4 bola pridaná možnosť SendDecline, pri jej nastavení sa po prijatí DHCP-odpovede s adresou vykoná kontrola duplicity adresy a v prípade zistenia konfliktu adries sa vydaná adresa odmieta. Pre klienta DHCPv4 bola taktiež pridaná možnosť RouteMTUBytes, ktorá umožňuje určiť veľkosť MTU pre trasy generované z viazaní IP-adresy (leases).
- Nastavenie PrefixRoute v sekcii „[Address]“ súborov „.network“ bolo vyhlásené za zastarané. Na jeho miesto prišlo nastavenie „AddPrefixRoute“, ktoré má opačný význam.
- V súboroch .network do nastavenia Gateway v sekcii „[Route]“ bola pridaná podpora nového hodnoty „_dhcp“, pri jejž nastavení sa statická trasa vyberá na základe brány, nastavené cez DHCP.
- V súboroch .network v sekcii „[RoutingPolicyRule]“ sa objavili nové nastavenia
User a SuppressPrefixLength na určenie smerovania zo zdroja (source routing) na základe rozsahov UID a veľkosti prefixu. - V networkctl v príkaze „status“ bola zabezpečená možnosť zobrazenia logov v súvislosti s každým sieťovým rozhraním.
- Do systemd-networkd-wait-online bola pridaná podpora na určenie maximálneho času čakania na prechod rozhrania do pracovného stavu a na čakanie na zmiznutie rozhrania.
- Bola zastavená spracovanie súborov .link a .network s prázdnou alebo zakomentovanou sekciou „[Match]“.
- V súboroch .link a .network v sekcii „[Match]“ sa objavila nová nastavenie „PermanentMACAddress“ na overovanie trvalej MAC adresy zariadení pri použití náhodne generovanej MAC.
- Sekcia „[TrafficControlQueueingDiscipline]“ v súboroch .network bola premenovaná na „[NetworkEmulator]“, a z názvov súvisiacich nastavení bol odstránený predvoľba „NetworkEmulator“.
- V systemd-resolved pre DNS-over-TLS bola pridaná podpora na overovanie SNI.
Zdroj: opennet.ru
