Po devetih mesecih razvoja je bil predstavljen izid sistemskega upravljalnika systemd 258. Ključne spremembe: prenehanje podpore za cgroups v1 in komponente za upravljanje sistema v slogu System V, nove utilite systemd-factory-reset in systemd-pty-forward, koncept domačih območij, podpora za zagon iz diskovne slike, pridobljene preko HTTP.
Med spremembami v novi izdaji:
- Dodana je utilita systemd-factory-reset za iniciacijo ali prekinitev ponastavitve nastavitev na tovarniške vrednosti (factory reset) pri naslednjem zagonu. Za takojšnjo ponastavitev je dodana enota factory-reset-now.target. Za ponastavitev med zagonom je dodan parameter ukazne vrstice jedra „systemd.factory_reset“.
- Dodana je koncept domačih območij (home area), ki omogoča določanje podmap znotraj glavne domače imenika ($HOME), v katere lahko uporabnik ločeno vstopi za delo v različnih delovnih prostorih. Na primer, za enega uporabnika je mogoče ustvariti ločena območja za testiranje nastavitev in za razvoj (~\/Areas\/foo in ~\/Areas\/bar). Za povezavo z dodatnim območjem ob prijavi je potrebno v prijavi navesti ime območja, ločeno s simbolom „%“ („username%foo“) ali uporabiti utilito run0 z možnostjo „—area“. Podpora za domača območja je trenutno implementirana samo v systemd-homed in ni na voljo za polne grafične seje.
- V parametre ukazne vrstice jedra „systemd.pull“ in „rd.systemd.pull“, ki se uporabljajo za samodejni zagon virtualnih naprav, kontejnerjev ali razširitvenih slik (sysext, confext), je dodana zastavica „blockdev“. Pri navedbi te zastavice se priložena slika privijači na napravo loopback, kar omogoča neposreden zagon v diskovno sliko, pridobljeno preko HTTP. Na primer: 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
- Dodana je utilita systemd-pty-forward, s katero lahko ustvarite psevdoterminal („PTY“) in na njem zaženete proces, preusmerite kakršnokoli izhodno sporočilo na izvorni terminal, na katerem je bila zagnana utilita.
- Odstranjena je koda, ki je zagotavljala podporo za cgroups v1.
- Odstranjeni so sestavni deli upravljanja sistema v slogu System V, kot so utilite itctl, runlevel in telinit, naprava \/dev\/initctl, koncept stopenj zagona (runlevel), enotni datoteki runlevel[0-6].target in možnost upravljanja stanja preko ukaza init. Odstranitev podpore za skripte storitev System V je načrtovana za naslednjo izdajo.
- Minimalni zahtjevi za verziju Linux kernela povećani su na 5.4 (preporučuje se verzija 5.7).
- Prava pristupa uređajima tty/pts promijenjena su s 0620 (-rw—w—-) na 0600 (-rw——-) kako bi se onemogućilo pisanje u tuđi terminal drugim korisnicima iz iste grupe. Za vraćanje starog ponašanja prilikom kompilacije može se koristiti opcija ‘-Dtty-mode=0620’.
- U systemd-resolved i systemd-importd obustavljena je podrška za GnuTLS i libgcrypt, a kao kriptografski backend ostavljen je samo OpenSSL.
- U unit-fajlove dodana je podrška za uslov ‘ConditionKernelModuleLoaded’ kako bi se provjerilo učitavanje određenog kernalnog modula. Uslov ‘ConditionKernelVersion’ zamijenjen je opštijom konstrukcijom ‘ConditionVersion’, putem koje osim kernela možete provjeriti verzije systemd i glibc.
- Omogućena je podrška za korisničke kvote za odjeljak /tmp/, smješten u tmpfs, i za /dev/shm/.
- Za slice-jedinice, korišćene za podjelu sistema na dijelove (app.slice, background.slice, session.slice) s ciljem izolacije resursa između različitih korisničkih servisa, implementirane su postavke ConcurrencySoftMax i ConcurrencyHardMax za upravljanje brojem aktivnih jedinica istovremeno. Dodane mogućnosti mogu se koristiti kao mehanizam za upravljanje pokretanjem poslova uzimajući u obzir potrošnju resursa, podržavajući hijerarhijske radne skupine.
- U postavku ExecStart dodana je podrška za prefiks ‘|’, koji određuje pokretanje preko komandnog interpretatora.
- Implementiran je API na osnovu Varlink protokola, koji se može koristiti za određivanje trenutnog stanja, liste jedinica i stanja jedinica.
- Dodan je dodatni katalog s unaprijed postavljenim opcijama (‘preset’) za sistemske servise koji se izvode u initrd-u, omogućavajući odvajanje uključivanja sistemskih servisa za domaćina i initrd.
- Dodana je mogućnost vezivanja kvota za pojedinačne servise, koristeći postavke StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota i LogsDirectoryAccounting.
- V systemd-udevd je dodana podpora za lastnosti ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. Dodana je možnost za sledenje jedra »udev.trace« in možnost »—traceu« v orodju devadm za sledenje logiki delovanja udev med zagonom in med delovanjem. V orodje udevadm je dodana ukaz »cat« za prikaz vsebine nameščenih datotek s pravili. Omogočena je avtomatska označitev za debug USB vmesnike Android (ADB DbC, ADB, Fastboot) za dostop neprivilegiranim uporabnikom.
- V systemd-networkd so dodane nastavitve IPv4DuplicateAddressDetectionTimeoutSec, UseSIP v razdelku »[DHCPv6]«, MPLSRouting v razdelku »[Network]«, Preference v razdelku »[IPv6RoutePrefix]«, LinkLocalLearning, Locked, MACAuthenticationBypass in VLANTunnel v razdelku »[Bridge]«. V DHCPv4 odjemalcu je dodana podpora za protokol BOOTP.
- V systemd-logind so dodane nove vrste sej: »none« za onemogočitev ustvarjanja seje; »user-light« in »user-early-light« za ustvarjanje uporabniških sej brez aktiviranja za uporabnika storitvenega upravitelja (za neinteraktivne seje).
- V systemd-resolved je dodana podpora za delegacijske cone, ki omogočajo usmerjanje DNS poizvedb za določene domene. servere Zagotovljeno je pošiljanje paralelnih poizvedb DNS zapisov A in AAAA za eno domeno. V resolved.conf je dodana nastavitev RefuseRecordTypes za določitev blokiranih vrst zapisov, na primer za blokiranje zapisov »A« na gostiteljih, ki podpirajo samo IPv6.
- Ekipa »systemctl start« je dodana možnost »—verbose« za prikaz dnevnika delovanja enot, na katerih se izvaja operacija.
- V systemd-boot je dodana podpora za dve novi specifikaciji za zagonske naloge — »uki« in »uki-url«. V drugem primeru je omogočeno nalaganje slike UKI z zunanjega gostitelja preko protokola HTTP. Dodana je možnost vgradnje slik UEFI v UKI slike (Unified Kernel Image). V loader.conf je dodana nastavitev »reboot-on-error« za določitev dejanj (ponovni zagon ali prikaz menija za zagon) v primeru napake izbrane zagonske pozicije.
- V systemd-nspawn je dodana podpora za neprivilegirano zagon slik kontejnerjev, shranjenih v običajnih imenikih.
- V systemd-importd je dodana podpora za slike, stisnjene z algoritmom zstd (poleg .xz, .gz in .bz2).
- Dodane so možnosti ukazne vrstice jedra „systemd.break“ in „rd.systemd.break“, ki omogočajo vstavljanje interaktivnih točk za prekinitev nalaganja v določenih trenutkih. Na voljo so štiri točke za prekinitev: „pre-udev“, „pre-basic“, „pre-mount“ in „pre-switch-root“.
- V naslednji izdaji je načrtovano prenehanje podpore za imenik /run/lock/ in paketni filter iptables (v systemd-networkd in systemd-nspawn bo ostala samo podpora za nftables). Prav tako je predvideno povečanje zahtev po minimalnih različicah: jedro Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.
Izvor: opennet.ru
