Hat hónapos fejlesztés után bemutatták a systemd 257 rendszerkezelő kiadását. Főbb változások: új segédprogramok a systemd-sbsign és a systemd-keyutil, az MPTCP támogatása socketen keresztül, a Musl C könyvtárral történő építkezés kezdeti támogatása. updatectl segédprogram a frissítések systemd-sysupdate segítségével történő telepítésének kezelésére, a szolgáltatások külön PID névterekben történő futtatásának képessége, a fájlok véletlen törlése elleni védelem a „systemd-tmpfiles —purge” használatakor.
Az új kiadás változásai között:
- Egy új segédprogram, a systemd-sbsign került hozzáadásra a PE (Portable Executable) formátumú végrehajtható fájlok digitális aláírásához, amelyet EFI Secure Boot módban történő rendszerindításkor használnak. Az OpenSSL könyvtár által biztosított motorok és szolgáltatók használhatók aláírás generálásához. A systemd-sbsign alternatívájaként használható az ukify segédprogramban található sbsigntool és pesign alkalmazásoknak univerzális kernel képfájlok (UKI) generálásakor, amelyek egyetlen fájlban egyesítik az UEFI rendszerbetöltőt (UEFI rendszerindító csonkot) és a kernel képfájlt. Linux és az initrd rendszerkörnyezet betöltődik a memóriába.
- Egy új segédprogram, a systemd-keyutil hozzáadásra került, amely különféle műveleteket valósít meg privát kulcsokon és X.509-tanúsítványokon. Például a systemd-keyutil segítségével tesztelhető a magánkulcsok és tanúsítványok betöltésének képessége, valamint a nyilvános kulcsok PEM formátumban történő kinyerése.
- A socket aktiválási mechanizmusának (a hálózati kapcsolat létrehozásakor folyamatokat indít) működését biztosító ".socket" egységekben támogatást nyújtanak az MPTCP-hez (Multipath TCP), a TCP protokoll kiterjesztéséhez, amely a TCP-kapcsolat működését úgy szervezi meg, hogy a csomagok egyszerre több útvonalon, különböző hálózati interfészeken keresztül, különböző útvonalakhoz vannak kötve, kézbesítve. IP-címek.
- Tartalmazza a szabványos Musl C könyvtár használatával történő felépítéshez szükséges változtatásokat.
- A folyamatjelzőket megjelenítő különféle systemd összetevők (pl. systemd-repart, systemd-sysupdate/updatetl és importctl) mostantól támogatják az ANSI-szekvenciák használatát a folyamatjelzők animálásához. Az ilyen szekvenciák jelenleg csak a következőben támogatottak: Windows Terminál (várhatóan idővel egy hasonló funkció kerül át a terminálemulátorokba is) Linux).
- A systemd-sysupdate komponens képességei kibővültek, a frissítések automatikus észlelésére, letöltésére és telepítésére szolgálnak egy atommechanizmus segítségével a partíciók, fájlok vagy könyvtárak cseréjére (két független partíciót/fájlt/könyvtárat használnak, amelyek közül az egyik tartalmazza az aktuális működőképet erőforrást, a másik pedig telepíti a következő) frissítést, ami után a szakaszok/fájlok/könyvtárak felcserélődnek). A gyakorlatban a systemd-sysupdate már használatban van a GNOME OS-ben.
A systemd-sysupdate folyamat mellé egy azonos nevű szolgáltatás is bekerült, amely lehetővé teszi, hogy a D-Bus rendszerfrissítéseket kezelhessen egy nem jogosult felhasználó számára. A szolgáltatás kezeléséhez egy új updatectl segédprogram is tartozik. „--offline” jelző hozzáadva a systemd-sysupdate-hoz a metaadatok hálózaton keresztüli letöltésének letiltásához, és csak a helyi rendszerre már letöltött verziók használatához. Hozzáadott támogatás a JSON formátumú kimenethez az összes parancshoz.
- A szolgáltatásokhoz egy új „PrivatePIDs” tulajdonság került bevezetésre, amellyel a PID 1-es (init process) folyamatok elindítása külön folyamatazonosító térben (PID névtér) szervezhető. Az elindított folyamathoz létrehozott környezetben csak a számára létrehozott névtérből származó folyamatok lesznek láthatóak.
- Támogatás hozzáadva a kis- és nagybetűket nem érző egyezésekhez az udev-szabályokhoz (pl. 'ATTR{foo}==i»abcd»'). Az udev használatával lehetőség van a privilegizált helyi felhasználóknak hozzáférést („uaccess”) biztosítani a /dev/udmabuf eszközhöz, amely szükséges az IPMI kamerákkal való libcamera-n keresztüli munkához. Az udev különféle hardveres kriptopénztárcák felismerését biztosítja USB interfésszel, és beállítja számukra az ID_HARDWARE_WALLET tulajdonságot, amely lehetővé teszi az „uaccess” mód alkalmazását rájuk a kiváltságtalan felhasználók számára.
- A RELEASE_TYPE, EXPERIMENT és EXPERIMENT_URL új mezőket hozzáadtuk az /etc/os-release fájlhoz. A „RELEASE_TYPE” az „experimental”, „development”, „stable” és „lts” értékeket veheti fel, hogy elkülönítse a stabil verziókat a fejlesztési és kísérleti buildektől. Az EXPERIMENT és EXPERIMENT_URL paraméterek célja, hogy elmagyarázzák a kísérleti összeállítás lényegét.
- A sudo program helyettesítésére kifejlesztett run0 segédprogram hozzáadta a „--shell-prompt-prefix” opciót, amely megadja a parancshéjprompt előtag karakterláncát. Alapértelmezés szerint a „🦸” emoji előtagként jelenik meg, hogy vizuálisan kiemelje az emelkedett munkamenetet.
- A systemd-tmpfiles programban a rossz fájlok véletlen törlésének elkerülése érdekében a "--purge" opció most csak azokra a tmpfiles.d/ fájlokra vonatkozik, amelyeknél a "$" jelző kifejezetten be van állítva. A "--purge" művelet most is megköveteli legalább egy fájl megadását a tmpfiles.d/ könyvtárból. Az 'L' típusú karakterláncokhoz hozzáadásra került a '?' jelző, ha meg van adva, csak akkor jön létre szimbolikus hivatkozás, ha a célfájl létezik.
- A szolgáltatáskezelőben és a kapcsolódó segédprogramokban a folyamatkövető kódot továbbra is a PID helyett PIDFD-re konvertálják. A PIDFD egy adott folyamathoz van társítva, és nem változik, míg a PID társítható egy másik folyamathoz, miután az adott PID-hez társított jelenlegi folyamat leáll.
- Szolgáltatások esetén a „RestartMode” paraméterben most már lehetőség van a „debug” érték megadására, amelyben a sikertelen szolgáltatás újraindításra kerül a hibakeresési mód engedélyezésével (beállítva a DEBUG_INVOCATION=1 környezeti változó), és a LogLevelMax értéke átmenetileg hibakeresési szintre emelve.
- A PID 1 kezelő képes az IPE (Integrity Policy Enforcement) LSM modulra vonatkozó szabályok betöltésére, amelyek meghatározzák a teljes rendszer integritási szabályzatát (mely műveletek engedélyezettek, és hogyan kell ellenőrizni az összetevők hitelességét).
- A „.timer” egységfájlokhoz hozzáadásra került a „DeferReactivation” opció, amely lehetővé teszi a következő időzítő aktiválás kihagyását, ha a szolgáltatás az utolsó aktiválás óta még nem fejezte be a végrehajtását.
- A PrivateUsers egységfájl paraméterben most már meg lehet adni az „identitás” értéket, amely lehetővé teszi a felhasználói azonosítók leképezését a felhasználói névtér létrehozásakor.
- A „disconnected” érték támogatása hozzáadva a PrivateTmp egység fájlparaméteréhez, amely különálló tmpfs példányokat fog használni a /tmp/ és a /var/tmp/ könyvtárhoz.
- Az új „privát” és „szigorú” módok támogatása hozzáadásra került a ProtectControlGroups egységfájl paraméteréhez, amikor be van állítva, új cgroup névtér jön létre a szolgáltatás számára, és a cgroupfs felcsatolódik. Ha a "strict" opció be van állítva, a cgroupfs csak olvasható módban lesz felcsatolva.
- A StateDirectory, a RuntimeDirectory, a CacheDirectory, a LogsDirectory és a ConfigurationDirectory paraméterek lehetővé teszik a „:ro” jelző használatával a megfelelő könyvtárakhoz való hozzáférést csak olvasható módra korlátozva.
- A „firmware” érték támogatása hozzáadva a „systemd.machine_id” kernel parancssori paraméteréhez, amelyben a rendszerazonosító (gépazonosító) az SMBIOS/DeviceTree-ből származó UUID alapján kerül kiszámításra.
- Hozzáadva a legújabb kernel kiadásokban bevezetett mseal(), listmount() és statmount() rendszerhívások támogatása. Linux.
- A solvectl, timedatectl és systemd-inhibit segédprogramok mostantól támogatják az interaktív engedélyezést a Polkit használatával.
- A systemctl segédprogramhoz hozzáadtuk a „--now” jelző használatát a „reenable” parancsban.
- A „--json” opció hozzáadva a systemd-mount segédprogramhoz a JSON formátumú kimenethez (ha például a „--list-devices” mellett van megadva, az eszközök listája JSON formátumban kerül kiadásra).
- "-l" és "--full" opciók hozzáadva a "localectl" segédprogramhoz, hogy letiltsák a hosszú sorok kivágását a kimenet közben.
- A sleep.conf fájlhoz hozzáadták a HibernateOnACPower opciót, amely lehetővé teszi az alvó üzemmódba váltás késleltetését, amíg az eszközt le nem választják az álló áramforrásról.
- A systemd-sysusersben az „u” sorokba bekerült a „!” módosító támogatása, amellyel teljesen zárolt felhasználói fiókokat hozhatunk létre (korábban hibás jelszó beállításával blokkolták a felhasználót, ami pl. nem vezetett blokkoláshoz az SSH kulcshitelesítése során).
- A Systemd-coredump hozzáad egy "EnterNamespace" opciót, amely lehetővé teszi a hozzáférést bármely összeomlott folyamat beillesztési pontjához a hibakeresési szimbólumok beszerzéséhez. A gyakorlatban ez az opció hasznos lehet az elszigetelt tárolókban futó alkalmazásokból származó alapvető fájlok visszakövetésének megszervezéséhez.
- A systemd-logind magában foglalja a Ctrl-Alt-Shift-Esc kombináció feldolgozását az org.freedesktop.login1.SecureAttentionKey jel elküldéséhez a felhasználói környezet összetevőinek egy biztonságos bejelentkezési párbeszédpanel megjelenítésére vonatkozó kéréssel. Megvalósította a „DesignatedMaintenanceTime” beállítást, hogy automatikusan ütemezze a munkát egy meghatározott időpontra. A DRM- és evdev-eszközök támogatásával analóg módon támogatással egészült ki a nem privilegizált felhasználók hozzáférésének konfigurálása az eszközök (játékvezérlők és joystickok) elrejtéséhez.
- A systemd-machined mostantól támogatja a nem privilegizált kliens bejelentkezéseket. virtuális gépek és konténerek. A systemd által gépelt funkciókhoz a D-Bus mellett a Varlink API-n keresztül is hozzáférhetünk.
- Egy új „[IPv6AddressLabel]” szakasz került hozzáadásra a networkd.conf konfigurációs fájlhoz az IPv6-címek címkéinek és előtagjainak beállításához.
- A "--stdin" opció hozzáadva a 'networkctl edit' parancshoz, hogy a fájl tartalmát megkapja a szabványos adatfolyamból. Támogatás hozzáadva a .netdev fájlok szerkesztéséhez és megjelenítéséhez a hálózati interfész megadásával a "networkctl edit" és a "networkctl cat" parancsokhoz. A „--no-sk-password” opció hozzáadva az interaktív engedélyezés letiltásához.
- Hozzáadott egy "--certificate-source" opciót az ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart és systemd-sbsign segédprogramokhoz, hogy az X.509-tanúsítványt az OpenSSL szolgáltatón keresztül töltsék be ahelyett, hogy közvetlenül a szerverről töltenének be. fájlt.
- A systemd-boot lehetőséget ad arra, hogy a hangerőgombokkal felfelé és lefelé mozoghasson a rendszerindító menüben, ami hasznos lehet olyan eszközökön, mint például az okostelefonok. Az UEFI Secure Boot adatbázis ESL(db/dbx/…) formátumban történő telepítésének támogatása a systemd-boothoz hozzáadásra került a bootctl segédprogramhoz.
- A "--list-invocation" opció hozzáadva a journalctl-hez az egységhívások listájának megjelenítéséhez, a "--invocation" opció ("-I") pedig csak egy adott híváshoz kapcsolódó naplók megjelenítéséhez.
- A systemd-nspawn támogatja a FUSE (Fájlrendszer a felhasználói térben) kiváltságtalan használatát a tárolókban. A „--bind-user” opció használatakor a felhasználó SSH-n keresztüli eléréséhez szükséges SSH-kulcsai továbbításra kerülnek a tárolóba.
- A libsystemd hozzáadott egy új „sd-json” programozási felületet, amely a JSON formátumot használja, valamint egy „sd-varlink” interfészt, amely az IPC Varlinket használja.
- Az ajánlott alap kernelverzió a 5.4-ben megjelent 2019-es kiadásra frissült. Jövőre azt tervezik, hogy leállítják a régebbi kernelek támogatását, és az 5.4-es kiadást jelölik meg a minimálisan támogatott alapverzióként.
- A cgroups v1 támogatása elavult, és alapértelmezés szerint le van tiltva (az engedélyezéséhez meg kell adnia a SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 értéket a kernel parancssorban, amellett, hogy engedélyeznie kell a systemd beállításaiban). A systemd 258 következő kiadása a cgroups v1-hez kapcsolódó kód teljes eltávolítását tervezi. A Systemd 258-as verziója szintén megszünteti a System V szolgáltatási szkriptek támogatását.
Forrás: opennet.ru
