Nakon šest mjeseci razvoja, predstavljeno je izdanje upravitelja sustava systemd 257. Ključne promjene: novi uslužni programi systemd-sbsign i systemd-keyutil, podrška za MPTCP kada se aktivira preko utičnice, početna podrška za izgradnju s Musl C bibliotekom, updatectl uslužni program za upravljanje instalacijom ažuriranja putem systemd-sysupdate, mogućnost pokretanja usluga u zasebnim PID imenskim prostorima, 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čitano 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čita mrežna sučelja vezana na različite IP adrese.
- Uključuje promjene potrebne za izgradnju pomoću standardne biblioteke Musl C.
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- Proširene su mogućnosti komponente systemd-sysupdate, koja se koristi za automatsko otkrivanje, preuzimanje i instaliranje ažuriranja pomoću atomskog mehanizma za zamjenu particija, datoteka ili direktorija (koriste se dvije neovisne particije/datoteke/direktorija, od kojih jedna sadrži trenutni radni resurs, a drugi instalira sljedeće) ažuriranje, nakon čega se odjeljci/datoteke/direktorije mijenjaju). U praksi se systemd-sysupdate već koristi u GNOME OS-u.
Uz proces systemd-sysupdate, dodana je istoimena usluga koja omogućuje korištenje D-Busa za upravljanje ažuriranjima sustava od strane neprivilegiranog korisnika. Za upravljanje uslugom uključen je i novi uslužni program updatectl. Dodana je zastavica “--offline” u systemd-sysupdate za onemogućavanje preuzimanja metapodataka preko mreže i korištenje samo verzija koje su već preuzete na lokalni sustav. Dodana podrška za izlaz u JSON formatu za sve naredbe.
- Implementirano je novo svojstvo “PrivatePIDs” za usluge, s kojim možete organizirati pokretanje procesa s PID-om 1 (init process) u zasebnom prostoru identifikatora procesa (PID namespace). U okruženju stvorenom za pokrenuti proces bit će vidljivi samo procesi iz imenskog prostora koji je za njega kreiran.
- Dodana podrška za podudaranja koja ne razlikuju velika i mala slova s udev pravilima (npr. 'ATTR{foo}==i»abcd»'). Pomoću udev-a moguće je neprivilegiranim lokalnim korisnicima omogućiti pristup (“uaccess”) /dev/udmabuf uređaju koji je neophodan za rad s IPMI kamerama preko libcamera. udev omogućuje prepoznavanje različitih hardverskih kripto novčanika s USB sučeljem i postavljanjem svojstva ID_HARDWARE_WALLET za njih, što vam omogućuje da im primjenite način "uaccess" za pristup neprivilegiranim korisnicima.
- Nova polja RELEASE_TYPE, EXPERIMENT i EXPERIMENT_URL dodana su u datoteku /etc/os-release. "RELEASE_TYPE" može uzeti vrijednosti "experimental", "development", "stable" i "lts" za odvajanje stabilnih verzija od razvojnih i eksperimentalnih verzija. Parametri EXPERIMENT i EXPERIMENT_URL namijenjeni su objašnjenju suštine eksperimentalne verzije.
- Uslužni program run0, razvijen kao zamjena za program sudo, dodao je opciju “--shell-prompt-prefix” koja navodi niz prefiksa za redak naredbene ljuske. Prema zadanim postavkama, emoji "🦸" prikazuje se kao prefiks za vizualno isticanje sesije na povišenom položaju.
- 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 zastavu "$". Operacija "--purge" također sada zahtijeva navođenje najmanje jedne datoteke iz direktorija tmpfiles.d/. Za nizove s tipom 'L', dodana je zastavica '?', kada je navedena, simbolička veza će se stvoriti samo ako ciljna datoteka postoji.
- U upravitelju usluga i srodnim uslužnim programima, kod za praćenje procesa nastavlja se pretvarati da koristi PIDFD umjesto PID-a. PIDFD je povezan s određenim procesom i ne mijenja se, dok se PID može povezati s drugim procesom nakon što trenutni proces povezan s tim PID-om završi.
- Za usluge je sada moguće navesti vrijednost "debug" u parametru "RestartMode", u kojem će se neuspjela usluga ponovno pokrenuti s omogućenim načinom otklanjanja pogrešaka (postavljena je varijabla okruženja DEBUG_INVOCATION=1), a vrijednost LogLevelMax bit će privremeno podignut na razinu otklanjanja pogrešaka.
- Rukovatelj PID 1 ima mogućnost učitavanja pravila za IPE (Integrity Policy Enforcement) LSM modul, koja definiraju politiku integriteta za cijeli sustav (koje su operacije dopuštene i kako treba provjeriti autentičnost komponenti).
- Opcija “DeferReactivation” dodana je datotekama jedinica “.timer”, što vam omogućuje da preskočite sljedeću aktivaciju timera ako usluga još nije završila svoje izvršenje od zadnje aktivacije.
- U parametru datoteke jedinice PrivateUsers sada je moguće navesti vrijednost "identiteta" kako bi se omogućilo mapiranje korisničkih ID-ova prilikom stvaranja prostora imena korisnika.
- Dodana je podrška za vrijednost "disconnected" parametru datoteke jedinice PrivateTmp, koja će koristiti zasebne tmpfs instance za direktorije /tmp/ i /var/tmp/.
- Podrška za nove "privatne" i "striktne" načine rada dodana je parametru datoteke jedinice ProtectControlGroups, kada se postavi, kreira se novi prostor naziva cgroup za uslugu i montira se cgroupfs. Kada je postavljena opcija "strict", cgroupfs se montira u načinu rada samo za čitanje.
- Parametri StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory i ConfigurationDirectory daju mogućnost korištenja oznake ':ro' za ograničavanje pristupa odgovarajućim direktorijima na način samo za čitanje.
- Dodana je podrška za vrijednost "firmware" parametru naredbenog retka jezgre "systemd.machine_id", u kojem će se identifikator sustava (ID stroja) izračunati na temelju UUID-a iz SMBIOS/DeviceTree.
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- Pomoćni programi resolvectl, timedatectl i systemd-inhibit sada podržavaju interaktivnu autorizaciju pomoću Polkita.
- Uslužni program systemctl dodao je mogućnost korištenja oznake "--now" u naredbi "reenable".
- Dodana je opcija "--json" uslužnom programu systemd-mount za izlaz u JSON formatu (na primjer, kada je navedena uz "--list-devices", popis uređaja će biti izlaz u JSON formatu).
- Dodane su opcije "-l" i "--full" uslužnom programu "localectl" za onemogućavanje skraćivanja dugih redaka tijekom ispisa.
- Opcija HibernateOnACPower dodana je u sleep.conf, koja vam omogućuje odgodu prebacivanja u stanje mirovanja dok se uređaj ne isključi iz stacionarnog izvora napajanja.
- U systemd-sysusers dodana je podrška za modifikator “!” u redovima s kojima možete kreirati potpuno zaključane korisničke račune (ranije se za blokiranje korisnika koristilo postavljanje netočne lozinke, što je npr. nije dovelo do blokiranja tijekom provjere autentičnosti ključa u SSH ).
- Systemd-coredump dodaje opciju "EnterNamespace" koja omogućuje pristup prostoru točke montiranja svih procesa koji su se srušili kako bi se dobili njihovi simboli za otklanjanje pogrešaka. U praksi, opcija može biti korisna za organiziranje povratnog praćenja jezgrenih datoteka iz aplikacija koje se izvode u izoliranim spremnicima.
- 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. Implementirana je postavka "DesignatedMaintenanceTime" za automatsko planiranje završetka radova u određeno vrijeme. Po analogiji s podrškom za DRM i evdev uređaje, dodana je podrška za konfiguriranje pristupa za neprivilegirane korisnike hidraw uređajima (kontroleri igara i joystickovi).
- systemd-machined sada podržava prijave neprivilegiranih klijenata. virtualni strojevi i kontejnere. Pristup funkcionalnostima obrađenim u systemd-u omogućen je putem Varlink API-ja, uz D-Bus.
- Novi odjeljak “[IPv6AddressLabel]” dodan je konfiguracijskoj datoteci networkd.conf za konfiguriranje oznaka i prefiksa za IPv6 adrese
- Dodana je opcija "--stdin" naredbi 'networkctl edit' za dobivanje sadržaja datoteke iz standardnog toka. Dodana je podrška za uređivanje i prikaz .netdev datoteka određivanjem mrežnog sučelja za naredbe 'networkctl edit' i 'networkctl cat'. Dodana opcija “--no-ask-password” za onemogućavanje interaktivne autorizacije.
- Dodana je opcija "--certificate-source" uslužnim programima ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart i systemd-sbsign za učitavanje X.509 certifikata putem OpenSSL providera umjesto izravnog učitavanja s datoteka.
- systemd-boot dodaje mogućnost korištenja tipki za glasnoću za pomicanje gore-dolje kroz izbornik 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 dodana je uslužnom programu bootctl.
- Dodana je opcija “--list-invocation” u journalctl za prikaz popisa poziva jedinice i opcija “--invocation” (“-I”) za prikaz zapisa povezanih samo s određenim pozivom.
- systemd-nspawn dodaje podršku za neprivilegirano korištenje FUSE (Filesystem in Userspace) u spremnicima. Kada koristite opciju “--bind-user”, korisnički SSH ključevi potrebni za pristup putem SSH prosljeđuju se u spremnik.
- libsystemd je dodao novo programsko sučelje "sd-json" koje koristi JSON format, kao i sučelje "sd-varlink" koje koristi IPC Varlink.
- Preporučena osnovna verzija kernela nadograđena je 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 prema zadanim postavkama (da biste je omogućili, morate navesti SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 u naredbenom retku kernela uz omogućavanje u postavkama systemd). Sljedeće izdanje systemd 258 planira potpuno ukloniti cgroups v1 vezan kod. Systemd verzija 258 također je predviđena za uklanjanje podrške za skripte usluge System V.
Izvor: opennet.ru
