Kutolewa kwa meneja wa mfumo wa systemd 243

Baada ya miezi mitano ya maendeleo imewasilishwa kutolewa kwa msimamizi wa mfumo mfumo wa 243. Miongoni mwa uvumbuzi, tunaweza kutambua ujumuishaji katika PID 1 ya kidhibiti kwa kumbukumbu ya chini kwenye mfumo, usaidizi wa kuambatisha programu zako za BPF za kuchuja trafiki ya kitengo, chaguzi nyingi mpya za systemd-networkd, hali ya ufuatiliaji wa bandwidth ya mtandao. miingiliano, inayowasha kwa chaguo-msingi kwenye mifumo ya 64-bit nambari za PID 22 badala ya 16-bit, mpito hadi safu ya vikundi iliyounganishwa, kujumuishwa katika jenereta ya mtandao-systemd.

Mabadiliko kuu:

  • Utambuzi wa ishara zinazozalishwa na kernel kuhusu nje ya kumbukumbu (Nyenye-Kumbukumbu, OOM) umeongezwa kwa kidhibiti cha PID 1 ili kuhamisha vitengo ambavyo vimefikia kikomo cha matumizi ya kumbukumbu hadi katika hali maalum na uwezo wa hiari wa kuzilazimisha kukomesha. au kuacha;
  • Kwa faili za kitengo, vigezo vipya vya IPIngressFilterPath na
    IPEgressFilterPath, ambayo inakuwezesha kuunganisha programu za BPF na vidhibiti vya kiholela ili kuchuja pakiti za IP zinazoingia na zinazotoka zinazozalishwa na michakato inayohusishwa na kitengo hiki. Vipengele vilivyopendekezwa hukuruhusu kuunda aina ya firewall kwa huduma za mfumo. Mfano wa kuandika chujio rahisi cha mtandao kulingana na BPF;

  • Amri ya "safi" imeongezwa kwa matumizi ya systemctl ili kufuta cache, faili za wakati wa kukimbia, maelezo ya hali na saraka za kumbukumbu;
  • systemd-networkd inaongeza usaidizi kwa miingiliano ya mtandao ya MACsec, nlmon, IPVTAP na Xfrm;
  • systemd-networkd hutekelezea usanidi tofauti wa rafu za DHCPv4 na DHCPv6 kupitia sehemu za β€œ[DHCPv4]” na β€œ[DHCPv6]” katika faili ya usanidi. Imeongeza chaguo la RoutesToDNS ili kuongeza njia tofauti kwa seva ya DNS iliyobainishwa katika vigezo vilivyopokelewa kutoka kwa seva ya DHCP (ili trafiki kwa DNS itumike kupitia kiungo sawa na njia kuu inayopokelewa kutoka kwa DHCP). Chaguo mpya zimeongezwa kwa DHCPv4: MaxAttempts - idadi ya juu zaidi ya maombi ya kupata anwani, Orodha Nyeusi - orodha nyeusi ya seva za DHCP, SendRelease - wezesha kutuma ujumbe wa DHCP RELEASE kipindi kinapoisha;
  • Amri mpya zimeongezwa kwa matumizi ya uchambuzi wa systemd:
    • "systemd-chambua muhuri wa wakati" - uchanganuzi wa wakati na ubadilishaji;
    • "systemd-changanua muda" - uchambuzi na ubadilishaji wa vipindi vya wakati;
    • "hali ya kuchambua mfumo" - kuchanganua na kujaribu misemo ya ConditionXYZ;
    • "systemd-chambua hali ya kutoka" - kuchanganua na kubadilisha nambari za kutoka kutoka nambari hadi kwa majina na kinyume chake;
    • "systemd-analyze unit-files" - Inaorodhesha njia zote za faili za vitengo na lakabu za kitengo.
  • Chaguzi SuccessExitStatus, RestartPreventExitStatus na
    RestartForceExitStatus sasa hairuhusu nambari za kurejesha nambari tu, lakini pia vitambulisho vyao vya maandishi (kwa mfano, "DATAERR"). Unaweza kuona orodha ya misimbo iliyotolewa kwa vitambulishi kwa kutumia amri ya "sytemd-analyze exit-status";

  • Amri ya "futa" imeongezwa kwa shirika la networkctl ili kufuta vifaa vya mtandao wa kawaida, pamoja na chaguo la "-stats" ili kuonyesha takwimu za kifaa;
  • Mipangilio ya SpeedMeter na SpeedMeterIntervalSec imeongezwa kwa networkd.conf kwa ajili ya kupima mara kwa mara upitishaji wa violesura vya mtandao. Takwimu zilizopatikana kutokana na matokeo ya kipimo zinaweza kutazamwa katika matokeo ya amri ya 'networkctl status';
  • Aliongeza shirika jipya systemd-network-jenereta kwa ajili ya kuzalisha faili
    .network, .netdev na .link kulingana na mipangilio ya IP iliyopitishwa wakati ilizinduliwa kupitia mstari wa amri wa Linux kernel katika umbizo la mipangilio ya Dracut;

  • Thamani ya sysctl "kernel.pid_max" kwenye mifumo ya 64-bit sasa imewekwa kwa chaguo-msingi kuwa 4194304 (22-bit PIDs badala ya 16-bits), ambayo hupunguza uwezekano wa migongano wakati wa kugawa PID, huongeza kikomo cha idadi ya wakati huo huo. kuendesha michakato, na ina athari chanya kwa usalama. Mabadiliko hayo yanaweza kusababisha masuala ya utangamano, lakini masuala kama hayo bado hayajaripotiwa kiutendaji;
  • Kwa chaguo-msingi, hatua ya uundaji hubadilika hadi kwa safu iliyounganishwa ya cgroups-v2 (β€œ-Ddefault-hierarchy=unified”). Hapo awali, chaguo-msingi ilikuwa hali ya mseto (β€œ-Ddefault-hierarchy=hybrid”);
  • Tabia ya kichujio cha simu ya mfumo (SystemCallFilter) imebadilishwa, ambayo, katika kesi ya simu iliyokatazwa ya mfumo, sasa inasitisha mchakato mzima, badala ya nyuzi za kibinafsi, kwa kuwa kukomesha nyuzi za kibinafsi kunaweza kusababisha matatizo yasiyotabirika. Mabadiliko yatatumika tu ikiwa una Linux kernel 4.14+ na libseccomp 2.4.0+;
  • Programu zisizo na upendeleo hupewa uwezo wa kutuma pakiti za ICMP Echo (ping) kwa kuweka sysctl "net.ipv4.ping_group_range" kwa anuwai nzima ya vikundi (kwa michakato yote);
  • Ili kuharakisha mchakato wa kujenga, kizazi cha mwongozo wa mwanadamu kimesimamishwa kwa chaguo-msingi (ili kuunda nyaraka kamili, unahitaji kutumia chaguo "-Dman=true" au "-Dhtml=true" kwa miongozo katika umbizo la html). Ili kurahisisha kutazama hati, hati mbili zimejumuishwa: build/man/man na build/man/html kwa ajili ya kuzalisha na kuhakiki miongozo ya maslahi;
  • Ili kuchakata majina ya vikoa na wahusika kutoka kwa alfabeti za kitaifa, maktaba ya libidn2 hutumiwa kwa chaguo-msingi (kurejesha libidn, tumia chaguo la "-Dlibidn=true");
  • Usaidizi wa /usr/sbin/halt.local faili inayoweza kutekelezwa, ambayo ilitoa utendakazi ambao haukusambazwa sana katika usambazaji, umekatishwa. Ili kuandaa uzinduzi wa amri wakati wa kuzima, inashauriwa kutumia hati katika /usr/lib/systemd/system-shutdown/ au kufafanua kitengo kipya ambacho kinategemea final.target;
  • Katika hatua ya mwisho ya kuzima, systemd sasa huongeza kiotomati kiwango cha kumbukumbu katika sysctl "kernel.printk", ambayo hutatua tatizo kwa kuonyesha katika matukio ya kumbukumbu ambayo yalitokea katika hatua za baadaye za kuzima, wakati daemons za kawaida za kukata miti tayari zimekamilika. ;
  • Katika journalctl na huduma zingine zinazoonyesha kumbukumbu, maonyo yanaangaziwa kwa manjano, na rekodi za ukaguzi huangaziwa kwa rangi ya samawati ili kuziangazia kwa macho kutoka kwa umati;
  • Katika utofauti wa mazingira wa $PATH, njia ya bin/ sasa inakuja kabla ya njia ya sbin/, i.e. ikiwa kuna majina yanayofanana ya faili zinazoweza kutekelezwa katika saraka zote mbili, faili kutoka kwa bin/ itatekelezwa;
  • systemd-logind hutoa wito wa SetBrightness() ili kubadilisha mwangaza wa skrini kwa usalama kwa misingi ya kila kipindi;
  • Alama ya "--subiri-kuanzishwa" imeongezwa kwa amri ya "udevadm info" ili kusubiri kifaa kianzishwe;
  • Wakati wa kuwasha mfumo, kidhibiti cha PID 1 sasa kinaonyesha majina ya vitengo badala ya mstari na maelezo yao. Ili kurejesha tabia ya zamani, unaweza kutumia chaguo la StatusUnitFormat katika /etc/systemd/system.conf au chaguo la systemd.status_unit_format kernel;
  • Chaguo la KExecWatchdogSec limeongezwa kwa /etc/systemd/system.conf kwa walinzi wa PID 1, ambayo inabainisha muda wa kuisha kwa kuanza tena kwa kutumia kexec. Mpangilio wa zamani
    ShutdownWatchdogSec imebadilishwa jina na kuwa RebootWatchdogSec na inafafanua muda wa kuisha kwa kazi wakati wa kuzima au kuanzisha upya kawaida;

  • Chaguo jipya limeongezwa kwa huduma ExecCondition, ambayo hukuruhusu kutaja amri ambazo zitatekelezwa kabla ya ExecStartPre. Kulingana na nambari ya makosa iliyorejeshwa na amri, uamuzi unafanywa juu ya utekelezaji zaidi wa kitengo - ikiwa nambari ya 0 inarudishwa, uzinduzi wa kitengo unaendelea, ikiwa kutoka 1 hadi 254 inaisha kimya bila bendera iliyoshindwa, ikiwa 255 inaisha na. bendera ya kushindwa;
  • Imeongeza huduma mpya systemd-pstore.service ili kutoa data kutoka kwa sys/fs/pstore/ na kutoka kwa kuhifadhi hadi /var/lib/pstore kwa uchanganuzi zaidi;
  • Amri mpya zimeongezwa kwa matumizi ya timedatectl kwa ajili ya kusanidi vigezo vya NTP vya systemd-timesyncd kuhusiana na violesura vya mtandao;
  • Amri ya "localectl list-locales" haionyeshi tena lugha zingine isipokuwa UTF-8;
  • Huhakikisha kwamba hitilafu za ugawaji tofauti katika faili za sysctl.d/ zimepuuzwa ikiwa jina la kutofautisha linaanza na herufi β€œ-β€œ;
  • Huduma systemd-random-seed.huduma sasa inawajibika kabisa kwa kuanzisha hifadhi ya entropy ya jenereta ya nambari ya pseudorandom ya Linux. Huduma zinazohitaji kuanzishwa kwa usahihi /dev/urandom zinapaswa kuanza baada ya huduma ya systemd-random-seed.service;
  • Kipakiaji cha boot ya systemd-boot hutoa uwezo wa hiari wa kuauni faili ya mbegu na mlolongo wa nasibu katika Sehemu ya Mfumo wa EFI (ESP);
  • Amri mpya zimeongezwa kwa matumizi ya bootctl: "bootctl random-seed" ili kutoa faili ya mbegu katika ESP na "bootctl is-installed" ili kuangalia usakinishaji wa kipakiaji cha boott-boot. bootctl pia imerekebishwa ili kuonyesha maonyo kuhusu usanidi usio sahihi wa maingizo ya boot (kwa mfano, wakati picha ya kernel imefutwa, lakini ingizo la kuipakia limesalia);
  • Hutoa uteuzi otomatiki wa kizigeu cha kubadilishana wakati mfumo unaingia katika hali ya kulala. Ugawaji huchaguliwa kulingana na kipaumbele kilichowekwa kwa ajili yake, na katika kesi ya vipaumbele sawa, kiasi cha nafasi ya bure;
  • Chaguo la kuisha kwa faili kuu kwa /etc/crypttab ili kuweka muda ambao kifaa kilicho na ufunguo wa usimbaji fiche kitasubiri kabla ya kuuliza nenosiri kufikia sehemu iliyosimbwa;
  • Chaguo la IOWeight lililoongezwa ili kuweka uzito wa I/O kwa kipanga ratiba cha BFQ;
  • systemd-resolved aliongeza 'strict' mode kwa DNS-over-TLS na kutekeleza uwezo wa kuweka akiba majibu chanya ya DNS ("Cache no-negative" katika solved.conf);
  • Kwa VXLAN, systemd-networkd imeongeza chaguo la GenericProtocolExtension ili kuwezesha viendelezi vya itifaki ya VXLAN. Kwa VXLAN na GENEVE, chaguo la IPDoNotFragment limeongezwa ili kuweka bendera ya kukataza kugawanyika kwa pakiti zinazotoka;
  • Katika systemd-networkd, katika sehemu ya "[Njia]", chaguo la FastOpenNoCookie limeonekana ili kuwezesha utaratibu wa kufungua haraka miunganisho ya TCP (TFO - TCP Fast Open, RFC 7413) kuhusiana na njia za mtu binafsi, pamoja na chaguo la TTLPropagate. kusanidi TTL LSP (Njia Iliyobadilishwa Lebo). Chaguo la "Aina" hutoa usaidizi kwa njia za ndani, utangazaji, utangazaji wowote, utangazaji anuwai, yoyote na xresolve njia za uelekezaji;
  • Systemd-networkd inatoa chaguo la DefaultRouteOnDevice katika sehemu ya "[Mtandao]" ili kusanidi kiotomatiki njia chaguo-msingi kwa kifaa fulani cha mtandao;
  • Systemd-networkd imeongeza ProxyARP na
    ProxyARPWifi ya kuweka tabia ya proksi ya ARP, MulticastRouter ya kuweka vigezo vya uelekezaji katika hali ya utangazaji anuwai, MulticastIGMPVersion ya kubadilisha toleo la IGMP (Itifaki ya Usimamizi wa Kikundi cha Mtandao) kwa utangazaji anuwai;

  • Systemd-networkd imeongeza chaguo za Ndani, Peer na PeerPort kwa vichuguu vya FooOverUDP ili kusanidi anwani za IP za ndani na za mbali, pamoja na nambari ya bandari ya mtandao. Kwa vichuguu vya TUN, chaguo la VnetHeader limeongezwa ili kusanidi usaidizi wa GSO (Generic Segment Offload);
  • Katika systemd-networkd, katika faili za .network na .link katika sehemu ya [Mechi], chaguo la Mali limeonekana, ambalo hukuruhusu kutambua vifaa kwa sifa zao maalum katika udev;
  • Katika systemd-networkd, chaguo la AssignToLoopback limeongezwa kwa vichuguu, ambalo hudhibiti ikiwa mwisho wa handaki umekabidhiwa kifaa cha loopback "lo";
  • systemd-networkd huwasha kiolesura cha IPv6 kiotomatiki ikiwa imezuiwa kupitia sysctl disable_ipv6 - IPv6 imewashwa ikiwa mipangilio ya IPv6 (tuli au DHCPv6) imefafanuliwa kwa kiolesura cha mtandao, vinginevyo thamani ya sysctl iliyowekwa tayari haibadilika;
  • Katika faili za .network, mpangilio wa CriticalConnection umebadilishwa na chaguo la KeepConfiguration, ambalo hutoa njia zaidi za kufafanua hali ("ndiyo", "tuli", "dhcp-on-stop", "dhcp") ambayo systemd-networkd inapaswa kutumika. usiguse miunganisho iliyopo wakati wa kuanza;
  • Athari imerekebishwa CVE-2019-15718, unaosababishwa na ukosefu wa udhibiti wa ufikiaji wa kiolesura cha D-Bus systemd-resolved. Suala hili huruhusu mtumiaji asiye na haki kufanya shughuli ambazo zinapatikana kwa wasimamizi pekee, kama vile kubadilisha mipangilio ya DNS na kuelekeza hoja za DNS kwa seva mbovu;
  • Athari imerekebishwa CVE-2019-9619inayohusiana na kutowasha pam_systemd kwa vipindi visivyohusisha mwingiliano, ambayo inaruhusu uharibifu wa kipindi amilifu.

Chanzo: opennet.ru

Kuongeza maoni