Esta pode não ser uma resposta completa, mas eu sei de duas fontes para tais discrepâncias:
-
dfmostrando mais espaço quedu(ou seja, arquivos impossivelmente grandes)
Arquivos esparsos podem causar isso. Por exemplo: / var / log / lastlog é relatado como impossivelmente grande (como 1,2 TB) em muitas VMs devido a um bug no VMWare. Não é tão grande assim, é apenas um arquivo esparso. O manuseio é ignorá-los. df é sempre mais preciso que du para espaço livre em disco real.
-
dfmostrando o disco completo queduindica (também arquivos invisíveis comendo espaço em disco)
A causa comum para isso são arquivos excluídos que ainda são mantidos abertos por processos. Esse é frequentemente o caso após uma atualização e antes de uma reinicialização - todos os arquivos de biblioteca antigos ainda são mantidos abertos pelos processos que possuem as alças de arquivo, mesmo que sejam "excluídos" e não sejam exibidos de du ou ls .
O manuseio fácil é reinicializar, mas você pode lidar com isso mais cirurgicamente. Por exemplo, comece com lsof | grep -c DEL e veja quantos arquivos excluídos ainda estão abertos. (Uma certa quantidade é relativamente normal, não necessariamente patológica, mas ainda é o lugar certo para entender a discrepância do espaço em disco.)