अगर मैं खोए हुए + को हटाता हूं तो क्या होता है


38

जब आप कुछ Linux फाइलसिस्टम बनाते हैं जैसे ext3 एक 'लॉस्ट + फाउंड' डायरेक्टरी बनाई जाती है। के अनुसार इस फ़ाइलें रखा जाएगा यदि फ़ाइलें सिस्टम क्रैश किसी तरह से क्षतिग्रस्त हो गए थे।

यदि यह निर्देशिका हटा दी जाती है, और सिस्टम क्रैश हो जाता है तो क्या होता है। यदि फ़ोल्डर निकाल दिया जाता है, तो मैं सिर्फ एक नई निर्देशिका बना सकता हूं जिसमें mkdir खोया + पाया गया है या ऐसी विशेषताएँ हैं जो केवल तब सेट की जा सकती हैं जब फाइलसिस्टम बनाया जा रहा हो।

जवाबों:


35

अगर यह गायब है तो fsck खोई हुई + निर्देशिका को पुनः बनाएगा।

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


15

यदि आप दौड़ना नहीं चाहते या नहीं fsckकर सकते, तो आप lost+foundनिर्देशिकाओं को फिर से बना सकते हैं mklost+found:

mklost + पाया खो-खो निर्देशिका को पूर्व-ब्लॉक डिस्क आवंटित करता है ताकि जब एक फाइल सिस्टम को पुनर्प्राप्त करने के लिए e2fsck (8) चलाया जा रहा है, तो बड़ी संख्या में अनलिंक फ़ाइलों को संग्रहीत करने के लिए फाइल सिस्टम में ब्लॉक आवंटित करने की आवश्यकता नहीं है। यह सुनिश्चित करता है कि पुनर्प्राप्ति के दौरान e2fsck को फाइल सिस्टम में डेटा ब्लॉक आवंटित नहीं करना होगा।


आरएचईएल 6.4 पर और fsckन ही e2fsckमेरे लिए इसे री-क्रिएट करने से कोई फर्क नहीं पड़ता, चाहे डायरेक्टरी माउंट की गई हो या नहीं। cd <root-dir-of-the-mount> && mklost+foundइसे करें।
— लुइस एंटोलिन कैनो

7

बड़ी संख्या में अनलिंक की गई फ़ाइलों को सम्‍मिलित करने के लिए एक बड़े आकार के साथ एक पहले से मौजूद खोया + पाया गया निर्देशिका बनाने के लिए e2fsck पर कम बोझ डालता है और इसे उचित आकार में विकसित करता है।

यह अभी भी ऐसा करने का प्रयास करेगा, लेकिन एक भ्रष्ट फाइल सिस्टम के सामने, यह अधिक जोखिम भरा हो सकता है।

अन्य प्लेटफॉर्म्स पर अन्य फाइलसिस्टम के लिए बहुत पुरानी fsck / खोया / पाया नहीं बना पाए, और न ही वे इसे विकसित कर पाए। यह / खोया + पाया के औचित्य के लिए इतिहास है। लेकिन वर्तमान औचित्य केवल e2fsck के काम को आसान बनाने के लिए है।


4
ऐसा नहीं है कि वे खोए हुए + को नहीं बना सकते हैं - यह है कि यह एक फाइल सिस्टम पर फाइल / डायरेक्ट्रीज बनाने के लिए एक बुरा विचार है जो पहले से ही खराब हो गया है। इसके बजाय, आप बस एक निर्देशिका का निर्माण करते हैं जो कि पहले से ही बड़ी मात्रा में इनकोड की निर्देशिका प्रविष्टियों को संग्रहीत करने के लिए पर्याप्त है जो आपको एक खराब-अप फ़ाइल सिस्टम में मिलते हैं जब आप इसे साफ करने की कोशिश कर रहे होते हैं।
— क्रिस

5

यदि आपके पास नहीं है lost+found, e2fsck(मैंने अन्य fsckकार्यान्वयनों के लिए कोड का निरीक्षण नहीं किया है ) आपके लिए इसे बनाने की पेशकश करेगा। लेकिन, यदि आप चाहें, तो आप इसे फिर से बना सकते हैं; विशेष रूप से उस निर्देशिका के बारे में कुछ खास नहीं है (कम से कम कोड का निरीक्षण करने से नहीं)।


2
यदि आवश्यक हो तो fsck को खोए हुए + को फिर से बनाना चाहिए, नहीं?
— डेविड श्मिट

