Debian

The universal operating system. The rock that half the Linux world is built on.

Desktop Server Development Advanced

Overview

Based onIndependent
Package managerAPT
Package format.deb
Release modelFixed releases (Stable ~2 years), plus Testing and Unstable (Sid) branches
Default DENone default; GNOME offered by installer, along with KDE, XFCE, MATE, Cinnamon, LXDE, LXQt
Init systemsystemd
Websitedebian.org

Why Debian?

Branches

Package Management

Debian uses APT for package management. Unlike Ubuntu, Debian does not include Snap by default.

# Update package lists and upgrade all packages
sudo apt update && sudo apt upgrade

# Full upgrade (handles dependency changes, recommended for Testing/Unstable)
sudo apt full-upgrade

# Install packages
sudo apt install nginx git curl

# Search for a package
apt search "web server"

# Show package details
apt show nginx

# Remove a package and its config files
sudo apt purge nginx

# Clean up unused dependencies
sudo apt autoremove

# List installed packages
dpkg -l | grep nginx

Managing Sources

# Enable non-free and contrib repos (edit /etc/apt/sources.list)
# For Bookworm, add "non-free-firmware non-free contrib" to your deb lines:
# deb http://deb.debian.org/debian bookworm main non-free-firmware non-free contrib

# Enable backports
# deb http://deb.debian.org/debian bookworm-backports main

# Install a package from backports
sudo apt install -t bookworm-backports linux-image-amd64
Stable vs Testing for desktops: Debian Stable is excellent for servers but desktop users often find the packages too old. Running Testing or Unstable (Sid) gives you much newer software while still being more conservative than Arch. Many experienced users run Sid as a daily driver without issues.

Tips