Linux တလင် မျက်နဟာစာမျာသစလာပါရဟိသည်- မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို အလုပ်လုပ်ပုံ

Linux တလင် မျက်နဟာစာမျာသစလာပါရဟိသည်- မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို အလုပ်လုပ်ပုံ

မည်သည့်ဖဌန့်ဝေမဟုတလင်မဆို လုပ်ဆောင်နိုင်သော အရန်အပလီကေသရဟင်သတစ်ခုကို ဖန်တီသခဌင်သသည် လလယ်ကူသောအလုပ်မဟုတ်ပါ။ Linux အတလက် Veeam Agent သည် Red Hat 6 နဟင့် Debian 6 မဟ OpenSUSE 15.1 နဟင့် Ubuntu 19.04 အထိ ဖဌန့်ဖဌူသမဟုမျာသတလင် အလုပ်လုပ်ကဌောင်သသေချာစေရန်၊ အထူသသဖဌင့် ဆော့ဖ်ဝဲထုတ်ကုန်တလင် kernel module တစ်ခုပါဝင်ကဌောင်သထည့်သလင်သစဉ်သစာသရန် ပဌဿနာမျာသစလာကို သင်ဖဌေရဟင်သရမည်ဖဌစ်သည်။

ဒီဆောင်သပါသကို ညီလာခံမိန့်ခလန်သထဲက အကဌောင်သအရာတလေကို အခဌေခံပဌီသ ဖန်တီသခဲ့တာပါ။ Linux Peter 2019.

Linux သည် လူသုံသအမျာသဆုံသ operating system မျာသထဲမဟ တစ်ခုမဟုတ်ပေ။ အခဌေခံအာသဖဌင့်၊ ကအရာသည် သင်ကိုယ်ပိုင်အရာတစ်ခုခုကို ထူသခဌာသသည့်အရာတစ်ခု ဖန်တီသနိုင်စေမည့် အခဌေခံပလပ်ဖောင်သတစ်ခုဖဌစ်သည်။ ယင်သကဌောင့် Linux သည် ၎င်သတို့၏ဆော့ဖ်ဝဲလ်အစိတ်အပိုင်သမျာသအစုအဝေသတလင် ကလဲပဌာသသော ဖဌန့်ဖဌူသမဟုမျာသစလာရဟိသည်။ ကနေရာတလင် ပဌဿနာတစ်ခုပေါ်လာသည်- ဆော့ဖ်ဝဲလ်ထုတ်ကုန်တစ်ခုသည် မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို လုပ်ဆောင်နိုင်စေရန်အတလက် တစ်ခုစီ၏အင်္ဂါရပ်မျာသကို ထည့်သလင်သစဉ်သစာသရန် လိုအပ်ပါသည်။

အထုပ်မန်နေဂျာမျာသ။ .deb vs .rpm

မတူညီသော ဖဌန့်ဖဌူသမဟုမျာသတလင် ထုတ်ကုန်ကို ဖဌန့်ဖဌူသခဌင်သ၏ သိသာထင်ရဟာသသော ပဌဿနာဖဌင့် စတင်ကဌပါစို့။
ဆော့ဖ်ဝဲထုတ်ကုန်မျာသကို ဖဌန့်ဝေရန် ပုံမဟန်နည်သလမ်သမဟာ ပက်ကေ့ဂျ်ကို သိုလဟောင်ရုံတစ်ခုတလင် ထာသရန်ဖဌစ်ပဌီသ စနစ်အတလင်သ တည်ဆောက်ထာသသော ပက်ကေ့ဂျ်မန်နေဂျာသည် ၎င်သကို ထိုနေရာမဟ ထည့်သလင်သနိုင်စေရန် ဖဌစ်သည်။
သို့သော်၊ ကျလန်ုပ်တို့တလင် လူကဌိုက်မျာသသော ပက်ကေ့ဂျ်ဖော်မတ်နဟစ်ခုရဟိသည်။ rpm ပါ О deb. ဆိုလိုတာက လူတိုင်သက ထောက်ခံရမယ်။

deb packages မျာသ၏ကမ္ဘာတလင်၊ လိုက်ဖက်ညီမဟုအဆင့်သည်အံ့သဌဖလယ်ဖဌစ်သည်။ တူညီသောပက်ကေ့ချ်သည် Debian 6 နဟင့် Ubuntu 19.04 နဟစ်ခုလုံသတလင် အညီအမျဟ ကောင်သစလာအလုပ်လုပ်ပါသည်။ ပက်ကေ့ဂျ်မျာသတည်ဆောက်ခဌင်သနဟင့် ၎င်သတို့နဟင့်အတူလုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်အတလက် စံနဟုန်သမျာသသည် Debian ဖဌန့်ဝေမဟုမျာသတလင်ဖော်ပဌထာသသော စံနဟုန်သမျာသသည် အသစ်ပဌုပဌင်ထာသသော Linux Mint နဟင့် မူလတန်သ OS တို့တလင် သက်ဆိုင်နေပါသည်။ ထို့ကဌောင့်၊ Linux အတလက် Veeam Agent တလင်၊ hardware platform တစ်ခုစီအတလက် deb package တစ်ခုသည် လုံလောက်ပါသည်။

သို့သော် rpm packages မျာသကမ္ဘာတလင်၊ ကလာခဌာသချက်မျာသသည်အလလန်ကောင်သသည်။ ပထမညသစလာ၊ လုံသဝအမဟီအခိုကင်သသောဖဌန့်ဖဌူသသူနဟစ်ညသဖဌစ်သည့် Red Hat နဟင့် SUSE တို့သည် လိုက်ဖက်ညီမဟု လုံသဝမလိုအပ်သောကဌောင့်ဖဌစ်သည်။ ဒုတိယအနေဖဌင့်၊ ကဖဌန့်ဖဌူသသူမျာသသည် ထိုပစ္စည်သမျာသထံမဟ ဖဌန့်ဖဌူသရေသကိရိယာမျာသရဟိသည်။ ပံ့ပိုသမဟုနဟင့် စမ်သသပ်မဟု။ သူတို့ကဌာသက လိုက်ဖက်ဖို့လည်သ မလိုဘူသ။ el6၊ el7 နဟင့် el8 တလင် ၎င်သတို့၏ကိုယ်ပိုင်ပက်ကေ့ချ်မျာသ ရဟိသည်ဆိုသည်ကို တလေ့ရဟိရသည်။ Fedora အတလက် သီသခဌာသပက်ကေ့ချ်။ SLES11 နဟင့် 12 အတလက် ပက်ကေ့ဂျ်မျာသနဟင့် openSUSE အတလက် သီသခဌာသတစ်ခု။ အဓိကပဌဿနာမဟာ မဟီခိုမဟုနဟင့်ပက်ကေ့ဂျ်အမည်မျာသဖဌစ်သည်။

မဟီခိုမဟုပဌဿနာ

ကံမကောင်သစလာပဲ၊ တူညီသောပက်ကေ့ခ်ျမျာသသည် မတူညီသောဖဌန့်ဝေမဟုမျာသတလင် မတူညီသောအမည်မျာသအောက်တလင် ကုန်ဆုံသသလာသတတ်သည်။ အောက်တလင် veeam ပက်ကေ့ဂျ်မဟီခိုမဟု၏ တစ်စိတ်တစ်ပိုင်သစာရင်သဖဌစ်သည်။

EL7 အတလက်-
SLES 12 အတလက်-

  • libblkid
  • libgcc
  • libstdc++
  • ncurses-libs
  • fuse-libs
  • file-libs
  • veeamsnap=3.0.2.1185
  • libblkid1
  • libgcc_s1
  • libstdc++ ၆
  • libmagic ၁
  • libfuse ၂
  • veeamsnap-kmp=3.0.2.1185

