izdanje upravitelja sustava systemd 243

Nakon pet mjeseci razvoja predstavio izdanje upravitelja sustava sistemd 243. Među inovacijama možemo primijetiti integraciju u PID 1 rukovatelja za nedostatak memorije u sustavu, podršku za pričvršćivanje vlastitih BPF programa za filtriranje prometa jedinica, brojne nove opcije za systemd-networkd, način za praćenje propusnosti mreže sučelja, omogućavanje prema zadanim postavkama na 64-bitnim sustavima 22-bitnih PID brojeva umjesto 16-bitnih, prijelaz na jedinstvenu hijerarhiju cgroups, uključivanje u systemd-network-generator.

Velike promjene:

  • Prepoznavanje signala generiranih od kernela o nedostatku memorije (Out-Of-Memory, OOM) dodano je PID 1 rukovatelju za prijenos jedinica koje su dosegle ograničenje potrošnje memorije u posebno stanje s izbornom sposobnošću da se prisilno prekinu ili prestati;
  • Za jedinične datoteke, novi parametri IPIngressFilterPath i
    IPEgressFilterPath, koji vam omogućuje povezivanje BPF programa s proizvoljnim rukovateljima za filtriranje dolaznih i odlaznih IP paketa koje generiraju procesi povezani s ovom jedinicom. Predložene značajke omogućuju vam stvaranje neke vrste vatrozida za systemd usluge. Primjer pisanja jednostavan mrežni filtar temeljen na BPF-u;

  • Naredba “clean” dodana je uslužnom programu systemctl za brisanje predmemorije, runtime datoteka, informacija o statusu i direktorija dnevnika;
  • systemd-networkd dodaje podršku za MACsec, nlmon, IPVTAP i Xfrm mrežna sučelja;
  • systemd-networkd implementira odvojenu konfiguraciju DHCPv4 i DHCPv6 stekova kroz “[DHCPv4]” i “[DHCPv6]” odjeljake u konfiguracijskoj datoteci. Dodana je opcija RoutesToDNS za dodavanje zasebne rute do DNS poslužitelja navedenog u parametrima primljenim od DHCP poslužitelja (tako da se promet prema DNS-u šalje preko iste veze kao i glavna ruta primljena od DHCP-a). Dodane su nove opcije za DHCPv4: MaxAttempts - maksimalan broj zahtjeva za dobivanje adrese, BlackList - crna lista DHCP poslužitelja, SendRelease - omogući slanje DHCP RELEASE poruka kada sesija završi;
  • Nove naredbe dodane su uslužnom programu systemd-analyze:
    • “systemd-analyze timestamp” - parsiranje vremena i konverzija;
    • “systemd-analyze timespan” - analiza i konverzija vremenskih razdoblja;
    • “systemd-analyze uvjet” - raščlanjivanje i testiranje ConditionXYZ izraza;
    • “systemd-analyze exit-status” - analiziranje i pretvaranje izlaznih kodova iz brojeva u imena i obrnuto;
    • "systemd-analyze unit-files" - Ispisuje sve staze datoteka za jedinice i pseudonime jedinica.
  • Opcije SuccessExitStatus, RestartPreventExitStatus i
    RestartForceExitStatus sada podržava ne samo numeričke povratne kodove, već i njihove tekstualne identifikatore (na primjer, "DATAERR"). Možete pogledati popis kodova dodijeljenih identifikatorima pomoću naredbe “sytemd-analyze exit-status”;

  • Naredba “delete” dodana je uslužnom programu networkctl za brisanje virtualnih mrežnih uređaja, kao i opcija “—stats” za prikaz statistike uređaja;
  • Postavke SpeedMeter i SpeedMeterIntervalSec dodane su u networkd.conf za povremeno mjerenje propusnosti mrežnih sučelja. Statistika dobivena iz rezultata mjerenja može se vidjeti u izlazu naredbe 'networkctl status';
  • Dodan novi pomoćni program systemd-network-generator za generiranje datoteka
    .network, .netdev i .link na temelju IP postavki proslijeđenih prilikom pokretanja putem naredbenog retka jezgre Linuxa u Dracut formatu postavki;

  • Vrijednost sysctl "kernel.pid_max" na 64-bitnim sustavima sada je prema zadanim postavkama postavljena na 4194304 (22-bitni PID-ovi umjesto 16-bitni), što smanjuje vjerojatnost kolizija pri dodjeljivanju PID-ova, povećava ograničenje broja simultanih pokrenute procese, te pozitivno utječe na sigurnost. Promjena bi potencijalno mogla dovesti do problema s kompatibilnošću, ali takvi problemi još nisu prijavljeni u praksi;
  • Prema zadanim postavkama, faza izgradnje prebacuje se na jedinstvenu hijerarhiju cgroups-v2 (“-Ddefault-hierarchy=unified”). Prethodno je zadani bio hibridni način rada (“-Ddefault-hierarchy=hybrid”);
  • Promijenjeno je ponašanje filtra sistemskih poziva (SystemCallFilter) koji u slučaju zabranjenog sistemskog poziva sada prekida cijeli proces, a ne pojedine dretve, jer bi prekid pojedine dretve mogao dovesti do nepredvidivih problema. Promjene se primjenjuju samo ako imate Linux kernel 4.14+ i libseccomp 2.4.0+;
  • Neprivilegirani programi dobivaju mogućnost slanja ICMP Echo (ping) paketa postavljanjem sysctl "net.ipv4.ping_group_range" za cijeli raspon grupa (za sve procese);
  • Kako bi se ubrzao proces izgradnje, generiranje man priručnika je zaustavljeno prema zadanim postavkama (za izgradnju pune dokumentacije morate koristiti opciju “-Dman=true” ili “-Dhtml=true” za priručnike u html formatu). Kako bi se olakšao pregled dokumentacije, uključene su dvije skripte: build/man/man i build/man/html za generiranje i pregled priručnika od interesa;
  • Za obradu imena domena sa znakovima iz nacionalnih abeceda, biblioteka libidn2 se koristi prema zadanim postavkama (za vraćanje libidn, koristite opciju “-Dlibidn=true”);
  • Podrška za /usr/sbin/halt.local izvršnu datoteku, koja je pružala funkcionalnost koja nije bila široko distribuirana u distribucijama, je prekinuta. Za organizaciju pokretanja naredbi prilikom gašenja preporučuje se korištenje skripti u /usr/lib/systemd/system-shutdown/ ili definiranje nove jedinice koja ovisi o final.target;
  • U posljednjoj fazi gašenja, systemd sada automatski povećava razinu zapisnika u sysctl “kernel.printk”, što rješava problem s prikazom u dnevniku događaja koji su se dogodili u kasnijim fazama gašenja, kada su regularni demoni zapisivanja već završili ;
  • U journalctl-u i drugim uslužnim programima koji prikazuju zapise, upozorenja su označena žutom bojom, a revizijski zapisi označeni su plavom bojom kako bi se vizualno istaknuli iz gomile;
  • U varijabli okoline $PATH, staza do bin/ sada dolazi prije puta do sbin/, tj. ako postoje identični nazivi izvršnih datoteka u oba direktorija, datoteka iz bin/ će se izvršiti;
  • systemd-logind pruža poziv SetBrightness() za sigurnu promjenu svjetline zaslona po sesiji;
  • Oznaka “--wait-for-initialization” dodana je naredbi “udevadm info” za čekanje da se uređaj inicijalizira;
  • Tijekom pokretanja sustava, PID 1 rukovatelj sada prikazuje nazive jedinica umjesto retka s njihovim opisom. Za povratak na prošlo ponašanje možete koristiti opciju StatusUnitFormat u /etc/systemd/system.conf ili opciju jezgre systemd.status_unit_format;
  • Dodana opcija KExecWatchdogSec u /etc/systemd/system.conf za PID nadzornog psa 1, koji navodi vrijeme čekanja za ponovno pokretanje pomoću kexeca. Stara postavka
    ShutdownWatchdogSec je preimenovan u RebootWatchdogSec i definira vremensko ograničenje za poslove tijekom isključivanja ili normalnog ponovnog pokretanja;

  • Dodana je nova opcija za usluge ExecCondition, koji vam omogućuje da odredite naredbe koje će se izvršiti prije ExecStartPre. Na temelju koda greške koji vraća naredba donosi se odluka o daljnjem izvršavanju jedinice - ako je vraćen kod 0, pokretanje jedinice se nastavlja, ako je od 1 do 254 tiho završava bez zastavice neuspjeha, ako je 255 završava s zastavica neuspjeha;
  • Dodana je nova usluga systemd-pstore.service za izdvajanje podataka iz sys/fs/pstore/ i iz spremanja u /var/lib/pstore za daljnju analizu;
  • Nove naredbe dodane su uslužnom programu timedatectl za konfiguriranje NTP parametara za systemd-timesyncd u odnosu na mrežna sučelja;
  • Naredba "localectl list-locales" više ne prikazuje lokalizacije osim UTF-8;
  • Osigurava da se greške dodjele varijable u datotekama sysctl.d/ zanemare ako naziv varijable počinje znakom “-“;
  • Usluga systemd-random-seed.service sada je u potpunosti odgovoran za pokretanje skupa entropije generatora pseudoslučajnih brojeva Linux kernela. Usluge koje zahtijevaju ispravno inicijalizirani /dev/urandom trebaju se pokrenuti nakon systemd-random-seed.service;
  • Systemd-boot boot loader pruža izbornu mogućnost podrške sjemenska datoteka s nasumičnim slijedom u particiji sustava EFI (ESP);
  • Dodane su nove naredbe bootctl uslužnom programu: “bootctl random-seed” za generiranje početne datoteke u ESP-u i “bootctl is-installed” za provjeru instalacije systemd-boot pokretačkog programa. bootctl je također prilagođen za prikaz upozorenja o neispravnoj konfiguraciji unosa za pokretanje (na primjer, kada je slika kernela izbrisana, ali je ostavljen unos za njeno učitavanje);
  • Omogućuje automatski odabir swap particije kada sustav prijeđe u stanje mirovanja. Particija se odabire ovisno o prioritetu koji je za nju konfiguriran, au slučaju identičnih prioriteta, o količini slobodnog prostora;
  • Dodana opcija vremenskog ograničenja datoteke ključa u /etc/crypttab za postavljanje koliko će dugo uređaj s ključem za šifriranje čekati prije nego što zatraži lozinku za pristup šifriranoj particiji;
  • Dodana opcija IOWeight za postavljanje I/O težine za BFQ planer;
  • systemd-resolved dodao je 'strogi' način rada za DNS-over-TLS i implementirao mogućnost predmemoriranja samo pozitivnih DNS odgovora ("Cache no-negative" u resolved.conf);
  • Za VXLAN, systemd-networkd je dodao opciju GenericProtocolExtension za omogućavanje proširenja VXLAN protokola. Za VXLAN i GENEVE, opcija IPDoNotFragment je dodana za postavljanje oznake zabrane fragmentacije za odlazne pakete;
  • U systemd-networkd u sekciji “[Route]” pojavila se opcija FastOpenNoCookie za omogućavanje mehanizma za brzo otvaranje TCP veza (TFO - TCP Fast Open, RFC 7413) u odnosu na pojedinačne rute, kao i opcija TTLPropagate za konfiguriranje TTL LSP (Label Switched Path). Opcija "Vrsta" pruža podršku za lokalne, emitirane, bilo koje, multicast, bilo koje i xresolve načine usmjeravanja;
  • Systemd-networkd nudi opciju DefaultRouteOnDevice u odjeljku “[Network]” za automatsku konfiguraciju zadane rute za određeni mrežni uređaj;
  • Systemd-networkd je dodao ProxyARP i
    ProxyARPWifi za postavljanje proxy ARP ponašanja, MulticastRouter za postavljanje parametara usmjeravanja u multicast modu, MulticastIGMPVersion za promjenu verzije IGMP (Internet Group Management Protocol) za multicast;

  • Systemd-networkd je dodao opcije Local, Peer i PeerPort za FooOverUDP tunele za konfiguraciju lokalne i udaljene IP adrese, kao i broj mrežnog porta. Za TUN tunele, VnetHeader opcija je dodana za konfiguraciju GSO (Generic Segment Offload) podrške;
  • U systemd-networkd, u datotekama .network i .link u odjeljku [Match], pojavila se opcija Property, koja vam omogućuje da identificirate uređaje prema njihovim specifičnim svojstvima u udev;
  • U systemd-networkd, opcija AssignToLoopback je dodana za tunele, koja kontrolira da li je kraj tunela dodijeljen uređaju povratne petlje “lo”;
  • systemd-networkd automatski aktivira IPv6 stack ako je blokiran preko sysctl disable_ipv6 - IPv6 se aktivira ako su IPv6 postavke (statičke ili DHCPv6) definirane za mrežno sučelje, inače se već postavljena sysctl vrijednost ne mijenja;
  • U .network datotekama postavka CriticalConnection zamijenjena je opcijom KeepConfiguration, koja pruža više načina za definiranje situacija (“yes”, “static”, “dhcp-on-stop”, “dhcp”) u kojima bi systemd-networkd trebao ne dirajte postojeće veze prilikom pokretanja;
  • Ranjivost je riješena CVE-2019-15718, uzrokovano nedostatkom kontrole pristupa sučelju D-Bus systemd-riješeno. Problem omogućuje neprivilegiranom korisniku izvođenje operacija koje su dostupne samo administratorima, kao što je mijenjanje DNS postavki i usmjeravanje DNS upita lažnom poslužitelju;
  • Ranjivost je riješena CVE-2019-9619povezan s neomogućavanjem pam_systemd za neinteraktivne sesije, što dopušta lažiranje aktivne sesije.

Izvor: opennet.ru

Dodajte komentar