Digging up a bit further with sudo du -md1 /usr | sort -n, I get the following:
1
/usr/libexec
1
/usr/src
2
/usr/local
238
/usr/include
387
/usr/lib32
683
/usr/bin
3940
/usr/share
4236
/usr/lib
9485
/usr
Does this really mean that the main issue is the program libraries? It looks odd to me because I haven’t even installed that many programs; I used more programs on other distros (including Arch) and the size of the root partition never exceeded 10-12GB. Could you tell me if there is something else that may actually be causing this?
If there is any other piece of information that could be of use to you, please let me know. Thank you for your time.
Looks perfectly normal to me… Your /usr/lib seems to have a lot there as well. 20 GB root partition is not uncommon for a normal desktop enviroment. But you can drill down more on the directories to see if there is something adding unnecessary things. I would not run a system with a root less than 50GB these days. Updates, caches etc will slowly increase the root drive size.
If for instance you decided to run Virtual Machine Manager, you will need to partition the /var to a separate drive because the VM’s are stored in /usr/lib .
You can use qdirstat to get a better perspective of what’s taking space. Looking at your output, I’d take a look at /var (pacman’s cache and logs) and /home (you may want to link some home directories to a different partition, if you can).
Regarding pacman’s cache, you can routinely delete old packages with paccache -rk#, # being the number of old versions you want to keep. You can also delete uninstalled packages with paccache -ruk0.
Regarding the logs, you can limit journalctl to 100 MB, for example, by editing /etc/systemd/journald.conf, un-commenting the line SystemMaxUse and changing it to SystemMaxUse=100M.
Regarding /home, this is user dependent. You need to first see what taking space and then decide how to reduce it.
Leave /usr alone. The best way to reduce this is to uninstall software.
As mbb already wrote, try QDirStat to find out where your disk space went.
In addition to the normal tree view, there is also a treemap where you can spot large files deep down in the hierarchy directly; the larger a rectangle, the larger a file there is.
And there is also the packages view that can show you the disk space by installed software packages.