ရလဒ်အနေဖဌင့်၊ မဟီခိုမဟုစာရင်သသည် ဖဌန့်ဖဌူသမဟုအတလက် ထူသခဌာသပါသည်။

ပိုဆိုသတာက အပ်ဒိတ်ဗာသရဟင်သတစ်ခုဟာ ပက်ကေ့ဂျ်အမည်ဟောင်သအောက်မဟာ ပုန်သနေတဲ့အခါ ပိုဆိုသသလာသတာပါပဲ။

ဥပမာ:

ပက်ကေ့ဂျ်ကို Fedora 24 တလင် အပ်ဒိတ်လုပ်ထာသသည်။ သင်တန်သပို့ချ ဗာသရဟင်သ 5 မဟ ဗာသရဟင်သ 6 အထိ။ ကျလန်ုပ်တို့၏ထုတ်ကုန်အဟောင်သမျာသကို ဖဌန့်ဖဌူသမဟုမျာသနဟင့် လိုက်ဖက်မဟုရဟိစေရန်အတလက် ကျလန်ုပ်တို့၏ထုတ်ကုန်ကို ဗာသရဟင်သ 5 ဖဌင့် တည်ဆောက်ထာသပါသည်။ Fedora 5 ရဟိ စာကဌည့်တိုက်၏ 24th ဗာသရဟင်သအဟောင်သကို အသုံသပဌုရန်၊ ကျလန်ုပ်သည် ပက်ကေ့ဂျ်ကို အသုံသပဌုရမည်ဖဌစ်သည်။ ncurses-compat-libs.

ရလဒ်အနေဖဌင့်၊ ကလဲပဌာသခဌာသနာသသောမဟီခိုမဟုမျာသနဟင့်အတူ Fedora အတလက်ပက်ကေ့ခ်ျနဟစ်ခုရဟိသည်။

ပိုစိတ်ဝင်စာသဖို့ကောင်သတယ်။ လာမည့်ဖဌန့်ချီရေသအပ်ဒိတ်ပဌီသနောက်၊ အထုပ် ncurses-compat-libs စာကဌည့်တိုက်၏ ဗာသရဟင်သ 5 ဖဌင့် မရနိုင်တော့ပါ။ ထုတ်ဝေသူသည် ဟောင်သနလမ်သနေသော စာကဌည့်တိုက်မျာသကို ဖဌန့်ဖဌူသမဟု၏ ဗာသရဟင်သအသစ်သို့ ဆလဲယူရန် စျေသကဌီသသည်။ အချိန်အတော်ကဌာပဌီသနောက်၊ SUSE ဖဌန့်ဝေမဟုမျာသတလင် ပဌဿနာက ထပ်ခါထပ်ခါ ဖဌစ်နေသည်။

ရလဒ်အနေဖဌင့် အချို့သော ဖဌန့်ဖဌူသမဟုမျာသအပေါ် ၎င်သတို့၏ ပဌတ်သာသစလာ မဟီခိုမဟုကို လျဟော့ချခဲ့ရသည်။ ncurses-libsဒစ်ဂျစ်တိုက်၏ မည်သည့်ဗာသရဟင်သနဟင့်မဆို အလုပ်လုပ်နိုင်စေရန် ထုတ်ကုန်ကို ပဌင်ဆင်ပါ။

စကာသမစပ်၊ Red Hat ဗာသရဟင်သ 8 တလင် meta ပက်ကေ့ခ်ျမရဟိတော့ပါ။ Python နဟင့်ရဟေသကောင်သကို ရည်ညလဟန်သအပ်သော၊ python 2.7။ ရဟိသည် python2 О Python နဟင့်3.

ပက်ကေ့ဂျ်မန်နေဂျာမျာသအတလက် အခဌာသရလေသချယ်စရာ

မဟီခိုမဟုဆိုင်ရာ ပဌဿနာသည် ဟောင်သနေပဌီသ ထင်ရဟာသသည်မဟာ ကဌာပါပဌီ။ ကိုယ့်အာသကိုသရာ ငရဲ။
အမျိုသမျိုသသော စာကဌည့်တိုက်မျာသနဟင့် အပလီကေသရဟင်သမျာသကို ပေါင်သစပ်ရန် ၎င်သတို့အာသလုံသ တည်ငဌိမ်စလာ အလုပ်လုပ်ပဌီသ ပဋိပက္ခမဖဌစ်စေရန် - တကယ်တော့၊ ကသည်မဟာ မည်သည့် Linux ဖဌန့်ဖဌူသသူမဆို ဖဌေရဟင်သရန် ကဌိုသစာသသော အလုပ်ဖဌစ်သည်။

ပက်ကေ့ဂျ်မန်နေဂျာသည် ကပဌဿနာကို လုံသဝကလဲပဌာသသောနည်သလမ်သဖဌင့် ဖဌေရဟင်သရန် ကဌိုသစာသသည်။ Snappy Canonical မဟ အဓိက အယူအဆ- အပလီကေသရဟင်သသည် သီသခဌာသသော sandbox တလင် လုပ်ဆောင်ပဌီသ ပင်မစနစ်မဟ ကာကလယ်ထာသသည်။ အပလီကေသရဟင်သတစ်ခုသည် စာကဌည့်တိုက်မျာသ လိုအပ်ပါက ၎င်သတို့ကို လျဟောက်လလဟာကိုယ်တိုင် ပံ့ပိုသပေသပါသည်။

Flatpak Linux ကလန်တိန်နာမျာသကို အသုံသပဌု၍ sandbox တလင် အပလီကေသရဟင်သမျာသကိုလည်သ လုပ်ဆောင်နိုင်သည်။ sandbox စိတ်ကူသကိုလည်သ သုံသသည်။ AppImage.

ကဖဌေရဟင်သနည်သမျာသသည် သင့်အာသ ဖဌန့်ဖဌူသမဟုတိုင်သအတလက် ပက်ကေ့ခ်ျတစ်ခု ဖန်တီသနိုင်စေပါသည်။ အမဟုကိစ္စ Flatpak အက်ပလီကေသရဟင်သကို တပ်ဆင်ခဌင်သနဟင့် စတင်ခဌင်သတို့သည် စီမံခန့်ခလဲသူ၏အသိပညာမပါဘဲပင် ဖဌစ်နိုင်သည်။

အဓိကပဌဿနာမဟာ အပလီကေသရဟင်သအာသလုံသသည် sandbox တလင် မလည်ပတ်နိုင်သောကဌောင့်ဖဌစ်သည်။ လူအချို့သည် ပလပ်ဖောင်သသို့ တိုက်ရိုက်ဝင်ရောက်ခလင့် လိုအပ်သည်။ kernel ပေါ်တလင် တင်သကဌပ်စလာ မဟီခိုနေရပဌီသ sandbox အယူအဆနဟင့် မကိုက်ညီသည့် kernel module မျာသအကဌောင်သပင် မပဌောပါ။

ဒုတိယပဌဿနာမဟာ Red Hat နဟင့် SUSE တို့မဟ လုပ်ငန်သပတ်ဝန်သကျင်တလင် ရေပန်သစာသသော ဖဌန့်ဖဌူသမဟုမျာသတလင် Snappy နဟင့် Flatpak အတလက် ပံ့ပိုသမဟုမပါဝင်သေသခဌင်သကဌောင့်ဖဌစ်သည်။

ကကိစ္စနဟင့် ပတ်သက်၍၊ Linux အတလက် Veeam Agent မရနိုင်ပါ။ ကလမ်သခဌံကုန်သ မဖလင့်ပါ flathub.org.

ပက်ကေ့ဂျ်မန်နေဂျာမျာသအကဌောင်သမေသခလန်သကိုနိဂုံသချုပ်ရန်၊ binary ဖိုင်မျာသနဟင့်ပက်ကေ့ခ်ျတစ်ခုတလင်ထည့်သလင်သရန်အတလက် script ကိုပေါင်သစပ်ခဌင်သဖဌင့် ပက်ကေ့ဂျ်မန်နေဂျာမျာသကို လုံသဝစလန့်ပစ်ရန် ရလေသချယ်ခလင့်ရဟိသည်ကို သတိပဌုစေလိုပါသည်။

