Nakon tri mjeseca razvoja, systemd 259 je sada dostupan. Ključne promjene uključuju podršku za standardnu Musl biblioteku, naredbu "run0 --empower" za izvršavanje privilegovanih radnji bez promjene UID-a, dinamičko učitavanje biblioteka trećih strana koje zahtijeva libsystemd i ignoriranje konfiguracijskih datoteka dodavanjem ".ignore" njihovim imenima.
Među promjenama u novom izdanju:
- Dodana je djelomična podrška za standardnu C biblioteku Musl. Ovo je omogućeno postavljanjem vrijednosti "musl" u opciji "libc" u Meson sistemu za izgradnju. Budući da Musl biblioteka ne pruža NSS funkcionalnost, sljedeće komponente nisu dostupne prilikom izgradnje systemd-a pomoću Musl-a: nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd, parametar DynamicUser i mogućnost pokretanja systemd-nspawn bez privilegija. Programeri systemd-a trenutno ne garantuju da će podrška za Musl ostati u budućim izdanjima. Ova odluka će zavisiti od uspješnog razvoja sloja koji implementira dodatne funkcionalnosti preko Musl-a, kao i od potražnje za projektom i izvještaja o greškama specifičnim za Musl.
- Alat run0, koji se reklamira kao sigurna zamjena za sudo koji se pokreće preko systemd-run, sada uključuje opciju "--empower", što vam omogućava pokretanje nove sesije s povišenim privilegijama bez prelaska na root korisnika. Izvršavanje privilegovanih radnji bez promjene UID-a omogućava se postavljanjem zastavica za mogućnosti, kao što je CAP_SYS_ADMIN, koje su dovoljne za izvršavanje većine privilegovanih sistemskih poziva. Pokrenuti procesi se također smještaju u zasebnu grupu "empower", koja ima pristup većini Polkit radnji.
- Odlučeno je da se u sljedećem izdanju ukloni podrška za servisne skripte System V. Komponente systemd-sysv-install, systemd-rc-local-generator i systemd-sysv-generator su planirane za uklanjanje. U sljedećem izdanju se također planira povećanje minimalnih zahtjeva za verziju kernela. Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0.
- Kao dio inicijative za smanjenje zavisnosti, libsystemd sada dinamički učitava biblioteke libacl, libblkid, libseccomp, libselinux i libmount koristeći dlopen() kada su njihove funkcije zaista potrebne. dlopen() također omogućava pristup podsistemu za reviziju. Linux i sa PAM-om. Funkcionalnost koja je prethodno pozivana putem posredničke biblioteke libcap ugrađena je u libsystemd.
- systemd-resolved sada podržava dodavanje lokalnih hook-ova koji se pozivaju svaki put kada se uputi zahtjev za lokalno razrješavanje imena. Hook-ovi se nalaze u direktoriju /run/systemd/resolve.hook/.
- U bazu podataka korisnika dodano je polje UUID, a uslužnom programu userdbctl dodana je opcija "--uuid" za pretraživanje po UUID-u.
- Konfiguracijske datoteke s nazivima koji završavaju na "ignore" sada se ignoriraju.
- systemd-importd implementira ugrađenu logiku za rad s TAR arhivama, koristeći libarchive povratni poziv za GNU tar uslužni program. Systemd-machined i systemd-importd sada se mogu pokretati po korisniku, umjesto na nivou sistema, sa sistemskim slikama učitanim u ~/.local/state/machines/. Opcije "--user" i "--system" su dodane uslužnom programu importctl za odabir načina rada.
- Zadani način pohranjivanja dnevnika promijenjen je iz 'automatskog' u 'trajno' (ranije je način rada ovisio o prisutnosti direktorija /var/log/journal).
- systemd-networkd i systemd-nspawn su ukinuli podršku za kreiranje pravila za prevođenje mrežnih adresa (NAT) putem iptables/libiptc. Ostala je samo podrška za nftables.
- Podrška za TPM 1.2 je ukinuta u systemd-boot i systemd-stub (podrška za TPM 2.0 je i dalje prisutna).
- Podrazumevano, systemd-machined osigurava da se "skrivene" slike diskova, čije ime počinje tačkom, montiraju u režimu samo za čitanje.
- API zasnovan na Varlinku je proširen, omogućavajući mu pristup postavkama servisa. Implementirani su IPC pozivi Reload() i Reexecute(). Dodani su pozivi za pristup funkcionalnosti i postavkama systemd-repart, systemd-resolved i systemd-networkd.
- Dodata je postavka ExecReloadPost, koja vam omogućava da organizujete pokretanje naredbi nakon ponovnog učitavanja konfiguracije servisa.
- Svojstva OOMKills i ManagedOOMKills su implementirana za servise, a sadrže broj procesa koje je kernel ili systemd-oomd prisilno završio zbog nedostatka memorije.
- Za privremene servise dodano je svojstvo RootDirectoryFileDescriptor koje definira deskriptor datoteke korijenskog direktorija.
- Dodana je postavka UserNamespacePath, koja omogućava povezivanje jedinice s korisničkim imenskim prostorom navođenjem putanje u pseudo-datotečnom sistemu /proc, slično postavkama IPCNamespacePath i NetworkNamespacePath. U systemd-nspawn, postavka NamespacePath dodana je u odjeljak [Network] .nspawn datoteka kako bi se naveo mrežni imenski prostor.
- systemd-sysext i systemd-confext sada podržavaju odvojene konfiguracijske datoteke, /etc/systemd/systemd-sysext.conf i /etc/systemd/systemd-confext.conf. Varijable okruženja SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS i $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS sada se mogu koristiti za konfigurisanje opcija montiranja Overlayfs-a.
- Postavka OPTIONS="dump-json" je dodana u systemd-udevd za ispis trenutnog statusa događaja u JSON formatu. Funkcija net_id sada generira predvidljiva imena za bežične mrežne interfejse na sistemima sa DeviceTree. Simbolički linkovi /dev/gpio/by-id/... sada se generiraju za GPIO uređaje.
- Naredba "homectl update" sada podržava opciju "--recovery-key" za dodavanje rezervnih ključeva postojećem korisničkom računu (ranije su se takvi ključevi mogli dodati samo tokom kreiranja korisnika).
- Opcije "--prompt-shell" i "--prompt-groups" su dodane u systemd-homed za interaktivni odabir ljuske i grupe tokom prvog pokretanja pomoću systemd-homed-firstboot.service. Opcija "--prompt-keymap-auto" je dodana u systemd-firstboot za upit o rasporedu tastature prilikom korištenja lokalne konzole tokom prvog pokretanja.
- U systemd-boot-u, dodana je mogućnost postavljanja nivoa detalja logova putem parametra log-level u loader.conf ili SMBIOS polja io.systemd.boot.loglevel.
- Opcije EmitDomain i Domain su dodane u systemd-networkd za DHCP server, a implementiran je i program za određivanje imena hostova izdatih putem DHCP-a putem DNS rezolucije.
- Opcija "--root-directory" je dodana u systemd-run za pokretanje servisa u navedenom korijenskom direktoriju. Opcija "--same-root-dir" ("-R") je dodana u systemd-run i run0 za pokretanje servisa u istom korijenskom direktoriju kao i onaj koji ga pokreće.
- systemd-modules-load implementira paralelno učitavanje kernel modula.
- Podrška za algoritme HMAC-SHA256, PHMAC-SHA256 i PHMAC-SHA512 dodana je u systemd-integrity-setup.
izvor: opennet.ru
