July 26, 2020

Fedora 31 -- upgrade via DNF

I will first do my home system (trona). This system has an SSD for a system drive, and that usually saves me at least an hour doing an upgrade.

Upgrade from 30 to 31

This ends up taking about 1.5 hours. Some extra time sorting out a dnf bug and finding a workaround.
su
dnf upgrade --refresh	(yields: nothing to do)
dnf system-upgrade download --refresh --releasever=31
dnf system-upgrade reboot
The download step will ask for permission to import keys, so don't wander off and expect it to move along nicely by itself. It asks for one key early on, then several near the end. This is darn annoying. I always answer yes. Maybe there is a way to just tell DNF that I mean YES for everything.

Also, your system is perfectly usable during step 2 (the download phase).

Trying step 2 we encounter this!

Fedora 31 - x86_64 - VirtualBox
terminate called after throwing an instance of 'libdnf::ModulePackageContainer::EnableMultipleStreamsException'
  what():  Cannot enable multiple streams for module 'gimp'
Aborted (core dumped)
I need to do this as a workaround before step 2 above (after nuking gimp, maven causes the same error).
dnf erase gimp
dnf module disable maven
I don't even have maven installed (it is some kind of java management tool). However, the above allows the download to proceed. See this bugzilla: It downloads 3106 things and the transaction check completes! Hooray!!

There are 2 important things to note about step 3.

Upgrade from 31 to 32

I jump into this immediately. Step 1 reports some conflicts, so I do:
dnf erase vlc
I repeat step 1 and it installs some things. I repeat step 1 and it runs clean.

Now step 2 encounters a problem:

 Problem 1: package VirtualBox-6.0-6.0.24_139119_fedora31-1.x86_64 requires python(abi) = 3.7, but none of the providers can be installed
  - python3-3.7.7-3.fc31.x86_64 does not belong to a distupgrade repository
  - problem with installed package VirtualBox-6.0-6.0.24_139119_fedora31-1.x86_64
 Problem 2: package python2-beautifulsoup4-4.9.1-1.fc31.noarch requires python2-lxml, but none of the providers can be installed
  - python2-lxml-4.4.0-1.fc31.x86_64 does not belong to a distupgrade repository
  - problem with installed package python2-beautifulsoup4-4.9.1-1.fc31.noarch
(try to add '--skip-broken' to skip uninstallable packages)
Being lazy, I do as it suggests and try the following:
dnf system-upgrade download --skip-broken --refresh --releasever=32
It doesn't work. And dnf erase VirtualBox doesn't work either. I do this:
dnf list installed | grep irtual
dnf erase VirtualBox-6.0
dnf erase python2-beautifulsoup4
dnf system-upgrade download --refresh --releasever=32
And away it goes dowloading 3100+ packages.

There are no further issues an phase 3 goes through without intervention. I am now running a 5.7.10 kernel and Fedora 32.


Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org