systemd 245 dostupan s implementacijom prijenosnog kućnog direktorija

Nakon tri mjeseca razvoja predstavljen izdanje sistemskog menadžera systemd 245. U novom izdanju dodane su nove komponente systemd-homed i systemd-repart, uključena je podrška za prenosive korisničke profile u JSON formatu, omogućena je mogućnost definiranja prostora imena u systemd-journald, a dodata je i podrška za “pidfd” mehanizam . Potpuno redizajniran web stranica projekta, koji prikuplja većinu dostupne dokumentacije i predlaže novi logo.

systemd 245 dostupan s implementacijom prijenosnog kućnog direktorija

Glavni promjena:

  • Dodata usluga systemd-homed, koji obezbeđuje upravljanje prenosivim kućnim direktorijumima, isporučenim u obliku montirane datoteke slike, podaci u kojoj su šifrovani. Systemd-homed vam omogućava da kreirate samostalna okruženja za korisničke podatke koji se mogu prenositi između različitih sistema bez brige o sinhronizaciji identifikatora i poverljivosti. Korisnički akreditivi su vezani za kućni direktorij, a ne za sistemske postavke – profil u formatu se koristi umjesto /etc/passwd, /etc/group i /etc/shadow JSON. Za više detalja, pogledajte posljednja najava systemd-homed.
  • Dodata prateća komponenta koja je smještena u sustavu "userdb” (“systemd-userdb”), koji prevodi UNIX/glibc NSS naloge u JSON zapise i pruža jedinstveni Varlink API za upite i ponavljanje zapisa. JSON profil pridružen kućnom direktoriju specificira parametre potrebne za rad korisnika, uključujući korisničko ime, hash lozinke, ključeve za šifriranje, kvote i osigurane resurse. Profil se može certificirati digitalnim potpisom pohranjenim na vanjskom Yubikey tokenu. Za upravljanje profilima predlaže se uslužni program “userdbctl”. Podrška za JSON profile je dodana raznim systemd komponentama, uključujući systemd-logind i pam-systemd, omogućavajući korisnicima prenosivih direktorija da se autentifikuju, prijave, podese varijable okruženja, kreiraju sesiju, postave ograničenja itd. U budućnosti se očekuje da će sssd framework moći generirati JSON profile s korisničkim postavkama pohranjenim u LDAP-u.
  • Dodan je novi uslužni program “systemd-repart”, dizajniran za reparticioniranje tablica particija diska u GPT formatu. Struktura particije je definirana u deklarativnom obliku kroz datoteke koje opisuju koje particije trebaju ili mogu postojati. Prilikom svakog pokretanja, stvarna tabela particija se upoređuje sa ovim fajlovima, nakon čega se dodaju nedostajuće particije ili, ako se relativna ili apsolutna veličina definisana u postavkama ne podudara, povećava se veličina postojećih. Dozvoljene su samo inkrementalne promjene, tj. brisanje i smanjenje veličine nije moguće, particije se mogu samo dodavati i povećavati.
    Uslužni program je dizajniran da se pokreće iz initrd-a i automatski detektuje disk na kojem se nalazi root particija, što ne zahtijeva dodatnu konfiguraciju, osim datoteka s definicijom promjena.

    U praksi, systemd-repart može biti koristan za slike operativnog sistema koje se u početku mogu isporučiti u minimalnom obliku, a nakon prvog pokretanja mogu se proširiti na veličinu postojećeg blok uređaja ili dopuniti dodatnim particijama (na primjer, root particija se može proširiti da pokrije cijeli disk ili nakon prvog pokretanja kreirati swap particiju ili /home). Druga upotreba bi bile konfiguracije sa dvije rotirajuće particije - samo bi prva particija mogla biti isporučena na početku, a druga bi bila kreirana pri prvom pokretanju.

  • Sada je moguće pokrenuti više instanci systemd-journald, od kojih svaka čuva dnevnike u svom vlastitom imenskom prostoru. Pored glavnog systemd-journald.service, .service direktorij nudi predložak za kreiranje dodatnih instanci vezanih za njihove imenske prostore koristeći “LogNamespace” direktivu. Svaki prostor imena dnevnika opslužuje poseban pozadinski proces sa svojim vlastitim skupom postavki i ograničenja. Predložena karakteristika može biti korisna za balansiranje opterećenja sa velikom količinom dnevnika ili za poboljšanje izolacije aplikacije. Dodata opcija "--namespace" u journalctl kako bi se upit ograničio samo na specificirani imenski prostor.
  • Systemd-udevd i druge systemd komponente su dodale podršku za mehanizam za dodeljivanje alternativnih imena mrežnim interfejsima, dozvoljavajući da se više imena istovremeno koristi za jedan interfejs. Ime može imati do 128 znakova (ranije je naziv mrežnog interfejsa bio ograničen na 16 znakova). Podrazumevano, systemd-udevd sada svakom mrežnom interfejsu dodeljuje sva imena varijanti generisana podržanim šemama imenovanja. Ovo ponašanje se može promijeniti kroz nove postavke AlternativeName i AlternativeNamesPolicy u .link datotekama. systemd-nspawn implementira generiranje alternativnih imena sa punim imenom kontejnera za veth veze kreirane na strani hosta.
  • API sd-event.h dodaje podršku za podsistem jezgre Linuxa "pidfd" za rješavanje situacije ponovne upotrebe PID-a (pidfd je povezan s određenim procesom i ne mijenja se, dok se PID može povezati s drugim procesom nakon trenutnog procesa povezan sa njim izlazi iz ovog PID-a). Sve systemd komponente osim PID-a 1 su konvertovane da koriste pidfds ako je podsistem podržan od strane trenutnog kernela.
  • systemd-logind pruža provjere pristupa za operaciju promjene virtualnog terminala preko PolicyKit-a. Po defaultu, dozvole za promjenu aktivnog terminala se dodjeljuju samo korisnicima koji su pokrenuli sesiju na lokalnom virtualnom terminalu barem jednom.
  • Da bi se olakšalo kreiranje initrd slika sa systemd-om, PID 1 rukovalac sada otkriva da li se koristi u initrd-u i u ovom slučaju automatski učitava initrd.target umjesto default.target. Sa ovim pristupom, initrd i glavna sistemska slika mogu se razlikovati samo u prisustvu datoteke /etc/initrd-release.
  • Dodan je novi parametar komandne linije kernela - "systemd.cpu_afinity", ekvivalentan opciji CPUAffinity u /etc/systemd/system.conf i koji vam omogućava da konfigurišete masku afiniteta CPU-a za PID 1 i druge procese.
  • Omogućeno ponovno učitavanje SELinux baze podataka zajedno sa ponovnim pokretanjem PID-a 1 preko komandi poput "systemctl daemon-reload".
  • Postavka “systemd.show-status=error” je dodata PID 1 rukovaocu, kada je postavljena, samo poruke o grešci i značajna kašnjenja tokom učitavanja se prikazuju na konzoli.
  • systemd-sysusers je dodao podršku za kreiranje korisnika sa imenom primarne grupe koje se razlikuje od korisničkog imena.
  • systemd-growfs uvodi podršku za proširenje XFS particije preko x-systemd.growfs opcije montiranja u /etc/fstab, pored prethodno podržanog proširenja particije sa Ext4 i Btrfs.
  • Dodata opcija x-initrd.attach u /etc/crypttab za definiranje šifrirane particije koja je već otključana u fazi initrd.
  • systemd-cryptsetup je dodao podršku (opcija pkcs11-uri u /etc/crypttab) za otključavanje šifrovanih particija pomoću PKCS#11 pametnih kartica, na primjer za priključivanje enkripcije particije na YubiKeys.
  • Nove opcije montiranja "x-systemd.required-by" i "x-systemd.wanted-by" dodane su u /etc/fstab kako bi se eksplicitno konfigurirale jedinice koje definiraju operacije montiranja koje će se pozivati ​​umjesto local-fs.target i remote -fs .target.
  • Dodata je nova opcija sandboxing servisa - ProtectClock, koja ograničava pisanje na sistemski sat (pristup je blokiran na nivou /dev/rtc, sistemski pozivi i dozvole CAP_SYS_TIME/CAP_WAKE_ALARM).
  • Prema specifikaciji Discoverable Partitions i systemd-gpt-auto-generator je dodala detekciju particija
    /var i /var/tmp.

  • U “systemctl list-unit-files”, kada se prikazuje lista jedinica, pojavila se nova kolona koja odražava stanje omogućeno koje je ponuđeno u proizvođačevim predpostavkama za ovu vrstu jedinice.
  • Opcija “—sa ovisnostima” je dodana u “systemctl”, kada se instaliraju, komande poput “systemctl status” i “systemctl cat” će prikazati ne samo sve odgovarajuće jedinice, već i jedinice od kojih zavise.
  • U systemd-networkd, qdisc konfiguracija je dodala mogućnost konfiguriranja parametara TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) i FQ (Fair Queue).
  • systemd-networkd je dodao podršku za IFB mrežne uređaje (Srednji funkcionalni blok).
  • Systemd-networkd implementira parametar MultiPathRoute u odjeljku [Route] za konfiguriranje višeputnih ruta.
  • U systemd-networkd za DHCPv4 klijenta, dodana je opcija SendDecline, kada je specificirana, nakon prijema DHCP odgovora s adresom, vrši se provjera duple adrese i ako se otkrije konflikt adresa, izdata adresa se odbija. Opcija RouteMTUBytes je također dodana DHCPv4 klijentu, omogućavajući vam da odredite MTU veličinu za rute generirane iz vezivanja IP adresa (zakupa).
  • Postavka PrefixRoute u odjeljku [Address] .network datoteka je zastarjela. Zamijenjena je postavkom “AddPrefixRoute”, koja ima suprotno značenje.
  • U .network datotekama, podrška za novu vrijednost “_dhcp” je dodana postavci mrežnog prolaza u odjeljku “[Route]”, kada je postavljena, statička ruta se bira na osnovu mrežnog prolaza konfiguriranog preko DHCP-a.
  • Postavke su se pojavile u .network datotekama u odjeljku “[RoutingPolicyRule]”.
    User i SuppressPrefixLength za određivanje izvornog rutiranja na osnovu UID raspona i veličine prefiksa.

  • U networkctl, naredba “status” pruža mogućnost prikaza dnevnika u odnosu na svaki mrežni interfejs.
  • systemd-networkd-wait-online dodaje podršku za postavljanje maksimalnog vremena čekanja da interfejs postane operativan i čekanja da se interfejs isključi.
  • Zaustavljena obrada .link i .network fajlova sa praznim ili komentarisanim odeljkom "[Match]".
  • U .link i .network fajlovima, u odjeljku “[Match]”, dodata je postavka “PermanentMACAddress” za provjeru trajne MAC adrese uređaja u slučaju korištenja generisanog nasumično MAC-a.
  • Odjeljak “[TrafficControlQueueingDiscipline]” u .network datotekama je preimenovan u “[NetworkEmulator]”, a prefiks “NetworkEmulator” je uklonjen iz naziva povezanih postavki.
  • systemd-resolved za DNS-over-TLS dodaje podršku za SNI provjeru.

izvor: opennet.ru

Dodajte komentar