डिस्क की अनदेखी करने वाले डिस्क उपयोग का विश्लेषण करें


67

उबंटू शिकायत कर रहा है कि मेरा रूट फाइल सिस्टम लगभग भरा हुआ है, लेकिन जब मैं baobab(उर्फ "डिस्क उपयोग विश्लेषक") का उपयोग करता हूं या du -hयह अन्य सभी माउंटेड फाइल सिस्टम के उपयोग को भी सारांशित करता है।

मैं अन्य फ़ाइल सिस्टम को कैसे बाहर कर सकता हूं जो मिश्रित उपनिर्देशिकाओं में आरोहित हैं?

जवाबों:


72

baobab: यदि आप baobab का उपयोग करना चाहते हैं, तो यह संभव है कि रूट फाइल सिस्टम को किसी अन्य स्थान पर माउंट करके और उसका विश्लेषण करके। इस तरह, अन्य फाइल सिस्टम को नए रूट माउंट में माउंट नहीं किया जाएगा और किसी भी फाइल को माउंट के /नीचे छिपाया गया है और आपके विश्लेषण में गिना जाएगा।

मान लें कि आपका रूट फाइल सिस्टम चालू है sda1( dfआपको बताएगा कि यह कौन सा डिवाइस है):

mkdir root-rebound
sudo mount /dev/sda1 root-rebound
baobab root-rebound

और तब ठीक हो जब आप कर रहे हैं:

sudo umount root-rebound
rmdir root-rebound

वैकल्पिक रूप से आप मैन्युअल रूप से फ़ाइल सिस्टम को अनमाउंट कर सकते हैं। आप सिर्फ अपने होम फोल्डर को भी स्कैन कर सकते हैं, क्योंकि इसमें सबसे अधिक डिस्क स्थान के अत्यधिक उपयोग का स्रोत होगा।

डु में दो विकल्प हैं जो अन्य फाइल सिस्टम की गिनती को रोकने में सक्षम हैं:

 -x, --one-file-system
         skip directories on different file systems
     --exclude=PATTERN
         exclude files that match PATTERN

इस प्रकार,

du -hx

अन्य सभी माउंटेड फाइल सिस्टम को अनदेखा करेगा या

du -h --exclude /media

उन सभी फ़ाइलों को अनदेखा कर देगा, /mediaजिनमें अधिकांश फ़ाइल सिस्टम माउंट किए गए हैं।

यदि आप उपयोग कर रहे हैं du, तो क्रमबद्ध करना ताकि सूची के निचले भाग में दिखाई देने वाली सबसे बड़ी चीजें आउटपुट को समझने में मदद कर सकें। उदाहरण के लिए:

du -hx | sort -h

2
कूल, मुझे -x-विकल्प दिखाई नहीं दिया। मुझे एक और तरीका भी मिला: आप फाइलसिस्टम को कहीं फिर से माउंट कर सकते हैं, फिर इसका विश्लेषण करने के लिए डु या बाउब का उपयोग कर सकते हैं। इसके अलावा, मुझे यह करने के लिए उपयोगी लगता है du -hx | sort -h, हालांकि बाओबाब की व्याख्या करना आसान है।
drevicko

@ Cumulos007 - अगर यह आपके साथ अच्छा है, तो मैं आपके समाधान और सुझाव को आपके उत्तर में जोड़ दूंगा और इसे स्वीकार कर
लूंगा

मेरी तरफ से ठीक है!
कमूलस ०० Cum

