![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Over the recent years, I have accumulated a number of dissatisfaction points with the way of Ubuntu development.
When it was initially created in 2004 as a set of improvements and fixes to Debian, Ubuntu was very useful and quickly became popular.
But in the course of its evolution, it has gained a number of unwanted marketing/advertising "inventions" which, to me, are just unacceptable.
Most noticeable of them are: aggressive pushing of snaps&snapd, dropping 32-bit i386 architecture, switching Lubuntu from LXDE to LXQt, adding paid Ubuntu Pro and ESM services, and probably some smaller others.
I created a few scripts to upgrade Ubuntu 18.04 Bionic to Debian 10 Buster and onwards to 11 Bullseye and to 12 Bookworm, which I described at https://muwlgr.dreamwidth.org/52029.html .
With impending release of Ubuntu 24.04 Noble , I simplified and customized my previous script, upgrade-bionic-to-bookworm.sh , for the purpose of upgrading Ubuntu 22.04 Jammy to Debian 12 Bookworm.
The script can be had from https://raw.githubusercontent.com/muwlgr/scripts/main/upgrade-jammy-to-bookworm.sh .
The only specific steps of upgrading Jammy->Bookworm was to downgrade signed GRUB and EFI Shim, as well as gcc and its associated libraries (which Jammy upgraded independently of Debian stable).
I have successfully tested this script, upgrading Ubuntu to Debian on my desktop, 2 portable USB drives and two smaller&simpler servers. Going to test it on larger servers in the nearest future.
After the upgrade and reboot, please review what packages have been removed now, and reinstall them from Debian sources.
For this you may repeat 2 last commands in the script, one of which compares saved package lists and other looks for removed packages in dpkg.log .
Upgrade note: Ubuntu MySQL client can be replaced with MariaDB client from Debian, which provides almost perfectly compatible libraries and command-line tools.
MySQL server 8.0 is not easily upgradable to MariaDB server, mysqldump upgrade is required.
So far I have installed MySQL server 8.0 for Debian 11 Bullseye as described at https://computingforgeeks.com/how-to-install-mysql-8-0-on-debian/
Upgrade note: Firefox from snaps can be replaced with Debian's firefox-esr package.
If ESR firefox creates a new empty profile on its first start, exit it and run firefox -P to switch it back to your existing profile.
Upgrade note: I have a libvirt/qemu/kvm virtual machine created with Ubuntu 14.04 Trusty.
To start it after libvirt upgrade to Debian 12, I had to edit its .xml description under /etc/libvirt/qemu/ and change its emulator file name from /usr/bin/kvm-spice to just /usr/bin/kvm , and its machine architecture from pc-i440fx-trusty to pc-i440fx-7.2.
All that I found by looking into journalctl startup logs where missing emulator and architecture were reported.
Upgrade note: isc-dhcp-server does not work well with apparmor. Remove apparmor package, or disable it, or switch to complain-only mode. Migration to kea-dhcp4-server would be useful in some future.
My next step will be to upgrade Ubuntu 24.04 Noble to Debian 13 Trixie which is now in testing stage.
On my laptop I followed the development of Noble so now it is my only system which is newer than Jammy.
When it was initially created in 2004 as a set of improvements and fixes to Debian, Ubuntu was very useful and quickly became popular.
But in the course of its evolution, it has gained a number of unwanted marketing/advertising "inventions" which, to me, are just unacceptable.
Most noticeable of them are: aggressive pushing of snaps&snapd, dropping 32-bit i386 architecture, switching Lubuntu from LXDE to LXQt, adding paid Ubuntu Pro and ESM services, and probably some smaller others.
I created a few scripts to upgrade Ubuntu 18.04 Bionic to Debian 10 Buster and onwards to 11 Bullseye and to 12 Bookworm, which I described at https://muwlgr.dreamwidth.org/52029.html .
With impending release of Ubuntu 24.04 Noble , I simplified and customized my previous script, upgrade-bionic-to-bookworm.sh , for the purpose of upgrading Ubuntu 22.04 Jammy to Debian 12 Bookworm.
The script can be had from https://raw.githubusercontent.com/muwlgr/scripts/main/upgrade-jammy-to-bookworm.sh .
The only specific steps of upgrading Jammy->Bookworm was to downgrade signed GRUB and EFI Shim, as well as gcc and its associated libraries (which Jammy upgraded independently of Debian stable).
I have successfully tested this script, upgrading Ubuntu to Debian on my desktop, 2 portable USB drives and two smaller&simpler servers. Going to test it on larger servers in the nearest future.
After the upgrade and reboot, please review what packages have been removed now, and reinstall them from Debian sources.
For this you may repeat 2 last commands in the script, one of which compares saved package lists and other looks for removed packages in dpkg.log .
Upgrade note: Ubuntu MySQL client can be replaced with MariaDB client from Debian, which provides almost perfectly compatible libraries and command-line tools.
MySQL server 8.0 is not easily upgradable to MariaDB server, mysqldump upgrade is required.
So far I have installed MySQL server 8.0 for Debian 11 Bullseye as described at https://computingforgeeks.com/how-to-install-mysql-8-0-on-debian/
Upgrade note: Firefox from snaps can be replaced with Debian's firefox-esr package.
If ESR firefox creates a new empty profile on its first start, exit it and run firefox -P to switch it back to your existing profile.
Upgrade note: I have a libvirt/qemu/kvm virtual machine created with Ubuntu 14.04 Trusty.
To start it after libvirt upgrade to Debian 12, I had to edit its .xml description under /etc/libvirt/qemu/ and change its emulator file name from /usr/bin/kvm-spice to just /usr/bin/kvm , and its machine architecture from pc-i440fx-trusty to pc-i440fx-7.2.
All that I found by looking into journalctl startup logs where missing emulator and architecture were reported.
Upgrade note: isc-dhcp-server does not work well with apparmor. Remove apparmor package, or disable it, or switch to complain-only mode. Migration to kea-dhcp4-server would be useful in some future.
My next step will be to upgrade Ubuntu 24.04 Noble to Debian 13 Trixie which is now in testing stage.
On my laptop I followed the development of Noble so now it is my only system which is newer than Jammy.