Üç aylıq inkişafdan sonra sistem meneceri buraxılışı .
Əsas dəyişikliklər:
- Resource controller cpuset based on cgroups v2 has been added, providing a mechanism for binding processes to specific CPUs (setting “AllowedCPUs”) and NUMA memory nodes (setting “AllowedMemoryNodes”);
- Support for loading settings from the EFI variable SystemdOptions for systemd configuration has been added, allowing to configure systemd behavior in situations where it is difficult to change kernel command line parameters, and the configuration from disk is read too late (for example, when it is necessary to configure options related to the cgroup hierarchy). To set a variable in EFI, you can use the command ‘bootctl systemd-efi-options’;
- Unit files now support loading settings from directories '{unit_type}.d/', linked to unit types (for example, ‘service.d/’), which can be used to add settings that apply to all files of that unit type;
- A new sandbox isolation mode ProtectKernelLogs has been added for service units, allowing to restrict application access to the kernel log buffer accessible via the syslog system call (do not confuse with the identically named API provided in libc). If this mode is activated, the application’s access to /proc/kmsg, /dev/kmsg, and CAP_SYSLOG will be blocked;
- The RestartKillSignal setting has been introduced for units, allowing to override the signal number used to terminate the process during task restart (it can change the stopping behavior of the process during the preparation for restart);
- The 'systemctl clean' command has been adapted for use with socket, mount, and swap units;
- During the early stages of boot, restrictions on the intensity of kernel message output via the printk call have been disabled, allowing to accumulate more complete logs of the boot process at a stage when the logging storage is not yet attached (the log accumulates in the kernel ring buffer). The limit settings for printk from the kernel command line take precedence and can override the behavior of systemd. Systemd programs that output logs directly to /dev/kmsg (which only occurs during the early boot stage) use separate internal constraints to prevent buffer overflow;
- The systemctl utility has been enhanced with the 'stop —job-mode=triggering' command, allowing to stop both the unit specified on the command line and all units that may invoke it;
- Information about the unit state now includes details about calling and called units;
- The possibility of using the setting “RuntimeMaxSec” in scope units has been provided (this was previously only applicable in service units). For example, “RuntimeMaxSec” can now be used to limit the duration of PAM sessions by creating a scope unit.
istifadəçi hesabı üçün. Zaman məhdudiyyəti PAM modulu pam_systemd-in parametrlərində systemd.runtime_max_sec seçimi ilə də təyin edilə bilər; - Yeni bir sistem çağırışı qrupu "@pkey" əlavə edildi, konteynerlər və xidmətlərin yaddaş qoruma ilə bağlı sistem çağırışlarını ağ siyahıya almağı asanlaşdırır;
- systemd-tmpfiles-da faylın əlavəsi rejimində yazmaq üçün "w+" flaqı əlavə edildi;
- systemd-analyze çıxışına kernel yaddaş konfiqurasiyasının systemd parametrləri ilə uyğunluğu haqqında məlumat əlavə edildi (məsələn, əgər xarici proqram kernel parametrlərini dəyişibsə);
- systemd-analyze-da "—base-time" seçimi əlavə olundu, bu zaman bu seçimdə göstərilən vaxtdan asılı olaraq təqvim məlumatları hesablanır, cari sistem vaxtından deyil;
- "journalctl —update-catalog"-da çıxışda elementlərin ardıcıllığını təmin etmək üçün davamlılıq təmin edildi (təkrarlanan yığıncaqlar təşkil etmək üçün faydalıdır);
- systemd xidmətlərində istifadə olunan "WatchdogSec" konfiqurasiyası üçün standart bir dəyər təyin etmə imkanı əlavə edildi. Kompilyasiya mərhələsində baza dəyəri "-Dservice-watchdog" seçimi ilə müəyyən edilə bilər (boş dəyər təyin edildikdə, watchdog deaktiv edilir);
- "-Duser-path" yığın seçimində $PATH dəyərini üstələmək üçün əlavə edilmişdir;
- systemd-id128 alətinə "-u" ("—uuid") seçimi əlavə edildi ki, 128-bit identifikatorları UUID (UUID-nin kanonik təqdimatı) formatında çıxarsın;
- İndi yığın üçün minimum 2.0.1 versiyasında libcryptsetup tələb olunur.
Şəbəkə konfiqurasiyası ilə bağlı dəyişikliklər:
- systemd-networkd-da cihazların konfiqurasiyasını yerində dəyişmək üçün "networkctl"-da "reload" və "reconfigure DEVICE..." komandaları əlavə edildi;
- systemd-networkd-da 169.254.0.0/16 intranet ünvanları olan lokal bağlantılar üçün standart marşrutların yaradılması dayandırıldı (). Əvvəlcə, belə əlaqələr üçün standart marşrutların avtomatik yaradılması bəzən gözlənilməz davranışa və marşrutlaşdırma problemlərinə səbəb olurdu. Köhnə davranışı bərpa etmək üçün "DefaultRouteOnDevice=yes" konfiqurasiyasından istifadə edilməlidir. Lokal IPv6 marşrutlaşdırması link üçün aktivləşdirilmədikdə, lokal IPv6 ünvanlarının təyin edilməsi də dayandırılmışdır;
- systemd-networkd-da ad-hoc rejimində simsiz şəbəkələrə qoşulanda, standart olaraq lokal bağlantı ünvanlaması ilə konfiqurasiya tətbiq edilir;
- Şəbəkə interfeysinin qəbul və göndərmə bufərlərinin ölçüsünü tənzimləmək üçün RxBufferSize və TxBufferSize parametrləri əlavə edilmişdir;
- systemd-networkd-da IPv6 marşrutlarının əlavə elan edilməsi, "[IPv6RoutePrefix]" bölməsində Route və LifetimeSec seçimləri ilə idarə edilə bilər;
- systemd-networkd-da "[NextHop]" bölməsində "Gateway" və "Id" seçimləri ilə "next hop" marşrutları tənzimləmək imkanı əlavə edildi;
- systemd-networkd və networkctl üçün DHCP-də IP adreslərinin (leases) bağlanmalarının dinamik olaraq yenilənməsi təmin edilib, bu da ‘networkctl renew’ komandası ilə həyata keçirilir;
- systemd-networkd-da DHCP konfiqurasiyasının yenidən başladıldıqda sıfırlanması təmin edilib (parametr KeepConfiguration istifadə edilərək, parametrlərin saxlanması lazımdır). SendRelease konfiqurasiya dəyərinin varsayılan olaraq ‘true’ olaraq dəyişdirilmişdir;
- DHCPv4 müştərisində server tərəfindən ötürülən OPTION_INFORMATION_REFRESH_TIME seçiminin dəyərinin istifadəsi təmin edilib. Serverdən spesifik seçimlər üçün ‘RequestOptions’ parametri, serverə seçimlərin göndərilməsi üçün isə ‘SendOption’ təqdim edilib. DHCP müştərisində IP xidmətinin növünü konfiqurasiya etmək üçün ‘IPServiceType’ parametri əlavə edilib;
- DHCPv4-serverə SIP (Session Initiation Protocol) serverlərinin siyahısını daxil etmək üçün ‘EmitSIP’ və ‘SIP’ parametrləri əlavə edilib. Müştəri tərəfdə SIP parametrlərinin serverdən qəbul edilməsi ‘UseSIP=yes’ konfiqurasiyası ilə aktivləşdirilə bilər;
- DHCPv6 müştərisinə adres prefiksinin sorğusu üçün ‘PrefixDelegationHint’ parametri əlavə edilib;
- .network fayllarında SSID və BSSID ilə simsiz şəbəkələrin uyğunluğunun təmin edilməsi, məsələn, giriş nöqtəsinin adı və MAC ünvanı ilə bağlanma kimi; SSID və BSSID dəyərləri networkctl çıxışında simsiz interfeyslər üçün göstərilir. Əlavə olaraq, simsiz şəbəkə növünə uyğunluq üçün WLANInterfaceType parametri əlavə edilib;
- systemd-networkd-da trafiğin idarə edilməsi üçün sıra təşkilatlandırma disiplini konfiqurasiyası imkanları əlavə edilərək yeni Parent,
NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
NetworkEmulatorPacketLimit və NetworkEmulatorLossRate,
NetworkEmulatorDuplicateRate parametrləri ‘[TrafficControlQueueingDiscipline]’ bölməsinə əlavə edilib; - systemd-resolved-da GnuTLS ilə tərtib olunanda sertifikatlarda IP ünvanlarının yoxlanılması təmin edilib.
udev ilə əlaqəli dəyişikliklər:
- systemd-udevd-dən 30 saniyəlik zaman aşımı, asılmış iş parçalarının zorla sonlandırılması üçün silinib. Systemd-udevd indi, 30 saniyənin böyük quraşdırmalarda əməliyyatların normal sona çatması üçün kifayət etmədiyi iş parçalarının işini gözləyir (məsələn, zaman aşımı kök fayl sisteminin qoşulmuş bölməsinin dəyişdirilməsi zamanı sürücü başlatılmasını dayandıra bilər). systemd istifadə edərkən, systemd-udevd-in gözləyəcəyi zaman aşımını systemd-udevd.service konfiqurasiyasında TimeoutStopSec parametri ilə təyin etmək olar. systemd olmadan başlatıldıqda, zaman aşımı udev.event_timeout parametri ilə tənzimlənir;
- udev üçün fido_id proqramı əlavə edilib, bu proqram FIDO CTAP1
(‘U2F’)/CTAP2 tokenlərini keçmiş istifadəsi məlumatlarına əsasən tanıyır və lazım olan mühit dəyişənlərini çıxarır (bu proqram daha əvvəl istifadə edilmiş tanınmış tokenlərin hamısını xarici ağ siyahılara ehtiyacı olmadan istifadə etməyə imkan tanıyır); - Ağ siyahıdan idxal olunan cihazlar üçün autosuspend udev-qaydalarının avtomatik yaradılması həyata keçirilib, bu da əlavə cihazlar üçün enerji qənaəti rejimlərinin tətbiqini genişləndirmək imkanı verir;
- Udev-də yeni "CONST{key}=value" parametresi əlavə olunub, bu da sistem konstantlarının dəyərlərini birbaşa tənzimləməyə imkan verir, ayrıca yoxlama üçün ayrı işçilərin işə salınmasına ehtiyac yoxdur. Hal-hazırda yalnız "arch" və "virt" açarları dəstəklənir;
- CDROM-un qeyri-eksklüziv rejimdə açılması təmin edilir, dəstəklənən rejimlərin sorğusu zamanı (bu dəyişiklik proqramların CDROM-a giriş problemlərini həll edir və qeyri-eksklüziv giriş rejimi tətbiq etməyən diskin yazma proqramlarının kesilmə riskini azaldır).
Mənbə: opennet.ru
