Ext2/3/4 enables setting aside a fixed percentage of the disk space for use by root. The idea is that if a user process runs out of control and fills the hard disk, the administrator will still have enough free space to log in and fix the problem. By default, these filesystems set aside 5% of the disk space for this purpose. Unfortunately, 5% adds up to a lot of space on big modern drives. You can change the percentage on an already-formatted filesystem using the text-mode tune2fs program. For instance, if the partition in question is /dev/sdb1 and if it's mounted at /path/to/drive:
Code:
sudo umount /path/to/drive
sudo tune2fs -m 0
This sets the reserved blocks percentage to 0. Change the number after the -m parameter if you still want to reserve some disk space, just less than the default. A similar option to mke2fs will change the reserved blocks percentage when the filesystem is created.
Alternatively, you could use something other than ext2/3/4 to begin with. AFAIK, ReiserFS, JFS, and XFS don't reserve any space in this way. ReiserFS is particularly good for storing many very small files, since it can cram small files into less space than most other filesystems require. (I don't recall if it shows more or less free space than ext3fs immediately after format, but that's unimportant; when you add many small files, ReiserFS can definitely hold more files.) JFS and XFS are both excellent at handling very large files (multimedia recordings, system backup files, etc.), with XFS being a bit more well-respected in this regard. You could reformat using mkfs:
Code:
sudo mkfs -t xfs /dev/sdb1
FWIW, my personal preference is to use ReiserFS for my main Linux installation and most other general-purpose uses, with XFS for bigger filesystems that hold larger files.
Bookmarks