There is a big misconception that in Debian all packages are outdated. This misunderstanding arises due to in stable releases packages receive mostly security updates and bug fixes. And between stable releases passes about a year. This is why users are waiting for programs functionality update for a long time (if they are on ‘stable’ release, which is most often used).
In this post, I will show how to install a package from ‘sid’ (unstable) repository. This is the repository where updates come first (and therefore it contains the freshest versions).
As an example, we will install the latest version of firefox (of course you can install other packages that you want).
Comparing the version in ‘sid’ repository with the version on the official website
First, lets take a look at current version of firefox in Debian ‘sid’ repository. The current version is 68.0.1:
On Mozilla website the latest firefox version exactly the same (68.0.1):
Let’s tune our Debian. We can expand it to install packages from ‘unstable’ repository when we want it (without changing the main repository used in the system).
Set up the system to install a certain package from ‘sid‘ repository in 4 steps
First we need to find out which release we are using. Perform lsb_release -a command:
lsb_release -a ... Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: testing <------- Here is the info Codename: bullseye
OK, I’m on testing release. Your release may differ (stable, oldstable). Remember your release.
Second, create and open 99defaultrelease file with any text editor in /etc/apt/apt.conf.d/ directory:
sudo nano /etc/apt/apt.conf.d/99defaultrelease
Add one of the following lines based on the system release.
Save and close it.
Third, create and open unstable.list file in /etc/apt/sources.list.d/ directory:
sudo nano /etc/apt/sources.list.d/unstable.list
Add the following lines inside it:
deb http://ftp.uk.debian.org/debian/ unstable main contrib non-free deb-src http://ftp.uk.debian.org/debian/ unstable main contrib non-free
You can select other server locations. Use this link (Need to replace only the URL address).
Fourth, update available packages information using apt update command. ‘Sid’ repository information will be downloaded:
sudo apt update
Now it is possible to install the latest firefox version from ‘sid’ reposity. Use -t unstable option:
sudo apt -t unstable install firefox
Here is an explanation of how this works:
sudo apt -t unstable install some_package <----- Install from sid (unstable) repository - the freshest packages sudo apt install some_package <------ Install from default repository
What’s happening when apt upgrade and apt dist-upgrade performs?
The package installed by this method will not be updated. To update the package use apt -t unstable install the_package command:
sudo apt -t unstable install the_package
Like that you update the package only when you want it. This will keep the system more stable.