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)
この問題を克服する方法はありますか?どんなアイデアでも大歓迎です。必要に応じて追加のパッケージリポジトリを無効にする/削除する必要があります。
答え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)」を選択して...正常にインストールします。 :)
お役に立てば幸いです。