df
conta os blocos alocados do sistema de arquivos, du
usa as informações de tamanho de cada arquivo.
Uma diferença pode ter muitas causas:
1) Arquivos desvinculados (excluídos) que ainda estão abertos pelo aplicativo. lsof +aL1 <filesystem>
ajudará você a identificar os processos.
2) Arquivos abaixo dos pontos de montagem ocultos em du
. debugfs
pode ajudar você.
$ sudo debugfs
debugfs 1.42.12 (29-Aug-2014)
debugfs: open /dev/<the / file system device>
debugfs: cd /boot
debugfs: ls -l
1966081 40755 (2) 0 0 4096 26-May-2016 16:28 .
2 40555 (2) 0 0 4096 11-May-2016 10:43 ..
1974291 100644 (1) 0 0 0 26-May-2016 16:28 bob <---<<< /boot/bob is hidden by /boot fs
3) Arquivos esparsos que parecem maiores que a realidade. blocos não alocados não são contados por df
, mas são contados no tamanho do arquivo.
Observe que os links físicos não enganam du