Ext4 पर fsck -p (preen) क्या करता है?


16

मैं फाइलसिस्टम मरम्मत के बारे में एक ब्लॉग पोस्ट पढ़ रहा था और लेखक ने एक अच्छा प्रश्न पोस्ट किया है ... fsck -pयह मानव हस्तक्षेप के बिना स्वचालित रूप से छोटी त्रुटियों को ठीक करने के लिए माना जाता है। लेकिन जब यह फाइलसिस्टम को रोकने के लिए कहा जाएगा तो वास्तव में यह क्या तय करेगा? यह किन त्रुटियों को ठीक करेगा, और इसके कारण उपयोगकर्ता को रोकने और यह बताने के लिए होगा कि उसे इंटरैक्टिव तरीके से fsck चलाना चाहिए? क्या किसी प्रकार की सूची है?

मैं चारों ओर से गुगली कर रहा हूं और मुझे लगता है कि वह आदमी पृष्ठ है, जो वास्तव में यह नहीं बताता है कि क्या -pठीक होगा या क्या हाथों पर लगे झंडे को ट्रिगर करेगा। मैं विशेष रूप से ext4 फाइल सिस्टम में दिलचस्पी रखता हूं।

जवाबों:


18

आपके प्रश्न का उत्तर e2fsprogs स्रोत कोड की e2fsck/problems.cफ़ाइल में है । झंडे की तलाश आपको शुरू करनी चाहिए।PR_PREEN_OK

चूंकि संपूर्ण त्रुटि से निपटने में थोड़ा और अधिक शामिल है, इसलिए हो सकता है कि विभिन्न त्रुटि स्थितियों की भीड़ के कारण, आपको सलाह दी जाती है कि यदि आप किसी विशिष्ट मामले के बारे में चिंतित हैं तो कोड पर करीब से नज़र डालें। हालांकि, नीचे दी गई सूचियों को टिप्पणियों से त्रुटि स्थितियों में निकाला गया था और आपको प्री-मोड के प्रभावों के बारे में एक मोटा अवलोकन देना चाहिए।