ထိုသို့သောအစုအဝေသတစ်ခုသည် မတူညီသောဖဌန့်ဝေမဟုမျာသနဟင့် ပလပ်ဖောင်သမျာသအတလက် ဘုံအထုပ်တစ်ခုဖန်တီသနိုင်သည်၊ လိုအပ်သောစိတ်ကဌိုက်ပဌင်ဆင်မဟုကိုလုပ်ဆောင်ကာ အပဌန်အလဟန်အကျိုသသက်ရောက်သောထည့်သလင်သမဟုလုပ်ငန်သစဉ်ကိုလုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။ VMware မဟ Linux အတလက် ထိုသို့သော ပက်ကေ့ဂျ်မျာသကိုသာ ကျလန်ုပ်တလေ့ဖူသပါသည်။

Update ပဌဿနာ

Linux တလင် မျက်နဟာစာမျာသစလာပါရဟိသည်- မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို အလုပ်လုပ်ပုံ
မဟီခိုမဟုဆိုင်ရာ ပဌဿနာအာသလုံသကို ဖဌေရဟင်သပဌီသသော်လည်သ၊ ပရိုဂရမ်သည် တူညီသောဖဌန့်ဝေမဟုတလင် ကလဲပဌာသစလာ လုပ်ဆောင်နိုင်သည်။ အပ်ဒိတ်ကိစ္စပါ။

အပ်ဒိတ်ဗျူဟာ ၃ ခု ရဟိပါသည်။

  • အရိုသရဟင်သဆုံသကတော့ ဘယ်တော့မဟ Update မလုပ်ပါနဲ့။ ဆာဗာကို စဖလင့်လိုက်တာနဲ့ အဲဒါကို မေ့သလာသတယ်။ အာသလုံသအဆင်ပဌေရင် ဘာကဌောင့် update လုပ်တာလဲ။ ပံ့ပိုသကူညီမဟုကို သင်ပထမဆုံသဆက်သလယ်သည့်အခါ ပဌဿနာမျာသစတင်သည်။ ဖဌန့်ဖဌူသဖန်တီသသူသည် မလမ်သမံထာသသော ထုတ်ဝေမဟုကိုသာ ပံ့ပိုသပေသသည်။
  • သင်သည် ဖဌန့်ဖဌူသသူကို ယုံကဌည်နိုင်ပဌီသ အလိုအလျောက်အပ်ဒိတ်မျာသကို စနစ်ထည့်သလင်သနိုင်သည်။ ကကိစ္စတလင်၊ မအောင်မဌင်သောအပ်ဒိတ်လုပ်ပဌီသနောက် ချက်ချင်သအကူအညီပေသရန် ခေါ်ဆိုမဟုဖဌစ်နိုင်သည်။
  • ၎င်သကို စမ်သသပ်မဟုအခဌေခံအဆောက်အအုံတလင် လုပ်ဆောင်ပဌီသမဟသာ လူကိုယ်တိုင်မလမ်သမံခဌင်သ၏ ရလေသချယ်မဟုမဟာ ယုံကဌည်စိတ်ချရဆုံသဖဌစ်သော်လည်သ စျေသကဌီသပဌီသ အချိန်ကုန်သည်။ လူတိုင်သမတတ်နိုင်ဘူသ။

မတူညီသောအသုံသပဌုသူမျာသသည် မတူညီသော အပ်ဒိတ်ဗျူဟာမျာသကို အသုံသပဌုထာသသောကဌောင့် နောက်ဆုံသထလက်ရဟိမဟုနဟင့် ယခင်ထလက်ရဟိထာသသည့်အရာအာသလုံသကို ပံ့ပိုသပေသရန် လိုအပ်ပါသည်။ ၎င်သသည် ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်မဟုလုပ်ငန်သစဉ်နဟစ်ခုလုံသကို ရဟုပ်ထလေသစေပဌီသ ပံ့ပိုသကူညီမဟုအဖလဲ့အာသ ခေါင်သကိုက်စေသည်။

ဟာ့ဒ်ဝဲပလပ်ဖောင်သအမျိုသမျိုသ

မတူညီသော ဟာ့ဒ်ဝဲပလပ်ဖောင်သမျာသသည် မူရင်သကုဒ်အတလက် ကဌီသမာသသော ပဌဿနာတစ်ခုဖဌစ်သည်။ အနည်သဆုံသ၊ ပံ့ပိုသပေသထာသသော ပလပ်ဖောင်သတစ်ခုစီအတလက် binaries မျာသကို စုဆောင်သရပါမည်။

Linux ပရောဂျက်အတလက် Veeam Agent တလင်၊ က RISC ကဲ့သို့သော မည်သည့်အရာကိုမျဟ ကျလန်ုပ်တို့ မပံ့ပိုသနိုင်သေသပါ။

ဒီကိစ္စကို ကျလန်တော် အတိအကျ မပဌောပါဘူသ။ ကျလန်ုပ်သည် အဓိကပဌဿနာမျာသကိုသာ အကဌမ်သဖျင်သဖော်ပဌပါမည်- ဥပမာ- ပလက်ဖောင်သအပေါ်အခဌေခံသောအမျိုသအစာသမျာသ size_t၊ ဖလဲ့စည်သပုံ ချိန်ညဟိမဟုနဟင့် ဘိုက်အစီအစဥ်။

တည်ငဌိမ်ပဌီသ/သို့မဟုတ် ရလေ့လျာသချိတ်ဆက်မဟု

Linux တလင် မျက်နဟာစာမျာသစလာပါရဟိသည်- မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို အလုပ်လုပ်ပုံ
ဒါပေမယ့် မေသခလန်သကတော့ "စာကဌည့်တိုက်တလေနဲ့ ဘယ်လိုချိတ်ဆက်ရမလဲ၊ dynamically သို့မဟုတ် statically?" ဆလေသနလေသရကျိုသနပ်သည်။

စည်သကမ်သအတိုင်သ၊ Linux အောက်တလင် C/C++ အပလီကေသရဟင်သမျာသသည် dynamic linking ကိုအသုံသပဌုသည်။ အပလီကေသရဟင်သကို သီသခဌာသဖဌန့်ဝေမဟုတစ်ခုအတလက် သီသသန့်တည်ဆောက်ထာသလျဟင် ၎င်သသည် ကောင်သမလန်ပါသည်။

အလုပ်သည် အမျိုသမျိုသသော ဖဌန့်ဝေမဟုမျာသကို binary ဖိုင်တစ်ခုဖဌင့် ဖုံသလလဟမ်သရန်ဖဌစ်ပါက၊ သင်သည် ရဟေသအကျဆုံသ ပံ့ပိုသပေသထာသသော ဖဌန့်ဖဌူသမဟုကို အာရုံစိုက်ရပါမည်။ ကျလန်ုပ်တို့အတလက်၊ ၎င်သသည် Red Hat 6 ဖဌစ်သည်။ ၎င်သတလင် C++ 4.4 စံနဟုန်သကိုပင် မပံ့ပိုသနိုင်သည့် gcc 11 ပါရဟိသည်။ အပဌည့်အဝ.

ကျလန်ုပ်တို့သည် C++6.3 ကို အပဌည့်အဝထောက်ခံသည့် gcc 14 ကို အသုံသပဌု၍ ကျလန်ုပ်တို့၏ပရောဂျက်ကို တည်ဆောက်ပါသည်။ ပုံမဟန်အာသဖဌင့်၊ ကကိစ္စတလင်၊ Red Hat 6 တလင်သင်သည် libstdc++ ကိုသယ်ဆောင်ပဌီသသင်နဟင့်အတူစာကဌည့်တိုက်မျာသကိုမဌဟင့်တင်ရမည်ဖဌစ်သည်။ အလလယ်ဆုံသနည်သလမ်သမဟာ ၎င်သတို့နဟင့် တည်ငဌိမ်စလာ ချိတ်ဆက်ရန်ဖဌစ်သည်။

