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 [OPTION...] COMMAND [ARGS...]
Run flatpak --help for usage.

PARAMETERS

--help
    Show help and exit

--version
    Show version and exit

--user
    Use user installation (default for non-root)

--system
    Use system-wide installation

--installation[=NAME]
    Select installation or list them

--arch=ARCH
    Filter by architecture (e.g., x86_64)

--bundle
    Bundle ref into ostree commit

--full
    Don’t summarize output

--host
    Modify host OSTree (dangerous)

--state
    Show deployment state

--app
    Operate on apps only

--runtime
    Operate on runtimes only

--no-deploy
    Don’t deploy after download

--no-pull
    Skip pulling latest

--no-related
    Don’t deploy related runtimes

--force-remove
    Remove despite active deployments

DESCRIPTION

Flatpak is a framework for building, distributing, and running sandboxed desktop applications on Linux. It enables developers to package apps with all dependencies, ensuring they run consistently across distributions without conflicts.

Key features include:
Sandboxing: Apps run in isolated environments using bubblewrap and namespaces for security.
Runtimes: Shared base environments (e.g., org.freedesktop.Platform) reduce duplication.
Universal format: Supports multiple architectures and remote repositories like Flathub.

Users install apps via flatpak install, run with flatpak run, and manage via commands like update or uninstall. It supports both system-wide and per-user installations, with portals for safe access to host resources (files, devices). Flatpak bridges traditional distro packages and app stores, promoting a unified ecosystem.

CAVEATS

Large disk usage from bundled runtimes; sandbox may require flatpak override for permissions; root needed for system installs; potential security risks if portals misused.

COMMON SUBCOMMANDS

install REF: Install app/runtime.
run REF [ARGS]: Run app.
list: List installed.
update: Update all.
uninstall REF: Remove.
search TERM: Find on remotes.
remote-add NAME URL: Add repo.

REMOTES

Default: flathub.org. Add with flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

HISTORY

Originated as xdg-app in 2015 by Red Hat's Alex Larsson for OSTree-based apps. Renamed Flatpak in 2016, spun off to flatpak.org. Gained traction with GNOME integration and Flathub (2018+). Now widely used for cross-distro apps.

SEE ALSO

snap(1), ostree(1), bubblewrap(1), fwupdmgr(8)

Copied to clipboard