So bereinigen Sie nicht benötigte Dateien


18

Bitte schlagen Sie mir eine bestimmte unnötige Datei vor, die ich bereinigen kann, um (vorübergehend) den normalen Zustand wiederherzustellen. (dh irgendein Protokoll oder Archiv oder irgendetwas). Mein var / log hat nur 40 MB und das Home-Verzeichnis hat 3 GB Speicherplatz (also glaube ich, dass das kein Problem ist). Ansonsten kann ich aufräumen, um Platz zu schaffen.

[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

Ich bin in einer Debian-Maschine.

UPDATE1:

Ausgabe von 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

Ausgabe von 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
Hier gibt es keine allgemeingültige Antwort. Führen Sie folgende Befehle als root, warten Sie eine Weile , und fügen Sie Ihre Ergebnisse: cd /; du -sxh *. Es wird die Größe aller Hauptverzeichnisse auf Ihrem Server zusammenfassen. Dann werden wir eine Ahnung haben. Sie können dieses große Verzeichnis auch mit cd aufrufen und den Befehl du darin ausführen, um tiefer zu gehen.
Krzysztof Adamski

@KrzysztofAdamski Danke für eine schnelle Antwort. Ich habe die Frage mit der Ausgabe voncd /; du -sxh *
Subhransu Mishra

@Subhransu Basierend auf dem, was Sie sehen, sieht es so aus, als ob Sie eine Datei haben, die entfernt wurde, während sie noch geöffnet ist.
Karlson

@ Karlson Ich verstehe wirklich nicht, ob Sie eine Datei haben, die entfernt wurde, während sie noch geöffnet ist . Bitte erkläre. Bitte lassen Sie mich wissen, welche andere Ausgabe rentabel sein könnte, damit Sie mir helfen können.
Subhransu Mishra

Haben Sie kürzlich große Dateien entfernt? Mögen Sie Log-Dateien oder ähnliches?
Krzysztof Adamski

Antworten:


12

Der beste Weg, den Plattenverbrauch herauszufinden, ist die Verwendung von Grafiksoftware wie baobab:

Starten Sie es mit sudo baobab /

Bildbeschreibung hier eingeben


Funktioniert es auf einem Remote-Server?
Subhransu Mishra

@Subhransu Klar, wenn du mit X weiterleitest ( ssh -Xoder ForwardX11 yesin ~/.ssh/config). Wenn es jedoch nicht installiert ist, ist möglicherweise nicht genügend Speicherplatz vorhanden, um es und das erforderliche Verzeichnis zu installieren.
Gilles 'SO- hör auf böse zu sein'

1
In meiner Antwort unten finden Sie ein grafisches Tool, für das kein X-Server und nur sehr wenig Serverplatz erforderlich ist.
Dotancohen

33

Daisys Antwort auf die Verwendung eines grafischen Tools zum visuellen Auffinden großer Dateien und Verzeichnisse ist wahrscheinlich die beste Methode. Beachten Sie jedoch, dass "Grafiktool" nicht "erfordert einen X-Server" bedeutet! Das wunderbare ncduProgramm bietet die grafische Ausgabe in der CLI und funktioniert perfekt auf Remote-Servern über 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

Dann, nachdem Sie /var/zum Beispiel eingegeben haben:

. 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

Einfach auf Debian oder Ubuntu installieren:

$ sudo apt-get install ncdu

Einfach unter CentOS als root installieren:

# yum install ncdu

6

Debian bietet ein Hilfsprogramm namens cruftIIRC an, das Dateien auflistet, die möglicherweise auf Ihrem System nicht benötigt werden.


Wie kann das genutzt werden?
Nilon

5

erstelle eine neue datei im /binaufruftreesize

chmod +x /bin/treesize

Fügen Sie dies ein.

#/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;
     }
    '

Die Ausgabe sieht so aus.

#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

Sie können mit nach gelöschten Dateien suchen. lsof | grep -i deleted Dann können Sie sehen, ob ein Prozess an einem Inode hängt, von dem Sie glauben, dass er gelöscht wurde. Starten Sie in diesem Fall den übergeordneten Prozess neu, um die alte (gelöschte) Datei freizugeben.


3

Dies gibt Ihnen die größten Dateien auf Ihrem FS und möglicherweise finden Sie dort einige Dateien, die gelöscht werden können.

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

Wenn Sie eine längere Ausgabe benötigen, ändern Sie einfach die Nummer nach dem Befehl tail.
Bitte poste die Ausgabe von:

df -h /
du -shx /

Beide Befehle sollten den ähnlich belegten Speicherplatz Ihres FS anzeigen.


1

Ich habe in diesem Beitrag auf Askubuntu.com einige sehr nützliche Befehle gefunden . Umschreibung:

  • Zeige die 10 größten Subdirs im aktuellen Verzeichnis: du -sk * | sort -nr | head -10
  • Verwenden Sie filelight / kDirStat / baobab, um zu sehen, wohin der Speicherplatz optisch verschoben wird
  • Überprüfen Sie, ob Sie alte Kernel zum Löschen haben: ls -lh /boot
  • Saubere Pakete: sudo apt-get autoremoveundsudo apt-get autoclean
  • Liste aller installierten Pakete anzeigen, sortiert nach Größe: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • Bereinigen Sie nicht verwendete Sprachdateien mit Übersetzungen: sudo apt-get install localepurge
  • Überprüfen Sie den Inhalt von / var / tmp /: du -sh /var/tmp/
  • Überprüfen Sie auch man deborphan
  • Suchen Sie nach großen Dateien: find / -type f -size +1024koderfind / -size +50000 -exec ls -lahg {} \;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.