फ़ाइलों को हटाने के लिए खाली स्थान नहीं है


6

मुझे ext3 के रूप में एक डिस्क स्वरूपित मिली है, जो पूरी तरह से भरी हुई थी। मैं फ़ाइलों को हटाकर उस पर कुछ स्थान खाली करने का प्रयास कर रहा हूं, लेकिन यह काम नहीं कर रहा है। हाँ मैं rm फाइलें, और वे निर्देशिका लिस्टिंग में नहीं दिखाते हैं, लेकिन मेरे पास मुफ्त स्थान उपलब्ध नहीं है।

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

मैं फ़ाइलों को हटाने का प्रयास करने के लिए अभी CentOS 6 का उपयोग कर रहा हूं, लेकिन अधिकांश फाइलें एक डेबियन वितरण का उपयोग करते हुए लिखी गई हैं (मुझे पूरी तरह से यकीन नहीं है कि कौन सा संस्करण, जो भी हो Clonezilla का उपयोग करता है)।

# ls -la
total 182564
drwxr-xr-x. 2 root root      4096 Mar  4  2011 .
drwxr-xr-x. 5 root root      4096 Aug 13 13:18 ..
-rw-------. 1 root root   4030114 Mar  4  2011 sda1.vfat-ptcl-img.gz.aa
-rw-------. 1 root root 182667379 Mar  4  2011 sda2.ntfs-ptcl-img.gz.aa
-rw-r--r--. 1 root root        37 Mar  4  2011 sda-chs.sf
-rw-r--r--. 1 root root     31744 Mar  4  2011 sda-hidden-data-after-mbr
-rw-r--r--. 1 root root       512 Mar  4  2011 sda-mbr
-rw-r--r--. 1 root root       375 Mar  4  2011 sda-pt.parted
-rw-r--r--. 1 root root       259 Mar  4  2011 sda-pt.sf

# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb2            484009516 473901232         0 100% /media/Images

# rm -f *

# ls -la
total 8
drwxr-xr-x. 2 root root 4096 Aug 13 15:05 .
drwxr-xr-x. 5 root root 4096 Aug 13 13:18 ..

# df .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb2            484009516 473718676         0 100% /media/Images

# cd /media ; umount Images

# e2fsck -fv /dev/sdb2
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

     589 inodes used (0.00%)
      37 non-contiguous files (6.3%)
       0 non-contiguous directories (0.0%)
         # of inodes with ind/dind/tind blocks: 278/256/0
119390761 blocks used (97.89%)
       0 bad blocks
       5 large files

     551 regular files
      29 directories
       0 character device files
       0 block device files
       0 fifos
       0 links
       0 symbolic links (0 fast symbolic links)
       0 sockets
--------
     580 files

# mount /dev/sdb2 Images

# df Images
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb2            484009516 473718676         0 100% /media/Images

जवाबों:


2

फाइलसिस्टम के ext3 और ext4 परिवार स्थिरता के कारणों के लिए डिस्क के एक हिस्से को वास्तव में "100% पूर्ण" बनने से बचाते हैं, और इसलिए कि एफएस मेटाडाटा को उस स्थान में से कुछ में संग्रहीत कर सकता है।

आप सीधे बता सकते हैं कि कितना स्थान आरक्षित है:

tune2fs -m 1 /dev/sdXX

आरक्षित करने के लिए डिस्क के प्रतिशत (0 से 100) के साथ "1" की जगह, और डिवाइस नोड और डिवाइस नोड के विभाजन संख्या के साथ "XX", इसलिए आपके मामले में "XX" "b2" होगा।

सादृश्य: आपके पास एक पूर्ण बस है, और केवल शेष सीट एक बहुत बड़े व्यक्ति के बगल में है जो एक सीट और एक आधा खुद पर कब्जा कर लेता है। एक व्यक्ति जो एक सीट पाने के लिए बहुत आग्रह करता है, वह चलता है और वहां बैठने की मांग करता है। हालांकि अधिकांश लोग दूसरी सीट पर विचार करेंगे, यह व्यक्ति आग्रहपूर्ण है। इतना बड़ा व्यक्ति जाता है, "वाह, ठीक है!" और बैठने की अनुमति देने के लिए स्क्वाश करता है। लेकिन जैसे ही 1 व्यक्ति बस से उतरता है और दूसरी सीट खोलता है, भले ही बड़े व्यक्ति के बगल वाला यात्री एक सीट पर चला जाए, लेकिन ज्यादातर लोग अभी भी बस को 100% भरा हुआ मानते हैं, क्योंकि कोई भी व्यक्ति आगे नहीं बैठना चाहता बड़ा व्यक्ति।

स्रोत

आप आरक्षित ब्लॉक की गिनती देखने के लिए इसे भी देख सकते हैं…

dumpe2fs -h /dev/sdb2

ऊपर के स्रोत में समस्या का सामना करने वाले बहुत बुद्धिमान उपयोगकर्ता को उद्धृत करने के लिए:

आप देखेंगे कि "उपलब्ध" कब सकारात्मक होगा   "प्रयुक्त" 0.95 * 136236548 ब्लॉक = 129424720 ब्लॉक से कम हो गया है   मोटे तौर पर।

(हमें आपके विशिष्ट मामले में "0.95" को आरक्षित% और आपके डिवाइस के कुल ब्लॉक आकार में 136236548 ब्लॉक करने के लिए समायोजित करना है)।


बिलकुल ऐसा ही था। dumpe2fs आरक्षित ब्लॉक संख्या = 6 मिलियन, मुक्त ब्लॉक गणना = 2.5 मिलियन से पता चला। चूंकि यह एक बाहरी स्टोरेज ड्राइव है, ओएस ड्राइव नहीं है, और चूंकि इसमें लिखी गई फाइलें आम तौर पर रूट के रूप में लिखी जाएंगी (जो कि क्लोनज़िला करती है), मैं आरक्षित ब्लॉकों को शून्य पर सेट करता हूं, ताकि df उचित उत्पादन दिखाता है।
David Yaw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.