Wednesday, October 21, 2020

Fsck - Using fsck

                 Long time no article.. စာလဲမရေးတာကြာပြီဖြစ်လို့ ဒီတစ်ခေါက်မှာတော့ fsck ( filesystem check) utility လေးတစ်ခု အကြောင်းကိုပြောချင်ပါတယ်။ 

So, What is fsck?

        fsck ဆိုတာ Linux system ပေါ်မှာ filesystem နဲ့ပတ်သတ်ပြီး အသုံးပြုတဲ့ utility တစ်ခုဖြစ်ပါတယ်။ ဘယ်လိုနေရာမှာအသုံးပြုလဲဆိုတော့ linux filesystem တွေ ပျက်တဲ့အခါ properly အလုပ်မလုပ်တဲ့အခါ filesystem တွေကို check and repair လုပ်ပေးပါတယ်။ 


Which types of filesystem can be used by fsck?            

            fsck ကို Linux Filesystem တွေဖြစ်တဲ့ ext2/3/4 filesystem တွေအပေါ်မှာ အသုံးပြုနိုင်ပါတယ်။ နောက်ထပ် filesystem တစ်ခု ဖြစ်တဲ့ XFS filesystem ကို check/repair လုပ်ချင်ရင်တော့ xfs အတွက် သီးသန့်ဖြစ်တဲ့ "xfs_repair" utility ကိုအသုံးပြုရမှာဖြစ်ပါတယ်။


Things to take note before using fsck

         fsck နဲ့ပတ်သက်ပြီး သိိထားရမယ့် အချက်တွေကတော့ 

1. fsck ကိုအသုံးမပြုခင် disk ကို unmount လုပ်ထားရမှာဖြစ်ပါတယ်။ mount လုပ််ထားပြီး fsck ကို အသုံးပြု၍မရပါ။

2. Root filesystem ကို check/repair လုပ်ချင်ရင် System ကို rescue mode ဖြင့် ဝင်ပြီးလုပ်ရမှာဖြစ်ပါတယ်။

Fsck command options

        အောက်ပုံမှာပြထားတာကတော့ fsck နဲ့ တွဲပြီး အသုံးပြုလို့ရတယ့် options တွေပဲဖြစ်ပါတယ်။ ပုံမှန်အားဖြင့်တော့ fsck <device-name> ဆိုရင် filesystem check/repair စတင်လုပ်ဆောင်မှာဖြစ်ပါတယ်။ 



Let's get it!!

                    အခု အောက်ပုံမှာ #lsblk -f ဆိုပြီး ရိုက်တဲ့အခါ ကျွန်တော့်ရဲ့ စက်မှာ /dev/sdb1 and /dev/sdc1 ဆိုပြီး partition နှစ်ခုရှိတယ် အဲ့နှစ်ခုမှာ တစ်ခုက ext4 filesystem and xfs filesystem ကို အသုံးပြုထားတယ်။



                      အိုကေ အဲ့တော့ ကျွန်တော် ext4 filesystem ကို အသုံးပြုထားတဲ့ /dev/sdb1 ကို /data1 directory နဲ့ mount လုပ်ဖို့ ကြိုးစားတဲ့အခါမှာ failed to mount ဖြစ်ပြီး error ပြနေတာကိုတွေ့မှာဖြစ်ပါတယ်။ ဆိုတော့ အခု တစ်ကြိမ်မှာ fsck ကို ဘာ options မှ မသုံးပဲ ဒီအတိုင်း အသုံးပြုလိုက်တဲ့အခါမှာ fsck ရဲ့ steps တိုင်းကို လုပ်ဆောင်ဖို့အတွက် ကိုယ့်ကို yes/no prompt တွေ တောက်လျှောက်တောင်းပြီး filesystem ကို repair လုပ်သွားမှာဖြစ်ပါတယ်။  


#fsck /dev/sdb1







#fsck with [ -y ] option


            ဒီအောက်ပုံမှာကတော့ fsck ကို -y option နဲ့ တွဲပြီးအသုံးပြုတဲ့အခါမှာ ကိုယ့်ကို yes/no confirmation prompt တွေမတောင်းတော့ပဲ process ပြီးသည့်အထိ တောက်လျှောက် run သွားမှာဖြစ်ပါတယ်။
