UKI (Unified Kernel Image) dəstəyi ilə systemd sistem meneceri 252 buraxılışı

Beş aylıq inkişafdan sonra sistem meneceri systemd 252-nin buraxılışı təqdim olundu.Yeni versiyada əsas dəyişiklik təkcə nüvəni və yükləyicini deyil, həm də komponentləri yoxlamağa imkan verən modernləşdirilmiş yükləmə prosesi üçün dəstəyin inteqrasiyası oldu. rəqəmsal imzalardan istifadə edərək əsas sistem mühitinin.

Təklif olunan üsul yükləyərkən nüvənin UEFI (UEFI açılış stub), Linux nüvəsi təsviri və yaddaşa yüklənmiş initrd sistem mühitindən yüklənməsi üçün işləyicini birləşdirən UKI (Unified Kernel Image) yüklənərkən istifadəni nəzərdə tutur. kök FS quraşdırmadan əvvəl mərhələdə ilkin işə salınması üçün . UKI təsviri PE formatında tək icra edilə bilən fayl kimi qablaşdırılıb, onu ənənəvi yükləyicilərdən istifadə etməklə yükləmək və ya birbaşa UEFI proqram təminatından çağırmaq olar. UEFI-dən zəng edildikdə, yalnız nüvənin deyil, həm də initrd-in məzmununun rəqəmsal imzasının bütövlüyünü və etibarlılığını yoxlamaq mümkündür.

UKİ təsvirinin bütövlüyünü izləmək və rəqəmsal imza yaratmaq üçün istifadə edilən TPM PCR (Trusted Platform Module Platform Configuration Register) registrlərinin parametrlərini hesablamaq üçün yeni sistemd-measure yardım proqramı daxil edilmişdir. İmzada istifadə edilən açıq açar və onu müşayiət edən PCR məlumatı birbaşa UKI açılış şəklinə daxil edilə bilər (açar və imza PE faylında '.pcrsig' və '.pcrkey' sahələrində saxlanılır) və ondan xaricdən çıxarıla bilər. və ya daxili kommunal xidmətlər.

Xüsusilə, systemd-cryptsetup, systemd-cryptenroll və systemd-creds utilitləri bu məlumatdan istifadə etmək üçün uyğunlaşdırılmışdır, onların köməyi ilə siz şifrələnmiş disk bölmələrinin rəqəmsal imzalanmış nüvəyə bağlanmasını təmin edə bilərsiniz (bu halda, şifrələnmiş bölməyə giriş yalnız UKİ təsviri TPM-də yerləşən parametrlər əsasında rəqəmsal imza ilə yoxlanışdan keçdiyi halda təmin edilir).

Bundan əlavə, sistemd-pcrphase yardım proqramı daxil edilmişdir ki, bu da müxtəlif yükləmə mərhələlərinin TPM 2.0 spesifikasiyasını dəstəkləyən kriptoprosessorların yaddaşında yerləşən parametrlərə bağlanmasına nəzarət etməyə imkan verir (məsələn, LUKS2 bölməsinin şifrəsini açmaq üçün açarı yalnız initrd şəklini yükləyin və sonrakı yükləmə mərhələlərində ona girişi bloklayın).