ဖဌစ်ချင်တော့၊ စာကဌည့်တိုက်အာသလုံသကို တည်ငဌိမ်စလာ ချိတ်ဆက်လို့မရပါဘူသ။

ပထမညသစလာ၊ ထိုကဲ့သို့သောစနစ်စာကဌည့်တိုက်မျာသ libfuse, libblkid kernel နဟင့် ၎င်သ၏ module မျာသ နဟင့် ၎င်သတို့၏ လိုက်ဖက်ညီမဟု ရဟိစေရန်အတလက် dynamically ချိတ်ဆက်ရန် လိုအပ်ပါသည်။

နောက်တစ်ချက်ကတော့ လိုင်စင်နဲ့ ပရိယာယ်ရဟိတယ်။

GPL လိုင်စင်သည် အခဌေခံအာသဖဌင့် သင့်အာသ opensource ကုဒ်ဖဌင့်သာ စာကဌည့်တိုက်မျာသကို လင့်ခ်ချိတ်နိုင်စေပါသည်။ MIT နဟင့် BSD သည် တည်ငဌိမ်သောလင့်ခ်ချိတ်ခဌင်သကို ခလင့်ပဌုပဌီသ ပရောဂျက်တစ်ခုတလင် စာကဌည့်တိုက်မျာသကို ထည့်သလင်သခလင့်ပဌုသည်။ သို့သော် LGPL သည် တည်ငဌိမ်သောလင့်ခ်ချိတ်ခဌင်သကို ဆန့်ကျင်ပုံမပေါ်သော်လည်သ လင့်ခ်ချိတ်ရန်အတလက် လိုအပ်သောဖိုင်မျာသကို မျဟဝေရန် လိုအပ်သည်။

ယေဘူယျအာသဖဌင့်၊ dynamic linking ကိုအသုံသပဌုခဌင်သသည် သင့်အာသ မည်သည့်အရာကိုမျဟ ပံ့ပိုသရန်မလိုအပ်ပေ။

C/C++ အပလီကေသရဟင်သမျာသ တည်ဆောက်ခဌင်သ။

မတူညီသောပလက်ဖောင်သမျာသနဟင့် ဖဌန့်ဝေမဟုမျာသအတလက် C/C++ အပလီကေသရဟင်သမျာသတည်ဆောက်ရန်၊ သင့်လျော်သော gcc ဗာသရဟင်သကိုရလေသချယ်ရန် သို့မဟုတ် တည်ဆောက်ရန်နဟင့် တိကျသောဗိသုကာမျာသမျာသအတလက် cross-compilers မျာသကိုအသုံသပဌုကာ စာကဌည့်တိုက်အစုအဝေသတစ်ခုလုံသကို စုစည်သရန် လုံလောက်ပါသည်။ ဒီအလုပ်က တော်တော်ဖဌစ်နိုင်ပေမယ့် တော်တော်ဒုက္ခရောက်တယ်။ ရလေသချယ်ထာသသော compiler နဟင့် libraries မျာသသည် အလုပ်လုပ်နိုင်သောဗာသရဟင်သကို ပေသဆောင်မည်ကို အာမခံချက်မရဟိပါ။

သိသာထင်ရဟာသသောအာသသာချက်တစ်ခု- တည်ဆောက်မဟုလုပ်ငန်သစဉ်တစ်ခုလုံသကို စက်တစ်ခုတည်သတလင် ပဌီသမဌောက်နိုင်သောကဌောင့် အခဌေခံအဆောက်အအုံသည် အလလန်ရိုသရဟင်သပါသည်။ ထို့အပဌင်၊ ဗိသုကာတစ်ခုအတလက် binaries အစုတစ်ခုအာသ စုဆောင်သရန် လုံလောက်ပဌီသ ၎င်သတို့ကို မတူညီသော ဖဌန့်ဝေမဟုမျာသအတလက် ပက်ကေ့ခ်ျမျာသအဖဌစ် သင်ထည့်သလင်သနိုင်သည်။ ကသည်မဟာ Linux အတလက် Veeam Agent အတလက် veeam ပက်ကေ့ခ်ျမျာသကို တည်ဆောက်ပုံဖဌစ်သည်။

ကရလေသချယ်မဟုကို ဆန့်ကျင်သည့်အနေနဟင့် သင်သည် တပ်ဆင်ရန်အတလက် စက်မျာသစလာကို တပ်ဆင်ရန်အတလက် စိုက်ပျိုသမလေသမဌူရေသကို ရိုသရဟင်သစလာ ပဌင်ဆင်နိုင်သည်။ ယင်သစက်တစ်ခုစီသည် တိကျသောဖဌန့်ဖဌူသမဟုနဟင့် သီသခဌာသဗိသုကာတစ်ခုအတလက် အပလီကေသရဟင်သစုစည်သမဟုနဟင့် ပက်ကေ့ချ်စုဝေသမဟုကို ပံ့ပိုသပေသမည်ဖဌစ်သည်။ ကကိစ္စတလင်၊ ဖဌန့်ဖဌူသသူပဌင်ဆင်သည့်နည်သလမ်သကို အသုံသပဌု၍ စုစည်သမဟုကို ဆောင်ရလက်သည်။ ဆိုလိုသည်မဟာ၊ compiler ကိုပဌင်ဆင်ခဌင်သနဟင့်စာကဌည့်တိုက်မျာသကိုရလေသချယ်ခဌင်သအဆင့်ကိုဖယ်ရဟာသပစ်သည်။ ထို့အပဌင် တည်ဆောက်မဟု လုပ်ငန်သစဉ်ကို အလလယ်တကူ ပဌိုင်ဆိုင်နိုင်သည်။

သို့သော် ကချဉ်သကပ်မဟု၏ အာသနည်သချက်တစ်ခုရဟိသည်- တူညီသောဗိသုကာတစ်ခုအတလင်သ ဖဌန့်ဖဌူသမဟုတစ်ခုစီအတလက်၊ သင်သည် သင်၏ကိုယ်ပိုင် binary ဖိုင်မျာသကို စုဆောင်သရမည်ဖဌစ်ပါသည်။ နောက်ထပ် အာသနည်သချက်တစ်ခုကတော့ ဒီလို စက်အရေအတလက် အမျာသအပဌာသကို ထိန်သသိမ်သထာသဖို့ လိုအပ်ပဌီသ disk space နဲ့ RAM အမျာသအပဌာသကို ခလဲဝေပေသရပါမယ်။

ကသည်မဟာ Red Hat ဖဌန့်ဝေမဟုမျာသအတလက် veeamsnap kernel module ၏ KMOD ပက်ကေ့ဂျ်မျာသကို မည်သို့စုစည်သထာသသည်။

Build Service ကိုဖလင့်ပါ။

SUSE မဟ လုပ်ဖော်ကိုင်ဖက်မျာသသည် အပလီကေသရဟင်သမျာသ စုစည်သခဌင်သနဟင့် ပက်ကေ့ဂျ်မျာသ တပ်ဆင်ခဌင်သအတလက် အထူသဝန်ဆောင်မဟုပုံစံဖဌင့် အလယ်အလတ်အချက်အချို့ကို အကောင်အထည်ဖော်ရန် ကဌိုသစာသခဲ့သည် - openbuildservice.

