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 [global-options] command [command-options] [arguments]

PARAMETERS

install
    Installs an application or runtime.

uninstall
    Uninstalls an application or runtime.

update
    Updates installed applications and runtimes.

list
    Lists installed applications and runtimes.

search
    Searches for applications and runtimes in configured remotes.

remote-add
    Adds a new remote repository.

remote-delete
    Deletes a configured remote repository.

run
    Runs a flatpak application.

--help
    Displays help information.

--version
    Displays the Flatpak version.

DESCRIPTION

Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. It allows developers to bundle their applications with all their dependencies, ensuring consistent behavior across different distributions. Applications are isolated from the host system, improving security and stability.
Flatpak works by creating sandboxes, which are isolated environments where applications can run without affecting the rest of the system. It provides mechanisms for managing dependencies and permissions, and it supports a variety of different installation sources, called remotes, like Flathub.
Using Flatpak addresses dependency hell and fragmentation in the Linux ecosystem, letting users install and manage applications easily regardless of their specific distribution.

CAVEATS

Flatpak applications consume more disk space than native packages because they bundle their dependencies. Applications may not have full access to all system resources due to sandboxing.

REMOTES

Remotes are repositories where Flatpak applications and runtimes are stored. Flathub is the most popular and widely used remote.

RUNTIMES

Runtimes are base environments that provide common libraries and dependencies for applications. Different applications can share the same runtime, reducing disk space usage.

SANDBOXING

Flatpak applications run in a sandbox, which restricts their access to the host system. This improves security and prevents applications from interfering with each other.

HISTORY

Flatpak (originally known as xdg-app) was created by Alexander Larsson and others to address the problem of application distribution and dependencies on Linux. It was designed to be distribution-agnostic and provide a consistent environment for running applications. The project has seen significant development and adoption over the years, with Flathub becoming a popular repository for Flatpak applications. Its goal is to simplify app installation and management.

SEE ALSO

snap(1), appimage(1)

Copied to clipboard