Edit: SOLVED thanks to r00ty !
Hello, I have this weird issue that my Debian 11 will tell me the root folder is full, while I can only find files for half of the accounted space.
df -h reports 56G while the disk analyser (sudo baobab) only finds 28G.
Anyone ever encountered this? I don’t have anything mounted twice… (Not sure what udev is). Also it does not add up to 100%, it should say 7.2G left not 4.1G
df -h /dev/sda* Filesystem Size Used Avail Use% Mounted on udev 16G 0 16G 0% /dev /dev/sda1 511M 22M 490M 5% /boot/efi /dev/sda2 63G 56G 4.1G 94% / /dev/sda4 852G 386G 423G 48% /home
Edit: my mtab
Edit 2: what Gparted shows
This! Thank you, this allowed me to find the culprit! It turns out I had an external disk failure some weeks ago, and a cron rsync job was writing in /mnt/thatdrive. When the externaldrive died rsync created a folder /mnt/thatdrive. Now that I replaced the drive, /mnt was disregarded by the disk analyser, but the folder was still there and indeed hidden by the mount… It is just a coincidence that it was half the size of /
SOLVED!
This might help in the future in case you setup a remote mount for backups in the future. Look into using systemd’s automount feature. If the mount suddenly fails then it will instead create an unwritable directory in its place. This prevents your rsync from erroneously writing data to your root partition instead.
Thank you for sharing this tip! Very useful indeed
You can also do the following to prevent unwanted writes when something is not mounted at
/mnt/thatdrive
:# make sure it is not mounted, fails if not mounted which is fine umount /mnt/thatdrive # make sure the mountpoint exists mkdir -p /mnt/thatdrive # make the directory immutable, which disallows writing to it (i.e. creating files inside it) chattr +i /mnt/thatdrive # test write to unmounted dir (should fail) touch /mnt/thatdrive/myfile # remount the drive (assumes it’s already listed in fstab) mount /mnt/thatdrive # test write to mounted dir (should succeed) touch /mnt/thatdrive/myfile # cleanup rm /mnt/thatdrive/myfile
From
man 1 chattr
:I do this to prevent exactly the situation you’ve encountered. Hope this helps!
I think I would have expected/preferred
mount
to complain that you’re trying to mount to a directory that’s not empty. I feel like I’ve run into that error before, is that not a thing?It is with zfs, but I not with regular
mount
I think (at least not by default). It might depend on the filesystem though.Ahh, that might be it. I run TrueNAS too. IMO that should be the default behavior, and you should have to explicitly pass a flag if you want mount to silently mask off part of your filesystem. That seems like almost entirely a tool to shoot yourself in the foot.
Yep, it’s definitely better to have as a default
Aha, glad to hear it.