Update Rocky Linux 8 to 9

I updated my home server from RL 8 to VERSION=“9.2 (Blue Onyx)”
everythgin seems to be fine; NetowrkManager, mariadb. firewalld, etc…

But when running dnf update I get this error message/warning.

[root@home ~]# dnf update
Last metadata expiration check: 0:03:25 ago on Sat 17 Jun 2023 10:00:44 AM CEST.
Modular dependency problems:

 Problem 1: conflicting requests
  - nothing provides module(platform:el8) needed by module container-tools:rhel8:8080020230516204140:8108cfbc.x86_64
 Problem 2: conflicting requests
- nothing provides module(platform:el8) needed by module httpd:2.4:8080020230517161838:fd72936b.x86_64
 Problem 3: conflicting requests
  - nothing provides module(platform:el8) needed by module mariadb:10.3:8060020220913075833:d63f516d.x86_64
 Problem 4: conflicting requests
  - nothing provides module(platform:el8) needed by module nginx:1.14:8040020210610090123:9f9e2e7e.x86_64
 Problem 5: conflicting requests
  - nothing provides module(platform:el8) needed by module perl:5.26:8050020211109115414:b4937e53.x86_64
 Problem 6: conflicting requests

I guess the cleaning was not done completely right as it still point to platform: el8.
How can I fix this?

Thanks for your help


AFAIK in place upgrades from one major version to the next aren’t supported with Rocky but it looks like that it is possible. Looking at those modules it seems like they are el8 specific modules so you can probably just disable them as shown here, read the part under “Step 7: Post -installation steps”.

That is true. Each major version is a separate distro. You would not try in-place conversion of Rocky 8 to Ubuntu or MS Windows either, would you?

The OP was not completely clear what they did. The most systematic attempt at the dark magick of distro alchemy is ELevate by AlmaLinux project: AlmaLinux OS - Forever-Free Enterprise-Grade Operating System
The ELevate does use same tool as Red Hat has for RHEL and neither works for all setups.

Red Hat did adopt the dnf modules, “streams”, in el8 and went totally overboard. Almost everything is a stream in el8. With el9 they are much more conservative. The modules do pose issues even within el8 (e.g. for third-party repos), let alone in unsupported conversions.


dnf module reset

command may help, eg:

dnf module reset httpd

and repeat for all the other modules. Failing that, something I did when testing upgrade from Rocky 8 to 9 which I found in my notes:

dnf module disable perl:5.26 perl-IO-Socket-SSL:2.066 perl-libwww-perl:6.34 python36:3.6 httpd javapackages-tools maven ruby virt python38

you may find you’ll have to do that for each of the modules you have issues with since they are modules listed for Rocky 8. You’ll notice in my disable command, httpd also features there. My module disable command would differ to yours since you don’t have those in use on your system, or at least not all of them just some of them. So adapt the command to fix the modules you have issues with.

Thank for all the insides. In case it is helpful for others, that is where I stand and what I did so far:

  • Server seems to be working fine; it still does it job as modem/router, web server, cups server and media server (emby) .

  • Modules warning; I moved all files from /etc/dnf/modules.d into another directory to see what happens. I have not seen any anomily nor error and error messages when running dnf update do not apepar anymore.

container-tools.module, httpd.module, mariadb.module, nginx.module, perl-DBD-MySQL.module, perl-DBD-SQLite.module, perl-DBI.module, perl-IO-Socket-SSL.module, perl-libwww-perl.module, perl.module, php.module, python27.module, python36.module, python38.module, python39.module, redis.module

  • I had to install ddclient and certbot again. They were dropped during the upgrade.

  • There were ‘el8’ prgorams left which I all deleted and reinstalled if available with the exception of the list, as their deletion would also undelete ‘el9’ prgormas and I am not sure what harm it will do.

inih.x86_64                            56-1.el8                             @epel                                                  
libcbor.x86_64                       0.7.0-6.el8                          @epel                                                  
libfido2.x86_64                      1.11.0-2.el8                         @epel                                                  
xorg-x11-font-utils.x86_64     1:7.5-41.el8                         @appstream 


Of those remaining packages, the fate of xorg-x11-font-utils was mentioned in:

In other words, mkfontscale might be able to replace it.

The packages from EPEL … you have to search workarounds or request addition from EPEL.

1 Like