2
धन्यवाद, मैंने e2fsck के लिए कोड की जांच की है और वास्तव में यह आपके लिए इसे फिर से बनाने की पेशकश करता है। (हालांकि यह सफल होने की गारंटी नहीं है --- यही वजह है कि एक पूर्व-निर्मित खोया + पाया उपयोगी भी है।) नीट!
— क्रिस जस्टर-यंग

6
@ क्रिसजस्टर-यंग - आपका जवाब गलत है। lost+foundएक विशेष निर्देशिका है। इसमें पहले से आवंटित डिस्क ब्लॉक हैं ताकि रिकवरी टूल को रिकवरी के दौरान ब्लॉक आवंटित करने की आवश्यकता न हो। उपकरण mklost+foundविशेष रूप से मौजूद हैं क्योंकि mkdirयह इसे ठीक से नहीं बनाएगा। देखें linux.die.net/man/8/mklost+found
— aggregate1166877

2

e2fsck खोए हुए + को फिर से बनाएगा, और किसी भी फ़ाइल को नष्ट कर देगा जो उसी नाम के साथ हो सकती है ताकि यह सुनिश्चित हो सके कि यह एक निर्देशिका के रूप में बना सकता है।

ध्यान दें कि कई पुराने यूनिक्स फाइल सिस्टम ने मांग की है कि खोए हुए + को विशेष रूप से इनोड नंबर 2 से जुड़ा हुआ पाया जाता है, इसलिए अगर निर्देशिका खो गई तो ज्यादातर मामलों में फाइलसिस्टम को फिर से बनाने की आवश्यकता है। e2fsck बस किसी भी मुफ्त इनोड के लिए एक खोज करता है, जाहिरा तौर पर विशेष रूप से इनकोड 2 की आवश्यकता नहीं होती है, जो पुराने दिनों की तुलना में वसूली को बहुत सरल बनाता है।


1

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

फ़ाइलों को स्थानांतरित करने के लिए दूसरा मामला यह है कि अगर fsck को ऐसी फ़ाइल मिलती है जिसके माता-पिता इनोड गुम हैं। यह आमतौर पर ऐसा होता है यदि कोई ब्लॉक उस विशिष्ट स्थान पर डिस्क पर भ्रष्ट हो जाता है जहां एक फ़ोल्डर का इनोड संग्रहीत किया जा रहा है। यह उनके माता-पिता को खोए हुए + पाए गए फ़ोल्डर को पुन: सौंप देगा।

संपादित करें: मैं अनिश्चित हूं यदि बाद वाला मामला निर्देशिका को फिर से बना देगा। मैं इसे अकेला छोड़ दूँगा सुरक्षित पक्ष पर होने के लिए। मैं इसे हटाने का कोई कारण नहीं सोच सकता। हालांकि इसके बिना कुछ भी बुरा नहीं होगा।


1
क्या आप सुनिश्चित हैं कि यह सिर्फ बनाने के लिए ठीक है mkdir?

हाँ, यह है, अंतरिक्ष आवंटन निर्देशिका इनोड या पथ से बंधा नहीं है। आरक्षित स्थान आबंटन कुछ मेमोरी पर एक झंडा कम होता है जिसके लिए रूट / कर्नेल विशेषाधिकारों और विशेष कॉल की आवश्यकता होती है जिस तक पहुँचने के लिए fsck के बारे में पता होता है, यह बस उस मेमोरी में संभावित भ्रष्ट या टूटी हुई फ़ाइलों की प्रतिलिपि बनाकर और उस जगह का उपयोग करके उस स्थान का उपयोग करता है नई मेमोरी की ओर इशारा करते हुए एक इनकोड के साथ फ़ाइल। फ़ाइल संचालन सामान्य रूप से उन फ़ाइलों पर व्यवहार करेगा लेकिन किसी भी परिवर्तन जैसे कि चलना या सहेजना डेटा को आरक्षित मेमोरी से बाहर निकाल देगा।
— ट्रू ड्यूलिटी

1

इसके अलावा, डेबियन 6 और उबंटू 12 एलटीएस पर, cronपैकेज ने स्थानीय फाइलसिस्टम पर /etc/cron.daily/standardलापता lost+foundनिर्देशिकाओं को नोटिस भेजा और दैनिक अनुस्मारक को ई-मेल के माध्यम से इसके उपयोग की सिफारिश की mklost+found।

हालांकि, इसे क्रमशः डेबियन 7 और उबंटू 14 एलटीएस के समय तक हटा दिया गया था, क्योंकि यह अप्रचलित हो गया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.