You are running Debian stable because you prefer the stable Debian tree. It runs great, there is just one problem: The software is a little bit outdated compared to other distributions. That is where backports come in.
Backports are recompiled packages from testing (mostly) and unstable (in a few cases only, e.g. security updates), so they will run without new libraries (wherever it is possible) on a stable Debian distribution. It is recommended to pick out single backports which fit your needs, and not to use all backports available.
This article illustrates how to:
- configure your stable system to use the Backports repository
- find a specific backport
- install packages from the repository
- have your backports upgraded automatically
For official instructions on how to use Debian Backports, visit https://backports.debian.org/Instructions/.
If you want to create a non-official backport of a package you need, have a look at SimpleBackportCreation.
If you want to build a backport with the intent of sharing it with others within Debian, see the BuildingFormalBackports page.
Configuring your stable system
In the following example, we will use buster as the current codename for Debian Stable. Please adjust the codename accordingly if you are using a different version of Debian.
Adding the repository
- Open Synaptic
Go to "Settings -> Repositories":
In the following dialog box, select the tab "Third-Party Software" and click on the "Add..." button in the lower left corner:
Copy the repository below, then hit the "Add Source" button:
deb http://deb.debian.org/debian buster-backports main contrib non-free
(This line is available only after the release of Debian buster)
deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free
(This line is available only after the release of Debian bullseye. Using it before the release of Debian bullseye will cause errors!)
Finally, hit the "Reload" button in Synaptic's main panel to update the repository information on your system.
Using the command line
Become root and open the file /etc/apt/sources.list in your favorite editor:
human@debian:~$ su Password: debian:/home/human# nano /etc/apt/sources.list
Add the following lines:
# Backports repository deb http://deb.debian.org/debian buster-backports main contrib non-free # available after buster release #deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release
If you are a free software enthusiast, you might want to remove the contrib and non-free sections. (See Debian package management for details.)
Now that you have added the repository, update APT's cache to include the backports in the list of available packages:
debian:/home/human# aptitude update
There are a several different ways to find out if a backport of a certain Debian package exists. A pretty convenient one is using Debian's web-based package search (packages.debian.org). If you are running Iceweasel, simply use the built-in search plugin (Deb Search).
Installing backports on the command line
The backports repository is deactivated by default. So, if you want to install a backported package, you will have to state that explicitly.
debian:/home/human# aptitude -t buster-backports install cockpit
The -t option here specifies buster-backports as the target release. This would install a newer version of Cockpit and all its reverse dependencies from buster-backports instead of the older one from Debian stable release.
Because of limitations in the Debian Bug Tracking System, any bugs relevant to backported packages still have to be reported to the debian-backports list.
Migrate from backports.org to backports.debian.org
On Sept. 5th, 2010, Backports became an official service (see announcement).
Systems configured to use backports.org should be reconfigured to use the new repository/URL (in /etc/apt/sources.list*), since backports.org service is already stopped.
replace backports.org with http://deb.debian.org/debian in /etc/apt/sources.list*.
run aptitude update
- remove the backports.org key from your keyring. Depending how you installed it...
apt-get purge debian-backports-keyring
apt-key del 16BA136C
List installed backports
Out of all installed packages, which ones are backports? One way to tell is by version: all backports are tagged with ~bpo, for example, 24.5+1-6~bpo8+1, so at the command line you might say:
dpkg-query -W | grep '~bpo'
backports.debian.org for more information
Article about backports on cliss21.com: The article contains information on how to backport packages as well as some step-by-step simple examples to start with.
Diffs between buster-backports and bullseye: A useful comparison of package versions in buster-backports and bullseye.