-pध्वज निर्दिष्ट होने पर वर्तमान में निम्नलिखित त्रुटियाँ / चेतावनियाँ स्वचालित रूप से नियंत्रित की जाती हैं:

  • रिलोक हिंट
  • जर्नल इनकोड अमान्य है
  • जर्नल सुपरब्लॉक भ्रष्ट है
  • Superblock has_journal ध्वज स्पष्ट है, लेकिन एक पत्रिका है
  • सुपरब्लॉक की जरूरत है_रचना ध्वज स्थापित किया गया है लेकिन पत्रिका मौजूद नहीं है
  • फाइलसिस्टम रिविजन 0 है, लेकिन फीचर फ्लैग सेट हैं
  • सुपरब्लॉक, बाहरी सुपरब्लॉक के लिए संकेत
  • समूह डिस्क्रिप्टर N ने सुविधा सेट के बिना असंबद्ध चिह्नित किया।
  • समूह एन ब्लॉक बिटमैप अनइंस्टाल्ड लेकिन उपयोग में बिट इनमैप बिटमैप।
  • समूह डिस्क्रिप्टर एन में अमान्य अप्रयुक्त इनोड्स गिनती है।
  • अंतिम समूह ब्लॉक बिटमैप अनिनिर्धारित।
  • Test_fs ध्वज सेट है (और ext4 उपलब्ध है)
  • अंतिम माउंट समय भविष्य में है (ठगना)
  • अंतिम लिखने का समय भविष्य में है (ठगा हुआ)
  • ब्लॉक समूह चेकसम (कुंडी प्रश्न) अमान्य है।
  • रूट डायरेक्टरी में dtime सेट है
  • आरक्षित इनोड में खराब मोड है
  • हटाए गए इनोड में शून्य अवधि है
  • उपयोग में इनोड, लेकिन dtime सेट
  • शून्य-लंबाई निर्देशिका
  • Inode में गलत i_size है
  • Inode में गलत i_blocks हैं
  • समूह में बैड सुपरब्लॉक
  • समूह में खराब ब्लॉक ग्रुप डिस्क्रिप्टर
  • ब्लॉक ने बिना किसी कारण के दावा किया
  • मेटाडेटा स्थानांतरित करने के लिए ब्लॉक आवंटित करने में त्रुटि
  • स्थानांतरण प्रक्रिया के दौरान ब्लॉक बफर आवंटित करने में त्रुटि
  • X से Y तक मेटाडेटा समूह की जानकारी स्थानांतरित करना
  • मेटाडेटा समूह जानकारी को X में स्थानांतरित करना
  • स्थानांतरण प्रक्रिया के दौरान त्रुटि पढ़ें ब्लॉक
  • स्थानांतरण प्रक्रिया के दौरान त्रुटि लिखें
  • एक डिवाइस या सॉकेट इनोड पर अपरिवर्तनीय ध्वज सेट
  • डिवाइस के लिए नॉन-जीरो साइज, फिफो या सॉकेट इनोड
  • फाइलसिस्टम रिविजन 0 है, लेकिन फीचर फ्लैग सेट हैं
  • जर्नल इनोड उपयोग में नहीं है, लेकिन इसमें डेटा है
  • जर्नल में खराब मोड है
  • INDEX_FL ध्वज एक गैर-HTREE फाइल सिस्टम पर सेट है
  • INDEX_FL ध्वज एक गैर-निर्देशिका पर सेट है
  • HTREE निर्देशिका में अमान्य रूट नोड
  • HTREE निर्देशिका में असमर्थित हैश संस्करण
  • HTREE रूट नोड में असंगत ध्वज
  • HTREE बहुत गहरा है
  • अमान्य इनकोड-> i_extra_isize
  • अमान्य ईई प्रविष्टि-> e_name_len
  • अमान्य ईई प्रविष्टि-> e_value_offs
  • अमान्य ईई प्रविष्टि-> e_value_block
  • अमान्य ईई प्रविष्टि-> e_value_size
  • अमान्य ईई प्रविष्टि-> e_hash
  • इनकोड EXTENTS_FL याद आ रही है, लेकिन एक हद इनोड है
  • इनोड में EOFBLOCKS_FL सेट नहीं होना चाहिए
  • निर्देशिका प्रविष्टि को हटा दिया गया है या अप्रयुक्त इनोड
  • निर्देशिका फ़ाइल सेट सेट नहीं है
  • फ़ाइल सिस्टम पर डायरेक्टरी फ़िलेपाइप सेट
  • अमान्य HTREE रूट नोड
  • अमान्य HTREE सीमा
  • अमान्य HTREE गणना
  • HTREE आंतरिक नोड में तालिका में आउट-ऑफ-ऑर्डर हैश है
  • समूह में पाया गया इनोड जहां _INODE_UNINIT सेट है
  • समूह अप्रयुक्त इनोड्स क्षेत्र में पाए गए इनोड
  • i_blocks_hi शून्य होना चाहिए
  • / खोया + पाया नहीं मिला
  • अनटैक्ड शून्य-लंबाई इनोड
  • आईएनडी रेफरी गिनती गलत है
  • इनोड बिटमैप के अंत में पैडिंग सेट नहीं है।
  • ब्लॉक बिटमैप के अंत में पैडिंग सेट नहीं है।
  • बिटमैप अंतर हेडर को ब्लॉक करें
  • ब्लॉक का उपयोग नहीं किया गया है, लेकिन बिटमैप में चिह्नित किया गया है
  • ब्लॉक का उपयोग किया गया है, लेकिन बिटमैप में प्रयुक्त चिह्नित नहीं है
  • बिटमैप अंतर समाप्त करें
  • इनकोड बिटमैप अंतर हेडर
  • इनोड का उपयोग नहीं किया गया है, लेकिन बिटमैप में चिह्नित है
  • इनकोड का उपयोग किया गया है, लेकिन बिटमैप में प्रयुक्त चिह्नित नहीं है
  • इनकोड बिटमैप अंतर समाप्त होता है
  • समूह के लिए मुफ्त इनोड्स की गिनती गलत है
  • निर्देशिकाएँ समूह के लिए गलत हैं
  • फ्री इनोड्स गलत गिनाते हैं
  • नि: शुल्क ब्लॉक समूह गलत के लिए गणना
  • फ्री ब्लॉक गलत गिनाते हैं
  • ब्लॉक रेंज का उपयोग नहीं किया गया है, लेकिन बिटमैप में चिह्नित किया गया है
  • ब्लॉक रेंज का उपयोग किया जाता है, लेकिन बिटमैप में प्रयुक्त चिह्नित नहीं है
  • इनोड रेंज का उपयोग नहीं किया गया है, लेकिन बिटमैप में चिह्नित किया गया है
  • इनोड रेंज का उपयोग किया जाता है, लेकिन बिटमैप में प्रयुक्त चिह्नित नहीं है
  • उपयोग में समूह N ब्लॉक (ओं) को लेकिन समूह को BLOCK_UNINIT चिह्नित किया गया है
  • समूह एन इनोड (s) उपयोग में है लेकिन समूह INODE_UNINIT चिह्नित है
  • E2F_FLAG_JOURNAL_INODE ध्वज सेट होने पर पत्रिका को फिर से बनाएँ

