लिनक्स में फ़ाइल सिस्टम त्रुटियों को सुधारने के लिए 'fsck' का उपयोग कैसे करें


डेटा को कैसे संग्रहीत और पुनर्प्राप्त किया जाता है, इसे व्यवस्थित करने के लिए फाइलसिस्टम जिम्मेदार हैं। एक तरह से या किसी अन्य, समय के साथ, फ़ाइल सिस्टम दूषित हो सकता है और इसके कुछ हिस्से सुलभ नहीं हो सकते हैं। यदि आपका फाइल सिस्टम ऐसी असंगति विकसित करता है, तो इसकी अखंडता को सत्यापित करने की सिफारिश की जाती है।

इसे सिस्टम उपयोगिता के माध्यम से पूरा किया जा सकता है जिसे fsck ( फाइल सिस्टम स्थिरता जांच ) कहा जाता है। यह जाँच बूट समय के दौरान स्वचालित रूप से की जा सकती है या मैन्युअल रूप से चलाई जा सकती है।

इस लेख में, हम डिस्क त्रुटियों की मरम्मत में मदद करने के लिए fsck उपयोगिता और इसके उपयोग की समीक्षा करने जा रहे हैं।

जब आप fsck चलाना चाहते हैं, तो अलग-अलग परिदृश्य हैं। यहाँ कुछ उदाहरण हैं:

  • The system fails to boot.
  • Files on the system become corrupt (often you may see input/output error).
  • Attached drive (including flash drives/SD cards) is not working as expected.

Fsck कमांड को सुपरसुसर विशेषाधिकारों या रूट के साथ चलाने की आवश्यकता है। आप इसका उपयोग विभिन्न तर्कों के साथ कर सकते हैं। उनका उपयोग आपके विशिष्ट मामले पर निर्भर करता है। नीचे आपको कुछ और महत्वपूर्ण विकल्प दिखाई देंगे:

    • -A – Used for checking all filesystems. The list is taken from /etc/fstab.
    • -C – Show progress bar.
    • -l – Locks the device to guarantee no other program will try to use the partition during the check.
    • -M – Do not check mounted filesystems.
    • -N – Only show what would be done – no actual changes are made.
    • -P – If you want to check filesystems in parallel, including root.
    • -R – Do not check root filesystem. This is useful only with ‘-A‘.
    • -r – Provide statistics for each device that is being checked.
    • -T – Does not show the title.
    • -t – Exclusively specify the filesystem types to be checked. Types can be comma separated list.
    • -V – Provide description what is being done.

    लिनक्स फाइल सिस्टम त्रुटियों को ठीक करने के लिए fsck कैसे चलाएं

    fsck को चलाने के लिए, आपको यह सुनिश्चित करना होगा कि आप जिस विभाजन की जांच करने जा रहे हैं वह माउंट नहीं है। इस लेख के प्रयोजन के लिए, मैं अपनी दूसरी ड्राइव /dev/sdb को /mnt में उपयोग करूँगा।

    विभाजन के आरोहित होने पर मैं fsck चलाने का प्रयास करता हूं तो ऐसा होता है।

    # fsck /dev/sdb
    

    इससे बचने के लिए विभाजन का उपयोग न करें।

    # umount /dev/sdb
    

    फिर fsck के साथ सुरक्षित रूप से चलाया जा सकता है।

    # fsck /dev/sdb
    

    fsck चलाने के बाद, यह एक निकास कोड लौटाएगा। ये कोड रन करके fsck के मैनुअल में देखे जा सकते हैं:

    # man fsck
    
    0      No errors
    1      Filesystem errors corrected
    2      System should be rebooted
    4      Filesystem errors left uncorrected
    8      Operational error
    16     Usage or syntax error
    32     Checking canceled by user request
    128    Shared-library error            
    

    कभी-कभी एक फाइलसिस्टम पर एक से अधिक त्रुटि पाई जा सकती है। ऐसे मामलों में आप त्रुटियों को ठीक करने के लिए स्वचालित रूप से प्रयास करने के लिए fsck चाहते हैं। इसके साथ किया जा सकता है:

    # fsck -y /dev/sdb
    

    -y ध्वज, स्वचालित रूप से "yes" fsck से किसी भी प्रॉम्प्ट पर एक त्रुटि को ठीक करने के लिए।

    इसी तरह, आप सभी फाइल सिस्टम पर समान चला सकते हैं (बिना रूट ):

    $ fsck -AR -y 
    

    लिनक्स रूट विभाजन पर fsck कैसे चलाएं

    कुछ मामलों में, आपको अपने सिस्टम के रूट विभाजन पर fsck चलाने की आवश्यकता हो सकती है। चूँकि आप विभाजन के चलने के दौरान fsck नहीं चला सकते हैं, आप इन विकल्पों में से एक को आजमा सकते हैं:

    • Force fsck upon system boot
    • Run fsck in rescue mode

    हम दोनों स्थितियों की समीक्षा करेंगे।

    यह पूरा करना अपेक्षाकृत आसान है, केवल एक चीज जो आपको करने की आवश्यकता है वह है आपके सिस्टम के रूट विभाजन में संदंश नामक फ़ाइल बनाना। निम्नलिखित आदेश का उपयोग करें:

    # touch /forcefsck
    

    तब आप बस अपने सिस्टम को रीबूट करने के लिए बाध्य या शेड्यूल कर सकते हैं। अगले बूटअप के दौरान, fsck का प्रदर्शन किया जाएगा। यदि डाउनटाइम महत्वपूर्ण है, तो इसे सावधानीपूर्वक योजना बनाने की सिफारिश की जाती है, क्योंकि यदि आपके सिस्टम पर कई उपयोग किए गए इनोड्स हैं, तो fsck कुछ अतिरिक्त समय ले सकता है।

    अपने सिस्टम बूट के बाद, जांचें कि क्या फाइल अभी भी मौजूद है:

    # ls /forcefsck
    

    यदि ऐसा होता है, तो आप हर सिस्टम बूट पर fsck से बचने के लिए इसे निकालना चाह सकते हैं।

    बचाव मोड में fsck चलाना कुछ और चरणों की आवश्यकता है। सबसे पहले अपने सिस्टम को रिबूट के लिए तैयार करें। किसी भी महत्वपूर्ण सेवाओं जैसे MySQL/MariaDB आदि को बंद करें और फिर टाइप करें।

    # reboot
    

    बूट के दौरान, shift कुंजी दबाए रखें ताकि ग्रब मेनू दिखाया जाए। " उन्नत विकल्प " चुनें।

    फिर " पुनर्प्राप्ति मोड " चुनें।

    अगले मेनू में " fsck " चुनें।

    आपसे पूछा जाएगा कि क्या आप अपना / filesystem remounted चाहते हैं। "yes" चुनें।

    आपको इससे मिलता-जुलता कुछ देखना चाहिए।

    फिर आप "फिर से शुरू करें" का चयन करके सामान्य बूट पर फिर से शुरू कर सकते हैं।

    इस ट्यूटोरियल में आपने सीखा कि विभिन्न लिनक्स फाइल सिस्टम पर fsck का उपयोग कैसे करें और निरंतरता जांच करें। यदि आपके पास fsck के बारे में कोई प्रश्न हैं, तो कृपया नीचे टिप्पणी अनुभाग में उन्हें प्रस्तुत करने में संकोच न करें।