📖 Scenario: You are a system administrator who needs to manage software packages on a Linux system. You want to list installed applications and check for updates using two popular package systems: snap and flatpak.
🎯 Goal: Build a simple script that collects installed snap and flatpak applications, checks for available updates, and displays the results clearly.
📋 What You'll Learn
Use the snap command to list installed snap packages
Use the flatpak command to list installed flatpak applications
Create variables to store the lists of installed packages
Create variables to store the output of update checks for both snap and flatpak
Print the lists of installed packages and available updates
💡 Why This Matters
🌍 Real World
System administrators often need to manage software packages on Linux systems using different package managers like snap and flatpak. This script helps quickly check installed software and available updates.
💼 Career
Knowing how to automate package management tasks with scripting is valuable for Linux system administrators and DevOps engineers to maintain system security and software currency.
Progress0 / 4 steps
1
List Installed Snap and Flatpak Packages
Create two variables called snap_installed and flatpak_installed. Use the commands snap list and flatpak list respectively to store the lists of installed packages as strings.
Linux CLI
Hint
Use command substitution with $(command) to store command output in variables.
2
Check for Available Updates
Create two variables called snap_updates and flatpak_updates. Use the commands snap refresh --list and flatpak update --assumeno respectively to check for available updates and store the output as strings.
Linux CLI
Hint
Use --list with snap refresh to see available updates without applying them.
Use --assumeno with flatpak update to simulate update check without installing.
3
Prepare Summary of Installed Packages and Updates
Create a variable called summary that combines the installed packages and update information for both snap and flatpak. Format it as a multi-line string with clear section headers: Installed Snap Packages:, Installed Flatpak Applications:, Available Snap Updates:, and Available Flatpak Updates:. Use newline characters \n to separate sections.
Linux CLI
Hint
Use double quotes to allow variable expansion and \n for new lines inside the string.
4
Display the Summary
Use the echo command to print the summary variable to the terminal.
Linux CLI
Hint
Use echo "$summary" to print the multi-line string with all information.
Practice
(1/5)
1. What is the main purpose of using snap and flatpak on Linux?
easy
A. To replace the Linux kernel with a new version
B. To install and run applications in a safe, isolated way
C. To manage user accounts and permissions
D. To compile source code into executable programs
Solution
Step 1: Understand the role of snap and flatpak
Snap and Flatpak are tools to install and run apps safely on Linux by isolating them from the system.
Step 2: Compare options with this purpose
The remaining options describe unrelated system tasks like kernel replacement, user management, and code compilation, so they are incorrect.
Final Answer:
To install and run applications in a safe, isolated way -> Option B
Quick Check:
Snap and Flatpak isolate apps = A [OK]
Hint: Snap and Flatpak isolate apps for safety and easy install [OK]
Common Mistakes:
Thinking snap/flatpak manage system settings
Confusing them with system update tools
Assuming they compile code
2. Which command correctly installs the VLC media player using snap?
easy
A. snap install vlc
B. flatpak install vlc
C. snap get vlc
D. flatpak run vlc
Solution
Step 1: Identify the snap install syntax
The correct command to install a snap package is snap install [package].
Step 2: Check options for VLC installation
'snap get vlc' is not for installing. 'flatpak install vlc' uses the wrong tool for snap. 'snap install vlc' matches the correct syntax. 'flatpak run vlc' launches but does not install.
Final Answer:
snap install vlc -> Option A
Quick Check:
Snap install command = C [OK]
Hint: Use 'snap install' to add apps via snap quickly [OK]
Common Mistakes:
Using 'snap get' instead of 'snap install'
Confusing flatpak commands with snap
Trying to run app before installing
3. What will be the output of the command flatpak list if you have installed two apps: VLC and GIMP?
medium
A. VLC and GIMP listed with their app IDs and versions
B. No output, command not found
C. Only VLC listed
D. Error: No apps installed
Solution
Step 1: Understand what 'flatpak list' does
This command shows all installed flatpak apps with details like app ID and version.
Step 2: Apply to given apps
Since VLC and GIMP are installed, both will appear in the list with their info.
Final Answer:
VLC and GIMP listed with their app IDs and versions -> Option A
Quick Check:
flatpak list shows installed apps = B [OK]
Hint: flatpak list shows all installed apps and details [OK]
Common Mistakes:
Expecting no output or error if apps exist
Thinking it lists only one app
Confusing with snap commands
4. You run snap remove vlc but get an error saying "error: no matching snaps installed". What is the likely problem?
medium
A. You need to use 'snap uninstall' instead
B. You typed the command incorrectly
C. Snap service is not running
D. VLC was installed using flatpak, not snap
Solution
Step 1: Analyze the error message
The error means snap cannot find an installed package named vlc.
Step 2: Consider installation methods
If VLC was installed via flatpak, snap won't see it. So removing with snap fails.
Final Answer:
VLC was installed using flatpak, not snap -> Option D
Quick Check:
Snap can't remove apps installed by flatpak = A [OK]
Hint: Check if app was installed by snap or flatpak before removing [OK]
Common Mistakes:
Assuming 'snap uninstall' is valid (it's 'remove')
Ignoring which package manager installed the app
Thinking snap service status causes this error
5. You want to automate installing multiple apps using flatpak in a script. Which snippet correctly installs VLC and GIMP and then lists installed apps?
hard
A. flatpak install -y org.videolan.VLC org.gimp.GIMP; snap list
B. flatpak install org.videolan.VLC org.gimp.GIMP && flatpak list
C. flatpak install -y flathub org.videolan.VLC org.gimp.GIMP && flatpak list
D. flatpak install -y org.videolan.VLC && flatpak install org.gimp.GIMP && flatpak list
Solution
Step 1: Understand flatpak install syntax for multiple apps
You can install multiple apps in one command by listing them after 'flatpak install'. The '-y' flag auto-confirms prompts.
Step 2: Check command chaining and listing
flatpak install -y flathub org.videolan.VLC org.gimp.GIMP && flatpak list installs both apps with '-y' and explicit remote, then lists. flatpak install org.videolan.VLC org.gimp.GIMP && flatpak list misses '-y', so prompts block automation. flatpak install -y org.videolan.VLC && flatpak install org.gimp.GIMP && flatpak list uses separate commands but misses '-y' on second install, causing a prompt. flatpak install -y org.videolan.VLC org.gimp.GIMP; snap list mixes flatpak install with snap list, which won't show flatpaks.
Final Answer:
flatpak install -y flathub org.videolan.VLC org.gimp.GIMP && flatpak list -> Option C
Quick Check:
Use '-y' for auto yes and chain commands = D [OK]
Hint: Use '-y' to auto-confirm and chain commands with && [OK]
Common Mistakes:
Forgetting '-y' causes manual prompts
Mixing snap and flatpak commands
Installing apps one by one unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.