No free disk space [duplicate]

Try:

$ lsof +L1 

This will find files that have a link count less than 1 (files removed but still beeing written to).

For those times when du and df don't match up.


Short version: Use lsof to find the file that is unlinked but still open. Restart the application holding the file (or the whole system, if you are lazy) and you will get your free space back.

Long version: Most likely you have a file that is open by an application and being written to, but has been unlinked (deleted) from the filesystem.

Unlike NTFS you have a sort of reference counting in ext. This means that when you delete a file you just remove the reference to it. Opening the file in a program adds a reference. So you will have to figure out which program holds the file. This is why you often see references to link/unlink when it comes to file operations in UNIX. Typically finding the file is done with the tool lsof.

The good side of this behaviour is that you never get the "File is open so can't delete it" error that you often get in Windows. You can also replace system files, such as shared libraries and your software will use the old libraries until it restarts (and loads the new ones from disk), instead of having to reboot for software upgrades (Windows again). The bad side you see right now. The size of the visible files in the filesystem will typically not match the amount of data on disk.