Kutolewa kwa meneja wa mfumo wa 252 kwa usaidizi wa UKI (Picha Iliyounganishwa ya Kernel).

Baada ya miezi mitano ya maendeleo, kutolewa kwa meneja wa mfumo systemd 252 iliwasilishwa. Mabadiliko muhimu katika toleo jipya ilikuwa ushirikiano wa usaidizi wa mchakato wa kisasa wa boot, ambayo inakuwezesha kuthibitisha sio tu kernel na bootloader, lakini pia vipengele. ya mazingira ya msingi ya mfumo kwa kutumia saini za kidijitali.

Njia iliyopendekezwa inahusisha matumizi ya picha ya kernel iliyounganishwa UKI (Picha ya Kernel Iliyounganishwa) wakati wa kupakia, ambayo inachanganya kidhibiti cha kupakia kernel kutoka kwa UEFI (UEFI boot stub), picha ya Linux kernel na mazingira ya mfumo wa initrd iliyopakiwa kwenye kumbukumbu, iliyotumiwa. kwa uanzishaji wa awali kwenye hatua kabla ya kupachika mzizi FS . Picha ya UKI imewekwa kama faili moja inayoweza kutekelezeka katika umbizo la PE, ambayo inaweza kupakiwa kwa kutumia vipakiaji vya kawaida au kuitwa moja kwa moja kutoka kwa programu dhibiti ya UEFI. Unapoitwa kutoka kwa UEFI, inawezekana kuthibitisha uadilifu na uaminifu wa saini ya digital ya si tu kernel, lakini pia yaliyomo ya initrd.

Ili kukokotoa vigezo vya rejista za TPM PCR (Rejesta ya Usanidi wa Mfumo wa Mfumo wa Kuaminika) zinazotumiwa kufuatilia uadilifu na kutoa saini ya dijiti ya picha ya UKI, kipimo kipya cha matumizi kinajumuishwa. Ufunguo wa umma na maelezo yanayoambatana na PCR yanayotumika katika saini yanaweza kupachikwa moja kwa moja kwenye picha ya kuwasha ya UKI (ufunguo na sahihi huhifadhiwa katika faili ya PE katika sehemu za '.pcrsig' na '.pcrkey') na kutolewa kutoka humo kwa njia ya nje. au huduma za ndani.

Hasa, systemd-cryptsetup, systemd-cryptenroll na systemd-creds huduma zimebadilishwa ili kutumia habari hii, ambayo unaweza kuhakikisha kuwa sehemu za diski zilizosimbwa zimefungwa kwa kernel iliyosainiwa na dijiti (katika kesi hii, ufikiaji wa kizigeu kilichosimbwa. hutolewa tu ikiwa picha ya UKI imepitisha uthibitishaji kwa sahihi ya dijiti kulingana na vigezo vilivyo katika TPM).

Zaidi ya hayo, matumizi ya systemd-pcrphase imejumuishwa, ambayo inakuwezesha kudhibiti ufungaji wa hatua mbalimbali za boot kwa vigezo vilivyo kwenye kumbukumbu ya cryptoprocessors zinazounga mkono vipimo vya TPM 2.0 (kwa mfano, unaweza kufanya ufunguo wa usimbaji wa LUKS2 upatikane tu katika picha ya initrd na uzuie ufikiaji wake katika upakuaji wa hatua za baadaye).

