Fedora 30から31にアップグレードしようとしていますが、次の2つの手順を正常に完了しています。
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)
この問題を克服する方法はありますか?どんなアイデアでも大歓迎です。余分なパッケージリポジトリの一部を無効化/削除する必要があるかどうかは問題ありません。
それは本当に奇妙ですが、私もこの問題に遭遇し、これらのリポジトリを無効にする必要があることがわかりました。
@vonbrandと@dbdemonに感謝します。
これが何を意味するのか正確には分かりませんでした dbdemonからのコメント :
「Fedora Modular」リポジトリを無効にしなければならなかったようです。
少し検索すると、この記事 Fedora/RHEL 8 Modular Repositoryの使用方法 に関する記事が表示されます。
次の方法で、インストールしたモジュラーリポジトリを一覧表示できます。
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
「ant」や「maven」などのモジュールに問題があり、モジュールの削除が機能しない場合は、次のコマンドでモジュールをリセットしてみてください。
「dnf module reset」、例:dnf module reset maven
これは「maven」モジュールで機能しましたが、同じエラー: 'libdnf :: ModulePackageContainer :: EnableMultipleStreamsException'のインスタンスをスローした後に終了が呼び出されましたwhat():モジュール 'maven'の複数のストリームを有効にできません
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
はその選択をクリアして、別のストリームを選択できるようにしますか?
標準のリポジトリでのみ試行し、他のリポジトリを1つずつ追加してください。最初に、より大きな/より一般的なもの(RPM Fusion)から始めます。ニッチなものほど悲しみを引き起こす可能性が高くなります。さらに、なぜPostgresリポジトリ?ディストリビューションのバージョンの何が問題になっていますか?確認してください本当に非配布物がすべて必要です。
次の手順を実行する必要があります。
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)」を選択してから、インストールを通常どおり続行します。 :)
それが役に立てば幸い。