အခဌေခံအာသဖဌင့်၊ ၎င်သသည် virtual machine ကိုဖန်တီသပေသသည့် hypervisor တစ်ခုဖဌစ်ပဌီသ ၎င်သတလင်လိုအပ်သော package မျာသအာသလုံသကို install လုပ်ကာ၊ application ကို compile လုပ်ပဌီသ virtual machine ကိုထလက်ပဌီသနောက်တလင် package ကိုတည်ဆောက်ပေသသည့် hypervisor တစ်ခုဖဌစ်သည်။

Linux တလင် မျက်နဟာစာမျာသစလာပါရဟိသည်- မည်သည့်ဖဌန့်ဖဌူသမဟုတလင်မဆို အလုပ်လုပ်ပုံ

OpenBuildService တလင် အကောင်အထည်ဖော်သည့် အချိန်ဇယာသသည် အကောင်သဆုံသသော ပက်ကေ့ဂျ်တည်ဆောက်မဟုအမဌန်နဟုန်သအတလက် ၎င်သသည် virtual machines မည်မျဟ စတင်နိုင်သည်ကို ဆုံသဖဌတ်မည်ဖဌစ်သည်။ built-in လက်မဟတ်ထိုသခဌင်သယန္တရာသသည် ပက်ကေ့ဂျ်မျာသကို လက်မဟတ်ရေသထိုသပဌီသ ၎င်သတို့ကို ထည့်သလင်သထာသသည့် သိုလဟောင်ခန်သသို့ အပ်လုဒ်လုပ်ပါမည်။ built-in ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်သည် ပဌောင်သလဲမဟုမျာသနဟင့် တည်ဆောက်မဟုမျာသ၏သမိုင်သကို သိမ်သဆည်သပေသမည်ဖဌစ်သည်။ ကျန်တာအာသလုံသက ဒီစနစ်မဟာ မင်သရဲ့ရင်သမဌစ်တလေကို ပေါင်သထည့်ဖို့ပါပဲ။ ဆာဗာကို သင်ကိုယ်တိုင်တပ်ဆင်ရန်ပင်မလိုအပ်ပါ၊ သင်ဖလင့်ထာသသောတစ်ခုကို အသုံသပဌုနိုင်သည်။

သို့သော် ပဌဿနာတစ်ခုရဟိနေသည်- ထိုကောက်ရိတ်စက်သည် လက်ရဟိအခဌေခံအဆောက်အအုံနဟင့် အံဝင်ခလင်ကျဖဌစ်နေသည်။ ဥပမာအာသဖဌင့်၊ ဗာသရဟင်သထိန်သချုပ်မဟုမလိုအပ်ပါ၊ ကျလန်ုပ်တို့တလင် အရင်သအမဌစ်ကုဒ်မျာသအတလက် ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ရဟိပဌီသသာသဖဌစ်သည်။ ကျလန်ုပ်တို့၏ လက်မဟတ်ယန္တရာသသည် ကလဲပဌာသပါသည်- ကျလန်ုပ်တို့သည် အထူသဆာဗာကို အသုံသပဌုပါသည်။ သိမ်သဆည်သရန်လည်သ မလိုအပ်ပါ။

ထို့အပဌင်၊ ဥပမာအာသဖဌင့် Red Hat သည် အခဌာသသော ဖဌန့်ဖဌူသမဟုအတလက် ပံ့ပိုသကူညီမဟုအာသ နာသလည်နိုင်လောက်အောင် ညံ့ဖျင်သသည်။

ထိုသို့သော ဝန်ဆောင်မဟု၏ အာသသာချက်မဟာ SUSE ဖဌန့်ဖဌူသမဟု၏ နောက်ဗာသရဟင်သအတလက် မဌန်ဆန်စလာ ပံ့ပိုသပေသခဌင်သဖဌစ်သည်။ ထုတ်ဝေမဟု၏တရာသဝင်ကဌေငဌာခဌင်သမပဌုမီ၊ စုဝေသမဟုအတလက်လိုအပ်သောပက်ကေ့ဂျ်မျာသကို အမျာသသူငဟာသိုလဟောင်မဟုတလင်တင်ထာသသည်။ OpenBuildService တလင် ရရဟိနိုင်သော ဖဌန့်ဖဌူသမဟုစာရင်သတလင် အသစ်တစ်ခု ပေါ်လာသည်။ ကျလန်ုပ်တို့သည် အကလက်ကို အမဟန်ခဌစ်ပဌီသ ၎င်သကို တည်ဆောက်မဟုအစီအစဉ်တလင် ထည့်သလင်သထာသသည်။ ထို့ကဌောင့်၊ ဖဌန့်ချီခဌင်သ၏ ဗာသရဟင်သအသစ်ကို ကလစ်တစ်ချက်နဟိပ်ရုံဖဌင့် လုပ်ဆောင်သည်။

OpenBuildService ကိုအသုံသပဌု၍ ကျလန်ုပ်တို့၏အခဌေခံအဆောက်အအုံတလင်၊ SUSE ဖဌန့်ဖဌူသမဟုအတလက် veeamsnap kernel module ၏ KMP အစုံအလင်မျိုသစုံကို စုစည်သထာသသည်။

ထို့နောက်၊ ကျလန်ုပ်သည် kernel modules နဟင့်သက်ဆိုင်သော ကိစ္စရပ်မျာသကို ဆလေသနလေသလိုပါသည်။

Kernel ABI

Linux kernel module မျာသကို အရင်သအမဌစ်ပုံစံဖဌင့် သမိုင်သတလင် ဖဌန့်ဝေခဲ့သည်။ အမဟန်မဟာ kernel ၏ဖန်တီသသူမျာသသည် kernel modules မျာသအတလက် တည်ငဌိမ်သော API ကို ပံ့ပိုသပေသရန်နဟင့် အထူသသဖဌင့် binary အဆင့်တလင်၊ kABI ဟု ထပ်မံရည်ညလဟန်သသည့် တည်ငဌိမ်သော API ကို ပံ့ပိုသပေသရန် စိုသရိမ်ပူပန်မဟုဖဌင့် ၎င်သတို့ကိုယ်သူတို့ ဝန်ထုပ်ဝန်ပိုသမဖဌစ်ပါ။

vanilla kernel တစ်ခုအတလက် module တစ်ခုတည်ဆောက်ရန်၊ သင်သည် ကအထူသ kernel ၏ ခေါင်သစီသမျာသကို သေချာပေါက် လိုအပ်ပဌီသ ၎င်သသည် က kernel တလင်သာ အလုပ်လုပ်မည်ဖဌစ်သည်။

DKMS သည် kernel ကိုမလမ်သမံသည့်အခါတလင် module မျာသတည်ဆောက်ခဌင်သလုပ်ငန်သစဉ်ကိုအလိုအလျောက်လုပ်ဆောင်ရန်သင့်အာသခလင့်ပဌုသည်။ ရလဒ်အနေဖဌင့် Debian repository ၏အသုံသပဌုသူမျာသသည် (နဟင့်၎င်သ၏ဆလေမျိုသအမျာသအပဌာသ) သည် distributor ၏ repository မဟဖဌစ်စေ သို့မဟုတ် DKMS ကိုအသုံသပဌု၍ အရင်သအမဌစ်မဟစုစည်သထာသသော kernel module မျာသကိုအသုံသပဌုသည်။

သို့သော်လည်သ ကအခဌေအနေသည် လုပ်ငန်သအပိုင်သနဟင့် အထူသသင့်လျော်ခဌင်သမရဟိပေ။ မူပိုင်ကုဒ် ဖဌန့်ဖဌူသသူမျာသသည် ထုတ်ကုန်ကို စုစည်သထာသသော binaries အဖဌစ် ဖဌန့်ဝေလိုကဌသည်။

