Обновлен до 18.04 и теперь имеет много неработающих пакетов и неудовлетворенных зависимостей.


17

Я сделал ужасную ошибку и обновил до 18.04, не делая резервную копию в другом разделе, выполнив:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d

Затем я обновил и обновил команды после перезапуска. В настоящее время существует много проблем с неудовлетворенными зависимостями и поврежденными пакетами, которые sudo apt-get -f installкоманды не могут исправить. ОБНОВЛЕНИЕ Первая часть вывода из журнала ошибок sudo apt install -f:

    Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies... failed.
The following packages have unmet dependencies:
 gnome-calendar : Depends: gsettings-desktop-schemas (>= 3.21.2) but 3.18.1-1ubuntu1 is installed
 gnome-session : Depends: gnome-shell (>= 3.25.91-0ubuntu4~) but it is not installed
                 Depends: gnome-session-bin (>= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: gnome-session-common (= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: xwayland but it is not installed
                 Recommends: fonts-cantarell but it is not installed
                 Recommends: adwaita-icon-theme-full
                 Recommends: gnome-themes-extra but it is not installed
 gnome-settings-daemon : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
                         Depends: gsettings-desktop-schemas (>= 3.20) but 3.18.1-1ubuntu1 is installed
 hplip : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 libc-dev-bin : Depends: libc6 (< 2.24) but 2.27-3ubuntu1 is installed
 libc6-dbg : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libc6-dev : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libgmime-3.0-0 : Depends: libgpgme11 (>= 1.7.0) but 1.6.0-1 is installed
 libreoffice-avmedia-backend-gstreamer : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-base-core : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-calc : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
 libreoffice-core : Depends: libgpgmepp6 (>= 1.10.0) but it is not installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
                    Depends: libpoppler73 (>= 0.62.0) but it is not installed
                    Depends: libxmlsec1 (>= 1.2.25) but it is not installed
                    Depends: libxmlsec1-nss (>= 1.2.25) but it is not installed
 libreoffice-gnome : Depends: libreoffice-gtk3 but it is not installed
 libreoffice-gtk : Depends: libreoffice-gtk2 but it is not installed
 libreoffice-math : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-writer : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                      Depends: libabw-0.1-1 but it is not installed
                      Depends: libepubgen-0.1-1 (>= 0.1.0) but it is not installed
 libtotem0 : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
 libwayland-egl1-mesa : Depends: libegl1 but it is not installed
 libwebkitgtk-1.0-0 : Depends: libjavascriptcoregtk-1.0-0 (= 2.4.11-0ubuntu0.1) but 2.4.11-3ubuntu3 is installed
                      Depends: libwebkitgtk-1.0-common (>= 2.4.11) but it is not installable
 nautilus : Depends: libgnome-desktop-3-17 (>= 3.18.1) but it is not installed
 python3-brlapi : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-cffi-backend : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-crypto : Depends: python3 (< 3.6) but 3.6.5-3 is installed

и

E: Error, pkgProblemResolver::Resolve generated breaks,   
this may be caused by held packages.  

Попытка исправить поврежденные пакеты в Synaptic приводит к следующему сообщению об ошибке:

E: Error, pkgProblemResolver::Resolve generated breaks,   
this may be caused by held packages.     

Похоже, что с файлом sources.list что-то не так, и, кажется, он обновился, когда я попытался установить. Я едва знаю, что я делаю, и с радостью предоставлю более подробную информацию о сообщениях об ошибках. Если есть способ включить прокрутку вверх в xterm, это то, что я сейчас использую, поскольку терминал Gnome не может быть открыт.

Я хотел бы удалить все 47 поврежденных пакетов и удерживаемых пакетов, переустановить их правильно или не устанавливать их сейчас, если это вариант (т. Е. Для таких вещей, как LibreOffice, который сейчас не нужен), и иметь возможность использовать Терминал гномов.

Я ищу шаги для начинающих, как исправить все эти проблемы. Есть ли руководство о том, как начать? Очевидный пост, который я пропустил в поисках ответов? Я думаю, что этот пост движется в правильном направлении, но это немного над моей головой. Буду признателен за любую оказанную помощь. Я задаюсь вопросом, было бы действительно легче начать с новой установки 16.04.


Попробуйте sudo apt-get install -fи dpkg --configure -a.
Норберт

1
@ N0rbert OP говорит, что install -fуже работает.
WinEunuuchs2Unix

1
Вы можете попробовать aptitude, это иногда более успешно в исправлении плохого дерева пакетов.
Себастьян Старк

Почему вы использовали -d на do-release-upgrade? Честно говоря, самое простое решение - сделать чистую установку, если вы можете.
Часов

Сделал -d, потому что в пятницу утром я явно чувствовал себя не в своей тарелке и чувствовал себя свободным, и интернет сказал мне об этом, так что вокруг действительно ужасный набор решений. Излишне говорить, что я усвоил свой урок ... чистая установка или, по крайней мере, терпение к первому выпуску, будет моим выбором в будущем.
k.mat27

Ответы:


10

У меня была точно такая же проблема. Я должен был отредактировать /var/lib/dpkg/statusи очистить всю строку Depends: из пакетов, которые жаловались.
Я не уверен, какие еще проблемы могут возникнуть, но это было единственное, что apt-get install -fснова заработало .


Является ли удаление строки зависимости быстрым решением, позволяющим мне устанавливать версии, запрашиваемые пакетами, чтобы эти пакеты работали? Каким был ваш следующий шаг после этого? Я отредактировал свой первоначальный вопрос, чтобы показать несколько ошибок, связанных с версией Python, потому что я обеспокоен тем, что они являются неотъемлемой частью функции 18.04 в целом, но если вы добились успеха в этом, я бы подумал попробовать.
k.mat27

1
По сути, я думаю, что это позволяет «apt get» продолжать, а не бомбить и отказываться что-либо делать, потому что он получает много ошибок зависимости. После удаления зависимостей из каждого предупрежденного пакета я запустил «apt-get install -f», а затем подумал «apt get upgrade», который приступил к установке / установке около 800 пакетов. Казалось, что он завис в середине обновления 18.04, ожидая кучу установок. После завершения обновления все кажется нормальным, и я использую стабильную систему 18.04.
dmattp

1
Также обязательно сделайте резервную копию файла «status» перед редактированием! Если вы создадите файл с ручным редактированием, вам придется восстановить его из резервной копии.
dmattp

После резервного копирования файла состояния я дал вашему решению шанс. Я должен был повторить шаги пару раз, а затем должен был удалить одну вешалку (то, что я не использую в любом случае), что я сделал через Synaptic. Теперь я могу устанавливать вещи, и это здорово, но как предостережение для тех, кто может попробовать это, я все еще не могу использовать Software & Updates и gnome, которые входят в стандартную комплектацию 16.04 ... что хорошо для меня, но может быть плохо для другие. Спасибо! Я буду терпеливым с реальной версией 18.04 - которую я приветствую, сделав резервную копию снова и выполнив чистую установку ... извлеченный урок.
k.mat27

Это сработало в моей системе. Я удалил все неудовлетворенные зависимости из / var / lib / dpkg / status
Фахад Наим

10

Вот несколько вещей, чтобы попробовать.

Способ первый:

Это самый простой способ попробовать. Вместо использования sudo apt-get install PACKAGENAME, где PACKAGENAME - это пакет, который вы пытаетесь установить с помощью системы apt, используйте sudo apt-get install -f. Параметр -f попытается исправить систему, у которой нарушены зависимости, после чего вы сможете установить соответствующий пакет.

Откройте Терминал и введите:

sudo apt-get install -f

и нажмите ENTER.

Теперь введите:

sudo dpkg --configure -a

и нажмите ENTER.

Теперь еще раз:

sudo apt-get install -f

Способ второй:

Aptitude - это альтернатива apt-get, которую вы можете использовать как менеджер пакетов более высокого уровня. Вы можете использовать его, чтобы попробовать установить пакет вместе с ним, вместо apt-get, но сначала вам нужно установить aptitude.

Откройте Терминал и введите:

sudo apt-get install aptitude

и нажмите ENTER.

Теперь введите:

sudo aptitude install PACKAGENAME

и нажмите ENTER.

PACKAGENAME - это пакет, который вы устанавливаете. Это попытается установить пакет через aptitude вместо apt-get, что потенциально может решить проблему неудовлетворенных зависимостей.

ЕСЛИ ЭТО НЕ РАБОТАЕТ

Сломанный пакет, скорее всего, не заблокирован и должен быть удален. Чтобы удалить заблокированный файл, откройте Терминал и введите:

sudo rm /var/lib/apt/lists/lock

и нажмите ENTER.

Возможно, также необходимо удалить заблокированный файл в каталоге кеша. Для этого откройте Терминал и введите:

sudo rm /var/cache/apt/archives/lock

Я обновился с 16.04 и у меня было много разных проблем. Мне было гораздо проще сделать новую установку. Свежая или чистая установка - это всегда путь, по моему мнению.

Надеюсь это поможет,


А что нам делать с вашей некорректной командой as sudo dpkg –configure -a(типографская не будет работать в терминале)? Похоже, копировать и вставлять без критического мышления. Пожалуйста, отредактируйте свой ответ и будьте точнее в следующий раз!
Норберт

Ну извините за опечатку! Виноват. Ответ отредактирован.
Дейв

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

Привет, Дэйв, есть ли какие-либо негативные последствия, которые могут возникнуть при попытке удалить заблокированный файл и его присутствие в каталоге кэша? После этого я должен вернуться к повторению вашего предложения по методу 1 (после первой установки aptitude!) Или это может привести к той же проблеме?
k.mat27

Установка aptitude отличается от метода 1, поэтому возвращение к нему было бы излишним. Что касается удаления заблокированного файла, я всегда был уверен, что знаю, для чего он предназначен, или этот конкретный файл заблокирован, потому что по какой-то причине зависимости не были установлены (что было моим случаем несколько раз). В моем случае я удалил файлы, а затем переустановил с помощью менеджера пакетов. Я настоятельно рекомендую Synaptic Package Manager, поскольку он может помочь исправить неудовлетворенные зависимости.
Дейв

2

Я хочу добавить к этому обсуждению, сказав, что при использовании средства обновления программного обеспечения для обновления до 18.04 и при возникновении проблемы необходимо открыть терминал и ввести:

sudo apt-get autoremove

затем следует то, что изначально привело к тому, что что-то пошло не так, что привело к этому обсуждению, которое следующим образом

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d

Добро пожаловать JWeb777, чтобы спросить Ubuntu! Я рекомендую отредактировать этот ответ, чтобы дополнить его конкретными сведениями, почему автоматическое удаление препятствует возникновению проблемы.
abu_bua

1
Я не уверен, что понимаю запрос? Но проблемы, которые были решены, были во время обновления, что-то пошло не так, в общем, я закончил с частичным обновлением, что программы обновления программного обеспечения, установленные в Ubuntu, не могли разрешить командную строку, которую я разместил в этом порядке, разрешили разрывы и вывели все пробелы вернуться к рабочему состоянию с большинством выполненных обновлений, без проблем и минимальным обновлением
JWeb777

Если бы вы указали вам, что вы хотите узнать немного больше, я мог бы получить лучший ответ
JWeb777

2

С правами root перейдите var/lib/dpkg/statusи удалите содержимое файла состояния.

Тогда sudo dpkg --configure -aи потомsudo apt-get install -f

Затем установите то, что вы хотите, т.е.

sudo apt-get install nvidia-390 

1

«Если есть способ включить прокрутку вверх в xterm», поскольку вы не можете прокрутить вверх, вы можете отправить весь вывод в файл, используя:

sudo apt install -f > output.log

Затем отредактируйте output.logи скопируйте сообщения на свой вопрос. Ваши шансы получить хороший ответ улучшатся с появлением дополнительной информации.


Если кто-то еще хочет скопировать свои данные в резервный раздел перед обновлением до 18.04, то вот команда, заимствованная из этого ответа: скрипт Bash для клонирования Ubuntu в новый раздел для тестирования 18.04 LTS upgrade

rsync -haxAX --stats --delete --info=progress2 --info=name0 /* "$TargetMnt" \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}

Перед запуском команды необходимо создать резервный раздел и смонтировать его. После монтажа установлено:

TargetMnt=/mnt/my_backup_partition_name

Конечно, более простой способ - запустить скрипт, связанный выше. Он не только обеспечивает интерактивный выбор резервного раздела, но и обеспечивает проверку и изменения, позволяя grubпри необходимости загрузиться в резервный раздел.

PS Мне грустно слышать о ваших проблемах и многих других проблемах, которые я читал здесь в Ask Ubuntu с момента выпуска 18.04. К сожалению, вы видите похожие проблемы с каждым новым выпуском. Надеемся, что когда-нибудь Conical подчеркнет важность резервного копирования и / или тестирования раздела клона перед обновлением. Особенно перед первым выпуском 18.04.1, который выйдет 26 июля 2018 года.


Очень ценю ответ на xterm часть вопроса, тем более, что я понимаю, что это было не по теме для остальной части поста (мой плохой). Исходный вопрос отредактирован с выводом выше. Жаль, что я сначала принял ваш совет с клоном, но сделаю это, как только я исправлю текущую проблему и снова в будущем!
k.mat27

@ k.mat27 Теперь я начинаю клонировать еще до установки драйверов nVidia, которые вызывают у меня всевозможные страдания и которые трудно "отменить". Вы случайно не понизили мой ответ?
WinEunuuchs2Unix

Нет! Хотел бы я на самом деле сказать это, но мне не хватает репутации.
k.mat27

Вы получаете 2 балла, когда нажимаете на флажок рядом с ответом, чтобы принять его за вопрос, который вы разместили. Плюс автор получает 15 баллов за принятый ответ. Что еще более важно это помогает другим пользователям находить, принимают ответы. Вы получаете 5 баллов за каждый голос за вопрос, который вы публикуете. Если вы ответите на вопрос, вы получите 10 баллов за каждый голос "за" и минус 2 за каждый голос "за". Надеюсь это поможет.
WinEunuuchs2Unix

1

Что помогло мне:

  1. использовать sudo dpkg --remove [имя-пакета] для удаления проблемных пакетов, найденных с помощью sudo dpkg --configure -a (источник:  https://stackoverflow.com/a/35969176/557223 ). Некоторые пакеты не могут быть удалены, поскольку они являются зависимостями других пакетов.
  2. запустить sudo apt-get install -f (он снова начал работать, ура)
  3. переименовать файл org.freedesktop.systemd1.service, как указано в  https://askubuntu.com/a/838673
  4. Для запуска sudo apt-get update и dist-upgrade и autoremove, а также do-release-upgrade

Престижность https://ubuntuforums.org/showthread.php?t=2398895&page=2 dragans2!


1
Только это помогло! Спасибо!
Софрос

0

Действительно, у меня было слишком много проблем при обновлении с Xubuntu 16.04 до 18.04. Мне пришлось полностью удалить gstreamer из системы (не работает с pulseaudio, который ведет себя странно), кроме многих других вопросов, не связанных с этим постом (nvidia, netplan, baloo). За многие годы управления настольными компьютерами и серверами это была моя самая трудная миграция. Поэтому я не советую обновляться до 18.04, пока он не станет стабильным.


0

если у вас есть система, которую вы не можете авторизовать, то войдите в tty1, нажав cltr + alt + F1, войдите в свою учетную запись и попробуйте это, sudo apt-get install -f dist-upgrade если запрашивает конкретное решение для применения Y / n, используйте другой вариант, набрав "." для другого решения, то вы перечислены с другим решением для полного обновления вашей системы. если возникнет какая-либо проблема, дайте мне знать


0

После обновления у меня возникла проблема с отсутствием библиотек pyhon3.7, весь apt / dpkg был заблокирован. Найдено недостающее на /usr/lib/python3.7/py_compile.pyодин уровень глубже /usr/local/lib/python3.7. Решение, которое работало для меня, было сделать резервную копию (переименовать) целиком /usr/lib/python3.7и заменить на sym-link.

Здесь проблема (apt install -f). Извините за чешский язык, важные вещи на английском

Načítají se seznamy balíků…
Vytváří se strom závislostí…
Načítají se stavové informace…
0 aktualizováno, 0 nově instalováno, 0 k odstranění a 7 neaktualizováno.
39 instalováno nebo odstraněno pouze částečně.
Po této operaci bude na disku použito dalších 0 B.
Nastavuje se balík python3-tk:amd64 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-tk:amd64 (--configure):
 installed python3-tk:amd64 package post-installation script subprocess returned error exit status 2
Nastavuje se balík python3-lib2to3 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-lib2to3 (--configure):
 installed python3-lib2to3 package post-installation script subprocess returned error exit status 2
dpkg: nesplněné závislosti zamezily konfiguraci balíku python3-distutils:
 python3-distutils závisí na python3-lib2to3 (>= 3.6.4); avšak:
  Balík python3-lib2to3 zatím není zkonfigurován.

...

dpkg: chyba při zpracovávání balíku libsdl-net1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libsdl-image1.2-dev:amd64:
 libsdl-image1.2-dev:amd64 závisí na libsdl1.2-dev (>= 1.2.14~); avšak:
  Balík libsdl1.2-dev zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libsdl-image1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams1.65-dev:amd64:
 libboost-iostreams1.65-dev:amd64 závisí na libboost-regex1.65-dev (= 1.65.1+dfsg-0ubuntu5); avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams1.65-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams-dev:amd64:
 libboost-iostreams-dev:amd64 závisí na libboost-iostreams1.65-dev; avšak:
  Balík libboost-iostreams1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-regex-dev:amd64:
 libboost-regex-dev:amd64 závisí na libboost-regex1.65-dev; avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-regex-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Při zpracování nastaly chyby:
 python3-tk:amd64
 python3-lib2to3
 python3-distutils
 libglib2.0-dev-bin
 python3-dev
 libglib2.0-dev:amd64
 libgdk-pixbuf2.0-dev
 libibus-1.0-dev:amd64
 libboost-python1.65-dev
 libpango1.0-dev
 libsdl2-dev:amd64
 libharfbuzz-dev:amd64
 dh-python
 libsdl2-ttf-dev:amd64
 libboost-python-dev
 libsdl2-image-dev:amd64
 libpulse-dev:amd64
 libicu-le-hb-dev:amd64
 libcairo2-dev:amd64
 libnotify-dev:amd64
 libatk1.0-dev:amd64
 libgtk2.0-dev
 librsvg2-dev:amd64
 libicu-dev
 libass-dev:amd64
 libxml2-dev:amd64
 libsdl2-mixer-dev:amd64
 libsdl1.2-dev
 libsdl-ttf2.0-dev:amd64
 libboost-all-dev
 libboost-regex1.65-dev:amd64
 libbluray-dev:amd64
 libsdl-gfx1.2-dev:amd64
 libsdl-mixer1.2-dev:amd64
 libsdl-net1.2-dev:amd64
 libsdl-image1.2-dev:amd64
 libboost-iostreams1.65-dev:amd64
 libboost-iostreams-dev:amd64
 libboost-regex-dev:amd64
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.