6.4 Install and Remove Flatpak Software Packages

Key Takeaways

  • Install and remove Flatpak apps with flatpak install, uninstall, list, info, search, and update against configured remotes.
  • Application IDs look like reverse-DNS names (org.example.App); runtimes install as dependencies when needed.
  • Prefer system scope (sudo flatpak install --system) when tasks require machine-wide availability; verify with flatpak list.
  • flatpak update refreshes apps and runtimes from remotes; it is separate from dnf update.
  • Installed Flatpaks persist after reboot; confirm with flatpak list and, if needed, flatpak info before leaving the task.
Last updated: August 2026

6.4 Install and Remove Flatpak Software Packages

Quick Answer: After remotes exist, manage Flatpak software with flatpak search, flatpak install, flatpak list, flatpak update, flatpak info, and flatpak uninstall. Use application IDs (for example org.mozilla.firefox). System-wide installs typically need root. Installed apps and runtimes live on disk under Flatpak’s directories and persist after reboot.

Objective focus

Section 6.3 configured remotes. This section completes EX200’s Flatpak pair: install and remove Flatpak software packages (applications and, as needed, runtimes/extensions). Graders check whether the app is present for the required scope (system/user), not whether you used a GUI software center.

Discover applications

flatpak search inkscape
flatpak search firefox
flatpak remote-ls flathub | less
flatpak remote-ls flathub | grep -i vlc

search queries configured remotes’ metadata. remote-ls lists refs available on one remote—useful when search is noisy or the task gives a partial name.

Application identifiers use reverse-DNS style:

org.videolan.VLC
org.mozilla.firefox
org.gnome.Calculator

Tasks may give either a short name or a full ID. When ambiguous, install with the full ID and explicit remote:

sudo flatpak install flathub org.videolan.VLC

Install applications

# Interactive: Flatpak may ask for remote and which match if ambiguous
sudo flatpak install org.videolan.VLC

# Explicit remote + app id (best exam style)
sudo flatpak install flathub org.videolan.VLC

# Non-interactive assume yes
sudo flatpak install -y flathub org.videolan.VLC

# System vs user
sudo flatpak install --system flathub org.videolan.VLC
flatpak install --user flathub org.videolan.VLC

During install Flatpak may also pull:

  • The runtime the app needs
  • Locale or extension runtimes depending on defaults
  • Related SDKs only if you install development refs (rare on RHCSA tasks)

Allow the transaction to complete; interrupting mid-download can leave partial state—rerun install or repair if needed.

Local Flatpak bundles (if the task provides a file)

sudo flatpak install --system /path/to/app.flatpak
# or .flatpakref files
sudo flatpak install --system /path/to/app.flatpakref

Follow the file type the exam provides. Bundles may still need a matching runtime from a remote.

List and inspect installed software

flatpak list
flatpak list --app                 # applications only
flatpak list --runtime             # runtimes only
flatpak list --system
flatpak list --user
flatpak info org.videolan.VLC
flatpak info --show-permissions org.videolan.VLC   # optional detail

Verification pattern for the exam:

flatpak list --app | grep -i VLC
flatpak info org.videolan.VLC
echo $?

If the task requires system install, verify with flatpak list --system while not relying on a different user’s --user install.

Update Flatpak software

flatpak update
sudo flatpak update                 # system scope updates as root
flatpak update org.videolan.VLC     # one app

flatpak update is not dnf update. Run the correct tool for the packaging system. Updating may refresh both apps and runtimes from remotes.

Remove / uninstall

sudo flatpak uninstall org.videolan.VLC
sudo flatpak uninstall -y org.videolan.VLC

# Remove unused runtimes after apps are gone (when appropriate)
sudo flatpak uninstall --unused

Confirm removal:

flatpak list --app | grep -i VLC || echo "removed"

Caution: --unused removes runtimes no longer needed by remaining apps. Fine when cleaning a lab; on the exam, only use it if it does not conflict with other required apps still present.

Running apps (optional awareness)

flatpak run org.videolan.VLC

RHCSA tasks usually stop at installed/uninstalled state. Running GUI apps may require a desktop session; do not spend exam time launching GUIs unless verification requires it. CLI flatpak list / info is enough for package presence.

Permissions and portals (exam depth limit)

Flatpak sandboxes applications. Advanced permission tuning (flatpak override) exists but is beyond typical RHCSA install/remove wording. Only change overrides if a task explicitly demands filesystem or device access changes. Default install is usually sufficient for “install application X.”

