No available modular metadata for modular package 'perl-...', it cannot be installed on the system

hi every one I’m trying upgrade my fedora 33 to 34 but I received this message

No available modular metadata for modular package 'perl-Clone-0.45-4.module_f34+11391+7bf06188.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'perl-Data-Dump-1.23-16.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-Digest-HMAC-1.03-27.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-Encode-Locale-1.05-19.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-File-Listing-6.14-2.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTML-Parser-3.76-1.module_f34+11674+06d874ac.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTML-Tagset-3.20-45.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTTP-Cookies-6.10-2.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTTP-Date-6.05-5.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTTP-Message-6.30-1.module_f34+12216+97e081bb.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-HTTP-Negotiate-6.01-28.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-IO-HTML-1.004-2.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-IO-stringy-2.113-6.module_f34+12213+a3398fde.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-LWP-MediaTypes-6.04-7.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-Mozilla-CA-20200520-4.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-NTLM-1.09-28.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-Net-HTTP-6.21-1.module_f34+11674+06d874ac.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-TimeDate-1:2.33-4.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-Try-Tiny-0.30-11.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-WWW-RobotRules-6.02-28.module_f34+11391+7bf06188.noarch', it cannot be installed on the system
No available modular metadata for modular package 'perl-libwww-perl-6.53-2.module_f34+11674+06d874ac.noarch', it cannot be installed on the system

Error: no available modular metadata for modular package

thanks for your help

Have you already

  1. done a full sudo dnf update --refresh
  2. Done a sudo dnf distro-sync
  3. Tried disabling the modular repo during the update and system upgrade by adding --disablerepo fedora-modular,updates-modular to the dnf command line.

Steps 1 and 2 should be done and complete successfully on fedora 33 before trying the system-upgrade step. The option mentioned in step 3 can be done at the same time as either 1 or 2, or it can wait until you are trying the system-upgrade download step. I would however suggest it before you try the download.

thanks for your answer with the second command I received this message

sudo dnf distro-sync

Last metadata expiration check: 0:00:20 ago on Sun 12 Sep 2021 21:48:27.
Error:
Problem: problem with installed package php-pecl-zip-1.19.4-1.fc33.remi.7.4.x86_64

  • package php-pecl-zip-1.19.4-1.fc33.remi.7.4.x86_64 requires libzip(x86-64) >= 1.8.0, but none of the providers can be installed
  • package php-pecl-zip-1.19.3-2.fc33.remi.7.4.x86_64 requires libzip(x86-64) >= 1.8.0, but none of the providers can be installed
  • libzip-1.8.0-1.fc33.remi.x86_64 does not belong to a distupgrade repository
    (try to add ‘–skip-broken’ to skip uninstallable packages)

but with this command I could update without problem thank you very much

dnf system-upgrade download --refresh --releasever=34 --allowerasing --disablerepo fedora-modular,updates-modular -y

What did these two options do?

  • –refresh
  • –allowearsing

Why do we need to disable do two repo? Are they bad to use?

I have had some problems with conflicts between the modular repos and the standard repos, especially when only a few packages from a “module” are installed and I was trying to do a system-upgrade or remove a single one of the packages.

While the idea is great and maybe they are useful for some I just don’t like the idea. I feel it contributes to system bloat in some ways. I personally just disable them and have had no issues in doing so.
Disabling the modular repo handles problems similar to what you saw with the errors about the module packages where the module package may not be in sync with other packages already installed.

As far as your earlier question about what --refresh and --allowerasing do.
–refresh forces a full refresh of metadata before beginning the dnf command. Thus it ensures the system is fully in sync with the repo as far as the packages installed and available.
–allowerasing allows dnf to remove conflicting files/packages that are installed, thus it is able to handle conflicts between fedora repos and out-of-tree repos similar to that seen above with the remi repo