Appendix A

Appendix A — Useful Software Packages

This appendix is a curated reference of software packages organised by category. For each package the install command is given for both apt (Ubuntu, Debian, Linux Mint) and dnf (Fedora). Where a Flatpak version from Flathub is available and often preferable (more up to date, sandboxed), it is listed as an alternative in purple.

apt install (Ubuntu/Debian/Mint)
dnf install (Fedora)
flatpak install flathub (any distro)
Prefer native packages for system tools; Flatpak for desktop apps. Command-line utilities, servers, and libraries are best installed with apt/dnf — they integrate with the system and update with everything else. For desktop apps like browsers, office suites, and media players, the Flatpak version is often newer and better sandboxed.

Internet & Communication

Package Description apt dnf Flatpak alternative
Firefox GUI The default browser on most distros. Installed by default on Ubuntu, Mint, Fedora. apt install firefox dnf install firefox org.mozilla.firefox
Chromium GUI The open-source base of Google Chrome. Privacy-focused alternative. apt install chromium-browser dnf install chromium org.chromium.Chromium
Thunderbird GUI Email client from Mozilla. Handles multiple accounts, calendars, RSS feeds. apt install thunderbird dnf install thunderbird org.mozilla.Thunderbird
Discord GUI Voice, video, and text chat platform. Download .deb from discord.com, or use Flatpak. apt install ./discord.deb dnf install ./discord.rpm com.discordapp.Discord
Signal GUI Encrypted messaging desktop client. Flatpak is the easiest install method. — (use Flatpak) — (use Flatpak) org.signal.Signal
wget CLI Download files from the terminal. Supports resuming interrupted downloads. apt install wget dnf install wget
curl CLI Transfer data with URLs. Used for downloading files and testing APIs. apt install curl dnf install curl
nmap CLI Network scanner. Discover devices and open ports on your local network. apt install nmap dnf install nmap

Office & Productivity

Package Description apt dnf Flatpak alternative
LibreOffice GUI Full office suite: Writer (Word), Calc (Excel), Impress (PowerPoint), Base (Access). Pre-installed on many distros. apt install libreoffice dnf install libreoffice org.libreoffice.LibreOffice
OnlyOffice GUI Office suite with excellent Microsoft Office compatibility. Good if you share .docx/.xlsx files frequently. — (use Flatpak) — (use Flatpak) org.onlyoffice.desktopeditors
Obsidian GUI Markdown-based note-taking app with a graph view. Local files, no cloud required. — (use Flatpak) — (use Flatpak) md.obsidian.Obsidian
Evince GUI GNOME's document viewer for PDF, PostScript, and more. Lightweight and fast. apt install evince dnf install evince org.gnome.Evince
Okular GUI KDE document viewer. Opens PDF, EPUB, CBR, ODT, and many other formats. apt install okular dnf install okular org.kde.okular
Calibre GUI E-book manager and converter. Manages your library and converts between formats (EPUB, MOBI, PDF). apt install calibre dnf install calibre

Media & Entertainment

Package Description apt dnf Flatpak alternative
VLC GUI The universal media player. Plays virtually every video and audio format without extra codecs. apt install vlc dnf install vlc org.videolan.VLC
mpv GUI Lightweight, keyboard-driven video player. Preferred by power users; excellent hardware decoding. apt install mpv dnf install mpv io.mpv.Mpv
Rhythmbox GUI GNOME music player and library manager. Pre-installed on Ubuntu. apt install rhythmbox dnf install rhythmbox org.gnome.Rhythmbox3
Spotify GUI Spotify desktop client. Flatpak is the recommended install on Linux. — (use Flatpak) — (use Flatpak) com.spotify.Client
Handbrake GUI Video transcoder. Convert videos between formats, compress for web, rip DVDs. apt install handbrake dnf install handbrake-gui fr.handbrake.ghb
ffmpeg CLI Powerful command-line media conversion and processing tool. Used by many other apps internally. apt install ffmpeg dnf install ffmpeg
yt-dlp CLI Download videos and audio from YouTube and hundreds of other sites. apt install yt-dlp dnf install yt-dlp
Steam GUI Gaming platform from Valve. Excellent Linux support via Proton. Flatpak recommended for sandboxing. apt install steam — (use Flatpak) com.valvesoftware.Steam

