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

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


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

6

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


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

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.


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.


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 {} \;
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.