Knowledge Base:Freeing disk space

Synopsis
This article introduces tools that help to remove unnecessary system files and optimize the filesystem in order to free disk space.

Environment
Although disk space is relatively cheap as of writing this article, it may not be so easy or even possible to expand storage on mobile, embedded or other devices, so freeing useless disk space is often important.

System maintenance related files
Over time large (or a large number of) yet unnecessary files accumulate in certain directories as the system is upgraded:

Cache directories
Over time a large number of unnecessary files accumulate in certain directories as various applications are used:

Personal files
Several graphical tools exist that help to visualize occupied space on the filesystem tree which may help to identify directories and files that take up too much space:

Select an appropriate utility from the table above and install it. Once installed use the utility to locate large or unneeded personal files and directories.

Filesystem reserved blocks percentage
On the ext* family of filesystems, 5% of all blocks are reserved for the privileged user and group by default when created. This provides a safety measure in the case of very low disk space, so privileged processes won't run out of disk space. However, on filesystems with hundreds of gigabytes, 5% is a lot more than would be typically needed in such a situation (on a 300 GB filesystem, that would be about 15 GB). Such reserved space would be even less useful on filesystems serving only as storage, e.g.

Filesystem fragmentation
Although most filesystems use strategies to prevent file fragmentation, some files get fragmented over time. A fragmented file may occupy more blocks than would be needed if the file was stored in a continuous way. Also, as free space becomes fragmented, the possibility of files becoming fragmented increases.

Removing system maintenance related files
The process or cleaning up these directories can be automated to a certain extent using these tools:

Cache directories
Remove files from directories as needed to free space. This will most likely remove some of the customization in local applications such as file and web browsers, office applications, etc., be aware of these changes before proceeding.

Personal files
Move or remove any large or unneeded files to free disk space. Moving files to external drives or network storage locations can be helpful if the files need to be preserved.

Reducing the reserved blocks percentage
The reserved blocks percentage on a ext* filesystem can be reduced using the tune2fs tool from the package.

This would reduce the percentage of reserved blocks on the filesystem to 1% on the partition represented by the block device :

Defragmenting the filesystem
This approach usually doesn't save much disk space, but might prevent further file fragmentation which would use up more disk space in the long run.

Several tools exist, some are filesystem specific (which usually provide better performance), some not:

External resources

 * Running out of disk space on the Gentoo Forums.