OpenWrt ပေါ်ရှိ Squid- UCI စစ်ဆေးမှု မစတင်မီ ကျရှုံးခြင်း
Squid ၏ OpenWrt “validation failed” မက်ဆေ့ခ်ျကို UCI စတင်သည့် အလွှာအထိ ခြေရာခံပြီးမှ မူရင်း Squid ဖွဲ့စည်းမှုကို ပြင်ဆင်ပါ။
OpenWrt ၏ Squid ပက်ကေ့ချ်သည် Squid အမိန့်ကို မစတင်မီပင် ၎င်း၏ UCI ဖွဲ့စည်းမှုကို ပယ်ချနိုင်သည်။ ထို့ကြောင့် init script ၏ ယေဘုယျ “validation failed” သည် squid.conf ကို ပြင်ဆင်ရန် လုံလောက်သော အကြောင်းရင်း မဟုတ်ပါ။
၎င်းအရင်ရှိသော အကွက်အဆင့် မက်ဆေ့ခ်ျများကို ဖတ်ပြီး ထည့်သွင်းထားသော ပက်ကေ့ချ်၏ စစ်ဆေးမှု စည်းမျဉ်းများနှင့် တိုက်စစ်ပါ။ ဥပမာ၊ စတင်ခြင်း အကောင်အထည်ဖော်မှုသည် http_port ကို ပေါက်အမျိုးအစားအဖြစ် ကြေညာသည်။ ဂဏန်းများ မှန်ပုံရသော်လည်း အဆုံးရှိ ကွက်လပ်က ထိုစစ်ဆေးမှုကို ကျရှုံးစေနိုင်သည်။ မအောင်မြင်သော စစ်ဆေးမှု ရလဒ်သည် အမိန့် မှတ်ပုံတင်ခြင်း မတိုင်မီ callback ကို ရပ်စေသည်။
အမှန်တကယ် squid ဟု အမည်ရှိသော အပိုင်းအတွက် ကျဉ်းသော တန်ဖိုးကို စစ်ဆေးပါ-
uci get squid.squid.http_port
ထည့်သွင်းမှုတွင် ရှိသော အပိုင်းအမည်ကို အသုံးပြုပါ။ ပက်ကေ့ချ်၏ ရင်းမြစ်သည် များသောအားဖြင့် /etc/config/squid ဖြစ်သည်၊ မက်ဆေ့ခ်ျများ မရှိပါက ၎င်း ရှိကြောင်းနှင့် ဖတ်နိုင်ကြောင်း စစ်ဆေးပါ။ အခြားထုတ်ဝေမှုတွင် မတူညီသော အကွက်များ ပြသနိုင်သည်။
UCI စစ်ဆေးမှုပြီးနောက် Squid သို့ ပေးအပ်သော မူရင်းဖိုင်ကို လိုက်ပါ။ ထုပ်ပိုးမှုသည် တိကျသော ဖိုင်ကို ရွေးနိုင်သည် သို့မဟုတ် ပံ့ပိုးထားသော ထည့်သွင်းမှုများမှ တစ်ခုကို ဖန်တီးနိုင်သည်။ အသုံးမပြုသော ဖိုင်ကို ပြင်ဆင်ခြင်းက ဖန်တီးထားသော ရလဒ်ကို မပြောင်းနိုင်ပါ။
မူရင်း syntax၊ အကူအညီများ၊ ခွင့်ပြုချက်များနှင့် နားထောင်သူ စစ်ဆေးမှုများသည် နောက်မှ လာသည်။ “UCI က http_port ကို ပယ်ချခဲ့သည်” သို့မဟုတ် “Squid က ရွေးချယ်ထားသော မူရင်းဖွဲ့စည်းမှုကို ပယ်ချခဲ့သည်” ဟု အထောက်အထားနှင့်အတူ အစီရင်ခံပါ။ ပထမဆုံး အမှားကို ငြိမ်စေရုံအတွက် ပက်ကေ့ချ် ဖွဲ့စည်းမှုကို ဖယ်ရှားခြင်းက ထုပ်ပိုးမှုကို ၎င်း၏ အလုပ်ကို မလုပ်နိုင်အောင် တားဆီးနိုင်သည်။