Pas pas pesë muajsh zhvillimi është prezantuar versioni i menaxherit sistematik systemd 251.
Ndryshimet kryesore:
- Kërkesat sistematike janë rritur. Versioni minimal i përkrahur i bërthamës Linux është rritur nga 3.13 në 4.15. Nevojitet një orë CLOCK_BOOTTIME për funksionim. Për ndërtimin e nevojshëm është një kompilator me përkrahje për standardin C11 dhe zgjatjet GNU (për skedarët e titullit përdoret ende standardi C89).
- Shtuar një mjet eksperimental systemd-sysupdate për përcaktimin automatik, shkarkimin dhe instalimin e përditësimeve duke përdorur mekanizmin që zëvendëson atomikisht pjesët, skedarët ose katalogët (përdoren dy pjesë/skedarë/katalogë të pavarur, një prej të cilave përmban burimin aktual në funksion, ndërsa tjetri instalon përditësimin e radhës, pas së cilës pjesët/skedarët/katalogët këmbehen).
- Është prezantuar një bibliotekë e re e përbashkët të brendshme libsystemd-core-.so, e cila instalohet në katalogun /usr/lib/systemd/system dhe përputhet me bibliotekën ekzistuese libsystemd-shared-.so. Përdorimi i bibliotekës së përbashkët libsystemd-core-.so lejon të pakësohet madhësia totale e instalimit përmes ripërdorimit të kodit binar. Numri i versionit mund të përcaktohet përmes parametrave 'shared-lib-tag' në sistemin e ndërtimit meson dhe i lejon distribuuesve të ofrojnë njëkohësisht disa versione të këtyre bibliotekave.
- Janë realizuar transmetim në trajtuesit OnFailure/OnSuccess të variablave mjedisorë $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID dhe $MONITOR_UNIT me informacion rreth njësisë së monitoruar.
- Për njësitë është realizuar konfigurimi ExtensionDirectories, i cili mund të përdoret për organizimin e ngarkimit të komponenteve të zgjerimit të sistemit (System Extension) nga katalogë të zakonshëm, jo nga imazhe diskësh. Përmbajtja e katalogut të sistemit të zgjerimit aplikohet përmes OverlayFS dhe aplikohet për të zgjeruar hierarkinë e katalogëve /usr/ dhe /opt/, dhe për të shtuar skedare shtesë gjatë funksionimit, edhe nëse këta katalogë janë montuar në modalitetin vetëm për lexim. Komandës 'portablectl attach —extension=' i është shtuar gjithashtu përkrahja për përcaktimin e katalogut.
- Për njësitë, të cilat janë përfunduar me forcë nga trajtuesi systemd-oomd për shkak të mungesës së memories në sistem, është garantuar transmetimi i shenjës 'oom-kill' dhe pasqyrimi në atributin 'user.oomd_ooms' i numrit të përfundimeve të detyruara.
- Për unit-et janë shtuar specifikatorët e rinj të rrugëve %y/%Y, që pasqyrojnë rrugën e normalizuar drejt unitit (me shfaqjen e lidhjeve simbolike). Janë shtuar gjithashtu specifikatorët %q për vendosjen e vlerës PRETTY_HOSTNAME dhe %d për vendosjen e CREDENTIALS_DIRECTORY.
- Në shërbimet e pa privilegjuara, të cilat ekzekutohen nga përdorues të zakonshëm me përdorimin e flamurit «—user», është e lejuar ndarja e cilësimeve RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath, PrivateUsers, ProtectClock, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs dhe MountFlags. Kjo mundësi është e disponueshme vetëm kur është aktivizuar në sistem hapësira emrash të identifikuesve të përdoruesve (user namespaces).
- Në cilësimin LoadCredential lejohet specifikimi i emrit të katalogut si argument, në këtë rast bëhet një përpjekje për të ngarkuar kredencialet nga të gjitha skedarët në katalogun e specifikuar.
- Në systemctl, në parametrin «—timestamp» është ofruar mundësia për të specifikuar flamurin «unix» për të treguar kohën në format epokal (numri i sekondave që nga 1 janari 1970).
- Në «systemctl status» është realizuar flamuri «old-kernel», i cili tregon nëse bërthama e ngarkuar në sesion ka një numër versioni më të vjetër se bërthama bazë e disponueshme në sistem. Gjithashtu është shtuar flamuri «unmerged-usr» për të përcaktuar se përmbajtja e katalogëve /bin/ dhe /sbin/ është formuar jo përmes lidhjeve simbolike në /usr.
- Për gjeneratorët e filluar nga procesi PID 1 janë ofruar variabla të rinj të ambientit $SYSTEMD_SCOPE (fillim nga shërbimi sistemik ose përdorues), $SYSTEMD_IN_INITRD (fillim nga initrd ose ambienti i host-it), $SYSTEMD_FIRST_BOOT (indikatori i fillimit të parë), $SYSTEMD_VIRTUALIZATION (prania e virtualizimit ose ekzekutimi në kontejner) dhe $SYSTEMD_ARCHITECTURE (arkitektura për të cilën është ndërtuar bërthama).
- Në përpunuesin PID 1 është realizuar mundësia e ngarkimit të parametrave të kredencialeve sistemike nga ndërfaqja QEMU fw_cfg ose përmes spesifikimit në komandën e linjës së bërthamës të parametrave systemd.set_credential. Në direktivën LoadCredential është siguruar një kërkim automatik i kredencialeve në katalogët /etc/credstore/, /run/credstore/ dhe /usr/lib/credstore/, nëse si argument është specifikuar një rrugë relative. Një sjellje e ngjashme aplikohet për direktivën LoadCredentialEncrypted, ku shtesë kontrollohen katalogët /etc/credstore.encrypted/, /run/credstore.encrypted/ dhe /usr/lib/credstore.encrypted/.
- Në systemd-journald është stabilizuar mundësia e eksportit në formatin JSON. Në komandat «journalctl —list-boots» dhe «bootctl list» është shtuar mbështetje për daljen në formatin JSON (flamuri «—json»).
- Në udev janë shtuar dosje të reja me bazat e të dhënave hwdb, që përmbajnë informacion rreth pajisjeve portative (PDA, kalkulatorë, etj.) dhe pajisjeve të përdorura për krijimin e zërit dhe videos (pultet DJ, keypad).
- Në udevadm janë shtuar opsione të reja «—prioritized-subsystem» për të caktuar prioritetin e ndjekjes së sistemeve (përdoret në systemd-udev-trigger.service për përpunimin e pajisjeve bllokuese dhe TPM në radhë të parë), «—type=all», «—initialized-match» dhe «—initialized-nomatch» për të zgjedhur pajisjet e inicializuara ose jo, «udevadm info —tree» për të treguar pemën e objekteve në hierarkinë /sys/. Në udevadm janë shtuar gjithashtu komandat e reja «wait» dhe «lock» për të pritur shfaqjen në db të një regjistri për pajisjen dhe për të bllokuar pajisjen bllokuese gjatë formatimit ose shkrimit të tabelës së ndarjeve.
- Është shtuar një grup i ri lidhjesh simolike për pajisjet /dev/disk/by-diskseq/ për identifikimin e pajisjeve bllokuese sipas numrit rendor («diskseq»).
- Në skedarët .link në seksionin [Match] është shtuar mbështetje për parametrin «Firmware» për të lidhur pajisjen sipas një stringu përshkrues të firmware-it.
- Në systemd-networkd për rrugët unicast, të konfigurueshëm përmes seksionit [Route], vlera e shkallës është ndryshuar si parazgjedhje në «link» për të përputhur sjelljen e komandës «ip route». Në seksionin [Bridge] është shtuar parametri Isolated=true|false për të konfiguruar atributin e njëjtë të urave rrjetë në bërthama. Në seksionin [Tunnel] është shtuar parametri External për të vendosur një tunel është në llojin external (modi i mbledhjes së metadatas). Në seksionin [DHCPServer] janë shtuar parametrat BootServerName, BootServerAddress dhe BootFilename për konfigurimin e adresës së serverit, emrit të serverit dhe emrit të skedarit të ngarkesës që dërgohet сервером DHCP gjatë ngarkesës në modin PXE. Në seksionin [Network] është hequr parametri L2TP, të cilin në skedarët .netdev tani mund të përdoret konfigurimi i ri Local në lidhje me ndërfaqen L2TP.
- Është shtuar një njësit tjetër «systemd-networkd-wait-online@.service», që mund të përdoret për të pritur ngritjen e një ndërfaqe të caktuar rrjeti.
- Është realizuar mundësia e përdorimit të skedarëve .netdev për krijimin e pajisjeve virtuale WLAN për konfigurimin e të cilave është propozuar seksioni [WLAN].
- Në skedarët .link/.network në seksionin [Match] është implementuar parametri Kind për përputhshmërinë sipas llojit të pajisjes ("bond", "bridge", "gre", "tun", "veth").
- është siguruar nisja e systemd-resolved në një fazë më të hershme të ngarkesës, duke përfshirë nisjen nga initrd nëse systemd-resolved është në imazhin initrd.
- Në systemd-cryptenroll është shtuar opsioni —fido2-credential-algorithm për të zgjedhur algoritmin e enkriptimit të kredencialeve dhe opsioni —tpm2-with-pin për menaxhimin e futjes së kodit PIN gjatë zhbllokimit të particionit duke përdorur TPM. Në /etc/crypttab është shtuar një opsion i ngjashëm tpm2-pin. Gjatë zhbllokimit të pajisjeve përmes TPM, është siguruar enkriptime e parametrave për të mbrojtur nga kapja e çelësave të enkriptimit.
- Në systemd-timesyncd është shtuar D-Bus API për marrjen dinamike të informacionit nga serveri NTP përmes IPC.
- Për të përcaktuar nevojën për dalje me ngjyra në të gjitha komandat, është implementuar kontrolli i variablës së mjedisit COLORTERM përveç NO_COLOR, SYSTEMD_COLORS dhe TERM që janë kontrolluar më parë.
- Në sistemin e ndërtimit Meson është implementuar opsioni install_tag për ndërtimin dhe instalimin selektiv të komponentëve të nevojshëm: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Është shtuar një opsion ndërtimi default-compression për të zgjedhur algoritmin e kompresionit për systemd-journald dhe systemd-coredump.
- Në sd-boot në loader.conf është shtuar një konfigurim eksperimental "reboot-for-bitlocker" për të ngarkuar Microsoft Windows me BitLocker TPM.
Burimi: opennet.ru
