Ubuntu 19.04 apt の依存関係が壊れている: mono

Ubuntu 19.04 apt の依存関係が壊れている: mono

Ubuntu 19.04 の apt に問題があります。apt パッケージをインストールまたはアップグレードしようとするたびに、次のエラーが表示されます。

You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 mono-complete : Depends: mono-roslyn (= 6.4.0.198-0xamarin3+ubuntu1804b1) but it is not going to be installed
 mono-devel : Depends: mono-roslyn (= 6.4.0.198-0xamarin3+ubuntu1804b1) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

実行時にsudo apt -f install次のエラーが発生します。

dpkg: error processing archive /var/cache/apt/archives/mono-roslyn_6.4.0.198-0xamarin3+ubuntu1804b1_all.deb (--unpack):
 trying to overwrite '/usr/bin/csc', which is also in package chicken-bin 4.13.0-1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/mono-roslyn_6.4.0.198-0xamarin3+ubuntu1804b1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

つまり、現在CHICKEN スキーム コンパイラによって使用されているバイナリmono-roslynを上書きしようとしています。cscchicken-bin

cscバイナリを から に/usr/bin/csc移動して、/usr/bin/csc-chicken問題が解決するかどうかを確認してみました。 問題は解決せず、同じエラーが引き続き発生します。

以前、apt と mono に関する問題が発生したことがあり、 で修正しましたがsudo apt autoremove、 では、ここで最初に示したのと同じエラーが発生します。

システムに新しいパッケージをアップグレードまたはインストールできるようにするには、この問題を修正する必要があります。ご想像のとおり、これはかなり緊急の問題です。

答え1

数日後、解決策を見つけました。monochicken-binが正しくインストールされるように、削除することにしました (理想的ではありませんが、最善の選択肢です)。質問で述べたように、はapt remove機能しませんが、 を使用してパッケージを削除できることが分かりましたdpkg

次のコマンドで問題は解決しました:

$ sudo dpkg --remove --force-remove-reinstreq chicken-bin
$ sudo apt -f install

他の誰かにとってもこれが役に立つことを願っています。

関連情報