Ubuntu 19.04 apt сломанная зависимость: mono

Ubuntu 19.04 apt сломанная зависимость: mono

У меня проблема с apt на ubuntu 19.04. Каждый раз, когда я пытаюсь установить или обновить пакет 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пытается перезаписать cscдвоичный файл, который в настоящее время используется chicken-bin(компилятором схемы CHICKEN).

Я попробовал переместить cscдвоичный файл из в , /usr/bin/cscчтобы /usr/bin/csc-chickenпроверить, исправит ли это проблему. Это не помогло, и у меня все еще возникает та же ошибка.

У меня уже были проблемы с apt и mono, которые я исправил с помощью sudo apt autoremove, но при этом возникает та же ошибка, что и первая, показанная здесь.

Мне нужно исправить эту проблему, чтобы иметь возможность обновить или установить новые пакеты в моей системе. Как вы можете себе представить, это довольно срочный вопрос.

решение1

Через несколько дней я пришел к решению. Я решил просто удалить, chicken-binчтобы mono мог правильно установиться (не идеальный, но мой лучший вариант). Как я уже сказал в своем вопросе, apt removeэто не сработает, но я понял, что могу удалить пакет с помощью dpkg.

Следующие команды исправили мою проблему:

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

Надеюсь, кому-то это будет полезно.

Связанный контент