अनावश्यक फ़ाइलों को कैसे साफ करें


19

कृपया मुझे कोई विशेष अनावश्यक फ़ाइल सुझाएं जिसे मैं सामान्य स्थिति (अस्थायी रूप से) में सब कुछ वापस करने के लिए साफ कर सकूं। (अर्थात कोई लॉग या आर्काइव या कुछ भी)। मेरे var / log में केवल 40MB है और होम निर्देशिका में 3GB स्थान है (इसलिए मेरा मानना ​​है कि यह कोई समस्या नहीं है)। इसके अलावा मैं अंतरिक्ष बनाने के लिए क्या साफ कर सकता हूं।

[user@host]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_inamivm-lv_root
                       18G   17G     0 100% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             485M   71M  389M  16% /boot

मैं एक डेबियन मशीन में हूं।

Update1:

का उत्पादन cd /; du -sxh *

6.1M    bin
61M     boot
156K    dev
22M        etc
3.3G    home
306M    lib
18M     lib64
16K     lost+found
4.0K    media
4.0K    mnt
408K    opt
du: cannot access `proc/18605/task/18605/fd/4': No such file or directory
du: cannot access `proc/18605/task/18605/fdinfo/4': No such file or directory
du: cannot access `proc/18605/fd/4': No such file or directory
du: cannot access `proc/18605/fdinfo/4': No such file or directory
0       proc
208K    root
9.7M    sbin
0       selinux
4.0K    srv
0       sys
8.0K    tmp
536M    usr
187M    var

Update2

का आउटपुट ls -la /

dr-xr-xr-x.  22 root root  4096 Aug  7 08:42 .
dr-xr-xr-x.  22 root root  4096 Aug  7 08:42 ..
-rw-r--r--.   1 root root     0 Aug  7 08:42 .autofsck
dr-xr-xr-x.   2 root root  4096 Mar 28 16:53 bin
dr-xr-xr-x.   5 root root  1024 Mar 28 16:54 boot
drwxr-xr-x.  16 root root  3580 Sep  9 03:13 dev
drwxr-xr-x.  69 root root  4096 Aug 23 09:19 etc
drwxr-xr-x.   9 root root  4096 Jun 29 16:10 home
dr-xr-xr-x.   8 root root  4096 Mar  7  2012 lib
dr-xr-xr-x.   9 root root 12288 Mar 28 16:53 lib64
drwx------.   2 root root 16384 Mar  7  2012 lost+found
drwxr-xr-x.   2 root root  4096 Sep 23  2011 media
drwxr-xr-x.   2 root root  4096 Sep 23  2011 mnt
drwxr-xr-x.   3 root root  4096 Mar  7  2012 opt
dr-xr-xr-x. 355 root root     0 Aug  7 08:42 proc
dr-xr-x---.   5 root root  4096 Aug 17 18:27 root
dr-xr-xr-x.   2 root root  4096 May  2 09:13 sbin
drwxr-xr-x.   7 root root     0 Aug  7 08:42 selinux
drwxr-xr-x.   2 root root  4096 Sep 23  2011 srv
drwxr-xr-x.  13 root root     0 Aug  7 08:42 sys
drwxrwxrwt.   3 root root  4096 Sep 13 03:37 tmp
drwxr-xr-x.  13 root root  4096 Mar 28 17:53 usr
drwxr-xr-x.  18 root root  4096 Mar  7  2012 var

5
यहाँ कोई सार्वभौमिक उत्तर नहीं है। रूट के रूप में निम्नलिखित कमांड चलाएं, थोड़ी देर प्रतीक्षा करें और अपने परिणाम पेस्ट करें cd /; du -sxh *:। यह आपके सर्वर पर सभी मुख्य निर्देशिकाओं के आकार का योग करेगा। फिर, हमारे पास एक सुराग होगा। आप इस बड़ी डायरेक्टरी को सीडी के साथ भी दर्ज कर सकते हैं और डीप कमांड प्राप्त कर सकते हैं।
क्रिज़िस्तोफ एडम्सकी

