Ubuntu
The most popular Linux distribution in the world.
Overview
| Based on | Debian |
| Package manager | APT (with Snap integration) |
| Package format | .deb |
| Release model | Fixed releases every 6 months. LTS every 2 years (5 year support). |
| Default DE | GNOME (modified) |
| Init system | systemd |
| Website | ubuntu.com |
Why Ubuntu?
- Largest community - If you have a problem, someone has already solved it and posted the answer
- Commercial support - Canonical provides enterprise support and cloud images
- Software availability - Nearly every Linux-compatible app provides Ubuntu packages first
- Hardware support - Canonical works with hardware vendors for compatibility
- LTS releases - 5 years of security updates for stability-focused deployments
Editions & Flavors
- Ubuntu Desktop - Standard edition with GNOME
- Ubuntu Server - No GUI, optimized for servers and cloud
- Kubuntu - KDE Plasma desktop
- Xubuntu - XFCE desktop (lightweight)
- Lubuntu - LXQt desktop (ultra-lightweight)
- Ubuntu MATE - MATE desktop (traditional layout)
- Ubuntu Studio - Audio/video/graphics production tools
Package Management
Ubuntu uses APT for system packages. Canonical also pushes Snap packages for containerized, auto-updating applications.
# System updates
sudo apt update && sudo apt upgrade
# Install packages
sudo apt install neovim git curl
# Search
apt search "image editor"
# Snap packages
sudo snap install code --classic
sudo snap install discord
snap list
Snap controversy: Ubuntu installs some packages as Snaps by default (including Firefox). Some users prefer to install Flatpak instead and avoid Snaps. You can remove snapd entirely if you prefer:
sudo apt remove snapd.
Setting Up for Development
# Essential development tools
sudo apt install build-essential git curl wget
# Node.js (via nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install --lts
# Python
sudo apt install python3 python3-pip python3-venv
# Docker
sudo apt install docker.io docker-compose
sudo usermod -aG docker $USER
# VS Code
sudo snap install code --classic
# Or via APT repo (preferred by many):
# See code.visualstudio.com/docs/setup/linux
Setting Up for Gaming
# Install Steam
sudo apt install steam
# Enable 32-bit libraries (required for many games)
sudo dpkg --add-architecture i386
sudo apt update
# Install latest GPU drivers
sudo ubuntu-drivers autoinstall
# Install Lutris (for non-Steam games)
sudo apt install lutris
# Install GameMode (optimizes system for gaming)
sudo apt install gamemode
Tips
- Use LTS releases (24.04, 26.04) for maximum stability on workstations and servers
- Use interim releases (24.10, 25.04) if you want newer software and don't mind upgrading every 6 months
- Install GNOME Tweaks (
sudo apt install gnome-tweaks) for additional customization - Consider replacing Snap Firefox with the Flatpak or APT version for better desktop integration
- Set up Timeshift (
sudo apt install timeshift) for system snapshots