Վեց ամիս մշակվելուց հետո ներկայացվեց systemd 257-ի կառավարչի թողարկումը. Նոր կոմունալ ծառայություններ systemd-sbsign և systemd-keyutil, MPTCP-ի աջակցություն, երբ միացված է վարդակից, նախնական աջակցություն Musl C գրադարանի միջոցով: updatectl կոմունալ՝ systemd-sysupdate-ի միջոցով թարմացումների տեղադրումը կառավարելու համար, առանձին PID անունների տարածքներում ծառայություններ գործարկելու հնարավորություն, ֆայլերի պատահական ջնջումից պաշտպանություն «systemd-tmpfiles — մաքրում» օգտագործելիս:
Նոր թողարկման փոփոխություններից.
- Ավելացվել է նոր գործիք՝ systemd-sbsign, որը նախատեսված է PE (Portable Executable) ձևաչափով կատարվող ֆայլերի թվային ստորագրման համար, որոնք նախատեսված են EFI Secure Boot ռեժիմում բեռնավորման ժամանակ օգտագործելու համար: OpenSSL գրադարանի կողմից տրամադրվող շարժիչներն ու մատակարարները կարող են օգտագործվել ստորագրությունների ստեղծման համար: systemd-sbsign-ը կարող է օգտագործվել որպես ukify գործիքի sbsigntool-ի և pesign հավելվածների այլընտրանք՝ ունիվերսալ միջուկի պատկերներ (UKI) ստեղծելիս, որոնք մեկ ֆայլում համատեղում են UEFI բեռնիչը (UEFI բեռնման կտրոն) և միջուկի պատկերը: Linux և initrd համակարգի միջավայրը բեռնվել է հիշողության մեջ։
- Ավելացվել է նոր կոմունալ՝ systemd-keyutil, որն իրականացնում է տարբեր գործողություններ մասնավոր բանալիների և X.509 վկայագրերի վրա: Օրինակ, systemd-keyutil-ը կարող է օգտագործվել մասնավոր բանալիներ և վկայագրեր բեռնելու և PEM ձևաչափով հանրային բանալիներ հանելու կարողությունը ստուգելու համար:
- Socket ակտիվացման մեխանիզմի (ցանցային կապ հաստատելու փորձի ժամանակ գործընթացների մեկնարկ) աշխատանքն ապահովելու համար օգտագործվող «.socket» բլոկներում աջակցություն է ցուցաբերվում MPTCP-ին (Multipath TCP), որը TCP արձանագրության ընդլայնում է TCP կապի աշխատանքը կազմակերպելու համար՝ փաթեթների միաժամանակյա առաքմամբ մի քանի երթուղիներով՝ տարբեր ցանցային ինտերֆեյսների միջոցով, որոնք կապված են տարբեր… IP հասցեներ.
- Ներառում է փոփոխություններ, որոնք անհրաժեշտ են կառուցելու համար՝ օգտագործելով ստանդարտ Musl C գրադարանը:
- Տարբեր systemd բաղադրիչներ, որոնք ցուցադրում են առաջընթացի ցուցիչներ (օրինակ՝ systemd-repart, systemd-sysupdate/updatectl և importctl), այժմ աջակցում են ANSI հաջորդականությունների օգտագործումը՝ առաջընթացի ցուցադրումները անիմացնելու համար: Նման հաջորդականությունները ներկայումս աջակցվում են միայն Windows Տերմինալ (ակնկալվում է, որ ժամանակի ընթացքում նմանատիպ գործառույթ կփոխանցվի տերմինալի էմուլյատորներին) Linux).
- Systemd-sysupdate բաղադրիչի հնարավորություններն ընդլայնվել են, որոնք օգտագործվում են թարմացումները ավտոմատ կերպով հայտնաբերելու, ներբեռնելու և տեղադրելու համար՝ օգտագործելով միջնորմների, ֆայլերի կամ գրացուցակների փոխարինման ատոմային մեխանիզմը (օգտագործվում են երկու անկախ բաժիններ/ֆայլեր/տեղեկատուներ, որոնցից մեկը պարունակում է ընթացիկ աշխատանքը։ ռեսուրսը, իսկ մյուսը տեղադրում է հաջորդը) թարմացում, որից հետո բաժինները/ֆայլերը/տեղեկատուները փոխանակվում են): Գործնականում systemd-sysupdate-ն արդեն օգտագործվում է GNOME OS-ում:
Բացի systemd-sysupdate գործընթացից, ավելացվել է համանուն ծառայություն, որը թույլ է տալիս D-Bus-ը օգտագործել համակարգի թարմացումները կառավարելու համար ոչ արտոնյալ օգտվողի կողմից: Ծառայությունը կառավարելու համար ներառված է նաև նոր updatectl կոմունալ: Systemd-sysupdate-ին ավելացվել է «--անցանց» դրոշը՝ ցանցից մետատվյալների ներբեռնումն անջատելու համար և օգտագործել միայն տեղական համակարգ արդեն ներբեռնված տարբերակները: Ավելացվել է բոլոր հրամանների համար JSON ձևաչափով ելքի աջակցություն:
- Ծառայությունների համար ներդրվել է «PrivatePIDs» նոր հատկություն, որով դուք կարող եք կազմակերպել գործընթացների գործարկումը PID 1-ով (սկզբնական գործընթաց) առանձին գործընթացի նույնացուցիչ տարածքում (PID անվանատարածք): Գործարկված գործընթացի համար ստեղծված միջավայրում տեսանելի կլինեն միայն գործընթացները դրա համար ստեղծված անվանատարածքից:
- Ավելացվել է udev-ի կանոններին (օրինակ՝ «ATTR{foo}==i»abcd»» (օրինակ՝ «ATTR{foo}==i»abcd»') աջակցում է փոքրատառերի համընկնումներին: Օգտագործելով udev-ը, հնարավոր է տեղական ոչ արտոնյալ օգտվողներին հասանելիություն («uaccess») տրամադրել /dev/udmabuf սարքին, որն անհրաժեշտ է libcamera-ի միջոցով IPMI տեսախցիկների հետ աշխատելու համար: udev-ն ապահովում է USB ինտերֆեյսով տարբեր ապարատային կրիպտո դրամապանակների ճանաչում և նրանց համար սահմանում է ID_HARDWARE_WALLET հատկությունը, ինչը թույլ է տալիս կիրառել «uaccess» ռեժիմը նրանց վրա՝ անարտոնյալ օգտատերերի մուտքի համար:
- Նոր դաշտերը RELEASE_TYPE, EXPERIMENT և EXPERIMENT_URL ավելացվել են /etc/os-release ֆայլին: «RELEASE_TYPE»-ը կարող է ընդունել «փորձարարական», «զարգացման», «կայուն» և «lts» արժեքները՝ կայուն տարբերակները մշակման և փորձարարական կառուցվածքներից առանձնացնելու համար: EXPERIMENT և EXPERIMENT_URL պարամետրերը նախատեսված են բացատրելու փորձնական կառուցվածքի էությունը:
- Run0 կոմունալ ծրագիրը, որը մշակվել է որպես sudo ծրագրի փոխարինում, ավելացրել է «--shell-prompt-prefix» տարբերակը, որը սահմանում է հրամանի վահանակի նախածանցի տողը: Լռելյայնորեն «🦸» զմայլիկը ցուցադրվում է որպես նախածանց՝ բարձրացված նստաշրջանը տեսողականորեն ընդգծելու համար:
- Systemd-tmpfiles-ում սխալ ֆայլերը պատահաբար ջնջելուց խուսափելու համար «--purge» տարբերակը այժմ կիրառվում է միայն tmpfiles.d/-ի կարգավորումների վրա, որոնց վրա բացահայտ դրված է «$» դրոշը: «--purge» գործողությունը նաև այժմ պահանջում է նշել tmpfiles.d/ գրացուցակից առնվազն մեկ ֆայլ: «L» տիպի տողերի համար ավելացվել է «?» դրոշը, երբ նշված է, խորհրդանշական հղումը կստեղծվի միայն թիրախային ֆայլի առկայության դեպքում:
- Ծառայությունների կառավարիչում և հարակից կոմունալ ծառայություններում գործընթացի հետագծման կոդը շարունակում է փոխակերպվել՝ PID-ի փոխարեն PIDFD օգտագործելու համար: PIDFD-ը կապված է որոշակի գործընթացի հետ և չի փոխվում, մինչդեռ PID-ը կարող է կապված լինել մեկ այլ գործընթացի հետ՝ այդ PID-ի հետ կապված ընթացիկ գործընթացի ավարտից հետո:
- Ծառայությունների համար այժմ հնարավոր է նշել «վրիպազերծում» արժեքը «RestartMode» պարամետրում, որում ձախողված ծառայությունը կվերագործարկվի վրիպազերծման ռեժիմով միացված (շրջակա միջավայրի փոփոխականը՝ DEBUG_INVOCATION=1 սահմանված է), և LogLevelMax արժեքը կլինի: ժամանակավորապես բարձրացվել է վրիպազերծման մակարդակի:
- PID 1 կարգավորիչը կարող է բեռնել կանոններ IPE (Integrity Policy Enforcement) LSM մոդուլի համար, որոնք սահմանում են ամբողջականության քաղաքականությունը ամբողջ համակարգի համար (որ գործողությունները թույլատրվում են և ինչպես պետք է ստուգվի բաղադրիչների իսկությունը):
- «DeferReactivation» տարբերակը ավելացվել է «.timer» միավորի ֆայլերին, որը թույլ է տալիս բաց թողնել ժմչփի հաջորդ ակտիվացումը, եթե ծառայությունը դեռ չի ավարտել իր կատարումը վերջին ակտիվացումից հետո:
- PrivateUsers միավոր ֆայլի պարամետրում այժմ հնարավոր է նշել «ինքնություն» արժեքը՝ օգտվողի անվանական տարածք ստեղծելու ժամանակ օգտագործողի ID-ների քարտեզագրումը հնարավոր դարձնելու համար:
- PrivateTmp միավոր ֆայլի պարամետրին ավելացվել է «անջատված» արժեքի աջակցություն, որը կօգտագործի tmpfs առանձին օրինակներ /tmp/ և /var/tmp/ դիրեկտորիաների համար:
- Նոր «մասնավոր» և «խիստ» ռեժիմների աջակցությունն ավելացվել է ProtectControlGroups միավորի ֆայլի պարամետրին, երբ սահմանվում է, ծառայության համար ստեղծվում է նոր cgroup անվանատարածք և տեղադրվում է cgroupfs: Երբ սահմանվում է «խիստ» տարբերակը, cgroupfs-ը տեղադրվում է միայն կարդալու ռեժիմով:
- StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory և ConfigurationDirectory պարամետրերը հնարավորություն են տալիս օգտագործել «:ro» դրոշը՝ սահմանափակելու մուտքը դեպի համապատասխան դիրեկտորիաներ միայն կարդալու ռեժիմով:
- «Systemd.machine_id» միջուկի հրամանի տողի պարամետրին ավելացվել է «որոնվածը» արժեքի աջակցություն, որում համակարգի նույնացուցիչը (մեքենայի ID) կհաշվարկվի SMBIOS/DeviceTree-ի UUID-ի հիման վրա:
- Ավելացվել է mseal(), listmount() և statmount() համակարգային կանչերի աջակցությունը, որոնք ներկայացվել են վերջին միջուկի թողարկումներում։ Linux.
- Resoluctl, timedatectl և systemd-inhibit կոմունալ ծառայություններն այժմ աջակցում են ինտերակտիվ թույլտվություն՝ օգտագործելով Polkit-ը:
- Systemctl կոմունալն ավելացրել է «--հիմա» դրոշն օգտագործելու հնարավորությունը «reenable» հրամանում:
- «--json» տարբերակն ավելացվել է systemd-mount կոմունալ՝ JSON ձևաչափով ելքի համար (օրինակ, երբ նշված է «--list-devices»-ի հետ միասին, սարքերի ցանկը կթողարկվի JSON ձևաչափով):
- «-l» և «--full» տարբերակներն ավելացվել են «localectl» կոմունալ ծրագրին՝ ելքի ընթացքում երկար տողերի կրճատումն անջատելու համար:
- Sleep.conf-ում ավելացվել է HibernateOnACPower տարբերակը, որը թույլ է տալիս հետաձգել քնի ռեժիմի անցումը այնքան ժամանակ, մինչև սարքն անջատվի սնուցման անշարժ աղբյուրից:
- Systemd-sysusers-ում «u» տողերին ավելացվել է «!» մոդիֆիկատորի աջակցությունը, որով կարող եք ստեղծել ամբողջովին կողպված օգտատերերի հաշիվներ (նախկինում օգտագործողին արգելափակելու համար օգտագործվում էր սխալ գաղտնաբառի սահմանում, որը, օրինակ. չի հանգեցրել արգելափակման SSH-ում բանալիների նույնականացման ժամանակ):
- Systemd-coredump-ն ավելացնում է «EnterNamespace» տարբերակ, որը թույլ է տալիս մուտք գործել ցանկացած խափանված պրոցեսների մոնտաժային կետ՝ դրանց վրիպազերծման նշանները ստանալու համար: Գործնականում տարբերակը կարող է օգտակար լինել մեկուսացված բեռնարկղերում աշխատող հավելվածներից հիմնական ֆայլերի հետագիծ կազմակերպելու համար:
- systemd-logind-ը ներառում է Ctrl-Alt-Shift-Esc համակցության մշակում՝ org.freedesktop.login1.SecureAttentionKey ազդանշանը օգտվողի միջավայրի բաղադրիչներին ուղարկելու համար՝ մուտքի անվտանգ երկխոսություն ցուցադրելու խնդրանքով: Իրականացրել է «DesignatedMaintenanceTime» պարամետրը, որպեսզի ավտոմատ կերպով պլանավորվի աշխատանքը, որը պետք է ավարտվի սահմանված ժամանակում: DRM և evdev սարքերի աջակցության նմանությամբ՝ աջակցություն է ավելացվել՝ կարգավորելու մուտքը ոչ արտոնյալ օգտվողների համար դեպի hidraw սարքեր (խաղի կարգավորիչներ և joysticks):
- systemd-machined-ը այժմ աջակցում է չարտոնված հաճախորդների մուտքերը։ վիրտուալ մեքենա և կոնտեյներներ: Systemd-machined ֆունկցիոնալությանը մուտքը տրամադրվում է Varlink API-ի միջոցով, D-Bus-ից բացի:
- «[IPv6AddressLabel]» նոր բաժինն ավելացվել է networkd.conf կազմաձևման ֆայլում՝ IPv6 հասցեների պիտակները և նախածանցները կարգավորելու համար:
- Ավելացվեց «--stdin» տարբերակը «networkctl edit» հրամանին՝ ֆայլի բովանդակությունը ստանդարտ հոսքից ստանալու համար: Ավելացվեց .netdev ֆայլերի խմբագրման և ցուցադրման աջակցություն՝ «networkctl edit» և «networkctl cat» հրամաններին ցանցային միջերես նշելով: Ավելացվեց «--առանց հարցնել-գաղտնաբառ» տարբերակը՝ ինտերակտիվ թույլտվությունն անջատելու համար:
- Ավելացրել է «--certificate-source» տարբերակը ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart և systemd-sbsign կոմունալ ծառայություններին՝ X.509 վկայագիրը OpenSSL մատակարարի միջոցով բեռնելու փոխարեն՝ ուղղակիորեն բեռնելու համար: ֆայլ.
- systemd-boot-ն ավելացնում է ձայնի ձայնի կոճակներն օգտագործելու հնարավորություն՝ վեր ու վար շարժվելու բեռնման մենյուի միջոցով, ինչը կարող է օգտակար լինել այնպիսի սարքերում, ինչպիսիք են սմարթֆոնները: UEFI Secure Boot տվյալների բազայի տեղադրման աջակցությունը ESL(db/dbx/…) ձևաչափով systemd-boot-ի համար ավելացվել է bootctl կոմունալ ծրագրին:
- Journalctl-ին ավելացվել է «--list-invocation» տարբերակը՝ միավորի զանգերի ցանկը ցուցադրելու համար, և «--invocation» տարբերակը («-I»)՝ միայն կոնկրետ զանգի հետ կապված տեղեկամատյանները ցուցադրելու համար:
- systemd-nspawn-ն ավելացնում է կոնտեյներներում FUSE-ի (Filesystem in Userspace) ոչ արտոնյալ օգտագործման աջակցությունը: «--bind-user» տարբերակը օգտագործելիս օգտագործողի SSH ստեղները, որոնք անհրաժեշտ են SSH-ի միջոցով մուտք գործելու համար, փոխանցվում են կոնտեյներ:
- libsystemd-ն ավելացրել է ծրագրավորման նոր ինտերֆեյս «sd-json», որն օգտագործում է JSON ձևաչափը, ինչպես նաև «sd-varlink» ինտերֆեյսը, որն օգտագործում է IPC Varlink:
- Առաջարկվող բազային միջուկի տարբերակը թարմացվել է՝ թողարկվելով 5.4, որը ձևավորվել է 2019 թվականին։ Հաջորդ տարի նրանք նախատեսում են դադարեցնել հին միջուկների աջակցությունը և նշել 5.4 թողարկումը որպես նվազագույն աջակցվող բազային տարբերակ:
- cgroups v1-ի աջակցությունը հնացած է և անջատված է լռելյայնորեն (այն միացնելու համար միջուկի հրամանի տողում պետք է նշեք SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1՝ ի հավելումն այն միացնելու համակարգային կարգավորումներում): systemd 258-ի հաջորդ թողարկումը նախատեսում է ամբողջությամբ հեռացնել cgroups v1-ի հետ կապված կոդը: Systemd 258 տարբերակը նույնպես նախատեսված է հեռացնել System V ծառայության սկրիպտների աջակցությունը:
Source: opennet.ru
