Kilenc hónapos fejlesztés után megjelent a systemd 258-as verziójú rendszerkezelője. Főbb változások: a cgroups v1 és a System V stílusú rendszervezérlő komponensek támogatásának megszüntetése, új utilities: systemd-factory-reset és systemd-pty-forward, otthoni területek koncepciója, támogatás a HTTP-n keresztül szerzett disk image indításához.
A legújabb verzióban bekövetkezett változások:
- Új systemd-factory-reset utility került hozzáadásra a gyári beállítások visszaállításának (factory reset) kezdeményezésére vagy lemondására a következő indításkor. Az azonnali visszaállításhoz hozzáadtak egy factory-reset-now.target egységet. A rendszerindítási folyamat során visszaállításához pedig hozzáadták a kernelt parancssori paramétert: "systemd.factory_reset".
- Hozzáadták a home area koncepciót, amely lehetővé teszi, hogy podkatelok legyenek a fő otthoni könyvtárban ($HOME), amelyekbe a felhasználó külön-külön be tud lépni különféle munkaterekhez. Például egy felhasználó számára külön területeket lehet létrehozni a beállítások tesztelésére és a fejlesztéshez (~\/Areas\/foo és ~\/Areas\/bar). A további területhez való csatlakozáshoz a bejelentkezés során meg kell adni a terület nevét, amelyet a "%" jellel el kell választani ("username%foo"), vagy használhatja a run0 utilityt a "--area" opcióval. Az otthoni területek támogatása jelenleg csak a systemd-homed-ben valósult meg, és nem érhető el teljes grafikus munkamenetekhez.
- A kernel command line paraméterek közé, mint a "systemd.pull" és "rd.systemd.pull", amelyek automatikus indításhoz alkalmazandók, hozzáadták a "blockdev" zászlót. virtuális gépekhezHa a flag meg van adva, a betöltött image loopback-eszközhöz csatlakozik, lehetővé téve a közvetlen indítást a HTTP-n keresztül szerzett disk image-ból. Például: 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
- Hozzáadták a systemd-pty-forward utilityt, amellyel létrehozhatunk egy pszeudo-terminált (PTY) és folyamatot indíthatunk rajta, átirányítva bármilyen kimenetet arra az eredeti terminálra, ahol az utilityt elindították.
- Eltávolították a cgroups v1 támogatását biztosító kódot.
- Eltávolították a System V stílusú rendszervezérlő elemeket, mint például az itctl, runlevel és telinit utilityket, a /dev/initctl eszközt, a runlevel koncepciót, a runlevel[0-6].target egységfájlokat és a system állapotának vezérlésének lehetőségét az init parancs segítségével. A System V szolgáltatási scriptjeinek eltávolítása a következő kiadásra van tervezve.
- A Linux kernel minimális követelményei 5.4-es kiadásra emelésre kerültek (ajánlott verzió: 5.7).
- A tty/pts eszközökhöz való hozzáférési jogok 0620 (-rw—w—-) értékről 0600 (-rw——-) értékre változtak, ezzel megakadályozva, hogy más felhasználók ugyanazon csoportból írhassanak a másik terminálba. A régi viselkedés visszaállításához a ‘-Dtty-mode=0620’ opció használható a fordítás során.
- A systemd-resolved és systemd-importd leállította a GnuTLS és libgcrypt könyvtárak támogatását, csak az OpenSSL marad meg titkosítási háttérként.
- A unit fájlokhoz hozzáadva lett a ‘ConditionKernelModuleLoaded’ feltétel támogatása, amely egy adott kernel modul betöltődésének ellenőrzésére szolgál. A ‘ConditionKernelVersion’ feltételt felváltotta egy általánosabb ‘ConditionVersion’ konstrukció, amellyel nemcsak a kernel, hanem a systemd és a glibc verziói is ellenőrizhetők.
- Támogatották a felhasználói kvóták beállítását a /tmp/ tmpfs részeként, és a /dev/shm/ számára is.
- A slice egységekhez, amelyeket a rendszer különböző felhasználói szolgáltatásainak erőforrás-elszigetelésének céljából használnak (app.slice, background.slice, session.slice), bevezetésre került a ConcurrencySoftMax és ConcurrencyHardMax beállítás, amelyek a párhuzamosan aktív egységek számának kezelésére szolgálnak. Az új lehetőségeket erőforrás-felhasználás figyelembevételével végzett munka indításának kezelésére alkalmazhatják, támogatva a hierarchikus munkapoolokat.
- Az ExecStart beállításhoz hozzáadták a ‘|’ prefix támogatását, amely a parancsértelmezőn keresztüli indítást határozza meg.
- Varlink protokol alapú API került bevezetésre, amely a jelenlegi állapot, egységek listája és az egységek állapotának megállapítására használható.
- Hozzáadva egy további könyvtár az alapértelmezett beállítások (‘preset’) számára a kezdeti rendszerindítóban végrehajtott rendszer szolgáltatásokhoz, lehetővé téve a rendszer szolgáltatások engedélyezésének elválasztását a gazdatól és az initrd-től.
- Lehetőség nyílt a kvóták egyes szolgáltatásokhoz való hozzárendelésére a StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota és LogsDirectoryAccounting beállítások használatával.
- A systemd-udevd támogatja az ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS tulajdonságokat. A kernel build paraméter «udev.trace» és a «—traceu» opció hozzá lett adva a devadm eszközhöz, a udev működésének nyomkövetésére a rendszerindítás és a futás közben. A udevadm eszközhöz hozzáadva a «cat» parancs, mely megjeleníti a telepített szabályfájlok tartalmát. Automatikus címkézés került bevezetésre az Android debug USB interfészekhez (ADB DbC, ADB, Fastboot), amely lehetőséget biztosít a nem privilegizált felhasználók számára a hozzáférésre.
- A systemd-networkd-hoz új beállítások kerültek hozzáadásra: IPv4DuplicateAddressDetectionTimeoutSec, UseSIP a «[DHCPv6]» szekcióban, MPLSRouting a «[Network]» szekcióban, Preference a «[IPv6RoutePrefix]» szekcióban, LinkLocalLearning, Locked, MACAuthenticationBypass és VLANTunnel a «[Bridge]» szekcióban. A DHCPv4 klienshez hozzáadva a BOOTP protokoll támogatása.
- A systemd-logind-hoz új session osztályok kerültek bevezetésre: «none» a session létrehozásának leállítására; «user-light» és «user-early-light» a felhasználói session-ok létrehozására felhasználó service manager aktiválása nélkül (nem interaktív session-okhoz).
- A systemd-resolved-hoz hozzáadva a delegált zónák támogatása («delegate zone»), amelyek lehetővé teszik a DNS lekérdezések irányítását bizonyos domainekhez rendelt megadottak alapján. szerverek DNS. Lehetővé vált a párhuzamos DNS A és AAAA rekordlekérdezések küldése egy domain számára. A resolved.conf-ba hozzáadva a RefuseRecordTypes beállítás, amely meghatározza a blokkolt rekordtípusokat, például az «A» rekordok blokkolását csak IPv6-os hosztokon.
- A «systemctl start» parancs egy «—verbose» opciót kapott, amely megjeleníti a logot a végrehajtott egységekről.
- A systemd-boot támogatja két új speciifikáció bevezetését a betöltők számára — «uki» és «uki-url». A második esetben bevezetésre került a UKI kép HTTP protokollon keresztüli külső hosztról való betöltésének lehetősége. Lehetőség nyílik UEFI firmware képek beágyazására az UKI (Unified Kernel Image) képekbe. A loader.conf-ba hozzáadva a «reboot-on-error» beállítás, amely meghatározza a teendőket (újraindítani vagy a boot menüt megjeleníteni) ha a kijelölt boot pozíció meghibásodik.
- A systemd-nspawn támogatja a nem privilegizált konténer képek futtatását, amelyek normál könyvtárakban tárolódnak.
- A systemd-importd támogatja a zstd algoritmus által tömörített képeket (az .xz, .gz és .bz2 mellett).
- Hozzáadták a „systemd.break” és a „rd.systemd.break” kernel parancssori opciókat, amelyek lehetővé teszik interaktív megállító pontok beillesztését, amelyek megszakítják a betöltést a megadott pillanatokban. Négy megállító pont érhető el: „pre-udev”, „pre-basic”, „pre-mount” és „pre-switch-root”.
- A következő kiadásban tervezik a /run/lock/ könyvtár és az iptables csomagszűrő támogatásának megszüntetését (a systemd-networkd és a systemd-nspawn esetében csak az nftables támogatása marad). Továbbá a minimális verziókra vonatkozó követelmények emelésére is sor kerül: Linux kernel 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.
Forrás: opennet.ru
