After installing pacman packages (last one was ‘ungoogled-chromium’) my root partition of 20GB is completly full. Now I can’t update new packages.
My partition structure is: root (20GB) /home (470GB) swap (10GB)
How can I delete the garbage that is piling up in my root, and how to prevent it from happening again.
Sounds like you don’t clean your package cache. You can enable the paccache.timer to handle it for you on a weekly basis.
https://wiki.archlinux.org/title/pacman#Cleaning_the_package_cache
Try uninstalling packages that are not required anymore:
sudo pacman -c
Run
ncdu
(CLI) or Filelight (GUI) on your/
and see what’s taking up all that space first, then we can figure out what to do about it.This realy helped my out. /var/cache/pacman took up over 5GB of space in my root partition. To prevent this from happening again, is there a way to move pacman cache to my home partition where I have over 300GB of space for pacman to consume?
I’m not currently using Arch so I can’t test, but from this forum post it looks like you can change the
CacheDir
variable in/etc/pacman.conf
to point anywhere you want.Yes, this did work! Thanks for your help!
Could you create a new partition out of that 300 for /var?
check to see howuch space your log files are using.
to prevent it from happening …
I would consider 20GB for / to be too small for long term desktop use.
and with just 470GB for /home, I would not split the two up.
log files only took up 800MB, but I fixed most of the problems now, by setting up pacman to put the cache in the home partition.
You are right, it was better to leave /home in the same partition, but now it is difficult to chance that. I thought it had advantages when something goes wrong with my root i can swap it out, but it only caused problems for me. Why do so many people split up there /home then? I thought it was common practice.
The main advantage of having a /home partition is that you can easily preserve it during reinstalls or during a distro hop. Reinstalls used to be more common in the past when some distros didn’t allow full distro upgrades without reinstalling. See this result which is still ranked #1 on duckduckgo
I personally use a @home btrfs subvolume which has most of the same advantages to me, and additionally allows @home and @root to share the same partition. It also allows me to use luks on everthing without bothering with lvm.
Just in case you use Docker, you should clean images and containers on disk. They usually live on the root partition and take huge amounts of space.
Not sure about arch but one thing I’ve found takes up a fair amount of space is older kernel versions that remain installed
In addition to everything else, if you’re not using hibernate you could reclaim some of the swap partition, 10 GB is completely wasted.
I would delete and merge the swap space into root if they’re neighbors. You can create swap files instead of any size you want, and place them anywhere you want, like /home.
I would recommend starting with 1 GB of swap and see how much is actually being used.
To create and use a swap file:
- Use
dd if=/dev/zero of=/swapfile bs=1M count=1024
to create a file. - Use
mkswap
to format the swap file. - Use
swapon /swapfile
to activate it. - Add
/swapfile none swap sw 0 0
in/etc/fstab
to activate on every reboot.
- Use
Any particular reason why you have root so small and an dedicated /home partition?
Because you don’t need to
dd
your entire /home partition to a drive, wipe your system drive, thendd
your /home back.
Clean up your AUR cache!
Also pacman cache.
More space for root? kek
sudo pacman -Scc
You can start to delete pachage caches, and see how much you gain… If not done often you can have a pile of old stuff. Check out the paccache arch wiki page for more info!
This. You might have to clear up some space before installing pacman-contrib though.
paccache -rk1
once in a while and you’re good, maybe even create a hook
One quick suggestion is running
sudo pacman -Sc
. Also switch to flatpak on some apps since these are stored in /home. If these don’t work/are not suitable to your situation, give more information like mentioned on the other comments.