No space left on device! SSD, snapper, btrfs, making it all work in openSUSE 13.2

If you’re reading this, it’s very probable you’re doing it from your phone, tablet or even the Windows partition, because your openSUSE system is barely giving you a text login. Even if “df -h” reports a few free GiBs on /, you’re still getting “No space left on device”. So, in short, this is what you need to do, as root:

snapper list
snapper delete x y z v w

x y z v w are numeric snapshot IDs from the list. You can delete all of them but leave snapshot 0, it doesn’t make sense to erase it and won’t probably work.

openSUSE 13.2 has sensible defaults for the number of snapshots kept, however, these defaults are generic, not proportional to the capacity. If you have a SSD and you share it with Windows and what not, space is too precious to waste on old snapshots.

Edit the configuration fileĀ /etc/snapper/configs/root and further reduce the defaults, these lines are the most effective, I use a value of 2 now:

NUMBER_LIMIT="10"
NUMBER_LIMIT_IMPORTANT="10"

Another thing you can do to save space is limit the size of the logs. Edit /etc/systemd/journald.conf and add this line:

SystemMaxUse=128M