Nakon dva mjeseca razvoja, predstavljen je novi sustavni menadžer systemd 242. Od noviteta vrijedi istaknuti podršku za L2TP tuneliranje, mogućnost upravljanja ponašanjem systemd-logind prilikom ponovnog pokretanja putem varijabli okruženja, podršku za proširene particije za podizanje sustava XBOOTLDR za montiranje /boot, mogućnost podizanja sustava s korijenskom particijom u overlayfs, kao i veliki broj novih postavki za različite vrste jedinica.
Glavne promjene:
- U systemd-networkd osigurana je podrška za L2TP tuneliranje;
- U sd-boot i bootctl implementirana je podrška za XBOOTLDR (prošireni podizni program) particije, namijenjene montiranju u /boot, uz ESP particije montirane u /efi ili /boot/efi. Jezgre, konfiguracije, initrd slike i EFI sada se mogu podizati iz particija ESP kao i iz XBOOTLDR particija. Ova promjena omogućuje korištenje podiznog programa sd-boot u konzervativnijim scenarijima, kada je sam podizni program smješten u ESP, a jezgre i pripadajući metapodaci premješteni u zasebnu particiju;
- Dodana je mogućnost podizanja sustava s prosljeđivanjem opcije jezgre „systemd.volatile=overlay“, što omogućuje smještanje korijenske particije u overlayfs i organizaciju rada nad dostupnom samo za čitanje slikom korijenskog direktorija, s zapisom promjena u zaseban direktorij u tmpfs (promjene u ovoj konfiguraciji se gube nakon ponovnog pokretanja). Slično, u systemd-nspawn dodana je opcija „—volatile=overlay“ za korištenje slične funkcionalnosti u kontejnerima;
- U systemd-nspawn dodana je opcija „—oci-bundle“, koja omogućuje korištenje runtime seta za osiguranje izoliranog pokretanja kontejnera u skladu s zahtjevima specifikacije Open Container Initiative (OCI). Za korištenje u komandnoj liniji i nspawn-jedinicama предложena je podrška za različite opcije opisane u OCI specifikaciji, na primjer, za isključivanje dijelova datotečnog sustava koriste se postavke „—inaccessible“ i „Inaccessible“, a za postavljanje standardnih izlaznih tokova dodane su opcije „—console“ i „—pipe“;
- Dodana je mogućnost upravljanja ponašanjem systemd-logind putem varijabli okruženja: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
$SYSTEMD_REBOOT_ TO_BOOT_LOADER_MENU i
$SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Pomoću ovih varijabli mogu se povezati vlastiti handleri procesa ponovnog pokretanja (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu i
/run/systemd/reboot-to-boot-loader-entry) или вообще отключить их (при выставлении значения в false); - U komandu „systemctl reboot“ dodane su opcije „—boot-load-menu=“ i
«—boot-loader-entry=», omogućuje odabir specifične stavke iz izbornika za pokretanje ili način pokretanja nakon ponovnog pokretanja; - Dodana nova naredba za sandbox izolaciju «RestrictSUIDSGID=», koja koristi seccomp za onemogućavanje stvaranja datoteka s SUID/SGID zastavicama;
- Osigurana je primjena ograničenja «NoNewPrivileges» i «RestrictSUIDSGID» prema zadanim postavkama u servisima s uključenim dinamičkim generiranjem identifikatora korisnika («DynamicUser»);
- Zadana postavka u .link datotekama MACAddressPolicy=persistent promijenjena je kako bi obuhvatila veći broj uređaja. Mrežni mostovi, tuneli (tun, tap) i agregirani linkovi (bond) se ne identificiraju osim po imenu mrežnog sučelja, stoga se ovo ime sada koristi kao osnova za vezivanje MAC i IPv4 adresa. Osim toga, dodana je postavka «MACAddressPolicy=random», koja se može koristiti za nasumično vezivanje MAC i IPv4 adresa s uređajima;
- Jedinične datoteke «.device» generirane putem systemd-fstab-generatora sada ne uključuju odgovarajuće «.mount» jedinice kao ovisnosti u odjeljku «Wants=». Jednostavno povezivanje uređaja više ne uzrokuje automatsko pokretanje jedinice za montažu, ali takve jedinice i dalje mogu biti pokrenute iz drugih razloga, na primjer, kao dio local-fs.target ili kao ovisnost drugih jedinica koje ovise o local-fs.target;
- U naredbe «networkctl list/status/lldp» dodana je podrška za maske («*» itd.) za filtriranje određenih skupina mrežnih sučelja prema njihovom imenu;
- Sada se varijabla okruženja $PIDFILE postavlja pomoću apsolutne putanje, konfigurirane u servisima putem parametra «PIDFile=;
- Na popis rezervnih DNS poslužitelja, koji se koriste ako osnovni DNS nije izričito postavljen, dodani su javni servere Cloudflare (1.1.1.1). Za nadjačavanje popisa rezervnih DNS poslužitelja može se koristiti opcija «-Ddns-servers=»;
- Prilikom otkrivanja USB kontrolera uređaja omogućeno je automatsko pokretanje novog upravljača usb-gadget.target (kada sustav radi na USB perifernom uređaju);
- Za jedinicne datoteke implementirana je postavka «CPUQuotaPeriodSec=», koja određuje vremensko razdoblje u odnosu na koje se mjeri kvota na procesorsko vrijeme postavljena putem postavke «CPUQuota=»;
- Za unit datoteke implementirana je opcija „ProtectHostname=“, koja zabranjuje servisima da mijenjaju informacije o imenu domaćina, čak i kada su za to ovlašteni;
- Za unit datoteke implementirana je opcija „NetworkNamespacePath=“, koja omogućava vezivanje prostora imena za servise ili socket jedinice putem navođenja putanje do datoteke prostora imena u pseudo-FS /proc;
- Dodana je mogućnost onemogućavanja zamjene varijabli okruženja procesima koji se pokreću pomoću opcije „ExecStart=“, dodavanjem simbola „:“ ispred pokretačke naredbe;
- Za tajmere (jedinice .timer) ponuđene su nove oznake „OnClockChange=“ i
„OnTimezoneChange=“, pomoću kojih se može upravljati pozivom jedinice prilikom promjene sistemskog vremena ili vremenske zone; - Dodane su nove opcije „ConditionMemory=“ i „ConditionCPUs=“, koje određuju uvjete poziva jedinice ovisno o veličini memorije i broju CPU jezgra (na primjer, resursno intenzivan servis može se pokrenuti samo ako postoji potreban volumen RAM-a);
- Dodana je nova jedinica time-set.target, koja prihvaća lokalno postavljeno sistemsko vrijeme, bez korištenja usklađivanja s vanjskim serverskim sustavima točnog vremena putem jedinice time-sync.target. Nova jedinica može se koristiti za servise kojima je dovoljna točnost nesinkroniziranih lokalnih satova;
- U „systemctl start“ i slične naredbe dodana je opcija „—show-transaction“, pri čemu se prikazuje sažetak svih radnji dodanih u red zbog zatražene operacije;
- U systemd-networkd implementirano je određivanje novog stanja ‘enslaved’, koje se koristi umjesto ‘degraded’ ili ‘carrier’ za mrežne sučelja koja su dio agregiranih veza ili mrežnih mostova. Za primarna sučelja u slučaju problema s jednim od sastavnih veza dodano je stanje ‘degraded-carrier’;
- U jedinice .network dodana je opcija „IgnoreCarrierLoss=“ za očuvanje mrežnih postavki u slučaju prekida veze;
- Putem postavke „RequiredForOnline=“ u jedinicama .network sada je moguće odrediti minimalno prihvatljivo stanje veze, neophodno za prebacivanje mrežnog sučelja u „online“ i aktivaciju obradnika systemd-networkd-wait-online;
- U systemd-networkd-wait-online dodana je opcija „—any“ za čekanje spremnosti bilo kojeg od navedenih mrežnih sučelja umjesto svih, kao i opcija „—operational-state=“ za određivanje stanja veze koje označava spremnost;
- U .network jedinicama dodane su opcije «UseAutonomousPrefix=» i «UseOnLinkPrefix=», koje se mogu koristiti za ignorisanje prefiksa prilikom primanja
oglasa od IPv6 usmjerivača (RA, Router Advertisement); - U .network jedinicama dodane su opcije «MulticastFlood=», «NeighborSuppression=» i «Learning=» za promjenu parametara rada mrežnog mosta, kao i opcija «TripleSampling=» za promjenu načina rada TRIPLE-SAMPLING virtualnih sučelja CAN;
- U /etc/crypttab dodane su opcije same-cpu-crypt i submit-from-crypt-cpus, koje upravljaju ponašanjem raspoređivača prilikom migracije između CPU jezgri za poslove vezane uz šifriranje; VPN;
- U systemd-tmpfiles osigurana je obrada datoteke zaključavanja prije izvođenja operacija u direktorijima s privremenim datotekama, što omogućava potpuno isključivanje čišćenja zastarjelih datoteka tokom određenih akcija (na primjer, prilikom otpakiranja tar-archiva u /tmp mogu biti objavljene vrlo stare datoteke koje ne mogu biti uklonjene do završetka njihovog korištenja);
- U timu «systemd-analyze cat-config» omogućena je analiza konfiguracija raspoređenih u više datoteka, kao što su korisničke i sistemske predpostavke, sadržaj tmpfiles.d i sysusers.d, pravila udev itd.
- U «journalctl» dodana je opcija «—cursor-file=» za određivanje datoteke za učitavanje i čuvanje pozicije pokazivača;
- U systemd-detect-virt dodano je prepoznavanje hipervizora ACRN i WSL (Windows Subsystem for Linux) za kasnije grananje pomoću uvjetnog operatora «ConditionVirtualization»;
- Tokom instalacije systemd (prilikom izvođenja «ninja install») prestalo je stvaranje simboličkih poveznica u direktoriju /etc na datoteke systemd-networkd.service, systemd-networkd.socket,
- systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
systemd-networkd-wait-online.service i systemd-timesyncd.service. Za kreiranje tih datoteka sada je potrebno izvršiti komandu «systemctl preset-all».
Nakon dva mjeseca razvoja predstavljen je izlaz sistemskog menadžera systemd 242.
Izvor: opennet.ru