Baadhi ya mabadiliko mengine:

  • Huhakikisha kuwa lugha chaguo-msingi ni C.UTF-8 isipokuwa lugha tofauti imebainishwa katika mipangilio.
  • Sasa inawezekana kufanya operesheni kamili ya utayarishaji wa huduma ("systemctl preset") wakati wa boot ya kwanza. Kuwasha mipangilio ya awali wakati wa kuwasha kunahitaji kujenga na chaguo la "-Dfirst-boot-full-preset", lakini imepangwa kuwashwa kwa chaguo-msingi katika matoleo yajayo.
  • Vitengo vya usimamizi wa mtumiaji vinahusisha kidhibiti cha rasilimali cha CPU, ambacho kiliwezesha kuhakikisha kuwa mipangilio ya Uzito wa CPU inatumika kwa vipande vyote vinavyotumika kugawanya mfumo katika sehemu (app.slice, background.slice, session.slice) ili kutenga rasilimali kati ya huduma tofauti za watumiaji, kushindana kwa rasilimali za CPU. Uzito wa CPU pia unaauni thamani ya "kutofanya kazi" ili kuamilisha hali inayofaa ya utoaji wa rasilimali.
  • Katika vitengo vya muda ("muda mfupi") na katika matumizi ya mfumo-repart, mipangilio ya kubatilisha inaruhusiwa kwa kuunda faili za kunjuzi kwenye saraka /etc/systemd/system/name.d/.
  • Kwa picha za mfumo, bendera inayohitimishwa na usaidizi imewekwa, ikibainisha ukweli huu kulingana na thamani ya kigezo kipya "SUPPORT_END=" katika faili ya /etc/os-release.
  • Mipangilio ya “ConditionCredential=” na “AssertCredential=” imeongezwa, ambayo inaweza kutumika kupuuza au kuharibu vitengo ikiwa vitambulisho fulani havipo kwenye mfumo.
  • Imeongeza mipangilio ya “DefaultSmackProcessLabel=” na “DefaultDeviceTimeoutSec=” kwenye system.conf na user.conf ili kufafanua kiwango cha usalama cha SMACK na muda wa kuwezesha kitengo umekwisha.
  • Katika mipangilio ya “ConditionFirmware=” na “AssertFirmware=”, uwezo wa kubainisha sehemu mahususi za SMBIOS umeongezwa, kwa mfano, kuzindua kitengo ikiwa sehemu ya /sys/class/dmi/id/board_name ina thamani ya “Custom. Ubao”, unaweza kubainisha “ConditionFirmware=smbios” -field(board_name = "Bodi Maalum").
  • Wakati wa mchakato wa uanzishaji (PID 1), uwezo wa kuingiza kitambulisho kutoka kwa sehemu za SMBIOS (Aina ya 11, "Nyenzo za muuzaji za OEM") umeongezwa pamoja na ufafanuzi wao kupitia qemu_fwcfg, ambayo hurahisisha utoaji wa vitambulisho kwa mashine pepe na kuondoa hitaji la zana za wahusika wengine kama vile cloud -init na kuwasha.
  • Wakati wa kuzima, mantiki ya kuteremsha mifumo ya faili pepe (proc, sys) imebadilishwa na habari kuhusu michakato inayozuia uondoaji wa mifumo ya faili huhifadhiwa kwenye logi.
  • Kichujio cha simu cha mfumo (SystemCallFilter) huruhusu ufikiaji wa simu ya mfumo wa riscv_flush_icache kwa chaguomsingi.
  • Bootloader ya sd-boot inaongeza uwezo wa boot katika hali mchanganyiko, ambayo 64-bit Linux kernel inaendesha kutoka 32-bit UEFI firmware. Umeongeza uwezo wa majaribio wa kutumia funguo za SecureBoot kiotomatiki kutoka kwa faili zinazopatikana katika ESP (kizigeu cha mfumo wa EFI).
  • Chaguzi mpya zimeongezwa kwa matumizi ya bootctl: "- usanifu-wote" wa kusakinisha jozi kwa usanifu wote wa EFI unaotumika, "-root=" na "-picha =" kwa kufanya kazi na saraka au picha ya diski, "-install-source =” kwa kufafanua chanzo cha usakinishaji, "-efi-boot-option-description=" ili kudhibiti majina ya kuingiza boot.
  • Amri ya 'list-automounts' imeongezwa kwa matumizi ya systemctl ili kuonyesha orodha ya saraka zilizowekwa kiotomatiki na chaguo la "--image=" la kutekeleza amri kuhusiana na taswira maalum ya diski. Imeongeza chaguzi za "--state=" na "--type=" kwa amri za 'onyesha' na 'hali'.
  • systemd-networkd imeongeza chaguo “TCPCongestionControlAlgorithm=” ili kuchagua algoriti ya udhibiti wa msongamano wa TCP, “KeepFileDescriptor=” ili kuhifadhi maelezo ya faili ya violesura vya TUN/TAP, “NetLabel=” kuweka NetLabels, “RapidCommit=” ili kuharakisha usanidi kupitia DHCPv6. (RFC 3315). Kigezo cha "RouteTable=" kinaruhusu kubainisha majina ya jedwali za kuelekeza.
  • systemd-nspawn inaruhusu matumizi ya njia za faili za jamaa katika chaguzi za "--bind=" na "--overlay=". Imeongeza usaidizi wa kigezo cha 'rootidmap' kwenye chaguo la "--bind=" ili kufunga kitambulisho cha mtumiaji wa mizizi kwenye chombo kwa mmiliki wa saraka iliyopachikwa kwenye upande wa mwenyeji.
  • systemd-resolved hutumia OpenSSL kama mazingira yake ya nyuma ya usimbaji fiche kwa chaguomsingi (msaada wa gnutls huhifadhiwa kama chaguo). Algoriti za DNSSEC ambazo hazitumiki sasa zinachukuliwa kuwa si salama badala ya kurudisha hitilafu (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles na systemd-sysctl hutekeleza uwezo wa kuhamisha mipangilio kupitia utaratibu wa uhifadhi wa kitambulisho.
  • Aliongeza amri ya 'linganisha matoleo' ili kuchanganua-systemd ili kulinganisha mifuatano na nambari za toleo (sawa na 'rpmdev-vercmp' na 'dpkg --compare-versions'). Imeongeza uwezo wa kuchuja vitengo kwa barakoa kwa amri ya 'systemd-analyse dump'.
  • Wakati wa kuchagua hali ya usingizi wa hatua nyingi (simamisha-kisha-hibernate), muda unaotumika katika hali ya kusubiri sasa huchaguliwa kulingana na utabiri wa maisha ya betri iliyobaki. Mpito wa papo hapo hadi hali ya kulala hutokea wakati betri inachaji chini ya 5%.
  • Hali mpya ya kutoa "-o short-delta" imeongezwa kwenye 'journalctl', ikionyesha tofauti ya saa kati ya ujumbe tofauti kwenye kumbukumbu.
  • systemd-repart huongeza usaidizi wa kuunda partitions na mfumo wa faili wa Squashfs na sehemu za dm-verity, ikijumuisha na sahihi za dijitali.
  • Imeongezwa "StopIdleSessionSec=" kuweka kwa systemd-logind ili kumaliza kipindi kisichotumika baada ya muda uliowekwa kuisha.
  • Systemd-cryptenroll imeongeza chaguo "--unlock-key-file=" ili kutoa ufunguo wa kusimbua kutoka kwa faili badala ya kumwuliza mtumiaji.
  • Sasa inawezekana kuendesha matumizi ya systemd-growfs katika mazingira bila udev.
  • systemd-backlight imeboresha usaidizi kwa mifumo iliyo na kadi nyingi za michoro.
  • Leseni ya mifano ya msimbo iliyotolewa katika hati imebadilishwa kutoka CC0 hadi MIT-0.

Mabadiliko ambayo yanavunja utangamano:

  • Wakati wa kuangalia nambari ya toleo la kernel kwa kutumia maagizo ya ConditionKernelVersion, ulinganisho rahisi wa kamba sasa unatumika katika waendeshaji '=' na '!=', na ikiwa opereta linganishi haijabainishwa kabisa, ulinganishaji wa glob-mask unaweza kutumika kwa kutumia herufi '*', '?' Na '[', ']'. Ili kulinganisha matoleo ya mtindo wa stverscmp(), tumia viendeshaji '<', '>', '<=' na '>='.
  • Lebo ya SELinux inayotumiwa kuangalia ufikiaji kutoka kwa faili ya kitengo sasa inasomwa wakati faili inapakiwa, badala ya wakati wa ukaguzi wa ufikiaji.
  • Hali ya "ConditionFirstBoot" sasa imeanzishwa kwenye buti ya kwanza ya mfumo moja kwa moja tu kwenye hatua ya boot na inarudi "uongo" wakati wa kupiga vitengo baada ya boot kukamilika.
  • Mnamo 2024, systemd inapanga kuacha kuunga mkono utaratibu wa kuweka kikomo wa rasilimali za cgroup v1, ambao uliacha kutumika katika toleo la systemd 248. Wasimamizi wanashauriwa kutunza mapema uhamishaji wa huduma za cgroup v2 hadi cgroup v1. Tofauti kuu kati ya vikundi v2 na v1 ni matumizi ya safu ya vikundi vya kawaida kwa kila aina ya rasilimali, badala ya safu tofauti za ugawaji rasilimali za CPU, kudhibiti matumizi ya kumbukumbu, na kwa I/O. Daraja tofauti husababisha ugumu katika kupanga mwingiliano kati ya vidhibiti na gharama za ziada za nyenzo wakati wa kutumia sheria za mchakato unaorejelewa katika viwango tofauti.
  • Katika nusu ya pili ya 2023, tunapanga kukomesha usaidizi wa safu za saraka za mgawanyiko, ambapo /usr imewekwa kando na mzizi, au /bin na /usr/bin, /lib na /usr/lib zimetenganishwa.

Chanzo: opennet.ru

Kuongeza maoni