Objective
This article explains a system upgrade procedure from Debian 9 Stretch Linux to Debian 10 Buster.What's New
- UEFI Secure Boot
- AppArmor enabled per default
- Optional hardening of APT
- Unattended-upgrades for stable point releases
- Substantially improved man pages for German speaking users
- Network filtering based on nftables framework by default
- Cryptsetup defaults to on-disk LUKS2 format
- driverless printing with CUPS 2.2.10
- Basic support for Allwinner A64 based devices
Preparations
Given that the Debian is an extremely robust Linux distribution, combined with the fact that there is nothing certain in life, the chances are, that after the upgrade you may end up with a broken system. Therefore, it is necessary to point out that no system upgrade is bulletproof and you should discuss, prepare and possibly test any proper fail-over or recovery process prior the proposed system upgrade to Debian Buster. For a more robust or production systems, you are recommended to read the official Debian upgrade guide before proceeding.
aptitude
command might help you to find any 3rd party software package currently installed on your Debian system. # aptitude search '~i(!~ODebian)'The above command will list all packages which are no longer in a standard repository list since they were removed; thus they were rendered obsolete, or the 3rd party packages which were installed manually.
Perform a full backup of data and manual configuration files residing on your current system. For example, these may include but not limited to user home directories, databases, websites, etc. In case you run Debian Linux virtually take a snapshot just in case something goes wrong during the Buster upgrade.
Subscribe to Linux Career NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.
Buster Full Upgrade
Before we move on with the upgrade, let's fully upgrade our current Debian Jessie system:# apt-get update # apt-get upgrade # apt-get dist-upgradeIf everything went smoothly, perform database sanity and consistency checks for partially installed, missing and obsolete packages:
# dpkg -CIf no issues are reported, check what packages are held back:
# apt-mark showholdPackages
On Hold
will not be upgraded, which may cause inconsistencies after Buster upgrade. Before you move to the next part, it is recommended to fix all issues produced by both above commands. The following command might be of a further assistance: # dpkg --audit
Update Package Repository to Debian Buster
Now, that we have a current system fully upgraded, it is time to re-synchronize the package index files with new Debian Buster sources. This is done by editing/etc/apt/sources.list
file to include Debian stretch
package repository. First, make a backup the current /etc/apt/sources.list
: # cp /etc/apt/sources.list /etc/apt/sources.list_backupExecute
apt edit-sources
or use your favourite text editor e.g., VIM to modify a current /etc/apt/sources.list
file to include stretch repositories. Simply update keyword stretch
to buster
. Example:
FROM STRECTH: deb http://httpredir.debian.org/debian stretch main deb http://httpredir.debian.org/debian stretch-updates main deb http://security.debian.org stretch/updates main TO BUSTER: deb http://httpredir.debian.org/debian buster main deb http://httpredir.debian.org/debian buster-updates main deb http://security.debian.org buster/updates mainAlternatively, use a
sed
command to automate this tedious task: # sed -i 's/stretch/buster/g' /etc/apt/sources.listOnce the above
/etc/apt/sources.list
file edit is completed, use apt-get
command to update packages index: # apt update
Upgrade to Debian Buster Simulation
Before we hit the UPGRADE button, let's useapt
command to see a preview of what we are facing. To do this execute apt list --upgradable
command in order to get a quick survey of the number of packages to be installed, updated and removed without affecting the system. # apt list --upgradable
Upgrade to Debian Buster
We have come to the most exciting part, which is the actual Stretch upgrade to Debian Buster system. During the upgrade you may be asked:There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart. You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade.The choice is about whether you wish the system to restart your services automatically during the system upgrade or you wish to do it manually or after the system is fully upgrade to Buster. When ready, execute the bellow commands to commence the Debian Buster upgrade process:
Restart services during package upgrades without asking?
# apt-get upgrade # apt-get dist-upgradeAt this stage you should have your Stretch Debian Linux system fully upgraded to Debian Buster 10. Follow, this guide to check your current Debian version. Once again check for obsolete packages so there are no surprises down the track:
# aptitude search '~i(!~ODebian)'Congratulations to your fully upgraded Debian 9 Stretch Linux system.