Bəzi digər dəyişikliklər:

  • Parametrlərdə fərqli bir yerli dil göstərilmədiyi halda, defolt yerlinin C.UTF-8 olmasını təmin edir.
  • Artıq ilk yükləmə zamanı tam xidmətin əvvəlcədən təyin edilmiş əməliyyatını (“systemctl əvvəlcədən təyini”) yerinə yetirmək mümkündür. Yükləmə zamanı ilkin parametrləri işə salmaq "-Dfirst-boot-full-preset" seçimi ilə qurulmasını tələb edir, lakin gələcək buraxılışlarda defolt olaraq aktiv edilməsi planlaşdırılır.
  • İstifadəçi idarəetmə bölmələrinə CPU resurs nəzarətçisi daxildir ki, bu da CPU Weight parametrlərinin sistemin hissələrə bölünməsi (app.slice, background.slice, session.slice) arasında resursları təcrid etmək üçün istifadə edilən bütün dilim vahidlərinə tətbiq edilməsini təmin etməyə imkan verir. CPU resursları üçün rəqabət aparan müxtəlif istifadəçi xidmətləri. CPUWeight həmçinin müvafiq resurs təminetmə rejimini aktivləşdirmək üçün “boş” dəyəri dəstəkləyir.
  • Müvəqqəti (“keçici”) vahidlərdə və systemd-repart yardım proqramında, /etc/systemd/system/name.d/ qovluğunda açılan fayllar yaratmaqla parametrləri ləğv etməyə icazə verilir.
  • Sistem şəkilləri üçün, bu faktı /etc/os-release faylında yeni “SUPPORT_END=” parametrinin dəyərinə əsaslanaraq müəyyən edən dəstək bitən bayraq qoyulur.
  • “ConditionCredential=” və “AssertCredential=” parametrləri əlavə edilib ki, bunlar sistemdə müəyyən etimadnamələr mövcud olmadıqda vahidlərə məhəl qoymamaq və ya çökdürmək üçün istifadə edilə bilər.
  • Default SMACK təhlükəsizlik səviyyəsini və vahid aktivləşdirmə vaxt aşımını müəyyən etmək üçün system.conf və user.conf-a “DefaultSmackProcessLabel=” və “DefaultDeviceTimeoutSec=” parametrləri əlavə edildi.
  • “ConditionFirmware=” və “AssertFirmware=” parametrlərində fərdi SMBIOS sahələrini təyin etmək imkanı əlavə edilmişdir, məsələn, yalnız /sys/class/dmi/id/board_name sahəsində “Xüsusi” dəyəri varsa vahidi işə salmaq üçün Board”, siz “ConditionFirmware=smbios” -sahə(board_name = “Xüsusi lövhə”)” təyin edə bilərsiniz.
  • Başlama prosesi (PID 1) zamanı qemu_fwcfg vasitəsilə onların tərifinə əlavə olaraq SMBIOS sahələrindən (Tip 11, “OEM satıcı sətirləri”) etimadnamələri idxal etmək imkanı əlavə edilmişdir ki, bu da virtual maşınlara etimadnamələrin verilməsini asanlaşdırır və cloud -init və ignition kimi üçüncü tərəf alətlərinə ehtiyac.
  • Bağlanma zamanı virtual fayl sistemlərinin (proc, sys) sökülməsi üçün məntiq dəyişdirildi və fayl sistemlərinin çıxarılmasını bloklayan proseslər haqqında məlumat jurnalda saxlanılır.
  • Sistem zəng filtri (SystemCallFilter) defolt olaraq riscv_flush_icache sistem zənginə daxil olmağa imkan verir.
  • Sd-boot bootloader, 64-bit Linux nüvəsinin 32-bit UEFI proqram təminatından işlədiyi qarışıq rejimdə yükləmə qabiliyyətini əlavə edir. ESP-də (EFI sistem bölməsi) tapılan fayllardan SecureBoot açarlarını avtomatik tətbiq etmək üçün eksperimental imkan əlavə edilib.
  • Bootctl yardım proqramına yeni seçimlər əlavə edildi: bütün dəstəklənən EFI arxitekturaları üçün ikili faylları quraşdırmaq üçün “—bütün arxitekturalar”, kataloq və ya disk təsviri ilə işləmək üçün “—root=” və “—image=”, “—install-source” =” quraşdırma üçün mənbəni təyin etmək üçün, yükləmə giriş adlarını idarə etmək üçün "-efi-boot-option-description=".
  • Avtomatik quraşdırılmış qovluqların siyahısını göstərmək üçün systemctl yardım proqramına 'list-automounts' əmri və göstərilən disk şəkli ilə bağlı əmrləri yerinə yetirmək üçün "--image=" seçimi əlavə edilmişdir. 'Show' və 'status' əmrlərinə "--state=" və "--type=" variantları əlavə edildi.
  • systemd-networkd TCP tıxanmasına nəzarət alqoritmini seçmək üçün “TCPCongestionControlAlgorithm=”, TUN/TAP interfeyslərinin fayl deskriptorunu saxlamaq üçün “KeepFileDescriptor=”, NetLabels qurmaq üçün “NetLabel=”, DCPv6 vasitəsilə konfiqurasiyanı sürətləndirmək üçün “RapidCommit=” seçimlərini əlavə etdi. (RFC 3315). “RouteTable=” parametri marşrutlaşdırma cədvəllərinin adlarını təyin etməyə imkan verir.
  • systemd-nspawn "--bind=" və "--overlay=" seçimlərində nisbi fayl yollarından istifadə etməyə imkan verir. Konteynerdəki kök istifadəçi identifikatorunu host tərəfində quraşdırılmış kataloqun sahibinə bağlamaq üçün "--bind=" seçiminə "rootidmap" parametri üçün dəstək əlavə edildi.
  • systemd-resolved, standart olaraq şifrələmə dəstəyi olaraq OpenSSL-dən istifadə edir (gnutls dəstəyi seçim olaraq saxlanılır). Dəstəklənməyən DNSSEC alqoritmləri indi xəta (SERVFAIL) qaytarmaq əvəzinə təhlükəli hesab olunur.
  • systemd-sysusers, systemd-tmpfiles və systemd-sysctl etimadnamə saxlama mexanizmi vasitəsilə parametrləri ötürmə qabiliyyətini həyata keçirir.
  • Sətirləri versiya nömrələri ilə ("rpmdev-vercmp" və "dpkg --müqayisə versiyalarına" oxşar) müqayisə etmək üçün systemd-analyze yardım proqramına "müqayisə-versiyaları" əmri əlavə edildi. 'Systemd-analyze dump' əmrinə vahidləri maska ​​ilə filtrləmək imkanı əlavə edildi.
  • Çoxmərhələli yuxu rejimini (dayandır-sonra qışlama) seçərkən gözləmə rejimində sərf olunan vaxt batareyanın qalan ömrünün proqnozuna əsasən seçilir. Yuxu rejiminə ani keçid batareyanın 5%-dən az doldurulması qaldıqda baş verir.
  • Jurnaldakı müxtəlif mesajlar arasında vaxt fərqini göstərən yeni çıxış rejimi "-o short-delta" "journalctl"-ə əlavə edilmişdir.
  • systemd-repart, Squashfs fayl sistemi ilə bölmələr və dm-verity üçün bölmələr, o cümlədən rəqəmsal imzalar yaratmaq üçün dəstək əlavə edir.
  • Müəyyən bir fasilədən sonra qeyri-aktiv sessiyanı bitirmək üçün systemd-logind-ə "StopIdleSessionSec=" parametri əlavə edildi.
  • Systemd-cryptenroll, istifadəçiyə müraciət etmək əvəzinə, fayldan şifrə açma açarını çıxarmaq üçün "--unlock-key-file=" seçimini əlavə etdi.
  • İndi udev olmayan mühitlərdə systemd-growfs yardım proqramını işə salmaq mümkündür.
  • systemd-backlight çoxlu qrafik kartları olan sistemlər üçün təkmilləşdirilmiş dəstəkə malikdir.
  • Sənədlərdə göstərilən kod nümunələri üçün lisenziya CC0-dan MIT-0-a dəyişdirildi.

