Estoy intentando actualizar de Fedora 30 a 31 y he realizado con éxito estos dos pasos:
dnf upgrade --refresh
dnf install dnf-plugin-system-upgrade
Sin embargo, cuando hago lo siguiente:
dnf system-upgrade download --releasever=31
... Entiendo esto:
Before you continue ensure that your system is fully upgraded by running "dnf --refresh upgrade". Do you want to continue [y/N]: y
Adobe Systems Incorporated 35 kB/s | 2.9 kB 00:00
Fedora Modular 31 - x86_64 23 kB/s | 25 kB 00:01
Fedora Modular 31 - x86_64 - Updates 19 kB/s | 16 kB 00:00
Fedora 31 - x86_64 - Updates 17 kB/s | 18 kB 00:01
Fedora 31 - x86_64 37 kB/s | 25 kB 00:00
google-chrome 18 kB/s | 1.3 kB 00:00
MariaDB 9.7 kB/s | 2.9 kB 00:00
packages-microsoft-com-prod 16 kB/s | 3.0 kB 00:00
PostgreSQL common RPMs for Fedora 31 - x86_64 11 kB/s | 3.0 kB 00:00
PostgreSQL 12 for Fedora 31 - x86_64 3.3 kB/s | 3.8 kB 00:01
RPM Fusion for Fedora 31 - Free - Updates 29 kB/s | 9.1 kB 00:00
RPM Fusion for Fedora 31 - Free 26 kB/s | 9.9 kB 00:00
RPM Fusion for Fedora 31 - Nonfree - Updates 11 kB/s | 9.4 kB 00:00
RPM Fusion for Fedora 31 - Nonfree 21 kB/s | 10 kB 00:00
skype (stable) 6.6 kB/s | 2.9 kB 00:00
teams 4.9 kB/s | 3.0 kB 00:00
Fedora 31 - x86_64 - VirtualBox 247 B/s | 181 B 00:00
Visual Studio Code 19 kB/s | 3.0 kB 00:00
Yarn Repository 25 kB/s | 2.9 kB 00:00
terminate called after throwing an instance of 'libdnf::ModulePackageContainer::EnableMultipleStreamsException'
what(): Cannot enable multiple streams for module 'ant'
Aborted (core dumped)
¿Hay alguna manera de superar este problema? Todas y cada una de las ideas son bienvenidas. No me importa si tengo que desactivar/eliminar algunos de mis repositorios de paquetes adicionales, si eso es lo que hace falta...
Respuesta1
Guía para principiantes para deshabilitar repositorios modulares
No estaba seguro exactamente de quécomentario de dbdemonquiso decir:
Parece que tuve que desactivar los repositorios "Fedora Modular".
Entonces, al buscar un poco aparece este artículo sobreCómo utilizar el repositorio modular Fedora/RHEL 8.
Puede enumerar los repositorios modulares que ha instalado mediante:
dnf module list --enabled
Obtuve este resultado:
Docker CE Stable - x86_64 12 kB/s | 9.8 kB 00:00
...
Fedora Modular 30 - x86_64
Name Stream Profiles Summary
gimp 2.10 [d][e] default [d] GIMP
, devel
ripgrep latest [d][e] default [d] Line oriented search tool using Rust's regex
library
Fedora Modular 30 - x86_64 - Updates
Name Stream Profiles Summary
fd-find rolling [d][e] default [d] Simple, fast and user-friendly alternative to
find
gimp 2.10 [d][e] default [d] GIMP
, devel
ripgrep latest [d][e] default [d] Line oriented search tool using Rust's regex
library
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Nota: Los bits al final le indican qué módulos ha instalado. Sin embargo, estoy bastante seguro de que no lo hice.intencionalmenteinstale estos repositorios modulares, simplemente sucede que algunos desarrolladores los han habilitado. Simplemente ejecuté sudo dnf install ripgrep
e instalé el repositorio modular.
Entonces, de esta lista tengo, fd-find
y ripgrep
instalados gimp
como módulos.
Luego puedo desactivarlos, por ejemplo, para ripgrep
:
sudo dnf module disable ripgrep
Sólo necesita hacer lo mismo para todos los módulos que haya enumerado.
Una vez que deshabilité mis 3 módulos pude ejecutar la actualización de Fedora sin problemas:
sudo dnf system-upgrade download --releasever=31
Respuesta2
De acuerdo ahttps://bugzilla.redhat.com/show_bug.cgi?id=1811234, deshabilitar los módulos problemáticos funciona, pero querrás recordar volver a habilitarlos después de la actualización. Una solución posiblemente más simple mencionada allí es:
sudo dnf module reset '*'
Luego, durante la instalación, dirá algo como:
Enabling module streams:
gimp 2.10
maven 3.5
meson latest
ninja latest
ripgrep latest
No entiendo completamente cómo funciona, pero desdehttps://docs.fedoraproject.org/en-US/modularity/using-modules-switching-streams/¿Parece que un módulo puede tener como máximo 1 "transmisión" seleccionada y reset
borra esa selección permitiendo elegir otra transmisión?
Respuesta3
Si tiene un problema con algún módulo como 'ant' o 'maven' y eliminar el módulo no funciona, intente restablecer el módulo con el comando:
"Reinicio del módulo dnf", ejemplo: reinicio del módulo dnf maven
Funcionó para mí con el módulo "maven", mismo error: terminar llamado después de lanzar una instancia de 'libdnf::ModulePackageContainer::EnableMultipleStreamsException' what(): No se pueden habilitar múltiples transmisiones para el módulo 'maven'
Respuesta4
Debe realizar los siguientes pasos:
1)Como dijo @icc97, ejecute dnf module list --enabled
el comando y obtenga algo como:
Fedora Modular 30 - x86_64 - Updates
Name Stream Profiles Summary
ant 1.10 [d][e] default [d] Java build tool
fish 3 [d][e] default [d] Friendly interactive shell
gimp 2.10 [d][e] default [d], devel GIMP
maven 3.5 [d][e] default [d] Java project management and project comprehension tool
Luego ejecute
sudo dnf module reset gimp ant fish maven
(después dereset
la parte, ingresará solo los que figuran en los resultados anteriores).Ejecute
dnf system-upgrade download --releasever=31
el comando y espere a que se muestre la lista de paquetes para la instalación y elija 'y(es)' y luego... continúe normalmente con la instalación. :)
Espero eso ayude.