Study guide

6.4 Install and Remove Flatpak Software Packages

Red Hat Certified System Administrator RHCSA

Track your progress as you read

Finished sections get a check mark.

1 Introduction & Exam Overview

1.1 Current Exam Facts 1.2 Lab Setup & Performance-Based Study Strategy

2 Essential Tools: Shell, Redirection & Text Analysis

2.1 Shell Prompt and Command Syntax 2.2 Input-Output Redirection and Pipes 2.3 grep and Regular Expressions for Text Analysis

3 Essential Tools: Remote Access, Users & Text Editing

3.1 Access Remote Systems Using SSH 3.2 Log In and Switch Users in Multiuser Targets 3.3 Create and Edit Text Files

4 Essential Tools: Files, Links & Archives

4.1 Create, Delete, Copy, and Move Files and Directories 4.2 Hard and Soft Links 4.3 Archive and Compress with tar, gzip, and bzip2

5 Essential Tools: Permissions & System Documentation

5.1 List, Set, and Change Standard ugo/rwx Permissions 5.2 System Documentation: man, info, and /usr/share/doc

6 Manage Software: RPM and Flatpak

6.1 Configure Access to RPM Repositories 6.2 Install and Remove RPM Software Packages 6.3 Configure Access to Flatpak Repositories 6.4 Install and Remove Flatpak Software Packages

7 Create Simple Shell Scripts

7.1 Conditional Execution: if, test, and [] 7.2 Looping Constructs for Files and Input 7.3 Process Script Inputs ($1, $2, and Beyond) 7.4 Process Shell Command Output in Scripts

8 Operate Running Systems: Boot and Recovery

8.1 Boot, Reboot, and Shut Down a System Normally 8.2 Boot Systems into Different Targets Manually 8.3 Interrupt the Boot Process to Gain Access

9 Operate Running Systems: Processes and Tuning

9.1 Identify and Kill CPU/Memory Intensive Processes 9.2 Adjust Process Scheduling 9.3 Manage Tuning Profiles

10 Operate Running Systems: Logs, Services & File Transfer

10.1 Locate and Interpret System Log Files and Journals 10.2 Preserve System Journals 10.3 Start, Stop, and Check Status of Network Services 10.4 Securely Transfer Files Between Systems

11 Configure Local Storage: Partitions and LVM

11.1 List, Create, and Delete Partitions on GPT Disks 11.2 Create and Remove Physical Volumes 11.3 Assign Physical Volumes to Volume Groups 11.4 Create and Delete Logical Volumes

12 Configure Local Storage: Mounting and Expansion

12.1 Mount File Systems at Boot by UUID or Label 12.2 Add Partitions, Logical Volumes, and Swap Non-Destructively

13 Create and Configure File Systems: Local FS and Permissions

13.1 Create, Mount, and Use VFAT, ext4, and XFS File Systems 13.2 Extend Existing Logical Volumes 13.3 Diagnose and Correct File Permission Problems

14 Create and Configure File Systems: NFS and autofs

14.1 Mount and Unmount Network File Systems Using NFS 14.2 Configure autofs

15 Deploy and Maintain: Scheduling, Services & Targets

15.1 Schedule Tasks with at, cron, and systemd Timers 15.2 Start, Stop, and Enable Services at Boot 15.3 Configure Systems to Boot into a Specific Target

16 Deploy and Maintain: Time, Software Updates & Bootloader

16.1 Configure Time Service Clients 16.2 Install and Update Software from CDN, Remote Repos, and Local Files 16.3 Modify the System Bootloader

17 Manage Basic Networking

17.1 Configure IPv4 and IPv6 Addresses 17.2 Configure Hostname Resolution 17.3 Configure Network Services to Start Automatically at Boot 17.4 Restrict Network Access Using firewalld and firewall-cmd

18 Manage Users and Groups

18.1 Create, Delete, and Modify Local User Accounts 18.2 Change Passwords and Adjust Password Aging 18.3 Create, Delete, and Modify Local Groups and Memberships 18.4 Configure Privileged Access

19 Manage Security: Firewall, umask & SSH Keys

19.1 Configure Firewall Settings with firewall-cmd and firewalld 19.2 Manage Default File Permissions 19.3 Configure Key-Based Authentication for SSH

20 Manage Security: SELinux Modes and Contexts

20.1 Set Enforcing and Permissive Modes for SELinux 20.2 List and Identify SELinux File and Process Contexts 20.3 Restore Default File Contexts

21 Manage Security: SELinux Ports and Booleans

21.1 Manage SELinux Port Labels 21.2 Use Boolean Settings to Modify SELinux Settings

6.4 Install and Remove Flatpak Software Packages

Key Takeaways Explain This Topic AI

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

  • Symptom Likely cause Fix
  • No remotes to search Remote never added Section 6.3 remote-add
  • Need to be root System install without privilege sudo / root shell
  • Not found Wrong id/remote; metadata stale flatpak search ; flatpak update ; check remote name
  • Runtime dependency errors Remote missing runtime Enable correct remote; network
  • TLS/network failures Firewall, proxy, bad URL Fix network; confirm remote URL

Installed as --user but graded system-wide Wrong scope Reinstall 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
  • Goal Command
  • Search flatpak search KEYWORD
  • Install sudo flatpak install [-y] REMOTE APPID
  • List apps flatpak list --app
  • Info flatpak info APPID
  • Update all sudo flatpak update
  • Remove sudo flatpak uninstall [-y] APPID
  • Unused runtimes sudo flatpak uninstall --unused
  • Common traps

Using dnf install org.videolan.VLC — wrong packaging system.

User install when system was required (or the reverse).

Stopping after download prompt denial — complete the transaction with -y only when sure.

Removing a runtime still needed by another app — check flatpak list first.

Forgetting remote name in environments with multiple remotes and ambiguous short names.

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:

  • Configure RPM repos ( /etc/yum.repos.d/ , dnf repolist )
  • Install/remove RPM packages ( dnf , rpm -q / -V )
  • Configure Flatpak remotes ( flatpak remote-add / remote-list )
  • 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.