Я не уверен, что вызвало эту ошибку, но вот то, что говорит вся ошибка, а также это означает, что я не могу обновить любое программное обеспечение с помощью диспетчера обновлений. выяснить, что нужно сделать, чтобы это исправить.
Could not calculate the upgrade
An unresolvable problem occurred while calculating the upgrade.
Please report this bug against the 'update-manager' package and include the following error message:
'E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.'
Эта ошибка может быть вызвана неполной установкой пакета.
У вас есть два варианта: 1) исправить сломанную установку или 2) откатить (или удалить) сломанную установку.
Поскольку это не было упомянуто выше, чтобы откатиться и удалить сломанную установку, выйдите из synaptic (если вы все еще в нем) и затем введите эти команды в терминал:
sudo apt-get update # Make sure your package list is up to date
sudo apt-get autoremove # Removes "no longer required" packages
Затем, чтобы подтвердить, что сломанные пакеты исчезли , вернитесь в синаптический режим и выберите Редактировать
| Исправьте поврежденные пакеты
, и не должно быть поврежденных пакетов.
Обратите внимание, что это не исправляет неработающую установку, это просто позволяет вам снова продолжить в синаптическом режиме с другой установкой или удалением и т. Произошло то, что вы начали установку пакета, а затем частично ее выполнили, и после установки некоторых зависимостей что-то пошло не так, остались неиспользуемые зависимые пакеты и неполная установка.
Это сообщение может решить вашу проблему. Подводя итог,
/var/log/dist-upgrade/apt.log
в текстовом редакторе. sudo apt-get remove
. Примечание. В более новых версиях журнал находится в /var/log/apt/term.log
.
Проблема заключалась в том, что у меня были установлены некоторые пакеты, которые не имели пути обновления, то есть недоступны в Precise. Чтобы отладить это, я посмотрел в файле /var/log/dist-upgrade/apt.log
, и он идентифицирует пакеты, которые были «сломаны» . Мне просто нужно было apt-get remove
их сделать, обновить релиз, и после этого я мог бы переустановить их.
Иногда, когда вы переходите на апгрейд вашей машины с помощью apt-get, вы видите, что пакет «задерживается».
Обычно, чтобы обновить машину, вы должны запустить:
sudo apt-get update
sudo apt-get upgrade
Чтобы исправить пакеты, которые были сохранены:
sudo apt-get dist-upgrade
// dist-upgrade in addition to performing the function of upgrade,
// also intelligently handles changing dependencies with new versions
// of packages; apt-get has a "smart" conflict resolution system, and
// it will attempt to upgrade the most important packages at the
// expense of less important ones if necessary. So, dist-upgrade
// command may remove some packages. The /etc/apt/sources.list file
// contains a list of locations from which to retrieve desired package
// files. See also apt_preferences(5) for a mechanism for overriding
// the general settings for individual packages.
Это обновит пакеты с более новыми доступными версиями, и установить любые новые зависимости, которые необходимы для этого.
Я получил эту ошибку при обновлении с 16.04 до 18.04 и отключении питания посередине.
Вот как выглядела ошибка, и apt-get install -f ее не исправляет.
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
gir1.2-gtk-3.0 : Depends: gir1.2-pango-1.0 (>= 1.40.5) but 1.38.1-1 is installed
Depends: libgtk-3-0 (>= 3.22.29) but 3.18.9-1ubuntu3.3 is installed
hplip : Depends: hplip-data (= 3.17.10+repack0-5) but 3.16.3+repack0-1 is installed
Depends: printer-driver-hpcups (= 3.17.10+repack0-5) but 3.16.3+repack0-1 is installed
Depends: libsane1 (>= 1.0.24) but it is not installed
libhpmud0 : Depends: libsnmp30 (>= 5.7.3+dfsg-1.8ubuntu3~dfsg) but 5.7.3+dfsg-1ubuntu4.2 is installed
onboard : Depends: onboard-common (< 1.4.1-2ubuntu1.1) but it is not installed
Depends: onboard-common (>= 1.4.1-2ubuntu1) but it is not installed
Depends: libhunspell-1.6-0 but it is not installed
Recommends: onboard-data (>= 1.4.1-2ubuntu1) but 1.2.0-0ubuntu5 is installed
python3 : Depends: python3.6 (>= 3.6.7-1~) but it is not installed
Depends: libpython3-stdlib (= 3.6.7-1~18.04) but 3.5.1-3 is installed
python3-apt : Depends: libapt-inst2.0 (>= 1.6.5~) but 1.2.29ubuntu0.1 is installed
Depends: libapt-pkg5.0 (>= 1.6.5~) but 1.2.29ubuntu0.1 is installed
python3-cryptography : Depends: python3-asn1crypto (>= 0.21.0~) but it is not installed
Depends: python3-idna (>= 2.1) but 2.0-3 is installed
python3-gdbm : Depends: libgdbm5 (>= 1.14) but it is not installed
python3-pil : Depends: libwebp6 (>= 0.5.1) but it is not installed
Depends: libwebpdemux2 (>= 0.5.1) but it is not installed
Depends: libwebpmux3 (>= 0.6.1-2) but it is not installed
Recommends: python3-olefile but it is not installed
python3-systemd : Depends: libsystemd0 (>= 233) but 229-4ubuntu21.16 is installed
python3-uno : Depends: libreoffice-core (= 1:6.0.7-0ubuntu0.18.04.2) but 1:5.1.6~rc2-0ubuntu1~xenial6 is installed
Depends: python3.6 but it is not installed
Depends: uno-libs3 (>= 5.3.0~alpha) but 5.1.6~rc2-0ubuntu1~xenial6 is installed
python3.6-dev : Depends: python3.6 (= 3.6.7-1~18.04) but it is not installed
totem-plugins : Depends: libgtk-3-0 (>= 3.19.4) but 3.18.9-1ubuntu3.3 is installed
Depends: liblirc-client0 but it is not installed
Depends: libtotem0 (>= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
Depends: totem (= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
Depends: gir1.2-totem-1.0 (= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
virtualbox : Depends: python3.6 but it is not installed
Depends: libgsoap-2.8.60 but it is not installed
Depends: libpng16-16 (>= 1.6.2-1) but it is not installed
Recommends: libqt5core5a (>= 5.9.0~beta) but 5.5.1+dfsg-16ubuntu7.5 is installed
virtualbox-qt : Depends: libqt5core5a (>= 5.9.0~beta) but 5.5.1+dfsg-16ubuntu7.5 is installed
Depends: libqt5widgets5 (>= 5.7.0) but 5.5.1+dfsg-16ubuntu7.5 is installed
Depends: libqt5x11extras5 (>= 5.6.0) but 5.5.1-3build1 is installed
E: Unmet dependencies. Try using -f.
Я также пробовал sudo apt-get remove
пакеты в / var / log / dist-upgrade /apt.log
но это тоже не сработало.
Этот сработал для меня
dpkg -l | grep ^iU | awk '{print $2}' | xargs sudo dpkg --purge
Он удалил сломанные пакеты, затем я запустил
apt install -f
Он загрузил и установил пакеты.
Попробуйте:
sudo apt-get update && sudo apt-get upgrade
Затем снова запустите диспетчер обновлений.
Для меня проблема выглядела так
The following packages have unmet dependencies.
libglib2.0-dev : Depends: libglib2.0-0 (= 2.64.2-1~fakesync1) but 2.64.3-1~ubuntu20.04.1 is to be installed
Depends: libglib2.0-bin (= 2.64.2-1~fakesync1)
Это было вызвано неправильным выбором вида обновлений, которые я хотел загрузить. Я исправил это, открыв Software & Updates
, выбрав Updates
, и убедившись, что я выбрал All updates
for For other packages, subscribe to:
. Смотрите картинку ниже
Затем я запустил обычное обновление apt && apt dist-upgrade
, и затем я смог установить эту lib.
Я столкнулся с этой проблемой вчера после того, как кто-то перезагрузился во время обновления версии ОС. Ни один из вышеперечисленных подходов не сработал из-за огромного масштаба ошибок (~ 1500 пакетов).
Для восстановления я зашел в /var/log/apt/history.log
и посмотрел на последний запись, содержащая три очень длинных списка, описывающих, что было предпринято, когда обновление ОС не удалось. Он состоит из трех списков «Обновить:» «Установить:» «Удалить:» в форме:
Upgrade: package1:arch (old, new), package2:arch (old, new),
...
Переместите эти три списка в свой любимый редактор, совместимый с регулярными выражениями, и замените круглые скобки до запятой на новую строку. Для раздела «Удалить:» добавьте знак «-», чтобы у вас остались списки вроде:
Install:
speech-dispatcher-espeak-ng:amd64
fdisk:amd64
libgoa-backend-1.0-1:amd64
...
Upgrade:
speech-dispatcher-audio-plugins:amd64
ubuntu-settings:amd64
libmpc3:amd64
...
Remove:
qtdeclarative5-ubuntu-ui-toolkit-plugin:amd64-
python-sip:amd64-
gstreamer1.0-plugins-ugly-amr:amd64-
...
Знак «-» был ключевым моментом, потому что, если вы не укажете его как установить, так и удалить, вы не сможете пройдите многие циклы зависимости.
Сохраните копию этого файла, чтобы вы могли обратиться к нему позже, но сделайте новую копию там, где вы очистите ее: удалите все лишние строки файла, оставив только package: arch
строки.
Запустите apt, используя полученный файл packages.txt следующим образом
xargs -a packages.txt sudo apt install
Эта команда будет содержать все операции добавления / удаления, которые система намеревалась делать до того, как она сломалась, и должна представлять согласованный набор.
Предполагая, что он завершится, вы можете завершить все пропущенное с помощью sudo apt install -f
и sudo apt dist-upgrade
.
Завершите, создав новый список используя только список пакетов «Установить:», передайте их в apt-mark auto
, чтобы пометить пакеты как автоматически установленные (их выбрал обновление, а не вы).
xargs -a installed.txt sudo apt-mark auto
Надеюсь, это поможет кому-то еще, кто думал, что вся их система сломалась.