#fsck -y /dev/sdb1


#fsck with [ -A ] [ - R ] [ -M ]  options

        ဒီတစ်ခေါက်မှာတော့ fsck ကို -A , -R, -M, တို့နဲ့ တွဲပြီး အသုံးပြုမှာဖြစ်ပါတယ်။ ဆိုတော့ ဒီ options တွေက ဘယ်လိုမျိုး အလုပ်လုပ်သလဲ

1. [ - A ] option ကို အသုံးပြုတဲ့အခါ fsck သည် system ပေါ်မှာ ရှိတဲ့ filesystem တွေ အကုန်လုံးကို check/repair လုပ်ပေးမှာဖြစ်ပါတယ်။ filesystem အကုန်လုံးဆိုသည်မှာ umount လုပ်ထားရမှာဖြစ်ပြီး umount မလုပ်ထားရင်  error message ပြပြီး operation stop ဖြစ်သွားမှာဖြစ်ပါတယ်။ အောက်ပုံမှာဆိုရင် fsck -A ကို သုံးတဲ့အခါမှာ devices တွေ umount မလုပ်ထားတဲ့အတွက် operation aborted ဖြစ်သွားတာဖြစ်ပါတယ်။ fsck -A ကိုသုံးတဲ့အခါ မှာ fsck သည် /etc/fstab ထဲမှာ ရှိတဲ့ partitions table ကို check ပြီး လုပ်ဆောင်တာဖြစ်ပါတယ်။



2. [ -R ] option ကတော့ fsck ကို filesystem check/repair လုပ်တဲ့အခါ "root filesystem" ကို မစစ်ဖို့ ရန်အသုံးပြုတာဖြစ်ပါတယ်။ သူ့ကိုတော့ [ -A ] option နဲ့ တွဲပြီးတော့ unmount လုပ်ထားတဲ့ filesystem အကုန်လုံးကို check မယ် root filesystem မှလွဲ၍ ဆိုပြီး တွဲသုံးလို့ရပါတယ်။ အောက်ပုံမှာ ပြထားပါတယ်။



3. နောက်ဆုံးတစ်ခုဖြစ်တဲ့ [ -M ] option ကတော့ fsck ကို အသုံးပြုတဲ့အခါ mount လုပ်ထားတဲ့ device များကို မစစ်ဖို့ရန် အတွက် အသုံးပြုတာဖြစ်ပါတယ်။ အောက်ပုံမှာဆိုရင် [ -M ] ကို fsck နဲ့ တွဲပြီးအသုံးပြုထားပါတယ်။


#fsck with [ -n ] option

    fsck -n  <device-name> option ကို အသုံးပြုတဲ့အခါမှာတော့ fsck သည် filesystem ကို repair မလုပ်သွားပဲ လက်ရှိ ဖြစ်နေတဲ့ issue ကိုပဲ​ print ထုတ်ပြသွားတာ ဖြစ်ပါတယ်။



#fsck with [ -N ] option

    fsck -N <device-name> option ကိုတော့ fsck actual မ run ခင် dry run (အစမ်းသဘော) အနေနဲ့ အသုံးပြုချင်သည့်အခါ သုံးပါတယ်။ filesystem ကို တကယ် သွားပြီး check/repair မလုပ်ပါဘူး။


Okay...ဒါကတော့ Fsck နဲ့ပတ်သက်ပြီး  သိထားသင့်တဲ့ usage လေးတွေကို ပြောပြသွားတာဖြစ်ပါတယ်။ နောက်ထပ် တစ်ခြား options တွေကိုလဲ​ "man fsck" နဲ့ ကြည့်ပြီး စမ်းကြည့်လို့ရပါတယ်။

That's it 😊


Pls Like and Subscribe Our Root Of Info FB Page and Youtube Channel


https://www.facebook.com/rootofinfo


https://www.youtube.com/channel/UCkOi7WxhUBKONv3uD0CvuWw?view_as=subscriber


Thank you!!!


Share:

0 comments:

Post a Comment