Graphics & Image Editing

Package Description apt dnf Flatpak alternative
GIMP GUI GNU Image Manipulation Program. Full-featured raster image editor — the Linux equivalent of Photoshop. apt install gimp dnf install gimp org.gimp.GIMP
Inkscape GUI Professional vector graphics editor. Works with SVG files. The Linux equivalent of Illustrator. apt install inkscape dnf install inkscape org.inkscape.Inkscape
Darktable GUI RAW photo editing and darkroom software. Comparable to Adobe Lightroom. apt install darktable dnf install darktable org.darktable.Darktable
Krita GUI Digital painting and illustration app. Excellent brush engine; popular with artists and animators. apt install krita dnf install krita org.kde.krita
Shotwell GUI Simple photo organiser and basic editor. Good for managing a personal photo library. apt install shotwell dnf install shotwell org.gnome.Shotwell
ImageMagick CLI Command-line image manipulation. Resize, convert, crop, and process images in bulk scripts. apt install imagemagick dnf install ImageMagick

Development Tools

Package Description apt dnf Flatpak alternative
VS Code GUI Microsoft's popular code editor. Download .deb/.rpm from code.visualstudio.com, or use Flatpak. apt install ./code.deb dnf install ./code.rpm com.visualstudio.code
build-essential CLI Meta-package that installs gcc, g++, make, and other essential C/C++ build tools. Install this first when compiling from source. apt install build-essential dnf groupinstall "Development Tools"
git CLI The standard version control system. Required for almost all development work. apt install git dnf install git
python3-pip CLI Python package installer. Install Python libraries with pip install package-name. apt install python3-pip dnf install python3-pip
nodejs / npm CLI JavaScript runtime and package manager. Use NodeSource repo or nvm for a more up-to-date version. apt install nodejs npm dnf install nodejs npm
Docker CLI Container platform. Install via Docker's official script or apt repo — not the distro's version, which is outdated. curl -fsSL https://get.docker.com | sh dnf install docker-ce (Docker repo)
sqlite3 CLI Lightweight, self-contained SQL database engine. Useful for development and scripting. apt install sqlite3 dnf install sqlite
meld GUI Visual diff and merge tool. Compare files, directories, and version-controlled projects side by side. apt install meld dnf install meld org.gnome.meld

System & Administration

Package Description apt dnf Flatpak alternative
htop CLI Interactive process viewer — a much friendlier version of top. Colour-coded, sortable, shows CPU per core. apt install htop dnf install htop
btop CLI Modern, visually rich resource monitor. Shows CPU, memory, disk I/O, and network in a single terminal view. apt install btop dnf install btop
ncdu CLI Interactive terminal disk usage analyser. Navigate directories with arrow keys to find space hogs. apt install ncdu dnf install ncdu
tmux CLI Terminal multiplexer. Split your terminal into panes, keep sessions running after disconnecting from SSH. apt install tmux dnf install tmux
rsync CLI Fast, incremental file synchronisation. Used for backups and copying large directories efficiently. (Usually pre-installed.) apt install rsync dnf install rsync
ufw CLI Uncomplicated Firewall — easy front-end for iptables. Covered in Chapter 12. Pre-installed on Ubuntu. apt install ufw — (use firewalld)
GParted GUI Graphical partition editor. Resize, create, delete, and format disk partitions. Essential for disk management. apt install gparted dnf install gparted
Timeshift GUI System snapshot and restore tool. Like Windows System Restore. Pre-installed on Mint. Covered in Chapter 13. apt install timeshift — (use Snapper)
BleachBit GUI System cleaner. Removes browser caches, temp files, old logs. Frees disk space safely. apt install bleachbit dnf install bleachbit
smartmontools CLI Read SMART health data from hard drives and SSDs. Detect failing drives before they die. apt install smartmontools dnf install smartmontools

Terminal Extras

