flatpak - Build, install and run applications and runtimes
flatpak [OPTION...] {COMMAND}
Flatpak is a tool for managing applications and the runtimes they
use. In the Flatpak model, applications can be built and distributed
independently from the host system they are used on, and they are isolated
from the host system ('sandboxed') to some degree, at runtime.
Flatpak can operate in system-wide or per-user mode. The
system-wide data (runtimes, applications and configuration) is located in
$prefix/var/lib/flatpak/, and the per-user data is in
$HOME/.local/share/flatpak/. Below these locations, there is a local
repository in the repo/ subdirectory and installed runtimes and applications
are in the corresponding runtime/ and app/ subdirectories.
System-wide remotes can be statically preconfigured by dropping
flatpakrepo(5) files into /usr/share/flatpak/remotes.d/ and
/etc/flatpak/remotes.d/. If a file with the same name exists in both, the
file under /etc will take precedence.
In addition to the system-wide installation in
$prefix/var/lib/flatpak/, which is always considered the default one unless
overridden, more system-wide installations can be defined via configuration
files in /etc/flatpak/installations.d/, which must define at least the id of
the installation and the absolute path to it. Other optional parameters like
DisplayName, Priority or StorageType are also supported.
Flatpak uses OSTree to distribute and deploy data. The
repositories it uses are OSTree repositories and can be manipulated with the
ostree utility. Installed runtimes and applications are OSTree
checkouts.
Basic commands for building flatpaks such as build-init, build and
build-finish are included in the flatpak utility. For higher-level build
support, see the separate flatpak-builder(1) tool.
Flatpak supports installing from sideload repos. These are partial
copies of a repository (generated by flatpak create-usb) that are
used as an installation source when offline (and online as a performance
improvement). Such repositories are configured by creating symlinks to the
sideload sources in the sideload-repos subdirectory of the installation
directory (i.e. typically /var/lib/flatpak/sideload-repos or
~/.local/share/flatpak/sideload-repos). Additionally symlinks can be created
in /run/flatpak/sideload-repos which is a better location for non-persistent
sources (as it is cleared on reboot). These symlinks can point to either the
directory given to flatpak create-usb which by default writes to the
subpath .ostree/repo, or directly to an ostree repo.
The following global options are understood. Individual commands
have their own options.
-h, --help
Show help options and exit.
-v, --verbose
Show debug information during command processing. Use -vv
for more detail.
--ostree-verbose
Show OSTree debug information during command
processing.
--version
Print version information and exit.
--default-arch
Print the default arch and exit.
--supported-arches
Print the supported arches in priority order and
exit.
--gl-drivers
Print the list of active gl drivers and exit.
--installations
Print paths of system installations and exit.
--print-system-only
When the flatpak --print-updated-env command is
run, only print the environment for system flatpak installations, not
including the user’s home installation.
--print-updated-env
Print the set of environment variables needed to use
flatpaks, amending the current set of environment variables. This is intended
to be used in a systemd environment generator, and should not need to be run
manually.
Commands for managing installed applications and runtimes:
flatpak-install(1)
Install an application or a runtime from a remote or
bundle.
flatpak-update(1)
Update an installed application or runtime.
flatpak-uninstall(1)
Uninstall an installed application or runtime.
flatpak-mask(1)
Mask out updates and automatic installation.
flatpak-pin(1)
Pin runtimes to prevent automatic removal.
flatpak-list(1)
List installed applications and/or runtimes.
flatpak-info(1)
Show information for an installed application or
runtime.
flatpak-history(1)
Show history.
flatpak-config(1)
Manage flatpak configuration.
flatpak-repair(1)
Repair flatpak installation.
flatpak-create-usb(1)
Copy apps and/or runtimes onto removable media.
Commands for finding applications and runtimes:
flatpak-search(1)
Search for applications and runtimes.
Commands for managing running applications:
flatpak-run(1)
Run an application.
flatpak-kill(1)
Stop a running application.
flatpak-override(1)
Override permissions for an application.
flatpak-make-current(1)
Specify the default version to run.
flatpak-enter(1)
Enter the namespace of a running application.
Commands for managing file access:
flatpak-document-export(1)
Grant an application access to a specific file.
flatpak-document-unexport(1)
Revoke access to a specific file.
flatpak-document-info(1)
Show information about a specific file.
flatpak-documents(1)
List exported files.
Commands for managing the dynamic permission store:
flatpak-permission-remove(1)
Remove item from permission store.
flatpak-permissions(1)
List permissions.
flatpak-permission-show(1)
Show app permissions.
flatpak-permission-reset(1)
Reset app permissions.
flatpak-permission-set(1)
Set app permissions.
Commands for managing remote repositories:
flatpak-remotes(1)
List all configured remote repositories.
flatpak-remote-add(1)
Add a new remote repository.
flatpak-remote-modify(1)
Modify properties of a configured remote
repository.
flatpak-remote-delete(1)
Delete a configured remote repository.
flatpak-remote-ls(1)
List contents of a configured remote repository.
flatpak-remote-info(1)
Show information about a ref in a configured remote
repository.
Commands for building applications:
flatpak-build-init(1)
Initialize a build directory.
flatpak-build(1)
Run a build command in a build directory.
flatpak-build-finish(1)
Finalizes a build directory for export.
flatpak-build-export(1)
Export a build directory to a repository.
flatpak-build-bundle(1)
Create a bundle file from a ref in a local
repository.
flatpak-build-import-bundle(1)
Import a file bundle into a local repository.
flatpak-build-sign(1)
Sign an application or runtime after its been
exported.
flatpak-build-update-repo(1)
Update the summary file in a repository.
flatpak-build-commit-from(1)
Create a new commit based on an existing ref.
flatpak-repo(1)
Print information about a repo.
Commands available inside the sandbox:
flatpak-spawn(1)
Run a command in another sandbox.
File formats that are used by Flatpak commands:
flatpakref(5)
Reference to a remote for an application or runtime
flatpakrepo(5)
Reference to a remote
flatpak-remote(5)
Configuration for a remote
flatpak-installation(5)
Configuration for an installation location
flatpak-metadata(5)
Information about an application or runtime
Besides standard environment variables such as
XDG_DATA_DIRS and XDG_DATA_HOME, flatpak consults some of its
own.
FLATPAK_BINARY
Path to the flatpak executable that will be written into
exported .desktop files and scripts when an app is installed. The default is
/usr/bin/flatpak, unless overridden at build time by --bindir.
FLATPAK_BWRAP
Path to the bwrap(1) executable that will be used
to create the sandbox. Depending on how Flatpak was configured at build-time,
the default is either to search the PATH, or use a vendored copy which
is normally installed as /usr/libexec/flatpak-bwrap.
FLATPAK_CONFIG_DIR
The location of flatpak site configuration. If this is
not set, /etc/flatpak is used (unless overridden at build time by
--sysconfdir).
FLATPAK_DATA_DIR
The location of Flatpak's OS-level defaults and
integration hooks. If this is not set, /usr/share/flatpak is used, unless
overridden at build time by --datadir.
FLATPAK_DBUSPROXY
Path to the xdg-dbus-proxy(1) executable that will
be used to filter D-Bus traffic between the sandbox and the host system.
Depending on how Flatpak was configured at build-time, the default is either
to search the PATH, or use a vendored copy which is normally installed
as /usr/libexec/flatpak-dbus-proxy.
FLATPAK_DOWNLOAD_TMPDIR
Path to a directory that will be used temporarily when
downloading OCI layers, and potentially for other downloads in future. The
standard TMPDIR is not used for this, because Flatpak apps are
frequently too large to fit on a tmpfs.
FLATPAK_FANCY_OUTPUT
May be set to 0 to avoid fancy formatting when outputting
to a terminal. This feature is also disabled automatically when standard
output is not a terminal, or when G_MESSAGES_DEBUG is set.
FLATPAK_FORCE_TEXT_AUTH
May be set to 1 to force use of a simple built-in
polkit(8) agent when authentication is required to modify the
system-wide installation. By default, the desktop environment's polkit agent
is used, if one is available, usually resulting in a graphical prompt.
FLATPAK_GL_DRIVERS
A colon-separated list of graphics driver extensions to
try to use for OpenGL, Vulkan and similar APIs, most-preferred first. The
default is to select a graphics driver automatically. Values in this list
match the last dot-separated component of the names of extensions with the
active-gl-driver condition. Typical values are default, mesa-git or
nvidia-550-120 (replacing the version number by the major and minor version of
the nvidia kernel module).
FLATPAK_RUN_DIR
The location of flatpak runtime global files. If this is
not set, /run/flatpak is used.
FLATPAK_SYSTEM_CACHE_DIR
The location where temporary child repositories will be
created during pulls into the system-wide installation. If this is not set, a
directory in /var/tmp/ is used. This is useful because it is more likely to be
on the same filesystem as the system repository (thus increasing the chances
for e.g. reflink copying), and we can avoid filling the user's home directory
with temporary data.
FLATPAK_SYSTEM_DIR
The location of the default system-wide installation. If
this is not set, /var/lib/flatpak is used (unless overridden at build time by
--localstatedir or -Dsystem_install_dir).
FLATPAK_TTY_PROGRESS
May be set to 1 to enable reporting machine-readable
progress to the terminal. This feature is not currently enabled by default
because it uses the OSC 9;4 sequence, which some terminal emulators interpret
as a popup notification.
FLATPAK_USER_DIR
The location of the per-user installation. If this is not
set, $XDG_DATA_HOME/flatpak is used.
ostree(1), ostree.repo(5), flatpak-remote(5),
flatpak-installation(5), https://www.flatpak.org