Como esse diretório usa tanto espaço

4

O Unix não é meu idioma nativo e estou ficando confuso com o conceito de sistemas de arquivos.

Quando olho para o meu espaço livre, vejo:

/$ df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  7.1G  397M  95% /
none                  3.7G  120K  3.7G   1% /dev
none                  3.7G  4.0K  3.7G   1% /dev/shm
none                  3.7G   48K  3.7G   1% /var/run
none                  3.7G     0  3.7G   0% /var/lock
/dev/xvdf             100G   19G   82G  19% /db
/dev/xvdg             100G   15G   86G  15% /images
/dev/xvdb             414G  199M  393G   1% /mnt

Para mim, isso significa que todos os arquivos e diretórios em / db estão no sistema de arquivos xvdf, tudo em / images está em xvdg e tudo em / mnt está em xvdb. Tudo o resto está no xvda1.

No entanto, xvda1 tem apenas 7,9G de espaço. Então, por que

/$ sudo du -sh var
25G     var

mostre-me que / var está ocupando 25G? Eu pensei no princípio que talvez ele esteja contando o conteúdo nos destinos de links simbólicos, mas eu sei que alguns diretórios lá embaixo tem um link simbólico para o diretório / images e isso tem 86G de conteúdo, então var deve ser > 86G se links simbólicos forem seguidos .

Então, como pode / var usar 25G em uma unidade que tenha apenas 7,9G?

btw, esta é uma instância do Ubuntu em execução no EC2 da Amazon, se for significativo.

    
por dl__ 27.06.2012 / 16:29

5 respostas

4

Isso lhe dará uma resposta adequada do seu problema.

du -ch --max-depth=1 -x /var

-x mostrará apenas o uso de dados de um sistema de arquivos, ignorando o conteúdo de outro sistema de arquivos do diretório / var

--max-depth=1 fornecerá o uso de dados de apenas primeiro nível, por ex. / var / a / var / b e assim por diante

    
por 28.06.2012 / 08:28
2

Da saída de df,

/dev/xvdg 100G 15G 86G 15% /images

Apenas 15G foram usados nas / images.

    
por 28.06.2012 / 08:48
0

Acredito que var inclua links para outros diretórios de instalação. du -sh mostra o tamanho de todos os links seguidos.

    
por 27.06.2012 / 16:34
0

Verifique se var não é um link simbólico para nenhum outro sistema de arquivos.

 /$ ls -ld var
 drwxr-xr-x 14 root root 4096 Jun 22 02:13 var
    
por 27.06.2012 / 21:37
0

Também é possível que você precise executar fsck para corrigir a discrepância.

Eu apenas mencionei isso por completo, mas eu ainda suspeito que algo mais é mais provável. Se você ainda não encontrou nada, então você deve tentar.

    
por 27.06.2012 / 22:01