oracle / centos2ol

Script and documentation to switch CentOS/Rocky Linux to Oracle Linux

Home Page:https://linux.oracle.com/switch/centos/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conflict when installing oracle package

traks29 opened this issue · comments

Hello,

I've got a problem when I run the script.
When installing packages I have one fail due to a conflict beetwen oracle and centos packages.
I don't know if the script continue to run after a fail but the system cannot boot after that.
Maybe some configuration are not finished at this point.

I think I should first resolve the install error.
Here is the message, sorry a part is in french:

La vérification de la transaction a réussi.
Lancement de la transaction de test
Les paquets téléchargés ont été mis en cache jusqu’à la prochaine transaction réussie.
Vous pouvez supprimer les paquets en cache en exécutant « yum clean packages ».
Erreur : Erreur de la transaction de test :
  le fichier /usr/share/pixmaps/poweredby.png de l'installation de oracle-logos-httpd-84.3-1.0.1.el8.noarch entre en conflit avec le fichier du paquet centos-logos-httpd-80.5-2.el8.noarch

Could not automatically sync with Oracle Linux repositories.
Check the output of 'yum distro-sync' to manually resolve the issue.
For assistance, please open an issue via GitHub: https://github.com/oracle/centos2ol/.

Do you have any idea how I could solve this?
If I do 'yum distro-sync', the same error appears.

Thanks.

Can you please use the latest version of the script? It now has special handling for the centos-logos packages.

I retryied using the latest version of the script, but unfortunately I still have the same error.

Could you please run with the -V option and attach the RPM list so we can review it?

You'll find attached the the two files created.
Thank you for your help.
rpms-list-before.log
rpms-verified-before.log

Ok, this is a very odd configuration. Somehow, you've ended up with aarch64 RPMs installed on what I assume is an x86_64 server. Where is this instance running?

Note that the current script doesn't fully support migrating an aarch64 (Arm-based) instance. I have code waiting to be merged via #90 that will enable migrating Arm instances.

Indeed, this is really weird. I don't understand.
The server is a vm host on a ESXi (intel core i based).
I've made some research and it appears that when I list all the rpm packages installed, I have also .noarch packages in addition to the x86_64 packages. I don't know why they are listed as aarch64 in the script.

Now that you've said that, I realised what's happening: CentOS is building noarch packages on their Arm builders (because they can). I need to adjust the script to store the actual architecture of each package.

Can you please try moving lines 491-494 to after the esac on line 533? I suspect we need to swap the RPMs before the distro-sync

I've just tested this locally by setting up a new CentOS 8 VM, installing the httpd module and then running the the current version of centos2ol.sh and it worked just fine. Something else to try is to ensure your CentOS 8 box is up-to-date by running dnf update before starting the conversion.

I've done what you said (moving lines and update) and it works!
Thank you so much for your help.

I tested without modifying the script, it also works.