Fedora 30에서 31로 업그레이드: 'ant' 모듈에 대해 다중 스트림을 활성화할 수 없습니다.

Fedora 30에서 31로 업그레이드: 'ant' 모듈에 대해 다중 스트림을 활성화할 수 없습니다.

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-findripgrepgimp모듈로 설치되어 있습니다.

그런 다음 다음과 같은 경우 이를 비활성화할 수 있습니다 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' 인스턴스를 던진 후 호출 종료 what(): '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 
  1. 그런 다음 실행합니다 sudo dnf module reset gimp ant fish maven( reset부분 이후에는 위 결과에 나열된 항목만 입력합니다).

  2. 명령을 실행 dnf system-upgrade download --releasever=31하고 설치를 위해 패키지 목록이 표시될 때까지 기다린 후 'y(es)'를 선택한 다음... 정상적으로 설치를 진행합니다. :)

도움이 되길 바랍니다.

관련 정보