LinuxCommandLibrary

flatpak

Install and manage Flatpak applications

TLDR

Run an installed application

$ flatpak run [com.example.app]
copy

Install an application from a remote source
$ flatpak install [remote_name] [com.example.app]
copy

List installed applications, ignoring runtimes
$ flatpak list --app
copy

Update all installed applications and runtimes
$ flatpak update
copy

Add a remote source
$ flatpak remote-add --if-not-exists [remote_name] [remote_url]
copy

Remove an installed application
$ flatpak remove [com.example.app]
copy

Remove all unused applications
$ flatpak remove --unused
copy

Show information about an installed application
$ flatpak info [com.example.app]
copy

SYNOPSIS

flatpak [OPTIONS...] COMMAND [ARGS...]

PARAMETERS

--system
    Perform the operation on the system-wide installation.

--user
    Perform the operation on the per-user installation.

--installation=NAME
    Perform the operation on a specific named installation (default: system).

--help
    Show command-line help for the command or subcommand.

--version
    Show the Flatpak version.

--verbose
    Print debug information during operation.

--ostree-verbose
    Print OSTree debug information during operation.

DESCRIPTION

flatpak is a cutting-edge universal software packaging and distribution system for Linux. It aims to revolutionize how applications are built, distributed, and run, solving the long-standing challenge of application fragmentation across diverse Linux distributions.

Unlike traditional package managers (like apt or dnf) that install applications directly into the system, flatpak packages applications with all their necessary dependencies, including specific library versions, into self-contained bundles. These bundles are then run in isolated sandboxes, enhancing security by limiting an application's access to the rest of the system.

Key benefits include distribution independence, consistent application behavior, improved security through sandboxing, and simplified updates. Developers can package their applications once and expect them to run consistently across any flatpak-enabled Linux environment. Users gain access to the latest software, often directly from upstream developers, without waiting for distribution-specific packaging.

CAVEATS

While flatpak offers significant advantages, there are some considerations. Applications often have larger disk footprints due to bundling dependencies that might already exist on the system. Some applications may exhibit theme inconsistencies or limited integration with system-wide features. Initial setup might require adding remote repositories before installing applications. Network access is often required for installation and updates.

COMMON SUBCOMMANDS

The flatpak command operates primarily through subcommands, which are essential for its functionality. Some of the most frequently used include:
install: Installs an application or runtime.
update: Updates installed applications and runtimes.
run: Executes an installed Flatpak application.
remove: Removes an installed application or runtime.
list: Lists installed applications and runtimes.
info: Displays detailed information about a Flatpak application or runtime.
search: Searches for applications in configured Flatpak remotes.
remote: Manages Flatpak remote repositories.

HISTORY

flatpak originated as 'xdg-app', developed by Alexander Larsson at Red Hat, aiming to provide a robust framework for desktop application distribution on Linux. It was first officially released in 2016 under the new name flatpak, becoming a key component of the freedesktop.org initiative. Its development was driven by the need for a unified solution to the challenges faced by application developers targeting a fragmented Linux ecosystem, offering a stable runtime environment independent of the underlying distribution.

SEE ALSO

snap(1), appimage(1), apt(8), dnf(8), yum(8), pacman(8), docker(1)

Copied to clipboard