Nakon šest mjeseci razvoja, predstavljeno je izdanje sistemskog menadžera systemd 257: novi uslužni programi systemd-sbsign i systemd-keyutil, podrška za MPTCP kada se aktivira preko soketa, početna podrška za izgradnju sa Musl C bibliotekom, updatectl uslužni program za upravljanje instalacijom ažuriranja putem systemd-sysupdate, mogućnost pokretanja usluga u odvojenim prostorima PID imena, zaštita od slučajnog brisanja datoteka kada se koristi “systemd-tmpfiles —purge”.
Među promjenama u novom izdanju:
- Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux i initrd sistemsko okruženje učitavano u memoriju.
- Dodan je novi uslužni program systemd-keyutil koji implementira različite operacije na privatnim ključevima i X.509 certifikatima. Na primjer, systemd-keyutil se može koristiti za testiranje mogućnosti učitavanja privatnih ključeva i certifikata i izdvajanja javnih ključeva iz njih u PEM formatu.
- U jedinicama ".socket" koje se koriste za osiguranje rada mehanizma aktivacije socketa (pokretanje procesa pri pokušaju uspostavljanja mrežne veze), implementirana je podrška za MPTCP (Multipath TCP), proširenje TCP protokola za organiziranje rada TCP veze s istovremenom isporukom paketa duž nekoliko ruta kroz različite mrežne interfejse vezane za različite... Moja IP adresa.
- Uključuje promjene potrebne za izgradnju korištenjem standardne Musl C biblioteke.
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- Mogućnosti komponente systemd-sysupdate su proširene, koriste se za automatsko otkrivanje, preuzimanje i instaliranje ažuriranja koristeći atomski mehanizam za zamjenu particija, datoteka ili direktorija (koriste se dvije nezavisne particije/fajlovi/direktorijumi, od kojih jedna sadrži trenutni radni resurs, a drugi instalira sljedeće) ažuriranje, nakon čega se mijenjaju sekcije/fajlovi/direktoriji). U praksi, systemd-sysupdate se već koristi u GNOME OS-u.
Pored procesa systemd-sysupdate, dodat je servis istog imena koji omogućava da se D-Bus koristi za upravljanje ažuriranjima sistema od strane neprivilegovanog korisnika. Za upravljanje uslugom uključen je i novi uslužni program updatectl. Dodata je oznaka “--offline” u systemd-sysupdate kako bi se onemogućilo preuzimanje metapodataka preko mreže i koristile samo verzije koje su već preuzete na lokalni sistem. Dodata podrška za izlaz u JSON formatu za sve naredbe.
- Za usluge je implementirano novo svojstvo “PrivatePIDs” sa kojim možete organizirati pokretanje procesa sa PID-om 1 (init proces) u zasebnom prostoru identifikatora procesa (PID namespace). U okruženju kreiranom za pokrenuti proces bit će vidljivi samo procesi iz imenskog prostora kreiranog za njega.
- Dodata podrška za podudaranja bez obzira na velika i mala slova u udev pravilima (npr. 'ATTR{foo}==i»abcd»'). Koristeći udev, moguće je neprivilegiranim lokalnim korisnicima omogućiti pristup (“uaccess”) uređaju /dev/udmabuf, koji je neophodan za rad sa IPMI kamerama putem libcamera. udev omogućava prepoznavanje različitih hardverskih kripto novčanika sa USB interfejsom i postavljanje svojstva ID_HARDWARE_WALLET za njih, što vam omogućava da primenite režim “uaccess” na njih za pristup neprivilegovanim korisnicima.
- Nova polja RELEASE_TYPE, EXPERIMENT i EXPERIMENT_URL su dodana u /etc/os-release datoteku. "RELEASE_TYPE" može uzeti vrijednosti "eksperimentalno", "razvojno", "stabilno" i "lts" da odvoji stabilne verzije od razvojnih i eksperimentalnih verzija. Parametri EXPERIMENT i EXPERIMENT_URL imaju za cilj da objasne suštinu eksperimentalne izrade.
- Run0 uslužni program, razvijen kao zamjena za sudo program, dodao je opciju “--shell-prompt-prefix”, koja specificira niz prefiksa za komandni shell prompt. Prema zadanim postavkama, emoji “🦸” se prikazuje kao prefiks za vizualno isticanje povišene sesije.
- U systemd-tmpfiles, kako bi se izbjeglo slučajno brisanje pogrešnih datoteka, opcija "--purge" sada se primjenjuje samo na postavke u tmpfiles.d/ koje imaju eksplicitno postavljenu oznaku "$". Operacija "--purge" također sada zahtijeva navođenje najmanje jedne datoteke iz direktorija tmpfiles.d/. Za stringove tipa 'L' dodana je zastavica '?', kada je navedena, simbolička veza će biti kreirana samo ako postoji ciljna datoteka.
- U upravitelju usluga i povezanim uslužnim programima, kod za praćenje procesa nastavlja se pretvarati da koristi PIDFD umjesto PID-a. PIDFD je povezan sa određenim procesom i ne mijenja se, dok PID može biti povezan s drugim procesom nakon što se trenutni proces povezan s tim PID-om okonča.
- Za usluge je sada moguće odrediti vrijednost “debug” u parametru “RestartMode”, u kojoj će se neuspjeli servis ponovo pokrenuti s uključenim načinom za otklanjanje grešaka (podešena je varijabla okruženja DEBUG_INVOCATION=1), a vrijednost LogLevelMax će biti privremeno podignut na nivo za otklanjanje grešaka.
- PID 1 rukovatelj ima mogućnost učitavanja pravila za IPE (Integrity Policy Enforcement) LSM modul, koji definiraju politiku integriteta za cijeli sistem (koje su operacije dozvoljene i kako treba provjeriti autentičnost komponenti).
- Opcija “DeferReactivation” je dodana datotekama jedinica “.timer”, što vam omogućava da preskočite sljedeću aktivaciju tajmera ako usluga još nije završila svoje izvršavanje od posljednje aktivacije.
- U parametru datoteke jedinice PrivateUsers sada je moguće specificirati vrijednost “identiteta” kako bi se omogućilo mapiranje korisničkih ID-ova prilikom kreiranja korisničkog prostora imena.
- Dodata podrška za “disconnected” vrijednost parametru datoteke jedinice PrivateTmp, koji će koristiti zasebne tmpfs instance za direktorije /tmp/ i /var/tmp/.
- Podrška za nove “private” i “strict” modove dodata je parametru datoteke jedinice ProtectControlGroups, kada se postavi, kreira se novi prostor imena cgroup za uslugu i cgroupfs se montira. Kada je "strict" opcija postavljena, cgroupfs se montira u režimu samo za čitanje.
- Parametri StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory i ConfigurationDirectory pružaju mogućnost korištenja oznake ':ro' za ograničavanje pristupa odgovarajućim direktorijima na način samo za čitanje.
- Dodata podrška za vrijednost “firmware” parametru komandne linije kernela “systemd.machine_id”, u kojem će se identifikator sistema (ID mašine) izračunati na osnovu UUID-a iz SMBIOS/DeviceTree.
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- Resolvectl, timedatectl i systemd-inhibit uslužni programi sada podržavaju interaktivnu autorizaciju koristeći Polkit.
- Uslužni program systemctl je dodao mogućnost korištenja oznake "--now" u komandi "reenable".
- Dodata opcija "--json" u pomoćni program systemd-mount za izlaz u JSON formatu (na primjer, kada se specificira zajedno sa "--list-devices", lista uređaja će biti objavljena u JSON formatu).
- Dodane su opcije "-l" i "--full" uslužnom programu "localectl" kako bi se onemogućilo sečenje dugih redova tokom izlaza.
- Opcija HibernateOnACPower je dodana u sleep.conf, koja vam omogućava da odložite prelazak u stanje mirovanja dok se uređaj ne isključi iz stacionarnog izvora napajanja.
- U systemd-sysusers je dodana podrška za modifikator “u” pomoću kojeg možete kreirati potpuno zaključane korisničke naloge (ranije je postavljanje pogrešne lozinke korišćeno za blokiranje korisnika, što je npr. nije dovelo do blokiranja tokom provjere autentičnosti ključa u SSH ).
- Systemd-coredump dodaje opciju "EnterNamespace" koja omogućava pristup prostoru tačaka montiranja bilo kojeg srušenog procesa kako bi se dobili njihovi simboli za otklanjanje grešaka. U praksi, opcija može biti korisna za organiziranje povratnog praćenja osnovnih datoteka iz aplikacija koje rade u izoliranim kontejnerima.
- systemd-logind uključuje obradu kombinacije Ctrl-Alt-Shift-Esc za slanje signala org.freedesktop.login1.SecureAttentionKey komponentama korisničkog okruženja sa zahtjevom za prikaz sigurnog dijaloga za prijavu. Implementirano je podešavanje “DesignatedMaintenanceTime” za automatsko planiranje završetka rada u određeno vrijeme. Po analogiji sa podrškom za DRM i evdev uređaje, dodata je podrška za konfigurisanje pristupa neprivilegovanim korisnicima da sakriju uređaje (kontroleri za igre i džojstici).
- systemd-machined sada podržava prijave neprivilegovanih klijenata. virtuelne mašine i kontejnere. Pristup funkcionalnostima obrađenim u systemd-u omogućen je putem Varlink API-ja, pored D-Bus-a.
- Novi odjeljak “[IPv6AddressLabel]” je dodan u konfiguracijski fajl networkd.conf za konfiguriranje oznaka i prefiksa za IPv6 adrese
- Dodata opcija "--stdin" u naredbu 'networkctl edit' za preuzimanje sadržaja datoteke iz standardnog toka. Dodata podrška za uređivanje i prikaz .netdev fajlova navođenjem mrežnog interfejsa za komande 'networkctl edit' i 'networkctl cat'. Dodata opcija "--no-ask-password" za onemogućavanje interaktivne autorizacije.
- Dodata opcija "--certificate-source" u ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart i systemd-sbsign za učitavanje X.509 certifikata preko OpenSSL provajdera umjesto direktnog učitavanja sa fajl.
- systemd-boot dodaje mogućnost korišćenja dugmadi za jačinu zvuka za kretanje gore i dole kroz meni za pokretanje, što može biti korisno na uređajima kao što su pametni telefoni. Podrška za instaliranje UEFI Secure Boot baze podataka u ESL(db/dbx/…) formatu za systemd-boot dodata je uslužnom programu bootctl.
- Dodata opcija “--list-invocation” u journalctl za prikaz liste poziva jedinica i opcija “--invocation” (“-I”) za prikaz dnevnika povezanih samo sa određenim pozivom.
- systemd-nspawn dodaje podršku za neprivilegovanu upotrebu FUSE (Filesystem in Userspace) u kontejnerima. Kada koristite opciju “--bind-user”, korisnički SSH ključevi potrebni za pristup putem SSH-a prosljeđuju se u kontejner.
- libsystemd je dodao novi programski interfejs "sd-json" koji koristi JSON format, kao i interfejs "sd-varlink" koji koristi IPC Varlink.
- Preporučena osnovna verzija kernela je nadograđena na izdanje 5.4, formirano 2019. Sljedeće godine planiraju prestati podržavati starije kernele i označiti izdanje 5.4 kao minimalno podržanu osnovnu verziju.
- Podrška za cgroups v1 je zastarjela i onemogućena je prema zadanim postavkama (da biste je omogućili, morate navesti SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 u komandnoj liniji kernela pored omogućavanja u sistemskim postavkama). Sljedeće izdanje systemd 258 planira potpuno ukloniti cgroups v1 kod. Systemd verzija 258 je također predviđena za uklanjanje podrške za skripte usluge System V.
izvor: opennet.ru
