rocky-tools icon indicating copy to clipboard operation
rocky-tools copied to clipboard

Package with missing dependency fouls migration.

Open Fairlight2cx opened this issue 3 years ago • 13 comments

I had the package xz-lzma-devel installed. It relies on some feature or package which is not provided in Rocky, presumably. This halts the installation partway through.

Uninstalling that package seemed to come with no ill effects, and lets the migration progress and complete successfully.

Came over from CentOS 8.

Fairlight2cx avatar Oct 25 '21 14:10 Fairlight2cx

I've been thinking about adding --skip-broken to the distro-sync command, which should, in theory, help with issues like this.

pajamian avatar Oct 25 '21 18:10 pajamian

I also had this problem with the rrdtool-devel package installed as seen below:

Syncing packages

Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:00:17 ago on Mon Feb  7 08:43:24 2022.
Error:
 Problem: rrdtool-1.7.0-16.el8.i686 has inferior architecture
  - package rrdtool-devel-1.7.0-16.el8.x86_64 requires rrdtool = 1.7.0-16.el8, but none of the providers can be insta
lled
  - cannot install both rrdtool-1.7.0-16.el8_4.x86_64 and rrdtool-1.7.0-16.el8.x86_64
  - cannot install the best update candidate for package rrdtool-1.7.0-16.el8.x86_64
  - problem with installed package rrdtool-devel-1.7.0-16.el8.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable
 packages or '--nobest' to use not only best candidate packages)

Error during distro-sync.

An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script
 will now exit to prevent possible damage.

I removed this package, but now how do I resume the migrate2rocky conversion from my CentOS Stream 8.5 installation? Running it again gives this error:

Getting system package names for Rocky Linux 8.5 (Green Obsidian)
Found a full or partial RockyLinux install already in place.  Aborting

An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script will now exit to prevent possible damage.

Is there a way to rollback the changes made by the migrate2rocky.sh script? It should have a --dry-run or --check option to look for these issues before making changes.

schmidt837 avatar Feb 07 '22 16:02 schmidt837

The reason why migrate2rocky runs an initial dnf update is to try to catch these sorts of issues before the migration starts, unfortunately the update doesn't catch ever issue in your rpm databases.

At this stage you need to run dnf distro-sync. If you have a legacy boot system that should be enough.

If your system is EFI boot then there are additional commands you will need to run as well.

pajamian avatar Feb 08 '22 03:02 pajamian

I think adding a dnf check as one of the pre-checks to migrate2rocky will help to avoid these issues.

pajamian avatar Feb 08 '22 03:02 pajamian

Thank you pajamian. I ran "dnf distro-sync". My system does not have EFI boot, so then I rebooted. It appears to be running OK. Is the expected kernels that appear from grub supposed to still show "CentOS Stream (4.18.0-358.el8.x86_64)" instead of "Rocky"? I also still see a CentOS image on the bottom of the screen while booting, but this changes to a Rocky image once booted.

schmidt837 avatar Feb 08 '22 15:02 schmidt837

I ran "dnf distro-sync --skip-broken --nobest --allowerasing" to allow downgrading of the kernel and other packages from my previous CentOS 8 Stream installation. Now my kernel is "Rocky Linux (4.18.0-348.12.2.el8_5.x86_64) 8.5 (Green Obsidian)". So I now have the current "Rocky" packages running instead of my previous CentOS Stream linux.

Thank you again for building and supporting Rocky.

schmidt837 avatar Feb 09 '22 16:02 schmidt837

The second one working suggests that the initial distro-sync didn't work. Do you have the output saved from the initial distro-sync command that I can look at?

pajamian avatar Feb 09 '22 22:02 pajamian

pajamian, the initial distro-sync errors are in my first posting above.

schmidt837 avatar Feb 09 '22 22:02 schmidt837

The error you showed was from the initial migrate2rocky run, what was the output from the first distro-sync you attempted after removing the rrdtool-devel package?

pajamian avatar Feb 09 '22 22:02 pajamian

I unfortunately don't have that output captured.

schmidt837 avatar Feb 09 '22 22:02 schmidt837

The other thing is, I missed that you were running stream. You should do this: dnf repolist all stream-\* then if any of them are enabled, run: dnf config-manager --set-disabled stream\*

pajamian avatar Feb 09 '22 23:02 pajamian

They were already disabled, thanks.

# dnf repolist all stream-\*
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

repo id                                                repo name                                                            status
stream-appstream                                       CentOS Stream 8 - AppStream                                          disabled
stream-appstream-source                                CentOS Stream 8 - AppStream - Source                                 disabled
stream-baseos                                          CentOS Stream 8 - BaseOS                                             disabled
stream-baseos-source                                   CentOS Stream 8 - BaseOS - Source                                    disabled
stream-debuginfo                                       CentOS Stream 8 - Debuginfo                                          disabled
stream-extras                                          CentOS Stream 8 - Extras                                             disabled
stream-extras-source                                   CentOS Stream 8 - Extras - Source                                    disabled
stream-ha                                              CentOS Stream 8 - HighAvailability                                   disabled
stream-ha-source                                       CentOS Stream 8 - HighAvailability - Source                          disabled
stream-media-appstream                                 CentOS Stream 8 - Media - AppStream                                  disabled
stream-media-baseos                                    CentOS Stream 8 - Media - BaseOS                                     disabled
stream-nfv                                             CentOS Stream 8 - NFV                                                disabled
stream-nfv-source                                      CentOS Stream 8 - NFV - Source                                       disabled
stream-powertools                                      CentOS Stream 8 - PowerTools                                         disabled
stream-powertools-source                               CentOS Stream 8 - PowerTools - Source                                disabled
stream-resilientstorage                                CentOS Stream 8 - ResilientStorage                                   disabled
stream-resilientstorage-source                         CentOS Stream 8 - ResilientStorage - Source                          disabled
stream-rt                                              CentOS Stream 8 - RealTime                                           disabled
stream-rt-source                                       CentOS Stream 8 - RT - Source                                        disabled

schmidt837 avatar Feb 10 '22 00:02 schmidt837

That's good. They would normally be enabled during the repo-sync and then disabled after. Since they were disabled when you ran repo-sync you may get issues with packages being downgraded, sometimes this causes configuration, binary compatibility, or other issues for a program that is designed to be backwards, but not forwards compatible. If any such issues crop up then one solution is to do this: dnf --enablerepo=stream-whatever update packagename, then you'll get the CentOS stream version of the package again, but the repo won't stay enabled so you'll be pinned to that version until Rocky Linux catches up (in the next point release).

pajamian avatar Feb 10 '22 00:02 pajamian