LinuxCommandLibrary

flatpak-update

Update installed Flatpak applications and runtimes

TLDR

Update all installed applications and runtimes (use -y to confirm all prompts automatically)

$ flatpak update
copy

Update only a specific app
$ flatpak update [com.example.app]
copy

Update/Downgrade to a specific commit (also see flatpak remote-info and flatpak mask)
$ flatpak update --commit=[COMMIT] [com.example.app]
copy

SYNOPSIS

flatpak update [OPTION...] [APPLICATION/RUNTIME...]

PARAMETERS

-h, --help
    Displays help information about the command.

--user
    Operates on the user-specific Flatpak installation, typically located in ~/.local/share/flatpak/.

--system
    Operates on the system-wide Flatpak installation, usually in /var/lib/flatpak/. This is the default behavior if neither --user nor --system is specified.

--noninteractive
    Performs the update without prompting for user confirmation, useful for scripting or automated environments.

--commit=COMMIT
    Updates the specified application or runtime to a particular commit ID instead of the latest available version.

--appstream
    Updates the AppStream metadata, which provides rich information about applications like descriptions, screenshots, and categories for software centers.

--no-related
    Prevents the command from updating related extensions or dependencies that are not explicitly specified.

--allow-downgrade
    Permits updating to an older version of an application or runtime, which can be useful in specific debugging or compatibility scenarios.

APPLICATION/RUNTIME...
    Optional argument(s) to specify one or more application or runtime IDs to update. If omitted, all installed Flatpaks are updated.

DESCRIPTION

flatpak update is a fundamental command within the Flatpak ecosystem, designed to ensure that all installed applications and their underlying runtimes are kept current. When executed, it connects to configured Flatpak remotes (repositories) to check for newer versions of software. If updates are available, it downloads and applies them, replacing older versions while preserving user data and application settings.

This process is crucial for maintaining system security, as updates often include critical bug fixes and security patches that address vulnerabilities. Beyond security, updating provides access to new features, performance improvements, and compatibility enhancements. The command intelligently handles dependencies, ensuring that runtimes required by applications are also updated to compatible versions.

Users can choose to update all installed Flatpaks at once or specify particular applications or runtimes for targeted updates. The update mechanism leverages OSTree technology, which allows for efficient, atomic updates, meaning an update either succeeds completely or reverts cleanly, preventing system corruption in case of interruptions. This atomicity ensures system stability and reliability, making flatpak update a robust tool for software maintenance.

CAVEATS

Internet Connection: An active internet connection is required to download updates from configured Flatpak remotes.
Disk Space & Bandwidth: Updates, especially for runtimes, can be substantial in size, requiring significant disk space and bandwidth.
Application State: While Flatpak updates are atomic, it's generally recommended to close applications being updated before running the command to ensure a smooth transition and avoid potential conflicts.
Remote/GPG Issues: Outdated remote configurations or GPG key issues can prevent successful updates, requiring manual intervention to resolve.

OFFLINE UPDATES

While flatpak update primarily operates online, Flatpak supports mechanisms for preparing updates offline using commands like flatpak pull with --bare, allowing for staged updates in environments with limited or no internet access.

SECURITY BEST PRACTICES

Regularly running flatpak update is a critical security best practice. It ensures that applications and their underlying runtimes receive the latest security patches, mitigating vulnerabilities and protecting the system from potential exploits. Users should integrate this command into their routine system maintenance.

HISTORY

Flatpak, initially known as xdg-app, was conceived by Lennart Poettering and first publicly announced in 2015. The flatpak-update command has been a core component of the Flatpak framework from its early development, central to its mission of providing a robust, sandboxed, and self-contained application distribution system for Linux. Its design leverages the OSTree content-addressable filesystem, enabling atomic updates and efficient storage of application and runtime versions. Over time, flatpak-update has evolved alongside the Flatpak project, incorporating improvements in performance, dependency resolution, and user experience, solidifying its role as the primary method for maintaining up-to-date Flatpak installations.

SEE ALSO

flatpak(1), flatpak-install(1), flatpak-uninstall(1), flatpak-list(1), flatpak-remote(1), ostree(1)

Copied to clipboard