Manually upgrade from Buster to Bullseye

Intro

This simple tutorial displays how to upgrade your stable Debian OS to testing. The procedure displayed here is based on an upgrade from Debian Buster to Debian Bullseye, which is an upgrade from stable to testing at the time of writing. Despite that, this tutorial most likely can be used in the future just as well, as the only things that should change are the code names for the at the time current stable and testing distributions.

Step By Step

1. Get the current OS information for reference

head -1 /etc/os-release

This should have the following output: PRETTY_NAME="Debian GNU/ 10 (buster)"

2. Find the right repositories

1. Visit https://www.debian.org/mirror/list 2. CTRL+F your country or area. 3. Pick an appropriate mirror.

Almost all mirrors should be fine, if you are on a generic computer. If you are using an embedded device or something else special, be careful that you select a mirror that supports your requested architecture.

3. Upgrade the repository list

Open up your /etc//sources.list : sudo -sapt edit-sources

Then comment out the existing entries by prepending each non-empty line with a pound key:

#deb http://deb.debian.org/debian buster main#deb http://deb.debian.org/debian buster-updates

main

#deb http://security.debian.org/debian-security/ buster/updates main

#deb http://ftp.debian.org/debian buster-backports main

You can remove the pound key later, if you made a mistake and want to retrieve to the initial starting point.

Now add the new URLs, mainly replacing buster with bullseye in this example:

deb http://deb.debian.org/debian bullseye main contrib non-freedeb

http://deb.debian.org/debian bullseye-updates main contrib non-freedeb

http://security.debian.org/debian-security bullseye-security main

deb http://ftp.debian.org/debian bullseye-backports main contrib non-free

Test if the sources.list configuration is correct:

apt update

If you don't see any errors, you upgraded the list correctly.

4. Perform a backup

It is extremely important to never rely that an upgrade of any sorts will go fine.

Therefore, issuing a Backup of the entire OS is strongly recommended, before proceeding.

5. Upgrade the system

Now, only after you performed a full system backup, upgrade your system:

apt update

apt full-upgrade && \

echo FINE || \echo FAIL

If everything went fine, proceed with the next step. 6. Check the reference made in step 1

Compare the output of the command from step 1 with its output now:

head -1 /etc/os-release

Should now result in: PRETTY_NAME="Debian GNU/Linux bullseye/sid"

Troubleshooting

1. If you encounter an error that resembles the following output:

apt full-upgrade

Reading package lists... Done

Building dependency tree

Reading state information... Done

Calculating upgrade... Error!Some packages could not be installed. This may mean that you have

requested an impossible situation or if you are using the unstabledistribution that some

required packages have not yet been created

or been moved out of Incoming.

The following information may help to resolve the situation:

The following packages have unmet dependencies: libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~)

but 8.3.0-6+rpi1 is to be installed

E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Then you need to do the following to fix it:

apt install gcc-8-base

Then, try apt full-upgrade again. It will work now.

2. If you encounter an error that resembles the following output:

Errors were encountered while processing: /tmp/apt--install-bOwYmi/226-libjs-

jquery_3.5.1+dfsg-4_all.deb

E: Sub-process /usr/bin/dpkg returned an error code (1) ....

....

....

.... perl: warning: Setting locale failed.perl: warning: Please check that your locale settings:

LANGUAGE = (unset),

LC_ALL = "en_GB.UTF-8",

LC_TIME = "en_GB.UTF-8",

LC_CTYPE = "en_GB.UTF-8",

LANG = "en_US.UTF-8"

are supported and installed on your system.perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_ALL to default locale: No such file or directorySetting up apt (2.1.7)

...

Installing new version of config file /etc/apt/apt.conf.d/01autoremove ...Installing new version of config file /etc/cron.daily/apt-compat ...apt-daily-upgrade.timer is a disabled or a static unit not running, not starting it.apt-daily.timer is a disabled or a static unit not running, not starting it.

Setting up mime-support (3.64) ...Installing new version of config file /etc/mime.types ...

Setting up libmpdec2:armhf (2.4.2-3) ...Setting up libpython3.8-stdlib:armhf (3.8.5-1) ...

