Como limpar arquivos desnecessários

18

Por favor, sugira-me qualquer arquivo desnecessário específico que eu possa limpar para voltar tudo à condição normal (temporariamente). (ou seja, qualquer log ou arquivo ou qualquer coisa). Meu var / log possui apenas 40 MB e o diretório Home possui 3 GB de espaço (por isso acredito que isso não é um problema). Fora isso, eu posso limpar para dar espaço.

[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

Eu estou em uma máquina debian.

UPDATE1:

saída de 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

Saída de 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
fonte
5
Não há resposta universal aqui. Execute seguintes comandos como root, espere um pouco e colar seus resultados: cd /; du -sxh *. Ele resumirá o tamanho de todos os diretórios principais do seu servidor. Então, teremos uma pista. Você também pode entrar neste grande diretório com cd e executar o comando du dentro dele para se aprofundar.
Krzysztof Adamski
@KrzysztofAdamski Obrigado por uma resposta rápida. Eu atualizei a pergunta com saída decd /; du -sxh *
Subhransu Mishra
@Subhransu Com base no que você está vendo, parece que você tem um arquivo que foi removido enquanto ainda está aberto.
22412 Karlson
@ Karlson Eu realmente não entendo se você tem um arquivo que foi removido enquanto ainda está aberto . Por favor explique. Informe-me que outra saída poderia ser viável para que você possa me ajudar.
Subhransu Mishra
Você removeu arquivos grandes recentemente? Como arquivos de log ou algo assim?
Krzysztof Adamski

Respostas:

12

A melhor maneira de descobrir o consumo de disco é usar software gráfico como baobab:

Inicie com sudo baobab /

insira a descrição da imagem aqui

margarida
fonte
Funcionará em servidor remoto?
Subhransu Mishra 13/09/12
@Subhransu Claro, se você se conectar com o encaminhamento X ( ssh -Xou ForwardX11 yesdentro ~/.ssh/config). No entanto, se não estiver instalado, você poderá não ter espaço suficiente para instalá-lo e o diretório necessário.
Gilles 'SO- stop be evil'
1
Veja minha resposta abaixo para uma ferramenta gráfica que não requer um servidor X e requer muito pouco espaço no servidor.
dotancohen
33

a resposta de margarida para usar uma ferramenta gráfica para encontrar visualmente arquivos e diretórios grandes é provavelmente o melhor método.No entanto, observe que "ferramenta gráfica" não significa "requer um servidor X"! O maravilhoso ncduprograma fornece a saída gráfica na CLI e funciona perfeitamente em servidores remotos via 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

Depois de entrar /var/ por exemplo:

. 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

Instale facilmente no Debian ou Ubuntu:

$ sudo apt-get install ncdu

Instale facilmente no CentOS como root:

# yum install ncdu
dotancohen
fonte
6

O Debian oferece um utilitário chamado cruftIIRC que lista os arquivos que podem não ser necessários no seu sistema.

LawrenceC
fonte
Como isso pode ser usado?
nilon 8/11
5

faça um novo arquivo no /binchamadotreesize

chmod +x /bin/treesize

cole isso nele.

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

A saída se parece com isso.

#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
Duque
fonte
4

Você pode verificar se há arquivos excluídos com lsof | grep -i deleted Então você pode ver se um processo está pendurado em um inode que você acha que foi excluído. Nesse caso, reinicie o processo pai para liberar o arquivo antigo (excluído).

joshcody
fonte
3

Isso lhe dará os maiores arquivos no seu FS e talvez você encontre alguns arquivos que podem ser excluídos.

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

Se você precisar de uma saída mais longa, basta alterar o número após o comando de cauda.
Envie a saída de:

df -h /
du -shx /

Ambos os comandos devem mostrar espaço usado semelhante ao seu FS.

panaroik
fonte
1

Encontrei alguns comandos muito úteis neste post no Askubuntu.com . Parafraseando:

  • Mostrar os 10 maiores subdiretórios no diretório atual: du -sk * | sort -nr | head -10
  • Use filelight / kDirStat / baobab para ver para onde o espaço em disco está indo visualmente
  • Verifique se você possui kernels antigos para exclusão: ls -lh /boot
  • Pacotes limpos: sudo apt-get autoremoveesudo apt-get autoclean
  • Veja a lista de todos os pacotes instalados, classificados por tamanho: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • Limpe arquivos de idioma não utilizados com traduções: sudo apt-get install localepurge
  • Verifique o conteúdo de / var / tmp /: du -sh /var/tmp/
  • Verifique também man deborphan
  • Procure arquivos grandes: find / -type f -size +1024koufind / -size +50000 -exec ls -lahg {} \;
Waldir Leoncio
fonte