Uyğunluğu pozan dəyişikliklər:

  • ConditionKernelVersion direktivindən istifadə edərək nüvənin versiyası nömrəsini yoxlayarkən, indi '=' və '!=' operatorlarında sadə sətir müqayisəsi istifadə olunur və müqayisə operatoru ümumiyyətlə göstərilməyibsə, glob-maska ​​uyğunluğu istifadə edilə bilər. '*', '?' simvolları Və '[', ']'. stverscmp() stil versiyalarını müqayisə etmək üçün '<', '>', '<=' və '>=' operatorlarından istifadə edin.
  • Vahid fayldan girişi yoxlamaq üçün istifadə edilən SELinux teqi indi giriş yoxlanışı zamanı deyil, fayl yükləndiyi zaman oxunur.
  • "ConditionFirstBoot" şərti indi sistemin ilk açılışında yalnız birbaşa yükləmə mərhələsində işə salınır və yükləmə tamamlandıqdan sonra vahidləri çağırarkən "yanlış" qaytarır.
  • 2024-cü ildə systemd, 1-ci sistem buraxılışında köhnəlmiş cgroup v248 resurs məhdudlaşdırma mexanizmini dəstəkləməyi dayandırmağı planlaşdırır. Administratorlara cgroup v2 əsaslı xidmətləri cgroup v1-ə köçürmək üçün əvvəlcədən diqqətli olmaları tövsiyə olunur. v2 və v1 qrupları arasındakı əsas fərq, CPU resurslarının ayrılması, yaddaş istehlakının tənzimlənməsi və giriş/çıxış üçün ayrı-ayrı iyerarxiyalar əvəzinə bütün növ resurslar üçün ümumi qruplar iyerarxiyasının istifadəsidir. Ayrı-ayrı iyerarxiyalar idarəçilər arasında qarşılıqlı əlaqənin təşkilində çətinliklərə və müxtəlif iyerarxiyalarda istinad edilən proses üçün qaydaların tətbiqi zamanı əlavə nüvə resursu xərclərinə səbəb olur.
  • 2023-cü ilin ikinci yarısında, /usr-nin kökdən ayrıca quraşdırıldığı və ya /bin və /usr/bin, /lib və /usr/lib-in ayrıldığı bölünmüş kataloq iyerarxiyalarına dəstəyi dayandırmağı planlaşdırırıq.

Mənbə: opennet.ru

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