I have a pretty "fancy" setup which is derived from oshunluvr's work on multi-booting with btrfs. I also removed snap support using Schwarzer Kater's scripts from gitlab. (worked great btw)
IOW, I have a non-standard installation. Nevertheless I was able to do full system upgrade from 22.04 to 24.04 with some difficulty. The difficulty had nothing to do with my setup. I just didn't do proper system maintenance, so my systems were feeling icky and wanted to stay home from school.
When I ran the upgrade, it usually failed with a blank error pop-up. Here's how I fixed it and successfully full-upgraded my systems.
This was all trial and error and zero actual understanding. If I can, you can.
Firstly, if your efforts earn you a "kernel panic", then boot to grub menu choose "advanced options" and load the next lower kernel in normal mode. Then continue as normal. You may have to manually re-select a newer kernel after the kernel panic is fixed.
Here is a direct Copy-Paste of my command history:
1938 sudo dpkg --configure -a | tee ~/Documents/repair.log
1939 sudo apt --fix-broken install | tee -a ~/Documents/repair.log
1940 sudo apt-get update | tee -a ~/Documents/repair.log
1941 sudo apt-get upgrade | tee -a ~/Documents/repair.log
1942 sudo apt list upgradable | tee -a ~/Documents/repair.log
1943 sudo apt list not-upgradable | tee -a ~/Documents/repair.log
1944 man apt list
1945 uname -r
1946 sudo apt-get clean | tee -a ~/Documents/repair.log
1947 sudo apt-get autoclean | tee -a ~/Documents/repair.log
1948 sudo apt-get autoremove | tee -a ~/Documents/repair.log
1949 sudo apt-get upgrade | tee -a ~/Documents/repair.log
1950 sudo apt-get -f | tee -a ~/Documents/repair.log
1951 sudo apt-get -f install | tee -a ~/Documents/repair.log
1952 sudo apt-get --with-new-pkgs upgrade grub-efi-amd64-bin grub-efi-amd64-signed | tee -a ~/Documents/repair.log
1953 sudo apt-get --with-new-pkgs upgrade ubuntu-advantage-tools ubuntu-pro-client ubuntu-pro-client-l10n | tee -a ~/Documents repair.log
1954 reboot | tee ~/Documents/reboot.log
1955 sudo apt-get autoremove | tee -a ~/Documents/repair.log
1956 sudo do-release-upgrade | tee -a ~/Documents/upgrade.log
My explanations would be clumsy and waste your time by being wrong. If you want to know what a command does, look it up.
What I will explain is that tee takes whatever you pipe to it and saves it as a file. -a means "append to the existing file if one exists, otherwise make a new one."
do-release-upgrade is the CLI version of the automatic upgrade. This is an attended upgrade. Meaning you have to occasionally interact with it, usually to tell it to not overwrite your custom config files.
I will post my logs in subsequent posts for those who are interested.
IOW, I have a non-standard installation. Nevertheless I was able to do full system upgrade from 22.04 to 24.04 with some difficulty. The difficulty had nothing to do with my setup. I just didn't do proper system maintenance, so my systems were feeling icky and wanted to stay home from school.
When I ran the upgrade, it usually failed with a blank error pop-up. Here's how I fixed it and successfully full-upgraded my systems.
This was all trial and error and zero actual understanding. If I can, you can.
Firstly, if your efforts earn you a "kernel panic", then boot to grub menu choose "advanced options" and load the next lower kernel in normal mode. Then continue as normal. You may have to manually re-select a newer kernel after the kernel panic is fixed.
Here is a direct Copy-Paste of my command history:
1938 sudo dpkg --configure -a | tee ~/Documents/repair.log
1939 sudo apt --fix-broken install | tee -a ~/Documents/repair.log
1940 sudo apt-get update | tee -a ~/Documents/repair.log
1941 sudo apt-get upgrade | tee -a ~/Documents/repair.log
1942 sudo apt list upgradable | tee -a ~/Documents/repair.log
1943 sudo apt list not-upgradable | tee -a ~/Documents/repair.log
1944 man apt list
1945 uname -r
1946 sudo apt-get clean | tee -a ~/Documents/repair.log
1947 sudo apt-get autoclean | tee -a ~/Documents/repair.log
1948 sudo apt-get autoremove | tee -a ~/Documents/repair.log
1949 sudo apt-get upgrade | tee -a ~/Documents/repair.log
1950 sudo apt-get -f | tee -a ~/Documents/repair.log
1951 sudo apt-get -f install | tee -a ~/Documents/repair.log
1952 sudo apt-get --with-new-pkgs upgrade grub-efi-amd64-bin grub-efi-amd64-signed | tee -a ~/Documents/repair.log
1953 sudo apt-get --with-new-pkgs upgrade ubuntu-advantage-tools ubuntu-pro-client ubuntu-pro-client-l10n | tee -a ~/Documents repair.log
1954 reboot | tee ~/Documents/reboot.log
1955 sudo apt-get autoremove | tee -a ~/Documents/repair.log
1956 sudo do-release-upgrade | tee -a ~/Documents/upgrade.log
My explanations would be clumsy and waste your time by being wrong. If you want to know what a command does, look it up.
What I will explain is that tee takes whatever you pipe to it and saves it as a file. -a means "append to the existing file if one exists, otherwise make a new one."
do-release-upgrade is the CLI version of the automatic upgrade. This is an attended upgrade. Meaning you have to occasionally interact with it, usually to tell it to not overwrite your custom config files.
I will post my logs in subsequent posts for those who are interested.
Comment