Microsoft သည် Linux ဖြန့်ချီရေး CBL-Mariner 2.0 ကို ထုတ်ဝေခဲ့သည်။

Microsoft သည် cloud အခြေခံအဆောက်အအုံ၊ edge systems နှင့် Microsoft ဝန်ဆောင်မှုအမျိုးမျိုးတွင်သုံးသော Linux ပတ်၀န်းကျင်အတွက် universal base platform အဖြစ် ဖန်တီးထားသည့် CBL-Mariner 2.0 (Common Base Linux Mariner) ဌာနခွဲအသစ်၏ တည်ငြိမ်သောအပ်ဒိတ်အသစ်ကို ထုတ်ပြန်ခဲ့သည်။ ပရောဂျက်သည် Microsoft Linux ဖြေရှင်းချက်များကို ပေါင်းစည်းပြီး ခေတ်မီရည်ရွယ်ချက်အမျိုးမျိုးအတွက် Linux စနစ်များကို ပြုပြင်ထိန်းသိမ်းမှုကို ရိုးရှင်းစေရန် ရည်ရွယ်ပါသည်။ ပရောဂျက်၏တိုးတက်မှုများကို MIT လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ ပက်ကေ့ဂျ်တည်ဆောက်မှုများကို aarch64 နှင့် x86_64 ဗိသုကာများအတွက် ထုတ်ပေးပါသည်။

အသစ်ထွက်ရှိမှုသည် ပရိုဂရမ်ဗားရှင်းများ၏ သိသာထင်ရှားသော အပ်ဒိတ်အတွက် မှတ်သားဖွယ်ဖြစ်သည်။ Linux kernel 5.15 ၏ အပ်ဒိတ်ဗားရှင်းများအပါအဝင် (1.0 ဌာနခွဲတွင် 5.4 kernel ကိုအသုံးပြုခဲ့သည်)၊ systemd 250၊ glibc 2.35၊ GCC 11.2၊ clang 12၊ Python 3.9၊ ruby ​​3.1.2၊ rpm 4.17 .6.1 permul , ostree 5.34. core repository တွင် Wayland 2022.1၊ Mesa 1.20၊ GTK 21.0 နှင့် X.Org Server 3.24 ကဲ့သို့သော GUI အစိတ်အပိုင်းများ ပါဝင်ပြီး ယခင်က သီးခြား coreui repository တွင် ပို့ဆောင်ခံခဲ့ရသည်။ အချိန်နှင့်တစ်ပြေးညီ စနစ်များတွင် အသုံးပြုရန်အတွက် PREEMPT_RT ဖာထေးမှုများဖြင့် kernel တည်ဆောက်မှုများကို ထည့်သွင်းထားသည်။

CBL-Mariner ဖြန့်ဖြူးမှုသည် ကွန်တိန်နာများ၊ လက်ခံပတ်ဝန်းကျင်များနှင့် cloud အခြေခံအဆောက်အဦများနှင့် အစွန်းထွက်စက်ပစ္စည်းများတွင် လုပ်ဆောင်နေသည့် အကြောင်းအရာများကို ဖန်တီးရန်အတွက် universal အခြေခံအဖြစ် ဆောင်ရွက်သည့် အခြေခံပက်ကေ့ဂျ်အသေးစားများကို ပံ့ပိုးပေးပါသည်။ CBL-Mariner ထိပ်တွင် အပိုပက်ကေ့ဂျ်များကို ပေါင်းထည့်ခြင်းဖြင့် ပိုမိုရှုပ်ထွေးပြီး အထူးပြုဖြေရှင်းချက်များကို ဖန်တီးနိုင်သော်လည်း ယင်းစနစ်အားလုံးအတွက် အခြေခံသည် အတူတူဖြစ်ပြီး ပြုပြင်ထိန်းသိမ်းမှုနှင့် အပ်ဒိတ်များကို ပိုမိုလွယ်ကူစေသည်။ ဥပမာအားဖြင့်၊ CBL-Mariner ကို WSL2 (Windows Subsystem for Linux) subsystem ကိုအခြေခံ၍ ပတ်ဝန်းကျင်များတွင် Linux GUI အပလီကေးရှင်းများအသုံးပြုရန်အတွက် ဂရပ်ဖစ် stack အစိတ်အပိုင်းများကို ပံ့ပိုးပေးသည့် WSLg အသေးစားဖြန့်ဝေမှုအတွက် အခြေခံအဖြစ် အသုံးပြုပါသည်။ WSLg တွင် တိုးချဲ့လုပ်ဆောင်နိုင်စွမ်းကို Weston Composite ဆာဗာ၊ XWayland၊ PulseAudio နှင့် FreeRDP တို့ပါရှိသော အပိုပက်ကေ့ခ်ျများ ပါ၀င်မှုမှတစ်ဆင့် သိရှိနိုင်သည်။

