Երեք ամսվա զարգացումից հետո տեղադրվեց համակարգի կառավարիչը .
Main changes:
- Ավելացված է cpuset ռեսուրսների վերահսկման մոդուլի աջակցությունը, որը հիմնված է cgroups v2-ում, որը տրամադրում է մեխանիզմ գործընթացները որոշակի CPU-ների (AllowedCPUs կետը) և NUMA-հիշողության հանգույցների (AllowedMemoryNodes կետը) հետ կապելու համար;
- Ավելացված է systemd-ի համար EFI-փոփոխական SystemdOptions-ի միջոցով կարգավորումների բեռնումի աջակցությունը, որը թույլ է տալիս կարգավորել systemd-ի վարքագիծ այն իրավիճակներում, երբ դժվար է փոխել միջուկի հրամանատարքների պարամետրերը, և կարգավորումները միջուկից կախված ընթերցվում են շատ ուշ (օրինակ, երբ անհրաժեշտ է կարգավորել cgroup-ի հիերարխիային վերաբերող ընտրանքները): EFI-ում փոփոխական սահմանելու համար կարելի է օգտագործել ‘bootctl systemd-efi-options’ հրամանը;
- Յունիտների մեջ ավելացված է կարգավորումների բեռնումը «{unit_type}.d/» կատալոգներից, որոնք կապված են յունիտների տեսակների հետ (օրինակ՝ «service.d/»), որոնք կարող են օգտագործվել տվյալ տիպի յունիտների բոլոր ֆայլերը ընդգրկող կարգավորումների հավելելու համար;
- Սերվիս յունիտների համար ավելացված է ProtectKernelLogs նոր sandbox-հետայլման ռեժիմ, որը թույլ չի տալիս ծրագրին մուտք գործել միջուկի լոգ-բուֆերը, որին մուտք է շարունակվում syslog կատարելու միջոցով (չխառնել libc-ի կողմից տրամադրված նմանատիպ API-ի հետ): Ռեժիմի ակտիվացման դեպքում հավելվածի մուտքը /proc/kmsg, /dev/kmsg և CAP_SYSLOG կկրանվի;
- Յունիտների համար ներկայացվել է RestartKillSignal կարգավորումը, որը թույլ է տալիս փոխարինել նույնականացման համարի նշանը, որը օգտագործվում է գործընթացի կանգնեցնելու համար աշխատանքային պայմաններում (կարելի է փոխել գործընթացի կանգնեցման վարքը նախապատրաստական փուլում);
- «systemctl clean» հրամանն ադապտացված է սոկետների, մոնտաժների և փոխառությունների (socket, mount, swap) յունիտների հետ կիրառելու համար;
- Բեռնման վաղ փուլում կնախատեսվեն միջուկի կողմից printk-ի միջոցով հաղորդագրությունների արտադրության ինտենսիվության սահմանափակումները, ինչը թույլ է տալիս ավելացնել ավելի լրիվ տեղեկատվություն բեռնման մասին, երբ լոգերի պահեստը դեռ չհաջորդված է (լոգերը կպահպանվեն միջուկի օղակային բուֆերում): printk-ի սահմանափակումների կարգավորումը միջուկի հրամանատրում ավելի բարձր առաջնություն ունի և թույլ է տալիս վերացնել systemd-ի վարքը: Systemd ծրագրերը, որոնք ուղղակիորեն արտադրում են լոգերը /dev/kmsg միջագայում (այսինքն, միայն բեռնման վաղ փուլում), օգտագործում են տարատեսակ ներքին սահմանափակումներ բուֆերը լցնելուց պաշտպանվելու համար;
- systemctl գործիքը ավելացրել է ‘stop —job-mode=triggering’ հրամանը, որը թույլ է տալիս կանգնեցնել ինչպես հրամանատրում նշված յունիտը, այնպես էլ բոլոր յունիտները, որոնք կարող են նրան կանչել;
- Յունիտի ստատուսի մասին տեղեկությունները այժմ ներառում են հրահարող և հրահանված յունիտների մասին տեղեկությունները;
- Անհրաժեշտության դեպքում հնարավոր է օգտագործել «RuntimeMaxSec» կարգավորումը scope-յունիտների համար (նախկինում օգտագործվել է միայն service-յունիտների ոճում): Օրինակ, «RuntimeMaxSec» այժմ կարող է կիրառվել PAM–ի սեանսների ժամանակաշրջանը սահմանելու համար scope-յունիտի միջոցով
աբեր օգտվողի հաշվի համար: Ժամային սահմանափակումները նույնպես կարող են սահմանվել systemd.runtime_max_sec ընտրանքով PAM-modul pam_systemd պարամետրերում; - Ավելացվել է նոր համակարգային զանգերի խումբ «@pkey», որըSimplifies containers and services when adding memory protection related system calls to the whitelist;
- systemd-tmpfiles-ում հավելվել է «w+» նշանը, որը թույլ է տալիս ֆայլի լրացման ռեժիմով գրելու;
- systemd-analyze-ի դուրսբերմամբ ավելացվել են տեղեկատվություն kernel-ի հիշողության կոնֆիգուրացիայի համապատասխանության մասին systemd-ի պարամետրերի հետ (օրինակ, եթե որևէ արտաքին ծրագիր փոփոխել է kernel-ի պարամետրերը);
- systemd-analyze-ին ավելացվել է «—base-time» ընտրանքը, որը թույլ է տալիս հաշվարկել օրացույցի տվյալները указанным ժամանակի հետ, այլ ոչ թե ներկայիս համակարգային ժամանակի հետ;
- journalctl —update-catalog-ում ապահովել է տարրերի հաջորդականության անընդհատությունը դուրսբերմում (օգուտ է համակարգման համար կրկնվող հավաքների կազմակերպման);
- Ավելացվել է «WatchdogSec» կցված կարգավորման համար արգասավորող նախնական արժեքի շքեղ հնարավորություն, որը օգտագործվում է systemd ծառայության մեջ։ Շինության փուլում հիմանական արժեքը կարող է սահմանվել «-Dservice-watchdog» ընտրանքով (եթե ցուցադրվում է դատարկ արժեք, watchdog-ը կմիանա);
- Ավելացվել է հավաքման ընտրանք «-Duser-path»՝ $PATH-ի արժեքը շրջանցելու համար;
- systemd-id128 գործիքին ավելացվել է «-u» («—uuid») նշումը, որը թույլ է տալիս 128-բիթանոց պատկանելիությունները դուրս բերել UUID-ում (UUID-ի ապացույցի ներկայացումը);
- Հավաքելու համար այժմ պահանջվում է libcryptsetup-ի նվազագույն 2.0.1 տարբերակ;
Նախաձեռնություններ, կապված ցանցի կարգավորմանը:
- systemd-networkd-ում ավելացվել է աջակցության վերակազմակերպի միջոցով, որը նորից փակելու համար networkctl-ում ավելացվել են «reload» և «reconfigure DEVICE…» հրամանները;
- systemd-networkd-ում դադարեցվել են IPv4-ի տեղական կապերի համար նախնական երթուղիների ստեղծումը 169.254.0.0/16 հասցեներով (). Նախկինում նման կապերի համար նախնական երթուղիների ավտոմատ ստեղծումը հանգեցնում էր կանխատեսելի վարքի և խնդիրների երթուղացման հարցում: Հին վարքի վերադարձնումի համար պետք է օգտագործել «DefaultRouteOnDevice=yes» կարգավորումը: Տեղատվության նման պատգամավոր ձեւերը դադարեցվել են նաև IPv6-ի տեղական հասցեների նշանակման դեպքում, եթե IPv6-ի տեղական երթուղումն անջատված է;
- systemd-networkd-ում անլար ցանցերին միանալիս ad-hoc ռեժիմում, շարունակականորեն իրականացվել է link-local հասցեացմամբ կոնֆիգուրացիայի կիրառում;
- Ավելացվել են RxBufferSiz և TxBufferSize պարամետրերը ցանցային միջերեւքի ընդունման և արտանետման բուֆերների չափը կարգավորելու համար;
- systemd-networkd-ում իրականացվել է լրացուցիչ IPv6 երթուղիների հայտարարում, որոնք կարգավորվում են Route և LifetimeSec ընտրանքներով «[IPv6RoutePrefix]» բաժնում;
- systemd-networkd-ում ավելացվել է հաջորդ «next hop» երթուղիներ կարգավորելու հնարավորություն «Gateway» և «Id» պարամետրերով «[NextHop]» բաժնում;
- systemd-networkd և networkctl-ում DHCP-ի օգնությամբ IP-հասցեների (lease-երի) կապերի անընդհատ թարմացում է իրականացվում ‘networkctl renew’ հրամանով;
- systemd-networkd-ում DHCP-ի կոնֆիգուրացիան վերակառուցվում էrestart-յան ժամանակ (կարգավորումները պահպանելու համար օգտագործեք KeepConfiguration պարամետրը): SendRelease կարգավորմանը լռելյայն արժեքն անվանափոխվել է ‘true’;
- DHCPv4 հաճախորդում ապահովվում է OPTION_INFORMATION_REFRESH_TIME պարամետի արժեքի օգտագործումը, որը փոխանցվել է սերվերի կողմից: Սերվերից հատուկ պարամետրերի հարցման համար առաջարկվում է ‘RequestOptions’ պարամետրը, իսկ սերվեր ուղարկվող պարամետրերի համար՝ ‘SendOption’: DHCP հաճախորդում IP ծառայության կարգավորման համար արժոքվել է ‘IPServiceType’ պարամետրը;
- DHCPv4-սերվերի միջոցով SIP (Session Initiation Protocol) սերվերների ցուցակի գործարկման համար ավելացվել են ‘EmitSIP’ և ‘SIP’ պարամետրերը: Հաճախորդի կողմից SIP պարամետրերի սերվերից ստացումը կարող է ակտիվացվել ‘UseSIP=yes’ կարգավորմամբ;
- DHCPv6 հաճախորդում ավելացվել է ‘PrefixDelegationHint’ պարամետրը հասցեի պրեֆիքսի հարցման համար;
- .network ֆայլերում ապահովված է wireless ցանցերի SSID և BSSID-ի համեմատության աջակցություն, օրինակ, կետերի անվան և MAC հասցեի կապման համար: SSID և BSSID արժեքները արձանագրությունը networkctl-ում ցուցադրվում են wireless ինտերֆեյսների համար: Այլապես ավելացված է wireless ցանցի կարգի համեմատագիտության հնարավորությունը (WLANInterfaceType պարամետրը);
- systemd-networkd-ում ավելացել է շփման կառավարելու համար հերթերի կարգավորելու հնարավորությունը նոր Parent պարամետրով,
NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
NetworkEmulatorPacketLimit և NetworkEmulatorLossRate,
NetworkEmulatorDuplicateRate секции ‘[TrafficControlQueueingDiscipline]’; - systemd-resolved-ում IP հասցեների ստուգում է իրականացնում սերտիֆիկատներում GnuTLS-ով հավաքելու ժամանակ:
udev-ին վերաբերվող փոփոխություններ:
- systemd-udevd-ից ալեհավաք են հանվել 30 վայրկյանանոց ժամկետը տարածված գործառույթների փակումից։ systemd-udevd-ն այժմ սպասում է գործառույթների ավարտին, որոնց համար 30 վայրկյանը բավարար չէր նորմալ աշխատանքին մեծ տեղակայման ժամանակ (օրինակ, ժամկետը կարող էր կտրել երթուղիչի սկզբնական միացումը): systemd օգտագործելու դեպքում, systemd-udevd-ն սպասելի ժամկետ, որը այն կսպասի դուրս գալուց առաջ, կարող է սահմանվել TimeoutStopSec կարգավորմամբ systemd-udevd.service-ում։ systemd-ի բացակայության դեպքում ժամկետը կարգավորվում է udev.event_timeout պարամետրով;
- udev-ի համար ավելացվել է fido_id ծրագիրը, որը նույնացնում է FIDO CTAP1
(‘U2F’)/CTAP2 ՝ նախկինում օգտագործված տվյալների հիմքով և դուրս է բերում անհրաժեշտ միջավայրի փոփոխականները (ծրագիրը թույլ է տալիս խուսափել բոլոր հայտնի տոքի whitelist-երի արտաքին պահպանումից, որոնք նախկինում օգտագործվել են); - auto suspend-ների համար ավտոմատ udev-իկական կանոնների գեներացիան իրականացվել է Chromium OS-ից ներմուծված whitelist-ի սարքերի համար (փոփոխությունը թույլ է տալիս ընդլայնել էներգիայի հոսքի ռեժիմների կիրառման հնարավորությունները լրացուցիչ սարքերի համար);
- udev-ում ավելացվեց նոր կարգավորում «CONST{key}=value», որը թույլատրում է ուղիղ իրականացնել համակարգային կոնստանտների արժեքների համապատասխանությունները առանց առանձին մշակողների գործարկման ստուգման համար։ Ընթացիկ պահին աջակցվում են միայն «arch» և «virt» բանալիները;
- Կարդիրը բացվում է ոչ բացառիկ ռեժիմում, երբ կատարվում է աջակցվող ռեժիմների հարցում (պատճառը լուծում է ծրագրերի մուտքի խնդիրները CDROM-ին և նվազեցնում է դիսկի գրելու ծրագրերի ընդմիջման ռիսկը, որոնք չեն կիրառել բացառիկ մուտքի ռեժիմը)։
Ընտանիք: opennet.ru
