Ubuntu19.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)
つまり、mono-roslyn
は、現在chicken-bin
(CHICKENスキームコンパイラ)で使用されているcsc
バイナリを上書きしようとしています。
csc
バイナリを/usr/bin/csc
から/usr/bin/csc-chicken
に移動して、問題が解決するかどうかを確認しました。それはしませんでした、そして私はまだ同じエラーが発生しています。
以前にaptとmonoに関する問題が発生しましたが、Sudo apt autoremove
で修正しましたが、最初に示したものと同じエラーが発生します。
システムに新しいパッケージをアップグレードまたはインストールできるようにするには、この問題を修正する必要があります。ご想像のとおり、これはかなり差し迫った問題です。
数日後、私は解決策に到達しました。 monoを正しくインストールできるように、chicken-bin
を削除することにしました(理想的ではありませんが、最善のオプションです)。質問で言ったように、apt remove
は機能しませんが、dpkg
を使用してパッケージを削除できることがわかりました。
次のコマンドで問題が修正されました。
$ Sudo dpkg --remove --force-remove-reinstreq chicken-bin
$ Sudo apt -f install
うまくいけば、他の誰かがこれが役に立つと思うでしょう。