Debian is a free Linux-based operating system for laptops, desktop computers and servers. It combines the Linux kernel with a collection of packaged applications, development tools and system services. The same distribution can provide a graphical workspace or a system administered through a command line, with software selected from Debian’s package archive.
Debian packages
Debian manages applications and their supporting components as packages. A package records which other packages it needs, which versions are compatible and which packages conflict with it. APT uses those relationships when adding or updating software, so choosing an application also brings in the libraries and other required components.
The package tools can search the archive, display descriptions and manage installed software. The apt command provides these operations in a terminal, while aptitude offers a text interface with browsable package lists. Graphical tools such as Synaptic and GNOME Software provide other ways to work with the package system.
Refreshing the package index retrieves information about available software; it does not itself upgrade installed programs. An upgrade uses that information to select and download replacement packages. Debian also distinguishes removing a package while retaining its configuration from purging its configuration as well. Automatically installed dependencies can be removed when nothing needs them any longer.
Archive areas and licensing
The main archive contains free software that users can use, modify and redistribute. Separate contrib, non-free and non-free-firmware areas cover different licensing and dependency situations. Contrib contains freely licensed packages that depend on non-free software, while non-free-firmware supplies device firmware under more restrictive terms.
Release branches
Debian’s release branches differ in how new their packages are and how they receive security updates.
| Branch | Packages | Security updates |
|---|---|---|
| Stable | A consistent collection that does not continually move to every new upstream release | Security and important usability fixes |
| Testing | Packages being prepared for the next stable release | Security team updates arrive less promptly than for stable |
| Unstable | Newer packages earlier; can include faults that affect the whole system | No support from the security team |
Debian can update individual packages and upgrade an existing system to a new distribution release. Its package tools distinguish an upgrade that leaves other packages installed from a full upgrade that may remove packages to resolve changing dependencies. Automatic security updates are available through the unattended-upgrades package.
Desktop environments
Debian offers several graphical desktops, including GNOME, KDE Plasma, Xfce, MATE, Cinnamon and LXQt. Desktop task packages collect the components for a chosen environment. The choice determines the desktop shell, settings tools and surrounding interface.
Applications are not confined to the desktop family they were built for. Debian can, for example, run a KDE application in a GNOME session while installing its required libraries.
System services
Debian uses systemd to start and supervise services. Service definitions describe the processes to run and their relationships to other parts of the system. Administrators use systemctl to inspect status, start or restart a service and control whether it starts automatically.
The journal collects messages from the kernel and system services. With journalctl, an administrator can view messages from a particular boot, restrict the view to one service or follow new entries as they arrive.






