Friday, June 16, 2017

Understanding Dependencies Issues and Troubleshooting

                 အခုဒီ tutorial မှာ RHEL 7  ရဲ့ dependencies issues တွေကို ရှင်းပြပြီး တစ်ချို့ ဖြစ်လေ့ဖြစ်ထရှိတဲ့ dependencies errors တွေကို ဘယ်လို troubleshootလုပ်နိုင်မလဲဆိုတာ ပြောသွားမှာပါ။ RHEL Linux မှာ packages တွေ install  လုပ်တဲ့အခါ သိကြတဲ့အတိုင်း rpm သို့ yum ကိုသုံးပါတယ်။ Packages တွေဟာ dependencies တစ်ခုနဲ့တစ်ခု ချိတ်ဆက်ထားတဲ့အတွက်  dependencies တစ်ခုခုလိုသွားခဲ့ရင် သို့ သွင်းချင်တဲ့ package နဲ့ existing dependencies တွေက version မတူခဲ့ရင် dependencies errors တွေ ဖြစ်လာပါတယ်။



Commands for Extracting Dependency Information
#yum deplist
                   ဒီ command #yum deplist ဆိုတဲ့ command ကတော့ ကိုယ့်သိချင်တဲ့ package ရဲ့ လိုအပ်တဲ့ dependencies တွေကို ဖော်ပြပေးပါတယ်။ ဥပမာ #yum deplist yum ဆိုရင် yum package တစ်ခု run ဖို့အတွက် ဘယ် dependencies packages တွေက support ပေးထားလဲ ဆိုတာ ဖော်ပြပေးပါတယ်။


#rpm -q --requires
               #rpm -q -R (or) --requires command သည်လဲ package dependency information ကို သိချင်တဲ့အခါ ဖော်ပြပေးတဲ့ command တစ်ခုပဲ ဖြစ်ပါတယ်။ 



#rpm -q --provides
             #rpm -q --provides ဆိုတဲ့ command ကျတော့ ကိုယ်ရှာလိုက်တဲ့ package ဟာ နောက်ထပ် ဘယ် packages တွေကို support ပေးထားလဲ ဆိုတာ ကို ဖော်ပြပေးပါတယ်။



 Downgrading Dependencies
#yum downgrade

             တစ်ချို့အခြေနေမှာ packages တွေကို install လုပ်တဲ့အခါ လိုအပ်တဲ့ dependencies တွေက  latest version ဖြစ်နေပြီး အခြေနေအရ ထို latest version ကိုမလိုအပ်ပဲ old version ကိုအသုံးပြရမယ့် အခြေနေတွေရှိပါတယ်။ ဥပမာ အားဖြင့် "httpd latest package" က customer ရဲ့ app service ကို compatible မဖြစ်သေးတဲ့အချိန်တွေမှာ httpd package latest ကိုမသွင်းပဲ old version ကိုသွင်းရမှာဖြစ်ပါတယ်။  အဲ့အချိန်မှာ သွင်းရမယ့် old version httpd package သည် တစ်ခြား dependencies တွေကို မှီခိုထားပြီး ထို dependencies တွေက latest version ဖြစ်နေရင် install လုပ်သည့်အခါ dependencies errors တက်တက်ပါတယ်။ ဥပမာ အားဖြင့် အောက်ပုံမှာ httpd-2.4.6.17.el7 သည် latest version မဟုတ်သော်လည်း customer ၏ လု်ိအပ်ချက်အရ အသုံးပြုရမှာဖြစ်ပြီး Install လုပ်သော်အခါ httpd ရဲ့ dependency package ဖြစ်သော httpd-tools package သည် version မတူတဲ့အတွက် errors တက်သည်ကို တွေ့ရမှာဖြစ်တယ်။ PS:  အခုက "Error" တက်တာပြချင်လို့ httpd-tools update မြှင့်ထားပြီး နောက်မှာ old version httpd.x.x.rpm ကို သတ်သတ် downloadဆွဲပြီး ပြထားတာပါ။ :D 


Using #yum list --showduplicates 

                #yum list --showduplicates command ကို ဘယ်လိုအသုံးပြုရလဲဆိုတော့ အခု httpd-tools install လုပ်မယ့် httpd version နဲ့ ကိုက်အောင် version downgrade လုပ်ရမယ်ဆိုတော့ အရင်ဆုံး RHEL 7 မှာ httpd-tools ရဲ့ available versions တွေဘယ်လောက်ထိရှိလဲ သိချင်ရင် သုံးပါတယ်။ သုံးပြီးတဲ့အခါမှာ httpd package version အတိုင်း ထပ်တူကျတဲ့ version ကိုယူရမှာဖြစ်ပါတယ်။ အောက်ပုံမှာပြထားပါတယ်။



Downgrading Dependency
#yum downgrade

                အခု #yum list --showduplicates နဲ့ ကြည့်ပြီးသွားပြီးဆိုရင် #yum downgrade httpd-tools.x.x.17 ဆိုပြီး downgrade ချပါမယ်။ Downgrade ချပြီးတဲ့နောက် httpd package နဲ့ version တူသွားတဲ့အခါမှာ  #yum install /root/ httpd.x.x.17.rpm ဆိုပြီး သုံးလျှင် dependency error မရှိတော့ပဲ installလုပ်ခွင့်ပေးတာကို တွေ့ရမှာပါ။






* အခု ဒီ tutorial ကိုနားလည်တယ်ဆိုရင် dependencies တွေကို အခြေနေအရ downgrade / upgrade လုပ်တဲ့အခါ အခုလိုမျိုး step by step စဉ်းစားနိုင်ပါတယ်။ တစ်ချို့ case တွေမှာ အခုလို မျိုးပုံစံမျိုးမဟုတ်ပဲ installed လုပ်ပြီးသား စက်ထဲမှာသွင်းထားပြီးသာ အခြေနေ  package နဲ့ သူ့ရဲ့ dependencies တွေကို တစ်ပြိုင်နက် downgrade လုပ်လိုတဲ့အခါ #yum downgrad htttpd.x.x.x httpd-tools.x.x.x ဆိုပြီး တစ်ခါထဲ downgrade လုပ်နိုင်ပါတယ်။ ဒီ tutorial မှာတော့ Dependency Error ကိုပြချင်တဲ့အတွက်ကြောင့် step by step သွားထားတာပါ။ 

Enjoy reading and Thank You!!!
Please also Like and Follow Root Of Info Page

Share:

0 comments:

Post a Comment