CBL-Mariner တည်ဆောက်မှုစနစ်သည် SPEC ဖိုင်များနှင့် အရင်းအမြစ်ကုဒ်များအပေါ် အခြေခံ၍ တစ်ဦးချင်း RPM ပက်ကေ့ဂျ်များအပြင် rpm-ostree toolkit ကို အသုံးပြု၍ ထုတ်လုပ်ထားသော monolithic စနစ်ပုံများကို ထုတ်ပေးပြီး သီးခြားပက်ကေ့ဂျ်များအဖြစ် မခွဲဘဲ အက်တမ်အလိုက် မွမ်းမံပြင်ဆင်ထားပါသည်။ ထို့ကြောင့်၊ အပ်ဒိတ်ပေးပို့မှုမော်ဒယ်နှစ်ခုကို ပံ့ပိုးပေးသည်- တစ်ဦးချင်းစီ ပက်ကေ့ခ်ျများကို အပ်ဒိတ်လုပ်ခြင်းနှင့် စနစ်ပုံရိပ်တစ်ခုလုံးကို ပြန်လည်တည်ဆောက်ခြင်းနှင့် အပ်ဒိတ်လုပ်ခြင်းများ ပြုလုပ်ခြင်း။ configuration ဖိုင်ကိုအခြေခံ၍ သင့်ကိုယ်ပိုင်ပုံများကိုတည်ဆောက်ရန်အတွက် သင်အသုံးပြုနိုင်သည့် ကြိုတင်တည်ဆောက်ထားသော RPM ပက်ကေ့ဂျ် 3000 ခန့်၏ သိုလှောင်မှုကို ရနိုင်သည်။

ဖြန့်ဖြူးမှုတွင် အလိုအပ်ဆုံး အစိတ်အပိုင်းများသာ ပါဝင်ပြီး သေးငယ်သော မမ်မိုရီနှင့် ဒစ်ခ်နေရာ သုံးစွဲမှုအပြင် မြင့်မားသော loading speed အတွက်လည်း အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည်။ ဖြန့်ဖြူးမှုသည် လုံခြုံရေးတိုးမြှင့်ရန် အမျိုးမျိုးသော ထပ်လောင်းယန္တရားများ ပါဝင်သည့်အတွက်လည်း မှတ်သားဖွယ်ကောင်းသည်။ ပရောဂျက်သည် "ပုံမှန်အားဖြင့် လုံခြုံရေးအမြင့်မားဆုံး" ချဉ်းကပ်မှုကို ရယူသည်။ seccomp ယန္တရားကို အသုံးပြု၍ စနစ်ခေါ်ဆိုမှုများကို စစ်ထုတ်ရန်၊ disk partitions များကို ကုဒ်ဝှက်ရန်နှင့် ဒစ်ဂျစ်တယ်လက်မှတ်ကို အသုံးပြု၍ ပက်ကေ့ဂျ်များကို အတည်ပြုနိုင်သည်။

Linux kernel တွင် ပံ့ပိုးထားသော space randomization မုဒ်များအပြင် symlink တိုက်ခိုက်မှုများ၊ mmap၊ /dev/mem နှင့် /dev/kmem တို့ကို အကာအကွယ်ပေးသည့် ယန္တရားများကို အသက်သွင်းထားသည်။ kernel နှင့် module data ပါရှိသော အပိုင်းများပါရှိသော မန်မိုရီဧရိယာများကို ဖတ်ရန်-သပ်သပ်မုဒ်အဖြစ် သတ်မှတ်ထားပြီး ကုဒ်လုပ်ဆောင်ခြင်းကို တားမြစ်ထားသည်။ ချန်လှပ်ထားသောရွေးချယ်စရာတစ်ခုသည် စနစ်စတင်ခြင်းပြီးနောက် kernel module များကိုဖွင့်ခြင်းကိုပိတ်ရန်ဖြစ်သည်။ iptables toolkit ကို network packet များကို စစ်ထုတ်ရန် အသုံးပြုပါသည်။ တည်ဆောက်သည့်အဆင့်တွင်၊ stack overflows၊ buffer overflows နှင့် string formatting ပြဿနာများကို ပုံမှန်အားဖြင့် ဖွင့်ထားသည် (_FORTIFY_SOURCE၊ -fstack-protector၊ -Wformat-security၊ relro)။

ဝန်ဆောင်မှုများကို စီမံခန့်ခွဲခြင်းနှင့် စတင်ခြင်းအတွက် စနစ်မန်နေဂျာ systemd ကို အသုံးပြုသည်။ ပက်ကေ့ဂျ်စီမံခန့်ခွဲမှုအတွက် RPM နှင့် DNF ပက်ကေ့ဂျ်မန်နေဂျာများကို ပေးထားသည်။ SSH ဆာဗာကို မူရင်းအတိုင်း ဖွင့်မထားပါ။ ဖြန့်ဖြူးမှုကို ထည့်သွင်းရန်၊ စာသားနှင့် ဂရပ်ဖစ်မုဒ်နှစ်ခုလုံးတွင် အလုပ်လုပ်နိုင်သော ထည့်သွင်းသူအား ပေးထားသည်။ တပ်ဆင်သူသည် အစုံအလင် သို့မဟုတ် အခြေခံအစုံအလင်ဖြင့် ထည့်သွင်းရန် ရွေးချယ်ခွင့်ကို ပေးဆောင်ပြီး ဒစ်ခ်အပိုင်းကို ရွေးချယ်ခြင်း၊ လက်ခံသူအမည်ကို ရွေးချယ်ခြင်းနှင့် အသုံးပြုသူများကို ဖန်တီးခြင်းတို့အတွက် မျက်နှာပြင်တစ်ခု ပေးဆောင်သည်။

source: opennet.ru

မှတ်ချက် Add