Fedora 30에서 31로 업그레이드하려고 하는데 다음 두 단계를 성공적으로 완료했습니다.
dnf upgrade --refresh
dnf install dnf-plugin-system-upgrade
그러나 다음 단계를 수행할 때:
dnf system-upgrade download --releasever=31
...알겠어요:
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)
이 문제를 극복할 수 있는 방법이 있나요? 어떤 아이디어라도 환영합니다. 필요한 경우 일부 추가 패키지 저장소를 비활성화/제거해야 해도 상관 없습니다...
답변1
모듈식 리포지토리 비활성화에 대한 바보 가이드
이게 뭔지 잘 모르겠어요dbdemon의 댓글의미는 다음과 같습니다
"Fedora Modular" 저장소를 비활성화해야 할 것 같습니다.
조금만 검색하면 이 기사가 나옵니다.Fedora/RHEL 8 모듈식 리포지토리를 사용하는 방법.
다음을 통해 설치된 모듈식 저장소를 나열할 수 있습니다.
dnf module list --enabled
나는 다음과 같은 결과를 얻습니다.
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
참고: 마지막 비트는 이미 설치된 모듈을 알려줍니다. 하지만 난 그러지 않았다고 확신해의도적으로이러한 모듈식 저장소를 설치하면 일부 개발자가 이를 활성화합니다. 방금 sudo dnf install ripgrep
모듈형 저장소를 실행하고 설치했습니다.
fd-find
그래서 이 목록에서 , ripgrep
및 을 모듈로 설치했습니다 gimp
.
그런 다음 다음과 같이 비활성화할 수 있습니다 ripgrep
.
sudo dnf module disable ripgrep
나열된 모듈에 대해 동일한 작업을 수행하면 됩니다.
3개 모듈을 비활성화한 후에는 아무런 문제 없이 Fedora 업그레이드를 실행할 수 있었습니다.
sudo dnf system-upgrade download --releasever=31
답변2
~에 따르면https://bugzilla.redhat.com/show_bug.cgi?id=1811234, 문제가 있는 모듈을 비활성화하면 작동하지만 업그레이드 후에는 다시 활성화해야 합니다. 언급된 더 간단한 솔루션은 다음과 같습니다.
sudo dnf module reset '*'
그러면 설치 중에 다음과 같은 메시지가 표시됩니다.
Enabling module streams:
gimp 2.10
maven 3.5
meson latest
ninja latest
ripgrep latest
나는 그것이 어떻게 작동하는지 완전히 이해하지 못하지만,https://docs.fedoraproject.org/en-US/modularity/using-modules-switching-streams/모듈은 최대 1개의 "스트림"을 선택하고 reset
다른 스트림을 선택할 수 있도록 해당 선택을 지울 수 있는 것 같습니다.
답변3
"ant" 또는 "maven"과 같은 모듈에 문제가 있고 모듈을 제거해도 작동하지 않는 경우 다음 명령을 사용하여 모듈을 재설정해 보세요.
"dnf 모듈 재설정"(예: dnf 모듈 재설정 maven)
그것은 'maven' 모듈과 함께 작동했습니다. 동일한 오류: 'libdnf::ModulePackageContainer::EnableMultipleStreamsException'()의 인스턴스를 던진 후 종료: 'maven' 모듈에 대해 여러 스트림을 활성화할 수 없습니다.
답변4
다음 단계를 수행해야 합니다.
1)@icc97이 말했듯 dnf module list --enabled
이 명령을 실행하면 다음과 같은 결과가 나타납니다.
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
그런 다음 실행합니다
sudo dnf module reset gimp ant fish maven
(reset
이 부분 이후에는 위 결과에 나열된 내용만 입력합니다).명령을 실행
dnf system-upgrade download --releasever=31
하고 설치할 패키지 목록이 표시될 때까지 기다린 다음 "y(es)"를 선택하고... 정상적으로 설치합니다. :)
도움이 되었기를 바랍니다.