df -h - Used space + Avail Free space is less than the Total size of /home

Solution 1:

By default, ext2/3/4 filesystems reserve 5% of the space to be useable only by root. This is to avoid a normal user completely filling the disk which would then cause system components to fail whenever they next needed to write to the disk.

You can see the number of reserved blocks (and lots of other information about the filesystem) by doing:

sudo tune2fs -l /dev/sda8

For a /home partition, it is probably safe to set the reserved fraction to zero:

sudo tune2fs -m 0 /dev/sda8

Which should make an additional ~5GB available.

Solution 2:

This question is really about interpreting the output of the df command, which is famously confusing and if you Google it, you'll see many questions about df.

How to Interpret df Output:

"Size" is df results are INCLUSIVE of the 5% reserved space @chronitis told you about. This is the total ABSOLUTE space. This number will approximate the size shown in the results of fdisk -l for the partition which you're reviewing in the df results.

"Used" + "Avail" provides the total EFFECTIVE space and EXCLUDES the 5% reserved space. This is the space you can actually work with.

So nothing is "missing"- the disparity between "Size" and ("Used" + "Avail") totals in df output represents the 5% reserved space

Free Space NOT Accounted For In df Output:

If you're scratching your head thinking "But I deleted that file(s), why can't I see the additional space in df?!?" here's why:

If you delete a large file(s), but the process for it hasn't been terminated, this "free" space won't be reflected in the results of df.

sudo lsof +L1 will identify deleted files still showing a pid.

HTH clears up some confusion about interpreting df output - Terrence

Solution 3:

By default, ext2/3/4 filesystems reserve 5% of the space to be useable only by the superuser, root.

There is also some space reserved for metadata, that is necessary for the file system, for examples inodes and the journal.

You can find some details in the manual

man mkfs.ext4