जब मेरा रूट फाइलसिस्टम भरा हुआ है तो मैं क्या करूं?


33

मेरा / फ़ोल्डर पूर्ण रूप में पढ़ रहा है और मैं सॉफ़्टवेयर को अपडेट नहीं कर सकता या कुछ भी नहीं कर सकता।

यकीन नहीं होता कि मैं यहां क्या कर रहा हूं।

$ df -h
Results:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.7G  5.4G     0 100% /
udev                  1.9G  4.0K  1.9G   1% /dev
tmpfs                 770M  1.1M  769M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  1.9G  808K  1.9G   1% /run/shm
/dev/sda6             961M   18M  895M   2% /tmp
/dev/sda7             9.9G  2.9G  6.6G  31% /home
/dev/sda3             5.7G  140M  5.3G   3% /usr/local
/dev/sda4             2.9G  1.3G  1.4G  49% /var
/dev/sdb1              94G  1.3G   88G   2% /sites
/home/username/.Private  9.9G  2.9G  6.6G  31% /home/username
/dev/sdb5             282G   88G  180G  33% /mnt/multimedia


$ df -h /
Results:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       5.7G  5.4G     0 100% /

$ du /mnt /media
Results:
4   /mnt/multimedia
8   /mnt
4   /media

यह उबंटू 12.04 की एक नई स्थापना है और मुझे यकीन नहीं है कि रूट सिस्टम इतना भरा कैसे / क्यों है।


हुह। मुझे लगता है कि यह पूर्ण है, किसी भी तरह। मैंने जेवेट्स द्वारा सुझाए गए आउटपुट के साथ प्रश्नों को समायोजित किया
जेसी

मेरे लिए यह पुरानी गुठली द्वारा भरा गया था और मैंने उबंटू सामुदायिक सहायताdpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge से इसे हासिल किया
राजाराववी

जवाबों:


30

ओवरफ्लोिंग रूट विभाजन के कुछ संभावित उपाय (मामलों के आधार पर) हैं:

1. डिस्क को भरने वाले कोर डंप।

इससे जाँच करें:

find / -xdev -name core -ls -o  -path "/lib*" -prune

2. अंतरिक्ष को भरने वाले अनावश्यक पैकेज।

निम्न आदेश सभी स्वचालित रूप से स्थापित संकुल को हटा देगा, जिन्हें किसी भी अधिक की आवश्यकता नहीं है। (क्योंकि पूर्व में स्थापना को बाध्य करने वाली निर्भरता को हटा दिया गया है।)

apt-get autoremove --purge 

3. आउटडेटेड कर्नेल पैकेज

जांचें कि कितने कर्नेल पैकेज इंस्टॉल किए गए हैं, और पुराने कर्नेल संस्करण हटा दें। आप वर्तमान स्थिति की जांच कर सकते हैं:

dpkg -l "linux*{tools}*" |grep ^.i

किसी भी कर्नेल संस्करण को निकालें जिनकी आपको किसी भी अधिक आवश्यकता नहीं है

4. छिपा हुआ भंडारण

अन्य माउंटेड विभाजन उपयोग किए गए स्टोरेज को छिपा सकते हैं। इस जाँच के लिए रूट फ़ाइल सिस्टम को दूसरे स्थान पर अस्थायी रूप से माउंट करें:

mkdir /tmp/2ndRoot
mount /dev/sda1 /tmp/2ndRoot

अब हर उस निर्देशिका को देखें, जो सामान्य रूप से किसी अन्य माउंट द्वारा छिपी हुई है, जैसे:

  • tmp
  • होम
  • रन
  • वर
  • usr / स्थानीय

    और आपके मामले में भी:

  • साइटों

चेतावनी

अंत में अपने स्थापना की संगति को नियंत्रित करना न भूलें:

apt-get install -f

टिप्पणियाँ

आरक्षित भंडारण

/dev/sda1       5.7G  5.4G     0 100% /

आउटपुट दिखाता है कि आपके पास अभी भी कुछ जगह है, लेकिन यह रूट के लिए आरक्षित है। अच्छी बात यह है कि आपके सिस्टम की कार्यक्षमता अभी भी दी गई है।

लेकिन आपको जल्द ही समस्या को ठीक करना चाहिए।

उबंटू 12.04 की अंतरिक्ष खपत

एक ubuntu स्थापना के लिए केवल 5.7 Gb होने के लिए थोड़ा बहुत लगता है। आपको कुछ अनसुने सॉफ्टवेयर पैकेजों को हटा देना चाहिए।

मेरे वर्तमान प्रतिष्ठानों में रूट और बाइनरी (उर्फ /usr) विभाजन के लिए 10-14 जीबी है ।


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

@ एच।-डर्क श्मिट 1.3 जीबी इस कमांड से कम हो गया "apt-get autoremove --purge"। विवरण के लिए धन्यवाद।
सुगन

28

यह जानने के लिए कि आपके सभी डिस्क स्थान कहां जाते हैं, बस एक मैजिक कमांड शेयर करें:

