Petter Holt Juliussen • Mail | Mastodon | GitHub | Letterboxd

for later reference.

Upgrade Raspbian


Start by fully upgrade your current Raspbian system before you proceed with the upgrade:

apt-get update
apt-get upgrade

upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.

Upgrade any held back packages.

apt-get dist-upgrade

dist-upgrade in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. So, dist-upgrade command may remove some packages. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for overriding the general settings for individual packages.

Check for any system inconsistencies or broken packages. Perform database sanity and consistency checks for partially installed, missing and obsolete packages:

dpkg -C

If no issues are reported, check what packages are held back:

apt-mark showhold

Packages On Hold will not upgrade and may cause inconsistencies after the upgrade. It is suggested to fix all issues provided by both above commands.

Next, update your /etc/apt/sources.list to include new Stretch repositories.

sed -i 's/jessie/stretch/g' /etc/apt/sources.list

The above command will replace any Jessie keyword occurrence to Stretch thus effectively enabling new Stretch repositories. Once your /etc/apt/sources.list is updated to included Stretch repositories, update your local package index with:

apt-get update

Used the bellow command to see what we are facing. It is a simulated dry-run thus not system changes will be implemented.

apt-get --simulate upgrade

When ready, execute the bellow commands to commence the Debian Stretch upgrade process:

apt-get upgrade
apt-get dist-upgrade

All done. Reboot the system.