@KrzysztofAdamski एक त्वरित उत्तर के लिए धन्यवाद। मैंने प्रश्न को अद्यतन किया हैcd /; du -sxh *
Subhransu Mishra

@Subhransu जो आप देख रहे हैं उसके आधार पर ऐसा प्रतीत होता है मानो आपके पास कोई फ़ाइल है जिसे अभी भी खोलते समय हटा दिया गया है।
कार्लसन

@ कार्लसन मुझे वास्तव में समझ नहीं आ रहा है यदि आपके पास कोई ऐसी फ़ाइल है जिसे अभी भी खोलते समय हटा दिया गया है । कृपया समझाएँ। कृपया मुझे बताएं कि अन्य आउटपुट क्या व्यवहार्य हो सकते हैं ताकि आप मेरी मदद कर सकें।
सुभ्रांशु मिश्रा

क्या आपने हाल ही में कोई बड़ी फाइल निकाली है? लॉग फाइल या कुछ इस तरह से?
क्रिज़ीस्तोफ़ॉफ़ एडम्सकी

जवाबों:


12

डिस्क खपत का पता लगाने का सबसे अच्छा तरीका, ग्राफिकल सॉफ्टवेयर का उपयोग कर रहा है जैसे baobab:

के साथ इसे लॉन्च करें sudo baobab /

यहां छवि विवरण दर्ज करें


क्या यह रिमोट सर्वर में काम करेगा?
सुभ्रांशु मिश्रा

@Subhransu ज़रूर, अगर आप X अग्रेषण ( ssh -Xया ForwardX11 yesमें ~/.ssh/config) से जुड़ते हैं । हालाँकि, अगर यह स्थापित नहीं है, तो आपके पास इसे और अपेक्षित निर्देशिका को स्थापित करने के लिए पर्याप्त जगह नहीं हो सकती है।
गाइल्स का SO- बुराई से दूर रहना '

1
एक ग्राफिकल टूल के लिए नीचे दिए गए मेरे उत्तर को देखें जिसमें एक्स सर्वर की आवश्यकता नहीं है और बहुत कम सर्वर स्थान की आवश्यकता है।
डॉटनकोहेन

34

बड़ी फ़ाइलों और निर्देशिकाओं को नेत्रहीन रूप से खोजने के लिए चित्रमय उपकरण का उपयोग करने का डेज़ी का उत्तर संभवतः सबसे अच्छा तरीका है। हालांकि, ध्यान दें कि "ग्राफिकल टूल" का मतलब "एक्स सर्वर की आवश्यकता नहीं है" है! अद्भुत ncduकार्यक्रम CLI में चित्रमय आउटपुट प्रदान करता है, और SSH के माध्यम से दूरस्थ सर्वर पर पूरी तरह से काम करता है:

$ ncdu /

