Išleistas Systemd System Manager 252 su UKI (Unified Kernel Image) palaikymu

Po penkių mėnesių kūrimo buvo pristatytas sistemos tvarkyklės systemd 252 leidimas Pagrindinis naujos versijos pakeitimas buvo modernizuoto įkrovos proceso palaikymo integravimas, leidžiantis patikrinti ne tik branduolį ir įkrovos įkroviklį, bet ir komponentus. pagrindinės sistemos aplinkos naudojant skaitmeninius parašus.

Siūlomas metodas apima vieningo branduolio atvaizdo UKI (Unified Kernel Image) naudojimą įkeliant, kuris sujungia branduolio įkėlimo iš UEFI tvarkyklę (UEFI boot stub), Linux branduolio atvaizdą ir į atmintį įkeltą initrd sistemos aplinką. pradiniam inicijavimui etape prieš jungiant šakninę FS . UKI vaizdas yra supakuotas kaip vienas vykdomasis failas PE formatu, kurį galima įkelti naudojant tradicinius įkrovos įkroviklius arba iškviesti tiesiai iš UEFI programinės įrangos. Iškvietus iš UEFI, galima patikrinti ne tik branduolio, bet ir initrd turinio skaitmeninio parašo vientisumą ir patikimumą.

Norint apskaičiuoti TPM PCR (Trusted Platform Module Platform Configuration Register) registrų, naudojamų UKI vaizdo vientisumui stebėti ir skaitmeniniam parašui generuoti, parametrus, įtraukta nauja naudingumo sistema. Viešasis raktas ir lydima PGR informacija, naudojama paraše, gali būti įterpta tiesiai į UKI įkrovos vaizdą (raktas ir parašas išsaugomi PE faile laukuose „.pcrsig“ ir „.pcrkey“) ir iš jo išgauti išoriniu būdu. arba vidaus komunalines paslaugas.

Visų pirma, šiai informacijai naudoti buvo pritaikytos sistemosd-cryptsetup, systemd-cryptenroll ir systemd-creds paslaugos, kuriomis galite užtikrinti, kad užšifruoti disko skaidiniai būtų susieti su skaitmeniniu parašu pasirašytu branduoliu (šiuo atveju prieiga prie šifruoto skaidinio pateikiamas tik tuo atveju, jei UKI vaizdas buvo patvirtintas skaitmeniniu parašu, remiantis TPM esančiais parametrais).

Be to, įtraukta „systemd-pcrphase“ programa, leidžianti valdyti įvairių įkrovos etapų susiejimą su parametrais, esančiais TPM 2.0 specifikaciją palaikančių kriptoprocesorių atmintyje (pavyzdžiui, LUKS2 skaidinio iššifravimo raktą galite padaryti prieinamą tik pradinį vaizdą ir blokuokite prieigą prie jo vėlesniuose atsisiuntimo etapuose).

