Root partition is abnormally filled

My root is taking up 42.5 GiB, which doesn’t seem right. Running du -cha --max-depth=1 / | grep -E "M|G" yields

34M     /dev
du: cannot access '/run/user/1000/doc': Permission denied
du: cannot access '/run/user/1000/gvfs': Permission denied
144G    /run
14M     /etc
58M     /tmp
165M    /boot
du: cannot access '/proc/30817/task/30849/fd/96': No such file or directory
du: cannot access '/proc/152960/task/152960/fd/4': No such file or directory
du: cannot access '/proc/152960/task/152960/fdinfo/4': No such file or directory
du: cannot access '/proc/152960/fd/3': No such file or directory
du: cannot access '/proc/152960/fdinfo/3': No such file or directory
25G     /var
110G    /home
17G     /usr
7.2M    /root
526M    /opt
295G    /
295G    total

My home is mounted on a different partition, and for some reason timeshift mounts my home folder again in /run, so taking out 220G from the calculation yields 75G. Clearing the pacman cache yielded me a few GiB, but it’s still sitting above 30 GiB. I do some development, but this isn’t normal, is it?

can you check

df -Th /run

That’s quite a lot for /var ─ mine only takes up 3.2 GiB with an empty pacman cache. Perhaps you should investigate what’s taking up so much space in there. :thinking:

libvirt images (virtual machines) are by default stored in /var
in
/var/lib/libvirt/images

… it’s one possible reason …

My /usr is “just” 12 GB - but the size of /var
123G /var
is definitely for that reason

… explore what is in there … if it seems excessive … to you

… your output of
du -cha --max-depth=1 / | grep -E "M|G"
was truncated/edited - wasn’t it?
or it was run as su/sudo …

Looks like I have 4.1G of journals… can I remove some of them? The rest seem to be miscellaneous configs and applications each taking a nibble out of root.

yes
… if you don’t plan on perusing those for anything …

journalctl size

https://wiki.manjaro.org/index.php/Limit_the_size_of_.log_files_%26_the_journal

File size greater than 256M (change as needed on your system, see man find)

sudo find /var -size +256M -ls

pamac systemd timer running to manage the number of packages in cache (default is 3)

 systemctl list-timers

Should see:

…pamac-cleancache.timer pamac-cleancache.service

To reduce the number see /etc/pamac.conf, KeepNumPackages. Can be run manually too. Search forum it comes up a lot (example).

How many snapshots do you have with timeshift ?
How old is the oldest ?

I keep 5, one per week, so the last one is about a month old.

Try to remove the oldest one, and look how df goes up ?