systemd system manager release 243

Pagkatapos ng limang buwan ng pag-unlad ipinakita release ng system manager systemd 243. Kabilang sa mga inobasyon, mapapansin natin ang pagsasama sa PID 1 ng isang handler para sa mababang memorya sa system, suporta para sa pag-attach ng iyong sariling mga BPF program para sa pag-filter ng trapiko ng unit, maraming bagong opsyon para sa systemd-networkd, isang mode para sa pagsubaybay sa bandwidth ng network mga interface, na nagpapagana bilang default sa mga 64-bit na sistema ng 22-bit na mga numero ng PID sa halip na 16-bit, lumipat sa isang pinag-isang hierarchy ng cgroups, pagsasama sa systemd-network-generator.

Pangunahing pagbabago:

  • Ang pagkilala sa mga kernel-generated na signal tungkol sa out of memory (Out-Of-Memory, OOM) ay idinagdag sa PID 1 handler para ilipat ang mga unit na umabot na sa limitasyon sa pagkonsumo ng memory sa isang espesyal na estado na may opsyonal na kakayahang pilitin ang mga ito na wakasan. o huminto;
  • Para sa mga unit file, bagong parameter IPingressFilterPath at
    IPEgressFilterPath, na nagbibigay-daan sa iyong ikonekta ang mga BPF program na may mga arbitrary na tagapangasiwa upang i-filter ang mga papasok at papalabas na IP packet na nabuo ng mga prosesong nauugnay sa unit na ito. Ang mga iminungkahing tampok ay nagbibigay-daan sa iyo na lumikha ng isang uri ng firewall para sa mga serbisyo ng systemd. Halimbawa ng pagsulat isang simpleng filter ng network batay sa BPF;

  • Ang "malinis" na utos ay idinagdag sa systemctl utility upang tanggalin ang cache, mga runtime file, impormasyon ng katayuan at mga direktoryo ng log;
  • systemd-networkd ay nagdaragdag ng suporta para sa MACsec, nlmon, IPVTAP at Xfrm network interface;
  • Ang systemd-networkd ay nagpapatupad ng hiwalay na configuration ng DHCPv4 at DHCPv6 stack sa pamamagitan ng “[DHCPv4]” at “[DHCPv6]” na seksyon sa configuration file. Idinagdag ang opsyong RoutesToDNS upang magdagdag ng hiwalay na ruta sa DNS server na tinukoy sa mga parameter na natanggap mula sa DHCP server (upang ang trapiko sa DNS ay maipadala sa pamamagitan ng parehong link bilang pangunahing ruta na natanggap mula sa DHCP). Ang mga bagong opsyon ay naidagdag para sa DHCPv4: MaxAttempts - maximum na bilang ng mga kahilingan upang makakuha ng isang address, BlackList - itim na listahan ng mga DHCP server, SendRelease - paganahin ang pagpapadala ng mga mensahe ng DHCP RELEASE kapag natapos ang session;
  • Ang mga bagong command ay naidagdag sa systemd-analyze utility:
    • "systemd-analyze timestamp" - pag-parse ng oras at conversion;
    • "systemd-analyze timespan" - pagsusuri at conversion ng mga yugto ng panahon;
    • "systemd-analyze condition" - pag-parse at pagsubok ng mga expression ng ConditionXYZ;
    • "systemd-analyze exit-status" - pag-parse at pag-convert ng mga exit code mula sa mga numero patungo sa mga pangalan at vice versa;
    • "systemd-analyze unit-files" - Naglilista ng lahat ng path ng file para sa mga unit at unit alias.
  • Mga Opsyon SuccessExitStatus, RestartPreventExitStatus at
    Sinusuportahan na ngayon ng RestartForceExitStatus hindi lamang ang mga numeric return code, kundi pati na rin ang kanilang mga text identifier (halimbawa, "DATAERR"). Maaari mong tingnan ang listahan ng mga code na itinalaga sa mga identifier gamit ang command na "sytemd-analyze exit-status";

  • Ang utos na "tanggalin" ay idinagdag sa networkctl utility upang tanggalin ang mga virtual network device, pati na rin ang opsyon na "—stats" upang ipakita ang mga istatistika ng device;
  • Ang mga setting ng SpeedMeter at SpeedMeterIntervalSec ay idinagdag sa networkd.conf para sa pana-panahong pagsukat ng throughput ng mga interface ng network. Ang mga istatistikang nakuha mula sa mga resulta ng pagsukat ay maaaring matingnan sa output ng command na 'networkctl status';
  • Nagdagdag ng bagong utility systemd-network-generator para sa pagbuo ng mga file
    .network, .netdev at .link batay sa mga setting ng IP na ipinasa noong inilunsad sa pamamagitan ng Linux kernel command line sa format ng mga setting ng Dracut;

  • Ang halaga ng sysctl na "kernel.pid_max" sa mga 64-bit system ay nakatakda na ngayon bilang default sa 4194304 (22-bit PIDs sa halip na 16-bits), na nagpapababa sa posibilidad ng banggaan kapag nagtatalaga ng mga PID, pinatataas ang limitasyon sa bilang ng sabay-sabay tumatakbong mga proseso, at may positibong epekto sa seguridad. Ang pagbabago ay maaaring humantong sa mga isyu sa compatibility, ngunit ang mga naturang isyu ay hindi pa naiulat sa pagsasanay;
  • Bilang default, lumilipat ang yugto ng pagbuo sa pinag-isang hierarchy cgroups-v2 (“-Ddefault-hierarchy=unified”). Dati, ang default ay hybrid mode (“-Ddefault-hierarchy=hybrid”);
  • Ang pag-uugali ng filter ng system call (SystemCallFilter) ay binago, na, sa kaso ng isang ipinagbabawal na tawag sa system, ngayon ay tinatapos ang buong proseso, sa halip na mga indibidwal na thread, dahil ang pagwawakas ng mga indibidwal na thread ay maaaring humantong sa mga hindi mahuhulaan na problema. Nalalapat lang ang mga pagbabago kung mayroon kang Linux kernel 4.14+ at libseccomp 2.4.0+;
  • Ang mga unprivileged program ay binibigyan ng kakayahang magpadala ng ICMP Echo (ping) packet sa pamamagitan ng pagtatakda ng sysctl "net.ipv4.ping_group_range" para sa buong hanay ng mga grupo (para sa lahat ng proseso);
  • Upang mapabilis ang proseso ng pagbuo, ang pagbuo ng mga manwal ng tao ay itinigil bilang default (upang bumuo ng buong dokumentasyon, kailangan mong gamitin ang opsyong “-Dman=true” o “-Dhtml=true” para sa mga manual sa html na format). Upang gawing mas madaling tingnan ang dokumentasyon, dalawang script ang kasama: build/man/man at build/man/html para sa pagbuo at pag-preview ng mga manual ng interes;
  • Upang iproseso ang mga domain name na may mga character mula sa mga pambansang alpabeto, ang libidn2 library ay ginagamit bilang default (upang ibalik ang libidn, gamitin ang opsyong “-Dlibidn=true”);
  • Ang suporta para sa /usr/sbin/halt.local executable file, na nagbigay ng functionality na hindi malawak na ipinamamahagi sa mga distribusyon, ay hindi na ipinagpatuloy. Upang ayusin ang paglulunsad ng mga utos kapag nagsasara, inirerekumenda na gumamit ng mga script sa /usr/lib/systemd/system-shutdown/ o tumukoy ng bagong yunit na nakasalalay sa final.target;
  • Sa huling yugto ng pag-shutdown, awtomatikong pinapataas ng systemd ang antas ng log sa sysctl "kernel.printk", na nilulutas ang problema sa pagpapakita sa mga kaganapan sa log na naganap sa mga huling yugto ng pag-shutdown, kapag nakumpleto na ang mga regular na logging daemon. ;
  • Sa journalctl at iba pang mga utility na nagpapakita ng mga log, ang mga babala ay naka-highlight sa dilaw, at ang mga talaan ng audit ay naka-highlight sa asul upang biswal na i-highlight ang mga ito mula sa karamihan ng tao;
  • Sa $PATH environment variable, ang path sa bin/ ay nauuna na ngayon sa path sa sbin/, i.e. kung may magkaparehong pangalan ng mga executable na file sa parehong mga direktoryo, ang file mula sa bin/ ay isasagawa;
  • systemd-logind ay nagbibigay ng SetBrightness() na tawag upang ligtas na baguhin ang liwanag ng screen sa bawat session na batayan;
  • Ang flag na "--wait-for-initialization" ay idinagdag sa command na "udevadm info" upang hintayin na magsimula ang device;
  • Sa panahon ng system boot, ipinapakita na ngayon ng PID 1 handler ang mga pangalan ng mga unit sa halip na isang linya kasama ang kanilang paglalarawan. Upang bumalik sa dating gawi, maaari mong gamitin ang opsyon na StatusUnitFormat sa /etc/systemd/system.conf o ang systemd.status_unit_format kernel na opsyon;
  • Idinagdag ang opsyong KExecWatchdogSec sa /etc/systemd/system.conf para sa watchdog PID 1, na tumutukoy sa timeout para sa pag-restart gamit ang kexec. Lumang setting
    Ang ShutdownWatchdogSec ay pinalitan ng pangalan sa RebootWatchdogSec at tumutukoy ng timeout para sa mga trabaho sa panahon ng shutdown o normal na pag-restart;

  • May idinagdag na bagong opsyon para sa mga serbisyo ExecCondition, na nagpapahintulot sa iyo na tukuyin ang mga utos na isasagawa bago ang ExecStartPre. Batay sa error code na ibinalik ng utos, ang isang desisyon ay ginawa sa karagdagang pagpapatupad ng yunit - kung ang code 0 ay ibinalik, ang paglulunsad ng yunit ay magpapatuloy, kung mula 1 hanggang 254 ito ay tahimik na nagtatapos nang walang kabiguan na bandila, kung 255 ito ay nagtatapos sa isang bandila ng kabiguan;
  • Nagdagdag ng bagong serbisyo systemd-pstore.service upang kunin ang data mula sa sys/fs/pstore/ at mula sa pag-save sa /var/lib/pstore para sa karagdagang pagsusuri;
  • Ang mga bagong command ay naidagdag sa timedatectl utility para sa pag-configure ng mga parameter ng NTP para sa systemd-timesyncd kaugnay ng mga interface ng network;
  • Ang command na "localectl list-locales" ay hindi na nagpapakita ng mga lokal maliban sa UTF-8;
  • Tinitiyak na ang mga variable na error sa pagtatalaga sa sysctl.d/ file ay binabalewala kung ang pangalan ng variable ay nagsisimula sa character na "-“;
  • Tools systemd-random-seed.service ngayon ay ganap na responsable para sa pagsisimula ng entropy pool ng Linux kernel pseudorandom number generator. Ang mga serbisyong nangangailangan ng wastong pagsisimula ng /dev/urandom ay dapat magsimula pagkatapos ng systemd-random-seed.service;
  • Ang systemd-boot boot loader ay nagbibigay ng opsyonal na kakayahang suportahan file ng binhi na may random na pagkakasunod-sunod sa EFI System Partition (ESP);
  • Ang mga bagong command ay idinagdag sa bootctl utility: "bootctl random-seed" upang bumuo ng isang seed file sa ESP at "bootctl is-installed" upang suriin ang pag-install ng systemd-boot boot loader. inayos din ang bootctl upang magpakita ng mga babala tungkol sa maling pagsasaayos ng mga boot entries (halimbawa, kapag ang imahe ng kernel ay tinanggal, ngunit ang entry para sa paglo-load nito ay naiwan);
  • Nagbibigay ng awtomatikong pagpili ng swap partition kapag pumasok ang system sa sleep mode. Ang pagkahati ay pinili depende sa priyoridad na na-configure para dito, at sa kaso ng magkaparehong mga priyoridad, ang halaga ng libreng espasyo;
  • Idinagdag ang pagpipiliang keyfile-timeout sa /etc/crypttab upang itakda kung gaano katagal maghihintay ang device na may encryption key bago mag-prompt ng password para ma-access ang naka-encrypt na partition;
  • Idinagdag ang opsyon ng IOWeight upang itakda ang timbang ng I/O para sa scheduler ng BFQ;
  • systemd-resolved ay nagdagdag ng 'mahigpit' na mode para sa DNS-over-TLS at ipinatupad ang kakayahang mag-cache lamang ng mga positibong tugon sa DNS ("Cache no-negative" sa resolved.conf);
  • Para sa VXLAN, nagdagdag ang systemd-networkd ng opsyong GenericProtocolExtension upang paganahin ang mga extension ng protocol ng VXLAN. Para sa VXLAN at GENEVE, idinagdag ang opsyong IPDoNotFragment upang itakda ang bandila ng pagbabawal sa fragmentation para sa mga papalabas na packet;
  • Sa systemd-networkd, sa seksyong "[Route]", lumitaw ang opsyon na FastOpenNoCookie upang paganahin ang mekanismo para sa mabilis na pagbubukas ng mga koneksyon sa TCP (TFO - TCP Fast Open, RFC 7413) na may kaugnayan sa mga indibidwal na ruta, pati na rin ang opsyong TTLPropagate upang i-configure ang TTL LSP (Label Switched Path ). Ang opsyong "Uri" ay nagbibigay ng suporta para sa lokal, broadcast, anycast, multicast, anuman at xresolve routing mode;
  • Nag-aalok ang Systemd-networkd ng DefaultRouteOnDevice na opsyon sa seksyong “[Network]” upang awtomatikong mag-configure ng default na ruta para sa isang partikular na network device;
  • Ang Systemd-networkd ay nagdagdag ng ProxyARP at
    ProxyARPWifi para sa pagtatakda ng pag-uugali ng proxy ARP, MulticastRouter para sa pagtatakda ng mga parameter ng pagruruta sa multicast mode, MulticastIGMPVersion para sa pagbabago ng bersyon ng IGMP (Internet Group Management Protocol) para sa multicast;

  • Nagdagdag ang Systemd-networkd ng mga opsyon sa Lokal, Peer at PeerPort para sa mga tunnel ng FooOverUDP upang i-configure ang mga lokal at malalayong IP address, pati na rin ang numero ng port ng network. Para sa mga tunnel ng TUN, idinagdag ang opsyong VnetHeader upang i-configure ang suporta sa GSO (Generic Segment Offload);
  • Sa systemd-networkd, sa .network at .link na mga file sa seksyong [Match], may lumitaw na opsyon sa Property, na nagbibigay-daan sa iyong tukuyin ang mga device ayon sa kanilang mga partikular na katangian sa udev;
  • Sa systemd-networkd, isang AssignToLoopback na opsyon ang idinagdag para sa mga tunnel, na kumokontrol kung ang dulo ng tunnel ay itinalaga sa loopback device na "lo";
  • Awtomatikong ina-activate ng systemd-networkd ang IPv6 stack kung ito ay naharang sa pamamagitan ng sysctl disable_ipv6 - Ang IPv6 ay isinaaktibo kung ang mga setting ng IPv6 (static o DHCPv6) ay tinukoy para sa interface ng network, kung hindi man ang nakatakdang halaga ng sysctl ay hindi nagbabago;
  • Sa mga .network file, ang CriticalConnection na setting ay pinalitan ng KeepConfiguration na opsyon, na nagbibigay ng mas maraming paraan para sa pagtukoy ng mga sitwasyon (“oo”, “static”, “dhcp-on-stop”, “dhcp”) kung saan dapat ang systemd-networkd huwag hawakan ang mga umiiral na koneksyon kapag nagsimula;
  • Naayos ang kahinaan CVE-2019-15718, sanhi ng kakulangan ng kontrol sa pag-access sa D-Bus interface systemd-resolved. Ang isyu ay nagbibigay-daan sa isang walang pribilehiyong user na magsagawa ng mga operasyon na available lang sa mga administrator, gaya ng pagbabago ng mga setting ng DNS at pagdidirekta ng mga query sa DNS sa isang rogue server;
  • Naayos ang kahinaan CVE-2019-9619nauugnay sa hindi pagpapagana ng pam_systemd para sa mga hindi interactive na session, na nagbibigay-daan sa panggagaya ng aktibong session.

Pinagmulan: opennet.ru

Magdagdag ng komento