This started off as a update post, but as I dove deeper I decided it was worth justifying a full post
Boy this upgrade process was a massive headache taking much longer than I expected. It didn’t help that I needed my laptop to be up and working the next day for a web conference.
update on the situation
Unfortunately in the middle of the upgrade, the insufficient space issues weren’t resolved. As a result, the upgrade was stuck and couldn’t finish, so I had to restart the computer. However restarting my laptop would interrupt the upgrade process and ultimately corrupt my package manager. I think a conf file that both DNF and YUM depended on was corrupted in the process of restarting, as when I ran dnf, it kept giving me a python libdnf import error.
With additional other errors
errors
: /
fedora libstdc++.so.6: version glibcxx_3.4.29 not found
lib64/libselinux.so.1 no version information availible required by sudo
importerror /usr/lib64/python3.8/site-packages/libdnf/conf.so: undefiend symbol
research
I tried a bunch of methods to fixing it
first solution: resolved python version issues
This was the closest, with a similar scenario. I didn’t want to risk removing a dependency. The easiest solution recommended was for me to back up files and reinstall Fedora.
If I had more time I would have tried the solution suggested here
second solution:use yum-deprecated
This was another solution, but I couldn’t reinstall yum-deprecated
third solution: reinstall dnf and packages
This was another source that had rpm commands, explanations for debugging issues
Looking back this answer would teach the user the commands to use to do dnf debugging. The only issue was I didn’t know how to download and install koji. You’ll see later I learn how to download stuff with terminal commands, but at this time I didn’t know how. This also plays into the second point in lessons learned.
fourth solution: download dnf/libselinux and pray to Linus Torvalds that uninstalling and reinstalling the two packages resolves library errors
With additional research, I decided to try running a curl
/wget
command on the libselinux to download and try uninstalling and reinstalling the package to resolve the libselinux error. I could figure out why I couldn’t curl
/wget
the package, turns out I had entered the incorrect url.
https://pkgs.org/download/libselinux
I was successful in downloading the packages, however when I went to install them, rpm refused to install it as the packages were already installed. At this point I should have gone back to solution 3
and try downloading and installing koji, but It was already 4 AM and I really wanted to sleep.
fifth solution replace the broken files
If the files are corrupted, why not replace them? The only issue I had was not knowing how to mount my flash drive from the terminal.
These guides were pretty helpful
I tried replacing the files, but still got the same issues…
sixth solution: backup and reinstall fedora
At this point it was 4AM, I was at my wits end, and I had exhausted my options and research. I was avoiding this from the start because I deemed it to be the brute force stupid solution and would have preferred to get more comfortable with the terminal,
but as they say
stupid is as stupid does
https://youtu.be/tldGgGFe194
And
It ain’t stupid if it works
Ultimately I could have revisited solution 2
, but I really wanted a computer for web conferencing and wanted to sleep.
I ended up only getting one of those desires, so I will let you figure out which I got
sixth solution: you’d think it’d be easier
[it wasn’t]
backup
I first had to copy all my documents, downloads, videos, and pictures. Only thing was I didn’t know how to copy whole directories
I found this guide to be particularly helpful
reinstall
This took longer than I expected. I didn’t feel like setting up a new Fedora installation, so I reused a flash drive that had Fedora 28 (29 and 30 used a version of nouveau that would cause boot errors. I assumed I could jump from 28 to 32 in one update.
boy was I wrong
As learned later this would not be the case. Through trial and error, I learned that I could upgrade from fedora 28 to fedora 30, but not from fedora 30 to fedora 32. I had to wait through 2 upgrades before I could get to fedora 32. Once I got fedora 32 installed I went to sleep.
lessons learned
- I should have bit the bullet and install zoom temporarily on my phone/iPad to give myself more time, rest, and comeback with fresh mind instead of staying up all night.
- Learn how to setup a local a ssh session in the future from my laptop to my desktop, this would have made it easier to research, debug, and try out solutions. I researched was using my phone until I needed to charge it, and then continue on my iPad.
- I should have used my backup ssd to copy my Fedora files, and then experiment
- I learned how to mount drives from the shell
- I got more practice navigating, find commands, and file transfers in the shell.