Skip to content

Garuda Update

garuda-update is Garuda Linux’s preferred update solution. The program allows Garuda Linux to apply certain hotfixes and update automations for a smoother experience.

Keeping Garuda Linux up-to-date is important. garuda-update makes it easy. Executing garuda-update in a terminal will start the update procedure.

Terminal window
garuda-update

In the background, the pacman package manager is used to facilitate the system update.

What does Garuda Update do? (Why not pacman -Syu?)

Section titled “What does Garuda Update do? (Why not pacman -Syu?)”

garuda-update is a tool specifically designed for Garuda Linux with automation in mind. Instead of announcements on forums or the website like many distributions, Garuda Linux instead believes in the philosophy that such scenarios should be avoided, automated, or in the worst case, communicated directly on-system.

  1. A self-update of garuda-update is performed to ensure the latest automations and fixes are ready
  2. The mirrorlist is automatically refreshed using rate-mirrors
  3. The archlinux and chaotic-aur keyrings are updated
  4. Package related hotfixes such as conflicts and other issues are automatically resolved (after they have been approved and added to garuda-update by the developers)
  5. A secondary Copy-on-Write (CoW) aware disk space check is executed to account for btrfs snapshots preventing disk space from being freed
  6. The system update is started. Some pacman prompts are automatically answered by “auto-pacman”, for example to facilitate conflict resolution
  7. The user is asked to approve the system update through a standard y/n prompt.
  8. Common post-update tasks are executed. The plocate index is updated in the background, and fish completions, the bat cache and micro plugins are updated
  9. If any needed configuration changes have been performed automatically, they will be shown and explained in a changelog at the end
  10. garuda-health is executed

Simply use garuda-update or update in your shell of choice. Both commands do the same thing. Additionally, the following parameters are available:

ParameterEnvironment variableDescription
--skip-mirrorlistSKIP_MIRRORLIST=1Don’t update the mirrorlist before applying the system update.
--aur/-aUPDATE_AUR=1Update AUR packages via paru/yay after system update.
--no-space-checkNO_SPACE_CHECK=1Don’t run secondary CoW-aware disk space check
--noconfirmPACMAN_NOCONFIRM=1Emulate a custom (safer) version of —noconfirm for pacman
-- [extra pacman parameters]PACMAN_EXTRA_OPTSAdd extra pacman parameters (everything after the two dashes)
-U/--upgradeInstall local packages via pacman -U instead of a full system update, for example garuda-update -U foo.pkg.tar.zst

A config file can be created at /etc/garuda/garuda-update/config that can contain the environment variables in the following format:

/etc/garuda/garuda-update/config
SKIP_MIRRORLIST=1
UPDATE_AUR=1

Garuda-update offers additional features beyond the basic update process. These features provide users with more control and flexibility over system maintenance.

CommandDescription
garuda-update remote fixReset pacman.conf and refresh keyrings.
garuda-update remote keyringRefresh keyring without resetting pacman.conf.
garuda-update remote fullfixReset pacman.conf, refresh keyrings, and reinstall all packages in your OS.
garuda-update remote reinstallReinstall all packages in your OS.
garuda-update remote reset-snapperRemove all backup subvolumes and snapshots created by Snapper, and force recreates Snapper configs.
garuda-update remote reset-audioReinstall Pipewire-support and WirePlumber, and disable/enable their services to reset the audio configuration.

garuda-update works together with four other tools. garuda-health runs at the end of every update and reports problems that remain on the system. garuda-config-agent and garuda-migrations apply configuration changes through pacman hooks during the same transaction. Migrations also write the notices that garuda-update prints after the update. The garuda-update fixes page lists every automatic fix, retry and rescue command that garuda-update and its helper scripts offer.