systemd 261 և liberated-systemd 261

Երեք ամսվա զարգացումից հետո disponibilidade տեղադրվեց համակարգի կառավարիչը systemd 261. Օրինակային փոփոխություններ. API-ի աջակցության նախապատրաստում տարիքային վավերացման, Kexec Handover և Live Update Orchestration ենթահամակարգերի աջակցություն առանց վիճակը կորցնելու վերագործարկման, IMDS (Instance Metadata Service) ենթահամակարգ, ֆունկցիոնալություն, որը պաշտպանում է չծայրահեղ TPM (Trusted Platform Module) ունեցող համակարգերի բեռնման անվտանգությունը, systemd-sysinstall բաղադրիչ սիստեմի ինստալյացիայի իրագործմամբ:

Երևում է փոփոխություններ նոր թողարկմանը՝

  • Հայաստանում ավելացված նոր բաղադրիչ systemd-sysinstall կարող է վերահսկել հրամանային տողից կամ ինտերակտիվ տեքստային ինտերֆեյսով: systemd-sysinstall-ը կազմված է արդեն առկա systemd հնարավորություններից: Չնայած disk partitioning համար օգտագործվում է systemd-repart, kernel-ին տեղադրելու և բեռնման մենյուն ստեղծելու համար` «bootctl link», բեռնատուփի տեղադրման համար systemd-boot — զանգվածի «bootctl install» համակարգը, սկզբնական կարգավորումների համար (օրինակ՝ լեզվի և ստեղնաշարերի ընտրություն) — systemd-creds.
  • Նախապատրաստման շրջանակներում իրականացվում է օրենքների պահանջների իրականացման համար օրենքների համակարգում API-ի ինտեգրումն տեղեկությունների ստուգման վերաբերյալ տվյալների համար userdb ավելացվեց birthDate դաշտը, որտեղ օգտվողի ծննդյան ամսաթիվն է: Ավելացրած դաշտը կարող է օգտագործվել xdg-desktop-portal-ի և AccountsService-ի զարգացնելու համար, որտեղ հավելվածները կարող են ստանալ օգտվողի տարիքային կարգ ու մարտահրավերներ D-Bus ինտերֆեյսի միջոցով org.freedesktop.AgeVerification1 կամ org.freedesktop.ParentalControls: عمر տարեկան: Ծննդյան տարեթվերի տեղադրելու համար homectl գործառույթին ավելացվել է -birth-date տարբերակը.
  • PID1 ծխագիր ներգրավելով PID1 Linux միջուկային ենթահամակարգեր LUO (Live Update Orchestration) և KHO (Kexec Handover), որոնք հնարավորություն են տալիս լիովին վերագործարկել և թարմացնել միջուկը առանց համակարգի վիճակը կորցնելու, սարքերի և գործընթացների: KHO նրանք հնարավորություն անվճար վերաբեռնում կատարել ավելի հին միջուկից առանց համակարգի վիճակը կորցնելու, իսկ LUO իրագործում է սարքերի և оперативելուի հիշողությունը, ինչպես նաև ապահովում է շարունակական գործողությունները կապված DMA-ի և արևադարձության կարգավորման:
    systemd-ի մեջ համակարգային և օգտագործողի unit-ների համար իրականացվել են մեթոդներ «kexec»-ին կանչելուց առաջ ֆայլերի դասագրքերը պահպանելու և միջուկի «kexec»-ի միջոցով վերագործարկելուց հետո: Unit -երում կարող եք ստեղծել ձեր նստաշրջանները LUO, որոնք պահպանվում և վերագործարկվում են kexec իրականացրելիս.: Ֆայլային դասագրքերի վիճակները պահպանելու համար պետք է օգտագործել FileDescriptorStorePreserve=yes կարգավորում:
  • Ներդրված է systemd-imdsd, որն ապահովում է Varlink IPC հիմքով API, որն իսկապես հնարավորություն է տալիս տեղական ծրագրերին մուտք գործել IMDS (Instance Metadata Service) ծառայություններին, որոնք մատուցվում են տարբեր ամպային համակարգերի տրամադրողների կողմից: IMDS-քը թույլ է տալիս վիրտուալ մեքենաներին ստանալ տեղեկություններ ամպային միջավայրի մասին, օրինակ, կարելի է ստանալ ցանցային կոնֆիգուրացիայի, узлի աշխարհագրական տեղակայման, CPU տեսակի և պահեստի չափի մասին տեղեկություններ: systemd-imdsd-ում տրամադրվում է ինչպես ստորին մակարդակի API, այնպես էլ բարձր մակարդակի ինտերֆեյս, որպեսզի հարցումներ իրականացվեն բնորոշ բանալիների միջոցով, որոնք համընկնում են կոնկրետ ամպային հարթակների գլուխներին: systemd-imds-d ի հետ փոխգործելու համար ավելացվել է systemd-imds օգտակար ծրագիրը, որը թույլ է տալիս ներմուծել IMDS-ից հրապարակներ տեղական հաշվետվության համակարգում։
    Որպեսզի ճանաչվեն ամպային հարթակները SMBIOS-ից ստացված տեղեկությունների միջոցով և հայտնի լինի ներկայիս узl-ներում IMDS հասանելի ֆունկցիոնալությունը, ավելացվել է նոր hwdb.d/40-imds.hwdb տվյալների բազա։ իրականացվել է Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS և Vultr ամպային հարթակների ճանաչում: systemd-imds-generator մշակիչը հասանելի է ավտոմատ կերպով IMDS-ից տվյալներ ստանալու ծառայություն ստանալու համար, երբ հայտնվում է, որ աշխատում է վերը նշված ամպային հարթակի ներքո: Կարելի է ստեղծել համընդհանուր պատկերներ, որոնք աջակցում են IMDS օգտագործմանը ամպային միջավայրերում, բայց կարող են նաև գործել առանց IMDS։
  • Մեույն systemd-stub իրականացվել է boot secret ֆունկցիոնալությունը, որը թույլ է տալիս ձևավորել բանալին EFI փոփոխականի հիման վրա, որը պահվում է օպերացիոն համակարգի համար հասանելի չլինող տարրի մեջ և իդենտիֆիկացվում է պատահական արժեքի միջոցով: initrd-ում բանալին փոխանցվում է /extra/boot-secret ֆայլի միջոցով: Ներկայացված հնարավորությունը կարող է պահանջվել համակարգի հատուկ պատահական բանալի ստանալու համար, որպեսզի ախտահանման գործընթացը կամ գաղտնարանները օգտագործվեն սարքերի առանց TPM (Trusted Platform Module) աջակցված համակարգերում։
  • Ավելացվել է service systemd-tpm2-swtpm.service, որպեսզի գործարկվի TPM-չիպերի emulators-ը swtpm (Software TPM Emulator), որը կարելի է օգտագործել ավտոմատ վերականգնման համար ծրագրային TPM իրականացման, որպեսզի ապահովվի պաշտպանված загрузка առանց սարքային TPM: Ծրագրային TPM-ը աշխատում է օգտագործողի տարածքում և չի թույլ տալիս հասնել սարքային TPM-ի պաշտպանության մակարդակին, բայց որոշ իրավիճակներում դրա կիրառումը արդարացված է `TPM`-ի բացակայության համատեքստում: उदाहरणार्थ, ծրագրային TPՄ-ն կարող է ստանալ բաժինների գաղտնալճի բանալին, որը ապահովվում է նոր `boot secret` ֆունկցիոնալության միջոցով, և օգտագործել այն իր վիճակի պահեստավորելու համար ESP (EFI System Partition) բաժնում: Ծրագրային TPM-ի ավտոմատ ակտիվացման համար առաջարկվում է systemd.tpm2_software_fallback Kernel-command line պարամետր։
  • Հայտարարվել է կայուն և տեղադրվել /usr/bin/ բաղկացուցիչ systemd-sysupdate, նախատեսված ավտոմատ կերպով նորոգումներ որոշելու, բեռնելու և տեղադրելու համար, utilizando 2 անկախ բաժիններ/ֆայլեր/կատալոգներ, որոնցից մեկում գտնվում է ընթացիկ աշխատող ռեսուրսը, իսկ մյուսում տեղադրվում է հերթական նորոգումը, ապա բաժինները/ֆայլերը/կատալոգները փոխվում են տեղերում։
  • Մեույն systemd-resolved իրականացված է նոր DNS՝ գրառումների վերապահման կամ նշման հնարավորություն, որը իրականացվում է JSON ֆայլերի տեղադրության միջոցով каталогներում systemd/resolve/static.d/. Համեմատած /etc/hosts նոր ֆայլերում կարելի է ոչ միայն IP հասցեներ կապել хост անվան հետ, այլ նաև որոշել ռեսուրսային DNS RR գրառումներ, որոնք տարբերվում են «A» և «AAAA»-ից։ Ավելին, systemd-resolved-ում ավելացվել են DNS կեշի չափի պարամետրերը՝ DNSCacheSize, MulticastDNSCacheSize և LLMNRCacheSize։
  • Ավելացված է ‘storagectl’ արդյունավետության ստուգման և բլոկային սարքերի և ֆայլային համակարգերի կապումը կառավարելու համար։
  • Մասնակցությամբ մասին libsystemd-ի կախվածությունների կրճատման համար իրականացվել է դինամիկ բեռնման libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk և libcryptsetup գրադարաններ՝ dlopen() ֆունկցիայի օգնությամբ, այն դեպքերում, երբ դրանց ֆունկցիաները իսկապես անհրաժեշտ են։
  • Մեույն systemd-tmpfiles ավելացել է —inline դրոշը, որը թույլ է տալիս ցուցադրելու դիրեկտիվները Kommando տողով կոնֆիգուրացիայի ֆայլեր tmpfiles.d/-ում չստեղծելու և կարգավորումները STDIN-ի միջոցով առաքելու առանց։ Ավելացել է նոր k/K կարգի տիպ, որը թույլ է տալիս կարգավորումներ ցուցադրել capabilities. Ավելացել է tmpfiles.d/root.conf կոնֆիգուրացիայի ֆայլ, որը սահմանում է 0555 (-r-xr-xr-x) մուտքի իրավունքները արմատային ուղեծրում (/)՝ դինամիկ ձևակերպումների ժամանակ անխուսափելի սխալ մուտքերի պաշտպանության համար։
  • Սարքի bootctl ապահովում է systemd-boot լիցքավորիչի պահեստային պատճենը պահպանելու և նախորդ տարբերակը UEFI-ում պահելու, որպես ռոտացիոն բեռնման դեզիգնացիան։
  • Մեույն systemd-vmspawn ավելացված է ուղիղ լիցքավորման աջակցություն առանց UEFI прошивки օգտագործելու։ Իրականացվել է —firmware-features ընտրանքը որոշակի ծրագրային ապահովման հնարավորությունները ընտրովի ներառելու կամ բացառելու համար։ Ավելացել է —console=headless ռեժիմը վիրտուալ մեքենայի գործարկման համար առանց կոնսոլի և էկրանների։ Ավելացել է —image-disk-type ընտրանքը՝ VM-ում օգտագործվող բլոկային պահեստի տեսակ (virtio-blk, virtio-scsi, nvme, scsi-cd) ընտրելու համար։ Ավելացել է —coco (Confidential Computing) ընտրանքը՝ վիրտուալ մեքենաների հիշողության վերափոխման ռեժիմը ակտիվացնելու համար, օգտագործելով AMD SEV-SNP տեխնոլոգիան։
  • Մեույն systemd-hostnamed և /etc/machine-info հավելվել է համապատասխան համակարգի պարամետրերի որևէ տեգերի կցման աջակցություն, օգտագործելով Tags պարամետրը։ Ցուցադրված տեգերը կարող են կիրառվել որոշակի կարգավորումների ընտրովի կիրառման համար, փնտրելով ConditionMachineTag արտահայտությամբ։
  • Ավելացվել են EventLoopRateLimitIntervalSec և EventLoopRateLimitBurst կարգավորումները, որոնք սահմանափակում են PID1-ի իրադարձությունների վերամշակման ցիկլի ինտենսիվությունը CPU ռեսուրսների ազատման համար, եթե ցիկլը կրկնվում է։
  • Սերվիսային կառավարիչում իրականացված է MinimumUptimeSec կարգավորմամբ համակարգի նվազագույն աշխատելու ժամանակը սահմանելու համար (նախադիտված է 15 վայրկյան): Եթե այս ժամանակահատվածի ավարտից առաջ սկսվում է գաղտնիք կամ վերուժում, ապա ավարտման փուլում ավելացվում է համապատասխանում ուշացում:
  • Unit-ների համար իրականացված են նոր CPUSetPartition կարգավորումները cpuset-ի բաժնի տեսակը սահմանելու համար cgroup (root, isolated, member), RestrictFileSystemAccess՝ միայն հրահանգված ֆայլերի գործարկման թույլտվություն տալու համար, որոնք համարժեքվել են թվային ստորագրությունների միջոցով dm-verity, և CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec՝ CPU և արտածման բարձր բեռի մասին ծանուցումներ ստանալու համար:
  • Իրականացվել է մետրիկաների ցանկի ընդլայնում, որը տրամադրում է ծրագրակազմը systemd-report. Օրինակ, ավելացվել են ֆիզիկական հիշողության չափի և ակտիվ CPU միջուկների մասին տեղեկություններ, SMBIOS-ի դաշտերի բովանդակության տվյալներ և /etc/machine-info, Confidential Computing ռեժիմի աջակցման մասին տեղեկություն և TPM2 չիպերի արտադրողի տեղեկությունները:
  • Մեույն systemd-oomd իրականացվել է կանոնների սահմանման հնարավորությունը գործընթացների ցուցակագրության համար համակարգում հիշողության քաղցի առաջացման դեպքում: Կանոնները կարող են սահմանվել /etc/systemd/oomd/rules.d/ կատալոգում կամ ծառայության unit-ներում OOMRule հրահանգի միջոցով:
  • Մեույն systemd-socket-proxy ավելացվել է PROXY արձանագրության աջակցությունը, որն համապատասխանում է haproxy-ի առաջին տարբերակին:
  • Մեույն systemd-networkd իրականացվել է նոր sd-dhcp-relay բեքենդ DHCP ռելեների համար: Ժամանակահատվածը հայտարարելու համար՝ դիսկի մարզի ինստրուկցիաներ [DHCPServer]-ում — BindToInterface, RelayTarget, RelayAgentCircuitId և RelayAgentRemoteId, որոնք փոխարինելու համար պետք է օգտագործել DHCPRelay պարամետրը [Network] բաժնում և մի շարք նոր կարգավորումներ [DHCPRelay] բաժնում և networkd.conf ֆայլում: Ավելացվել է networkctl dhcp-lease INTERFACE հրամանը IP-հասցեների (DHCP lease) կապի մասին տեղեկությունների պահելու համար:
  • jot ծրագրում ավելացվել է շարունակական ծրագրի արտաքին միջոցների դուրս բարձրացվում հնարավորությունը, համապատասխանեցնելով սահմաններին; systemd-nspawn ավելացվել է —restrict-address-families տարբերակը, ինչպես նաև .nspawn ֆայլերին RestrictAddressFamilies կարգավորումը, որը սահմանափակում է կոնտեյներում օգտագործվող հասցեների ընտանիքները: Ապագա թողարկումներում նախնական օրով թույլատրվում են միայն AF_INET, AF_INET6 և AF_UNIX ընտանիքները:
  • Կեսարարման աջակցությունը եղել է قدեմական udev (0.x տարբերակ) DB-ի հին ձևաչափի: Ցիկլ պետք է անցնել systemd-ի տարբերակից մինչև 247 (opennet.ru) այլևս չի աջակցվում:
  • Musl C գրադարանում հավաքելու համար այժմ անհրաժեշտ է նվազագույնը musl 1.2.6 թողարկում:

Ավելին, կարելի է նշել թողարկում ծրագրի liberated-systemd 261, որը զարգացնում է systemd-ի հեռացված տարբերակը, ազատված օգտագործողների հետևողականության համար հնարավոր ռմբակոծություններից: Առաջարկված թողարկման փոփոխությունները ներառում են userdb-ում birthDate դաշտի հեռացման համար պատասխանող կոդի հեռացումը, ինչպես նաև homectl օգտակարությանը —birth-date տարբերակը, որը նախատեսված է տարիքը սահմանելու համար:

Ընտանիք: linux.org.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster