आधुनिक कंप्यूटर अविश्वसनीय रूप से विश्वसनीय हैं, लेकिन चीजें अभी भी गलत हो सकती हैं – और आमतौर पर सबसे बुरी चीज जो गलत हो सकती है वह है अपना डेटा खोना – चाहे वह महत्वपूर्ण काम हो या आपकी कीमती तस्वीरें।
एक मजबूत बैकअप सिस्टम के साथ, fsck (फाइल सिस्टम चेक) शायद सबसे महत्वपूर्ण टूल है जिसे आप डेटा हानि को रोकने के लिए हाथ में रख सकते हैं। यह ट्यूटोरियल बताता है कि Linux में फ़ाइल सिस्टम त्रुटियों की मरम्मत के लिए fsck का उपयोग कैसे करें और आपको चार सामान्य उदाहरणों के माध्यम से ले जाता है।
fsck आपके Linux फ़ाइल सिस्टम की अखंडता की पुष्टि करता है और त्रुटियों की मरम्मत करता है।
सिंटैक्स
fsck Linux द्वारा उपयोग किए जाने वाले फ़ाइल सिस्टम के लिए उपलब्ध कई फ़ाइल सिस्टम चेकर्स के लिए एक इंटरफ़ेस है और इसका निम्न सिंटैक्स है:
fsck [OPTIONS]... [FILESYSTEMS]...
ध्यान दें कि:
- [OPTIONS]… नीचे दी गई तालिका से विकल्पों की एक सूची है
- [FILESYSTEMS] जांचे/मरम्मत किए जाने वाले फ़ाइल सिस्टम की सूची है
- fsck द्वारा न समझे जाने वाले विकल्प आपके द्वारा जांचे जा रहे विशिष्ट फ़ाइल सिस्टम के लिए उपयोग किए जाने वाले विशिष्ट फ़ाइल सिस्टम चेकर को पास कर दिए जाएंगे।
- यदि कोई फाइलसिस्टम निर्दिष्ट नहीं है, तो fsck /etc/fstab में सभी फ़ाइल सिस्टम की जांच करने के लिए डिफ़ॉल्ट होगा (यानी, यह -A विकल्प को डिफ़ॉल्ट करता है)
विकल्प
fsck के कई विकल्प हैं। आप निम्न चलाकर पूरी सूची देख सकते हैं:
man fsck
…अपने टर्मिनल में। यहां उन विकल्पों का सारांश है जिनकी आपको सबसे अधिक आवश्यकता होगी:
यहां fsck का उपयोग करते समय आमतौर पर उपयोग किए जाने वाले विकल्प दिए गए हैं, सीधे मैनुअल से (लेकिन संक्षिप्तता के लिए कुछ संपादन के साथ – अधिक उन्नत उपयोग विवरण के लिए मैनुअल देखें):
| -t | fslist जांचे जाने वाले फ़ाइल सिस्टम के प्रकार को निर्दिष्ट करता है। fslist पैरामीटर फाइलसिस्टम और विकल्प विनिर्देशकों की एक कॉमा-सेपरेटेड सूची है। आमतौर पर, /etc/fstab फ़ाइल में filesys को खोजकर और संबंधित प्रविष्टि का उपयोग करके फाइलसिस्टम प्रकार का अनुमान लगाया जाता है। |
| -A | /etc/fstab फ़ाइल के माध्यम से चलें और एक रन में सभी फ़ाइल सिस्टम की जांच करने का प्रयास करें। यह विकल्प आमतौर पर कई कमांड के बजाय /etc/rc सिस्टम इनिशियलाइज़ेशन फ़ाइल से उपयोग किया जाता है जो एकल फ़ाइल सिस्टम की जांच करता है। |
| -M | माउंटेड फाइलसिस्टम की जांच न करें और माउंटेड फाइलसिस्टम के लिए 0 का एक्जिट कोड लौटाएं। |
| -N | निष्पादित न करें, बस दिखाएं कि क्या किया जाएगा। |
| -R | -A फ्लैग के साथ सभी फ़ाइल सिस्टम की जांच करते समय, रूट फ़ाइल सिस्टम को छोड़ दें (यदि यह पहले से ही रीड-राइट माउंटेड है)। |
| -V | सभी फ़ाइल सिस्टम-विशिष्ट कमांड सहित वर्बोज आउटपुट उत्पन्न करें जो निष्पादित किए जाते हैं। |
विभिन्न फाइलसिस्टम-विशिष्ट fsck के विकल्प मानकीकृत नहीं हैं। यदि संदेह है, तो कृपया फाइलसिस्टम-विशिष्ट चेकर के मैन पेज देखें। हालांकि गारंटी नहीं है, निम्न विकल्प अधिकांश फ़ाइल सिस्टम चेकर्स द्वारा समर्थित हैं:
| -a | किसी भी प्रश्न के बिना फ़ाइल सिस्टम को स्वचालित रूप से मरम्मत करें (इस विकल्प का उपयोग सावधानी से करें)। |
| -n | कुछ फाइलसिस्टम-विशिष्ट चेकर्स के लिए, -n विकल्प fs-विशिष्ट fsck को किसी भी समस्या की मरम्मत का प्रयास करने से बचने का कारण बनेगा लेकिन केवल ऐसी समस्याओं की रिपोर्ट करेगा। |
| -r | इंटरएक्टिव रूप से फाइलसिस्टम की मरम्मत करें (पुष्टि के लिए पूछें)। |
| -y | कुछ फाइलसिस्टम-विशिष्ट चेकर्स के लिए, -y विकल्प fs-विशिष्ट fsck को किसी भी पहचाने गए फाइलसिस्टम भ्रष्टाचार को स्वचालित रूप से ठीक करने का प्रयास करने का कारण बनेगा। |
यदि आप किसी विशिष्ट फ़ाइल सिस्टम के लिए विशिष्ट चेकर के लिए उपलब्ध विकल्प देखना चाहते हैं, तो चलाएं:
man fsck.ext4
एक्जिट कोड
| fsck द्वारा लौटाया गया एक्जिट कोड निम्न शर्तों का योग है | |
|---|---|
| 0 | कोई त्रुटि नहीं |
| 1 | फ़ाइल सिस्टम त्रुटियां ठीक की गईं |
| 2 | सिस्टम को रीबूट किया जाना चाहिए |
| 4 | फ़ाइल सिस्टम त्रुटियां बिना सुधारे छोड़ दी गईं |
| 8 | ऑपरेशनल त्रुटि |
| 16 | उपयोग या सिंटैक्स त्रुटि |
| 32 | उपयोगकर्ता अनुरोध द्वारा Fsck रद्द किया गया |
| 128 | शेयर्ड लाइब्रेरी त्रुटि |
| जब कई फ़ाइल सिस्टम जांचे जाते हैं तो लौटाया गया एक्जिट कोड प्रत्येक जांचे गए फ़ाइल सिस्टम के एक्जिट कोड का बिटवाइज OR होता है। |
उदाहरण
यहां fsck के कुछ सामान्य उपयोग उदाहरण हैं – लोकल डिस्क की जांच, रूट फाइलसिस्टम सहित।
अनमाउंट करना
आप एक फाइलसिस्टम की जांच नहीं कर सकते जो उपयोग में है, क्योंकि यह फाइलसिस्टम को भ्रष्ट कर सकता है और डेटा हानि का परिणाम हो सकता है। एक फाइलसिस्टम को अनमाउंट करने के लिए ताकि यह उपयोग में न हो और जांचा जा सके, चलाएं:
sudo umount /dev/filesystem
… जहां filesystem अनमाउंट किए जाने वाले फाइलसिस्टम का नाम है।
यदि आप फाइलसिस्टम का नाम नहीं जानते हैं, तो चलाएं:
df -h
… फाइलसिस्टम और माउंट पॉइंट की सूची प्राप्त करने के लिए।
री-माउंट करना
एक बार जब आप जांच और मरम्मत समाप्त कर लेते हैं, तो आप एक फाइलसिस्टम को फिर से माउंट कर सकते हैं:
sudo mount /dev/filesystem
भ्रष्ट फ़ाइल सिस्टम की जांच और मरम्मत
sudo fsck -p /dev/filesystem
ध्यान दें कि:
- filesystem जांचे जा रहे फाइलसिस्टम का नाम है और "sda1" या "sdc1" जैसा दिखता है
- -p विकल्प fsck को उन समस्याओं को स्वचालित रूप से ठीक करने के लिए कहता है जिनके लिए उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती
बूट पर जांच / रूट फ़ाइल सिस्टम की जांच
चूंकि आप उपयोग में आने वाले फाइलसिस्टम की जांच नहीं कर सकते, इसलिए आप Linux में रूट फाइलसिस्टम की जांच नहीं कर सकते जब सिस्टम पूरी तरह से बूट हो चुका हो और यह उपयोग में हो।
बूट पर जांच चलाना ऐसा करने का सबसे अच्छा तरीका है, क्योंकि यह तब भी काम करता है जब आप किसी सिस्टम में दूरस्थ रूप से लॉग इन हों।
अधिकांश Linux डिस्ट्रीब्यूशन डिफ़ॉल्ट रूप से fsck को स्वचालित रूप से चलाने के लिए कॉन्फ़िगर किए गए हैं यदि फाइलसिस्टम "गंदा" (जांच की आवश्यकता) के रूप में चिह्नित है या बूट के एक निश्चित अंतराल के बाद।
प्रत्येक सिस्टम बूट पर एक विशिष्ट की जांच को बाध्य करने के लिए (रूट फाइलसिस्टम सहित), फाइलसिस्टम पैरामीटर को समायोजित करने के लिए tune2fs का उपयोग करें:
tune2fs -c 1 /dev/filesystem
जहां filesystem जांचे जाने वाले फाइलसिस्टम का नाम है। 1 बूट की संख्या है जिसके बाद fsck चलाया जाता है – यह Ubuntu डिस्ट्रीब्यूशन में 30 पर डिफ़ॉल्ट होता है, इसलिए चीजों को सामान्य पर वापस करने के लिए, आप चला सकते हैं:
tune2fs -c 30 /dev/filesystem
यदि यह काम नहीं करता है, तो पुराने डिस्ट्रीब्यूशन बूट पर fsck चलाएंगे यदि /forcefsck फ़ाइल मौजूद है:
sudo touch /forcefsck
बूट पर एक बार fsck हो जाने के बाद, परिणाम यहां लॉग किए जाएंगे:
/var/log/fsck
… आपके जांच के लिए तैयार।
यदि आपका सिस्टम उस बिंदु तक क्षतिग्रस्त है जहां यह बिल्कुल बूट नहीं होगा, तो आप रिकवरी डिस्क या USB स्टिक से बूट कर सकते हैं और वहां से fsck चला सकते हैं क्योंकि आप जिस रूट फाइलसिस्टम की जांच करना चाहते हैं वह माउंटेड नहीं होगा।
निष्कर्ष
अधिक जानकारी के लिए, आप अपने टर्मिनल में निम्न चलाकर fsck मैनुअल पढ़ सकते हैं:
man fsck
सामान्य Linux शेल टूल पर हमारे अन्य व्याख्याकार देखें।