An upgrade to Linux went sideways
Really? Really? Again? I will never learn.
The Setup
I’ve been running on Linux Mint 20.3 Una for a while. I knew that 21.0 Vanessa came out some time ago. But I did not want to upgrade until I had some time available and I was in the right mood. Because every single major upgrade has been such a pain with Linux Mint. Something always breaks. On the 30th, I decided to go ahead and do it. Una is going to be supported until 2025, but still wanted some of the newest improvements.
And then …
Houston, we have a problem
The way that upgrading works for Linux Mint is that all PPAs that you have installed need to be undone, and then all package versions need to be downgraded. And that is highly annoying: suddenly your nicely setup system ain’t nicely setup no more. But I went with the recommendations of mintupgrade. I could re-add later the PPAs and upgrade packages and what not.
When the upgrade finished, GPG started to fail, which broke apt-key, which broke the whole apt ecosystem. On top of that my wifi dongle stopped working, so trying to fix issues became quite difficult. I am not a Linux admin expert to be able to sort out things without a lot of help.
It does annoy me how easy is for an upgrade to go bad. I had the issue at least a couple of times on Mint, at least once in Fedora. But then, I know enough cases of macOs borking an upgrade, and even some in Windows.
Fixing
So on New Year’s Day (don’t ask), at like 4 am (don’t ask), I started trying to get things done. My wifi dongle is based on the Realtek RTL8812AU chip, and in the past I got the drivers from Aircrack-ng. I was using before the 5.4 branch of the Linux Kernel, but Vanessa came with the 5.15. Trying to rebuild the drivers failed because of the removal of IPX from the kernel. I had to download the update code from my Windows partition, and then copy into the linux one. That is where the next snafu happened. The DKMS installation was failing for different reasons. Again, no area of expertise, so I was just trying different things. Then I discovered that just using straight up make
and make install
did work (of course, has the issue that it has to be recompiled whenever you change the kernel). But at least I was moving.
The GPG/apt-key issue was more intractable. Trying to do reinstall didn’t work. And what I could find about the issue wasn’t really helpful. So after a bit of pottering around, I decided to go ahead and just do a “clean” install.
The good decision
Some time ago I decided to separate my home folder into a different drive (Windows could learn a thing or two here). Which meant that a reinstall wouldn’t lose that much of my system (on top of that, I have copies of everything, so the amount of data I could lose, even trashing the home mount point wouldn’t be much).
Enter 21.1 Vera. The installation was quick. I had to redo the installation of the wifi drivers. But this time, as soon as I did and I was connected, Mint told me it could download the drivers for DKMS, so that is sorted. Remounted on fstab my home folder and then it was just a question of readding some of the tools that were installed globally. (some are added locally to my user, like the Rust toolchain, pyenv and others)
The best reason for the pain.
This whole process has been painful. Seriously, every time I do an upgrade I keep thinking of moving back to Manjaro (the more stable, less complicated version of ArchLinux).
But, at least Mint/Cinammon finally have brought some real good improvement on the display department. They have been using for a while Muffin, a window manager that was a divergent fork of Mutter. But with this release, they brought it a bit more inline, to make it easier to port new changes. This has the benefit that finally I can have separate monitor scaling, and the fact that I have a HiDpi and a normal dpi monitor is not longer the absolute pain that was before. We are finally in the now!!
Bonus issue
For some reason, I have the setup on my blog using versions of Jekyll of 4.2.2 or bigger. And they have done a 4.3.1 release that uses a new Dart based sass converter. This new converter doesn’t work on musl based linux distros. That means no Alpine. I need to change my Gemfile, as they seem happy to introduce breaking changes on “minor” releases, and add the pessimistic notation.
Update
Most of the tooling is back in place. And, oh boy, the experience has been so much better than when trying to recover from a Windows upgrade disaster. Because I had /home on a different ssd, I just pointed to the correct one on fstab (username and password were the same), and nearly everything was back to how it was: slack, discord, dropbox, syncthing, … all that have data stored was on that mount point, so once I resinstalled the applications, all apps were back to normal. Really the good decision of having a separate SSD was really superb (decision that I only took because I wanted more space)