Помощь с обновлением ubuntu abult [duplicate]

Например:

$ sudo apt-get install curl Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: bsh : Depends: libjline-java but it is not going to be installed groovy : Depends: libjline-java but it is not going to be installed rhino : Depends: libjline-java but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Я получаю те же или подобные ошибки, когда пытаюсь установить clojure1.3, leiningen и несколько других пакетов.

Когда я пытаюсь сделать предложение в сообщении об ошибке, это происходит:

$ sudo apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following packages were automatically installed and are no longer required: diffstat linux-headers-3.2.0-26-generic linux-headers-3.2.0-26 dh-apparmor dkms html2text libmail-sendmail-perl libsys-hostname-long-perl Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libjline-java Suggested packages: libjline-java-doc The following NEW packages will be installed: libjline-java 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 23 not fully installed or removed. Need to get 0 B/72.0 kB of archives. After this operation, 129 kB of additional disk space will be used. Do you want to continue [Y/n]? Y (Reading database ... 226243 files and directories currently installed.) Unpacking libjline-java (from .../libjline-java_1.0-1_all.deb) ... dpkg: error processing /var/cache/apt/archives/libjline-java_1.0-1_all.deb (--unpack): trying to overwrite '/usr/share/java/jline.jar', which is also in package scala 2.9.2-400 Errors were encountered while processing: /var/cache/apt/archives/libjline-java_1.0-1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: bsh : Depends: libjline-java but it is not installed groovy : Depends: libjline-java but it is not installed rhino : Depends: libjline-java but it is not installed E: Unmet dependencies. Try using -f.
71
задан 20 March 2017 в 10:03

8 ответов

Пожалуйста, не заходите напрямую на ответ danjjl, если вы сталкиваетесь с такой «попыткой перезаписать», вероятно, у вас есть конфликтующие пакеты, которые необходимо решить в первую очередь.

Непосредственный Исправить проблему - удалить конфликтующий пакет, который нежелателен, в этом случае scala,

sudo dpkg -P scala

Далее было бы желательно отправить отчет об ошибке вместе с соответствующими поддерживающими пакетами. Обычно это означает добавление строки Conflict: package в файл управления.

Также см. [D1] ответ danjjl answer для более подробного объяснения этой ошибки.

42
ответ дан 17 July 2018 в 18:07

Пожалуйста, не заходите напрямую на ответ danjjl, если вы сталкиваетесь с такой «попыткой перезаписать», вероятно, у вас есть конфликтующие пакеты, которые необходимо решить в первую очередь.

Непосредственный Исправить проблему - удалить конфликтующий пакет, который нежелателен, в этом случае scala,

sudo dpkg -P scala

Далее было бы желательно отправить отчет об ошибке вместе с соответствующими поддерживающими пакетами. Обычно это означает добавление строки Conflict: package в файл управления.

Также см. [D1] ответ danjjl answer для более подробного объяснения этой ошибки.

42
ответ дан 23 July 2018 в 18:57

Чтобы устранить проблему, выполните

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libjline-java_1.0-1_all.deb

проверьте, что все исправлено, выполнив: sudo apt-get -f install

Если у вас все еще есть проблемы, перезапустите первый шаг, оставив все оставшиеся dpkg: error processing (...)

Решение найдено на webupd8

74
ответ дан 17 July 2018 в 18:07

Команда @ danjjl работает для файлов .deb. Я нашел, что эта команда работает с apt / apt-get:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
30
ответ дан 17 July 2018 в 18:07

Не уверен, что это глобальное исправление, поскольку у меня была такая же проблема, но с файлом libglx-mesa в кэше, конфликтующим с Nvidia-390. Я удалил файл и выпустил apt install -f -y, дайте ему закончить, а затем продолжим с apt update, upgrade и autoremove в этой последовательности.

Я получил ошибку при выполнении apt dist-upgrade в Ubuntu 18.04 и снова продолжил процесс, больше никаких проблем, и это, казалось, было «моим» исправлением.

Команды:

sudo su - mv /var/cache/apt/archives/libglx-mesa0_18.0.0~rc5-1ubuntu1_amd64.deb ~ apt install -f -y apt update -y apt upgrade -y apt autoremove -y apt dist-upgrade

PS: Принуждение перезаписи было плохой идеей, и я попробовал, и мне повезло. Но лучше найти основную причину и исправить ее. Я все еще должен исследовать, но ошибка привела меня к перемещению файла.

1
ответ дан 17 July 2018 в 18:07

Чтобы устранить проблему, выполните

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libjline-java_1.0-1_all.deb

проверьте, что все исправлено, выполнив: sudo apt-get -f install

Если у вас все еще есть проблемы, перезапустите первый шаг, оставив все оставшиеся dpkg: error processing (...)

Решение найдено на webupd8

74
ответ дан 23 July 2018 в 18:57
  • 1
    Это позволит эффективно установить пакет, но проблема остается, когда оба пакета пытаются использовать одну и ту же библиотеку / файл / двоичный файл. – Braiam 12 May 2014 в 04:11
  • 2
    Боже, нет, это рецепт для сломанной системы ... – fkraiem 14 July 2016 в 04:41

Команда @ danjjl работает для файлов .deb. Я нашел, что эта команда работает с apt / apt-get:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
33
ответ дан 23 July 2018 в 18:57
  • 1
    только тот, который исправил проблему, которую я имел. благодаря – dubnde 26 October 2016 в 13:18
  • 2
    Отличный тип. Будьте осторожны: переписывание вещей может вызвать серьезные проблемы, если файлы разные. Один из ваших конфликтующих пакетов больше не будет функционировать должным образом. – Cat 24 January 2017 в 13:34
  • 3
    sudo apt-get -o Dpkg::Options::="--force-overwrite" install -f работал для меня по аналогичной проблеме – user2205916 23 July 2018 в 04:28

Не уверен, что это глобальное исправление, поскольку у меня была такая же проблема, но с файлом libglx-mesa в кэше, конфликтующим с Nvidia-390. Я удалил файл и выпустил apt install -f -y, дайте ему закончить, а затем продолжим с apt update, upgrade и autoremove в этой последовательности.

Я получил ошибку при выполнении apt dist-upgrade в Ubuntu 18.04 и снова продолжил процесс, больше никаких проблем, и это, казалось, было «моим» исправлением.

Команды:

sudo su - mv /var/cache/apt/archives/libglx-mesa0_18.0.0~rc5-1ubuntu1_amd64.deb ~ apt install -f -y apt update -y apt upgrade -y apt autoremove -y apt dist-upgrade

PS: Принуждение перезаписи было плохой идеей, и я попробовал, и мне повезло. Но лучше найти основную причину и исправить ее. Я все еще должен исследовать, но ошибка привела меня к перемещению файла.

1
ответ дан 23 July 2018 в 18:57

Другие вопросы по тегам:

Похожие вопросы: