Altı aylıq inkişafdan sonra sistem meneceri systemd 257-nin buraxılışı təqdim edildi: əsas dəyişikliklər: systemd-sbsign və systemd-keyutil, rozetka üzərindən aktivləşdirildikdə MPTCP dəstəyi, Musl C kitabxanası ilə qurulması üçün ilkin dəstək. systemd-sysupdate vasitəsilə yeniləmələrin quraşdırılmasını idarə etmək üçün updatectl yardım proqramı, ayrı-ayrı PID ad boşluqlarında xidmətləri işə salmaq imkanı, “systemd-tmpfiles —təmizləmə” istifadə edərkən faylların təsadüfən silinməsindən qorunma.
Yeni buraxılışda dəyişikliklər arasında:
- Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux və yaddaşa yüklənmiş initrd sistem mühiti.
- Şəxsi açarlar və X.509 sertifikatları üzərində müxtəlif əməliyyatları həyata keçirən systemd-keyutil adlı yeni yardım proqramı əlavə edilib. Məsələn, systemd-keyutil şəxsi açarları və sertifikatları yükləmək və onlardan PEM formatında açıq açarları çıxarmaq qabiliyyətini yoxlamaq üçün istifadə edilə bilər.
- Soket aktivləşdirmə mexanizminin (şəbəkə bağlantısı qurmağa çalışarkən proseslərin başlaması) işləməsini təmin etmək üçün istifadə edilən ".socket" bölmələrində, müxtəlif şəbəkə interfeysləri vasitəsilə eyni vaxtda bir neçə marşrut boyunca paketlərin çatdırılması ilə TCP bağlantısının işini təşkil etmək üçün TCP protokolunun genişləndirilməsi olan MPTCP (Çoxyollu TCP) üçün dəstək tətbiq olunur. IP ünvanları.
- Standart Musl C kitabxanasından istifadə edərək qurmaq üçün lazım olan dəyişiklikləri ehtiva edir.
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- systemd-sysupdate komponentinin imkanları genişləndirilmişdir, bölmələri, faylları və ya qovluqları əvəz etmək üçün atom mexanizmindən istifadə edərək yeniləmələri avtomatik aşkar etmək, yükləmək və quraşdırmaq üçün istifadə edilmişdir (iki müstəqil bölmələr/fayllar/kataloqlar istifadə olunur, onlardan biri cari işi ehtiva edir. resurs, digəri isə növbəti) yeniləməni quraşdırır, bundan sonra bölmələr/fayllar/kataloqlar dəyişdirilir). Praktikada systemd-sysupdate artıq GNOME ƏS-də istifadə olunur.
Systemd-sysupdate prosesinə əlavə olaraq, D-Bus-dan imtiyazsız istifadəçi tərəfindən sistem yeniləmələrini idarə etmək üçün istifadə etməyə imkan verən eyni adlı xidmət əlavə edilmişdir. Xidməti idarə etmək üçün yeni updatectl yardım proqramı da daxil edilmişdir. Şəbəkə üzərindən metadata endirilməsini dayandırmaq və yalnız yerli sistemə yüklənmiş versiyaları istifadə etmək üçün systemd-sysupdate-ə “--offline” bayrağı əlavə edildi. Bütün əmrlər üçün JSON formatında çıxış dəstəyi əlavə edildi.
- Xidmətlər üçün yeni "PrivatePIDs" xüsusiyyəti tətbiq edilmişdir, onun köməyi ilə ayrı bir proses identifikatoru məkanında (PID ad məkanı) PID 1 (init prosesi) ilə proseslərin işə salınmasını təşkil edə bilərsiniz. Başlanmış proses üçün yaradılmış mühitdə yalnız onun üçün yaradılmış ad məkanından proseslər görünəcək.
- Udev qaydalarına böyük hərflərə həssas olmayan uyğunluqlar üçün dəstək əlavə edildi (məsələn, 'ATTR{foo}==i»abcd»'). Udevdən istifadə edərək, libcamera vasitəsilə IPMI kameraları ilə işləmək üçün lazım olan /dev/udmabuf cihazına imtiyazsız yerli istifadəçilərə ("uaccess") giriş təmin etmək mümkündür. udev USB interfeysi ilə müxtəlif hardware kripto pul kisələrinin tanınmasını və onlar üçün ID_HARDWARE_WALLET xassəsinin qurulmasını təmin edir ki, bu da onlara imtiyazsız istifadəçilərin girişi üçün “uaccess” rejimini tətbiq etməyə imkan verir.
- /etc/os-release faylına yeni RELEASE_TYPE, EXPERIMENT və EXPERIMENT_URL sahələri əlavə edildi. "RELEASE_TYPE" stabil versiyaları inkişaf və eksperimental quruluşlardan ayırmaq üçün "eksperimental", "inkişaf", "stabil" və "lts" dəyərlərini götürə bilər. EXPERIMENT və EXPERIMENT_URL parametrləri eksperimental quruluşun mahiyyətini izah etmək üçün nəzərdə tutulub.
- Sudo proqramını əvəz edən run0 yardım proqramı, əmr qabığı sorğusu üçün prefiks sətirini təyin edən “--shell-prompt-prefix” seçimini əlavə etdi. Defolt olaraq, "🦸" emojisi yüksək seansı əyani şəkildə vurğulamaq üçün prefiks kimi göstərilir.
- Systemd-tmpfiles-də, yanlış faylları təsadüfən silməmək üçün "--purge" seçimi indi yalnız tmpfiles.d/-də açıq şəkildə "$" işarəsi qoyulmuş parametrlərə şamil edilir. "--təmizləmə" əməliyyatı da indi tmpfiles.d/ qovluğundan ən azı bir faylın göstərilməsini tələb edir. 'L' tipli sətirlər üçün '?' bayrağı əlavə edilmişdir, müəyyən edildikdə, yalnız hədəf fayl mövcud olduqda simvolik əlaqə yaradılacaqdır.
- Xidmət menecerində və əlaqəli kommunal proqramlarda prosesi izləmə kodu PID əvəzinə PIDFD istifadə etmək üçün çevrilməyə davam edir. PIDFD müəyyən bir proseslə əlaqələndirilir və dəyişmir, PID isə həmin PID ilə əlaqəli cari proses başa çatdıqdan sonra başqa bir proseslə əlaqələndirilə bilər.
- Xidmətlər üçün indi “RestartMode” parametrində “debug” dəyərini təyin etmək mümkündür, bu zaman uğursuz xidmət sazlama rejimi aktivləşdirilərək yenidən işə salınacaq (mühit dəyişəni DEBUG_INVOCATION=1 təyin edilib) və LogLevelMax dəyəri müvəqqəti olaraq debug səviyyəsinə qaldırıldı.
- PID 1 işləyicisi bütün sistem üçün bütövlük siyasətini (hansı əməliyyatlara icazə verilir və komponentlərin həqiqiliyinin necə yoxlanılmalıdır) müəyyən edən IPE (İntegrity Policy Enforcement) LSM modulu üçün qaydaları yükləmək imkanına malikdir.
- “Təxirə salınma” seçimi “.taymer” vahid fayllarına əlavə edilmişdir, bu, əgər xidmət sonuncu aktivləşdirmədən sonra hələ də icrasını başa çatdırmayıbsa, növbəti taymer aktivləşdirməsini keçməyə imkan verir.
- PrivateUsers vahid fayl parametrində, istifadəçi ad məkanı yaratarkən istifadəçi identifikatorlarının xəritələşdirilməsini aktivləşdirmək üçün “identifikasiya” dəyərini təyin etmək artıq mümkündür.
- /tmp/ və /var/tmp/ qovluqları üçün ayrıca tmpfs nümunələrindən istifadə edəcək PrivateTmp vahid fayl parametrinə “bağlantı kəsilmiş” dəyəri üçün dəstək əlavə edildi.
- ProtectControlGroups vahid fayl parametrinə yeni "özəl" və "ciddi" rejimlər üçün dəstək əlavə edildi, təyin edildikdə, xidmət üçün yeni qrup ad sahəsi yaradılır və cgroupfs quraşdırılır. "Ciddi" seçimi təyin edildikdə, cgroupfs yalnız oxumaq rejimində quraşdırılır.
- StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory və ConfigurationDirectory parametrləri müvafiq qovluqlara girişi yalnız oxumaq rejiminə məhdudlaşdırmaq üçün ':ro' bayrağından istifadə etmək imkanı verir.
- Sistem identifikatorunun (maşın ID) SMBIOS/DeviceTree-dən UUID əsasında hesablanacağı “systemd.machine_id” ləpə əmr xətti parametrinə “firmware” dəyəri üçün əlavə dəstək.
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- Resolctl, timedatectl və systemd-inhibit utilitləri indi Polkit-dən istifadə edərək interaktiv avtorizasiyanı dəstəkləyir.
- Systemctl yardım proqramı "yenidən aktivləşdir" əmrində "--indi" bayrağından istifadə etmək imkanı əlavə etdi.
- JSON formatında çıxış üçün systemd-mount yardım proqramına "--json" seçimi əlavə edildi (məsələn, "--list-devices" ilə birlikdə göstərildikdə, cihazların siyahısı JSON formatında çıxacaq).
- Çıxış zamanı uzun xətlərin kəsilməsini aradan qaldırmaq üçün "localectl" yardım proqramına "-l" və "--full" seçimləri əlavə edildi.
- Cihaz stasionar enerji mənbəyindən ayrılana qədər yuxu rejiminə keçidi gecikdirməyə imkan verən "HibernateOnACPower" seçimi sleep.conf-a əlavə edilib.
- Systemd-sysusers-də, “u” sətirlərinə “!” modifikatorunun dəstəyi əlavə edilib, onun vasitəsilə siz tamamilə kilidlənmiş istifadəçi hesabları yarada bilərsiniz (əvvəllər istifadəçini bloklamaq üçün səhv parol təyin edilirdi, məsələn, SSH-də açar identifikasiyası zamanı bloklanmaya səbəb olmadı).
- Systemd-coredump "EnterNamespace" seçimini əlavə edir ki, bu da hər hansı qəzaya uğramış proseslərin bağlama nöqtəsi sahəsinə onların sazlama simvollarını əldə etməyə imkan verir. Təcrübədə, seçim təcrid olunmuş konteynerlərdə işləyən proqramlardan əsas faylların geri çəkilməsini təşkil etmək üçün faydalı ola bilər.
- systemd-logind təhlükəsiz giriş dialoqunu göstərmək tələbi ilə org.freedesktop.login1.SecureAttentionKey siqnalını istifadəçi mühitinin komponentlərinə göndərmək üçün Ctrl-Alt-Shift-Esc kombinasiyasının işlənməsini əhatə edir. İşin müəyyən edilmiş vaxtda başa çatdırılmasını avtomatik planlaşdırmaq üçün “Designated MaintenanceTime” parametrini tətbiq etdi. DRM və evdev cihazlarının dəstəyinə bənzətməklə, imtiyazsız istifadəçilərin hidraw cihazlarına (oyun nəzarətçiləri və joystiklər) girişini konfiqurasiya etmək üçün dəstək əlavə edilmişdir.
- systemd-machined artıq imtiyazsız müştəri girişlərini dəstəkləyir. virtual maşınlar və konteynerlər. Sistemlə işləyən funksionallığa giriş D-Bus-a əlavə olaraq Varlink API vasitəsilə təmin edilir.
- IPv6 ünvanları üçün etiketləri və prefiksləri konfiqurasiya etmək üçün networkd.conf konfiqurasiya faylına yeni “[IPv6AddressLabel]” bölməsi əlavə edilmişdir.
- Standart axından fayl məzmununu əldə etmək üçün "networkctl edit" əmrinə "--stdin" seçimi əlavə edildi. 'networkctl edit' və 'networkctl cat' əmrlərinə şəbəkə interfeysi təyin etməklə .netdev fayllarının redaktə edilməsi və nümayişi üçün əlavə dəstək. İnteraktiv avtorizasiyanı söndürmək üçün "--no-ask-password" seçimi əlavə edildi.
- X.509 sertifikatını birbaşa serverdən yükləmək əvəzinə OpenSSL provayderi vasitəsilə yükləmək üçün ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart və systemd-sbsign utilitlərinə "--certificate-source" seçimi əlavə edildi. fayl.
- systemd-boot, smartfonlar kimi cihazlarda faydalı ola biləcək yükləmə menyusunda yuxarı və aşağı hərəkət etmək üçün səs düymələrindən istifadə etmək imkanı əlavə edir. systemd-boot üçün ESL(db/dbx/…) formatında UEFI Secure Boot verilənlər bazasını quraşdırmaq dəstəyi bootctl yardım proqramına əlavə edilmişdir.
- Vahid zənglərinin siyahısını göstərmək üçün jurnalctl-ə “--list-invocation” seçimi və yalnız xüsusi zənglə əlaqəli qeydləri göstərmək üçün “--invocation” (-I”) seçimi əlavə edildi.
- systemd-nspawn, konteynerlərdə FUSE (İstifadəçi məkanında fayl sistemi) imtiyazsız istifadəsinə dəstək əlavə edir. “--bind-user” seçimindən istifadə edərkən, istifadəçinin SSH vasitəsilə daxil olmaq üçün tələb olunan SSH açarları konteynerə yönləndirilir.
- libsystemd JSON formatından istifadə edən yeni "sd-json" proqramlaşdırma interfeysini, həmçinin IPC Varlink istifadə edən "sd-varlink" interfeysini əlavə edib.
- Tövsiyə olunan əsas nüvə versiyası 5.4-cu ildə yaradılmış 2019 buraxılışına qədər təkmilləşdirilmişdir. Gələn il onlar köhnə nüvələri dəstəkləməyi dayandırmağı və 5.4 buraxılışını minimum dəstəklənən baza versiyası kimi qeyd etməyi planlaşdırırlar.
- Cgroups v1 dəstəyi köhnəlib və defolt olaraq qeyri-aktiv edilib (onu aktivləşdirmək üçün onu sistem parametrlərində aktivləşdirməklə yanaşı, nüvənin komanda sətirində SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 təyin etməlisiniz). Systemd 258-in növbəti buraxılışı cgroups v1 ilə əlaqəli kodu tamamilə silməyi planlaşdırır. Systemd versiyası 258, həmçinin System V xidmət skriptləri üçün dəstəyi aradan qaldıracaq.
Mənbə: opennet.ru
