coreutils ၏ Rust အကောင်အထည်ဖော်မှုကိုအသုံးပြုရန် Debian ကို လိုက်လျောညီထွေဖြစ်အောင်လုပ်ခြင်း။

Clang compiler ကို အသုံးပြု၍ Debian GNU/Linux တည်ဆောက်ခြင်းအတွက် လူသိများသော Sylvestre Ledru သည် Rust ဘာသာစကားဖြင့် ပြန်လည်ရေးသားထားသော အခြား utilities အစုံအလင်ကို အသုံးပြု၍ အောင်မြင်သော စမ်းသပ်ချက်ကို အစီရင်ခံခဲ့သည်။ Coreutils တွင် sort၊ cat၊ chmod၊ chown၊ chroot၊ cp၊ date၊ dd၊ echo၊ hostname၊ id, ln နှင့် ls ကဲ့သို့သော အသုံးဝင်မှုများ ပါဝင်သည်။ coreutils ၏ Debian of the Rust ဗားရှင်းသို့ ပေါင်းစည်းခြင်း၏ ပထမအဆင့်အတွက်၊ အောက်ပါပန်းတိုင်များကို ချမှတ်ခဲ့သည်-

  • Debian နှင့် Ubuntu အတွက် coreutils အတွက် Rust အခြားရွေးချယ်စရာတစ်ခုကို ထုပ်ပိုးပါ။
  • rust-coreutils ကို အသုံးပြု၍ GNOME ဒက်စ်တော့ဖြင့် Debian ကိုဖွင့်ပါ။
  • သိုလှောင်မှုမှ ရေပန်းအစားဆုံး ပက်ကေ့ဂျ် 1000 ကို ထည့်သွင်းခြင်း။
  • rust-coreutils ရှိသော ပတ်ဝန်းကျင်ရှိ Firefox၊ LLVM/Clang နှင့် Linux kernel အရင်းအမြစ်များမှ တည်ဆောက်ပါ။

Rust/coreutils အတွက် ပြင်ဆင်မှု 100 ကျော်ကို ဖန်တီးပြီးနောက်၊ ကျွန်ုပ်တို့သည် ရည်ရွယ်ထားသည့် ပန်းတိုင်အားလုံးကို အောင်မြင်စွာ ဆောင်ရွက်နိုင်ခဲ့သည်။ လက်ရှိလုပ်ဆောင်နေသောလုပ်ငန်းတွင် လွဲမှားနေသော အသုံးအဆောင်များနှင့် ရွေးချယ်စရာများကို အကောင်အထည်ဖော်ခြင်း၊ ကုဒ်၏အရည်အသွေးနှင့် တူညီမှုကို မြှင့်တင်ခြင်း၊ စမ်းသပ်မှုအစုံကို ဖော်ဆောင်ခြင်းနှင့် GNU Coreutils မှ စမ်းသပ်မှုအစုံကို လုပ်ဆောင်သည့်အခါ ဖြစ်ပေါ်သည့် ပျက်စီးမှုများကို ဖယ်ရှားပေးခြင်းတို့ ပါဝင်သည် (၆၁၃ ခုတွင် စမ်းသပ်မှု ၁၄၁ ခုသည် ယခုအချိန်အထိ အောင်မြင်စွာ လုပ်ဆောင်နေပါသည်။ )

rust-coreutils ပက်ကေ့ဂျ်ကို ဖန်တီးသောအခါ၊ coreutils ပက်ကေ့ချ်ကို အစားထိုးရန် မဆုံးဖြတ်ဘဲ ၎င်းတို့အတွက် အပြိုင်လုပ်ဆောင်နိုင်သည့် စွမ်းရည်ကို ပေးဆောင်ရန် ဆုံးဖြတ်ခဲ့သည်။ Rust ဘာသာစကားရှိ အသုံးဝင်မှုရွေးချယ်စရာများကို /usr/lib/cargo/bin/ တွင် ထည့်သွင်းထားပြီး PATH ပတ်၀န်းကျင် variable တွင် ဤလမ်းညွှန်ကို ထည့်သွင်းခြင်းဖြင့် အသက်ဝင်လာပါသည်။ rust-coreutils ပက်ကေ့ဂျ်ကို ဖန်တီးခြင်းသည် Rust နှင့် သေးငယ်သော ဗူးအထုပ်ငယ်များအပါအဝင် repository အတွင်းသို့ တည်ဆောက်မှုမှီခိုမှုအားလုံးကို ဒေါင်းလုဒ်လုပ်ရန် လိုအပ်ခြင်းကြောင့် ရှုပ်ထွေးပါသည်။

boot image တစ်ခုဖန်တီးခြင်းသည် ပြဿနာမဟုတ်သော်လည်း rust-coreutils များဖြင့် ပတ်ဝန်းကျင်တစ်ခုအတွက် packages များကို လိုက်လျောညီထွေဖြစ်အောင် လုပ်ဆောင်ရန် လိုအပ်ပါသည်။ ထည့်သွင်းပြီးနောက် scripts အများအပြားသည် coreutils အစုံမှ utilities များကို ခေါ်ဆိုသောကြောင့် အလုပ်များစွာလိုအပ်ပါသည်။ ပြဿနာအများစုမှာ လိုအပ်သောရွေးချယ်စရာများမရှိခြင်းကြောင့် ဖြစ်ပေါ်လာရခြင်းဖြစ်သည်၊ ဥပမာ၊ "cp" utility တွင် "--archive" နှင့် "--no-dereference" ရွေးစရာများမရှိပါ၊ "ln" သည် "- ဆွေမျိုး” ရွေးစရာ၊ mktemp သည် “-t” ကို ပံ့ပိုးမပေးခဲ့ဘဲ တပ်ဆင်မှုတွင် - "-fs" နှင့် "--ပိုင်ရှင်" နှင့် "-group". အပြုအမူကွဲပြားမှုများကြောင့် အခြားပြဿနာများ ဖြစ်ပေါ်လာသည်၊ ဥပမာ၊ install utility သည် /dev/null ကို ထည့်သွင်းသည့်ဖိုင်အဖြစ် သတ်မှတ်ခြင်းကို မပံ့ပိုးနိုင်ခဲ့ပါ၊ mkdir တွင် “-parent” အစား “-parent” ရွေးစရာ၊ စသည်ဖြင့် ရှိပါသည်။

ကြီးမားသော code bases များစုဝေးခြင်းကို စမ်းသပ်သောအခါတွင် ပြဿနာကြီးကြီးမားမားမရှိပေ။ Firefox နှင့် LLVM/Clang ကိုတည်ဆောက်သောအခါတွင် python script များနှင့် cmake ကိုအသုံးပြုသည်၊ ထို့ကြောင့် coreutils များကိုအစားထိုးခြင်းသည်၎င်းတို့ကိုမထိခိုက်စေပါ။ Linux kernel ကို တည်ဆောက်ရာတွင် ပြဿနာနှစ်ခုသာ ဖြတ်တောက်ခြင်းနှင့်အတူ ချောချောမွေ့မွေ့ ဖြစ်သွားသည်- သင်္ကေတ လင့်ခ်တစ်ခုဖြင့် chown ကို အသုံးပြုသောအခါ အမှားအယွင်းနှင့် ln utility တွင် “-n” ရွေးစရာမရှိခြင်း။

source: opennet.ru

မှတ်ချက် Add