Üç aylıq inkişafdan sonra systemd 261 sistem menecerinin buraxılışı istifadəyə verilib. Əsas dəyişikliklər: yaşın yoxlanılması üçün API dəstəyi, vəziyyəti itirmədən yenidən başlamaq üçün Kexec Handover və Live Update Orchestration alt sisteminin dəstəyi, IMDS (Instansiya Metadata Xidməti) alt sistemi, fiziki TPM (İnamlı Platforma Modulu) olmayan sistemlərdə yüklənməni qorumaq üçün funksionallıq, installer həyata keçirən systemd-sysinstall komponenti.
Among the changes in the new release:
- Yeni systemd-sysinstall komponenti əlavə edilib, bu komponenti komandalar xətti vasitəsilə və ya interaktiv mətn interfeysi ilə idarə etmək mümkündür. systemd-sysinstall-ın funksionallığı artıq mövcud olan systemd imkanlarından formalaşıb: disk bölmələrinin quraşdırılması üçün systemd-repart, kernelin quraşdırılması və yükləmə menyusunun yaradılması üçün «bootctl link» komandası, systemd-boot yükləyicisinin quraşdırılması üçün «bootctl install» komandası, quraşdırılan sistemin ilkin konfiqurasiyası (məsələn, lokalın və klaviatura düzəninin seçilməsi) üçün isə systemd-creds.
- Yaşın yoxlanılması üçün API tələblərinə uyğunlaşma çərçivəsində userdb bazasında istifadəçi üçün doğum tarixi olan birthDate sahəsi əlavə edilib. Əlavə olunan sahə, xdg-desktop-portal üçün inkişaf etdirilən portalda və AccountsService-də, D-Bus interfeysi «org.freedesktop.AgeVerification1» və ya «org.freedesktop.ParentalControls» vasitəsilə tətbiqlərə istifadəçinin yaş kateqoriyası haqqında məlumatların verilməsi üçün istifadə olunacaq. homectl alətinə yaşın müəyyən edilməsi üçün «--birth-date» seçimi əlavə edilib.
- PID1 emalçısına Linux nüvəsinin LUO (Live Update Orchestration) və KHO (Kexec Handover) alt sistemlərinin dəstəyi əlavə edilib, bu isə sistemi dayandırmadan tam yenidən yükləmək və nüvəni yeniləmək imkanını verir. KHO, köhnə nüvədən yeni nüvəni vəziyyəti itirmədən işə salmaq imkanları təqdim edir, LUO isə cihazların və RAM'ın vəziyyətini saxlamağı, eləcə də DMA və intizarların emalı ilə bağlı əməliyyatların davamlılığını təmin edir.
Systemd-də sistem və istifadəçi unit-ləri üçün kexec çağırışından əvvəl fayl descriptor-larını saxlamaq və nüvənin yenidən yüklənməsindən sonra onları bərpa etmək imkanı yaradılıb. Unit-lərdə, kexec icrası zamanı saxlanılan və bərpa edilən öz LUO seansları da yaradıla bilər. Fayl descriptor-larının vəziyyətinin saxlanmasını aktivləşdirmək üçün ‘FileDescriptorStorePreserve=yes’ parametri istifadə olunmalıdır.
- systemd-imdsd alt sistemi həyata keçirilib, bu Varlink IPC əsasında API ilə yerli proqramların müxtəlif bulud sistem provayderlərindən təqdim edilən IMDS (Instance Metadata Service) xidmətlərinə daxil olmasını təmin edir. IMDS, istifadəçilərə imkanlar təqdim edir. virtual maşınlara bulud mühitinə dair məlumatları əldə etmək, məsələn, şəbəkə konfiqurasiyası, nodun coğrafi yeri, CPU tipi və saxlama ölçüsü haqqında məlumat əldə etmək mümkündür. systemd-imdsd, spesifik bulud platformalarına aid açarlarla uyğun olan standart açarlara sorğu vermək üçün həm aşağı səviyyəli API, həm də yüksək səviyyəli interfeys təqdim edir. systemd-imdsd ilə inteqrasiya üçün, IMDS-dən yerli istifadəçi sisteminə sahələri idxal etməyə imkan verən systemd-imds alətində əlavə edilmişdir.
SMBIOS-dan məlumatların əldə edilməsi və cari nodda IMDS-nin mövcud funksionallığını müəyyən etmək üçün yeni bir hwdb.d/40-imds.hwdb verilənlər bazası əlavə edilmişdir. Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS və Vultr bulud platformalarının tanınması reallaşdırılmışdır. Dəstəklənən bulud platformasında işləyərkən IMDS vasitəsilə məlumat əldə etməyə imkan verən xidmətin avtomatik əlavə edilməsi üçün systemd-imds-generator işləyir. Universal obrazlar yaratmaq mümkündür ki, bu da IMDS-lə bulud mühitlərində başlamağa dəstəkdir, lakin IMDS-siz də işləyə bilər.
- systemd-stub-da "boot secret" funksionallığı həyata keçirilmişdir ki, bu da, sistem tərəfindən əlçatan olmayan bir sahədə saxlanan və təsadüfi dəyərlə inicializasiya olunan EFI dəyişəninə əsaslanaraq bir açar yaratmağa imkan verir. initrd-də açar \/.extra\/boot-secret faylı vasitəsilə ötürülür. Təklif olunan bu imkan, spesifik sistem üçün təsadüfi açarın əldə olunması tələb olunduqda, sistemlərin təhlükəsiz TPM (Trusted Platform Module) olmadan yükləmə prosesinin təsdiqlənməsi və ya şifrlənməsi üçün zəruri ola bilər.
- TPM çip emulatoru olan swtpm (Software TPM Emulator) üçün systemd-tpm2-swtpm.service xidmətinin əlavə edilməsi, hardware TPM olmadan təhlükəsiz yükləmə üçün proqram təminatı TPMin avtomatik istifadəsinə imkan verir. Proqram TPMin istifadəçi məkanında işləyir və hardware TPM ilə eyni səviyyədə qorumağı təmin etmir, lakin bəzən onun istifadəsi TPM olmadan işləməyə nisbətən daha məqsədəuyğundur. Məsələn, proqram TPM "boot secret" yeni funksionallığı ilə bölmələrin şifrələmə açarını əldə edə bilər və öz vəziyyətini diskin ESP (EFI Sistem Hissəsi) bölməsində saxlamaq üçün istifadə edə bilər. Proqram TPU-nun avtomatik aktivləşdirilməsi üçün systemd.tpm2_software_fallback kernel komanda sətiri parametri təklif edilmişdir.
- systemd-sysupdate komponenti stabil olaraq elan edildi və /usr/bin/ yerləşdirildi, bu komponent atomik bölmə, fayl və ya kataloq dəyişdirmə mexanizmini istifadə edərək yeniləmələri avtomatik müəyyənləşdirmək, yükləmək və quraşdırmaq üçün nəzərdə tutulmuşdur (hazırda işləyən resursun olduğu bir bölmə/fayl/kataloq və digərində növbəti yeniləmə quraşdırılır, ardından bölmələr/fayllar/kataloqlar yerini dəyişir).
- systemd-resolved-da yeni DNS qeydlərini yenidən təyin etmə və ya göstərmə imkanı həyata keçirilib, JSON formatında faylların systemd/resolve/static.d/ kataloqlarında yerləşdirilməsi ilə. /etc/hosts-dan fərqli olaraq, yeni fayllarda yalnız adlara bağlamaqla qalmayıb, IP ünvanlarını bununla yanaşı ‘A’ və ‘AAAA’ dışında olan resurslara aid DNS RR qeydləri də müəyyənləşdirmək mümkündür. Üstəlik, systemd-resolved-də DNS keşinin ölçüsünü tənzimləyən parametrlər əlavə olunub: ‘DNSCacheSize’, ‘MulticastDNSCacheSize’ və ‘LLMNRCacheSize’.
- ‘storagectl’ adlı utilita əlavə edilib ki, bu da saxlama cihazlarını müayinə etmək və blok cihazlarının və fayl sistemlərinin qoşulmasını idarə etmək imkanı verir.
- Asılılıqları azaltmaq təşəbbüsü çərçivəsində libsystemd üçün dinamik libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk və libcryptsetup kitabxanalarının yüklənməsi reallaşdırılıb
dlopen() çağırışı vasitəsilə, onların funksiyaları realda lazım olduqda. - systemd-tmpfiles-da ‘—inline’ flaqı əlavə edilib ki, bu da tmpfiles.d/ daxilində konfiqurasiya fayllarını yaratmadan komandalar sırasına direktoriyalar qoymağa imkan tanıyır və parametrləri STDIN vasitəsilə göndərməyə ehtiyac qalmır. Yeni ‘k/K’ direktoriyaları üçün imkanlar daxil edilib. tmpfiles.d/root.conf faylı əlavə olunub, bu da kök direktoriya (/) üçün 0555 (-r-xr-xr-x) icazələrini müəyyənləşdirərək dinamik şəkildə kök FS yaradılarkən yanlış icazələrin verilməsindən qorunma təmin edir.
- bootctl utilitində systemd-boot yükləyicisinin ehtiyat nüsxəsinin saxlanılması və köhnə versiyasının UEFI-də ehtiyat seçim kimi qeyd edilməsi təmin edilib.
- systemd-vmspawn-da UEFI firmware-i istifadə etmədən birbaşa kernelin yüklənməsi dəstəyi əlavə olunub. Seçimli olaraq firmware-in spesifik imkanlarını aktivləşdirmək və ya deaktivləşdirmək üçün ‘—firmware-features’ seçimi reallaşdırılıb. Konsolsuz və ekran olmadan virtual maşını işə salmaq üçün ‘—console=headless’ rejimi əlavə edilib. VM-də istifadə olunan blok saxlama tipini seçmək üçün ‘—image-disk-type’ seçimi əlavə olunub (virtio-blk, virtio-scsi, nvme, scsi-cd). ‘—coco’ (Məxfi Hesablama) seçimi əlavə edilib ki, bu da yaddaşın şifrələnməsi rejimini aktivləşdirir. virtual maşınlar AMD SEV-SNP texnologiyasından istifadə etməklə.
- systemd-hostnamed və /etc/machine-info-da mövcud sistemə istənilən etiketlərin əlavə olunması dəstəklənib, ‘Tags’ parametrindən istifadə edərək. Təyin olunan etiketlər daha sonra şərtləri ConditionMachineTag ifadəsi ilə yoxlamaqla parametr tətbiq etmək üçün seçilə bilər.
- EventLoopRateLimitIntervalSec və EventLoopRateLimitBurst ayarları əlavə edildi, PID1-də hadisə işləmə dövrünün intensivliyini məhdudlaşdıraraq, sonsuzluq yaranarsa CPU resurslarının sərbəst buraxılması üçün.
- Servis menecerində sistemin minimum işləmə müddətini təyin etmək üçün MinimumUptimeSec parametri əlavə edilmişdir (standart olaraq 15 saniyədir). Əgər bu müddət ərzində sistemin bağlanması və ya yenidən başladılması həyata keçirilsə, son mərhələdə müvafiq gecikmə əlavə olunur.
- Unit-lər üçün yeni CPUSetPartition ayarları həyata keçirildi, cpuset-in cgroup-da təsnifatı («root», «izolyasiya olunmuş», «üzv») müəyyənləşdirilərək, RestrictFileSystemAccess ayarı yalnız dm-verity ilə təsdiqlənmiş icra olunan faylların işə salınmasına icazə verir və CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec ayarları CPU və giriş/çıxışda yüksək yükün xəbərliğini təmin edir.
- systemd-report vasitəsi ilə təqdim edilən metriklərin siyahısı genişləndirildi. Məsələn, fiziki yaddaşın ölçüsü və aktiv CPU nüvələrinin məlumatları, SMBIOS sahələrinin məzmunu və /etc/machine-info məlumatları, Confidential Computing rejiminin dəstəyi və TPM2 çiplərinin istehsalçısı ilə bağlı məlumatlar əlavə edildi.
- Systemd-oomd-də sistemdə yaddaş çatışmazlığı yarandıqda proseslərin ayırıcı qaydalarının müəyyən edilməsi imkanı yaradıldı. Qaydalar /etc/systemd/oomd/rules.d/ kataloqunda və ya xidmət unit-lərində OOMRule direktivi vasitəsilə təyin oluna bilər.
- systemd-socket-proxy-də «PROXY» protokolunun dəstəyi əlavə edildi, bu, «haproxy» protokolunun birinci versiyasına uyğundur.
- Systemd-networkd-də DHCP relay üçün yeni sd-dhcp-relay backend-i tətbiq edildi. «[DHCPServer]» hissəsindəki ayarlar — BindToInterface, RelayTarget, RelayAgentCircuitId və RelayAgentRemoteId köhnəlmiş hesab edilərək, bunlara yerinə [Network] hissəsində DHCPRelay parametri və [DHCPRelay] hissəsindəki yeni ayar seriyası ilə istifadə olunması tövsiyə olunur. IP ünvanlarının bağlanması (DHCP lease) ilə bağlı məlumatların yedəklənməsi üçün ‘networkctl dhcp-lease INTERFACE’ komandası əlavə edildi.
- Systemd-nspawn vasitəsinə «—restrict-address-families» seçimi əlavə edildi, və .nspawn fayllarında konteynerdə istifadə olunan ünvan ailələrinin məhdudlaşdırılması üçün RestrictAddressFamilies ayarı tətbiq edildi. Gələcək versiyalarda yalnız AF_INET, AF_INET6 və AF_UNIX ailələri standart olaraq təsdiq olunacaq.
- Udev-in köhnə DB formatının (0.x versiyası) dəstəyi dayandırıldı. Systemd versiyası 247-yə qədər onlayn yeniləmə artıq dəstəklənmir.
- layihası
Bundan əlavə, istifadəçi izləməsini sıradan çıxaran liberated-systemd 261 layihəsinin buraxılışını qeyd etmək olar. Təklif olunan buraxılış, userdb-yə istifadəçinin doğum tarixi olan birthDate sahəsinin əlavə edilməsi kodunun silinməsi ilə bağlı dəyişiklikləri əhatə edir və homectl vasitəsinə «—birth-date» seçimini istifadəçinin yaşını təyin etmək üçün əlavə edir.
Mənbə: opennet.ru