Setting up python3.8 (3.8.5-1) ...

Setting up libpython3-stdlib:armhf (3.8.2-3) ...

Setting up python3 (3.8.2-3) ... running python rtupdate hooks for python3.8...running python post-rtupdate hooks for python3.8...

Setting up distro-info-data (0.44) ...

Setting up lsb-release (11.1.0) ...

Setting up libsigsegv2:armhf (2.12-2) ...(Reading database ... 107447 files and directories currently installed.)

Preparing to unpack .../libjs-jquery_3.5.1+dfsg-4_all.deb ...dpkg-maintscript-helper: error: file '/usr/share/javascript/jquery' not owned by package 'libjs-jquery:all'dpkg-maintscript- helper: error: file '/usr/share/javascript/jquery/jquery.min.js' not owned by package 'libjs- jquery:all'dpkg-maintscript-helper: error: file '/usr/share/javascript/jquery/jquery.min.map' not owned by package 'libjs-jquery:all'dpkg-maintscript-helper: error: file

'/usr/share/javascript/jquery/jquery.js' not owned by package 'libjs-jquery:all'dpkg- maintscript-helper: error: directory '/usr/share/javascript/jquery' contains files not owned by package libjs-jquery:all, cannot switch to symlinkdpkg: error processing archive

/var/cache/apt/archives/libjs-jquery_3.5.1+dfsg-4_all.deb (--unpack): new libjs-jquery package pre-installation script subprocess returned error exit status 1Errors were

encountered while processing:

/var/cache/apt/archives/libjs-jquery_3.5.1+dfsg-4_all.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

Then you need to do the following to fix it:

dpkg --configure -a

3. If you encounter an error that resembles the following output:

Setting up zfsutils-linux (0.8.4-2) ...zfs-import-scan.service is a disabled or a static

unit, not starting it.Job for zfs-import-cache.service failed because the control process

exited with error code.See "systemctl status zfs-import-cache.service" and "journalctl -xe"

for details.

zfs-import-scan.service is a disabled or a static unit, not starting it.Job for zfs-import-

cache.service failed because the control process exited with error code.See "systemctl status

zfs-import-cache.service" and "journalctl -xe" for details.Job for zfs-mount.service failed

because the control process exited with error code.See "systemctl status zfs-mount.service"

and "journalctl -xe" for details.

invoke-rc.d: initscript zfs-mount, action "start" failed.● zfs-mount.service - Mount ZFS

filesystems Loaded: loaded (/lib/systemd/system/zfs-mount.service; enabled; vendor

preset: enabled) Active: failed (Result: exit-code) since Sat 2020-08-01 22:02:15 CEST;

28ms ago

Docs: man:zfs(8) Process: 23251 ExecStart=/sbin/zfs mount -a (code=exited,

status=127)

Main PID: 23251 (code=exited, status=127)dpkg: error processing package zfsutils-linux (--

configure): installed zfsutils-linux package post-installation script subprocess returned

error exit status 1

Setting up udev (245.6-2) ...Job for systemd-udevd.service failed because the control process

exited with error code.See "systemctl status systemd-udevd.service" and "journalctl -xe" for

details.

invoke-rc.d: initscript udev, action "restart" failed.● systemd-udevd.service - udev Kernel

Device Manager Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor

preset: enabled) Active: activating (start) since Sat 2020-08-01 22:02:21 CEST; 24ms ago

TriggeredBy: ● systemd-udevd-kernel.socket

● systemd-udevd-control.socket Docs: man:systemd-

udevd.service(8)

man:udev(7) Main PID: 23358 (systemd-udevd)

Tasks: 1

Memory: 156.0K

CGroup: /system.slice/systemd-udevd.service

└─23358 [systemd-udevd] dpkg: error processing package udev (--configure): installed udev package post-installation script subprocess returned error exit status 1dpkg: dependency problems prevent configuration of udisks2:

udisks2 depends on udev; however:

Package udev is not configured yet. dpkg: error processing package udisks2 (--configure): dependency problems - leaving unconfigured

Errors were encountered while processing:

zfsutils-linux

udev

udisks2

E: Sub-process /usr/bin/dpkg returned an error code (1)

....