निम्न त्रुटि स्थितियों के कारण गैर-संवादात्मक fsck प्रक्रिया निरस्त हो जाती है, भले ही -pध्वज सेट हो:

  • बिटमैप को समूह में न रखें
  • इनकोड बिटमैप समूह में नहीं
  • समूह में नहीं इनकोड तालिका
  • फाइलसिस्टम का आकार गलत है
  • सुपरब्लॉक में इनकोड की गिनती गलत है
  • हर्ड फिल्टाइप सुविधा का समर्थन नहीं करता है
  • जर्नल में एक अज्ञात सुपरब्लॉक है
  • पूछें कि क्या हमें पत्रिका साफ करनी चाहिए
  • जर्नल सुपरब्लॉक में एक अज्ञात रीड-ओनली फीचर फ्लैग सेट है
  • जर्नल सुपरब्लॉक में एक अज्ञात असंगत सुविधा ध्वज सेट है
  • जर्नल में असमर्थित संस्करण संख्या है
  • पूछें कि क्या हमें वैसे भी पत्रिका को चलाना चाहिए
  • आरक्षित ब्लॉक w / o resize_inode
  • Resize_inode सक्षम नहीं है, लेकिन इनकोड का आकार गैर-शून्य है
  • इनकोड का आकार अमान्य है
  • अंतिम माउंट समय भविष्य में है
  • अंतिम लिखने का समय भविष्य में है
  • समूह विवरणक एन चेकसम अमान्य है।
  • रूट डायरेक्टरी इनोड नहीं है
  • ब्लॉक बिटमैप कुछ अन्य एफएस ब्लॉक के साथ संघर्ष करता है
  • इनोड बिटमैप कुछ अन्य एफएस ब्लॉक के साथ संघर्ष करता है
  • इनोड टेबल कुछ अन्य fs ब्लॉक के साथ टकराव करता है
  • ब्लॉक बिटमैप खराब ब्लॉक पर है
  • इनोड बिटमैप खराब ब्लॉक पर है
  • इनसाइड में अवैध ब्लॉकेन
  • ब्लॉक संख्या ओवरलैप एफएस मेटाडेटा
  • इनोड में अवैध ब्लॉक हैं (कुंडी प्रश्न)
  • इनोड में बहुत सारे ख़राब ब्लॉक
  • खराब ब्लॉक इनोड में अवैध ब्लॉक संख्या
  • खराब ब्लॉक इनोड में अवैध ब्लॉक हैं (कुंडी प्रश्न)
  • खराब ब्लॉक को खराब ब्लॉक अप्रत्यक्ष ब्लॉक के रूप में उपयोग किया जाता है
  • असंगतता को तुरंत ठीक नहीं किया जा सकता है
  • खराब प्राथमिक ब्लॉक शीघ्र
  • संदेशों को दबाएं
  • जब फाइल सिस्टम इसका समर्थन नहीं करता है तो एक ध्वज को एक इनकोड पर सेट किया जाता है
  • जब फ़ाइल सिस्टम इसका समर्थन नहीं करता है तो संपीड़न ध्वज एक इनोड पर सेट होता है
  • उन आयतों से निपटें जो अनाथ लिंक्ड सूची का हिस्सा थीं
  • उन आयोजनों से निपटें जो दूषित अनाथ लिंक सूची (कुंडी प्रश्न) का हिस्सा थे
  • विस्तारित विशेषता ब्लॉक पढ़ने में त्रुटि
  • अमान्य विस्तारित विशेषता ब्लॉक
  • विस्तारित विशेषता संदर्भ गणना गलत है
  • एकाधिक ईए ब्लॉक समर्थित नहीं हैं
  • त्रुटि ईए आवंटन टकराव
  • खराब विस्तारित विशेषता नाम
  • खराब विस्तारित विशेषता मान
  • इनकोड बहुत बड़ा (कुंडी प्रश्न)
  • निर्देशिका बहुत बड़ी है
  • नियमित फ़ाइल बहुत बड़ी है
  • साइमलिंक बहुत बड़ा है
  • खराब ब्लॉक में अप्रत्यक्ष ब्लॉक होता है जो फाइलसिस्टम ब्लॉक के साथ टकराव करता है
  • आकार बदलने में विफल रहा
  • इनोड एक निर्देशिका प्रतीत होता है
  • हद के पेड़ को पढ़ते समय त्रुटि
  • विलुप्त होने के लिए विफलता
  • बुरी तरह से ब्लॉक शुरू
  • फ़ाइल सिस्टम से परे समाप्त होता है
  • EXTENTS_FL ध्वज एक गैर-एक्सटेंशन फाइल सिस्टम पर सेट है
  • इनोड में एक्सटेंशन्स हैं, सुपरब्लॉक गुम INCOMPAT_EXTENTS फीचर है
  • फास्ट सिमिंक में EXTENTS_FL सेट है
  • विस्तार क्रम से बाहर हैं
  • इनोड में एक अमान्य सीमा नोड है
  • क्लोन डुप्लिकेट / खराब ब्लॉक?
  • 'के लिए खराब इनकोड संख्या।'
  • निर्देशिका प्रविष्टि में खराब इनकोड संख्या है
  • डायरेक्ट एंट्री 'के लिए लिंक है।'
  • डायरेक्ट्री एंट्री पॉइंट इनकोड अब एक ख़राब ब्लॉक में स्थित है
  • निर्देशिका प्रविष्टि में एक निर्देशिका का लिंक होता है
  • डायरेक्टरी एंट्री में रूट डायरेक्ट्री का लिंक होता है
  • निर्देशिका प्रविष्टि में इसके नाम पर अवैध वर्ण हैं
  • गुम '।' निर्देशिका इनोड में
  • अनुपस्थित निर्देशिका में '..' गुम है
  • डायरेक्ट इनोड में पहली प्रविष्टि में 'नहीं है'।
  • निर्देशिका इनोड में दूसरी प्रविष्टि में '..' शामिल नहीं है
  • i_faddr शून्य होना चाहिए
  • i_file_acl शून्य होना चाहिए
  • i_dir_acl शून्य होना चाहिए
  • i_frag शून्य होना चाहिए
  • i_fsize शून्य होना चाहिए
  • इनोड में खराब मोड है
  • निर्देशिका दूषित हो गई
  • फ़ाइल नाम बहुत लंबा है
  • निर्देशिका इनोड में एक लापता ब्लॉक (छेद) है
  • '।' पूर्ण नहीं है
  • '..' पूर्णतया समाप्त नहीं है
  • अवैध चरित्र उपकरण इनोड
  • अवैध ब्लॉक डिवाइस इनोड
  • डुप्लीकेट '।' प्रवेश
  • डुप्लिकेट प्रविष्टि
  • अंतिम rec_len गलत है
  • निर्देशिका ब्लॉक पढ़ने में त्रुटि
  • निर्देशिका ब्लॉक लिखने में त्रुटि
  • '' के लिए निर्देशिका प्रविष्टि बड़ा है। विभाजित करें?
  • अवैध FIFO इनोड
  • अवैध सॉकेट इनोड
  • डायरेक्टरी फिल्टाइप गलत
  • निर्देशिका फ़ाइल नाम शून्य है
  • अमान्य सिमलिंक
  • i_file_acl (विस्तारित विशेषता ब्लॉक) खराब है
  • फाइलसिस्टम में बड़ी फाइलें हैं, लेकिन sb में ऐसा कोई झंडा नहीं है
  • अमान्य HTREE निर्देशिका साफ़ करें
  • Htree इंटीरियर नोड में खराब ब्लॉक
  • डुप्लिकेट निर्देशिका प्रविष्टि मिली
  • गैर-अद्वितीय फ़ाइल नाम मिला
  • i_blocks_hi शून्य होना चाहिए
  • अप्रत्याशित HTREE ब्लॉक
  • रूट इनोड आवंटित नहीं
  • खोया + पाया का कोई कमरा नहीं
  • असंबद्ध निर्देशिका इनोड
  • .. प्रविष्टि गलत है
  • लॉस्ट + को डायरेक्टरी नहीं मिली
  • अनासक्त इनकोड
  • सुपरब्लॉक भ्रष्ट
  • टुकड़े समर्थित नहीं हैं
  • फाइलसिस्टम के भौतिक उपकरण के आकार को निर्धारित करने में त्रुटि
  • बाहरी जर्नल में कई फ़ाइल सिस्टम हैं (असमर्थित)
  • बाहरी पत्रिका नहीं मिल सकती
  • बाहरी जर्नल में सुपर सुपरब्लॉक है
  • सुपरब्लॉक में एक खराब पत्रिका UUID है
  • इनकोड बिटमैप को आवंटित करने में त्रुटि
  • ब्लॉक बिटमैप आवंटित करने में त्रुटि
  • आइकन लिंक जानकारी आवंटित करने में त्रुटि
  • निर्देशिका ब्लॉक सरणी आवंटित करने में त्रुटि
  • इनकोड स्कैन करते समय त्रुटि
  • ब्लॉक पर पुनरावृत्ति करते समय त्रुटि
  • जानकारी को संग्रहीत करते समय त्रुटि जानकारी दर्ज करें
  • निर्देशिका ब्लॉक जानकारी संग्रहीत करते समय त्रुटि
  • इनकोड पढ़ने में त्रुटि (समाशोधन के लिए)
  • रीफोकाउंट संरचना को आवंटित करने में त्रुटि
  • रिफंड को ठीक करते समय विस्तारित एट्रीब्यूट ब्लॉक को पढ़ने में त्रुटि
  • रिफंड को ठीक करते समय विस्तारित एट्रीब्यूट ब्लॉक लिखने में त्रुटि
  • ईए क्षेत्र आवंटन संरचना को आवंटित करने में त्रुटि
  • इनकोड स्कैन करते समय त्रुटि
  • इनकोड बिटमैप को आवंटित करने में त्रुटि
  • आंतरिक त्रुटि: dir_info नहीं मिली
  • आइकॉन संरचना को आवंटित करने में त्रुटि
  • निर्देशिका ब्लॉकों पर पुनरावृत्ति करने में त्रुटि
  • त्रुटि निपटाने में त्रुटि
  • ईए रीफकाउंट को समायोजित करने में त्रुटि
  • इनकोड बिटमैप को आवंटित करने में त्रुटि
  • रूट डायरेक्टरी बनाने में त्रुटि
  • रूट इनोड निर्देशिका नहीं है; निरस्त
  • रूट इनोड के बिना आगे नहीं बढ़ सकते।
  • आंतरिक त्रुटि: dir_info नहीं मिली
  • प्रोग्रामिंग त्रुटि: बिटमैप समापन बिंदु मेल नहीं खाते
  • आंतरिक त्रुटि: बिटमैप का अंतिम छोर
  • प्रतिस्थापन इनोड बिटमैप में नकल करने में त्रुटि
  • प्रतिस्थापन ब्लॉक बिटमैप में प्रतिलिपि बनाने में त्रुटि

नूह यदि आप यह जानते हैं, तो क्या यह सभी त्रुटियों को बनाना / इंजेक्ट करना संभव है (या जो भी संभव है)? मैं इन त्रुटियों के कारण और इन त्रुटियों के संभावित समाधान की जांच करने का प्रयास कर रहा हूं।
अंकुरांक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.