The following is the GNU All-permissive License as recommended in https://www.gnu.org/licenses/license-recommendations.en.html

Copyright (C) 2024 Free Software Foundation sysadmin@fsf.org

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Contributions are welcome. See https://savannah.gnu.org/maintenance/fsf/.

Finding the big files/directory which are the problem:

Good commands to see disk usage:

shopt -s extglob
du -shc /!(proc|sys)
du -shc *|grep '\S*[MG]'|sort -g

If du is significantly different than df

Try lsof +L1 to show files open with less than 1 filesystem link to show files that have been deleted but are still taking up space. This can happen if you rm a log file which is being written to and is normally logrotated: it will continue to grow forever until the writing process is stopped. If you want to reduce the size of a log file like that, manually invoke logrotate, then you can safely delete the rotated file.

Misc

You should never need this, but it's cool. To see space used underneath mount points, bind mount the parent mount somewhere else:

mount --bind / /mnt
du -sh /mnt

GNU Hope

If the host is on GNU Hope and the filesystem does need more space, see instructions for expanding the filesystem with gnuhope