....

....

.... dpkg --configure udev

Setting up udev (245.6-2) ...Job for systemd-udevd.service failed because the control process exited with error code.See "systemctl status systemd-udevd.service" and "journalctl -xe" for details. invoke-rc.d: initscript udev, action "restart" failed.● systemd-udevd.service - udev Kernel

Device Manager Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor preset: enabled) Active: activating (start) since Sun 2020-08-02 00:47:34 CEST; 25ms ago

TriggeredBy: ● systemd-udevd-kernel.socket

● systemd-udevd-control.socket Docs: man:systemd- udevd.service(8)

man:udev(7)

Main PID: 26603 (systemd-udevd)

Tasks: 1

Memory: 236.0K

CGroup: /system.slice/systemd-udevd.service

└─26603 [systemd-udevd] dpkg: error processing package udev (--configure): installed udev package post-installation script subprocess returned error exit status 1 Errors were encountered while processing:

udev

....

....

....

....

systemctl status systemd-udevd.service● systemd-udevd.service - udev Kernel Device

Manager Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2020-08-02 00:47:35 CEST; 1min 22s ago

TriggeredBy: ● systemd-udevd-kernel.socket

● systemd-udevd-control.socket Docs: man:systemd- udevd.service(8)

man:udev(7) Process: 26611 ExecStart=/lib/systemd/systemd-udevd (code=exited, status=127)

Main PID: 26611 (code=exited, status=127)

....

....

....

.... apt install -f zfsutils-linux

Reading package lists... Done

Building dependency tree

Reading state information... DoneThe following packages were automatically installed and are no longer required: binfmt-support bsdmainutils calendar dh-python e2fslibs g++-6 gir1.2- glib-2.0 gnupg-agent libapt-inst2.0 libapt-pkg5.0 libatasmart4 libbind9-140 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev- utils2 libblockdev2 libcryptsetup4 libcwidget3v5 libdbus-glib-1-2 libdns-export162 libdns162 libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5 libgdbm3 libgirepository-

1.0-1 libgudev-1.0-0 libhogweed4 libhttp-parser2.1 libicu64 libidn11 libip4tc0 libip6tc0 libiptc0 libisc-export160 libisc160 libisccc140 libisccfg140 libllvm4.0 liblogging-stdlog0 liblwres141 libmagickcore-6.q16-3 libmagickwand-6.q16-3 libncursesw5 libncursesw5-dev libnettle6 libntfs-3g871 libpam-systemd libparted-fs-resize0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl5.24 libpolkit-agent-1-0 libpolkit-gobject-1-0 libprocps6 libpython3.5 libpython3.5-dev libpython3.5-minimal libpython3.5-stdlib libreadline7 librpm3 librpmbuild3 librpmio3 librpmsign3 libruby2.3 libsodium18 libstd-rust-1.24 libstdc++-6-dev libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libtinfo-dev libudisks2-0 libunistring0 libustr-1.0-1 multiarch-support ncal netcat-traditional node-jquery perl- modules-5.24 python-gi python-gobject python3-mock python3-pbr python3-pyasn1 python3.5 python3.5-dev python3.5-minimal ruby-did-you-mean ruby-trollop ruby2.3Use 'apt autoremove' to remove them.

Suggested packages:

samba-common-bin zfs-initramfs | zfs-dracut

Recommended packages:

zfs-zed

The following NEW packages will be installed:

zfsutils-linux

0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.Need to get 0 B/375 kB of archives.

After this operation, 1,120 kB of additional disk space will be used.Selecting previously unselected package zfsutils-linux.(Reading database ... 107077 files and directories currently installed.)

Preparing to unpack .../zfsutils-linux_0.8.4-2_armhf.deb ...Unpacking zfsutils-linux (0.8.4-

2) ...

Setting up zfsutils-linux (0.8.4-2) ...Created symlink /etc/systemd/system/zfs- import.target.wants/zfs-import-cache.service → /lib/systemd/system/zfs-import-cache.service.

Created symlink /etc/systemd/system/zfs.target.wants/zfs-import.target →

