Debian is one of the oldest and most influential Linux distributions: the project began in 1993, is run by a global community, and provides the foundation for many popular distributions — including Ubuntu, Kali Linux, Raspberry Pi OS, MX Linux, and Proxmox VE. What has kept it going is not the newest feature, but its stability and a release policy you can plan around.
This guide covers what Debian is, the philosophy behind it, how the Stable–Testing–Unstable branches work, how APT fits together, and why so many servers run it. If the basics of Linux still feel unfamiliar, start with our Linux guide, which covers the kernel, distributions, and the terminal.
Debian at a glance
- What it is: a community-run Linux distribution developed by the Debian Project.
- Since when: first released in 1993 by Ian Murdock; today one of the most influential open-source projects.
- Current stable release: Debian 13 trixie — released in August 2025 and still receiving regular point releases.
- Support: five years per release — three years of full support followed by two years of Long Term Support.
- Best for: production servers, workstations, homelabs, and systems that are set up once and kept running.
- Fastest payoff:
aptfor packages,systemctlfor services, and SSH for servers.
What is Debian?
Debian is a Linux-based operating system developed in the open by the Debian Project — a global community of developers, package maintainers, translators, documentation writers, and volunteers. No single company owns it; the project is legally represented by Software in the Public Interest.
Like any other Linux distribution, Debian is the Linux kernel plus a stack of software around it: system utilities, an init system, a package manager, a shell, and thousands of applications on top. What sets it apart is its defaults and project policy:
- packages in the
.debformat, managed with APT anddpkg; - official repositories holding tens of thousands of packages ready to install;
- a release policy that favours stability over the newest versions;
- support for many architectures, from
amd64andarm64toriscv64and IBM System z; - a commitment to free software through the Debian Social Contract and the Debian Free Software Guidelines.
Debian can serve as a desktop operating system, a production server, a development environment, a container host, or the system behind specialised hardware. The same packages, the same configuration, and the same commands apply in every one of those roles.
Why stability comes first
Debian takes a different path from many modern distributions. Rather than shipping the newest software as quickly as possible, packages enter the Stable branch only after extended testing and a waiting period. The reasoning is practical: large changes on a production system cause more problems than they solve.
The trade-off is real — some applications in Debian Stable are older. But security updates still ship quickly, the system’s behaviour rarely shifts under you, and documentation you read a year ago still applies today. For servers, office machines, or devices you would rather not upgrade often, that trade is usually worth it.
A short history
Ian Murdock introduced Debian in August 1993 as a distribution built openly — unusual for its time. The name Debian is a combination of Ian and Debra Lynn, his partner at the time.
From a small project handled by a handful of people, Debian grew into an international community of hundreds of Debian Developers, package maintainers, security and release teams, translators, and documentation writers. Some of the milestones:
- 1993 — the project starts and its first release is published openly.
- 1996 — version 1.1 Buzz, the first release to use a codename taken from a Toy Story character — a tradition that continues today.
- 1997 — the Debian Social Contract and the Debian Free Software Guidelines are written as the project’s guiding documents.
- 1999 — APT is introduced, changing how packages and their dependencies are managed.
- 2014 — the Long Term Support (LTS) project begins, extending the life of older releases.
- 2025 — Debian 13 trixie ships with non-free firmware support in the installer.
Debian’s influence shows in the number of distributions built on its packages. The best-known ones:
| Distribution | Usually used for |
|---|---|
| Ubuntu | desktop and server; the base for many further derivatives |
| Linux Mint Debian Edition | desktop for people arriving from other operating systems |
| Kali Linux | security testing and digital forensics |
| Raspberry Pi OS | the official system for Raspberry Pi devices |
| MX Linux | a light, stable desktop |
| Proxmox VE | virtualisation and container hosting |
The relationship runs both ways too: bug fixes and patches from downstream projects are frequently sent back to Debian, so the package base improves for everyone.
The Debian philosophy
Debian is strongly committed to free software, and that commitment is not a marketing line — it is written into official documents that guide the project’s technical decisions.
The Debian Free Software Guidelines (DFSG) define the criteria for calling a licence free by Debian’s standards: the freedom to use, study, modify, and redistribute software. The Debian Social Contract states the project’s promises to the community:
- Debian will remain a free operating system, usable and distributable by anyone;
- the project will give back to the free software community;
- problems and bugs will not be hidden from the public;
- the needs of users and the community come first;
- software that does not meet the DFSG will not be made part of the core system.
One detail is worth noting, because it comes up often: Debian does still ship proprietary firmware where hardware requires it, but places it in a clearly labelled, separate repository component instead of mixing it into the core. Users can see exactly what they are installing, and the option exists when it is genuinely needed.
That consistency is why Debian carries so much weight in the open-source community and why it is a reference point whenever free software is discussed.
How Debian releases are structured
Debian does not work like a single numbered version everyone runs. The project maintains several development branches at once, and you pick the one that fits your needs:
| Branch | Other name | Contents | Best for |
|---|---|---|---|
| Stable | the release codename (trixie) | the latest official release, fully tested packages | production servers, workstations, systems that rarely change |
| Testing | the next codename (forky) | packages queued for the next Stable release | wanting newer packages with moderate risk |
| Unstable | Sid | where active development happens | developers, package maintainers, experienced users |
| Experimental | — | packages not yet ready even for Sid | short-term testing by developers |
Every stable release gets a codename taken from a Toy Story character — buzz, bookworm,
trixie — while the Unstable branch is always called sid, the character who breaks toys. Those
names are not decoration: they appear in repository configuration, so recognising them matters when
you read documentation or write a sources.list.
Stable
Stable is Debian’s official release and the branch recommended for almost every serious use. Packages have been through long testing and a waiting period, so large changes are relatively rare. The current stable release is Debian 13 trixie, first released in August 2025 and updated with point releases at regular intervals.
The life cycle of a stable release runs for five years:
- Three years of full support — security updates and important fixes for all packages.
- Two years of Long Term Support (LTS) — security support continues, with the set of supported architectures liable to shrink.
After that, some releases can still receive Extended LTS from third parties. That is why Debian is often chosen for hardware that should not be reinstalled often: its stable releases give you a long, clear planning window.
Stable is typically used for:
- production servers and long-running services;
- workstations and office machines;
- container and virtualisation hosts;
- devices that demand long-term stability;
- systems whose installation must be reproducible years later.
Testing
Testing (forky) holds packages being prepared for the next Stable release. Its software is newer than Stable, but its reliability can shift during development — especially while large packages are being migrated.
This branch suits people who want a compromise: reasonably current software without tracking the pace of Sid. Keep in mind that security fixes reach Testing after they pass through Stable, so treat it as a choice for personal machines and experiments rather than a stand-in for Stable on critical public services.
Unstable (Sid)
Unstable, or Sid, is where new packages first enter Debian’s main ecosystem. Changes can arrive daily, and occasionally a package breaks temporarily before it is fixed.
The branch is aimed at developers, package maintainers, and experienced users who want to test the newest software. Because of that, Sid is a poor fit for production servers — but it is genuinely useful when you need to confirm that a fix or feature exists before it reaches Testing.
How to check which Debian version you are running
cat /etc/os-release # ID, VERSION_ID, and VERSION_CODENAME
lsb_release -a # version and codename summary (lsb-release package)
cat /etc/debian_version # version number, e.g. 13.7
apt policy # active repositories and their priorities
Those commands are also useful when you log into someone else’s server: you know immediately which branch you are dealing with before suggesting any changes.
Package management: dpkg and APT
One of Debian’s greatest strengths is its package management system — the same system inherited by Ubuntu and many other distributions. Two layers are worth understanding:
dpkgworks on a single package file. It installs, removes, and reports on.debpackages already on disk — but it does not resolve dependencies and does not download anything.- APT (Advanced Package Tool) works on top of
dpkg. It reads package lists from repositories, works out dependencies, downloads what is needed, and hands the installation todpkg.
In day-to-day work, APT handles almost everything:
sudo apt update # refresh package lists from the repositories
sudo apt upgrade # install updates for installed packages
sudo apt full-upgrade # upgrade that may add or remove packages if needed
sudo apt install nginx # install a new package
sudo apt search "web server" # search the repositories
sudo apt show nginx # show details, version, and dependencies
sudo apt remove nginx # remove a package, keeping configuration files
sudo apt purge nginx # remove the package and its configuration
sudo apt autoremove # clean up dependencies that are no longer needed
apt update and apt upgrade are deliberately separate: the first refreshes the package lists, the
second changes the system. Running update on its own is always safe, while upgrade on a server
is best done when you have time to review the result.
A few habits make package work safer:
- Read the list of packages that will change before confirming, especially for
full-upgrade. - Check release notes (
apt-listchanges) where available so you know about behaviour changes. - Do not mix repositories across branches casually; adding a Sid repository to a Stable system is a fast way to make that system unpredictable.
- Install only from official repositories or sources you genuinely trust.
A .deb file can also be installed straight from disk — useful for packages that are not in the
repositories:
sudo dpkg -i ./app_1.2.3_amd64.deb # install a single .deb file
sudo apt -f install # fix dependencies that are still missing
For desktop applications there are other delivery paths too, such as Flatpak, which bundles an application together with its dependencies. In practice, keep APT as the main route for system packages and use the extra routes only for applications that truly need a newer version.
Debian repository components
Debian’s repositories are split into components. That split is not a technicality: it is how the project labels how free a piece of software is, and it is why you sometimes need to add a component when hardware requires proprietary firmware.
| Component | Contents |
|---|---|
main |
software that fully complies with Debian’s free software guidelines |
contrib |
free software that depends on components outside main |
non-free |
software that does not meet Debian’s freedom guidelines |
non-free-firmware |
binary firmware required by some hardware |
security |
security updates from the Debian security team |
updates (formerly volatile) |
routine updates between point releases |
backports |
packages taken from a newer branch, installed selectively |
Repository entries live in /etc/apt/sources.list or in separate files under
/etc/apt/sources.list.d/. Recent Debian releases use the more readable deb822 format:
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
What is usually worth adding after installation:
non-free-firmwareif hardware such as a graphics card or Wi-Fi adapter needs firmware;securityso security updates are picked up automatically;backportswhen you need a newer version of one or two specific packages — not for the entire system.
Use official or nearby mirrors (deb.debian.org normally routes to a fast mirror automatically) so
package downloads stay efficient. The full list of releases and their support status is on the
Debian releases page — the most reliable source when you need to
confirm which versions still receive security updates.
Debian on servers
Debian has a strong reputation as a server operating system, and it is well earned: packages are stable, security updates have a clearly defined lifetime, and the system is minimal — no desktop layer a server does not need, and less surface to maintain.
Software commonly run on Debian:
- web servers and reverse proxies — Nginx, Apache, Caddy;
- databases — PostgreSQL, MariaDB/MySQL, SQLite;
- application runtimes — PHP-FPM, Node.js, Python, Ruby, Java;
- network services — DNS (BIND, Unbound), mail (Postfix, Dovecot), files (Samba, NFS);
- containers and virtualisation — Docker, Podman, KVM/QEMU, LXC, Proxmox VE;
- infrastructure — HAProxy, WireGuard, Prometheus, Grafana, Ansible.
A typical first web server setup on a fresh Debian install:
sudo apt update
sudo apt install nginx
sudo systemctl enable --now nginx
systemctl status nginx
ss -tulpn | grep :80 # confirm Nginx is actually listening on port 80
The order we usually work through on a new server:
- Create a non-root account with
sudo, then log in with an SSH key — not a password. - Enable a simple firewall, for example
sudo apt install ufwthensudo ufw allow OpenSSH && sudo ufw enable. - Turn on automatic security updates for security packages.
- Ensure the clock is synchronised and set up basic monitoring.
- Set up backups whose restore you have actually tested.
For the wider picture of hosting and delivery, see the Server topic; day-to-day operational habits are in Ops. If you are weighing Debian against the alternative most often considered for servers, see the comparison below and our Ubuntu guide in this topic.
Debian on the desktop
Debian is not only for servers. Its desktop release is often chosen by people who want a calm system — no sudden interface changes, no advertising in the application menu, and no reinstall every six months.
During installation you choose the desktop environment you want:
| Desktop | Character | Best for |
|---|---|---|
| GNOME | modern, clean, activity-based | general users, modern laptops |
| KDE Plasma | highly customisable | people who want fine-grained control |
| Xfce | light and classic | older machines or limited resources |
| Cinnamon | familiar to Windows users | those arriving from another system |
| MATE | continuation of the classic desktop | users who prefer the older layout |
| LXQt | the most resource-efficient | low-specification machines |
If you installed without a desktop (a minimal installation) and want to add one later, the task packages keep it tidy:
sudo apt install task-xfce-desktop # or task-gnome-desktop, task-kde-desktop
sudo apt install firmware-linux # extra firmware for certain devices
For everyday use, applications come from the official repositories: Firefox, LibreOffice, Thunderbird, GIMP, Inkscape, and the rest. Note that some browsers and applications maintain their own repositories because the version in Stable is considered too old — one of the trade-offs that comes with choosing Debian.
One thing that makes the Debian desktop practical: the system concepts match the server. Directory structure, package management, file permissions, and terminal commands are identical, so habits built on a laptop carry straight over to server work.
Security in Debian
Debian follows the same Linux permission model as other distributions: every file has an owner and
an access mode, and privileged commands run through sudo rather than by logging in as root. What
sets it apart is the process behind that: the Debian security team tracks vulnerabilities,
publishes Debian Security Advisories (DSAs), and delivers fixes through the security repository
for every release still supported.
It is also worth separating two things:
- Security updates for active Stable and LTS releases — these are the ones to install promptly.
- Feature updates from Testing or Sid — not the right channel for a production server.
The early steps that make the biggest difference:
- Update regularly:
sudo apt update && sudo apt upgrade. - Install
unattended-upgradesso security fixes do not wait for a manual schedule. - Use SSH keys, and disable password and direct
rootlogins. - Limit open ports to SSH, HTTP/HTTPS, and services you actually run.
- Check what is running:
systemctl list-units --type=service --state=running. - Use
sudo, and give each person who accesses the server a separate account. - Keep important configuration in Git rather than only on the server.
For stricter requirements, Debian provides apparmor to constrain what a program may access,
apt-listchanges to review changes before an upgrade, and package verification based on digitally
signed release files — so the packages you download can be checked for authenticity.
Where Debian is strong
- Stable and predictable. Large package changes are rare, so production systems are not easily disturbed.
- Free and open source. No licence costs; the source can be read, modified, and redistributed under its licences.
- Very large repositories. Tens of thousands of packages ready to install, including plenty of server libraries and tools that other distributions rarely carry.
- A clear support cycle. One stable release equals five years of support, so upgrades can be planned well in advance.
- Many supported architectures. From
amd64andarm64toriscv64and IBM System z. - Community-run, not company-run. No single vendor’s product decision can change the project’s direction.
- Tidy documentation and policy. The Debian Policy Manual, Release Notes, and wiki describe how the system is supposed to behave.
- A broad foundation. Fixes that land in Debian also benefit Ubuntu, Kali Linux, Raspberry Pi OS, and other derivatives.
- A small footprint. A minimal installation runs happily on modest hardware or a small VPS, without spending resources on things it does not use.
Where Debian asks more from you
- Software versions in Stable can lag. Some desktop applications and language runtimes are older than in fast-moving distributions. The usual answers are backports, official application repositories, or containers.
- Some configuration assumes Linux knowledge. Basic installation is straightforward, but repositories, firmware, services, and file permissions all call for terminal familiarity.
- Some hardware needs extra firmware. Particularly devices whose chipsets rely on proprietary
firmware. Support keeps improving, but the
non-free-firmwarecomponent still has to be added sometimes. - Releases are not date-locked. Debian ships a new stable version when it is ready, so timelines can slip.
- Some commercial applications are unavailable. A number of applications that are standard on Windows or macOS have no official Linux version.
- There is still a learning curve. As with any distribution, understanding permissions, services, and networking takes time.
Most of these depend on your hardware and what you need to do, not on Debian being inherently lacking.
Debian vs Ubuntu
Because the two are often considered together — and because Ubuntu is built on Debian — the comparison comes up constantly. In short, they share the same raw material but optimise it for different things:
| Aspect | Debian | Ubuntu |
|---|---|---|
| Maintained by | the Debian Project community | Canonical together with its community |
| Base | independent | Debian (.deb format, APT) |
| Release cadence | when ready, roughly every two years | every six months; LTS every two years |
| Support lifespan | five years per stable release | five years for LTS, extendable |
| Package freshness | more conservative | newer, especially on the desktop |
| Default setup | minimal, chosen at install time | ready to use, many bundled choices |
| Commercial support | none; community, vendors, or third-party LTS | Ubuntu Pro and support options from Canonical |
| Best for | people who want control and long-term stability | beginners, ready-made desktops, teams needing official support |
As a result, newcomers who want a lot of things working out of the box often choose Ubuntu, while people who want a minimal, flexible, long-lived system often consider Debian. For the LTS cycle, desktop flavours, and the commands worth learning first, see our Ubuntu guide in this topic.
Neither choice is always better. They serve different needs and preferences — and since both use APT, moving between them does not mean starting over.
Who Debian suits
Debian can be a good fit for:
- system administrators who want a minimal system whose behaviour does not shift every month;
- software developers who need an environment close to production;
- production servers — web, database, DNS, mail, or application servers;
- container and virtualisation hosts, including Proxmox VE;
- homelabs and self-hosted servers that run for years without a reinstall;
- anyone learning Linux administration in depth, because many system decisions are explicit and documented;
- older hardware that still has life left — pick a light desktop such as Xfce or LXQt.
Debian is also usable by beginners, particularly the desktop release with its graphical installer. What it still asks for is a willingness to learn Linux concepts — file permissions, packages, services, networking — because that is where most troubleshooting time goes. If your priority is a desktop that demands as little initial configuration as possible, Ubuntu is usually the friendlier first step.
Frequently asked questions
Is Debian free?
Yes. Every Debian release can be downloaded and used at no cost, on desktops and servers, with no licence fees. What Debian does not provide is official commercial support; that usually comes from third-party vendors, whereas Ubuntu offers it through Ubuntu Pro.
What is the difference between Debian Stable, Testing, and Unstable?
Stable is the latest official release with fully tested packages — the right branch for production servers. Testing holds packages queued for the next stable release, with newer versions but more risk of change. Unstable (Sid) is where active development happens: suitable for developers and testers, not for services that must always be available.
What is Debian Sid?
Sid is the permanent name of the Unstable branch, taken from the Toy Story character who breaks toys — a reminder that packages here can change or break at any time. Packages that pass testing in Sid migrate to Testing, and eventually become part of the next stable release.
Is Debian good for production servers?
Yes — it is one of its main uses. Run the Stable branch, install only the services you need, enable a firewall and automatic security updates, and administer the server over SSH with keys. Do not mix Testing or Sid repositories into a production server.
How long is a Debian version supported?
Five years per stable release: three years of full support followed by two years of Long Term Support. The current stable release, Debian 13 trixie, shipped in August 2025 — full support runs until August 2028 and LTS until mid-2030. Older releases can be extended further through third-party Extended LTS.
Is Debian better than Ubuntu?
Neither is better in general terms. Debian wins when you want a minimal system that stays stable for
years and is entirely community-run. Ubuntu wins when you want a ready-to-use system, newer desktop
packages, and a commercial support path. Both use APT and the .deb format, so skills from one
transfer to the other.
Can Debian be upgraded without reinstalling?
Yes. Debian is designed so that one stable release can be upgraded to the next, typically by
changing the codename in the repository list and running sudo apt update followed by
sudo apt full-upgrade. The full procedure is always documented in the target release’s
Release Notes, and it is worth rehearsing on a test machine or with a restorable backup first.
Where to go next
Debian is one of the most important projects in the history of Linux and free software. Its focus on stability, security, free software, and community development keeps it relevant across a wide range of uses — from desktop computers to production servers, from small homelabs to virtualisation infrastructure.
APT package management, extensive repositories, support for many architectures, and a five-year release cycle make it a flexible and dependable operating system. To understand the fundamentals Debian builds on — the kernel, distributions, and the terminal — our Linux guide in this topic is the right place to start. Compare it with our Ubuntu guide if you are weighing the desktop side, and see the Server and Ops topics for the hosting and operations view.
Running Debian in production and want the setup reviewed? Send us a short description of your environment and we will help you prioritise updates and hardening.