Package Description apt dnf Flatpak alternative
zsh CLI Alternative shell to bash. Powerful tab completion, history, and theme support. Pair with Oh My Zsh for plugins. apt install zsh dnf install zsh
bat CLI cat with syntax highlighting, line numbers, and git diff integration. Drop-in replacement for cat. apt install bat dnf install bat
fzf CLI Fuzzy file finder for the terminal. Press Ctrl+R for fuzzy history search; integrates with vim and tmux. apt install fzf dnf install fzf
ripgrep CLI Extremely fast recursive text search. Respects .gitignore. Much faster than grep for large codebases. apt install ripgrep dnf install ripgrep
tree CLI Display directory contents as an indented tree. tree -L 2 shows two levels deep. apt install tree dnf install tree
jq CLI Command-line JSON processor. Parse, filter, and format JSON output from APIs and config files. apt install jq dnf install jq
neofetch CLI Display system information (distro, kernel, DE, RAM, CPU) alongside an ASCII art logo. A classic. apt install neofetch dnf install neofetch
tldr CLI Simplified man pages with practical examples. tldr tar shows the 5 most useful tar commands instead of the full manual. apt install tldr dnf install tldr

Multimedia Codecs

Out of the box, Ubuntu and Mint can't play MP3s, H.264 video, or DVDs due to patent restrictions. Install the restricted extras package to add these codecs:

# Ubuntu — installs MP3, H.264, AAC, and other codecs + Microsoft fonts $ sudo apt install ubuntu-restricted-extras # Linux Mint — same effect $ sudo apt install mint-meta-codecs # Fedora — enable RPM Fusion first, then install codecs $ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 lame # DVD playback (libdvdcss — Debian/Ubuntu only, legal in most countries) $ sudo apt install libdvd-pkg && sudo dpkg-reconfigure libdvd-pkg
Why aren't codecs included by default? Some codecs (MP3, H.264, AAC) are covered by software patents in certain countries. Ubuntu and Mint ship without them to avoid legal issues, but provide an easy way to install them. Fedora's RPM Fusion repository handles the same problem. Once installed, media playback "just works."

Virtual Machines & Remote Access

Package Description apt dnf Flatpak alternative
VirtualBox GUI Run Windows or other Linux distros in a virtual machine. Download from virtualbox.org for the latest version. apt install virtualbox dnf install virtualbox
GNOME Boxes GUI Simple VM manager using KVM/QEMU. Easier than VirtualBox for running Linux VMs. Native to GNOME. apt install gnome-boxes dnf install gnome-boxes org.gnome.Boxes
openssh-server CLI Run an SSH server on your machine so you can log in remotely from other computers. apt install openssh-server dnf install openssh-server
Remmina GUI Remote desktop client. Connect to Windows machines via RDP, or other Linux machines via VNC or SSH. apt install remmina dnf install remmina org.remmina.Remmina

Quick Install Blocks

Copy-paste these blocks to set up a fully-equipped system in one go.

Ubuntu / Mint — essential desktop setup

$ sudo apt update && sudo apt install -y \ vlc gimp inkscape libreoffice \ htop btop ncdu tmux tree bat fzf ripgrep jq tldr neofetch \ git build-essential curl wget rsync \ python3-pip sqlite3 \ ubuntu-restricted-extras

Fedora — essential desktop setup

# Enable RPM Fusion first $ sudo dnf install -y \ https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf install -y \ vlc gimp inkscape libreoffice \ htop btop ncdu tmux tree bat fzf ripgrep jq tldr neofetch \ git curl wget rsync \ python3-pip sqlite \ gstreamer1-plugins-good gstreamer1-plugins-bad-free lame

Flatpak essentials (any distro)

# Add Flathub if not already set up $ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo # Install popular apps $ flatpak install -y flathub \ org.mozilla.firefox \ org.mozilla.Thunderbird \ org.libreoffice.LibreOffice \ org.videolan.VLC \ org.gimp.GIMP \ com.spotify.Client \ com.valvesoftware.Steam \ md.obsidian.Obsidian
Next: Appendix B — Terminal command cheat sheet. A quick-reference card for the most useful Linux terminal commands, organised by task.