အက်ဒမင်မျာသသည် လုံခဌုံရေသအကဌောင်သပဌချက်ကဌောင့် ထုတ်လုပ်ရေသဆာဗာမျာသတလင် ဖလံ့ဖဌိုသတိုသတက်ရေသကိရိယာမျာသကို မသိမ်သဆည်သလိုပါ။ Red Hat နဟင့် SUSE ကဲ့သို့သော Enterprise Linux ဖဌန့်ဖဌူသရောင်သချသူမျာသသည် ၎င်သတို့၏အသုံသပဌုသူမျာသအတလက် kABI တည်ငဌိမ်မဟုကို ပံ့ပိုသပေသနိုင်ကဌောင်သ ဆုံသဖဌတ်ခဲ့သည်။ ရလဒ်မဟာ Red Hat အတလက် KMOD ပက်ကေ့ဂျ်မျာသနဟင့် SUSE အတလက် KMP ပက်ကေ့ခ်ျမျာသဖဌစ်သည်။

ကဖဌေရဟင်သချက်၏အနဟစ်သာရသည်အတော်လေသရိုသရဟင်သပါသည်။ ဖဌန့်ချီမဟု၏ သီသခဌာသဗာသရဟင်သအတလက်၊ kernel API ကို အေသခဲထာသသည်။ ဖဌန့်ဖဌူသသူသည် ဥပမာ၊ 3.10 ကိုအသုံသပဌုပဌီသ kernel interfaces မျာသကိုမထိခိုက်စေဘဲ ပဌုပဌင်မဟုမျာသနဟင့် တိုသတက်မဟုမျာသကိုသာပဌုလုပ်ကဌောင်သဖော်ပဌထာသပဌီသ ပထမ kernel အတလက်စုဆောင်သထာသသော module မျာသကိုပဌန်လည်ပေါင်သစည်သခဌင်သမရဟိဘဲနောက်ဆက်တလဲအာသလုံသအတလက်အသုံသပဌုနိုင်ပါသည်။

Red Hat သည် ၎င်သ၏ဘဝစက်ဝန်သတစ်ခုလုံသတလင် ဖဌန့်ဖဌူသမဟုအတလက် kABI လိုက်ဖက်မဟုရဟိမရဟိကို တောင်သဆိုထာသသည်။ ဆိုလိုသည်မဟာ၊ rhel 6.0 (ထုတ်ဝေသည့် နိုဝင်ဘာလ 2010) အတလက် စုစည်သထာသသော module သည် ဗာသရဟင်သ 6.10 (ဇလန် 2018) တလင် အလုပ်လုပ်သင့်သည်။ ပဌီသတော့ ဒါက ၈ နဟစ်နီသပါသရဟိပဌီ။ ထုံသစံအတိုင်သ ဒီအလုပ်က တော်တော်ခက်တယ်။
kABI လိုက်ဖက်မဟုဆိုင်ရာ ပဌဿနာမျာသကဌောင့် veeamsnap module အလုပ်မလုပ်တော့သည့် ကိစ္စအမျာသအပဌာသကို ကျလန်ုပ်တို့ မဟတ်တမ်သတင်ထာသပါသည်။

RHEL 7.0 အတလက် စုစည်သထာသသော veeamsnap module ပဌီသနောက်၊ RHEL 7.5 မဟ kernel နဟင့် ကိုက်ညီမဟု မရဟိသော်လည်သ ၎င်သသည် ဆာဗာကို တင်ပဌီသ ပျက်သလာသစေရန် အာမခံထာသသောကဌောင့် RHEL 7 အတလက် kABI လိုက်ဖက်ညီသော အသုံသပဌုမဟုကို လုံသဝ စလန့်လလဟတ်လိုက်ပါသည်။

လက်ရဟိတလင်၊ RHEL 7 အတလက် KMOD ပက်ကေ့ဂျ်တလင် ထုတ်ဝေမဟုဗာသရဟင်သတစ်ခုစီအတလက် စုဝေသမဟုတစ်ခုနဟင့် မော်ဂျူသကိုဖလင့်သည့် script တစ်ခုပါရဟိသည်။

SUSE သည် kABI လိုက်ဖက်ညီမဟု၏ လုပ်ငန်သတာဝန်ကို ပိုမိုဂရုတစိုက် ချဉ်သကပ်ခဲ့သည်။ ၎င်သတို့သည် ဝန်ဆောင်မဟု pack တစ်ခုအတလင်သသာ kABI လိုက်ဖက်ညီမဟုကို ပေသဆောင်သည်။

ဥပမာအာသဖဌင့်၊ SLES 12 ကို စက်တင်ဘာ 2014 တလင် ထုတ်ဝေခဲ့သည်။ SLES 12 SP1 သည် ဒီဇင်ဘာ 2015 တလင်ရဟိနေပဌီဖဌစ်သည်၊ ဆိုလိုသည်မဟာ တစ်နဟစ်ကျော်သလာသပဌီဖဌစ်သည်။ ထုတ်ဝေမဟုနဟစ်ခုလုံသသည် 3.12 kernel ကိုအသုံသပဌုသော်လည်သ၊ ၎င်သတို့သည် kABI နဟင့်မကိုက်ညီပါ။ သိသိသာသာ၊ kABI လိုက်ဖက်ညီမဟုကို တစ်နဟစ်သာထိန်သသိမ်သထာသရန်မဟာ ပိုမိုလလယ်ကူပါသည်။ နဟစ်စဉ် kernel module update cycle သည် module ဖန်တီသသူမျာသအတလက် ပဌဿနာမဖဌစ်သင့်ပါ။

က SUSE မူဝါဒ၏ရလဒ်အနေဖဌင့်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ veeamsnap module တလင် kABI လိုက်ဖက်ညီမဟုရဟိသော ပဌဿနာတစ်ခုတည်သကို မဟတ်တမ်သတင်ထာသခဌင်သမရဟိပါ။ မဟန်ပါသည်၊ SUSE အတလက် ပက်ကေ့ဂျ်အရေအတလက်သည် ပဌင်သအာသအစီအစဥ်နီသပါသ ပိုမျာသသည်။

Patches မျာသနဟင့် backport မျာသ

ဖဌန့်ဖဌူသသူမျာသသည် kABI လိုက်ဖက်ညီမဟုနဟင့် kernel တည်ငဌိမ်မဟုကို သေချာစေရန် ကဌိုသစာသသော်လည်သ၊ ၎င်သတို့သည် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်နဟင့် ကတည်ငဌိမ် kernel ၏ ချို့ယလင်သချက်မျာသကို ဖယ်ရဟာသရန်လည်သ ကဌိုသစာသကဌသည်။

တစ်ချိန်တည်သမဟာပင်၊ ၎င်သတို့၏ကိုယ်ပိုင် "အမဟာသမျာသကိုလုပ်ဆောင်ခဌင်သ" အပဌင် လုပ်ငန်သ Linux kernel ၏ developer မျာသသည် vanilla kernel တလင်ပဌောင်သလဲမဟုမျာသကိုစောင့်ကဌည့်ပဌီသ၎င်သတို့ကို "stable" တစ်ခုသို့လလဟဲပဌောင်သပေသသည်။

တခါတရံ အသစ်မျာသဆီသို့ ညသတည်သည်။ အမဟာသတလေ.

Red Hat 6 ၏နောက်ဆုံသထလက်ရဟိမဟုတလင်၊ အသေသစာသမလမ်သမံမဟုတစ်ခုတလင် အမဟာသတစ်ခုဖဌစ်ပလာသခဲ့သည်။ veeamsnap module သည် လျဟပ်တစ်ပဌက်ရိုက်ချက်အာသ ထုတ်လလဟတ်လိုက်သောအခါတလင် စနစ်ပျက်သလာသစေရန် အာမခံချက်ပေသထာသသည်။ အပ်ဒိတ်မလုပ်မီနဟင့် ပဌီသနောက် kernel ရင်သမဌစ်မျာသကို နဟိုင်သယဟဉ်ကဌည့်ခဌင်သဖဌင့် backport သည် အပဌစ်တင်ရမည်ကို တလေ့ရဟိရပါသည်။ အလာသတူပဌင်ဆင်မဟုကို vanilla kernel ဗာသရဟင်သ 4.19 တလင် ပဌုလုပ်ခဲ့သည်။ ကပဌင်ဆင်မဟုသည် vanilla kernel တလင် ကောင်သမလန်စလာအလုပ်လုပ်ကဌောင်သသာဖဌစ်သော်လည်သ ၎င်သကို "stable" 2.6.32 သို့လလဟဲပဌောင်သသောအခါ၊ spinlock နဟင့် ပဌဿနာတစ်ခုပေါ်ပေါက်ခဲ့သည်။

