Հինգ ամիս մշակումից հետո ներկայացվեց Systemd 250 համակարգի մենեջերի թողարկումը: Նոր թողարկումը ներկայացրեց հավատարմագրերը գաղտնագրված ձևով պահելու հնարավորություն, իրականացրեց ավտոմատ հայտնաբերված GPT բաժանմունքների ստուգում թվային ստորագրության միջոցով, բարելավեց տեղեկատվությունը ուշացումների պատճառների մասին, երբ մեկնարկային ծառայություններ և ավելացված տարբերակներ՝ որոշակի ֆայլային համակարգերի և ցանցային ինտերֆեյսների ծառայությունների հասանելիությունը սահմանափակելու համար, տրամադրվում է dm-integrity մոդուլի միջոցով բաժանման ամբողջականության մոնիտորինգի աջակցություն, և ավելացվում է sd-boot ավտոմատ թարմացման աջակցություն:
Խոշոր փոփոխություններ.
- Ավելացվել է գաղտնագրված և վավերացված հավատարմագրերի աջակցություն, որը կարող է օգտակար լինել զգայուն նյութերի ապահով պահպանման համար, ինչպիսիք են SSL ստեղները և մուտքի գաղտնաբառերը: Հավատարմագրերի վերծանումը կատարվում է միայն անհրաժեշտության դեպքում և տեղական տեղադրման կամ սարքավորումների հետ կապված: Տվյալները կոդավորված են ավտոմատ կերպով՝ օգտագործելով սիմետրիկ գաղտնագրման ալգորիթմներ, որոնց բանալին կարող է տեղակայվել ֆայլային համակարգում, TPM2 չիպի մեջ կամ օգտագործելով համակցված սխեմա: Երբ ծառայությունը սկսվում է, հավատարմագրերը ավտոմատ կերպով վերծանվում են և հասանելի են դառնում ծառայությանը իր սովորական ձևով: Կոդավորված հավատարմագրերի հետ աշխատելու համար ավելացվել է «systemd-creds» ծրագիրը, և ծառայությունների համար առաջարկվել են LoadCredentialEncrypted և SetCredentialEncrypted կարգավորումները:
- sd-stub-ը՝ EFI գործարկիչը, որը թույլ է տալիս EFI որոնվածին բեռնել Linux միջուկը, այժմ աջակցում է միջուկի բեռնումը LINUX_EFI_INITRD_MEDIA_GUID EFI արձանագրության միջոցով: Նաև sd-stub-ում ավելացվել է հավատարմագրերը և sysext ֆայլերը cpio արխիվում փաթեթավորելու և այս արխիվը միջուկին initrd-ի հետ միասին տեղափոխելու հնարավորությունը (լրացուցիչ ֆայլերը տեղադրվում են /.extra/ գրացուցակում): Այս հատկությունը թույլ է տալիս օգտագործել ստուգելի անփոփոխ initrd միջավայր, որը լրացվում է sysexts-ով և գաղտնագրված նույնականացման տվյալներով:
- Discoverable Partitions-ի մասնագրերը զգալիորեն ընդլայնվել են՝ տրամադրելով գործիքներ GPT-ի (GUID Partition Tables) միջոցով համակարգի միջնորմների նույնականացման, տեղադրման և ակտիվացման համար: Համեմատած նախորդ թողարկումների հետ՝ հստակեցումն այժմ աջակցում է արմատային միջնորմը և /usr բաժինը ճարտարապետությունների մեծ մասի համար, ներառյալ այն հարթակները, որոնք չեն օգտագործում UEFI:
Discoverable Partitions-ը նաև աջակցություն է ավելացնում այն միջնորմների համար, որոնց ամբողջականությունը ստուգվում է dm-verity մոդուլի կողմից՝ օգտագործելով PKCS#7 թվային ստորագրությունները՝ հեշտացնելով ամբողջությամբ վավերացված սկավառակի պատկերների ստեղծումը: Ստուգման աջակցությունը ինտեգրված է տարբեր կոմունալ ծրագրերում, որոնք շահարկում են սկավառակի պատկերները, ներառյալ systemd-nspawn, systemd-sysext, systemd-dissect, RootImage ծառայություններ, systemd-tmpfiles և systemd-sysusers:
- Միավորների համար, որոնք երկար ժամանակ են պահանջում սկսելու կամ դադարեցնելու համար, բացի անիմացիոն առաջընթացի տող ցուցադրելուց, հնարավոր է ցուցադրել կարգավիճակի մասին տեղեկատվություն, որը թույլ է տալիս հասկանալ, թե կոնկրետ ինչ է կատարվում ծառայության հետ տվյալ պահին և որ ծառայությունն է համակարգի կառավարիչը: ներկայումս սպասում է ավարտին:
- Ավելացվեց DefaultOOMScoreAdjust պարամետրը /etc/systemd/system.conf և /etc/systemd/user.conf, ինչը թույլ է տալիս կարգավորել OOM-killer շեմը ցածր հիշողության համար, որը կիրառելի է համակարգի և օգտվողների համար սկսվող գործընթացների համար: Լռելյայնորեն, համակարգի ծառայությունների կշիռն ավելի բարձր է, քան օգտվողների ծառայությունները, այսինքն. Հիշողության անբավարարության դեպքում օգտվողների ծառայությունների դադարեցման հավանականությունը ավելի մեծ է, քան համակարգայինը:
- Ավելացվեց RestrictFileSystems պարամետրը, որը թույլ է տալիս սահմանափակել ծառայությունների հասանելիությունը որոշակի տեսակի ֆայլային համակարգեր: Հասանելի ֆայլային համակարգերի տեսակները դիտելու համար կարող եք օգտագործել «systemd-analyze filesystems» հրամանը: Համեմատաբար ներդրվել է RestrictNetworkInterfaces տարբերակը, որը թույլ է տալիս սահմանափակել մուտքը որոշակի ցանցային միջերեսներ: Իրականացումը հիմնված է BPF LSM մոդուլի վրա, որը սահմանափակում է մի խումբ գործընթացների մուտքը միջուկի օբյեկտներ:
- Ավելացվեց նոր /etc/integritytab կազմաձևման ֆայլ և systemd-integritysetup ծրագիրը, որը կարգավորում է dm-integrity մոդուլը՝ վերահսկելու տվյալների ամբողջականությունը հատվածի մակարդակում, օրինակ՝ երաշխավորելու կոդավորված տվյալների անփոփոխությունը (Authenticated Encryption, ապահովում է, որ տվյալների բլոկն ունի չի փոփոխվել շրջանաձև ճանապարհով): /etc/integritytab ֆայլի ձևաչափը նման է /etc/crypttab և /etc/veritytab ֆայլերին, բացառությամբ, որ dm-crypt-ի և dm-verity-ի փոխարեն օգտագործվում է dm-integrity:
- Systemd-boot-update.service-ի նոր միավոր ֆայլ է ավելացվել, երբ ակտիվացվի և տեղադրվի sd-boot bootloader, systemd-ը ավտոմատ կերպով կթարմացնի sd-boot bootloader-ի տարբերակը՝ միշտ թարմացնելով bootloader կոդը: Ինքն sd-boot-ն այժմ կառուցված է լռելյայն՝ SBAT (UEFI Secure Boot Advanced Targeting) մեխանիզմի աջակցությամբ, որը լուծում է UEFI Secure Boot-ի համար վկայագրի չեղարկման հետ կապված խնդիրները: Բացի այդ, sd-boot-ը հնարավորություն է տալիս վերլուծել Microsoft Windows-ի բեռնման կարգավորումները՝ Windows-ով բեռնման բաժանմունքների անունները ճիշտ գեներացնելու և Windows-ի տարբերակը ցուցադրելու համար:
sd-boot-ը նաև հնարավորություն է տալիս սահմանել գունային սխեման կառուցման ժամանակ: Բեռնման գործընթացում ավելացվել է էկրանի լուծաչափը փոխելու աջակցություն՝ սեղմելով «r» ստեղնը: Ավելացվեց «f» թեժ ստեղնը՝ որոնվածի կազմաձևման ինտերֆեյսին անցնելու համար: Ավելացրել է ռեժիմ՝ համակարգը ավտոմատ կերպով բեռնելու համար, որը համապատասխանում է վերջին բեռնման ժամանակ ընտրված ցանկի տարրին: Ավելացվեց ESP (EFI System Partition) բաժնում գտնվող /EFI/systemd/drivers/ գրացուցակում ավտոմատ կերպով բեռնելու EFI դրայվերները:
- Ներառված է նոր միավոր ֆայլ factory-reset.target, որը մշակվում է systemd-logind-ում վերաբեռնման, անջատման, կասեցման և ձմեռման գործողությունների նման ձևով և օգտագործվում է գործարանային վերակայում կատարելու համար մշակիչներ ստեղծելու համար:
- Systemd-ով լուծված գործընթացը այժմ ստեղծում է լրացուցիչ լսողական վարդակ 127.0.0.54-ում՝ ի լրումն 127.0.0.53-ի: 127.0.0.54 հասցեով ժամանած հարցումները միշտ վերահղվում են դեպի վերընթաց DNS սերվեր և չեն մշակվում տեղում:
- Տրամադրվում է libgcrypt-ի փոխարեն OpenSSL գրադարանով systemd-importd և systemd-լուծված կառուցելու հնարավորություն:
- Ավելացվել է նախնական աջակցություն LoongArch ճարտարապետության համար, որն օգտագործվում է Loongson պրոցեսորներում:
- systemd-gpt-auto-generator-ն ապահովում է LUKS2 ենթահամակարգի կողմից կոդավորված համակարգի կողմից սահմանված փոխանակման միջնորմների ավտոմատ կազմաձևման հնարավորություն:
- GPT պատկերի վերլուծման կոդը, որն օգտագործվում է systemd-nspawn, systemd-dissect և նմանատիպ կոմունալ ծրագրերում, կիրառում է այլ ճարտարապետությունների համար պատկերներ վերծանելու հնարավորությունը, ինչը թույլ է տալիս systemd-nspawn-ն օգտագործել այլ ճարտարապետությունների էմուլյատորների վրա պատկերներ գործարկելու համար:
- Սկավառակի պատկերները ստուգելիս systemd-dissect-ն այժմ ցուցադրում է միջնորմի նպատակի մասին տեղեկատվություն, օրինակ՝ UEFI-ի միջոցով բեռնաթափման կամ կոնտեյներով աշխատելու հարմարությունը:
- System-extension.d/ ֆայլերին ավելացվել է «SYSEXT_SCOPE» դաշտը, որը թույլ է տալիս նշել համակարգի պատկերի շրջանակը՝ «initrd», «system» կամ «portable»:
- «PORTABLE_PREFIXES» դաշտն ավելացվել է os-release ֆայլին, որը կարող է օգտագործվել շարժական պատկերներում՝ որոշելու աջակցվող միավոր ֆայլի նախածանցները:
- systemd-logind-ը ներկայացնում է նոր կարգավորումներ HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress և HandleHibernateKeyLongPress, որոնք կարող են օգտագործվել որոշելու համար, թե ինչ է տեղի ունենում, երբ որոշ ստեղներ պահվում են ավելի քան 5 վայրկյան (օրինակ՝ կարգավորել ռեժիմը, որը կարող է արագ անցնել կոճակը: , և երբ պահվում է, այն կքնի):
- Միավորների համար ներդրված են StartupAllowedCPUs և StartupAllowedMemoryNodes կարգավորումները, որոնք տարբերվում են նմանատիպ կարգավորումներից առանց Startup նախածանցի նրանով, որ դրանք կիրառվում են միայն բեռնման և անջատման փուլում, ինչը թույլ է տալիս սահմանել ռեսուրսների այլ սահմանափակումներ բեռնման ժամանակ:
- Ավելացվեց [Վիճակը|Հաստատեք][Հիշողություն|CPU|IO]Ճնշման ստուգումներ, որոնք թույլ են տալիս բաց թողնել միավորի ակտիվացումը կամ ձախողվել, եթե PSI մեխանիզմը հայտնաբերում է մեծ բեռ հիշողության, պրոցեսորի և I/O համակարգում:
- Inode-ի լռելյայն առավելագույն սահմանաչափը /dev բաժանման համար ավելացվել է 64k-ից մինչև 1M, իսկ /tmp բաժնի համար 400k-ից մինչև 1M:
- Ծառայությունների համար առաջարկվել է ExecSearchPath պարամետր, որը հնարավորություն է տալիս փոխել գործարկվող ֆայլերի որոնման ուղին, որոնք գործարկվել են ExecStart-ի նման պարամետրերով:
- Ավելացվեց RuntimeRandomizedExtraSec պարամետրը, որը թույլ է տալիս պատահական շեղումներ ներմուծել RuntimeMaxSec-ի ժամանակի վերջում, ինչը սահմանափակում է միավորի կատարման ժամանակը:
- Ընդլայնվել է RuntimeDirectory, StateDirectory, CacheDirectory և LogsDirectory կարգավորումների շարահյուսությունը, որոնցում նշելով լրացուցիչ արժեք, որն առանձնացված է երկու կետով, այժմ կարող եք կազմակերպել սիմվոլիկ հղումի ստեղծումը տվյալ գրացուցակին՝ մի քանի ուղիներով մուտքը կազմակերպելու համար:
- Ծառայությունների համար TTYRows-ի և TTYColumns-ի կարգավորումներն առաջարկվում են TTY սարքում տողերի և սյունակների քանակը սահմանելու համար:
- Ավելացվեց ExitType պարամետրը, որը թույլ է տալիս փոխել ծառայության ավարտը որոշելու տրամաբանությունը: Լռելյայնորեն, systemd-ը վերահսկում է միայն հիմնական գործընթացի մահը, բայց եթե ExitType=cgroup-ը սահմանված է, ապա համակարգի կառավարիչը կսպասի cgroup-ի վերջին գործընթացի ավարտին:
- systemd-cryptsetup-ի TPM2/FIDO2/PKCS11 աջակցության իրականացումն այժմ նաև ստեղծվել է որպես cryptsetup plugin, որը թույլ է տալիս օգտագործել սովորական cryptsetup հրամանը գաղտնագրված բաժանումը բացելու համար:
- TPM2 կարգավորիչը systemd-cryptsetup/systemd-cryptsetup-ում ավելացնում է աջակցություն RSA հիմնական բանալիներին, բացի ECC ստեղներից՝ բարելավելու համատեղելիությունը ոչ ECC չիպերի հետ:
- Token-timeout տարբերակն ավելացվել է /etc/crypttab-ին, որը թույլ է տալիս սահմանել առավելագույն ժամանակը PKCS#11/FIDO2 նշանի միացմանը սպասելու համար, որից հետո ձեզ կառաջարկվի մուտքագրել գաղտնաբառը կամ վերականգնման բանալի:
- systemd-timesyncd-ն իրականացնում է SaveIntervalSec պարամետրը, որը թույլ է տալիս պարբերաբար պահպանել համակարգի ընթացիկ ժամանակը սկավառակի վրա, օրինակ՝ առանց RTC համակարգերում միատոն ժամացույցի ներդրման համար:
- Systemd-analyze հավելվածին ավելացվել են ընտրանքներ՝ «--image» և «--root»՝ տվյալ պատկերի կամ արմատային գրացուցակի ներսում միավորի ֆայլերը ստուգելու համար, «--recursive-errors»՝ սխալի դեպքում կախված միավորները հաշվի առնելու համար: հայտնաբերված է, «--անցանց»՝ սկավառակի վրա պահված ֆայլերը առանձին ստուգելու համար, «—json»՝ JSON ձևաչափով ելքի համար, «—quiet»՝ անկարևոր հաղորդագրություններն անջատելու համար, «—profile»՝ շարժական պրոֆիլին միացնելու համար։ Ավելացվեց նաև inspect-elf հրամանը՝ ELF ձևաչափով հիմնական ֆայլերը վերլուծելու համար և տվյալ միավորի անվանումով միավորի ֆայլերը ստուգելու հնարավորությունը՝ անկախ նրանից, թե արդյոք այս անունը համընկնում է ֆայլի անվան հետ:
- systemd-networkd-ն ընդլայնել է աջակցությունը Controller Area Network (CAN) ավտոբուսի համար: Ավելացվել են կարգավորումներ՝ CAN ռեժիմները կառավարելու համար՝ Loopback, OneShot, PresumeAck և ClassicDataLengthCode: Ավելացվեց TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 և DataSyncJumpWidth ֆայլերի համաժամեցման ընտրանքները ANT. ինտերֆեյս.
- Systemd-networkd-ը ավելացրել է Label տարբերակ DHCPv4 հաճախորդի համար, որը թույլ է տալիս կարգավորել հասցեի պիտակը, որն օգտագործվում է IPv4 հասցեները կարգավորելիս:
- systemd-udevd-ը «ethtool»-ի համար ապահովում է հատուկ «max» արժեքների աջակցություն, որոնք սահմանում են բուֆերի չափը սարքաշարի կողմից աջակցվող առավելագույն արժեքին:
- Systemd-udevd-ի .link ֆայլերում այժմ կարող եք կարգավորել տարբեր պարամետրեր՝ ցանցային ադապտերները համատեղելու և ապարատային մշակիչները միացնելու համար (բեռնաթափում):
- systemd-networkd-ը լռելյայն առաջարկում է նոր .network ֆայլեր. 80-container-vb.network՝ սահմանելու ցանցային կամուրջները, որոնք ստեղծվել են systemd-nspawn-ի գործարկման ժամանակ «--network-bridge» կամ «--network-zone» տարբերակներով; 80-6rd-tunnel.network՝ թունելներ սահմանելու համար, որոնք ավտոմատ կերպով ստեղծվում են 6RD տարբերակով DHCP պատասխան ստանալու ժամանակ:
- Systemd-networkd-ը և systemd-udevd-ն ավելացրել են IP-ի փոխանցման աջակցություն InfiniBand ինտերֆեյսների միջոցով, որի համար «[IPoIB]» բաժինը ավելացվել է systemd.netdev ֆայլերին, և «ipoib» արժեքի մշակումն իրականացվել է Kind-ում: կարգավորումը.
- systemd-networkd-ն ապահովում է երթուղու ավտոմատ կազմաձևում AllowedIPs պարամետրում նշված հասցեների համար, որոնք կարող են կազմաձևվել RouteTable և RouteMetric պարամետրերի միջոցով [WireGuard] և [WireGuardPeer] բաժիններում:
- systemd-networkd-ն ապահովում է չփոփոխվող MAC հասցեների ավտոմատ գեներացիա batadv և bridge ինտերֆեյսների համար: Այս վարքագիծն անջատելու համար կարող եք նշել MACAddress=none .netdev ֆայլերում:
- WakeOnLanPassword-ի կարգավորումն ավելացվել է .link ֆայլերին «[Link]» բաժնում՝ գաղտնաբառը որոշելու համար, երբ WoL-ն աշխատում է «SecureOn» ռեժիմում:
- .network ֆայլերի «[CAKE]» բաժնում ավելացվել են AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO և UseRawPacketSize կարգավորումները .network ֆայլերի «[CAKE]» բաժնում՝ CAKE ցանցի կառավարման պարամետրերը սահմանելու համար: .
- Ավելացրել է IgnoreCarrierLoss պարամետրը .network ֆայլերի «[Network]» բաժնում, որը թույլ է տալիս որոշել, թե որքան ժամանակ պետք է սպասել՝ արձագանքելով օպերատորի ազդանշանի կորստին:
- Systemd-nspawn, homectl, machinectl և systemd-run ընդլայնել են «--setenv» պարամետրի շարահյուսությունը. եթե նշված է միայն փոփոխականի անունը (առանց «="), ապա արժեքը կվերցվի համապատասխան միջավայրի փոփոխականից ( Օրինակ՝ «--setenv=FOO» նշելիս արժեքը կվերցվի $FOO միջավայրի փոփոխականից և կօգտագործվի կոնտեյների մեջ դրված համանուն միջավայրի փոփոխականում):
- systemd-nspawn-ն ավելացրել է «--suppress-sync» տարբերակը՝ անջատելու համար sync()/fsync()/fdatasync() համակարգի զանգերը կոնտեյներ ստեղծելիս (օգտակար է, երբ արագությունն առաջնահերթ է, իսկ կառուցման արտեֆակտները խափանման դեպքում՝ ոչ: կարևոր է, քանի որ դրանք կարող են վերստեղծվել ցանկացած պահի):
- Ավելացվել է նոր hwdb տվյալների բազա, որը ներառում է տարբեր տեսակի ազդանշանային անալիզատորներ (մուլտիմետրեր, պրոտոկոլային անալիզատորներ, օսցիլոսկոպներ և այլն)։ hwdb-ում տեսախցիկների մասին տեղեկատվությունը ընդլայնվել է տեսախցիկի տեսակի (կանոնավոր կամ ինֆրակարմիր) և ոսպնյակի (առջևի կամ հետևի) տեղակայման մասին տեղեկատվությամբ։
- Xen-ում օգտագործվող ցանցային սարքերի համար միացված է ցանցային ինտերֆեյսի անփոփոխ անունների ստեղծում:
- Հիմնական ֆայլերի վերլուծությունը systemd-coredump կոմունալ ծրագրի կողմից, որը հիմնված է libdw/libelf գրադարանների վրա, այժմ իրականացվում է առանձին գործընթացով՝ մեկուսացված ավազատուփ միջավայրում:
- systemd-importd-ն աջակցություն է ավելացրել $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC շրջակա միջավայրի փոփոխականների համար, որոնցով կարող եք անջատել Btrfs ենթաբաժինների ստեղծումը, ինչպես նաև կարգավորել համաժամացման և համաժամացման քվոտաները:
- Systemd-journald-ում, ֆայլային համակարգերում, որոնք աջակցում են պատճենահանման-գրելու ռեժիմը, COW ռեժիմը կրկին միացված է արխիվացված ամսագրերի համար, ինչը թույլ է տալիս դրանք սեղմել Btrfs-ի միջոցով:
- systemd-journald-ն իրականացնում է նույնական դաշտերի կրկնօրինակում մեկ հաղորդագրության մեջ, որն իրականացվում է այն փուլում, նախքան հաղորդագրությունը ամսագրում տեղադրելը:
- «--ցուցադրել» տարբերակն ավելացվել է անջատման հրամանին՝ պլանավորված անջատումը ցուցադրելու համար:
Source: opennet.ru