Estou tentando atualizar do Fedora 30 para 31 e executei estas duas etapas com sucesso:
dnf upgrade --refresh
dnf install dnf-plugin-system-upgrade
No entanto, quando faço o seguinte:
dnf system-upgrade download --releasever=31
... Eu entendi isso:
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)
Existe alguma maneira de superar esse problema? Toda e qualquer ideia é bem-vinda. Não me importo se tiver que desabilitar/remover alguns dos meus repositórios de pacotes extras, se for necessário ...
Responder1
Guia para manequins para desabilitar repositórios modulares
Eu não tinha certeza exatamente do que issocomentário de dbdemonsignificou:
Parece que tive que desabilitar os repositórios "Fedora Modular".
Então, um pouco de pesquisa traz este artigo sobreComo usar o repositório modular Fedora / RHEL 8.
Você pode listar os repositórios modulares que instalou:
dnf module list --enabled
Eu obtive esta saída:
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: Os bits no final informam quais módulos você instalou. No entanto, tenho certeza de que nãointencionalmenteinstalar esses repositórios modulares, acontece que alguns desenvolvedores os habilitaram. Acabei de executar sudo dnf install ripgrep
e instalei o repositório modular.
Então, desta lista eu tenho, fd-find
e ripgrep
instalei gimp
como módulos.
Posso então desativá-los, por exemplo, para ripgrep
:
sudo dnf module disable ripgrep
Você só precisa fazer o mesmo para todos os módulos listados.
Depois de desabilitar meus 3 módulos, pude executar a atualização do Fedora sem problemas:
sudo dnf system-upgrade download --releasever=31
Responder2
De acordo comhttps://bugzilla.redhat.com/show_bug.cgi?id=1811234, desabilitar os módulos problemáticos funciona, mas lembre-se de reativá-los após a atualização. Uma solução possivelmente mais simples mencionada é:
sudo dnf module reset '*'
Então durante a instalação ele dirá algo como:
Enabling module streams:
gimp 2.10
maven 3.5
meson latest
ninja latest
ripgrep latest
Não entendo completamente como funciona, mas dehttps://docs.fedoraproject.org/en-US/modularity/using-modules-switching-streams/parece que um módulo pode ter no máximo 1 "stream" selecionado e reset
limpa essa seleção permitindo que outro stream seja escolhido?
Responder3
Se você tiver um problema com algum módulo como 'ant' ou 'maven', e a remoção do módulo não funcionar, tente redefinir o módulo com o comando:
"redefinição do módulo dnf", exemplo: redefinição do módulo dnf maven
Funcionou para mim com o módulo "maven", mesmo erro: término chamado após lançar uma instância de 'libdnf::ModulePackageContainer::EnableMultipleStreamsException' what(): Cannot enable multiple streams for module 'maven'
Responder4
Você precisa executar as seguintes etapas:
1)Como @icc97 disse, execute dnf module list --enabled
o comando e obtenha 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
Em seguida, execute
sudo dnf module reset gimp ant fish maven
(apósreset
a parte você está inserindo apenas os listados nos resultados acima).Execute
dnf system-upgrade download --releasever=31
o comando e aguarde a listagem dos pacotes a serem exibidos para instalação e escolha 'y(es)' e então... prossiga normalmente com a instalação. :)
Espero que ajude.