Három hónap fejlesztés után elérhető a rendszerkezelő kiadása systemd 261. Főbb változások: előkészületek az életkor-ellenőrző API támogatásához, Kexec Handover és Live Update Orchestration alrendszerek támogatása a helyszíni állapotvesztés nélküli újraindításhoz, IMDS (Instance Metadata Service) alrendszer, funkció a betöltési védelemhez fizikainak nem érzékelt TPM (Trusted Platform Module) nélküli rendszerek esetén, a systemd-sysinstall komponens telepítő megvalósítással.
A változtatások között API-specifikus módosítások találhatók: az új kiadásban:
- Új komponens hozzáadva systemd-sysinstall egyszerű operációs rendszer telepítő megvalósítással, amelyet parancssorból vagy interaktív szöveges felületen keresztül lehet irányítani. A systemd-sysinstall funkcióit a már meglévő systemd lehetőségekből alakították ki: a lemezpartíciók beállításához a(z) systemd-repart, a kernel telepítéséhez és a boot menü generálásához a „bootctl link„ parancsot, a betöltő telepítéséhez systemd-boot — a „bootctl install” parancsot, a telepítendő rendszer kezdeti konfigurálásához (például nyelv és billentyűzetkiosztás választáshoz) — systemd-creds.
- A követelmények végrehajtásának előkészítéseként törvények az OS-be való integrációs életkor-ellenőrző API-hoz az adatbázisban userdb hozzáadva a birthDate mező, amely a felhasználó születési dátumát tartalmazza. A hozzáadott mezőt a készülő xdg-desktop-portal portálban és az AccountsService szolgáltatásban lehet használni, hogy az alkalmazások információkat nyújthassanak a felhasználó életkorának kategóriájáról a D-Bus interfészen keresztül az org.freedesktop.AgeVerification1 vagy org.freedesktop.ParentalControls rendszeren. A homectl segédprogramhoz a —birth-date opciót adták hozzá az életkor beállításához.
- A PID1 kezelőhöz hozzáadva a Linux kernel LUO (Live Update Orchestration, ennek eredményeként a lekérdezések olyan formát öltenek, mint a fent említett. KHO (Kexec Handover), amelyek lehetővé teszik a kernel teljes újraindítását és frissítését, miközben a működés nem áll meg és a rendszer, az eszközök, valamint a folyamatok állapota megmarad. KHO lehetővé teszi egy új kernel indítását a régi kernelből állapotvesztés nélkül, míg LUO megvalósítja az eszközök és a RAM állapotának megőrzését, valamint biztosítja a DMA és a megszakítási feldolgozással kapcsolatos műveletek folyamatosságát.
A systemd-ben a rendszer- és felhasználói unit-ok számára lehetőség nyílik a fájlleírók megőrzésére a kexec meghívása előtt, és azok helyreállítására a kernel kexec-en keresztüli újraindítása után. A unit-okban saját ülések is létrehozhatók LUO, a fájl leírók állapotának megőrzését és helyreállítását kexec végrehajtása során. A fájl leírók állapotának megőrzéséhez a FileDescriptorStorePreserve=yes beállítást kell alkalmazni. - Megvalósítva a systemd-imdsd, amely Varlink IPC alapú API-t biztosít a helyi programok számára az IMDS (Példány Metaadat Szolgáltatás) szolgáltatásokhoz való hozzáféréshez, amelyeket különböző felhőrendszer szolgáltatók nyújtanak. Az IMDS lehetővé teszi a virtuális gépek számára, hogy információt kapjanak a felhő környezetről, például meg lehet szerezni a hálózati konfigurációt, a csomópont földrajzi elhelyezkedését, a CPU típusát és a tárolási méretet. A systemd-imdsd alacsony szintű API-t biztosít az egyes mezőkhez való hozzáféréshez, valamint egy magas szintű interfészt a minta kulcsok kéréséhez, amelyek a különböző felhőplatformok specifikus kulcsaihoz vannak rendelve. A systemd-imdsd-hez egy systemd-imds segédprogram került hozzáadásra, amely lehetővé teszi az IMDS mezők importálását a helyi fiókrendszerbe.
Az SMBIOS-ból származó információk alapján a felhőplatformok azonosítása és az IMDS jelenlegi csomóponton elérhető funkcióinak meghatározása érdekében egy új hwdb.d/40-imds.hwdb adatbázis került hozzáadásra. Az Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS és Vultr felhőplatformok azonosítása megvalósult. A systemd-imds-generator feldolgozó automatikusan bekapcsolja az IMDS-en keresztüli adatok lekérdezéséhez szükséges szolgáltatást, ha a támogatott felhőplatformon történik a működés. Általános képek hozhatók létre, amelyek támogatják az IMDS használatát felhő környezetekben való indításkor, de képesek működni IMDS nélkül is. - A systemd-stub megvalósította a boot secret funkcionalitást, amely lehetővé teszi egy kulcs létrehozását az EFI-változó alapján, amely a rendszer számára elérhetetlen területen van tárolva és véletlen értékkel van inicializálva. Az initrd-ben a kulcs a /.extra/boot-secret fájlon keresztül kerül átadásra. Ez a lehetőség szükséges lehet a rendszer-specifikus véletlen kulcs beszerzéséhez a rendszer betöltési folyamatának érvényesítéséhez vagy titkosításhoz olyan rendszerek esetén, amelyek nem rendelkeznek hardver TPM-mel (Trusted Platform Module).
- Hozzáadva a systemd-tpm2-swtpm.service szolgáltatás az TPM-chip emulátor elindításához swtpm (Software TPM Emulator), amely automatikus visszaállításra használható a TPM szoftveres megvalósítására a védett indításhoz olyan rendszereken, amelyek nem rendelkeznek hardveres TPM-mel. A szoftveres TPM felhasználói térben működik, és nem nyújt olyan védelmi szintet, mint a hardveres TPM, de bizonyos helyzetekben indokolt a használata a TPM nélküli működéssel szemben. Például a szoftveres TPM képes megszerezni egy titkosítási kulcsot a partíciók számára az új „boot secret” funkció segítségével, és az ESP (EFI System Partition) partíciót használja állapotának tárolására a lemezen. A szoftveres TPM automatikus aktiválásához a kernel systemd.tpm2_software_fallback parancssori paramétert javasolják.
- Stabilnak nyilvánították és elhelyezték a /usr/bin/ mappában a systemd-sysupdate, amely automatikusan észleli, letölti és telepíti a frissítéseket atomikus partíció-, fájl- vagy könyvtárcsere mechanizmussal (két független partíciót/fájlt/könyvtárat használ, amelyből az egyik a jelenlegi működő erőforrás, a másik pedig a következő frissítést telepíti, majd a partíciók/fájlok/könyvtárak helyet cserélnek).
- A systemd-resolved lehetőséget biztosít DNS-bejegyzések felülírására vagy új bejegyzések megadására JSON formátumú fájlok elhelyezésével a systemd/resolve/static.d/ könyvtárakba. A /etc/hosts fájlokkal ellentétben az új fájlokban nemcsak IP-címek köthetők a gazdagépek neveihez, hanem különböző, az „A” és „AAAA” DNS RR-bejegyzések is definiálhatók. Ezen kívül a systemd-resolved konfigurációk DNS-cache méretét is tartalmazza: DNSCacheSize, MulticastDNSCacheSize és LLMNRCacheSize.
- Hozzáadva az ‘storagectl’ segédprogram az tárolóeszközök vizsgálatára és a blokk eszközök és fájlrendszerek csatlakozásának kezelésére.
- Keretein belül kezdeményezés keretében a libsystemd függőségeinek csökkentésére dinamikus könyvtárbetöltést valósítottak meg a libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk és libcryptsetup könyvtárak esetében a dlopen() hívásával, amikor az azok funkcióira tényleg szükség van.
- A systemd-tmpfiles hozzáadva az inline jelző, amely lehetővé teszi a direktívák parancssori beállítását konfigurációs fájlok létrehozása nélkül a tmpfiles.d/ könyvtárban és anélkül, hogy beállításokat küldenek STDIN-en keresztül. Új k/K típusú direktívák bevezetése capabilities. Hozzáadva a tmpfiles.d/root.conf konfigurációs fájl, amely a hozzáférési jogokat 0555-re (-r-xr-xr-x) állítja a gyökérkönyvtárra (/) a hibás jogok megadásának megakadályozása érdekében a gyökér fájlrendszer dinamikus kialakítása során.
- A segédprogramban bootctl A rendszerindító systemd-boot biztonsági másolatának megőrzése és a régi verzió UEFI-be írása mint tartalékozási indítási lehetőség biztosítva van.
- A systemd-vmspawn Megvalósult a kernel közvetlen indításának támogatása UEFI firmware használata nélkül. Bevezetésre került a —firmware-features opció, amely lehetővé teszi a firmware egyedi funkcióinak bekapcsolását vagy kikapcsolását. Hozzáadva a —console=headless üzemmód, amely lehetővé teszi a virtuális gép indítását konzol és képernyő nélkül. Bevezetésre került a —image-disk-type opció a virtuális gép által alkalmazott blokk tárolási típusának (virtio-blk, virtio-scsi, nvme, scsi-cd) kiválasztására. Bevezetésre került a —coco (Confidential Computing) opció a virtuális gépek memória titkosítási üzemmódjának engedélyezésére AMD SEV-SNP technológia felhasználásával.
- A systemd-hostnamed és az /etc/machine-info fájlhoz hozzáadva a jelenlegi rendszerhez való tetszőleges címkék csatolásának támogatása a Tags paraméter használatával. A megadott címkék ezután alkalmazhatóak a beállítások szelektív alkalmazására a ConditionMachineTag kifejezéssel történő ellenőrzés során.
- Új EventLoopRateLimitIntervalSec és EventLoopRateLimitBurst beállítások kerültek bevezetésre, amelyek korlátozzák az eseményfeldolgozó ciklus intenzitását PID1-ben a CPU erőforrások felszabadítása érdekében körkörös hiba esetén.
- In the service manager, the MinimumUptimeSec setting has been implemented to specify the minimum operating time of the system (default 15 seconds). If a shutdown or reboot is initiated before this time has elapsed, a corresponding delay is added at the final stage.
- Unitok számára új CPUSetPartition beállítások valósultak meg a cpuset típusának (root, isolated, member) beállítására a cgroup-ban, RestrictFileSystemAccess a digitálisan aláírt végrehajtható fájlok csak engedélyezett futtatásának megkönnyítésére a dm-verity segítségével, valamint a CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec paraméterek, amelyek magas CPU és I/O terhelésről nyújtanak értesítéseket.
- Bővült a kibocsátott metrikák listája az eszköz által. systemd-reportPéldául, hozzáadva a fizikai memória méretére és az aktív CPU magokra vonatkozó információkat, az SMBIOS mezők tartalmáról és az /etc/machine-info fájlról származó adatokat, a Confidential Computing üzemmód támogatásáról szóló információkat, és a TPM2 chipek gyártójáról szóló adatokat.
- A systemd-oomd Megvalósult a memóriahiány esetén a folyamatok kiszűrésére vonatkozó szabályok meghatározásának lehetősége. A szabályokat az /etc/systemd/oomd/rules.d/ könyvtárban vagy a szolgáltatási unit-okban az OOMRule direktívával lehet meghatározni.
- A systemd-socket-proxy Hozzáadva a PROXY protokoll támogatása, amely megfelel a haproxy protokoll első verziójának.
- A systemd-networkd Kifejlesztették az új sd-dhcp-relay háttérszerverrel rendelkező DHCP relét. A [DHCPServer] szekcióban elavultnak nyilvánították a BindToInterface, RelayTarget, RelayAgentCircuitId és RelayAgentRemoteId beállításokat, amelyek helyett a [Network] szekció DHCPRelay paraméterét és egy sor új beállítást kell használni a [DHCPRelay] szekcióban és a networkd.conf fájlban. Hozzáadva a networkctl dhcp-lease INTERFACE parancs a DHCP bérletek (IP-címekhez való hozzárendelés) információinak mentésére.
- A systemd-nspawn Hozzáadva az —restrict-address-families opció, valamint a .nspawn fájlokban a RestrictAddressFamilies beállítás az eddigi címcsaládok korlátozására a tartályban. A jövőbeli kiadásokban alapértelmezés szerint csak az AF_INET, AF_INET6 és AF_UNIX címcsaládok lesznek engedélyezve.
- Megszűnt a régi udev adatbázis formátum (0.x verziók) támogatása. A frissítés menet közben a systemd verziókról a 247 (opennet.ru) többé nem támogatott.
- A musl C-könyvtárral való fordítás során mostantól legalább a musl 1.2.6-os kiadás szükséges.
További megjegyzésként kiadás Ez a backend az analitika számára. liberated-systemd 261, a systemd fork fejlesztése, amely mentes minden olyan kódtól, amely felhasználók nyomozására használható. A javasolt kiadásban a változások a felhasználói adatbázis userdb-hez új date of birth mező hozzáadásával kapcsolatos kód eltávolítására vonatkoznak, valamint a homectl eszközhöz a —birth-date opció hozzáférhető, hogy a felhasználó életkorát beállíthassuk.
Forrás: linux.org.ru
