Я сам смог решить эту ошибку, заставив файл переопределить при установке пакета .deb с dpkg.
Вот мое обходное решение для установки openjdk-9-jdk на Ubuntu 16.04 Xenial (не тестировалось в других версиях), несмотря на сообщение об ошибке, не переписывающее файл, предоставленный его зависимостью openjdk-9-jdk-headless:
Обычно пытайтесь установить пакет openjdk-9-jdk, желательно с помощью диспетчера пакетов apt:sudo apt install openjdk-9-jdk
Это установит все его зависимости, а также загрузит файл двоичного пакета. Он должен быть сохранен на /var/cache/apt/archives/openjdk-9-jdk_9~b114-0ubuntu1_amd64.deb сейчас, но вторая половина имени файла может отличаться, если у вас другая версия. Обратите внимание, что мы ожидаем, что эта единственная команда завершится с сообщением об ошибке, описанным в вопросе. Игнорируйте ошибку, мы позаботимся об этом в следующих шагах. Пакеты зависимостей еще не были полностью настроены, так как установка openjdk-9-jdk не удалась и была прервана. Мы должны сделать это вручную и просто вызвать конфигурацию всех еще не настроенных пакетов: sudo dpkg --configure -a
Наконец, мы устанавливаем наш пакет openjdk-9-jdk. Поэтому мы используем загруженный и кэшированный файл двоичного пакета, который мы получили на шаге 1. Мы должны добавить флаг --force-overwrite, чтобы менеджер пакетов игнорировал наш предоставленный дважды файл и спокойно перезаписывал его. sudo dpkg -i --force-overwrite '/var/cache/apt/archives/openjdk-9-jdk_9~b114-0ubuntu1_amd64.deb'
Возможно, вам придется адаптировать имя файла в случае, если у вас есть другая версия, или просто используйте tab-completion для ввода имени файла: нажмите Tab после ввода имени файла до подчеркивания (...openjdk-9-jdk_). и он должен автозаполнять правильное имя файла. Эта команда неверна. Термин postgresql* берется как шаблон и расширяется до списка файлов, имя которых начинается с postgresql в вашем текущем каталоге, если они есть.
По сообщению об ошибке, есть этот файл postgresql-10.3-1-linux-x64.run.
Ближайшая правильная команда:
sudo apt-get --purge remove 'postgresql*'
Эта команда неверна. Термин postgresql* берется как шаблон и расширяется до списка файлов, имя которых начинается с postgresql в вашем текущем каталоге, если они есть.
По сообщению об ошибке, есть этот файл postgresql-10.3-1-linux-x64.run.
Ближайшая правильная команда:
sudo apt-get --purge remove 'postgresql*'