End-to-end scenarios

Scenario A — Install from Flathub-style remote

Task: Ensure Flatpak remote flathub exists. Install org.gnome.gedit system-wide.

rpm -q flatpak || sudo dnf install -y flatpak
flatpak remote-list --system | grep -w flathub || \
  sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y --system flathub org.gnome.gedit
flatpak list --system --app | grep org.gnome.gedit

Scenario B — Remove an application

Task: Remove org.videolan.VLC if installed.

flatpak list --app | grep -i org.videolan.VLC
sudo flatpak uninstall -y org.videolan.VLC
flatpak list --app | grep -i org.videolan.VLC || echo OK

Scenario C — Mixed RPM + Flatpak task

Task: Install strace from RPM repos and install a Flatpak app from the training remote.

sudo dnf install -y strace
rpm -q strace
sudo flatpak install -y trainingremote org.example.Tool
flatpak list --app | grep org.example.Tool

Keep the tools straight: two package systems, two verify commands.

Troubleshooting

SymptomLikely causeFix
No remotes to searchRemote never addedSection 6.3 remote-add
Need to be rootSystem install without privilegesudo / root shell
Not foundWrong id/remote; metadata staleflatpak search; flatpak update; check remote name
Runtime dependency errorsRemote missing runtimeEnable correct remote; network
TLS/network failuresFirewall, proxy, bad URLFix network; confirm remote URL
Installed as --user but graded system-wideWrong scopeReinstall with --system
flatpak repair --system    # when installations look corrupted (use judiciously)

Persistence and EX200 scoring

  • Flatpak installs write to system or user Flatpak directories—survive reboot.
  • You do not systemctl enable a Flatpak app for ordinary package credit.
  • You do ensure the scope matches the task (system vs user).
  • After finishing, re-run flatpak list before moving on; in full mocks, reboot once and re-check both RPM and Flatpak inventories when both were modified.

Interaction with SELinux and disk space

  • Flatpak on RHEL runs in SELinux-enforcing environments by design; do not disable SELinux to “make Flatpak work.”
  • Large runtimes consume disk under /var/lib/flatpak—if installs fail with space errors, df -h and clean unused refs.
df -h /var/lib/flatpak
sudo flatpak uninstall --unused

Command cheat sheet

GoalCommand
Searchflatpak search KEYWORD
Installsudo flatpak install [-y] REMOTE APPID
List appsflatpak list --app
Infoflatpak info APPID
Update allsudo flatpak update
Removesudo flatpak uninstall [-y] APPID
Unused runtimessudo flatpak uninstall --unused

Common traps

  1. Using dnf install org.videolan.VLC — wrong packaging system.
  2. User install when system was required (or the reverse).
  3. Stopping after download prompt denial — complete the transaction with -y only when sure.
  4. Removing a runtime still needed by another app — check flatpak list first.
  5. Forgetting remote name in environments with multiple remotes and ambiguous short names.
  6. Skipping verification — always flatpak list / info before claiming done.

Chapter synthesis: RPM + Flatpak on EX200

You now have the full Manage software skill set for RHCSA on RHEL 10:

  1. Configure RPM repos (/etc/yum.repos.d/, dnf repolist)
  2. Install/remove RPM packages (dnf, rpm -q/-V)
  3. Configure Flatpak remotes (flatpak remote-add/remote-list)
  4. Install/remove Flatpak apps (flatpak install/uninstall/list/update)

Practice alternating tasks under a timer, and after every cluster reboot once to prove both DNF and Flatpak states remain. That habit matches how EX200 awards points for durable system administration.

Section checkpoint

You should search remotes, install and uninstall Flatpak applications by ID, update Flatpak software, list apps vs runtimes, choose system vs user scope correctly, verify presence after changes, and keep Flatpak operations distinct from DNF while using both on the same RHEL 10 exam system.

Test Your Knowledge

Which command installs a Flatpak application from the flathub remote using its application ID?

A
B
C
D
Test Your Knowledge

How do you confirm a Flatpak application is installed system-wide?

A
B
C
D
Test Your Knowledge

What is the correct tool to update installed Flatpak apps and runtimes?

A
B
C
D
Test Your Knowledge

An exam task requires removing a Flatpak app but leaving unrelated system RPMs untouched. Which command fits?

A
B
C
D