systemd համակարգի մենեջերի թողարկում 248

Չորս ամիս մշակումից հետո ներկայացվում է systemd 248 համակարգի կառավարչի թողարկումը: Նոր թողարկումն ապահովում է պատկերների աջակցություն՝ համակարգային դիրեկտորիաների ընդլայնման համար, /etc/veritytab կազմաձևման ֆայլը, systemd-cryptenroll օգտակար ծրագիրը, ապակողպում է LUKS2-ը TPM2 չիպերի և FIDO2-ի միջոցով: նշաններ, գործարկվող միավորներ մեկուսացված IPC նույնականացման տարածքում, BATMAN արձանագրություն ցանցային ցանցերի համար, nftables backend՝ systemd-nspawn-ի համար: Systemd-oomd-ը կայունացվել է:

Խոշոր փոփոխություններ.

  • Իրականացվել է System Extension պատկերների գաղափարը, որը կարող է օգտագործվել /usr/ և /opt/ դիրեկտորիաների հիերարխիան ընդլայնելու և գործարկման ժամանակ լրացուցիչ ֆայլեր ավելացնելու համար, նույնիսկ եթե նշված դիրեկտորիաները տեղադրված են միայն կարդալու համար: Երբ համակարգի ընդլայնման պատկերը տեղադրվում է, դրա բովանդակությունը ծածկվում է /usr/ և /opt/ հիերարխիայում՝ օգտագործելով OverlayFS-ը:

    Համակարգի ընդարձակման պատկերները միացնելու, անջատելու, դիտելու և թարմացնելու համար առաջարկվել է նոր կոմունալ՝ systemd-sysext: Բեռնման ժամանակ արդեն տեղադրված պատկերները ավտոմատ կերպով միացնելու համար ավելացվել է systemd-sysext.service ծառայությունը։ «SYSEXT_LEVEL=" պարամետրը ավելացվել է os-release ֆայլին՝ աջակցվող համակարգի ընդլայնումների մակարդակը որոշելու համար:

  • Միավորների համար ներդրվել է ExtensionImages պարամետրը, որը կարող է օգտագործվել համակարգի ընդլայնման պատկերները կապելու համար առանձին մեկուսացված ծառայությունների FS անվանատարածքի հիերարխիային:
  • Ավելացվեց /etc/veritytab կազմաձևման ֆայլը՝ dm-verity մոդուլի միջոցով տվյալների ստուգումը բլոկի մակարդակում կարգավորելու համար: Ֆայլի ձևաչափը նման է /etc/crypttab - «section_name device_for_data device_for_hashes check_hash_root options»: Ավելացվեց systemd.verity.root_options միջուկի հրամանի տողի տարբերակը՝ արմատային սարքի համար dm-verity վարքագիծը կարգավորելու համար:
  • systemd-cryptsetup-ն ավելացնում է JSON ձևաչափով LUKS11 մետատվյալների վերնագրից PKCS#2 նշանի URI-ի և գաղտնագրված բանալին հանելու հնարավորությունը, ինչը թույլ է տալիս գաղտնագրված սարք բացելու մասին տեղեկատվությունը ինտեգրվել հենց սարքում՝ առանց արտաքին ֆայլերի ներգրավման:
  • systemd-cryptsetup-ն ապահովում է LUKS2 ծածկագրված միջնորմների ապակողպման աջակցություն՝ օգտագործելով TPM2 չիպերը և FIDO2 նշանները, ի լրումն նախկինում աջակցվող PKCS#11 նշանների: libfido2-ի բեռնումը կատարվում է dlopen() միջոցով, այսինքն. Հասանելիությունը ստուգվում է անմիջապես, այլ ոչ թե որպես լարային կախվածություն:
  • Նոր ընտրանքներ «no-write-workqueue» և «no-read-workqueue» ավելացվել են /etc/crypttab-ում՝ systemd-cryptsetup-ի համար, որպեսզի հնարավոր դառնա գաղտնագրման և վերծանման հետ կապված I/O-ի համաժամանակյա մշակումը:
  • Systemd-repart կոմունալ ծրագիրը ավելացրել է TPM2 չիպերի միջոցով գաղտնագրված միջնորմները ակտիվացնելու հնարավորություն, օրինակ՝ առաջին բեռնման ժամանակ գաղտնագրված /var միջնորմ ստեղծելու համար:
  • Systemd-cryptenroll ծրագիրը ավելացվել է TPM2, FIDO2 և PKCS#11 նշանները LUKS միջնորմներին կապելու, ինչպես նաև նշանները ապամոնտաժելու և դիտելու, պահեստային բանալիները կապելու և մուտքի համար գաղտնաբառ սահմանելու համար:
  • Ավելացվեց PrivateIPC պարամետրը, որը թույլ է տալիս կարգավորել միավորի ֆայլը, որպեսզի գործընթացները գործարկվեն մեկուսացված IPC տարածքում՝ իրենց առանձին նույնացուցիչներով և հաղորդագրությունների հերթով: Միավորն արդեն ստեղծված IPC նույնացուցիչ տարածքին միացնելու համար առաջարկվում է IPCNamespacePath տարբերակը:
  • Ավելացվել են ExecPaths-ի և NoExecPaths-ի կարգավորումները՝ թույլ տալու համար, որ noexec դրոշը կիրառվի ֆայլային համակարգի որոշակի մասերի վրա:
  • systemd-networkd-ն ավելացնում է աջակցություն BATMAN (Better Approach To Mobile Adhoc Networking) ցանցային արձանագրությանը, որը թույլ է տալիս ստեղծել ապակենտրոնացված ցանցեր, որոնցում յուրաքանչյուր հանգույց միացված է հարևան հանգույցների միջոցով: Կազմաձևման համար առաջարկվում են [BatmanAdvanced] բաժինը .netdev-ում, BatmanAdvanced պարամետրը .network ֆայլերում և սարքի նոր տեսակ «batadv»:
  • Systemd-oomd համակարգում ցածր հիշողության վաղ արձագանքման մեխանիզմի ներդրումը կայունացվել է: Ավելացրել է DefaultMemoryPressureDurationSec տարբերակը՝ նախքան միավորի վրա ազդելը ռեսուրսի թողարկման սպասման ժամանակը կարգավորելու համար: Systemd-oomd-ն օգտագործում է PSI (Pressure Stall Information) միջուկի ենթահամակարգը և թույլ է տալիս հայտնաբերել ռեսուրսների բացակայության պատճառով ուշացումների սկիզբը և ընտրողաբար դադարեցնել ռեսուրսներ պահանջող գործընթացները այն փուլում, երբ համակարգը դեռևս կրիտիկական վիճակում չէ և չի գտնվում: սկսում են ինտենսիվորեն կրճատել քեշը և տեղափոխել տվյալները փոխանակման բաժանման մեջ:
  • Ավելացվեց միջուկի հրամանի տողի «root=tmpfs» պարամետրը, որը թույլ է տալիս տեղադրել արմատային բաժինը RAM-ում տեղակայված ժամանակավոր պահեստում՝ օգտագործելով Tmpfs:
  • /etc/crypttab պարամետրը, որը սահմանում է բանալի ֆայլը, այժմ կարող է մատնանշել AF_UNIX և SOCK_STREAM վարդակների տեսակները: Այս դեպքում վարդակին միանալիս պետք է տրվի բանալին, որը, օրինակ, կարող է օգտագործվել բանալիներ դինամիկ թողարկող ծառայություններ ստեղծելու համար։
  • Համակարգի կառավարչի և systemd-hostnamed-ի կողմից օգտագործվող պահեստային հոսթի անունը այժմ կարող է սահմանվել երկու եղանակով՝ OS-release-ում DEFAULT_HOSTNAME պարամետրի և $SYSTEMD_DEFAULT_HOSTNAME միջավայրի փոփոխականի միջոցով: systemd-hostnamed-ը նաև մշակում է «localhost»-ը հոսթի անվան մեջ և ավելացնում է հոսթի անունը, ինչպես նաև «HardwareVendor» և «HardwareModel» հատկությունները DBus-ի միջոցով արտահանելու հնարավորություն:
  • Բացահայտված միջավայրի փոփոխականներով բլոկը այժմ կարող է կազմաձևվել նոր ManagerEnvironment տարբերակի միջոցով system.conf կամ user.conf, և ոչ միայն միջուկի հրամանի տողի և միավորի ֆայլի կարգավորումների միջոցով:
  • Կոմպիլյացիայի ժամանակ հնարավոր է օգտագործել fexecve() համակարգի կանչը՝ execve()-ի փոխարեն գործընթացներ սկսելու համար՝ նվազեցնելու անվտանգության համատեքստը ստուգելու և այն կիրառելու միջև եղած ուշացումը:
  • Միավոր ֆայլերի համար նոր պայմանական գործողություններ են ավելացվել ConditionSecurity=tpm2 և ConditionCPUFeature՝ ստուգելու համար TPM2 սարքերի և առանձին պրոցեսորի հնարավորությունների առկայությունը (օրինակ՝ ConditionCPUFeature=rdrand կարող է օգտագործվել՝ ստուգելու համար, թե արդյոք պրոցեսորն աջակցում է RDRAN գործողությունը):
  • Հասանելի միջուկների համար ներդրվել է seccomp ֆիլտրերի համար համակարգային կանչերի աղյուսակների ավտոմատ ստեղծում:
  • Ավելացվեց նոր կապակցման մոնտաժները փոխարինելու ծառայությունների գոյություն ունեցող մոնտաժային անվանատարածքներում՝ առանց ծառայությունների վերագործարկման: Փոխարինումը կատարվում է «systemctl bind» հրամաններով ...» և «systemctl mount-image …».
  • Ավելացվել է աջակցություն StandardOutput-ի և StandardError-ի կարգավորումներում երթուղիները նշելու համար «կտրել. » օգտագործելուց առաջ մաքրելու համար:
  • Ավելացրել է sd-bus-ին տեղական կոնտեյների ներսում որոշակի օգտատիրոջ նիստի հետ կապ հաստատելու հնարավորություն: Օրինակ «systemctl -user -M lennart@ start quux»:
  • [Link] բաժնում systemd.link ֆայլերում ներդրված են հետևյալ պարամետրերը.
    • Անառակ - թույլ է տալիս սարքը միացնել «անառակ» ռեժիմին՝ մշակելու բոլոր ցանցային փաթեթները, ներառյալ՝ ընթացիկ համակարգին չհասցեագրվածները.
    • TransmitQueues և ReceiveQueues՝ TX և RX հերթերի քանակը սահմանելու համար;
    • TransmitQueueLength՝ TX հերթի չափը սահմանելու համար; GenericSegmentOffloadMaxBytes և GenericSegmentOffloadMaxSegment GRO (Generic Receive Offload) տեխնոլոգիայի օգտագործման սահմանափակումներ սահմանելու համար:
  • Systemd.network ֆայլերին ավելացվել են նոր կարգավորումներ.
    • [Ցանց] RouteTable՝ երթուղային աղյուսակ ընտրելու համար;
    • [RoutingPolicyRule] Տիպը երթուղավորման տեսակի համար («սև խոռոչ, «անհասանելի», «արգելում»);
    • [IPv6AcceptRA] RouteDenyList և RouteAllowList թույլատրված և մերժված երթուղիների գովազդների ցուցակների համար;
    • [DHCPv6] UseAddres-ը՝ DHCP-ի կողմից տրված հասցեն անտեսելու համար.
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy՝ ինտերֆեյսի գործունեության վերաբերյալ քաղաքականությունը սահմանելու համար (միշտ պահպանեք UP կամ DOWN վիճակը, կամ օգտագործողին թույլ տվեք փոխել վիճակները «ip link set dev» հրամանով):
  • Systemd.netdev ֆայլերին ավելացվել են [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps և [MACVLAN] BroadcastMulticastQueueLength տարբերակներ՝ VLAN փաթեթների մշակումը կարգավորելու համար:
  • Դադարեցրեց /dev/ գրացուցակի տեղադրումը noexec ռեժիմում, քանի որ դա հակասություն է առաջացնում /dev/sgx ֆայլերի հետ գործարկվող դրոշն օգտագործելիս: Հին վարքագիծը վերադարձնելու համար կարող եք օգտագործել NoExecPaths=/dev կարգավորումը:
  • /dev/vsock ֆայլի թույլտվությունները փոխվել են 0o666-ի, իսկ /dev/vhost-vsock և /dev/vhost-net ֆայլերը տեղափոխվել են kvm խումբ:
  • Սարքավորման ID տվյալների բազան ընդլայնվել է USB մատնահետքի ընթերցիչներով, որոնք ճիշտ աջակցում են քնի ռեժիմին:
  • systemd-ով լուծված հավելյալ աջակցություն՝ DNSSEC հարցումներին պատասխաններ լուծիչի միջոցով տալու համար: Տեղական հաճախորդները կարող են իրականացնել DNSSEC վավերացում իրենց վրա, մինչդեռ արտաքին հաճախորդները անփոփոխ են փոխանցվում մայր DNS սերվերին:
  • «CacheFromLocalhost» տարբերակն ավելացվել է solved.conf-ում, երբ սահմանված է, systemd-resolved-ը կօգտագործի քեշավորումը նույնիսկ 127.0.0.1 հասցեով DNS սերվերի զանգերի համար (լռելյայն, նման հարցումների քեշավորումն անջատված է կրկնակի քեշավորումից խուսափելու համար):
  • systemd-resolved-ն ավելացնում է աջակցություն RFC-5001 NSID-ների համար տեղական DNS լուծիչում՝ թույլ տալով հաճախորդներին տարբերակել տեղական լուծիչի և այլ DNS սերվերի հետ փոխազդեցությունները:
  • Resoluctl կոմունալն իրականացնում է տվյալների աղբյուրի մասին տեղեկատվություն (տեղական քեշ, ցանցի հարցում, տեղային պրոցեսորի պատասխան) ​​և տվյալների փոխանցման ժամանակ գաղտնագրման օգտագործումը ցուցադրելու հնարավորություն: Ընտրանքները --cache, --synthesize, --network, --zone, --trust-anchor և --validate տրամադրվում են անվանման որոշման գործընթացը վերահսկելու համար:
  • systemd-nspawn-ն ավելացնում է աջակցություն nftables-ի միջոցով firewall-ի կազմաձևման համար՝ ի լրումն iptables-ի առկա աջակցության: IPMasquerade-ի կարգավորումը systemd-networkd-ում ավելացրել է nftables-ի վրա հիմնված backend-ի օգտագործման հնարավորությունը:
  • systemd-localed-ն ավելացրել է աջակցություն՝ կանչելու locale-gen՝ բացակայող տեղանքները ստեղծելու համար:
  • Ընտրանքներ --pager/-no-pager/-json= ավելացվել են տարբեր կոմունալ ծրագրերում՝ էջավորման ռեժիմը միացնելու/անջատելու և JSON ձևաչափով ելք ստանալու համար: Ավելացրել է SYSTEMD_COLORS միջավայրի փոփոխականի միջոցով («16» կամ «256») տերմինալում օգտագործվող գույների քանակը սահմանելու հնարավորությունը:
  • Առանձին գրացուցակի հիերարխիաներով (բաժանված / և /usr) և cgroup v1 աջակցությամբ կառուցվածքը հնացել է:
  • Git-ի գլխավոր մասնաճյուղը վերանվանվել է «վարպետից» «հիմնականի»:

Source: opennet.ru

Добавить комментарий