Երեք ամիս զարգացումից հետո համակարգի կառավարչի թողարկում .
Խոշոր փոփոխություններ.
- Ավելացվել է cgroups v2-ի վրա հիմնված cpuset ռեսուրսների կառավարիչի աջակցությունը, որը մեխանիզմ է տրամադրում պրոցեսները որոշակի CPU-ների («AllowedCPUs» կարգավորում) և NUMA հիշողության հանգույցների («AllowedMemoryNodes» կարգավորում) կապելու համար։
- Ավելացվել է SystemdOptions EFI փոփոխականից systemd կոնֆիգուրացիայի կարգավորումները բեռնելու աջակցություն, որը թույլ է տալիս հարմարեցնել systemd-ի վարքագիծը այն դեպքերում, երբ միջուկի հրամանի տողի պարամետրերի փոփոխությունը խնդրահարույց է, և սկավառակից կոնֆիգուրացիան կարդացվում է չափազանց ուշ (օրինակ, երբ անհրաժեշտ է հարմարեցնել cgroup-ի հիերարխիայի հետ կապված կարգավորումները): EFI-ում փոփոխականը սահմանելու համար կարող եք օգտագործել 'bootctl systemd-efi-options' հրամանը։
- Միավորներն այժմ աջակցում են կարգավորումների բեռնումը «{unit_type}.d/» գրացուցակներից, որոնք կապված են միավորների տեսակների հետ (օրինակ՝ «service.d/»), որոնք կարող են օգտագործվել տվյալ տեսակի բոլոր միավորների ֆայլերը միաժամանակ ընդգրկող կարգավորումներ ավելացնելու համար։
- Սպասարկման միավորների համար ավելացվել է նոր sandbox մեկուսացման ռեժիմ՝ ProtectKernelLogs-ը, որը թույլ է տալիս արգելել ծրագրի մուտքը միջուկի գրանցամատյանի բուֆերին, որը հասանելի է 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» կարգավորումը շրջանակի միավորներում օգտագործելու հնարավորությունը ներդրվել է (նախկինում այն օգտագործվում էր միայն սպասարկման միավորներում): Օրինակ, «RuntimeMaxSec»-ը այժմ կարող է օգտագործվել PAM սեսիաների ժամանակը սահմանափակելու համար՝ ստեղծելով շրջանակի միավոր։
օգտատիրոջ հաշվի համար։ Ժամանակի սահմանափակումը կարող է նաև նշվել pam_systemd PAM մոդուլի պարամետրերում systemd.runtime_max_sec տարբերակի միջոցով։ - Ավելացվել է նոր համակարգային կանչերի խումբ՝ «@pkey», որը հեշտացնում է հիշողության պաշտպանության հետ կապված համակարգային կանչերի սպիտակ ցուցակում ներառումը կոնտեյներների և ծառայությունների սահմանափակման ժամանակ։
- Ավելացվել է "w+" դրոշը systemd-tmpfiles-ում՝ հավելվածի ռեժիմում գրելու համար։
- systemd-analyze-ի ելքային մասում ավելացվել է տեղեկատվություն այն մասին, թե արդյոք միջուկի հիշողության կոնֆիգուրացիան համապատասխանում է systemd կարգավորումներին (օրինակ՝ եթե որևէ երրորդ կողմի ծրագիր փոխել է միջուկի պարամետրերը)։
- systemd-analyze-ն ունի «--base-time» անվամբ նոր տարբերակ, որի պատճառով օրացույցի տվյալները հաշվարկվում են այս տարբերակում նշված ժամանակի համեմատ, այլ ոչ թե ընթացիկ համակարգի ժամանակի համեմատ։
- "journalctl --update-catalog"-ը ապահովում է, որ արդյունքը համապատասխանի տարրերի հերթականությանը (օգտակար է կրկնվող կառուցվածքները կազմակերպելու համար);
- Ավելացվել է systemd ծառայություններում օգտագործվող «WatchdogSec» կարգավորման համար լռելյայն արժեք նշելու հնարավորությունը։ Կոմպիլյացիայի ժամանակ բազային արժեքը կարող է սահմանվել «-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=այո" կարգավորումը։ Նմանապես, տեղական IPv6 հասցեների հատկացումը դադարեցվել է, եթե կապի համար տեղական IPv6 երթուղայնացումը միացված չէ։
- Systemd-networkd-ում, անլար ցանցերին ad-hoc ռեժիմով միանալիս, լռելյայն վարքագիծը կապի տեղական հասցեավորմամբ կոնֆիգուրացիայի օգտագործումն է։
- Ավելացվել են RxBufferSiz և TxBufferSize պարամետրերը՝ ցանցային ինտերֆեյսի ընդունող և ուղարկող բուֆերների չափը կարգավորելու համար։
- systemd-networkd-ն իրականացնում է լրացուցիչ IPv6 երթուղիների հայտարարումը, որը կառավարվում է «[IPv6RoutePrefix]» բաժնում գտնվող Route և LifetimeSec տարբերակների միջոցով։
- systemd-networkd-ն այժմ թույլ է տալիս կարգավորել «հաջորդ անցման» երթուղիները՝ օգտագործելով «[NextHop]» բաժնում գտնվող «Gateway» և «Id» տարբերակները։
- systemd-networkd-ը և networkctl-ը DHCP-ի համար ապահովում են IP հասցեների կապերի (վարձակալության) ժամանակին թարմացում, որն իրականացվում է 'networkctl renew' հրամանի միջոցով։
- systemd-networkd-ը երաշխավորված է վերագործարկել իր DHCP կարգավորումները վերագործարկման ժամանակ (կարգավորումները պահպանելու համար օգտագործեք KeepConfiguration պարամետրը): SendRelease կարգավորման լռելյայն արժեքը փոխվել է «true»-ի։
- DHCPv4 հաճախորդն այժմ կարգավորված է սերվերի կողմից ուղարկված OPTION_INFORMATION_REFRESH_TIME տարբերակի արժեքն օգտագործելու համար։ «RequestOptions» պարամետրը օգտագործվում է սերվերից որոշակի տարբերակներ հարցնելու համար, իսկ «SendOption» պարամետրը՝ սերվերին տարբերակներ ուղարկելու համար։ «IPServiceType» պարամետրը ավելացվել է DHCP հաճախորդի IP ծառայության տեսակը կարգավորելու համար։
- «EmitSIP» և «SIP» պարամետրերը ավելացվել են, որպեսզի DHCPv4 սերվերը կարողանա փոխարինել SIP (Session Initiation Protocol) սերվերների ցանկը։ Հաճախորդի կողմից, սերվերից SIP պարամետրերի ստացումը կարող է միացվել «UseSIP=yes» կարգավորման միջոցով։
- DHCPv6 հաճախորդին ավելացվել է «PrefixDelegationHint» պարամետրը՝ հասցեի նախածանցը հարցնելու համար։
- .network ֆայլերը հնարավորություն են տալիս անլար ցանցերը SSID-ի և BSSID-ի միջոցով քարտեզագրել, օրինակ՝ կապվել մուտքի կետի անվան և MAC հասցեի հետ։ SSID և BSSID արժեքները ցուցադրվում են networkctl-ի ելքում անլար ինտերֆեյսների համար։ Բացի այդ, ավելացվել է անլար ցանցի տեսակի միջոցով համապատասխանեցման հնարավորություն (WLANInterfaceType պարամետր):
- systemd-networkd-ն ավելացրել է երթևեկության կառավարման համար հերթերի կարգապահությունը կարգավորելու հնարավորություն՝ օգտագործելով նոր ծնողական պարամետրերը,
NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
NetworkEmulatorPacketLimit և NetworkEmulatorLossRate,
NetworkEmulatorDuplicateRate-ը «[TrafficControlQueueingDiscipline]» բաժնում։ - systemd-resolved-ը այժմ ստուգում է վկայագրերի IP հասցեները GnuTLS-ով կառուցելիս։
Udev-ի հետ կապված փոփոխություններ՝
- Systemd-udevd-ում կախված մշակիչների հարկադիր դադարեցման 30 վայրկյանի ժամկետը հանվել է։ Systemd-udevd-ն այժմ սպասում է, որ մշակողները ավարտեն գործողությունները, որոնք մեծ տեղադրումներում չեն կարողացել սովորաբար ավարտել 30 վայրկյանի ընթացքում (օրինակ՝ ժամանակի ավարտը կարող է ընդհատել դրայվերի նախնական կարգավորումը root FS-ի համար տեղադրված բաժանումը փոխելու գործընթացի ընթացքում): Systemd-ն օգտագործելիս, systemd-udevd-ի կողմից ելքի սպասման ժամկետը կարող է նշվել systemd-udevd.service-ում TimeoutStopSec կարգավորման միջոցով։ Երբ աշխատում եք առանց systemd-ի, timeout-ը կառավարվում է udev.event_timeout պարամետրով։
- Ավելացվել է udev-ի համար fido_id ծրագիրը, որը նույնականացնում է FIDO CTAP1 տոկենները
(«U2F»)/CTAP2-ը հիմնված է դրանց անցյալ օգտագործման վերաբերյալ տվյալների վրա և արտածում է անհրաժեշտ միջավայրի փոփոխականները (ծրագիրը թույլ է տալիս անել առանց նախկինում օգտագործված բոլոր հայտնի տոկենների արտաքին սպիտակ ցուցակների)։ - Chromium OS-ից ներմուծված սպիտակ ցուցակից սարքերի համար ներդրվել է udev autosuspend կանոնների ավտոմատ ստեղծում (փոփոխությունը թույլ է տալիս ընդլայնել էներգախնայողության ռեժիմների օգտագործումը լրացուցիչ սարքերի համար)։
- Udev-ում ավելացվել է նոր "CONST{key}=value" կարգավորում, որը թույլ է տալիս համակարգի հաստատուն արժեքների անմիջականորեն համապատասխանեցնել դրանք՝ առանց առանձին մշակիչներ գործարկելու ստուգման համար։ Ներկայումս աջակցվում են միայն «arch» և «virt» ստեղները։
- Ապահովվել է, որ CDROM-ը բացվի ոչ բացառիկ ռեժիմով՝ աջակցվող ռեժիմի հարցման գործողություն կատարելիս (փոփոխությունը լուծում է CDROM-ին ծրագրի մուտքի հետ կապված խնդիրները և նվազեցնում է սկավառակի վրա գրող այն ծրագրերի ընդհատման ռիսկը, որոնք չեն օգտագործում բացառիկ մուտքի ռեժիմ):
Source: opennet.ru
