अंदर बाहर चल रहा है


26

मैं Ubuntu को अपडेट नहीं कर सकता क्योंकि मेरे पास 99% इनकोड का उपयोग है। इस समस्या को दूर करने का मेरे लिए सबसे आसान तरीका क्या है?

आपकी सहायता के लिए धन्यवाद।


2
StackOverlow पर एक बहुत ही समान प्रश्न पूछा गया था। शायद यह stackoverflow.com/questions/653096/howto-free-inode-usage


इसके अलावा AskUbuntu पर यहां भी ऐसा ही है ।
पाब्लो ए

जवाबों:


24

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

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

स्टेक्सओवरफ़्लो पर पैक्सिडाब्लो द्वारा लिखी गई स्क्रिप्ट अत्यधिक छोटे फ़ाइल उपयोग के लिए जांचने का आसान तरीका हो सकता है, जिसके बारे में आपको जानकारी नहीं होगी। यहाँ यह फिर से है:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$

इस स्क्रिप्ट को टेक्स्ट फ़ाइल में डालें ~ / bin / count_em और फिर कमांड जारी करें

chmod +x ~/bin/count_em

इसे निष्पादन योग्य बनाने के लिए। यदि आपको निर्देशिका ~ / बिन बनाना था तो यह अभी तक निष्पादन योग्य पथ में नहीं होगा, इसलिए बस लॉग आउट करें और फिर से वापस जाएं।

प्रोग्राम चलाने के लिए आप सिर्फ टाइप करें

count_em

और यह निर्देशिका की वर्तमान निर्देशिका और उपनिर्देशिकाओं की सभी फाइलों की संख्या को सूची के आधार पर सूचीबद्ध करेगा, जिसमें अंतिम गणना सबसे अधिक होगी। बेहद सुविधाजनक!


इस लाइन> chmode + x ~ / bin / count_em वास्तव में है> chmod + x ~ / bin / count_em

1
क्या उन सभी उपयोगकर्ता द्वारा बनाई गई फ़ाइलों को हटाना आवश्यक है, या उन्हें टार संग्रह में स्थानांतरित करना चाल है?
amc

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

आपकी स्क्रिप्ट के लिए एक अच्छी सिंगल लाइन विकल्प हो सकता हैsudo du -a -d 1 --inodes . | sort -nr | head -20
चार्ल्स ग्रीन

1
बेशक, यह काम नहीं करता है अगर आप पूरी तरह से
इनोड

8

आप इस आदेश का उपयोग करके निर्देशिकाओं की क्रमबद्ध सूची को इनोड्स की संख्या द्वारा प्रदर्शित कर सकते हैं: du --inodes -d 3 / | sort -n | tail

वहां से, आप यह निर्धारित कर सकते हैं कि कौन सी निर्देशिकाओं को हटाना है


1
unrecognized option '--inodes'उबंटू 14.04 पर,
फी

आप 2019 में ubundu 14.04 का उपयोग क्यों कर रहे हैं? मैं देख रहा हूँ कि यह फ़रवरी २०१३ से --inodes
see.२१ है

2

मैंने पाया कि इनोड का उपयोग /root/.local से आ रहा था, और उस फ़ोल्डर को हटा दिया गया।


2
ज्यादा कुछ नहीं /root/.local का उपयोग किया जाना चाहिए और यह केवल अनुकूलता कारणों के लिए है। आपको यह पता लगाने की आवश्यकता है कि इस निर्देशिका में कई छोटी फाइलें क्या लिख ​​रही थीं।
fabricator4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.