Microsoft ընկերությունը հրապարակել է Azure Linux 3.0 նոր բաժնի առաջին կայուն թարմացումը, որը նախկինում մուտք էր գործում CBL-Mariner անունով: Հաշվարկը զարգանում է որպես ընդհանուր հիմք Linux-մանրամասնությունների համար, որը օգտագործվում է ամպային ենթակառուցվածքում, edge-համակարգերում և Microsoft-ի տարբեր ծառայություններում: Նախագիծն ուղղված է Microsoft-ում օգտագործվող Linux-որոշումների միավորմանը և տարբեր նպատակների համար Linux համակարգերի պահպանման անխափանեցմանը: Նախագծի աշխատանքները տարածվում են MIT լիցենզիայի ներքո: Փաթեթների հավաքումները ձևավորվում են aarch64 և x86_64 ճարտարապետությունների համար: Տեղադրման պատկերի չափը 740 ՄԲ։
Նոր տարբերակում կատարված փոփոխությունների թվում.
- Linux Kernel-ը թարմացվել է 6.6 տարբերակին (նախկինում օգտագործվում էր 5.15 kernel): Ավելացված է աշխատանքային kernel-ի վրա կիրառվող ածանցակների աջակցություն (live patching), որը թույլ է տալիս վերացնել kernel-ում հայտնաբերված անթույլատրելները առանց վերագործարկման։
- Առաջարկվել են նոր տարբերակներ փաթեթների, որոնց թվում են systemd 255, glibc 2.38, GCC 13.2, clang 18.1, OpenSSL 3.3, rpm 4.18.2, ruby 3.3.0, BIND 9.20, containerd 1.7.13, kunc 1.1.12, ostree 2024.5, rust 1.75, Perl 5.38, Python 3.12.3, QEMU 8.2.0։
- SELinux-ի խուճապային վերահսկման համակարգը անխափան կերպով նշված է «enforcing» ռեժիմում։
- Մասնակից հեղափոխական համակարգի համար կանխորոշված է համապարփակ cgroups v2 հիերարխիան։ cgroups v2-ի գլխավոր տարբերակը v1-ից է, որը բաղկացած է ընդհանուր cgroups հիերարխիայից բոլոր տեսակների ռեսուրսների համար, փոխարենը CPU ռեսուրսների բաշխման, հիշողության սպառման կարգավորման և մուտք/արտք կարգավորելու համար առանձին հիերարխիաներից։
- Ավելացվել են Microsoft Azure-ի ամպային узловներում այլ դիստրիբուտիվների փոխարինման գործիքներ (OSsku In-Place Migration), օրինակ, կարելի է փոխարինել տեղադրված Ubuntu-ն Azure Linux-ով։
- Ավելացվել է նոր GPU NVIDIA-ի աջակցում, ինչպես NVIDIA A100 և H100, ինչպես նաև տրամադրվել է NVIDIA GPU Operator, որը ավտոմատացնում է NVIDIA-ի վարորդների կառավարման գործընթացը Azure Linux-ով узловներում։
Azure Linux բաշխումը տրամադրում է փոքր տիպային հավաքածու թերացած փաթեթների, որոնք հանդիսանում են համընդհանուր հիմք կոնտեյներների, հոստինգային միջավայրերի և ամպային ենթակառուցվածքներում և edge սարքերում գործարկվող ծառայությունների համար։ Բարդ և մասնագիտական լուծումները կարող են ստեղծվել Azure Linux-ի վրա լրացուցիչ փաթեթներ ավելացնելով, սակայն բոլոր նման համակարգերի հիմքը մնում է անփոփոխ, ինչը պարզացնում է աջակցումը և նորացումների պատրաստումը։
Օրինակ, Azure Linux-ը կիրառվում է WSLg մինի դիստրիբուտիվի հիմքում, որտեղ տրամադրվում են անհատական պահպանակները Linux GUI-հասարակական դիմումների գործարկման կազմակերպման համար WSL2 (Windows Subsystem for Linux) ենթակառուցման վրա։ WSLg-ում ընդլայնված ֆունկցիոնալությունը իրականացնում է հավելյալ պարամետրերի ներառումները՝ կոմպոզիտային。 սերվեր Weston, XWayland, PulseAudio և FreeRDP։
Ծառայությունների և բեռնման կառավարման համար օգտագործվում է systemd համակարգի կառավարիչը։ Փաթեթների կառավարման համար տրամադրվում են RPM և DNF փաթեթային կառավարիչներ։ SSH ծառայագիրը առքուվանդակում անմիջապես չի միանում։ Բաշխման տեղակայման համար տրամադրվում է ինստալյացիոն մոդուլ, որը կարող է աշխատել ինչպես տեքստային, այնպես էլ գրաֆիկական ռեժիմներում։ Ինստալյացիոն մոդուլում տրամադրվում է լիարժեք կամ հիմնական փաթեթների հավաքածուի տեղադրման հնարավորություն, առաջարկվում է սկավառակի բաժնում ընտրության ինտերֆեյս, հոսթի անունի ընտրություն և օգտվողների ստեղծում։
Azure Linux-ի զրույցային համակարգը թույլ է տալիս ինչպես առանձին RPM-փաթեթներ ստեղծել SPEC-ֆայլերի և աղբյուրային կոդերի հիման վրա, այնպես էլ մոնոլիտ համակարգերի պատկերներ, որոնք ձևավորվում են rpm-ostree գործիքակազմի միջոցով և թարմացվում են ատոմար եղանակով՝ առանց առանձին փաթեթների բաժանման: Ըստ այդմ, աջակցության երկու թարմացման մոդելներ են՝ առանձին փաթեթների թարմացում կամ համակարգի ամբողջ պատկերի վերակառուցում և թարմացում: Իրավիճակների հավաքածու կա, որը ներառում է շուրջ 3000 արդեն ստեղծված RPM-փաթեթ, որը կարող է օգտագործվել սեփական պատկերների հավաքման համար համակցման ֆայլի հիման վրա.
Բազային պլատֆորմը ներառում է միայն ամենահիմնական բաղկացուցիչները և օպտիմիզացված է հիշողության և սկավառակի տարածության նվազագույն օգտագործման համար, ինչպես նաև բարձրացված բեռնման արագության համար: Նախագծում օգտագործվում է «ամենահարմար सुरक्षा ըստ համակցման» մոտեցումը, որն ընդգրկում է տարբեր լրացուցիչ մեխանիզմներ պաշտպանության բարձրացման համար:
- Միավորների ֆիլտրացում seccomp մեխանի միջոցով.
- Ամբողջական բաժինների կայունացում.
- Փաթեթների թվային ստորագրությամբ վաստակում.
- Հասանելիության տարածքի ռանդոմիզացում.
- Քաղաքների հարձակումներից պաշտպանություն, որոնք կապված են խորհրդանշական կապերի, mmap, /dev/mem և /dev/kmem-ով:
- Միայն կարդալու ռեժիմ և կոդի գործադրման արգելք այն հիշողության տարածքներում, որտեղ տեղակայված են իդիալների և մոդուլների տվյալները:
- Միացող համակարգի մոդուլների загрузման արգելքը ՝ համակարգի սկզբնակ սպառման ժամանակ:
- iptables-ի օգտագործումը ցանցային փաթեթների ֆիլտրացման համար.
- Քարտեզի ամրացումների, բարձիթողի հոսքերի և համակարգերի ձևավորման խնդիրների դեմ պաշտպանության ռեժիմների ներառումը կառուցման ժամանակ (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Ընտանիք: opennet.ru
