systemd sistem menadžer izdanje 243

Nakon pet mjeseci razvoja predstavljen izdanje sistemskog menadžera systemd 243. Među inovacijama možemo istaći integraciju u PID 1 rukovaoca za malo memorije u sistemu, podršku za priključivanje sopstvenih BPF programa za filtriranje jediničnog saobraćaja, brojne nove opcije za systemd-networkd, mod za praćenje propusnog opsega mreže interfejsi, omogućavanje podrazumevano na 64-bitnim sistemima 22-bitnih PID brojeva umesto 16-bitnih, prelazak na jedinstvenu hijerarhiju cgroups, uključivanje u systemd-network-generator.

Glavne promjene:

  • Prepoznavanje signala generisanih jezgrom o nedostatku memorije (Out-Of-Memory, OOM) dodano je PID 1 rukovaocu za prijenos jedinica koje su dostigle granicu potrošnje memorije u posebno stanje s opcionom mogućnošću da ih se prisili da prekinu ili stop;
  • Za datoteke jedinica, novi parametri IPIngressFilterPath i
    IPEgressFilterPath, koji vam omogućava da povežete BPF programe sa proizvoljnim rukovaocima za filtriranje dolaznih i odlaznih IP paketa generisanih od strane procesa povezanih sa ovom jedinicom. Predložene funkcije vam omogućavaju da kreirate neku vrstu zaštitnog zida za sistemske usluge. Primjer pisanja jednostavan mrežni filter baziran na BPF-u;

  • Komanda “clean” je dodata uslužnom programu systemctl za brisanje keš memorije, runtime fajlova, informacija o statusu i direktorijuma 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 odeljke “[DHCPv4]” i “[DHCPv6]” u konfiguracionoj datoteci. Dodata je opcija RoutesToDNS za dodavanje zasebne rute na DNS server naveden u parametrima primljenim od DHCP servera (tako da se saobraćaj do DNS-a šalje preko iste veze kao i glavna ruta primljena od DHCP-a). Dodane su nove opcije za DHCPv4: MaxAttempts - maksimalan broj zahtjeva za dobijanje adrese, BlackList - crna lista DHCP servera, SendRelease - omogući slanje DHCP RELEASE poruka kada se sesija završi;
  • Nove komande su dodane u pomoćni program systemd-analyze:
    • “systemd-analyze timestamp” - raščlanjivanje i konverzija vremena;
    • “systemd-analyze timespan” - analiza i konverzija vremenskih perioda;
    • “systemd-analyze uslov” - raščlanjivanje i testiranje ConditionXYZ izraza;
    • “systemd-analyze exit-status” - raščlanjivanje i pretvaranje izlaznih kodova iz brojeva u imena i obrnuto;
    • "systemd-analyze unit-files" - Navodi sve putanje 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 listu kodova dodijeljenih identifikatorima pomoću naredbe “sytemd-analyze exit-status”;

  • Komanda “delete” dodana je uslužnom programu networkctl za brisanje virtuelnih mrežnih uređaja, kao i opcija “—stats” za prikaz statistike uređaja;
  • Postavke SpeedMeter i SpeedMeterIntervalSec su dodane u networkd.conf za periodično mjerenje propusnosti mrežnih sučelja. Statistike dobijene iz rezultata mjerenja mogu se vidjeti u izlazu naredbe 'networkctl status';
  • Dodan novi uslužni program systemd-network-generator za generiranje datoteka
    .network, .netdev i .link na osnovu IP postavki koje su proslijeđene prilikom pokretanja putem komandne linije Linux kernela u Dracut formatu postavki;

  • Vrijednost sysctl "kernel.pid_max" na 64-bitnim sistemima sada je prema zadanim postavkama postavljena na 4194304 (22-bitni PID-ovi umjesto 16-bitnih), što smanjuje vjerovatnoću kolizija prilikom dodjele PID-ova, povećava ograničenje broja istovremenih pokrenuti procese i ima pozitivan uticaj na sigurnost. Promjena bi potencijalno mogla dovesti do problema kompatibilnosti, ali takvi problemi još uvijek nisu prijavljeni u praksi;
  • Po defaultu, faza izgradnje prelazi na objedinjene hijerarhije cgroups-v2 (“-Ddefault-hierarchy=unified”). Ranije je podrazumevani bio hibridni režim (“-Ddefault-hierarchy=hybrid”);
  • Promijenjeno je ponašanje filtera sistemskog poziva (SystemCallFilter), koji u slučaju zabranjenog sistemskog poziva sada prekida cijeli proces, a ne pojedinačne niti, jer bi prekid pojedinačnih niti mogao dovesti do nepredvidivih problema. Promjene se primjenjuju samo ako imate Linux kernel 4.14+ i libseccomp 2.4.0+;
  • Neprivilegirani programi imaju 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 izrade, generiranje man priručnika je zaustavljeno prema zadanim postavkama (da biste napravili potpunu dokumentaciju, trebate koristiti opciju “-Dman=true” ili “-Dhtml=true” za priručnike u html formatu). Da bi se olakšalo 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 po defaultu (da biste vratili libidn, koristite opciju “-Dlibidn=true”);
  • Podrška za /usr/sbin/halt.local izvršnu datoteku, koja je pružala funkcionalnost koja nije bila široko rasprostranjena u distribucijama, je ukinuta. Za organizaciju pokretanja komandi 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 poslednjoj fazi gašenja, systemd sada automatski povećava nivo evidencije u sysctl-u “kernel.printk”, što rešava problem sa prikazivanjem u dnevniku događaja koji su se desili u kasnijim fazama gašenja, kada su redovni demoni za evidentiranje već završeni ;
  • U journalctl i drugim uslužnim programima koji prikazuju dnevnike, upozorenja su istaknuta žutom bojom, a zapisi revizije su istaknuti plavom bojom kako bi se vizuelno istakli iz gomile;
  • U varijabli okruženja $PATH, put do bin/ sada dolazi prije puta do sbin/, tj. ako postoje identična imena izvršnih datoteka u oba direktorija, datoteka iz bin/ će se izvršiti;
  • systemd-logind pruža SetBrightness() poziv za bezbednu promenu osvetljenosti ekrana po sesiji;
  • Oznaka “--wait-for-initialization” je dodana naredbi “udevadm info” da se sačeka da se uređaj inicijalizira;
  • Tokom pokretanja sistema, PID 1 rukovalac sada prikazuje nazive jedinica umesto reda sa njihovim opisom. Da biste se vratili na prošlo ponašanje, možete koristiti opciju StatusUnitFormat u /etc/systemd/system.conf ili systemd.status_unit_format opciju kernela;
  • Dodata opcija KExecWatchdogSec u /etc/systemd/system.conf za watchdog PID 1, koja specificira vremensko ograničenje za ponovno pokretanje pomoću kexeca. Stara postavka
    ShutdownWatchdogSec je preimenovan u RebootWatchdogSec i definiše vremensko ograničenje za poslove tokom gašenja ili normalnog ponovnog pokretanja;

  • Dodata je nova opcija za usluge ExecCondition, što vam omogućava da odredite komande koje će se izvršiti prije ExecStartPre. Na osnovu šifre greške koju je vratila naredba, donosi se odluka o daljem izvršavanju jedinice - ako se vrati šifra 0, pokretanje jedinice se nastavlja, ako od 1 do 254 tiho završava bez oznake neuspjeha, ako 255 završava sa oznaka neuspjeha;
  • Dodata je nova usluga systemd-pstore.service za izdvajanje podataka iz sys/fs/pstore/ i za čuvanje u /var/lib/pstore radi dalje analize;
  • Nove komande su dodane uslužnom programu timedatectl za konfigurisanje 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 varijabli u sysctl.d/ datotekama zanemaruju ako ime varijable počinje znakom “-“;
  • usluga systemd-random-seed.service je sada u potpunosti odgovoran za inicijalizaciju entropijskog bazena generatora pseudoslučajnih brojeva Linux kernela. Usluge koje zahtijevaju ispravno inicijaliziran /dev/urandom treba pokrenuti nakon systemd-random-seed.service;
  • Systemd-boot loader pruža opcionu mogućnost podrške seed file sa slučajnim redoslijedom u EFI sistemskoj particiji (ESP);
  • Nove komande su dodane u pomoćni program bootctl: “bootctl random-seed” za generiranje seed datoteke u ESP-u i “bootctl is-installed” za provjeru instalacije systemd-boot loadera. bootctl je također prilagođen da prikazuje upozorenja o neispravnoj konfiguraciji unosa za pokretanje (na primjer, kada je slika kernela izbrisana, ali je ostavljen unos za učitavanje);
  • Omogućava automatski odabir swap particije kada sistem pređe u stanje mirovanja. Particija se bira u zavisnosti od prioriteta koji je za nju konfigurisan, au slučaju identičnih prioriteta, količine slobodnog prostora;
  • Dodata opcija keyfile-timeout u /etc/crypttab za postavljanje koliko dugo će uređaj sa ključem za šifriranje čekati prije nego što zatraži lozinku za pristup šifriranoj particiji;
  • Dodata opcija IOWeight za postavljanje I/O težine za BFQ planer;
  • systemd-resolved je dodao 'strogi' način za DNS-over-TLS i implementirao mogućnost keširanja samo pozitivnih DNS odgovora ("Cache no-negative" u resolved.conf);
  • Za VXLAN, systemd-networkd je dodao opciju GenericProtocolExtension da omogući proširenja VXLAN protokola. Za VXLAN i GENEVE, opcija IPDoNotFragment je dodana za postavljanje oznake zabrane fragmentacije za odlazne pakete;
  • U systemd-networkd, u odjeljku “[Route]” pojavila se opcija FastOpenNoCookie koja omogućava mehanizam za brzo otvaranje TCP veza (TFO - TCP Fast Open, RFC 7413) u odnosu na pojedinačne rute, kao i opcija TTLPropagate da konfigurišete TTL LSP (label Switched Path). Opcija “Type” pruža podršku za lokalni, broadcast, anycast, multicast, bilo koji i xresolve način rutiranja;
  • Systemd-networkd nudi opciju DefaultRouteOnDevice u odjeljku “[Mreža]” za automatsko konfiguriranje zadane rute za dati mrežni uređaj;
  • Systemd-networkd je dodao ProxyARP i
    ProxyARPWifi za postavljanje proxy ARP ponašanja, MulticastRouter za postavljanje parametara rutiranja u multicast modu, MulticastIGMPVersion za promjenu IGMP (Internet Group Management Protocol) verzije za multicast;

  • Systemd-networkd je dodao opcije Local, Peer i PeerPort za FooOverUDP tunele da konfiguriše lokalne i udaljene IP adrese, kao i broj mrežnog porta. Za TUN tunele, opcija VnetHeader je dodana za konfigurisanje GSO (generičko otpuštanje segmenta) podrške;
  • U systemd-networkd, u datotekama .network i .link u odjeljku [Match], pojavila se opcija Property, koja vam omogućava da identifikujete uređaje prema njihovim specifičnim svojstvima u udevu;
  • U systemd-networkd, opcija AssignToLoopback je dodana za tunele, koja kontrolira da li je kraj tunela dodijeljen uređaju loopback “lo”;
  • systemd-networkd automatski aktivira IPv6 stek ako je blokiran preko sysctl disable_ipv6 - IPv6 se aktivira ako su IPv6 postavke (statičke ili DHCPv6) definirane za mrežni interfejs, inače se već postavljena sysctl vrijednost ne mijenja;
  • U .network datotekama, postavka CriticalConnection je zamijenjena opcijom KeepConfiguration, koja pruža više sredstava za definiranje situacija (“da”, “statična”, “dhcp-on-stop”, “dhcp”) u kojima bi systemd-networkd trebao ne dodirujte postojeće veze prilikom pokretanja;
  • Ranjivost je ispravljena CVE-2019-15718, uzrokovano nedostatkom kontrole pristupa D-Bus sučelju systemd-resolved. Problem dozvoljava neprivilegovanom korisniku da izvodi operacije koje su dostupne samo administratorima, kao što je promena DNS postavki i usmeravanje DNS upita na lažni server;
  • Ranjivost je ispravljena CVE-2019-9619vezano za neomogućavanje pam_systemd za neinteraktivne sesije, što dozvoljava lažiranje aktivne sesije.

izvor: opennet.ru

Dodajte komentar