Debian & Ubuntu — Stability-First
Comparative Linux Distributions
Chapter 2 · Debian & Ubuntu — Stability-First
The first of this course's own four families, and the one whose stated goal is, quite literally, to be unexciting. Debian's release process, Ubuntu's own relationship to it, and the dpkg/apt tool pairing all serve one consistent underlying value — reliability, chosen deliberately over freshness.
Debian's Three Tiers — a Real Pipeline, Not Just Labels
New and updated packages enter Unstable (nicknamed "Sid") first. A package that survives there for a set minimum period with no new critical bugs migrates automatically into Testing. When Testing is judged mature enough, a snapshot of it is frozen and eventually released as the next Stable — after which Stable receives only security patches and critical fixes, nothing else, for the rest of its multi-year lifetime.
| Tier | What it actually is | Who it's for |
|---|---|---|
| Unstable (Sid) | Where new packages land first, genuinely can break | Debian developers, the truly adventurous |
| Testing | Packages that have survived Unstable long enough with no critical bugs | Those wanting newer software with somewhat more confidence |
| Stable | A frozen snapshot, security-patched only for years | Servers, production systems, anyone valuing predictability above all |
"Boring" as an Explicit, Stated Value
Debian's own community has long described its goal, without irony, as being "boring" — a Stable release roughly every two years, package versions frozen at release time regardless of how much newer upstream software becomes during that release's own multi-year support window. This isn't neglect; it's the deliberate trade-off this whole chapter's own title names — stability chosen consciously over having the latest version of everything.
backports repository, or app-sandboxing formats like Flatpak, both covered further in Chapter 6.
Ubuntu — Built From Debian, Released on Its Own Terms
Ubuntu takes packages directly from Debian's own Unstable/Testing pool, applies its own patches and branding, then releases on a schedule entirely its own: an interim release every six months (9 months of support), and a Long Term Support (LTS) release every two years, supported for five years by default — extendable further through Ubuntu's own Extended Security Maintenance.
| Cadence | Support window | |
|---|---|---|
| Debian Stable | ~Every 2 years | Roughly 3 years full support, then Long Term Support extensions via the community |
| Ubuntu interim | Every 6 months | 9 months |
| Ubuntu LTS | Every 2 years | 5 years (extendable via ESM) |
dpkg vs. apt — Low-Level Tool, High-Level Wrapper
dpkg is the low-level tool that actually installs a single .deb file — it has no concept of fetching a package from anywhere, and no automatic dependency resolution; handing it a package whose dependencies aren't already present simply fails. apt is the high-level tool built on top of it — it resolves dependencies, fetches packages (and their dependencies) from configured repositories, and calls dpkg underneath to actually perform the install.
cat /etc/os-release — the same command introduced in Chapter 1 — reports the exact Debian or Ubuntu codename and version directly, useful before assuming which tier's own behavior (Stable's frozen packages vs. Testing's more frequent updates) actually applies to a given machine.
Hands-On Exercises
A user installs Debian Stable expecting the newest version of a popular application and finds an older one instead. Using this chapter's own warn-box, explain why this isn't a bug, and what two real options exist without abandoning Stable entirely.
📄 View solutionA .deb file downloaded directly from a vendor's website fails to install via dpkg with a dependency error, but installs successfully via apt using the same file. Explain why, using this chapter's own tool comparison.
📄 View solutionExplain why Ubuntu's own interim releases and LTS releases represent a genuinely different trade-off from each other, not just a shorter and longer version of the same thing.
📄 View solutionChapter 2 Quick Reference
- Debian's pipeline: Unstable (Sid) → Testing → Stable, with only security patches once Stable is frozen
- "Boring" is Debian's own stated, deliberate value — stability chosen consciously over freshness
- Ubuntu: built from Debian's own packages, released on its own interim (6-month) and LTS (2-year, 5-year support) cadence
- dpkg installs a single package with no dependency resolution; apt wraps it with dependency resolution and repository fetching
- Debian Stable's "old" package versions are the frozen-at-release trade-off working as intended, not neglect
- Next chapter: Fedora & RHEL — A Fast-But-Tested Middle Ground