So I want to upgrade from 20.04
to 22.04
LTS.
Ubuntu does this very annoying thing where it forces you to install all your upgrades before it allows you to upgrade your distribution. I've already upgraded once, but I still get
$ sudo do-release-upgrade
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
... except, it doesn't let me.
apt
seems to know what I need to upgrade:
$ sudo apt list --upgradable
Listing... Done
grub-efi-amd64-bin/oldstable 2.06-3~deb10u1 amd64 [upgradable from: 2.04-1ubuntu47.4]
grub-efi-amd64-signed/focal-updates,focal-updates 1.187.3~20.04.1+2.06-2ubuntu14.1 amd64 [upgradable from: 1.173.2~20.04.1+2.04-1ubuntu47.4]
libfile-fcntllock-perl/oldstable 0.22-3+b5 amd64 [upgradable from: 0.22-3build4]
libnet-libidn-perl/oldstable 0.12.ds-3+b1 amd64 [upgradable from: 0.12.ds-3build2]
python3-netifaces/oldstable 0.10.4-1+b1 amd64 [upgradable from: 0.10.4-1ubuntu4]
shim-signed/focal-updates,focal-updates 1.40.9+15.7-0ubuntu1 amd64 [upgradable from: 1.40.7+15.4-0ubuntu9]
except, it won't actually upgrade:
sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
libgraphicsmagick-q16-3 libavformat58 libavfilter7 ffmpeg liburiparser1
node-hosted-git-info libmaven3-core-java libswresample3 ant libzmq5
python2.7-minimal libhdf5-103 libcgraph6 libpython2.7 python2.7
libswresample-dev libpostproc55 liblab-gamut1 libavutil-dev libavcodec-dev
opensc-pkcs11 node-tar maven libeditorconfig0 opensc libcdt5 libavutil56
libpathplan4 libavdevice58 libswscale5 libgvpr2 libopenexr24 libsdl2-2.0-0
libmysofa1 libpython2.7-minimal libavcodec-extra58 libgvc6
libpython2.7-stdlib graphviz ant-optional libavresample4
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages have been kept back:
grub-efi-amd64-bin shim-signed
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
ok ... I have no idea what this grub-efi-amd64-bin
is or why it's been "kept back".
$ sudo apt-mark showhold
$ dpkg --get-selections | grep hold
both don't list anything.
But surely I can upgrade it manually?
$ sudo apt install grub-efi-amd64-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
Recommended packages:
grub-efi-amd64-signed
The following packages will be REMOVED:
grub-efi-amd64-signed shim-signed
The following packages will be upgraded:
grub-efi-amd64-bin
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
shim-signed grub-efi-amd64-signed (due to shim-signed)
1 upgraded, 0 newly installed, 2 to remove and 3 not upgraded.
Need to get 712 kB of archives.
After this operation, 7443 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?]
Nope, not doing that. ^C
But maybe it's that -signed
thing tha wil also upgrade shim-signed
rather than remove it?
$ sudo apt --only-upgrade install grub-efi-amd64-signed
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution 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:
grub-efi-amd64-signed : Depends: grub-efi-amd64-bin (= 2.06-2ubuntu14.1)
E: Unable to correct problems, you have held broken packages.
A small variation of this issue has been asked before:
grub-efi-amd64-signed dependency issue in Ubuntu 22.04LTS
ruff's answer there is to install grub-efi-amd64-signed
... we just tried that, it doesn't work.
There's another answer by Chen, which suggests
sudo rm /var/lib/dpkg/info/grub*
sudo dpkg --configure -a
BUT I'm not going to do that, for now, as I have absolutely no idea, what that does and in the light of https://ubuntuforums.org/showthread.php?t=1041188 .
Now Unable to correct problems, you have held broken packages suggests
$ sudo aptitude install grub-efi-amd64-signed
The following packages will be REMOVED:
efibootmgr{u} grub-efi-amd64-bin{u}
The following packages will be upgraded:
grub-efi-amd64-signed{b}
1 packages upgraded, 0 newly installed, 2 to remove and 4 not upgraded.
Need to get 1343 kB of archives. After unpacking 5352 kB will be freed.
The following packages have unmet dependencies:
grub-efi-amd64-signed : Depends: grub-efi-amd64-bin (= 2.06-2ubuntu14.1) but it is not going to be installed
The following actions will resolve these dependencies:
Install the following packages:
1) efibootmgr:i386 [15-1 (oldstable)]
2) libefiboot1:i386 [37-2+deb10u1 (oldstable)]
3) libefivar1:i386 [37-2+deb10u1 (oldstable)]
4) libpopt0:i386 [1.16-14 (focal)]
Upgrade the following packages:
5) grub-efi-amd64-bin [2.04-1ubuntu47.4 (focal-security, now) -> 2.06-2ubuntu14.1 (focal-updates)]
Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:
Upgrade the following packages:
1) grub-efi-amd64-bin [2.04-1ubuntu47.4 (focal-security, now) -> 2.06-2ubuntu14.1 (focal-updates)]
Leave the following dependencies unresolved:
2) grub-efi-amd64-bin recommends efibootmgr
Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:
Upgrade the following packages:
1) grub-efi-amd64-bin [2.04-1ubuntu47.4 (focal-security, now) -> 2.06-2ubuntu14.1 (focal-updates)]
Downgrade the following packages:
2) efibootmgr [17-1 (focal, now) -> 15-1 (oldstable)]
Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) efibootmgr [17-1 (focal, now)]
Upgrade the following packages:
2) grub-efi-amd64-bin [2.04-1ubuntu47.4 (focal-security, now) -> 2.06-2ubuntu14.1 (focal-updates)]
And I do admire aptitude
's tenacity because there are increasingly wild suggestions after that.
My problem is, I have no idea how to choose a good option. This last one sounds more appealing to me, but what do I know?
Nor do I have any idea what any of these packages' being removed or updated does. The disk is encrypted, and I'd very much prefer not to brick my bloody device trying to upgrade it.
How DO I get to upgrade the bloody OS?