फ़ाइल नहीं निकाल सकते: "संरचना को सफाई की आवश्यकता है"


22

मेरे पास एक बाहरी हार्ड ड्राइव है जिसे LUKS के माध्यम से एन्क्रिप्ट किया गया है। इसमें एक ext4 fs होता है।

मुझे इस फाइल पर rsync से एक त्रुटि मिली है जो इस ड्राइव पर स्थित है:

rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)

यदि मैं फ़ाइल को हटाने की कोशिश करता हूँ तो मुझे वही त्रुटि मिलती है:

rm /home/some/dir/items.json
rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning

क्या किसी को पता है कि मैं फ़ाइल को हटाने और ड्राइव / एफएस (यदि कोई हो) के साथ संबंधित समस्याओं को ठीक करने के लिए क्या कर सकता हूं?

जवाबों:


23

यह दृढ़ता से फाइल-सिस्टम भ्रष्टाचार का संकेत है। आपको अनमाउंट करना चाहिए, अपनी डिस्क का एक सेक्टर-स्तरीय बैकअप बनाना चाहिए, और फिर ई 2 एफस्क को देखें कि क्या है। यदि बड़ा भ्रष्टाचार है, तो आप बाद में खुश हो सकते हैं कि आपने डेटा के साथ e2fsck छेड़छाड़ करने से पहले एक सेक्टर-स्तरीय बैकअप किया था।


आपने जो सुझाव दिया वह किया। e2fsck ने कुछ एफएस त्रुटियों को ठीक किया। लगता है जैसे मैं वापस सामान्य हो गया हूँ। Thx =)
रोटारटी

मैं दृढ़ता से लोगों को ऐसा करने के लिए GUIs जैसे उपयोग करने का सुझाव देता हूं gparted। Gparted अभी भी e2fsck (एक विभाजन की जाँच के मामले में) को लपेटता है, लेकिन चित्रमय इंटरफ़ेस उचित हार्ड-डिस्क का चयन करना बहुत आसान बनाता है, साथ ही यह सुनिश्चित करता है कि आप इन उपकरणों को सही तर्क के साथ चलाते हैं। गलत तर्कों के साथ आप डेटा की गंभीर हानि का जोखिम उठाते हैं!
Qqwy

7

यदि यह किसी की मदद करता है, तो मेरे पास एक समान मुद्दा (rsync / rsnapshot बैकअप, एक प्रभावित फ़ाइल पर) था। मैंने अपनी समस्या / समाधान यहाँ पोस्ट किया है:

https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299

सारांश:

rsnapshot (rsync) आर्च लाइनक्स x86_64 सिस्टम पर बैकअप त्रुटि; एक दूषित, गहराई से नेस्टेड फ़ाइल उस त्रुटि को फेंक रही थी, यह भी दिखाया गया कि जब मैंने उस फ़ाइल को हटाने की कोशिश की थी:

sudo rm -fR hourly.5/

rm: cannot remove 'hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning

यहाँ समस्या है:

cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/victoria.a.stuart@gmail.com/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/

ls -l

ls: cannot access '19.bak': Structure needs cleaning
total 0
-????????? ? ? ? ?  ? 19.bak        ## << THAT IS THE PROBLEM!!

[ये भी देखें: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_structure_needs_cleaning/ ]

मेरा बैकअप ड्राइव / देव / sda1 है।

sudo umount /dev/sda1

sudo fsck.ext4 /dev/sda1  ## << accepted suggested fixes

रिबूट: सब ठीक लगता है। बैकअप ड्राइव में चला गया, उस समस्याग्रस्त फ़ाइल को हटा दिया गया:

/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak

QED ?!

[अद्यतन: हाँ; काम किया: मेरे बैकअप सामान्य रूप से चल रहे हैं, फिर से! :-)]


2

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

यदि आपका फ़ाइल सिस्टम ext4 है, तो इस कमांड को चलाने का प्रयास करें:

fsck -AR -t ext4 -y

0

निकालने की कोशिश करते समय यह सामान्य त्रुटि है। यदि आप लिनक्स सिस्टम पर CP1251 फाइल सिस्टम को एन्कोडिंग में हटाने की कोशिश करते हैं तो .Tash-0। तो एफएस भ्रष्ट है, लेकिन यह डॉटर नहीं है। लिनक्स से देखने पर विंडोज के Fs हमेशा भ्रष्ट होते हैं। लेकिन ऐसा नहीं है। आप इस फाइल को विंडोज़ से खोलने की कोशिश कर सकते हैं ओएस ऑल इज वेल। और फिर इसे खिड़कियों में हटा दें। और उसके बाद ही साफ कचरा।


1
यह एक समाधान नहीं है: यह एलयूकेएस के साथ एन्क्रिप्टेड एलयूकेएस ड्राइव है। विंडोज से इसे एक्सेस करना (या कम से कम कोशिश करना) मेरी राय में सबसे अच्छा विचार नहीं है।
mrc02_kr

-1

सब!! मैं अपने समीपस्थ शेल में इस कमांड के साथ इस समस्या को ठीक करता हूं

pct स्टॉप 100 ## कंटेनर को रोकें

pct fsck 100 ## fsck कंटेनर, यह समस्या की मरम्मत करता है, कुछ मुद्दों पर जो कंटेनर सिस्टम पर भ्रष्ट हैं

pct start 100 ## कंटेनर शुरू करें, ठीक है, अब बैकअप और सब अच्छा है !!

सभी को धन्यवाद, चक


1
तो आपका उत्तर है - किसी भी सॉफ़्टवेयर को रोकें जो डिस्क का उपयोग कर रहा हो, चला सकता है fsckऔर डिस्क का उपयोग करके फिर से शुरू कर सकता है। यह डिप्रेसडैनियल के उत्तर से कैसे भिन्न है ?
जी-मैन का कहना है कि 'मोनिका'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.