1
@ नहीं, GUI संस्करण du के -x विकल्प का उपयोग करने में सक्षम नहीं लगता है। रूट फाइलसिस्टम को कहीं और माउंट करना हालांकि काम करता है - यही मैं इन दिनों करता हूं (:
drevicko

1
du -kx | sort -nमेरा रास्ता है
अलेजांद्रो टेक्सेरा मुअनोज़

6

फाइलसिस्टम के प्रकार के आधार पर आपको रूट फाइल सिस्टम को आरोह बिंदु पर माउंट करने की अनुमति नहीं दी जा सकती है /। आपको इसके समान कुछ मिलेगा:

mount: /dev/sda1 already mounted or /mnt busy
mount: according to mtab, /dev/sda1 is mounted on /

माउंटिंग रीड (केवल -o ro) मदद कर सकता है। यदि वह विफल रहता है, तो बाइंड माउंट का उपयोग करें:

mount --bind / /mnt

एक बार माउंट होने के बाद, डिस्क उपयोग का विश्लेषण करने के लिए जो भी उपकरण का उपयोग करें, अर्थात du -sh * | sort -h


3

यह बग रिपोर्ट बताती है कि निर्देशिकाओं को अनदेखा करने के लिए बाउब को कॉन्फ़िगर करना कैसे संभव है। दुर्भाग्य से आप इसे ऐप के अंदर नहीं कर सकते, लेकिन आपको इसका उपयोग करना होगा dconf-editorऔर खोलना होगा org.gnome.baobab.preferences। यहां आपको एक आइटम मिलेगा excluded-uris; इसे बदलने के लिए ['file:///path/to/ignore'](मेरे लिए एकल उद्धरण के साथ काम किया)।


यह वास्तव में सवाल का जवाब नहीं देता है, लेकिन यह उपयोगी जानकारी है, और इस तरह की जानकारी मांगने वाला कोई व्यक्ति यहां समाप्त हो सकता है, इसलिए मैं
upvoting

यह इस सवाल का जवाब देता है कि रूट विभाजन को हटाने के बिना बाउब (माउंट बिंदुओं को छोड़कर) में माउंट को कैसे अनदेखा किया जाए। स्वीकृत पोस्ट में प्रश्न (du) का दूसरा आधा हिस्सा पहले से ही उत्तर दिया गया है।
गीरा

2

बाओबाब आपको उन उपकरणों / विभाजन का नियंत्रण देने का प्रयास करता है जिन्हें आप स्कैन करते हैं - पर जाएं Edit->Preferences। आमतौर पर, आप केवल डिवाइस को माउंट प्वाइंट पर स्कैन करना चाहते हैं /। यह हालांकि सभी प्रकार के लिंक / माउंट / बाइंडिंग को नहीं पहचानता है , इसलिए यदि आपके पास गैर-तुच्छ कॉन्फ़िगरेशन है, तो अंततः बॉबाब अभी भी भ्रामक परिणाम दे सकता है।


के लिए du, निम्न खोल समारोह कहा जाता है dutopनिर्दिष्ट फ़ोल्डर के शीर्ष-स्तर को प्रदर्शित करेगा (या वर्तमान फ़ोल्डर)। इसके साथ, आप एक समय में उप-फ़ोल्डर्स की जांच कर सकते हैं।

function dutop() { du --max-depth=1 --one-file-system -h $@ |sort -h; }

यदि आप इसे लागू करते हैं /, तो यह असंगत "अनुमति से वंचित" त्रुटियों की रिपोर्ट करेगा , लेकिन आप निम्नलिखित जैसे somethink के साथ हल कर सकते हैं, जो आपके पासवर्ड के लिए पूछेगा (यदि आपने हाल ही में इसे प्रदान नहीं किया है)।

function sudutop() { sudo du --max-depth=1 --one-file-system -h $@ |sort -h; }

बड़े फ़ोल्डरों के लिए, इसमें कुछ समय लग सकता है। वे किसी भी वृद्धिशील स्थिति की रिपोर्ट नहीं करेंगे, क्योंकि इस तरह के ऑपरेशन से सभी मध्यवर्ती परिणाम बफ़र कर रहे हैं। यदि आप प्रतीक्षा करते-करते थक गए तो Ctrl-C के साथ गर्भपात करना ठीक है।

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