sudo du -hsx /* | sort -rh | head -n 40

आप इस तरह से एक बहुत साफ रिपोर्ट के साथ अंत:

16G     /home
5.3G    /var
2.6G    /usr
840M    /run
277M    /root
171M    /lib
59M     /tmp
25M     /sbin
19M     /boot
16M     /bin
9.6M    /etc
136K    /ngx_pagespeed-latest-stable.zip
24K     /DEBIAN
16K     /lost+found
8.0K    /media
4.0K    /srv
4.0K    /opt
4.0K    /mnt
4.0K    /lib64

फिर आप दूसरे फ़ोल्डर से फिर से शुरू कर सकते हैं:

sudo du -hsx /home/* | sort -rh | head -n 35

निकालें जो आवश्यक नहीं है और आपको ठीक होना चाहिए। यह मेरी linux की चीट शीट का हिस्सा है


अच्छा पोस्ट और उपयोगी उपकरण है ...
5:30 बजे जॉर्ज उदेन

3
हालांकि छिपे हुए फ़ोल्डरों के बारे में क्या? जो एक डॉट के साथ शुरू होते हैं।
जॉन रेड

@ जॉनरड आपके घर की निर्देशिका के लिए जैसे:du -hsx $(ls -A ~/) | sort -rh
अनुष्ठान

4

एक अन्य समाधान का उपयोग करना होगा ncdu, जैसे:

sudo ncdu -x /

कहाँ / विभाजन है / ड्राइव आप जाँच करना चाहते हैं। मेरे उदाहरण के लिए, परिणाम है

    4,0GiB [##########] /usr
  579,3MiB [#         ] /root
  487,4MiB [#         ] /opt
   41,7MiB [          ] /lib
   22,7MiB [          ] /sbin
   21,2MiB [          ] /boot
   18,6MiB [          ] /etc
    9,1MiB [          ] /bin
    3,6MiB [          ]  core
  260,0KiB [          ] /build
   88,0KiB [          ] /tmp
e  16,0KiB [          ] /lost+found
    8,0KiB [          ] /media
    4,0KiB [          ] /lib64
e   4,0KiB [          ] /srv
e   4,0KiB [          ] /mnt
>   0,0  B [          ] /var
>   0,0  B [          ] /sys
>   0,0  B [          ] /run
>   0,0  B [          ] /proc
>   0,0  B [          ] /ovhbackup
>   0,0  B [          ] /home
>   0,0  B [          ] /dev

फिर आप अपने कीबोर्ड तीर का उपयोग करके फ़ोल्डर्स के माध्यम से नेविगेट कर सकते हैं और बस Dएक फ़ोल्डर / फ़ाइल को हटाने के लिए कुंजी दबा सकते हैं ।

ncduaptडेबियन आधारित प्रणालियों पर पैकेजिंग उपकरण से स्थापित किया जा सकता है :

sudo apt install ncdu

0

"Du" कमांड के साथ "/home/yourname/.local/share/Trash" फ़ोल्डर देखें (ऊपर देखें):

मैं एक ही समस्या थी और चाल mickael ऊपर का उपयोग करने के लिए छिपकर डिस्क का उपयोग प्रिंट। मैंने पाया कि यदि आप विंडो मैनेजर का उपयोग करके चीजों को डिलीट करते हैं और आपके पास उस समय आपके पास पर्याप्त अनुमति नहीं है, तो आपके द्वारा सोची गई फाइलें ("rm" और "apt autoremove --purge" का उपयोग करके कमांड लाइन द्वारा दोनों) और कचरा बिन खाली करके) मूल विभाजन के ".Local / share / ____" में समाप्त हो सकता है।

विंडो मैनेजर के बाएं फलक में "फाइलसिस्टम" लगभग 50gb से भरा हुआ कह रहा था जिसे मैंने उबंटू / टकसाल के लिए अधिष्ठापन फाइलों के लिए अलग रखा है। जब मैं गलती से इस विभाजन की नकल कर लेता हूं, तो वे लीक से हटकर नहीं थे, जब मैं उन्हें उस विभाजन में ले जाता था जिसका मूल रूप से मैं उनकी नकल करना चाहता था। यह अब 36 जीबी मुक्त है जो अधिक समझ में आता है (मेरा मुख्य रूप से बड़ा है क्योंकि मैं इस विभाजन पर एचडी ग्राफिक्स भी रखता हूं ताकि चित्रों के बड़े सेट के त्वरित पूर्वावलोकन के लिए)।

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

एक साइड नोट के रूप में, मेरा 16 जीबी रैम बूट पर लोड हो रहा था, जबकि मेरा रूट विभाजन हाउसिंग डिलीटेड फाइल्स कहलाता था, और इसी मुद्दे के कारण वहां लगातार बना रहा। राइन का उपयोग डिस्क पर वस्तुओं को कैश करने के लिए किया जाता है ताकि लिनक्स के प्रदर्शन में काफी सुधार हो सके। ऑपरेटिंग सिस्टम यह मान लेगा कि आप इंस्टालेशन पार्टीशन का सही तरीके से उपयोग कर रहे हैं (जो इस उदाहरण में मेरे लिए ऐसा नहीं था) इसलिए यह कैश करेगा कि यह सिस्टम रिस्पॉन्सिबिलिटी को तेज कर सकता है। अब यह केवल ध्यान देने योग्य बात है, क्योंकि डिस्क कैशिंग स्मृति में उस स्थान को आरक्षित नहीं करता है; यह उपयोग किए गए रैम स्पेस को अन्य प्रोग्रामों के लिए पेश करेगा जिनकी आवश्यकता होने पर वे इसे अनुरोध करते हैं (यह सिर्फ डिस्क कैशिंग काम करता है), लेकिन यह हर बार जब मैंने बूट किया तो 14.5 जीबी हटाए गए फ़ाइलों को लोड करने वाले संसाधनों का अनावश्यक उपयोग होता है।

आशा करता हूँ की ये काम करेगा! ऊपर दिए गए उत्तर के लिए बहुत धन्यवाद, बेहद मददगार!


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