If you are coming from Windows, the concept of “installing software” usually means downloading an .exe installer from a website. In Linux, we do things differently. We use Package Managers—secure, centralized warehouses of software maintained by engineers.
However, not all Linux distributions speak the same language.
Fedora speaks
.rpm(via DNF5).Debian/Ubuntu speaks
.deb(via APT).Arch Linux speaks
.pkg.tar.zst(via Pacman).
As an engineer running a multi-boot workstation (Windows 11, Fedora, Debian, and Manjaro) on my Lenovo ThinkPad, I switch between these systems daily. While the commands differ, the logic remains the same.
This guide will teach you the modern 2025 standards for installing software across the three major Linux families.
Method 1: The Universal Standard (Flatpak)
Works on: Fedora, Debian, Arch, Ubuntu, Mint.
Before we dive into the specific terminal commands for each distro, we must address Flatpak. In 2025, Flatpak is the de-facto standard for GUI applications (like Spotify, Discord, VS Code). It runs consistently on any distribution because it is sandboxed.
Step 1: Enable Flatpak Support
Fedora: Pre-installed.
Debian/Ubuntu:
Bash
sudo apt install flatpak gnome-software-plugin-flatpakArch Linux:
Bash
sudo pacman -S flatpak
Step 2: Add the Flathub Repository (The App Store)
Run this command on any of the systems above to unlock the centralized app library:
Bash
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Step 3: Install an App
Bash
flatpak install flathub com.spotify.Client
Engineering Advice: Use Flatpak for desktop apps. Use the native package managers below for system tools and drivers.
Method 2: Fedora Workstation (The RPM Family)
Tool: DNF5 (The speed demon)
Fedora 43 uses DNF5, a C++ rewrite of the old package manager. It is fast, parallel, and robust.
Search for a package:
Bash
dnf search htop
Install a package:
Bash
sudo dnf install htop
Update the entire system:
Bash
sudo dnf upgrade
Remove a package:
Bash
sudo dnf remove htop
You may also read:
How to Setup Flathub on Linux: A 2025 Guide (Fedora, Debian, Arch, openSUSE)
How to Enable Flatpak and Snap Backends in Discover, GNOME Software, and Pamac
Method 3: Debian & Ubuntu (The DEB Family)
Tool: APT (Advanced Package Tool)
Debian is legendary for its stability. If you are running Debian 13 (Trixie) or Ubuntu 24.10, APT is your tool. It is reliable and has the largest software library in existence.
Refresh the repository list (Critical Step):
Unlike Fedora, Debian requires you to manually refresh the list of available software before installing.
Bash
sudo apt update
Install a package:
Bash
sudo apt install htop
Update the entire system:
Bas
sudo apt upgrade
Remove a package:
Bash
sudo apt remove htop
Method 4: Arch Linux (The Rolling Release)
Tool: Pacman & AUR
Arch Linux (and Manjaro/EndeavourOS) is for users who want software the moment it is released. Pacman is arguably the fastest package manager, but it uses cryptic flags instead of words like “install”.
Refresh and Update System (Do this often):
In Arch, we sync the database (-y) and update all packages (-u) in one go:
Bash
sudo pacman -Syu
Install a package:
The -S flag stands for “Sync” (Install).
Bash
sudo pacman -S htop
Remove a package:
To remove a package and its unused dependencies (clean cleanup):
Bash
sudo pacman -Rs htop
The Arch Secret Weapon: The AUR
Arch users have access to the Arch User Repository (AUR), a community-driven repo containing almost every program ever written for Linux. You cannot access this with standard pacman. You need an “AUR Helper” like yay.
How to install yay (First time only):
Bash
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Using AUR (Example: Installing Google Chrome):
Chrome is not in the official Arch repos, but it is in the AUR:
Bash
yay -S google-chrome
Engineering Comparison Table: The “Rosetta Stone”
Here is a quick reference cheat sheet for translating commands between your multi-boot systems.
| Action | Fedora (DNF5) | Debian/Ubuntu (APT) | Arch Linux (Pacman) |
| Refresh DB | Auto | sudo apt update | sudo pacman -Sy |
| Install | dnf install pkg | sudo apt install pkg | sudo pacman -S pkg |
| Update System | dnf upgrade | sudo apt upgrade | sudo pacman -Syu |
| Remove | dnf remove pkg | sudo apt remove pkg | sudo pacman -R pkg |
| Search | dnf search query | apt search query | pacman -Ss query |
| Clean Cache | dnf clean all | sudo apt autoremove | sudo pacman -Sc |
Method 5: AppImages (The Distro-Agnostic Option)
Works on: All Distributions.
Sometimes, a developer doesn’t want to package their app for three different systems. They provide an AppImage. This is a single file (like a portable .exe) that contains everything.
Download the
.AppImagefile.Right-click > Properties > Permissions.
Check “Allow executing file as program”.
Double-click to run.
Note: On modern setups like Ubuntu 24.04+ or Fedora 43, you might need to install libfuse2 to run older AppImages.
Which one should you use?
As someone who maintains all three systems on my ThinkPad P14s, here is my golden rule for 2025:
Always try Flatpak first for desktop applications (browsers, media players, chat apps). It keeps your main OS clean and isolated.
Use the Native Manager (DNF/APT/Pacman) for system tools, development libraries (Python, C++), and drivers.
Use AppImage only if the app is not available on Flathub or system repositories.
Welcome to the freedom of Linux software management. No serial numbers, no cracks, just pure open-source engineering.

