Nakon pet mjeseci razvoja izdanje sistemskog menadžera . 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. 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 , š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 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 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 , 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 vezano za neomogućavanje pam_systemd za neinteraktivne sesije, što dozvoljava lažiranje aktivne sesije.
izvor: opennet.ru
