March 28, 2019

Fedora 29 -- upgrade via DNF

I am way behind on upgrading two of my systems, they are running Fedora 27, and the current release is 29. Fortunately with the new DNF upgrade scheme, this is pretty easy!

I am unsure about jumping directly from 27 to 29. This was never considered a good idea with yum, and the only thing I have found via searches is that Fedora supports this via DNF for the first month or so after a new release. So I won't.

The upgrade from 27 to 28

I already have the upgrade plugin, so I show the command to install that commented out below.
su
dnf upgrade --refresh	(yields: nothing to do)
#dnf install dnf-plugin-system-upgrade
dnf system-upgrade download --refresh --releasever=28
dnf system-upgrade reboot

I begin the above process (using my cable modem link) at noon.

It wants to install 108 and upgrade 2602 packages. I say yes of course, and it gets busy downloading 2712 packages.

I go off and do other things and come back after 30 minutes and find that it is waiting for permission to import RPM keys. I answer yes to this, it performs a transaction check and gives me the green light for the next stage.

It reboots, installs the packages, then reboots and offers me F28. All done in 1:10 hours. No package conflicts.

The upgrade from 28 to 29

I launch into this immediately, the exact same 3 commands.

I get this:

Problem: package AdobeReader_enu-9.5.5-1.i486 requires /bin/basename, but none of the providers can be installed
  - coreutils-8.29-7.fc28.x86_64 does not belong to a distupgrade repository
  - problem with installed package AdobeReader_enu-9.5.5-1.i486
I simply dnf erase AdobeReader_enu and plan to sort this out later. I rerun the download command and it gets busy downloading 2768 packages.

So in about 2 hours, I have done the two upgrades. Everything seems to work except that I have lost Adobe Acroread (which is not all that surprising) and my XFCE setup has gone back to the default (I have lost my desktop background and the mini panel at the bottom center is back). All in all, quite painless, unless some surprise is lurking.

The benefits of a solid state disk

My other machine takes at least twice as long (over two hours). The download time is the same (about 20 minutes). Installing packages is much slower, and I think this is because my system disk is a spinning disk rather than a solid state drive. I even thought that something had gone wrong and drove across town to check things out, only to find the machine humming along nicely.

Get acroread installed again

Getting acroread back is fairly easy. I used a subset of the instructions in the following link. What I typed was the following. The above instructions have additional steps, but I have not found them necessary.
wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i486linux_enu.rpm
su
dnf install gdk-pixbuf2-xlib.i686 \
    mesa-libGL.i686 \
    libglvnd-glx.i686 \
    libidn.i686 \
    mesa-libGLU.i686
    
rpm -Uvh --nodeps AdbeRdr9.5.5-1_i486linux_enu.rpm
Note that the above is a short list of the packages that dnf actually installed when I typed the following. You may be well served to just copy and paste the following and let DNF figure out what is already installed.
dnf install atk.i686 avahi-libs.i686 bzip2-libs.i686 cairo.i686 cups-libs.i686 \
dbus-libs.i686 expat.i686 fontconfig.i686 freetype.i686 fribidi.i686 \
gdk-pixbuf2.i686 gdk-pixbuf2-modules.i686 gdk-pixbuf2-xlib.i686 \
gdk-pixbuf2-xlib.x86_64 glib2.i686 glibc.i686 gmp.i686 gnutls.i686 \
graphite2.i686 gtk2.i686 harfbuzz.i686 jasper-libs.i686 jbigkit-libs.i686 \
keyutils-libs.i686 krb5-libs.i686 libICE.i686 libSM.i686 libX11.i686 \
libX11-xcb.i686 libXau.i686 libXcomposite.i686 libXcursor.i686 \
libXdamage.i686 libXext.i686 libXfixes.i686 libXft.i686 libXi.i686 \
libXinerama.i686 libXrandr.i686 libXrender.i686 libXt.i686 libXxf86vm.i686 \
libblkid.i686 libcap.i686 libcom_err.i686 libdatrie.i686 libdrm.i686 \
libffi.i686 libgcc.i686 libgcrypt.i686 libglvnd.i686 libglvnd-glx.i686 \
libgpg-error.i686 libidn.i686 libidn2.i686 libjpeg-turbo.i686 libmount.i686 \
libpciaccess.i686 libpng.i686 libselinux.i686 libsepol.i686 libstdc++.i686 \
libtasn1.i686 libthai.i686 libtiff.i686 libunistring.i686 libuuid.i686 \
libverto.i686 libxcb.i686 libxcrypt.i686 libxml2.i686 libxshmfence.i686 \
lz4-libs.i686 mesa-libGL.i686 mesa-libGLU.i686 mesa-libGLU.x86_64 \
mesa-libglapi.i686 nettle.i686 openssl-libs.i686 p11-kit.i686 pango.i686 \
pangox-compat.i686 pangox-compat.x86_64 pcre.i686 pcre2.i686 pixman.i686 \
systemd-libs.i686 xz-libs.i686 zlib.i686 libidn.x86_64 \
libidn.i686 coreutils.x86_64

