A systemd 261-os rendszerkezelő és a liberated-systemd 261-os fork megjelenése

Három hónapi fejlesztés után elérhető a systemd 261 rendszermenedszere. Főbb változások: API támogatás életkor ellenőrzéséhez, Kexec Handover és Live Update Orchestration alrendszerek támogatása állapotmegőrzés nélküli újraindításhoz, IMDS (Instance Metadata Service) alrendszer, indítással védelmet nyújtó funkciók fizikai TPM (Trusted Platform Module) nélküli rendszerek esetén, a systemd-sysinstall komponens, amely tartalmaz egy telepítőt.

A legújabb verzióban bekövetkezett változások:

  • Új systemd-sysinstall komponens került hozzáadásra, amely egy egyszerű operációs rendszer telepítőt valósít meg, melyet parancssorból vagy interaktív szöveges felületről is lehet vezérelni. A systemd-sysinstall funkciói a már meglévő systemd lehetőségekből származnak: a lemezpartíciók beállításához a systemd-repart került bevetésre, a kernel telepítéséhez és a rendszerindító menü generálásához a „bootctl link” parancs, a systemd-boot bootloader telepítéséhez a „bootctl install” parancs, a telepítendő rendszer kezdeti konfigurálásához (például helyi beállítás és billentyűzetkiosztás választása) pedig a systemd-creds.
  • Az életkor ellenőrzésére vonatkozó jogszabályi követelmények teljesítése érdekében a userdb adatbázisban hozzáadva lett a birthDate mező a felhasználó születési dátumával. Ez a mező felhasználható az elágazás alatt álló disztribúciók számára készült xdg-desktop-portal és az AccountsService szolgáltatás keretein belül, hogy információkat nyújtson a felhasználó életkoráról a D-Bus „org.freedesktop.AgeVerification1” vagy „org.freedesktop.ParentalControls” interfészein keresztül. A homectl segédprogramhoz a „—birth-date” opció került hozzáadásra az életkor beállítására.
  • A PID1 kezelőhöz hozzáadva lett a Linux kernel LUO (Live Update Orchestration) és KHO (Kexec Handover) alrendszerek támogatása, amelyek lehetővé teszik a kernel zökkenőmentes újraindítását és frissítését anélkül, hogy megállna a munka, és megőrizve a rendszer, az eszközök és a folyamatok állapotát. A KHO funkciókat kínál az új kernel indításához a régiből állapotmegőrzés mellett, míg a LUO a perifériák és a memóriaként, valamint a DMA-hoz és az interrupciók kezeléséhez kapcsolódó műveletek folyamatosságát is biztosítja.

    A systemd rendszerek és felhasználói egységek esetében megvalósult a fájlellenőrzők mentésének lehetősége a kexec hívása előtt, valamint azok helyreállítása a kernel újraindítása után. Az egységekben saját LUO ülések is létrehozhatók, amelyek kexec végrehajtása közben mentésre és helyreállításra kerülnek. A fájlellenőrzők állapotának megőrzésének aktiválásához a 'FileDescriptorStorePreserve=yes' beállítást kell használni.

  • Megvalósult a systemd-imdsd alrendszer, amely API-t kínál Varlink IPC alapú megoldással a helyi programok számára az IMDS (Instance Metadata Service) szolgáltatásokhoz való hozzáféréshez, amelyeket különböző felhőszolgáltatók nyújtanak. Az IMDS lehetőséget nyújt a a virtuális gépekhez felhő környezetről szóló információk megszerzésére, például információkat szerezhetünk a hálózati konfigurációról, a csomópont földrajzi elhelyezkedéséről, a CPU típusáról és a tároló méretéről. A systemd-imdsd alacsony szintű API-t biztosít az egyes mezők eléréséhez, és egy magas szintű interfészt a tipikus kulcsok lekérdezésére, amelyek kapcsolódnak a különböző felhőplatformok specifikus kulcsaihoz. A systemd-imdsd-hez hozzáadták a systemd-imds segédprogramot, amely lehetővé teszi a mezők IMDS-ből való importálását a helyi fiókrendszerbe.

    Az SMBIOS-ból származó információk alapján a felhőplatformok azonosításához és az aktuális csomóponton elérhető IMDS funkciók meghatározásához új hwdb.d/40-imds.hwdb adatbázist adtak hozzá. Megvalósították az Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS és Vultr felhőplatformok azonosítását. Elérhető a systemd-imds-generator, amely automatikusan behelyettesíti a szolgáltatást az IMDS-en keresztül történő információgyűjtéshez, amennyiben támogatott felhőplatformon fut. Univerzális képek létrehozása is lehetséges, amelyek támogatják az IMDS használatát felhő környezetben, de képesek működni IMDS nélkül is.

  • A systemd-stub megvalósította a 'boot secret' funkciót, amely lehetővé teszi egy kulcs létrehozását egy EFI-változó alapján, amely az operációs rendszer számára elérhetetlen területen tárolódik, és véletlenszerű értékkel inicializálódik. Az initrd során a kulcs a /.extra/boot-secret fájlon keresztül kerül átadásra. Ez a funkció szükséges lehet a rendszer-specifikus véletlenszerű kulcs megszerzéséhez a rendszerindítási folyamat ellenőrzéséhez vagy titkosításhoz TPM (Trusted Platform Module) nélküli rendszereken.
  • Hozzáadva a systemd-tpm2-swtpm.service szolgáltatás az swtpm (Software TPM Emulator) TPM-chip emulátor indításához, amelyet automatikusan visszaállíthatunk a TPM szoftveres megvalósítására a biztonságos indításhoz olyan rendszereken, ahol nincs hardveres TPM. A szoftveres TPM felhasználói térben működik, és nem nyújt olyan szintű védelmet, mint a hardveres TPM, de bizonyos helyzetekben alkalmazása indokolt a TPM nélküli működéshez képest. Például a szoftveres TPM képes megszerezni a lemezmegosztások titkosítási kulcsát az új 'boot secret' funkció segítségével, és az ESP (EFI System Partition) megosztást használja állapotának tárolására a lemezen. A szoftveres TPM automatikus aktiválásához a systemd.tpm2_software_fallback parancssori paraméter került javaslatra.
  • Stabilnak nyilvánították és elhelyezték a /usr/bin/ könyvtárban a systemd-sysupdate komponenst, amely az atomikus szektor-, fájl- vagy mappa-csere mechanizmus alkalmazásával automatikusan észleli, letölti és telepíti a frissítéseket (két független szektor/fájl/mappa használatával, ahol az egyikben található a jelenleg futó erőforrás, a másikon pedig a következő frissítés telepítése után a szektorok/fájlok/mappák helyet cserélnek).
  • A systemd-resolvedban megvalósult az új DNS-bejegyzések felülírásának vagy megadásának lehetősége JSON formátumú fájlok elhelyezésével a systemd/resolve/static.d/ könyvtárakban. Ezzel szemben az /etc/hosts fájlokban az új fájlokban nemcsak a IP address hosztnevekhez való kötést lehet megvalósítani, hanem a 'A' és 'AAAA'-tól eltérő erőforrás DNS RR-bejegyzések meghatározását is. Továbbá, a systemd-resolvedban hozzáadták a DNS gyorsítótár méretét beállító paramétereket: 'DNSCacheSize', 'MulticastDNSCacheSize' és 'LLMNRCacheSize'.
  • Hozzáadva a 'storagectl' eszköz az tárolóeszközök ellenőrzéséhez és a blokk eszközök és fájlrendszerek csatlakozásának kezeléséhez.
  • A függőségek csökkentésére irányuló kezdeményezés keretében a libsystemd dinamikus betöltése megvalósult a libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk és libcryptsetup könyvtárakról
    a dlopen() hívásával olyan helyzetekben, amikor a funkcióik valóban szükségesek.
  • A systemd-tmpfiles added the flag "—inline," allowing directives to be specified on the command line without creating configuration files in tmpfiles.d/ and without sending settings through STDIN. A new directive type 'k/K' was added for setting capabilities. A configuration file tmpfiles.d/root.conf has been added, setting the access rights to 0555 (-r-xr-xr-x) for the root directory (/) to protect against incorrect permissions when dynamically creating the root FS.
  • The bootctl utility now ensures the backup of the systemd-boot loader and the registration of an older version in UEFI as a fallback boot option.
  • In systemd-vmspawn, support for direct kernel booting without using UEFI firmware has been added. The option "—firmware-features" allows selective enabling or disabling of specific firmware features. The "—console=headless" mode has been added to run the virtual machine without a console and screen. The option "—image-disk-type" has been added to choose the type of block storage used in the VM (virtio-blk, virtio-scsi, nvme, scsi-cd). The option "—coco" (Confidential Computing) has been added to enable memory encryption mode virtuális gépekhez using AMD SEV-SNP technology.
  • In systemd-hostnamed and /etc/machine-info, support has been added for attaching arbitrary tags to the current system using the "Tags" parameter. The specified tags can then be used for selectively applying settings verified through the ConditionMachineTag expression.
  • EventLoopRateLimitIntervalSec and EventLoopRateLimitBurst settings have been added to limit the intensity of the event processing loop in PID1 to free up CPU resources in case of looping.
  • 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.
  • For units, new CPUSetPartition settings have been implemented to set the cpuset partition type in cgroup ("root", "isolated", "member"), RestrictFileSystemAccess to allow the execution of only files verified by digital signature using dm-verity, and CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec for notifications about high CPU and I/O load.
  • Kiterjesztették a systemd-report segédprogram által biztosított metrikák listáját. Például, hozzáadták a fizikai memória méretére és az aktív CPU magokra vonatkozó információkat, a SMBIOS mezők és a /etc/machine-info tartalmát, a Confidential Computing mód támogatásának adatait, valamint a TPM2 chip gyártójáról szóló információkat.
  • A systemd-oomd funkciót kapott a memóriahiány esetén a folyamatok kiszűrésére vonatkozó szabályok meghatározására. A szabályokat a /etc/systemd/oomd/rules.d/ mappában vagy a szolgáltatás unit-jaiban az OOMRule irányelv segítségével lehet beállítani.
  • A systemd-socket-proxy támogatja a "PROXY" protokollt, amely megfelel a "haproxy" protokoll első verziójának.
  • A systemd-networkd-nél megvalósítottak egy új sd-dhcp-relay backend-et a DHCP relayek számára. A [DHCPServer] szekcióban elavultnak nyilvánították a BindToInterface, RelayTarget, RelayAgentCircuitId és RelayAgentRemoteId beállításokat, amelyeket a [Network] szekció DHCPRelay paraméterével és egy sor új beállítással a [DHCPRelay] szekcióban és a networkd.conf fájlban kell helyettesíteni. Hozzáadták a ‘networkctl dhcp-lease INTERFACE’ parancsot az IP-címek (DHCP bérlet) lekötéséről szóló információk mentésére.
  • A systemd-nspawn segédprogramhoz hozzáadták a "--restrict-address-families" opciót, és a .nspawn fájlokba a RestrictAddressFamilies beállítást a konténerben használt socket címcsoportok korlátozására. A jövőbeli kiadásokban alapértelmezetten csak az AF_INET, AF_INET6 és AF_UNIX címcsoportok lesznek engedélyezve.
  • Megszűnt a régi udev adatbázis formátum (0.x verzió) támogatása. Az upgrade élő frissítése a systemd verziókról a 247-es kiadásra már 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ábbá megemlítendő a liberated-systemd 261 projekt kiadása, amely a felhasználói nyomkövetésre felhasználható kódoktól mentes systemd forkot fejleszti. A javasolt kiadásban a változások a userdb-hez új birthDate mező hozzáadását végző kód eltávolítására, illetve a homectl segédprogramhoz a ‘--birth-date’ opció hozzáadására vonatkoznak a felhasználó korának megadásához.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster