Systemd systemd system manager 252 kaleratzea UKI (Unified Kernel Image) laguntzarekin

Bost hilabeteko garapenaren ondoren, sistema kudeatzailearen systemd 252 bertsioa aurkeztu zen. Bertsio berriaren funtsezko aldaketa abio prozesu modernizatu baterako euskarria integratzea izan zen, zeinak nukleoa eta abiarazlea ez ezik, osagaiak ere egiaztatzea ahalbidetzen duen. sinadura digitala erabiliz sistemaren oinarrizko ingurunea.

Proposatutako metodoak nukleoaren irudi bateratua UKI (Unified Kernel Image) erabiltzea dakar kargatzean, zeinak nukleoa UEFItik kargatzeko kudeatzaile bat (UEFI boot stub), Linux nukleoaren irudi bat eta memorian kargatutako initrd sistema ingurunea konbinatzen dituena. hasierako hasierako FS erroa muntatu aurreko fasean. UKI irudia fitxategi exekutagarri bakar batean bilduta dago PE formatuan, abiarazle tradizionalen bidez kargatu daitekeena edo UEFI firmwaretik zuzenean deitu daitekeena. UEFItik deitzen denean, nukleoaren sinadura digitalaren osotasuna eta fidagarritasuna egiaztatzea posible da, baita initrd-aren edukia ere.

UKI irudiaren osotasuna kontrolatzeko eta sinadura digitala sortzeko erabiltzen diren TPM PCR (Trusted Platform Module Platform Configuration Register) erregistroen parametroak kalkulatzeko, erabilgarritasun-sistema-neurri berri bat sartzen da. Sinaduran erabilitako gako publikoa eta honekin batera doan PCR informazioa UKI abiarazte-irudian zuzenean txerta daitezke (gakoa eta sinadura PE fitxategi batean gordetzen dira '.pcrsig' eta '.pcrkey' eremuetan) eta kanpotik atera daitezke. edo barne utilitateak.

Bereziki, systemd-cryptsetup, systemd-cryptenroll eta systemd-creds utilitateak informazio hori erabiltzeko egokitu dira, eta, horrekin, zifratutako disko-partizioak digitalki sinatutako kernel batera lotzen direla ziurtatu dezakezu (kasu honetan, enkriptatutako partiziorako sarbidea). UKI irudiak TPMn kokatutako parametroetan oinarritutako sinadura digitalaren bidezko egiaztapena gainditu badu soilik ematen da).

Gainera, systemd-pcrphase erabilgarritasuna sartzen da, eta horrek abiarazte-etapa ezberdinak TPM 2.0 zehaztapena onartzen duten kriptoprozesadoreen memorian dauden parametroekin lotzea kontrolatzeko aukera ematen du (adibidez, LUKS2 partizioaren deszifratze gakoa erabil dezakezu soilik). initrd irudia eta blokeatu harako sarbidea geroagoko deskargak).

Beste aldaketa batzuk:

  • Bermatzen du lokalizazio lehenetsia C.UTF-8 dela, ezarpenetan beste lokal bat zehaztu ezean.
  • Orain posible da zerbitzuaren aurrezarpen osoa egiteko eragiketa ("systemctl preset") lehen abiaraztean. Abiarazteko garaian aurrezarpenak gaitzeko "-Dfirst-boot-full-preset" aukerarekin eraiki behar da, baina etorkizuneko bertsioetan lehenespenez gaituta egotea aurreikusten da.
  • Erabiltzaileen kudeaketa-unitateek CPU baliabideen kontrolagailu bat dute, eta horri esker, CPUWeight ezarpenak sistema zatitan banatzeko erabiltzen diren zati-unitate guztiei aplikatzen zaiela ziurtatzea ahalbidetu du (app.slice, background.slice, session.slice) baliabideen artean isolatzeko. erabiltzaile-zerbitzu desberdinak, CPU baliabideen lehian. CPUWeight-ek "inaktibo" balioa ere onartzen du baliabideak hornitzeko modu egokia aktibatzeko.
  • Aldi baterako (“iragankorra”) unitateetan eta systemd-repart utility-n, ezarpenak gainidaztea onartzen da /etc/systemd/system/name.d/ direktorioan sartutako fitxategiak sortuz.
  • Sistemaren irudietarako, euskarriaren amaierako bandera ezartzen da, /etc/os-release fitxategiko “SUPPORT_END=” parametro berriaren balioaren arabera zehaztuz.
  • "ConditionCredential=" eta "AssertCredential=" ezarpenak gehitu dira, sisteman zenbait kredentzial ez badaude unitateak ez ikusi edo huts egiteko erabil daitezkeenak.
  • "DefaultSmackProcessLabel=" eta "DefaultDeviceTimeoutSec="" ezarpenak gehitu ditu system.conf eta user.conf SMACK segurtasun-maila lehenetsia eta unitatearen aktibazio-denbora definitzeko.
  • “ConditionFirmware=" eta "AssertFirmware=" ezarpenetan, SMBIOS eremu indibidualak zehazteko gaitasuna gehitu da, adibidez, unitate bat abiarazteko /sys/class/dmi/id/board_name eremuak "Pertsonalizatua" balioa badu soilik. Board", "ConditionFirmware=smbios" -field (board_name = "Custom Board") zehaztu dezakezu".
  • Hasierako prozesuan (PID 1), SMBIOS eremuetatik kredentzialak inportatzeko gaitasuna (11. mota, "OEM saltzaile kateak") haien definizioaz gain, qemu_fwcfg bidez gehitu da, eta horrek kredentzialak makina birtualei ematea errazten du eta ezabatzen du. hirugarrenen tresnak behar dira, hala nola cloud -init eta ignition.
  • Itzaltzean, fitxategi-sistema birtualak desmuntatzeko logika (proc, sys) aldatu egin da eta fitxategi-sistemak desmuntatzea blokeatzen duten prozesuei buruzko informazioa erregistroan gordetzen da.
  • Sistema-deien iragazkiak (SystemCallFilter) lehenespenez riscv_flush_icache sistema-deirako sarbidea ahalbidetzen du.
  • SD-boot bootloader-ak modu mistoan abiarazteko gaitasuna gehitzen du, eta bertan 64 biteko Linux nukleoa 32 biteko UEFI firmwaretik exekutatzen da. ESP-n (EFI sistemaren partizioa) aurkitutako fitxategietatik SecureBoot gakoak automatikoki aplikatzeko gaitasun esperimentala gehitu da.
  • Aukera berriak gehitu dira bootctl erabilgarritasunari: “—all-architectures” onartutako EFI arkitektura guztietarako bitarrak instalatzeko, “—root=” eta “—image=” direktorio edo diskoaren irudi batekin lan egiteko, “—install-source =" instalatzeko iturburua definitzeko, "-efi-boot-option-description=" abioko sarreren izenak kontrolatzeko.
  • 'list-automounts' komandoa systemctl utilitatean gehitu da automatikoki muntatutako direktorioen zerrenda eta "--image=" aukera aginduak exekutatzeko zehaztutako disko-irudiarekin lotuta. "--state=" eta "--type=" aukerak gehitu dira 'show' eta 'status' komandoetan.
  • systemd-networkd-ek “TCPCongestionControlAlgorithm=” aukerak gehitu ditu TCP pilaketa kontrolatzeko algoritmoa hautatzeko, “KeepFileDescriptor=” TUN/TAP interfazeen fitxategi deskribatzailea gordetzeko, “NetLabel=” NetLabels ezartzeko, “RapidCommit=” DHCPv6 bidez konfigurazioa bizkortzeko. (RFC 3315). “RouteTable=" parametroak bideratze-taulen izenak zehazteko aukera ematen du.
  • systemd-nspawn-ek fitxategi-bide erlatiboak erabiltzeko aukera ematen du "--bind=" eta "--overlay=" aukeretan. "--bind=" aukerari "rootidmap" parametrorako euskarria gehitu zaio edukiontziko root erabiltzaile IDa ostalariaren aldean muntatutako direktorioaren jabeari lotzeko.
  • systemd-resolved-ek OpenSSL erabiltzen du bere enkriptazio backend gisa lehenespenez (gnutls-en laguntza aukera gisa mantentzen da). Onartu gabeko DNSSEC algoritmoak segurutzat hartzen dira orain errore bat itzuli beharrean (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles eta systemd-sysctl ezarpenak kredentzialak biltegiratzeko mekanismo baten bidez transferitzeko gaitasuna ezartzen dute.
  • 'Compare-versions' komandoa gehitu dio systemd-analyze utilitateari kateak bertsio-zenbakiekin alderatzeko ('rpmdev-vercmp' eta 'dpkg --compare-versions'-ren antzekoa). Unitateak maskara bidez iragazteko gaitasuna gehitu zaio 'systemd-analyse dump' komandoari.
  • Etapa anitzeko lo modua hautatzen denean (eten-gero hibernatu), egonean moduan igarotako denbora bateriaren iraupenaren iragarpenaren arabera aukeratzen da. Lo modura berehalako trantsizioa gertatzen da bateriaren % 5 baino gutxiago kargatzen denean.
  • "-o short-delta" irteera modu berri bat gehitu da 'journalctl'-ra, erregistroan mezu ezberdinen arteko denbora-aldea erakusten duena.
  • systemd-repart-ek Squashfs fitxategi-sistemarekin partizioak eta dm-verity-rako partizioak sortzeko laguntza gehitzen du, sinadura digitalekin barne.
  • Gehitu da "StopIdleSessionSec=" ezarpena systemd-logind-era, zehaztutako denbora-muga baten ondoren saio inaktibo bat amaitzeko.
  • Systemd-cryptenroll-ek "--unlock-key-file=" aukera gehitu du fitxategi batetik deszifratze gakoa ateratzeko erabiltzaileari galdetu beharrean.
  • Orain posible da systemd-growfs utilitatea exekutatu udev gabeko inguruneetan.
  • systemd-backlight-ek txartel grafiko anitz dituzten sistemetarako laguntza hobetu du.
  • Dokumentazioan emandako kode-adibideen lizentzia CC0tik MIT-0ra aldatu da.

Bateragarritasuna hausten duten aldaketak:

  • ConditionKernelVersion direktiba erabiliz nukleoaren bertsio-zenbakia egiaztatzen denean, kateen konparaketa sinple bat erabiltzen da orain '=' eta '!=' eragileetan, eta konparazio-operadorea batere zehazten ez bada, glob-mask bat etortzea erabil daiteke. '*', '?' Eta '[', ']'. stverscmp() estiloko bertsioak alderatzeko, erabili '<', '>', '<=' eta '>=' eragileak.
  • Unitate-fitxategi batetik sarbidea egiaztatzeko erabiltzen den SELinux etiketa orain fitxategia kargatzen den unean irakurtzen da, sarbidea egiaztatzeko unean baino.
  • "ConditionFirstBoot" baldintza orain sistemaren lehen abiaraztean zuzenean abiarazteko fasean abiarazten da eta "faltsua" itzultzen du unitateak deitzean abioa amaitu ondoren.
  • 2024an, systemd-ek cgroup v1 baliabideak mugatzeko mekanismoa onartzeari uztea aurreikusten du, sistemaren 248. bertsioan zaharkituta zegoena. Administratzaileei gomendatzen zaie arretaz arduratzea cgroup v2-en oinarritutako zerbitzuak cgroup v1-ra migratzen aldez aurretik. cgroups v2 eta v1-en arteko desberdintasun nagusia baliabide mota guztietarako cgroups hierarkia komun bat erabiltzea da, CPU baliabideak esleitzeko, memoria-kontsumoa erregulatzeko eta I/Orako hierarkia bereizien ordez. Hierarkia bereiziek kudeatzaileen arteko interakzioa antolatzeko zailtasunak eragiten dituzte eta kernel-baliabideen kostu gehigarriak eragiten dituzte hierarkia ezberdinetan erreferentziatutako prozesu baterako arauak aplikatzean.
  • 2023ko bigarren seihilekoan, zatitutako direktorio hierarkietarako laguntza amaitzeko asmoa dugu, non /usr errotik bereizita muntatzen den, edo /bin eta /usr/bin, /lib eta /usr/lib bereizten diren.

Iturria: opennet.ru

Gehitu iruzkin berria