Post upgrade issues

Sound doesn't work. This is always a total crap shoot with linux and I have learned not to waste time trying to fix it. Check that no mutes are set. Check the plethora of mixers to ensure that they haven't muted things. Then hope and pray. When the 5.0.5 kernel update shows up, sound starts working again. Hooray! Patience wins the day, in the meantime, windows has stable sound. There are actually reasons to keep a windows machine around.

I am getting odd warnings about missing gems when I run ruby scripts that don't even reference such gems. The ruby version and gem world is a big mess that somebody should straighten out.

Ignoring ffi-1.9.21 because its extensions are not built. Try: gem pristine ffi --version 1.9.21
Ignoring json-1.8.6 because its extensions are not built. Try: gem pristine json --version 1.8.6
Ignoring nio4r-2.2.0 because its extensions are not built. Try: gem pristine nio4r --version 2.2.0
Ignoring nokogiri-1.8.2 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.2
Ignoring psych-2.2.4 because its extensions are not built. Try: gem pristine psych --version 2.2.4
Ignoring sqlite3-1.3.13 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.13
Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5

ruby -v
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
This is annoying, but not fatal -- typing the recommended command does not work.

What I find is that these are old gems that I installed for a specific user, probably to support a rails project that I am abandoning ASAP. The fix is to get rid of my local gems, which may (or may not) make it impossible to run that old rails project -- which may or may not matter.

rm -rf /home/user/.gem

XFCE issues

I am still running XFCE, which is a good thing (sometimes Fedora forces you back to Gnome, which only leads to lots of profanity and weeping). However, my XFCE setup has gone back to the default. I have lost my desktop background and the mini panel at the bottom center is back.

I try to set a background from /home/tom/Backgrounds using the GUI under Settings --> Desktop. This has some bad attitude about using anything other than system directories, and I'll swear that I found a way around this in the past.

It turns out this is just terrible design in the Desktop background setting GUI. You cannot select an image on "the first round". You select a folder, then hit OPEN at the bottom right. It then adds the folder to the list of folders XFCE knows about for the purposes of selecting images. Don't make yourself crazy trying to select the jpg files the "first round" shows you (and that are greyed out).

Once you select the folder, it will show you thumbnails for all the images therein and you can choose from among them. And it will remember the folder from thenceforth.

Getting rid of the panel at bottom center is easy. Once you know how! Right click on the panel. Follow Panel --> Panel Preferences. It will show you "Panel2" with a + and - alongside of it, click on the "-". It asks you to confirm removal of the panel. Agree and voila, the bottom center panel is gone.

Summary

As I have said before, this is a massive improvement over using yum for upgrades. In itself this justifies the switch from yum to dnf.

Each upgrade takes about an hour, dominated by the time to install the packages. Downloading them takes about 20 minutes, and installing them takes about twice that long.


Have any comments? Questions? Drop me a line!

Adventures in Computing / [email protected]