Kai kurie kiti pakeitimai:

  • Užtikrina, kad numatytoji lokalė būtų C.UTF-8, nebent nustatymuose nurodyta kita lokalė.
  • Dabar galima atlikti visą išankstinio aptarnavimo operaciją („systemctl preset“) per pirmąjį įkrovimą. Norint įgalinti išankstinius nustatymus įkrovos metu, reikia sukurti naudojant parinktį „-Dfirst-boot-full-preset“, bet planuojama, kad būsimuose leidimuose ji bus įjungta pagal numatytuosius nustatymus.
  • Vartotojų valdymo blokai apima procesoriaus išteklių valdiklį, kuris leido užtikrinti, kad CPUWeight nustatymai būtų taikomi visiems skilties vienetams, naudojamiems sistemai padalinti į dalis (app.slice, background.slice, session.slice), kad būtų atskirti ištekliai. skirtingų vartotojų paslaugų, konkuruojančių dėl procesoriaus išteklių. „CPUWeight“ taip pat palaiko „tuščiosios eigos“ reikšmę, kad suaktyvintų atitinkamą išteklių aprūpinimo režimą.
  • Laikinuose („trumpalaikiuose“) įrenginiuose ir „systemd-repart“ programoje leidžiama nepaisyti nustatymų sukuriant išskleidžiamuosius failus kataloge /etc/systemd/system/name.d/.
  • Sistemos vaizdams nustatyta palaikymo pabaigos vėliavėlė, kuri nustato šį faktą pagal naujo parametro „SUPPORT_END=“ reikšmę faile /etc/os-release.
  • Pridėta „ConditionCredential=“ ir „AssertCredential=“ nustatymai, kuriuos galima naudoti norint nepaisyti ar sugadinti vienetų, jei sistemoje nėra tam tikrų kredencialų.
  • Prie system.conf ir user.conf pridėti „DefaultSmackProcessLabel=“ ir „DefaultDeviceTimeoutSec=“ nustatymai, siekiant apibrėžti numatytąjį SMACK saugos lygį ir įrenginio aktyvinimo skirtąjį laiką.
  • Nustatymuose „ConditionFirmware=“ ir „AssertFirmware=“ pridėta galimybė nurodyti atskirus SMBIOS laukus, pavyzdžiui, paleisti įrenginį tik tuo atveju, jei lauke /sys/class/dmi/id/board_name yra reikšmė „Custom Board“, galite nurodyti „ConditionFirmware=smbios“ -field(board_name = „Custom Board“)“.
  • Inicijavimo proceso metu (PID 1) be jų apibrėžimo per qemu_fwcfg buvo pridėta galimybė importuoti kredencialus iš SMBIOS laukų (11 tipas, „OEM tiekėjo eilutės“), o tai supaprastina kredencialų teikimą virtualioms mašinoms ir pašalina reikia trečiųjų šalių įrankių, pvz., „Cloud -init“ ir „Ignition“.
  • Išjungimo metu buvo pakeista virtualių failų sistemų (proc, sys) išmontavimo logika ir žurnale išsaugoma informacija apie procesus, blokuojančius failų sistemų išmontavimą.
  • Sistemos skambučių filtras (SystemCallFilter) pagal numatytuosius nustatymus leidžia pasiekti sistemos iškvietimą riscv_flush_icache.
  • Sd-boot bootloader prideda galimybę paleisti mišriu režimu, kai 64 bitų Linux branduolys veikia iš 32 bitų UEFI programinės įrangos. Pridėta eksperimentinė galimybė automatiškai taikyti SecureBoot raktus iš failų, rastų ESP (EFI sistemos skaidinyje).
  • Prie „bootctl“ programos buvo pridėtos naujos parinktys: „—visos architektūros“, skirtos dvejetainiams failams įdiegti visoms palaikomoms EFI architektūroms, „—root=“ ir „—image=“ darbui su katalogo arba disko atvaizdu, „—install-source“ =“ diegimo šaltiniui apibrėžti, „-efi-boot-option-description=“ – įkrovos įrašų pavadinimams valdyti.
  • Komanda „list-automounts“ buvo pridėta prie „systemctl“ paslaugų programos, kad būtų rodomas automatiškai prijungtų katalogų sąrašas ir parinktis „--image=", kad būtų galima vykdyti komandas, susijusias su nurodytu disko vaizdu. Prie komandų „show“ ir „status“ pridėtos parinktys „--state=" ir "--type=".
  • systemd-networkd pridėjo parinktis „TCPCongestionControlAlgorithm=“, kad pasirinktumėte TCP perkrovos valdymo algoritmą, „KeepFileDescriptor=“, kad išsaugotumėte TUN/TAP sąsajų failo deskriptorių, „NetLabel=“, kad nustatytų „NetLabels“, „RapidCommit=“, kad pagreitintų konfigūraciją per DHCPv6. (RFC 3315). Parametras „RouteTable=“ leidžia nurodyti maršruto parinkimo lentelių pavadinimus.
  • systemd-nspawn leidžia naudoti santykinius failų kelius parinktyse "--bind=" ir "--overlay=". Pridėtas parametro „rootidmap“ palaikymas prie parinkties „--bind=", kad būtų galima susieti pagrindinį vartotojo ID konteineryje su prijungto katalogo savininku prieglobos pusėje.
  • systemd-resolved pagal numatytuosius nustatymus naudoja OpenSSL kaip šifravimo užpakalinę programą (gnutls palaikymas išsaugomas kaip parinktis). Nepalaikomi DNSSEC algoritmai dabar laikomi nesaugiais, o ne pateikia klaidą (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles ir systemd-sysctl įgyvendina galimybę perkelti nustatymus per kredencialų saugojimo mechanizmą.
  • Prie systemd-analyze įrankio pridėta komanda 'compare-versions', kad būtų galima palyginti eilutes su versijų numeriais (panašiai kaip 'rpmdev-vercmp' ir 'dpkg --compare-versions'). Prie komandos „systemd-analyze dump“ pridėta galimybė filtruoti vienetus pagal kaukę.
  • Pasirinkus kelių pakopų miego režimą (sustabdyti, tada užmigdyti), laikas, praleistas budėjimo režimu, dabar pasirenkamas atsižvelgiant į likusio akumuliatoriaus veikimo laiko prognozę. Greitas perėjimas į miego režimą įvyksta, kai lieka mažiau nei 5% akumuliatoriaus įkrovos.
  • Prie 'journalctl' buvo pridėtas naujas išvesties režimas "-o short-delta", rodantis laiko skirtumą tarp skirtingų žurnalo pranešimų.
  • systemd-repart prideda palaikymą kuriant skaidinius naudojant Squashfs failų sistemą ir skaidinius, skirtus dm-verity, įskaitant skaitmeninius parašus.
  • Prie systemd-logind pridėtas nustatymas „StopIdleSessionSec=", kad pasibaigus neaktyviam seansui pasibaigus nurodytam laikui.
  • „Systemd-cryptenroll“ pridėjo parinktį „--unlock-key-file=", kad iš failo išskirtų iššifravimo raktą, o ne ragintų vartotoją.
  • Dabar galima paleisti sistemą systemd-growfs aplinkoje be udev.
  • systemd-backlight pagerino sistemų su keliomis vaizdo plokštėmis palaikymą.
  • Dokumentuose pateiktų kodų pavyzdžių licencija pakeista iš CC0 į MIT-0.

Pakeitimai, kurie pažeidžia suderinamumą:

  • Tikrinant branduolio versijos numerį naudojant ConditionKernelVersion direktyvą, dabar naudojamas paprastas eilučių palyginimas operatoriuose „=“ ir „!=“, o jei palyginimo operatorius visai nenurodytas, glob-mask atitikimą galima naudoti naudojant personažai '*', '?' Ir „[“, „]“. Norėdami palyginti stverscmp() stiliaus versijas, naudokite operatorius „<“, „>“, „<=“ ir „>=“.
  • SELinux žyma, naudojama prieigai iš vieneto failo patikrinti, dabar nuskaitoma failo įkėlimo metu, o ne prieigos tikrinimo metu.
  • Sąlyga „ConditionFirstBoot“ dabar suveikia pirmą kartą paleidžiant sistemą tik tiesiogiai įkrovos etape ir grąžina „false“, kai iškviečiami įrenginiai po įkrovos pabaigos.
  • 2024 m. „systemd“ planuoja nebepalaikyti „cgroup v1“ išteklių ribojimo mechanizmo, kuris buvo nebenaudojamas 248 „Systemd“ leidime. Administratoriams patariama iš anksto pasirūpinti cgroup v2 pagrįstų paslaugų perkėlimu į cgroup v1. Pagrindinis skirtumas tarp cgroups v2 ir v1 yra bendros cgroups hierarchijos naudojimas visų tipų ištekliams, o ne atskiros procesoriaus išteklių paskirstymo, atminties suvartojimo ir įvesties/išvesties hierarchijos. Dėl atskirų hierarchijų kyla sunkumų organizuojant tvarkytojų sąveiką ir atsiranda papildomų branduolio išteklių sąnaudų, kai taikomos taisyklės procesui, nurodytam skirtingose ​​hierarchijose.
  • Antroje 2023 m. pusėje planuojame nutraukti suskaidytų katalogų hierarchijų palaikymą, kai /usr jungiamas atskirai nuo šakninio pagrindo arba /bin ir /usr/bin, /lib ir /usr/lib yra atskirti.

Šaltinis: opennet.ru

Добавить комментарий