Systemd System Manager izdaja 243

Po petih mesecih razvoja predstavljeno izdaja upravitelja sistema systemd 243. Med novostmi lahko omenimo integracijo v PID 1 upravljalnika za pomanjkanje pomnilnika v sistemu, podporo za pripenjanje lastnih programov BPF za filtriranje prometa enot, številne nove možnosti za systemd-networkd, način za spremljanje pasovne širine omrežja. vmesniki, privzeto omogočanje v 64-bitnih sistemih 22-bitnih številk PID namesto 16-bitnih, prehod na poenoteno hierarhijo cgroups, vključitev v systemd-network-generator.

Večje spremembe:

  • Prepoznavanje signalov o pomanjkanju pomnilnika, ki jih ustvari jedro (Out-Of-Memory, OOM), je bilo dodano upravljalniku PID 1 za prenos enot, ki so dosegle omejitev porabe pomnilnika, v posebno stanje z izbirno možnostjo, da jih prisili, da prekinejo ali ustaviti;
  • Za datoteke enot so novi parametri IPIngressFilterPath in
    IPEgressFilterPath, ki omogoča povezovanje programov BPF s poljubnimi upravljalniki za filtriranje dohodnih in odhodnih paketov IP, ki jih ustvarijo procesi, povezani s to enoto. Predlagane funkcije vam omogočajo, da ustvarite nekakšen požarni zid za sistemske storitve. Primer pisanja preprost omrežni filter, ki temelji na BPF;

  • Pripomočku systemctl je bil dodan ukaz »clean« za brisanje predpomnilnika, datotek izvajalnega časa, informacij o stanju in imenikov dnevnikov;
  • systemd-networkd dodaja podporo za omrežne vmesnike MACsec, nlmon, IPVTAP in Xfrm;
  • systemd-networkd izvaja ločeno konfiguracijo skladov DHCPv4 in DHCPv6 prek razdelkov »[DHCPv4]« in »[DHCPv6]« v konfiguracijski datoteki. Dodana je bila možnost RoutesToDNS za dodajanje ločene poti do strežnika DNS, določenega v parametrih, prejetih od strežnika DHCP (tako da je promet do DNS poslan prek iste povezave kot glavna pot, prejeta od DHCP). Za DHCPv4 so dodane nove možnosti: MaxAttempts - največje število zahtev za pridobitev naslova, BlackList - črni seznam strežnikov DHCP, SendRelease - omogoči pošiljanje sporočil DHCP RELEASE ob koncu seje;
  • V pripomoček systemd-analyze so bili dodani novi ukazi:
    • “systemd-analyze timestamp” - časovno razčlenjevanje in pretvorba;
    • “systemd-analyze timespan” - analiza in pretvorba časovnih obdobij;
    • “systemd-analyze condition” - razčlenjevanje in testiranje izrazov ConditionXYZ;
    • “systemd-analyze exit-status” - razčlenjevanje in pretvorba izhodnih kod iz številk v imena in obratno;
    • "systemd-analyze unit-files" - Navede vse poti datotek za enote in vzdevke enot.
  • Možnosti SuccessExitStatus, RestartPreventExitStatus in
    RestartForceExitStatus zdaj ne podpira samo številskih povratnih kod, ampak tudi njihove besedilne identifikatorje (na primer "DATAERR"). Seznam kod, dodeljenih identifikatorjem, si lahko ogledate z ukazom “sytemd-analyze exit-status”;

  • Ukaz »delete« je bil dodan pripomočku networkctl za brisanje virtualnih omrežnih naprav, kot tudi možnost »—stats« za prikaz statistike naprave;
  • Nastavitve SpeedMeter in SpeedMeterIntervalSec so bile dodane v networkd.conf za periodično merjenje prepustnosti omrežnih vmesnikov. Statistiko, pridobljeno iz rezultatov meritev, si lahko ogledate v izhodu ukaza 'networkctl status';
  • Dodan nov pripomoček systemd-network-generator za generiranje datotek
    .network, .netdev in .link na podlagi nastavitev IP, posredovanih ob zagonu prek ukazne vrstice jedra Linuxa v formatu nastavitev Dracut;

  • Vrednost sysctl "kernel.pid_max" v 64-bitnih sistemih je zdaj privzeto nastavljena na 4194304 (22-bitni PID-ji namesto 16-bitnih), kar zmanjša verjetnost kolizij pri dodeljevanju PID-jev in poveča omejitev števila sočasnih teče procese in pozitivno vpliva na varnost. Sprememba bi lahko povzročila težave z združljivostjo, vendar o takih težavah v praksi še niso poročali;
  • Privzeto stopnja gradnje preklopi na poenoteno hierarhijo cgroups-v2 (»-Ddefault-hierarchy=unified«). Prej je bil privzeti način hibridni (»-Ddefault-hierarchy=hybrid«);
  • Spremenjeno je obnašanje filtra sistemskih klicev (SystemCallFilter), ki v primeru prepovedanega sistemskega klica zdaj prekine celoten proces in ne posameznih niti, saj lahko prekinitev posameznih niti povzroči nepredvidljive težave. Spremembe veljajo le, če imate jedro Linuxa 4.14+ in libseccomp 2.4.0+;
  • Neprivilegiranim programom je dana možnost pošiljanja paketov ICMP Echo (ping) z nastavitvijo sysctl "net.ipv4.ping_group_range" za celoten obseg skupin (za vse procese);
  • Da bi pospešili postopek izdelave, je bilo ustvarjanje man priročnikov privzeto ustavljeno (za izdelavo celotne dokumentacije morate uporabiti možnost »-Dman=true« ali »-Dhtml=true« za priročnike v formatu html). Za lažji ogled dokumentacije sta vključena dva skripta: build/man/man in build/man/html za generiranje in predogled zanimivih priročnikov;
  • Za obdelavo domenskih imen z znaki iz nacionalnih abeced se privzeto uporablja knjižnica libidn2 (za vrnitev libidn uporabite možnost “-Dlibidn=true”);
  • Podpora za izvršljivo datoteko /usr/sbin/halt.local, ki je zagotavljala funkcionalnost, ki ni bila široko razširjena v distribucijah, je bila ukinjena. Za organizacijo zagona ukazov ob zaustavitvi je priporočljivo uporabiti skripte v /usr/lib/systemd/system-shutdown/ ali določiti novo enoto, ki je odvisna od final.target;
  • Na zadnji stopnji zaustavitve sistem zdaj samodejno poveča raven dnevnika v sysctl “kernel.printk”, kar reši težavo s prikazovanjem v dnevniku dogodkov, ki so se zgodili v poznejših fazah zaustavitve, ko so običajni demoni beleženja že zaključili ;
  • V journalctl in drugih pripomočkih, ki prikazujejo dnevnike, so opozorila označena z rumeno, revizijski zapisi pa so označeni z modro, da jih vizualno izpostavite iz množice;
  • V spremenljivki okolja $PATH je pot do bin/ zdaj pred potjo do sbin/, tj. če so v obeh imenikih enaka imena izvedljivih datotek, bo izvedena datoteka iz bin/;
  • systemd-logind zagotavlja klic SetBrightness() za varno spreminjanje svetlosti zaslona na podlagi posamezne seje;
  • Zastavica “--wait-for-initialization” je bila dodana ukazu “udevadm info” za čakanje na inicializacijo naprave;
  • Med zagonom sistema upravljalnik PID 1 zdaj prikaže imena enot namesto vrstice z njihovim opisom. Če se želite vrniti na preteklo vedenje, lahko uporabite možnost StatusUnitFormat v /etc/systemd/system.conf ali možnost jedra systemd.status_unit_format;
  • Dodana možnost KExecWatchdogSec v /etc/systemd/system.conf za nadzorni PID 1, ki določa časovno omejitev za ponovni zagon z uporabo kexeca. Stara nastavitev
    ShutdownWatchdogSec je bil preimenovan v RebootWatchdogSec in določa časovno omejitev za opravila med zaustavitvijo ali običajnim ponovnim zagonom;

  • Dodana je nova možnost za storitve ExecCondition, ki vam omogoča, da določite ukaze, ki bodo izvedeni pred ExecStartPre. Na podlagi kode napake, ki jo vrne ukaz, se odloči o nadaljnjem izvajanju enote - če je vrnjena koda 0, se zagon enote nadaljuje, če od 1 do 254 se tiho konča brez zastavice za napako, če je 255 se konča z zastavica napake;
  • Dodana nova storitev systemd-pstore.service za pridobivanje podatkov iz sys/fs/pstore/ in iz shranjevanja v /var/lib/pstore za nadaljnjo analizo;
  • V pripomoček timedatectl so bili dodani novi ukazi za konfiguriranje parametrov NTP za systemd-timesyncd v povezavi z omrežnimi vmesniki;
  • Ukaz "localectl list-locales" ne prikazuje več področnih nastavitev razen UTF-8;
  • Zagotavlja, da so napake pri dodelitvi spremenljivke v datotekah sysctl.d/ prezrte, če se ime spremenljivke začne z znakom »-«;
  • Orodja systemd-random-seed.service je zdaj v celoti odgovoren za inicializacijo entropijskega bazena generatorja psevdonaključnih števil jedra Linux. Storitve, ki zahtevajo pravilno inicializiran /dev/urandom, je treba zagnati po systemd-random-seed.service;
  • Zagonski nalagalnik systemd-boot nudi izbirno možnost podpore semenska datoteka z naključnim zaporedjem v sistemski particiji EFI (ESP);
  • Pripomočku bootctl so bili dodani novi ukazi: »bootctl random-seed« za ustvarjanje semenske datoteke v ESP in »bootctl is-installed« za preverjanje namestitve zagonskega nalagalnika systemd-boot. bootctl je bil prilagojen tudi za prikaz opozoril o nepravilni konfiguraciji zagonskih vnosov (na primer, ko je slika jedra izbrisana, vendar je ostal vnos za njeno nalaganje);
  • Omogoča samodejno izbiro izmenjalne particije, ko sistem preklopi v način mirovanja. Particija je izbrana glede na prioriteto, ki je zanjo konfigurirana, in v primeru enakih prioritet glede na količino prostega prostora;
  • V /etc/crypttab dodana možnost časovne omejitve datoteke s ključi za nastavitev, kako dolgo bo naprava s šifrirnim ključem čakala, preden zahteva geslo za dostop do šifrirane particije;
  • Dodana možnost IOWeight za nastavitev V/I teže za razporejevalnik BFQ;
  • systemd-resolved je dodal 'strogi' način za DNS-over-TLS in implementiral možnost predpomnilnika samo pozitivnih odgovorov DNS ("Cache no-negative" v resolved.conf);
  • Za VXLAN je systemd-networkd dodal možnost GenericProtocolExtension za omogočanje razširitev protokola VXLAN. Za VXLAN in GENEVE je bila dodana možnost IPDoNotFragment za nastavitev zastavice prepovedi fragmentacije za odhodne pakete;
  • V systemd-networkd se je v razdelku “[Route]” pojavila možnost FastOpenNoCookie za omogočanje mehanizma za hitro odpiranje TCP povezav (TFO - TCP Fast Open, RFC 7413) glede na posamezne poti ter možnost TTLPropagate za konfiguracijo TTL LSP (Label Switched Path). Možnost »Vrsta« nudi podporo za načine usmerjanja lokalni, oddajni, katerikoli, večvrstni, kateri koli in xresolve;
  • Systemd-networkd ponuja možnost DefaultRouteOnDevice v razdelku »[Network]« za samodejno konfiguracijo privzete poti za dano omrežno napravo;
  • Systemd-networkd je dodal ProxyARP in
    ProxyARPWifi za nastavitev vedenja proxy ARP, MulticastRouter za nastavitev usmerjevalnih parametrov v multicast načinu, MulticastIGMPVersion za spreminjanje različice IGMP (Internet Group Management Protocol) za multicast;

  • Systemd-networkd je dodal možnosti Local, Peer in PeerPort za tunele FooOverUDP za konfiguracijo lokalnih in oddaljenih naslovov IP ter številke omrežnih vrat. Za tunele TUN je bila dodana možnost VnetHeader za konfiguracijo podpore GSO (Generic Segment Offload);
  • V systemd-networkd se je v datotekah .network in .link v razdelku [Match] pojavila možnost Property, ki omogoča prepoznavanje naprav po njihovih posebnih lastnostih v udev;
  • V systemd-networkd je bila za tunele dodana možnost AssignToLoopback, ki nadzoruje, ali je konec tunela dodeljen napravi za povratno zanko »lo«;
  • systemd-networkd samodejno aktivira sklad IPv6, če je blokiran prek sysctl disable_ipv6 - IPv6 se aktivira, če so za omrežni vmesnik definirane nastavitve IPv6 (statične ali DHCPv6), sicer se že nastavljena vrednost sysctl ne spremeni;
  • V datotekah .network je bila nastavitev CriticalConnection nadomeščena z možnostjo KeepConfiguration, ki ponuja več sredstev za definiranje situacij (»yes«, »static«, »dhcp-on-stop«, »dhcp«), v katerih naj systemd-networkd ob zagonu se ne dotikajte obstoječih povezav;
  • Ranljivost odpravljena CVE-2019-15718, ki ga je povzročilo pomanjkanje nadzora dostopa do vmesnika D-Bus, sistemsko rešeno. Težava neprivilegiranemu uporabniku omogoča izvajanje operacij, ki so na voljo samo skrbnikom, kot je spreminjanje nastavitev DNS in usmerjanje poizvedb DNS na lažni strežnik;
  • Ranljivost odpravljena CVE-2019-9619povezano z neomogočanjem pam_systemd za neinteraktivne seje, kar omogoča lažno uporabo aktivne seje.

Vir: opennet.ru

Dodaj komentar