Jak wyczyścić niepotrzebne pliki

19

Proszę zasugerować mi jakiś szczególny niepotrzebny plik, który mogę wyczyścić, aby przywrócić wszystko do normalnego stanu (tymczasowo). (tj. dowolny dziennik, archiwum lub cokolwiek). Mój var / log ma tylko 40 MB, a katalog domowy ma 3 GB miejsca (więc uważam, że to nie problem). Poza tym to, co mogę posprzątać, aby zrobić miejsce.

[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

Jestem w maszynie Debiana.

AKTUALIZACJA 1:

wyjście z 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

Aktualizacja 2

Wyjście z 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
Subhransu Mishra
źródło
5
Nie ma tutaj uniwersalnej odpowiedzi. Uruchom następujące polecenia jako root, odczekaj chwilę i wklej wyniki: cd /; du -sxh *. Podsumuje rozmiar wszystkich głównych katalogów na twoim serwerze. Potem będziemy mieli wskazówkę. Możesz także wejść do tego dużego katalogu za pomocą cd i uruchomić du du wewnątrz niego, aby wejść głębiej.
Krzysztof Adamski,
@KrzysztofAdamski Dzięki za szybką odpowiedź. Zaktualizowałem pytanie o dane wyjściowecd /; du -sxh *
Subhransu Mishra,
@Subhransu Na podstawie tego, co widzisz, wygląda to tak, jakbyś miał plik, który został usunięty, gdy jest jeszcze otwarty.
Karlson,
@Karlson Naprawdę nie rozumiem, czy masz plik, który został usunięty, gdy jest jeszcze otwarty . Proszę wytłumacz. Daj mi znać, jakie inne dane wyjściowe mogą być opłacalne, abyś mógł mi pomóc.
Subhransu Mishra,
Czy ostatnio usunąłeś jakieś duże pliki? Jak pliki dziennika czy coś takiego?
Krzysztof Adamski,

Odpowiedzi:

12

Najlepszym sposobem na sprawdzenie zużycia dysku jest użycie oprogramowania graficznego, takiego jak baobab:

Uruchom za pomocą sudo baobab /

wprowadź opis zdjęcia tutaj

stokrotka
źródło
Czy będzie działać na zdalnym serwerze?
Subhransu Mishra,
@ Subhransu Pewnie, jeśli łączysz się z przekazywaniem X ( ssh -Xlub ForwardX11 yesw ~/.ssh/config). Jeśli jednak nie zostanie zainstalowany, możesz nie mieć wystarczającej ilości miejsca, aby go zainstalować i wymaganego katalogu.
Gilles „SO- przestań być zły”
1
Zobacz moją odpowiedź poniżej, aby zobaczyć narzędzie graficzne, które nie wymaga serwera X i wymaga bardzo mało miejsca na serwerze.
dotancohen
34

Odpowiedź Daisy na użycie narzędzia graficznego do wizualnego znajdowania dużych plików i katalogów jest prawdopodobnie najlepszą metodą. Pamiętaj jednak, że „narzędzie graficzne” nie oznacza „wymaga serwera X”! Wspaniały ncduprogram zapewnia wyjście graficzne w interfejsie CLI i działa doskonale na zdalnych serwerach za pośrednictwem 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

Następnie, po wprowadzeniu /var/na przykład:

. 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

Zainstaluj łatwo na Debianie lub Ubuntu:

$ sudo apt-get install ncdu

Łatwo zainstaluj na CentOS jako root:

# yum install ncdu
dotancohen
źródło
6

Debian oferuje narzędzie o nazwie cruftIIRC, które wyświetla listę plików, które mogą być niepotrzebne w twoim systemie.

LawrenceC
źródło
Jak można tego użyć?
nilon
5

utworzyć nowy plik o /binnazwietreesize

chmod +x /bin/treesize

wklej to w to.

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

Dane wyjściowe wyglądają tak.

#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
Książę
źródło
4

Możesz sprawdzić usunięte pliki za pomocą lsof | grep -i deleted Następnie możesz sprawdzić, czy proces zawiesił się na i-węźle, który Twoim zdaniem został usunięty. Jeśli tak, uruchom ponownie proces nadrzędny, aby zwolnić stary (usunięty) plik.

joshcody
źródło
3

To da ci największe pliki na twoim FS i być może znajdziesz tam jakieś pliki, które można usunąć.

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

Jeśli potrzebujesz dłuższego wyjścia, po prostu zmień numer po poleceniu tail.
Proszę zamieścić dane wyjściowe z:

df -h /
du -shx /

Oba polecenia powinny pokazywać podobną używaną przestrzeń twojego FS.

panaroik
źródło
1

Znalazłem kilka bardzo przydatnych poleceń w tym poście na Askubuntu.com . Parafrazowanie:

  • Pokaż 10 największych podkatalogów w bieżącym katalogu: du -sk * | sort -nr | head -10
  • Użyj filelight / kDirStat / baobab, aby zobaczyć, dokąd zmierza miejsce na dysku
  • Sprawdź, czy masz stare jądra do usunięcia: ls -lh /boot
  • Czyste opakowania: sudo apt-get autoremoveisudo apt-get autoclean
  • Zobacz listę wszystkich zainstalowanych pakietów, posortowaną według rozmiaru: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • Wyczyść nieużywane pliki językowe za pomocą tłumaczeń: sudo apt-get install localepurge
  • Sprawdź zawartość / var / tmp /: du -sh /var/tmp/
  • Sprawdź także man deborphan
  • Wyszukaj duże pliki: find / -type f -size +1024klubfind / -size +50000 -exec ls -lahg {} \;
Waldir Leoncio
źródło