Update taking a lot of hdd space


when I update Garuda KDE it seems that the update uses too much space. Like the last time I updated it took over 15GB of hdd space. Is that normal or did something go wrong? I already reinstalled Garuda from scratch for the same reason. I ran out of hdd space just from updating the system. All I did was "pacman -Syyu" a few times and it ate up all the free storage space.

Please let me know if you need any more info. Also, I'm a noob so have patience. :wink:

Thanx in advance for your assistance!

How much disk space do you have?
How are you measuring disk usage?
How did you determine it used 15GB of disk space just for the update?

1 Like

By running "df -h" before and after the update.

inxi -Faz?

Clean pacman cache.

System:    Kernel: 5.14.6-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0  
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=9d1f8261-5e9a-4dbb-85c0-189936871bba  
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3
Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM  
Distro: Garuda Linux base: Arch Linux  
Machine:   Type: Laptop System: Hewlett-Packard product: HP EliteBook 8740w v: N/A serial: <filter>  
Chassis: type: 10 serial: <filter>  
Mobo: Hewlett-Packard model: 1520 v: KBC Version 33.2A serial: <filter> BIOS: Hewlett-Packard  
v: 68CAD Ver. F.03 date: 04/28/2010  
Battery:   ID-1: BAT0 charge: 38.9 Wh (67.3%) condition: 57.8/63.4 Wh (91.3%) volts: 16.2 min: 14.4  
model: Hewlett-Packard Primary type: Li-ion serial: <filter> status: Charging  
CPU:       Info: Dual Core model: Intel Core i7 M 620 bits: 64 type: MT MCP arch: Nehalem family: 6  
model-id: 25 (37) stepping: 2 microcode: 11 cache: L2: 4 MiB  
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 21279  
Speed: 1335 MHz min/max: 1199/2667 MHz boost: enabled Core speeds (MHz): 1: 1335 2: 3263  
3: 2797 4: 1996  
Vulnerabilities: Type: itlb_multihit status: KVM: VMX unsupported  
Type: l1tf mitigation: PTE Inversion  
Type: mds status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable  
Type: meltdown mitigation: PTI  
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp  
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization  
Type: spectre_v2
mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:  Device-1: NVIDIA G92GLM [Quadro FX 2800M] vendor: Hewlett-Packard driver: nouveau v: kernel
bus-ID: 01:00.0 chip-ID: 10de:061d class-ID: 0300
Device-2: Chicony HP Webcam [2 MP Macro] type: USB driver: uvcvideo bus-ID: 1-1.5:4
chip-ID: 04f2:b15e class-ID: 0e02
Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: nouveau
unloaded: modesetting alternate: fbdev,nv,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 1680x1050 s-dpi: 96 s-size: 444x277mm (17.5x10.9") s-diag: 523mm (20.6")
Monitor-1: LVDS-1 res: 1680x1050 hz: 60 dpi: 116 size: 367x229mm (14.4x9.0") diag: 433mm (17")
OpenGL: renderer: NV92 v: 3.3 Mesa 21.2.1 direct render: Yes
Audio:     Device-1: Intel 5 Series/3400 Series High Definition Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:3b56 class-ID: 0403
Sound Server-1: ALSA v: k5.14.6-zen1-1-zen running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: no
Sound Server-4: PipeWire v: 0.3.35 running: yes
Network:   Device-1: Intel 82577LM Gigabit Network vendor: Hewlett-Packard driver: e1000e v: kernel
port: 6020 bus-ID: 00:19.0 chip-ID: 8086:10ea class-ID: 0200
IF: enp0s25 state: down mac: <filter>
Device-2: Intel Centrino Ultimate-N 6300 driver: iwlwifi v: kernel port: 5000 bus-ID: 44:00.0
chip-ID: 8086:4238 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Drives:    Local Storage: total: 298.09 GiB used: 51.93 GiB (17.4%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD3200BEKT-60V5T1 size: 298.09 GiB
block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s type: HDD rpm: 7200 serial: <filter>
rev: 1A12 scheme: MBR
Partition: ID-1: / raw-size: 78.12 GiB size: 78.12 GiB (100.00%) used: 46.79 GiB (59.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-2: /home raw-size: 205.79 GiB size: 205.79 GiB (100.00%) used: 5.15 GiB (2.5%) fs: btrfs
dev: /dev/sda3 maj-min: 8:3
ID-3: /var/log raw-size: 78.12 GiB size: 78.12 GiB (100.00%) used: 46.79 GiB (59.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-4: /var/tmp raw-size: 78.12 GiB size: 78.12 GiB (100.00%) used: 46.79 GiB (59.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 5.66 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 67.0 C mobo: 0.0 C gpu: nouveau temp: 58.0 C
Fan Speeds (RPM): N/A
Info:      Processes: 242 Uptime: 1h 33m wakeups: 1 Memory: 5.66 GiB used: 2.64 GiB (46.6%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1705 lib: 383
Shell: fish v: 3.3.1 running-in: konsole inxi: 3.3.06

Should I clean the cache with "pacman -Sc"?

Also, why is my pasted inxi output not formated right like in other posts? I did the "~~~" thing ...

In "Add/Remove Software" there is only 800MB of cache to be removed and the update took up 15GB. Number of versions of each package to keep is set to 3. If I set it to 0, then there is 15GB to remove. What is best practice? To keep 3 versions as this is set as default? Could it be that because this is a relatively fresh install and that the packages get piled up until they reach a count of 4 (current version + the 3 versions to keep)?

could this be relative to btrfs snapshots ?

Not likely. They don't take up much space unless there has been a high rate of change of the underlying data.

Does df provide accurate results with btrfs? What does the free space show in Garuda Assistant?

1 Like

Use only if needed, update with





sudo pacman -Syu

I agree .... But I also just saw a Dr. House episode ... I am suspicious :slight_smile:


Yes. This will remove package archives that are not installed (so old versions and any since removed).


I think if he wants to clean space, he will have to clean some snapshots after cleaning pacman cache, because I am not seeing /var/cache in the subvolume list ( meaning that its under the root. I am assuming snapshots because its btrfs, but of course, there might not be any snapshots )

Possibly. Let's try the basic things first, and cleaning a package cache of old archives is an easy first step.


First of all, thank you for your help!

Garuda Assistant and "df" give about the same result (+/- a few MB)

Why is "pacman -Syyu" bad practice? Doesen't the second "-y" just force a refresh of the package database even if up to date?

Also i found "upd" in config.fish but where is the "update" alias? What does it do?

@jonathon @alexjp and everybody else

I have 5 snapshots and they take up 14.5GB of space and the unshared portion is 2GB in two snapshots and 100-250MB in the other three. So that shouldn't be the issue.

I cleaned the cache with "pacman -Sc" and that cleaned about 7GB of data. The last update used about 15GB of data.
I also cleaned the cache and package cache with Garuda Assistant but with no change to the free space. Looks like "pacman -Sc" deleted all that there was to delete.
The only difference I see is in the Add/Remove Software general settings under cache. There was 15GB to be removed (before cleaning the cache with pacman) if I set the number of versions of each package to keep to zero. Now there is 7.8GB to be removed. If you add that up with the 7GB cleaned with the "pacman -Sc" command you end up with 15GB. The only thing is that the last update didn't install/download three old package versions. It downloaded one, left three and deleted the fourth. That shouldn't be the issue.
Anyway I set it to zero and cleaned the cache and that freed up approx. 8GB. I'll keep the "versions to keep" at zero and track the changes while updating. Maybe that is the solution. To keep the count set to 0 instead of the default 3 versions to keep. But the question is why the default setting is to keep 3 old versions of a package?

I never had any space issues with updating on distributions like Manjaro so I don't think that it has something to do with Arch or pacman. It must be something with the settings or eventually with timeshift and btrfs?

Because it puts useless additional load on the mirrors.

In case you need to rollback to an older version. That being said, feel free to change it to whatever works for you.


Just a "I'm too lazy to fix it myself all in one" script :slight_smile:

Yeah .. that part with the useless additional load makes sense!
I have no idea how to rollback to older versions so I'll keep it at zero for now (and learn to roll back along the way) :wink:

Never came to my mind that it would be a script. Found the "lazy" comment :slight_smile: looks like half gibberish to me the other half I understand :laughing:

Every day I realize how much more there is to learn!

One quickie - how do you format output from the terminal when pasted to the forum? I did the ~~~ thing but it got messed up. Like the "inxi" output. In the terminal it has like two columns but when i pasted it to the forum it's just like normal text without columns. I see posts from other members where it is nice formatted --> readable.

That is how you do it. Something must have gotten messed up in the middle. Did you copy it directly from a terminal to the forum? Which terminal did you use?

I use Konsole (the default one on KDE?) and copied it directly to the forum. Selected the output in the terminal with the mouse -> right click "copy" -> right click "paste" to the forum and added the ~~~.

If you include terminal outputs in your post please
use the proper output format in your post.

Using "~" 3 times above


"~" 3 times below the text block

will provide a readable, raw look.

It looks like there are some extra line breaks. Try making your terminal wider and see if that helps.