Pas gjashtë muajsh zhvillimi, u prezantua lëshimi i menaxherit të sistemit systemd 257 Ndryshimet kryesore: shërbimet e reja systemd-sbsign dhe systemd-keyutil, mbështetje për MPTCP kur aktivizohet në një prizë, mbështetje fillestare për ndërtimin me bibliotekën Musl C. Shërbimi updatectl për menaxhimin e instalimit të përditësimeve përmes systemd-sysupdate, aftësinë për të nisur shërbime në hapësira të veçanta emrash PID, mbrojtje kundër fshirjes aksidentale të skedarëve kur përdorni "systemd-tmpfiles — spastrim".
Ndër ndryshimet në versionin e ri:
- Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux dhe mjedisi i sistemit initrd i ngarkuar në memorie.
- Është shtuar një mjet i ri, systemd-keyutil, i cili zbaton operacione të ndryshme në çelësat privatë dhe certifikatat X.509. Për shembull, systemd-keyutil mund të përdoret për të testuar aftësinë për të ngarkuar çelësat dhe certifikatat private dhe për të nxjerrë çelësat publikë prej tyre në formatin PEM.
- Në njësitë ".socket" të përdorura për të siguruar funksionimin e mekanizmit të aktivizimit të soketave (fillimi i proceseve kur përpiqeni të krijoni një lidhje rrjeti), zbatohet mbështetje për MPTCP (Multipah TCP), një zgjerim i protokollit TCP për organizimin e funksionimit të një lidhjeje TCP me shpërndarjen e paketave njëkohësisht përgjatë disa rrugëve përmes ndërfaqeve të ndryshme të rrjetit të lidhura me të ndryshme. Adresat IP.
- Përfshin ndryshimet e nevojshme për të ndërtuar duke përdorur bibliotekën standarde Musl C.
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- Aftësitë e komponentit systemd-sysupdate janë zgjeruar, janë përdorur për të zbuluar, shkarkuar dhe instaluar automatikisht përditësime duke përdorur një mekanizëm atomik për zëvendësimin e ndarjeve, skedarëve ose drejtorive (përdoren dy ndarje/skedarë/drejtori të pavarura, njëra prej të cilave përmban punën aktuale burimi, dhe tjetri instalon përditësimin tjetër), pas së cilës seksionet/skedarët/drejtoritë ndërrohen). Në praktikë, systemd-sysupdate përdoret tashmë në GNOME OS.
Përveç procesit systemd-sysupdate, është shtuar një shërbim me të njëjtin emër që lejon D-Bus të përdoret për të menaxhuar përditësimet e sistemit nga një përdorues i paprivilegjuar. Për të menaxhuar shërbimin, përfshihet gjithashtu një mjet i ri updatectl. U shtua flamuri "--offline" në systemd-sysupdate për të çaktivizuar shkarkimin e meta të dhënave përmes rrjetit dhe për të përdorur vetëm versionet e shkarkuar tashmë në sistemin lokal. Mbështetje e shtuar për dalje në format JSON për të gjitha komandat.
- Një pronë e re “PrivatePIDs” është implementuar për shërbimet, me të cilën mund të organizoni nisjen e proceseve me PID 1 (procesi fillestar) në një hapësirë të veçantë identifikuese të procesit (space name PID). Në mjedisin e krijuar për procesin e nisur, vetëm proceset nga hapësira e emrave të krijuar për të do të jenë të dukshme.
- Mbështetje e shtuar për përputhjet e pandjeshme ndaj shkronjave të vogla me rregullat e udev (p.sh. 'ATTR{foo}==i»abcd»'). Duke përdorur udev, është e mundur t'u sigurohet përdoruesve lokalë të paprivilegjuar akses ("uaccess") në pajisjen /dev/udmabuf, e cila është e nevojshme për të punuar me kamerat IPMI nëpërmjet libcamera. udev siguron njohjen e kuletave të ndryshme të kriptove harduerike me një ndërfaqe USB dhe vendosjen e vetive ID_HARDWARE_WALLET për to, gjë që ju lejon të aplikoni modalitetin "uaccess" për to për akses nga përdoruesit e paprivilegjuar.
- Fushat e reja RELEASE_TYPE, EXPERIMENT dhe EXPERIMENT_URL janë shtuar në skedarin /etc/os-release. "RELEASE_TYPE" mund të marrë vlerat "eksperimentale", "zhvillimi", "stable" dhe "lts" për të ndarë versionet e qëndrueshme nga zhvillimet dhe ndërtimet eksperimentale. Parametrat EXPERIMENT dhe EXPERIMENT_URL synojnë të shpjegojnë thelbin e ndërtimit eksperimental.
- Programi run0, i zhvilluar si një zëvendësim për programin sudo, ka shtuar opsionin "--shell-prompt-prefix", i cili specifikon vargun e prefiksit për promptin e guaskës së komandës. Si parazgjedhje, emoji "🦸" shfaqet si një parashtesë për të nënvizuar vizualisht një seancë të ngritur.
- Në systemd-tmpfiles, për të shmangur fshirjen aksidentale të skedarëve të gabuar, opsioni "--purge" tani zbatohet vetëm për cilësimet në tmpfiles.d/ që kanë flamurin "$" të vendosur në mënyrë eksplicite. Operacioni "--purge" gjithashtu tani kërkon specifikimin e të paktën një skedari nga drejtoria tmpfiles.d/. Për vargjet me llojin 'L', flamuri '?' është shtuar, kur të specifikohet, një lidhje simbolike do të krijohet vetëm nëse ekziston skedari i synuar.
- Në menaxherin e shërbimit dhe shërbimet përkatëse, kodi i përcjelljes së procesit vazhdon të konvertohet për të përdorur PIDFD në vend të PID. Një PIDFD shoqërohet me një proces specifik dhe nuk ndryshon, ndërsa një PID mund të shoqërohet me një proces tjetër pasi procesi aktual i lidhur me atë PID përfundon.
- Për shërbimet, tani është e mundur të specifikoni vlerën "debug" në parametrin "RestartMode", në të cilin shërbimi i dështuar do të riniset me modalitetin e korrigjimit të aktivizuar (ndryshorja e mjedisit DEBUG_INVOCATION=1 është vendosur) dhe vlera LogLevelMax do të jetë është ngritur përkohësisht në nivelin e korrigjimit.
- Trajtuesi PID 1 ka aftësinë për të ngarkuar rregullat për modulin LSM IPE (Integrity Policy Enforcement), të cilat përcaktojnë politikën e integritetit për të gjithë sistemin (cilat operacione lejohen dhe si duhet verifikuar autenticiteti i komponentëve).
- Opsioni "DeferReactivation" është shtuar në skedarët e njësisë ".timer", i cili ju lejon të kapërceni aktivizimin tjetër të kohëmatësit nëse shërbimi nuk e ka përfunduar ende ekzekutimin e tij që nga aktivizimi i fundit.
- Në parametrin e skedarit të njësisë PrivateUsers, tani është e mundur të specifikohet vlera "identity" për të mundësuar hartëzimin e ID-ve të përdoruesve kur krijoni një hapësirë emri të përdoruesit.
- Mbështetja e shtuar për vlerën "e shkëputur" në parametrin e skedarit të njësisë PrivateTmp, i cili do të përdorë shembuj të veçantë tmpfs për drejtoritë /tmp/ dhe /var/tmp/.
- Mbështetja për mënyrat e reja "private" dhe "strict" është shtuar në parametrin e skedarit të njësisë ProtectControlGroups, kur vendoset, krijohet një hapësirë e re emri cgroup për shërbimin dhe montohet cgroupfs. Kur vendoset opsioni "strict", cgroupfs montohet në modalitetin vetëm për lexim.
- Parametrat StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory dhe ConfigurationDirectory ofrojnë mundësinë për të përdorur flamurin ':ro' për të kufizuar aksesin në drejtoritë përkatëse në modalitetin vetëm për lexim.
- Mbështetje e shtuar për vlerën "firmware" në parametrin e linjës së komandës së kernelit "systemd.machine_id", në të cilin identifikuesi i sistemit (ID-ja e makinës) do të llogaritet bazuar në UUID nga SMBIOS/DeviceTree.
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- Shërbimet solvectl, timedatectl dhe systemd-inhibit tani mbështesin autorizimin interaktiv duke përdorur Polkit.
- Shërbimi systemctl ka shtuar mundësinë për të përdorur flamurin "--tani" në komandën "reenable".
- U shtua opsioni "--json" në programin systemd-mount për dalje në formatin JSON (për shembull, kur specifikohet së bashku me "--list-devices", një listë e pajisjeve do të dalë në formatin JSON).
- U shtuan opsionet "-l" dhe "--full" në programin "localectl" për të çaktivizuar shkurtimin e linjave të gjata gjatë daljes.
- Opsioni HibernateOnACPower është shtuar në sleep.conf, i cili ju lejon të vononi kalimin në modalitetin e fjetjes derisa pajisja të shkëputet nga burimi i palëvizshëm i energjisë.
- Në systemd-sysusers, mbështetja për modifikuesin "!" është shtuar në linjat "u", me të cilat mund të krijoni llogari të përdoruesve plotësisht të kyçura (më parë, vendosja e një fjalëkalimi të pasaktë është përdorur për të bllokuar një përdorues, i cili, për shembull, nuk çoi në bllokim gjatë vërtetimit të çelësit në SSH).
- Systemd-coredump shton një opsion "EnterNamespace" që lejon hyrjen në hapësirën e pikës së montimit të çdo procesi të rrëzuar për të marrë simbolet e tyre të korrigjimit. Në praktikë, opsioni mund të jetë i dobishëm për organizimin e gjurmëve prapa të skedarëve bazë nga aplikacionet që ekzekutohen në kontejnerë të izoluar.
- systemd-logind përfshin përpunimin e kombinimit Ctrl-Alt-Shift-Esc për të dërguar sinjalin org.freedesktop.login1.SecureAttentionKey te komponentët e mjedisit të përdoruesit me një kërkesë për të shfaqur një dialog të sigurt identifikimi. Zbatoi cilësimin "DesignatedMaintenanceTime" për të planifikuar automatikisht punën për të përfunduar në një kohë të caktuar. Në analogji me mbështetjen për pajisjet DRM dhe evdev, është shtuar mbështetja për konfigurimin e aksesit për përdoruesit e paprivilegjuar në pajisjet hidraw (kontrolluesit e lojës dhe levë).
- systemd-machined tani mbështet hyrjet e paprivilegjuara të klientëve. makina virtuale dhe kontejnerë. Qasja në funksionalitetin e përpunuar nga sistemi ofrohet nëpërmjet Varlink API, përveç D-Bus.
- Një seksion i ri "[IPv6AddressLabel]" është shtuar në skedarin e konfigurimit networkd.conf për të konfiguruar etiketat dhe prefikset për adresat IPv6
- U shtua opsioni "--stdin" në komandën 'networkctl edit' për të marrë përmbajtjen e skedarit nga transmetimi standard. U shtua mbështetje për redaktimin dhe shfaqjen e skedarëve .netdev duke specifikuar një ndërfaqe rrjeti në komandat "networkctl edit" dhe "networkctl cat". Opsioni i shtuar "--no-ask-password" për të çaktivizuar autorizimin interaktiv.
- Shtoi një opsion "--certificate-source" në shërbimet ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart dhe systemd-sbsign për të ngarkuar një certifikatë X.509 përmes ofruesit OpenSSL në vend që të ngarkohej drejtpërdrejt nga një dosje.
- systemd-boot shton mundësinë për të përdorur butonat e volumit për të lëvizur lart e poshtë përmes menysë së nisjes, gjë që mund të jetë e dobishme në pajisje të tilla si telefonat inteligjentë. Mbështetja për instalimin e bazës së të dhënave UEFI Secure Boot në formatin ESL(db/dbx/…) për systemd-boot është shtuar në programin bootctl.
- U shtua opsioni "--list-invocation" në journalctl për të shfaqur një listë të thirrjeve të njësisë dhe opsioni "--invocation" ("-I") për të shfaqur regjistrat e lidhur vetëm me një thirrje specifike.
- systemd-nspawn shton mbështetje për përdorimin e paprivilegjuar të FUSE (Skedari në hapësirën e përdoruesit) në kontejnerë. Kur përdorni opsionin "--bind-user", çelësat SSH të përdoruesit të kërkuar për qasje nëpërmjet SSH përcillen në kontejner.
- libsystemd ka shtuar një ndërfaqe të re programimi "sd-json" që përdor formatin JSON, si dhe një ndërfaqe "sd-varlink" që përdor IPC Varlink.
- Versioni i rekomanduar i kernelit bazë është përmirësuar për të lëshuar 5.4, i formuar në 2019. Vitin e ardhshëm ata planifikojnë të ndalojnë mbështetjen e kernelëve të vjetër dhe të shënojnë lëshimin 5.4 si versionin bazë minimal të mbështetur.
- Mbështetja për cgroups v1 është vjetëruar dhe është çaktivizuar si parazgjedhje (për ta aktivizuar atë, duhet të specifikoni SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 në linjën e komandës së kernelit përveç aktivizimit të tij në cilësimet e sistemit). Lëshimi tjetër i systemd 258 planifikon të heqë plotësisht kodin e lidhur me cgroups v1. Versioni Systemd 258 është planifikuar gjithashtu të heqë mbështetjen për skriptet e shërbimit të System V.
Burimi: opennet.ru