/lib/systemd/system/zfs-import.target.Created symlink /etc/systemd/system/zfs- mount.service.wants/zfs-load-module.service → /lib/systemd/system/zfs-load-module.service.

Created symlink /etc/systemd/system/zfs.target.wants/zfs-load-module.service →

/lib/systemd/system/zfs-load-module.service.Created symlink

/etc/systemd/system/zfs.target.wants/zfs-mount.service → /lib/systemd/system/zfs- mount.service.Created symlink /etc/systemd/system/zfs.target.wants/zfs-share.service →

/lib/systemd/system/zfs-share.service.Created symlink /etc/systemd/system/zfs- volumes.target.wants/zfs-volume-wait.service → /lib/systemd/system/zfs-volume-wait.service.

Created symlink /etc/systemd/system/zfs.target.wants/zfs-volumes.target →

/lib/systemd/system/zfs-volumes.target.Created symlink /etc/systemd/system/multi- user.target.wants/zfs.target → /lib/systemd/system/zfs.target.zfs-import-scan.service is a disabled or a static unit, not starting it.Failed to start zfs-import-cache.service: Unit systemd-udev-settle.service not found.Failed to start zfs-load-module.service: Unit systemd- udev-settle.service not found.zfs-import-scan.service is a disabled or a static unit, not starting it.Failed to start zfs-import-cache.service: Unit systemd-udev-settle.service not found.

Failed to start zfs-load-module.service: Unit systemd-udev-settle.service not found.Job for zfs-mount.service failed because the control process exited with error code.See "systemctl status zfs-mount.service" and "journalctl -xe" for details.invoke-rc.d: initscript zfs-mount, action "start" failed.

● zfs-mount.service - Mount ZFS filesystems Loaded: loaded (/lib/systemd/system/zfs- mount.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since

Sun 2020-08-02 00:54:24 CEST; 32ms ago

Docs: man:zfs(8) Process: 28429 ExecStart=/sbin/zfs mount -a (code=exited,

status=127)

Main PID: 28429 (code=exited, status=127)dpkg: error processing package zfsutils-linux (--

configure): installed zfsutils-linux package post-installation script subprocess returned

error exit status 1

Processing triggers for man-db (2.9.3-2) ...Processing triggers for systemd (245.6-2) ...

Errors were encountered while processing:

zfsutils-linux

E: Sub-process /usr/bin/dpkg returned an error code (1)

....

....

....

....dpkg-maintscript-helper: error: file '/usr/share/javascript/jquery' not owned by package

'libjs-jquery:all'dpkg-maintscript-helper: error: file

'/usr/share/javascript/jquery/jquery.min.js' not owned by package 'libjs-jquery:all'dpkg-

maintscript-helper: error: file '/usr/share/javascript/jquery/jquery.min.map' not owned by

package 'libjs-jquery:all'dpkg-maintscript-helper: error: file

'/usr/share/javascript/jquery/jquery.js' not owned by package 'libjs-jquery:all'dpkg-

maintscript-helper: error: directory '/usr/share/javascript/jquery' contains files not owned

by package libjs-jquery:all, cannot switch to symlinkdpkg: error processing archive /tmp/apt-

dpkg-install-ax32qV/14-libjs-jquery_3.5.1+dfsg-4_all.deb (--unpack): new libjs-jquery package

pre-installation script subprocess returned error exit status 1Preparing to unpack .../15-

linux-libc-dev_5.7.10-1_armhf.deb ...Unpacking linux-libc-dev:armhf (5.7.10-1) over (5.7.6-1)

...

Errors were encountered while processing: /tmp/apt-dpkg-install-ax32qV/14-libjs-

jquery_3.5.1+dfsg-4_all.debE: Sub-process /usr/bin/dpkg returned an error code (1)

Then you need to do the following to fix it:

apt purge udev zfsutils-linux

apt update

apt upgrade

apt install -f

apt upgrade

apt remove libjs-jquery:all

apt install libjs-jquery

apt update apt upgrade

apt install -fapt full-upgrade

Sources

https://forum.sparkylinux.org/index.php?topic=5323.0

Revision #7 Created Sat, Jun 13, 2020 5:42 PM by Akito

Updated Sat, Aug 1, 2020 11:33 PM by Akito