Questa pagina fornisce alcune informazioni sul motivo per cui hanno valori diversi, tuttavia sembra suggerire che il tuo du
la dimensione dovrebbe essere la più piccola delle due.
df
usa i blocchi allocati totali, mentre du
esamina solo i file stessi, esclusi i metadati come gli inode, che richiedono ancora blocchi sul disco. Inoltre, se un file viene eliminato mentre un'applicazione lo ha aperto, du
lo riporterà come spazio libero ma df
non fino a quando l'applicazione non viene chiusa.
Quando du
è maggiore di df
, il solito motivo sono i "blocchi sparsi":se un programma non scrive effettivamente su un blocco del disco ma invece lo cerca oltre, ottiene un puntatore zero nella mappa di allocazione del blocco dell'inode e nessuno spazio su disco effettivo è riservato per esso. Se in seguito ci scrivi, verrà allocato un vero e proprio blocco del disco e la mappa verrà modificata per puntare al nuovo blocco.