On Linux you install software through a package manager, not by downloading installers. It handles dependencies, updates, and clean removal from trusted repositories.
The major families
| Manager | Distros | Install |
|---|---|---|
| apt | Debian/Ubuntu | apt install pkg |
| dnf | Fedora/RHEL | dnf install pkg |
| pacman | Arch | pacman -S pkg |
sudo apt update # refresh the package index
sudo apt upgrade # update installed packages
sudo apt install nginx
apt list --installed
Keep it patched (security!)
# automatic security updates
sudo apt install unattended-upgrades
Unpatched packages are a top breach vector — automate security updates (Linux Server Hardening Baseline).
Universal formats
| Format | Note |
|---|---|
| Flatpak | Sandboxed desktop apps |
| Snap | Canonical's sandboxed packages |
| AppImage | Single-file, no install |
| Docker | App + deps as a container (Docker Compose for Self-Hosting) |
Prefer your distro's repos (signed, integrated) and add third-party sources sparingly — each one is trust you're extending.
Related: Linux Server Hardening Baseline · Docker Compose for Self-Hosting · Understanding systemd