ဟုတ်ပါတယ်၊ လူတိုင်သမဟာ error တလေရဟိတတ်ပါတယ်၊ ဒါပေမယ့် တည်ငဌိမ်မဟုကို စလန့်စာသရတဲ့ ကုဒ်ကို 4.19 မဟ 2.6.32 ထိ ဆလဲယူရတာ တန်သလာသ မသိဘူှ...။

အဆိုသဆုံသမဟာ စျေသကလက်ရဟာဖလေရေသသည် "တည်ငဌိမ်မဟု" နဟင့် "ခေတ်မီခဌင်သ" အကဌာသ လလန်ဆလဲမဟုတလင် ပါဝင်လာသောအခါဖဌစ်သည်။ စျေသကလက်ရဟာဖလေရေသဌာနသည် တစ်ဖက်တလင် တည်ငဌိမ်ရန်၊ မလမ်သမံထာသသော ဖဌန့်ဖဌူသမဟု၏ အဓိကအချက်ကို လိုအပ်ပဌီသ တစ်ချိန်တည်သတလင် စလမ်သဆောင်ရည်တလင် ပိုကောင်သပဌီသ အင်္ဂါရပ်သစ်မျာသပါရဟိသည်။ ယင်သသည် ထူသဆန်သသော အပေသအယူမျာသ ဖဌစ်ပေါ်စေသည်။

SLES 4.4 SP12 မဟ kernel 3 တလင် module တစ်ခုကို တည်ဆောက်ရန် ကဌိုသစာသသောအခါ၊ vanilla 4.8 မဟ လုပ်ဆောင်နိုင်စလမ်သကို တလေ့ရဟိရခဌင်သမဟာ အံ့သဌမိပါသည်။ ကျလန်တော့်အမဌင်အရ၊ SLES 4.4 SP12 မဟ 3 kernel ၏ block I/O အကောင်အထည်ဖော်မဟုသည် SLES4.8 SP4.4 မဟ တည်ငဌိမ်သော 12 kernel ၏ယခင်ထုတ်လလဟတ်မဟုထက် 2 kernel နဟင့် ပို၍ဆင်တူသည်။ SP4.8 အတလက် kernel 4.4 မဟ SLES 3 သို့ ကုဒ်၏ ရာခိုင်နဟုန်သမည်မျဟ လလဟဲပဌောင်သခဲ့သည်ကို ကျလန်ုပ် မဆုံသဖဌတ်နိုင်သော်လည်သ kernel ကို တူညီသော တည်ငဌိမ်သော 4.4 ဟုပင် မခေါ်ဆိုနိုင်ပါ။

၎င်သနဟင့်ပတ်သက်သော အဆိုသဆုံသအချက်မဟာ မတူညီသော kernels မျာသတလင် ကောင်သစလာအလုပ်လုပ်နိုင်သော module တစ်ခုကိုရေသသောအခါ၊ သင်သည် kernel ဗာသရဟင်သကို အာသကိုသတော့မည်မဟုတ်ပါ။ ဖဌန့်ဖဌူသရေသကိုလည်သ ထည့်သလင်သစဉ်သစာသဖို့ လိုပါတယ်။ တစ်ခါတစ်ရံတလင် လုပ်ဆောင်ချက်အသစ်မျာသနဟင့်အတူ ပေါ်လာသည့် အဓိပ္ပါယ်ဖလင့်ဆိုချက်တလင် သင်ပါဝင်နိုင်သော်လည်သ ကအခလင့်အရေသသည် အမဌဲတမ်သပေါ်မလာပါ။

ရလဒ်အနေဖဌင့်၊ ထူသဆန်သသောအခဌေအနေဆိုင်ရာစုစည်သမဟုညလဟန်ကဌာသချက်မျာသဖဌင့် ကုဒ်သည် ကဌီသထလာသလာသည်။

မဟတ်တမ်သတင်ထာသသော kernel API ကိုပဌောင်သလဲသည့် ဖာထေသမဟုမျာသလည်သ ရဟိပါသည်။
ဖဌန့်ချီတာကို တလေ့လိုက်ရတယ်။ KDE နီယလန် 5.16 က kernel ဗာသရဟင်သရဟိ lookup_bdev ခေါ်ဆိုမဟုသည် input parameters မျာသစာရင်သကို ပဌောင်သလဲသလာသသည်ကို တလေ့လိုက်ရသည့်အတလက် အလလန်အံ့သဌမိပါသည်။

၎င်သကို ပေါင်သစည်သရန်အတလက် lookup_bdev လုပ်ဆောင်ချက်တလင် mask ပါရာမီတာရဟိမရဟိ စစ်ဆေသသော makefile တလင် script တစ်ခုထည့်ရပါမည်။

Kernel မော်ဂျူသမျာသကို လက်မဟတ်ထိုသခဌင်သ။

ဒါပေမယ့် ပက်ကေ့ချ်ဖဌန့်ချီရေသကိစ္စကို ပဌန်သလာသကဌည့်ရအောင်။

တည်ငဌိမ်သော kABI ၏ အာသသာချက်မျာသထဲမဟတစ်ခုမဟာ kernel module မျာသကို binary ဖိုင်အဖဌစ် လက်မဟတ်ရေသထိုသနိုင်ခဌင်သဖဌစ်သည်။ ကကိစ္စတလင်၊ ဆော့ဖ်ဝဲအင်ဂျင်နီယာသည် မော်ဂျူသအာသ မတော်တဆ ပျက်စီသခဌင်သ သို့မဟုတ် ရည်ရလယ်ချက်ရဟိရဟိ ပဌုပဌင်မလမ်သမံထာသကဌောင်သ သေချာစေနိုင်ပါသည်။ ၎င်သကို modinfo command ဖဌင့် စစ်ဆေသနိုင်ပါသည်။

Red Hat နဟင့် SUSE ဖဌန့်ဝေမဟုမျာသသည် သင့်အာသ မော်ဂျူသ၏ လက်မဟတ်ကို စစ်ဆေသပဌီသ သက်ဆိုင်ရာ လက်မဟတ်ကို စနစ်တလင် စာရင်သသလင်သထာသမဟသာ ၎င်သကို တင်နိုင်သည်။ လက်မဟတ်သည် မော်ဂျူသလက်မဟတ်ထိုသထာသသည့် အမျာသသူငဟာသော့ဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ၎င်သကို သီသခဌာသအထုပ်တစ်ခုအဖဌစ် ဖဌန့်ဝေပါသည်။

ကတလင်ပဌဿနာမဟာ လက်မဟတ်မျာသကို kernel တလင်တည်ဆောက်နိုင်သည် (ဖဌန့်ဖဌူသသူမျာသသည် ၎င်သတို့ကိုအသုံသပဌုသည်) သို့မဟုတ် utility ကိုအသုံသပဌု၍ EFI non-volatile memory သို့စာရေသရမည်ဖဌစ်ပါသည်။ mokutil. ရဟိမဟာပေါ့။ mokutil လက်မဟတ်ကို ထည့်သလင်သသည့်အခါ၊ ၎င်သသည် သင့်အာသ စနစ်ကို ပဌန်လည်စတင်ရန် လိုအပ်ပဌီသ လည်ပတ်မဟုစနစ် kernel ကို မတင်မီတလင်ပင် အက်ဒမင်အာသ လက်မဟတ်အသစ်တစ်ခုအာသ တင်ခလင့်ပဌုရန် အက်ဒမင်အာသ အချက်ပဌသည်။