.  43.7GiB [##########] /home
.   5.9GiB [#         ] /usr
    1.1GiB [          ] /lib
.   1.1GiB [          ] /var
  736.9MiB [          ] /opt
. 324.6MiB [          ] /tmp
  218.4MiB [          ] /boot
.  63.8MiB [          ] /etc
   10.0MiB [          ] /sbin
    8.8MiB [          ] /bin
    3.3MiB [          ] /lib32
.   1.0MiB [          ] /run
   64.0KiB [          ] /build
!  16.0KiB [          ] /lost+found
    8.0KiB [          ] /media
    8.0KiB [          ] /mnt
    8.0KiB [          ] /.config
    4.0KiB [          ] /dev
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
!   4.0KiB [          ] /root
e   4.0KiB [          ] /cdrom
.   0.0  B [          ] /proc
.   0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img.old
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz.old

फिर, /var/उदाहरण के लिए प्रवेश करने के बाद :

. 395.3MiB [##########] /tmp
. 365.0MiB [######### ] /cache
. 297.8MiB [#######   ] /lib
   16.1MiB [          ] /backups
.   8.0MiB [          ] /log
.  56.0KiB [          ] /spool
   40.0KiB [          ] /games
    8.0KiB [          ] /www
e   4.0KiB [          ] /opt
e   4.0KiB [          ] /mail
e   4.0KiB [          ] /local
e   4.0KiB [          ] /crash
@   0.0  B [          ]  lock
@   0.0  B [          ]  run

डेबियन या उबंटू पर आसानी से स्थापित करें:

$ sudo apt-get install ncdu

CentOS पर रूट के रूप में आसानी से स्थापित करें:

# yum install ncdu

6

डेबियन cruftIIRC नामक एक उपयोगिता प्रदान करता है जो उन फाइलों को सूचीबद्ध करता है जो संभवतः आपके सिस्टम पर अनएडेड की जा सकती हैं।


इसका उपयोग कैसे किया जा सकता है?
निलोन

5

/binनामक एक नई फ़ाइल बनाएंtreesize

chmod +x /bin/treesize

इसमें पेस्ट करें।

#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
     BEGIN {
        split("KB,MB,GB,TB", Units, ",");
     }
     {
        u = 1;
        while ($1 >= 1024) {
           $1 = $1 / 1024;
           u += 1
        }
        $1 = sprintf("%.1f %s", $1, Units[u]);
        print $0;
     }
    '

आउटपुट इस तरह दिखता है।

#treesize
3.0 GB .
1.1 GB ./usr
759.9 MB ./var
353.3 MB ./root
307.1 MB ./opt
270.7 MB ./lib
98.6 MB ./home
60.1 MB ./boot
9.8 MB ./etc
8.3 MB ./bin
8.1 MB ./sbin
268.0 KB ./run
40.0 KB ./tmp
16.0 KB ./lost+found

4

आप हटाए गए फ़ाइलों की जांच lsof | grep -i deleted कर सकते हैं तब आप देख सकते हैं कि क्या एक प्रक्रिया एक इनोड पर लटक रही है जो आपको लगता है कि हटा दी गई थी। यदि ऐसा है, तो पुरानी (हटाई गई) फ़ाइल को रिलीज़ करने के लिए मूल प्रक्रिया को पुनरारंभ करें।


3

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

find / -xdev -type f -size +100000c -exec ls -la {} \; 2>/dev/null | sort -nk5 | tail -20

यदि आपको लंबे समय तक आउटपुट चाहिए, तो टेल कमांड के बाद नंबर बदलें।
कृपया निम्न से आउटपुट पोस्ट करें:

df -h /
du -shx /

दोनों आदेशों को आपके एफएस के समान उपयोग किए गए स्थान को दिखाना चाहिए।


1

मुझे इस पोस्ट पर Askubuntu.com पर कुछ बहुत उपयोगी कमांड मिले हैं । टीका:

  • वर्तमान dir में शीर्ष 10 सबसे बड़े उपखंडों को दिखाएं: du -sk * | sort -nr | head -10
  • डिस्क स्थान जहां नेत्रहीन जा रहा है, यह देखने के लिए फाइललाइट / kDirStat / baobab का उपयोग करें
  • जाँच करें कि क्या आपके पास हटाने के लिए पुरानी गुठली है: ls -lh /boot
  • साफ पैकेज: sudo apt-get autoremoveऔरsudo apt-get autoclean
  • आकार द्वारा क्रमबद्ध सभी स्थापित पैकेजों की सूची देखें: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • अनुवाद के साथ साफ अप्रयुक्त भाषा की फाइलें: sudo apt-get install localepurge
  • / Var / tmp / की सामग्री जांचें: du -sh /var/tmp/
  • जांच भी कराएं man deborphan
  • बड़ी फ़ाइलों के लिए खोजें: find / -type f -size +1024kयाfind / -size +50000 -exec ls -lahg {} \;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.