PĂ€rast kolme kuud kestnud arendustööd on vĂ€lja antud sĂŒsteemihalduri systemd 249 versioon. Uues vĂ€ljalaskes lisati kasutajate/rĂŒhmade mÀÀratlemise vĂ”imalus JSON-vormingus, stabiliseeriti Journali protokoll, lihtsustati teineteist asendavate kettapartitsioonide alglaadimise korraldust, lisati vĂ”imalus siduda BPF-programme teenustega, rakendati kasutajaidentifikaatorite vastendamine haagitud partitsioonides ning pakuti suur hulk uusi vĂ”rguseadeid ja vĂ”imalusi konteinerite kĂ€ivitamiseks.
Peamised muudatused:
- Dokumenteeriti Journali protokoll, mida saab klientides kasutada syslogi protokolli asemel logikirjete kohalikuks edastamiseks. Journali protokoll on olemas olnud juba ĂŒsna kaua ja seda kasutatakse juba mĂ”nes klienditeegis, kuid ametlik tugi kuulutati vĂ€lja alles nĂŒĂŒd.
- Rakendustes userdb ja nss-systemd lisati tugi JSON-vormingus mÀÀratud tĂ€iendavate kasutajakirjelduste lugemiseks kataloogidest /etc/userdb/, /run/userdb/, /run/host/userdb/ ja /usr/lib/userdb/. MĂ€rgitakse, et see vĂ”imalus annab tĂ€iendava mehhanismi kasutajate loomiseks sĂŒsteemis, tagades sellele tĂ€ieliku integratsiooni NSS-i ja /etc/shadow'ga. JSON-vormingu tugi kasutaja-/rĂŒhmakirjete jaoks vĂ”imaldab samuti siduda kasutajatega erinevaid ressursihalduse parameetreid ja muid seadeid, mida tunnevad Ă€ra pam_systemd ja systemd-logind.
- Rakenduses nss-systemd lisati kasutaja-/rĂŒhmakirjete sĂŒnteesimine failis /etc/shadow, kasutades systemd-homedist pĂ€rit rĂ€sidega paroole.
- Rakendati mehhanism, mis lihtsustab uuenduste korraldamist teineteist asendavate kettapartitsioonide abil (ĂŒks partitsioon on aktiivne ja teine varupartitsioon â uuendus kopeeritakse varupartitsioonile, misjĂ€rel see muutub aktiivseks). Kui kettatĂ”mmises on kaks juur- vĂ”i /usr-partitsiooni, kuid udev ei tuvasta parameetrit âroot=â vĂ”i kui töödeldakse kettatĂ”mmiseid, mis on mÀÀratud utiliitides systemd-nspawn ja systemd-dissect valikuga «âimage», saab alglaadimiseks kasutatava partitsiooni mÀÀrata GPT siltide vĂ”rdlemise teel (eeldatakse, et GPT silt sisaldab viidet partitsiooni sisu versiooninumbrile ning systemd valib partitsiooni, mille muudatused on uuemad).
- Teenusefailidesse lisati seadistus BPFProgram, mille abil saab korraldada BPF-programmide laadimise kernelisse ja nende haldamise, sidudes need kindlate systemd teenustega.
- Rakendustesse systemd-fstab-generator ja systemd-repart lisati tugi kÀivitamiseks ketastelt, millel on ainult /usr-partitsioon ja puudub juurpartitsioon (juurpartitsiooni loob utiliit systemd-repart esimese kÀivitamise ajal).
- Rakenduses systemd-nspawn asendati valik «âprivate-user-chown» universaalsema variandiga «âprivate-user-ownership», mis vĂ”ib vĂ”tta vÀÀrtused «chown» kui valiku «âprivate-user-chown» ekvivalendi, «off» vana seadistuse keelamiseks, «map» kasutajaidentifikaatorite vastendamiseks haagitud failisĂŒsteemides ning «auto», et valida «map», kui kernelis on vajalik funktsionaalsus olemas (5.12+), vĂ”i vastasel juhul lĂŒlituda tagasi rekursiivsele «chown» vĂ€ljakutsele. Vastendamise abil saab haagitud vÔÔral partitsioonil oleva ĂŒhe kasutaja failid siduda praeguses sĂŒsteemis teise kasutajaga, mis lihtsustab failide jagamist eri kasutajate vahel. Kaasaskantavate kodukataloogide mehhanismis systemd-homed vĂ”imaldab vastendamine kasutajatel teisaldada oma kodukatalooge vĂ€listele andmekandjatele ja kasutada neid eri arvutites, kus kasutajaidentifikaatorite jaotus ei lange kokku.
- Rakenduses systemd-nspawn saab valikus «âprivate-user» nĂŒĂŒd kasutada vÀÀrtust «identity», et peegeldada kasutajaidentifikaatoreid nimiruumide (user namespace) seadistamisel otse, st konteineri UID 0 ja UID 1 peegelduvad hosti poolel UID 0 ja UID 1-na, et vĂ€hendada rĂŒndevektoreid (konteiner saab protsessi Ă”igused ainult oma nimiruumis).
- Rakendusse systemd-nspawn lisati valik «âbind-user», mis vĂ”imaldab edastada konteinerisse hostkeskkonnas olemasoleva kasutajakonto (konteinerisse haagitakse kodukataloog, lisatakse kasutaja-/grupikirje ning tehakse UID vastendus konteineri ja hostkeskkonna vahel).
- Teenustesse systemd-ask-password ja systemd-sysusers lisati tugi seadistatavate paroolide (passwd.hashed-password. ja passwd.plaintext-password.) kĂŒsimiseks, kasutades systemd 247 vĂ€ljalaskes kasutusele vĂ”etud mehhanismi tundlike andmete turvaliseks edastamiseks eraldi kataloogis olevate vahefailide kaudu. Vaikimisi vĂ”etakse mandaadid vastu PID1 protsessilt, mis saab need nĂ€iteks konteinerihaldurilt, vĂ”imaldades seadistada kasutaja parooli esmakĂ€ivituse ajal.
- Teenusesse systemd-firstboot lisati tugi tundlike andmete turvalise edastamise mehhanismi kasutamiseks erinevate sĂŒsteemiparameetrite kĂŒsimisel. Seda saab kasutada sĂŒsteemiseadete lĂ€htestamiseks konteineritĂ”mmise esmakordsel kĂ€ivitamisel, kui kataloogis /etc puuduvad vajalikud sĂ€tted.
- PID 1 protsessis tagati alglaadimise ajal ĂŒhiku nime ja kirjelduse samaaegne kuvamine. VĂ€ljundit saab muuta parameetriga «StatusUnitFormat=combined» failis system.conf vĂ”i kerneli kĂ€surea vĂ”tmega «systemd.status-unit-format=combined».
- Utiliitidele systemd-machine-id-setup ja systemd-repart lisati valik «âimage», et edastada masina identifikaatoriga fail kettatĂ”mmisesse vĂ”i suurendada kettatĂ”mmise mahtu.
- Utiliidi systemd-repart kasutatavasse partitsioonide seadistusfaili lisati parameeter MakeDirectories, mida saab kasutada suvaliste kataloogide loomiseks loodavas failisĂŒsteemis enne partitsioonitabelis kajastamist (nĂ€iteks juurpartitsiooni haakepunktide kataloogide loomiseks, et partitsiooni saaks kohe ĂŒhendada kirjutuskaitstud reĆŸiimis). Loodavates partitsioonides GPT-lippude haldamiseks lisati vastavad parameetrid Flags, ReadOnly ja NoAuto. Parameetris CopyBlocks rakendati vÀÀrtus «auto», et valida plokkide kopeerimisel allikaks automaatselt aktiivne alglaadimispartitsioon (nĂ€iteks juhul, kui on vaja oma juurpartitsioon uuele andmekandjale ĂŒle viia).
- GPT-s on kasutusele vĂ”etud lipp «grow-file-system», mis sarnaneb ĂŒhendamisvalikule x-systemd.growfs ja laiendab failisĂŒsteemi suuruse automaatselt plokkseadme piirideni, kui failisĂŒsteemi maht on partitsioonist vĂ€iksem. Lippu saab kasutada Ext3-, XFS- ja Btrfs-failisĂŒsteemidega ning seda saab rakendada automaatselt tuvastatud partitsioonidele. Vaikimisi lubatakse lipp kirjutatavatele partitsioonidele, mis luuakse automaatselt systemd-reparti kaudu. Lipu seadistamiseks on systemd-reparti lisatud valik GrowFileSystem.
- Failis /etc/os-release on lisatud tugi uutele muutujatele IMAGE_VERSION ja IMAGE_ID, et mÀÀrata aatomvÀrskendatavate tÔmmiste versioon ja identifikaator. Nende vÀÀrtuste asendamiseks erinevates kÀskudes on kasutusele vÔetud spetsifikaatorid %M ja %A.
- Utiliiti portablectl on lisatud parameeter «âextension» sĂŒsteemilaienduste kaasaskantavate tĂ”mmiste aktiveerimiseks (nĂ€iteks saab nende kaudu levitada tĂ€iendavate teenustega tĂ”mmiseid, mis integreeritakse juurpartitsiooni).
- Utiliidis systemd-coredump on lisatud ELF-i build-id teabe vĂ€ljavĂ”tmine protsessi core-dumpâi loomisel, mis vĂ”ib olla kasulik selle mÀÀramisel, millise paketiga on kokkujooksnud protsess seotud, kui deb- vĂ”i rpm-paketi nime ja versiooni teave on ELF-failidesse sisse ehitatud.
- udev-i on lisatud uus riistvaraandmebaas FireWireâi (IEEE 1394) seadmete jaoks.
- udev-i vĂ”rguliideste nimede valiku skeemi «net_id» on lisatud kolm tagasiĂŒhilduvust rikkuvat muudatust: vigased mĂ€rgid liideste nimedes asendatakse nĂŒĂŒd sĂŒmboliga «_»; s390 sĂŒsteemide PCI hotplug-pesade nimesid töödeldakse nĂŒĂŒd kuueteistkĂŒmnendarvudena; lubatud on kasutada kuni 65535 sisseehitatud PCI-seadet (varem blokeeriti numbrid ĂŒle 16383).
- systemd-resolvedi NTA (Negative Trust Anchors) loendisse on lisatud domeen «home.arpa», mida soovitatakse kohalike koduvÔrkude jaoks, kuid mida DNSSEC-is ei kasutata.
- Parameetris CPUAffinity on lisatud «%» spetsifikaatorite parsimise tugi.
- Failidesse «.network» on lisatud parameeter ManageForeignRoutingPolicyRules, mida saab kasutada vÀliste marsruutimispoliitikate töötlemise vÀlistamiseks systemd-networkd-s.
- Failidesse «.network» on lisatud parameeter RequiredFamilyForOnline, millega saab mÀÀrata IPv4- vÔi IPv6-aadressi olemasolu mÀrgina sellest, et vÔrguliides on olekus «online». Utiliidis networkctl on tagatud oleku «online» kuvamine iga lingi jaoks.
- Failidesse «.network» on lisatud parameeter OutgoingInterface, millega saab vÔrgusildade seadistamisel mÀÀrata vÀljaminevad liidesed.
- Failidesse «.network» on lisatud parameeter Group, mis vÔimaldab seadistada sektsiooni «[NextHop]» kirjete jaoks Multipath-grupi.
- Rakendusele systemd-network-wait-online on lisatud vĂ”tmed «-4» ja «-6», et piirata ĂŒhenduse ootamist ainult IPv4 vĂ”i IPv6 jaoks.
- DHCP-serveri seadistusse on lisatud parameeter RelayTarget, mis lĂŒlitab serveri DHCP Relay reĆŸiimi. DHCP-relee tĂ€psemaks seadistamiseks on lisatud valikud RelayAgentCircuitId ja RelayAgentRemoteId.
- DHCP-serverisse on lisatud parameeter ServerAddress, mis vÔimaldab serveri IP-aadressi selgesÔnaliselt mÀÀrata (vastasel juhul valitakse aadress automaatselt).
- DHCP-serveris on kasutusele vĂ”etud sektsioon [DHCPServerStaticLease], mis vĂ”imaldab seadistada staatilisi aadressisidumisi (DHCP leases), mÀÀrates pĂŒsivad IP-seosed MAC-aadressidega ja vastupidi.
- SĂ€tte RestrictAddressFamilies puhul on lisatud vÀÀrtuse «none» tugi; selle mÀÀramisel ei ole teenusel ligipÀÀsu ĂŒhegi aadressiperekonna soklitele.
- Failides «.network» on sektsioonides [Address], [DHCPv6PrefixDelegation] ja [IPv6Prefix] lisatud RouteMetricu seadistamise tugi, mis vÔimaldab mÀÀrata konkreetse aadressi jaoks loodud marsruudiprefiksi meetrika.
- Rakendustes nss-myhostname ja systemd-resolved on tagatud DNS-kirjete sĂŒntees aadressidega hostidele erinimega «_outbound», mille puhul tagastatakse alati kohalik IP, mis valitakse vĂ€ljaminevate ĂŒhenduste jaoks kasutatavate vaikemarsruutide alusel.
- Failidesse .network on sektsiooni «[DHCPv4]» lisatud vaikimisi aktiivne sÀte RoutesToNTP, mis nÔuab eraldi marsruudi lisamist praeguse vÔrguliidese kaudu, et pÀÀseda ligi selle liidese jaoks DHCP abil saadud NTP-serveri aadressile (sarnaselt DNS-iga aitab see tagada, et liiklus NTP-serverisse suunatakse lÀbi sama liidese, mille kaudu see aadress saadi).
- Lisatud on sÀtted SocketBindAllow ja SocketBindDeny, millega saab hallata ligipÀÀsu praeguse teenusega seotud soklitele.
- Unit-failide jaoks on lisatud tingimuslik sĂ€te ConditionFirmware, mis vĂ”imaldab luua kontrolle pĂŒsivara funktsioonide hindamiseks, nĂ€iteks töö UEFI- ja device.tree-sĂŒsteemides, ning kontrollida ĂŒhilduvust device-tree konkreetsete vĂ”imalustega.
- Rakendati valik ConditionOSRelease vÀljade kontrollimiseks failis /etc/os-release. VÀljade vÀÀrtuste kontrollitingimuste mÀÀramisel on lubatud operaatorid «=», «!=», «<», «=», «>».
- Utiliidis hostnamectl eemaldati kĂ€skudelt kujul «get-xyz» ja «set-xyz» eesliited «get» ja «set». NĂ€iteks kĂ€skude «hostnamectl get-hostname» ja «hostnamectl set-hostname» asemel saab kasutada kĂ€sku «hostnamectl hostname», kus vÀÀrtuse mÀÀramine toimub tĂ€iendava argumendi lisamisega («hostnamectl hostname value»). Vanade kĂ€skude tugi on ĂŒhilduvuse tagamiseks sĂ€ilitatud.
- Utiliidis systemd-detect-virt ja seadistuses ConditionVirtualization tagati Amazon EC2 keskkondade korrektne tuvastamine.
- Seadistus LogLevelMax unit-failides rakendub nĂŒĂŒd mitte ainult teenuse loodud logisĂ”numitele, vaid ka PID 1 protsessi sĂ”numitele, milles teenust mainitakse.
- Lisati vÔimalus kaasata SBAT-andmed (UEFI Secure Boot Advanced Targeting) systemd-boot EFI PE failidesse.
- Failis /etc/crypttab rakendati uued valikud «headless» ja «password-echo» â esimene vĂ”imaldab vahele jĂ€tta kĂ”ik toimingud, mis on seotud kasutajalt parooli ja PIN-koodi interaktiivse kĂŒsimisega, teine aga vĂ”imaldab seadistada paroolisisestuse kuvamise viisi (mitte midagi nĂ€idata, kuvada sĂŒmbolid ĂŒkshaaval vĂ”i nĂ€idata tĂ€rne). Utiliiti systemd-ask-password lisati samal eesmĂ€rgil valik «--echo».
- Rakendustes systemd-cryptenroll, systemd-cryptsetup ja systemd-homed laiendati LUKS2 krĂŒptitud partitsioonide avamise tuge FIDO2 tokenite abil. Lisati uued valikud «--fido2-with-user-presence», «--fido2-with-user-verification» ja «--fido2-with-client-pin», et juhtida kasutaja fĂŒĂŒsilise kohaloleku kontrolli, verifitseerimist ja PIN-koodi sisestamise vajadust.
- SĂŒsteemi systemd-journal-gatewayd lisati valikud «--user», «--system», «--merge» ja «--file», mis on analoogsed journalctl samanimeliste valikutega.
- Lisaks unit-ite vahelistele otsestele sÔltuvustele, mida mÀÀratakse parameetritega OnFailure ja Slice, lisati tugi kaudsetele pöördsÔltuvustele OnFailureOf ja SliceOf, mis vÔivad olla kasulikud nÀiteks kÔigi slice'i kuuluvate unit-ite mÀÀratlemisel.
- Lisati uued unit-itevahelised sĂ”ltuvustĂŒĂŒbid: OnSuccess ja OnSuccessOf (OnFailure vastand, mis kĂ€ivitatakse eduka lĂ”petamise korral); PropagatesStopTo ja StopPropagatedFrom (vĂ”imaldavad levitada unit-i peatamissĂŒndmust teisele unit-ile); Upholds ja UpheldBy (alternatiiv Restart-ile).
- Utiliidile systemd-ask-password lisati valik «âemoji», millega saab juhtida lukusĂŒmboli (đ) kuvamist parooli sisestusreas.
- Lisatud on dokumentatsioon systemd lÀhtekoodipuu struktuuri kohta.
- Unit-idele lisati omadus MemoryAvailable, mis nÀitab, kui palju mÀlu on unit-il veel varuks enne parameetritega MemoryMax, MemoryHigh vÔi MemoryAvailable mÀÀratud limiidi saavutamist.
Allikas: opennet.ru