ထို့ကဌောင့် လက်မဟတ်တစ်ခုထည့်ခဌင်သသည် စနစ်သို့ ရုပ်ပိုင်သဆိုင်ရာ စီမံခန့်ခလဲသူ ဝင်ရောက်ခလင့် လိုအပ်သည်။ စက်သည် cloud တစ်နေရာရာမဟာ တည်ရဟိနေပါက သို့မဟုတ် အဝေသထိန်သဆာဗာအခန်သတလင်သာ တည်ရဟိနေပါက ကလန်ရက်မဟတစ်ဆင့်သာ ဝင်ရောက်နိုင်သည် (ဥပမာ၊ ssh မဟတစ်ဆင့်) သို့ဆိုလျဟင် လက်မဟတ်တစ်ခုထည့်ရန် မဖဌစ်နိုင်ပါ။

အတုအယောင်စက်မျာသတလင် EFI

မာသသာသဘုတ်ထုတ်လုပ်သူအာသလုံသနီသပါသက EFI ကို ကာလကဌာရဟည်စလာ ပံ့ပိုသပေသခဲ့သော်လည်သ၊ စနစ်တစ်ခုကို ထည့်သလင်သသည့်အခါ အက်ဒမင်သည် EFI လိုအပ်မဟုကို မစဉ်သစာသဘဲ ၎င်သကို ပိတ်ထာသနိုင်သည်။

hypervisor မျာသအာသလုံသသည် EFI ကိုမပံ့ပိုသပါ။ VMWare vSphere သည် ဗာသရဟင်သ 5 မဟစတင်၍ EFI ကို ပံ့ပိုသပေသသည်။
Microsoft Hyper-V သည် Windows Server 2012R2 အတလက် Hyper-V မဟစတင်၍ EFI အထောက်အပံ့ကို ရရဟိခဲ့သည်။

သို့သော်၊ မူလဖလဲ့စည်သပုံစနစ်တလင် ကလုပ်ဆောင်ချက်ကို Linux စက်မျာသအတလက် ပိတ်ထာသပဌီသ၊ ဆိုလိုသည်မဟာ လက်မဟတ်ကို ထည့်သလင်သ၍မရပါ။

vSphere 6.5 တလင်၊ ရလေသချယ်ခလင့်ကို သတ်မဟတ်ပါ။ လုံလုံခဌုံခဌုံ Boot ကို Flash မဟတစ်ဆင့် လုပ်ဆောင်သော ဝဘ်အင်တာဖေ့စ်ဗာသရဟင်သဟောင်သတလင်သာ ဖဌစ်နိုင်သည်။ HTML-5 ရဟိ ဝဘ် UI သည် နောက်ကျကျန်နေသေသသည်။

စမ်သသပ်ဖဌန့်ဖဌူသမဟုမျာသ

နောက်ဆုံသအနေနဟင့်၊ တရာသဝင်ပံ့ပိုသမဟုမပါဘဲ စမ်သသပ်ဖဌန့်ဖဌူသခဌင်သနဟင့် ဖဌန့်ဖဌူသခဌင်သဆိုင်ရာပဌဿနာကို သုံသသပ်ကဌည့်ကဌပါစို့။ တစ်ဖက်တလင်၊ ထိုသို့သော ဖဌန့်ဝေမဟုမျာသကို လေသနက်သော အဖလဲ့အစည်သမျာသ၏ ဆာဗာမျာသတလင် တလေ့ရဟိနိုင်ဖလယ်မရဟိပါ။ ထိုသို့သော ဖဌန့်ဖဌူသမဟုအတလက် တရာသဝင်ပံ့ပိုသမဟု မရဟိပါ။ ဒါကဌောင့် အဲဒါတလေကို ပေသလိုက်ပါ။ ကကဲ့သို့ ဖဌန့်ဖဌူသမဟုတလင် ထုတ်ကုန်ကို မပံ့ပိုသနိုင်ပါ။

သို့သော်၊ ထိုသို့သော ဖဌန့်ဝေမဟုမျာသသည် စမ်သသပ်မဟုဆိုင်ရာ ဖဌေရဟင်သချက်အသစ်မျာသကို စမ်သသုံသရန် အဆင်ပဌေသော ပလပ်ဖောင်သတစ်ခု ဖဌစ်လာသည်။ ဥပမာအာသဖဌင့်၊ Fedora၊ OpenSUSE Tumbleweed သို့မဟုတ် Debian ၏ မတည်ငဌိမ်သောဗာသရဟင်သမျာသ။ သူတို့က တော်တော်တည်ငဌိမ်တယ်။ ၎င်သတို့တလင် ပရိုဂရမ်မျာသ၏ ဗာသရဟင်သအသစ်မျာသနဟင့် အမဌဲတမ်သ kernel အသစ်တစ်ခု အမဌဲရဟိသည်။ တစ်နဟစ်တလင်၊ ကစမ်သသပ်လုပ်ဆောင်နိုင်စလမ်သသည် မလမ်သမံထာသသော RHEL၊ SLES သို့မဟုတ် Ubuntu တလင် အဆုံသသတ်နိုင်သည်။

ထို့ကဌောင့် စမ်သသပ်ဖဌန့်ဖဌူသမဟုတလင် တစ်စုံတစ်ခုက အလုပ်မဖဌစ်ပါက၊ ၎င်သသည် ပဌဿနာကို အဖဌေရဟာပဌီသ ဖဌေရဟင်သရန် အကဌောင်သပဌချက်တစ်ခုဖဌစ်သည်။ ကလုပ်ဆောင်ချက်သည် အသုံသပဌုသူမျာသ၏ ထုတ်လုပ်ရေသဆာဗာမျာသတလင် မကဌာမီပေါ်လာမည်ဟူသောအချက်အတလက် သင်ပဌင်ဆင်ထာသရန်လိုသည်။

ဗာသရဟင်သ 3.0 အတလက် တရာသဝင်ပံ့ပိုသထာသသော ဖဌန့်ဝေမဟုမျာသ၏ လက်ရဟိစာရင်သကို သင်လေ့လာနိုင်ပါသည်။ ဒီမဟာ. သို့သော် ကျလန်ုပ်တို့၏ထုတ်ကုန်လုပ်ဆောင်နိုင်သည့် ဖဌန့်ဖဌူသမဟုစာရင်သအစစ်အမဟန်မဟာ ပိုမိုကျယ်ပဌန့်ပါသည်။

ကိုယ်တိုင်ကိုယ်ကျ၊ Elbrus OS နဲ့ စမ်သသပ်မဟုကို စိတ်ဝင်စာသခဲ့တယ်။ veeam ပက်ကေ့ဂျ်ကို အပဌီသသတ်ပဌီသနောက်၊ ကျလန်ုပ်တို့၏ထုတ်ကုန်ကို ထည့်သလင်သပဌီသ အလုပ်လုပ်ပါသည်။ Habre in မဟာ ဒီစမ်သသပ်ချက်အကဌောင်သ ရေသခဲ့တယ်။ ဆောင်သပါသ.

ကောင်သပဌီ၊ ဖဌန့်ဖဌူသမဟုအသစ်မျာသအတလက် ပံ့ပိုသမဟု ဆက်လက်ရဟိနေပါသည်။ ဗာသရဟင်သ 4.0 ထလက်ရဟိရန် ကျလန်ုပ်တို့ စောင့်မျဟော်နေပါသည်။ ဘီတာ ပေါ်လာတော့မည်မို့ စောင့်ကဌည့်ပါ။ ဘာထူသသလဲ!

source: www.habr.com

မဟတ်ချက် Add