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.
Basic introduction
Section titled “Basic introduction”Keeping Garuda Linux up-to-date is important. garuda-update makes it easy. Executing garuda-update in a terminal will start the update procedure.
garuda-updateIn 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.
- A self-update of
garuda-updateis performed to ensure the latest automations and fixes are ready - The mirrorlist is automatically refreshed using
rate-mirrors - The archlinux and chaotic-aur keyrings are updated
- Package related hotfixes such as conflicts and other issues are automatically resolved (after they have been approved and added to
garuda-updateby the developers) - A secondary Copy-on-Write (CoW) aware disk space check is executed to account for btrfs snapshots preventing disk space from being freed
- The system update is started. Some pacman prompts are automatically answered by “auto-pacman”, for example to facilitate conflict resolution
- The user is asked to approve the system update through a standard y/n prompt.
- 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
- If any needed configuration changes have been performed automatically, they will be shown and explained in a changelog at the end
garuda-healthis executed
Simply use garuda-update or update in your shell of choice. Both commands do the same thing. Additionally, the following parameters are available:
| Parameter | Environment variable | Description |
|---|---|---|
--skip-mirrorlist | SKIP_MIRRORLIST=1 | Don’t update the mirrorlist before applying the system update. |
--aur/-a | UPDATE_AUR=1 | Update AUR packages via paru/yay after system update. |
--no-space-check | NO_SPACE_CHECK=1 | Don’t run secondary CoW-aware disk space check |
--noconfirm | PACMAN_NOCONFIRM=1 | Emulate a custom (safer) version of —noconfirm for pacman |
-- [extra pacman parameters] | PACMAN_EXTRA_OPTS | Add extra pacman parameters (everything after the two dashes) |
-U/--upgrade | Install local packages via pacman -U instead of a full system update, for example garuda-update -U foo.pkg.tar.zst |
Config file
Section titled “Config file”A config file can be created at /etc/garuda/garuda-update/config that can contain the environment variables in the following format:
SKIP_MIRRORLIST=1UPDATE_AUR=1Extended Garuda Update Features
Section titled “Extended Garuda Update Features”Garuda-update offers additional features beyond the basic update process. These features provide users with more control and flexibility over system maintenance.
| Command | Description |
|---|---|
garuda-update remote fix | Reset pacman.conf and refresh keyrings. |
garuda-update remote keyring | Refresh keyring without resetting pacman.conf. |
garuda-update remote fullfix | Reset pacman.conf, refresh keyrings, and reinstall all packages in your OS. |
garuda-update remote reinstall | Reinstall all packages in your OS. |
garuda-update remote reset-snapper | Remove all backup subvolumes and snapshots created by Snapper, and force recreates Snapper configs. |
garuda-update remote reset-audio | Reinstall Pipewire-support and WirePlumber, and disable/enable their services to reset the audio configuration. |
Related tools
Section titled “Related tools”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.