Проблемы с циклом неудовлетворённых зависимостей при использовании apt.

Вопрос или проблема

Я пытаюсь сделать что-то с пакетами на недавно обновленной 18.04 (с 16.04), но постоянно сталкиваюсь с множеством пакетов с неудовлетворенными зависимостями. Вот вывод, который я получаю каждый раз, когда пытаюсь установить пакет:

adamthedog@adam-linux:~$ sudo apt install *любой пакет*
Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
Вам может понадобиться выполнить 'apt --fix-broken install', чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
 libasan2-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libasan4-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libatomic1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libcilkrts5-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libgcc1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libgomp1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libstdc++6-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libubsan0-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 ubuntu-app-launch : Зависит: upstart (>= 1.13), но он не может быть установлен
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).

Если я пытаюсь выполнить sudo apt --fix-broken install, я получаю следующее

Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
Коррекция зависимостей... Готово
Следующие пакеты были автоматически установлены и больше не требуются:
  account-plugin-facebook account-plugin-flickr account-plugin-google alsa-firmware alsa-firmware-loaders alsa-tools apparmor-easyprof-ubuntu apt-config-icons-large apt-config-icons-large-hidpi arctican-plugins-vst artyfx buteo-sync-plugins-contacts-google buteo-syncfw
  cgmanager click click-apparmor cmake-data content-hub cpp-5-arm-linux-gnueabihf cryptsetup-bin dexed-vst discover discover-data distrho-plugin-ports-vst drmr drowaudio-plugins-vst dssi-example-plugins dssi-utils easyssp-vst emacs24-bin-common emacs24-common
  emacs24-common-non-dfsg emacs24-el esound-common fabla firebird2.5-common-doc fonts-horai-umefont fonts-unfonts-core foo-yc20-vst freerdp-x11 fxload g++-5-arm-linux-gnueabihf gcc-5-arm-linux-gnueabihf gcc-5-arm-linux-gnueabihf-base gcc-5-base:i386 gcc-5-cross-base
  gcc-6-base:i386 gir1.2-accounts-1.0 gir1.2-click-0.4 gir1.2-javascriptcoregtk-3.0 gir1.2-signon-1.0 gir1.2-webkit-3.0 gnome-characters gnome-icon-theme-symbolic gnome-keyring-pkcs11:i386 gnome-packagekit-data gnome-weather golang-1.6 golang-1.6-doc golang-1.6-go
  golang-1.6-race-detector-runtime golang-1.6-src gstreamer0.10-gnomevfs gxvoxtonebender infamous-plugins jackass kde-style-qtcurve-qt4 kde-style-qtcurve-qt5 kdepim-doc klangfalter-vst kubuntu-restricted-addons kubuntu-restricted-extras libaccount-plugin-1.0-0
  libaccount-plugin-generic-oauth libaccount-plugin-google libappstream3 libappstreamqt1 libasan2-armhf-cross libbind9-140 libblas-common libboost-atomic1.58.0 libboost-chrono1.58.0 libboost-date-time1.58.0 libboost-iostreams1.58.0 libboost-log1.58.0
  libboost-python1.58.0 libboost-random1.58.0 libboost-serialization1.58.0 libboost-signals1.58.0 libbotan-1.10-1 libbuteosyncfw5-0 libc6-dev:i386 libcamel-1.2-54 libcapnp-0.5.3 libcfitsio2 libcgal11v5 libcgmanager0 libchromaprint0 libclang1-3.6 libclick-0.4-0
  libclutter-gst-2.0-0 libconfig-file-perl libconfuse-common libcontent-hub0 libcryptui0a libcupti7.5 libdata-alias-perl libdbus-cpp5 libdcmtk5 libdevmapper1.02.1:i386 libdirectfb-1.2-9 libdiscover2 libdns162 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libebook-1.2-16 libedataserver-1.2-21 libedataserverui-1.2-1 libedit2:i386 libelf1:i386 libesd0 libespeak1 libevent-core-2.0-5 libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5 libfcitx-gclient0 libfreerdp-cache1.1
  libfreerdp-client1.1 libfreerdp-codec1.1 libfreerdp-common1.1.0 libfreerdp-core1.1 libfreerdp-crypto1.1 libfreerdp-gdi1.1 libfreerdp-locale1.1 libfreerdp-plugins-standard libfreerdp-primitives1.1 libfreerdp-rail1.1 libfreerdp-utils1.1 libfwupd1
  libgcc-5-dev-armhf-cross libgcr-3-common libghc-old-locale-dev libghc-old-locale-prof libghc-old-time-dev libghc-old-time-prof libgif7:i386 libgit2-24 libgl2ps0 libglapi-mesa:i386 libglvnd0:i386 libgmime-2.6-0 libgnome-desktop-3-12 libgoogle-glog0v5 libgps22
  libgranite2 libgweather-3-6 libhardware2 libhdf5-10 libhdf5-cpp-11 libhttp-parser2.1 libhud2 libhunspell-1.3-0 libhybris libical1a libicu55:i386 libidn11:i386 libidn11-dev libiphb0 libisccfg140 libiscsi2 libiso9660-8 libjasper-dev libjavascriptcoregtk-3.0-0
  libjavascriptcoregtk-4.0-dev libjpeg9 libk3b6 libk3b6-extracodecs libk3b7 libk3b7-extracodecs libkcddb4 libkcompactdisc4 libkf5activitiesexperimentalstats1 libkf5calendarcore5 libkf5cddb-data libkf5cddb5 libkf5gpgmepp-pthread5 libkf5gpgmepp5 libkf5identitymanagement5
  libkf5kdgantt2-5 libkf5kipi30.0.0 libkf5libkleo5 libkf5mime5 libkf5pimtextedit5 libkf5prison1 libkf5qgpgme5 libkwineffects7 libkwinglutils7 libkwinxrenderutils7 liblensfun-data liblensfun0 liblibertine1 liblink-grammar4 liblircclient0 liblivemedia50 libllvm3.6v5
  libllvm4.0 libllvm6.0:i386 liblouis9 liblouisutdml6 liblttng-ust-ctl2 liblttng-ust-ctl4 liblttng-ust0 liblwres141 libmedia1 libmono-c5-1.1-cil libmonoboehm-2.0-1 libmonoboehm-2.0-dev libmozjs-24-0v5 libnet-cpp2 libnfs8 liboce-foundation10 liboce-modeling10
  liboce-ocaf-lite10 liboce-ocaf10 liboce-visualization10 libode4 libokularcore7 libonline-accounts-client1 libopencv-gpu2.4v5 libopencv-legacy2.4v5 libopencv-ocl2.4v5 libopencv-photo2.4v5 libopencv-stitching2.4v5 libopencv-superres2.4v5 libopencv-ts2.4v5
  libopencv-videostab2.4v5 libopencv2.4-jni liborcus-0.10-0v5 libp11-kit-gnome-keyring libp11-kit-gnome-keyring:i386 libpackagekitqt5-0 libpciaccess0:i386 libpng12-0:i386 libpodofo0.9.3 libpoppler-qt4-4 libpoppler58 libportaudiocpp0 libprocess-cpp3 libprotobuf9v5
  libprotoc9v5 libpython3.5-dev libqbscore1 libqbsqtprofilesetup1 libqcustomplot1.3 libqmobipocket1 libqt5clucene5 libqt5contacts5 libqt5feedback5 libqt5organizer5 libqt5systeminfo5 libqtcurve-utils2 libquvi-scripts libquvi7 libraptor1 librhash0 librpm3 librpmbuild3
  librpmio3 librpmsign3 libsensors4:i386 libsidutils0 libsignon-extension1 libsignon-glib1 libsodium18 libsoup2.4-dev libsox2 libspice-client-gtk-3.0-4 libssl1.0.0:i386 libstdc++-5-dev-armhf-cross libthumbnailer-qt1.0 libtorrent-rasterbar8 libtrust-store2
  libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0:i386 libubuntu-app-launch2 libubuntu-download-manager-client1 libubuntu-download-manager-common1 libubuntu-location-service3 libudm-common1 libudm-priv-common1 libuninameslist0 libunity-action-qt1 libunity-api0 libunity-scopes1.0
  liburcu4 liburcu6 libva-drm1 libvamp-sdk2v5 libvirt-bin libvpx3:i386 libvte-common libvte9 libwebkit2gtk-4.0-dev libwebkitgtk-3.0-0 libwebpdemux1 libwebpmux1 libwebrtc-audio-processing-0 libwinpr-crt0.1 libwinpr-dsparse0.1 libwinpr-environment0.1 libwinpr-file0.1
  libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1 libwinpr-interlocked0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-synch0.1 libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-utils0.1
  libx11-xcb1:i386 libxapian-1.3-5 libxapian22v5 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxen-4.6 libxfont1 libxfont1-dev libxfreerdp-client1.1 libxshmfence1:i386 libxt6:i386 libzita-alsa-pcmi0 libzita-resampler1
  libzmqpp3 linux-headers-4.4.0-186 linux-headers-4.4.0-186-generic linux-image-4.4.0-186-generic linux-libc-dev:i386 linux-modules-4.4.0-186-generic linux-modules-extra-4.4.0-186-generic linuxsampler-vst llvm-4.0 llvm-4.0-dev llvm-4.0-runtime lufsmeter-vst luftikus-vst
  lv2-dev mda-vst mod-sdk-lv2 moony.lv2 obxd-vst openjdk-8-doc oxefmsynth oxideqt-codecs-extra p11-kit-modules:i386 pitcheddelay-vst pizmidi-plugins prosper python-feedparser python-ndg-httpsclient python-utidylib python-yenc python3-apparmor-click python3-click-package
  python3-dbus.mainloop.qt python3-plainbox python3-pyqt4 python3.5-dev qml-module-qtfeedback qml-module-qttest qml-module-ubuntu-onlineaccounts-client qml-module-ubuntu-performancemetrics qml-module-ubuntu-thumbnailer0.1 qtdeclarative5-accounts-plugin
  qtdeclarative5-online-accounts-client0.1 qtdeclarative5-test-plugin qtdeclarative5-ubuntu-content1 qtdeclarative5-ubuntu-download-manager0.1 qtdeclarative5-ubuntu-thumbnailer0.1 qtdeclarative5-unity-action-plugin qtdeclarative5-unity-notifications-plugin rename
  rtirq-init rubberband-lv2 rubberband-vamp ruby2.3 seahorse-daemon sherlock.lv2 signon-plugin-password signon-ui signon-ui-service signon-ui-x11 signond sorcer suru-icon-theme tal-plugins-vst tcpd teragonaudio-plugins-vst thumbnailer-service ttf-alee ttf-wqy-microhei
  ubuntu-app-launch ubuntu-download-manager ubuntu-mobile-icons ubuntu-release-upgrader-qt unity-plugin-scopes unity-scope-gdrive url-dispatcher vamp-examples whysynth wine-gecko2.21:i386 wine-gecko2.21 wine-mono0.0.8 wine1.6-i386:i386 wolpertinger-vst wsynth-dssi
  x11proto-bigreqs-dev x11proto-xcmisc-dev x42-plugins xsynth-dssi yudit-common
Используйте 'sudo apt autoremove', чтобы удалить их.
Следующие дополнительные пакеты будут установлены:
  libc6-armhf-cross libc6-dev-armhf-cross ubuntu-app-launch
Следующие пакеты будут обновлены:
  libc6-armhf-cross libc6-dev-armhf-cross ubuntu-app-launch
3 обновлено, 0 установлено новых, 0 удалено и 51 не обновлено.
19 не полностью установлены или удалены.
Необходимо получить 0 B/2,918 kB архивов.
После этой операции будет освобождено 111 kB дискового пространства.
Хотите продолжить? [Y/n] y
(Чтение базы данных ... 965024 файлов и директорий в настоящее время установлено.)
Подготовка к распаковке .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Распаковка libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) над (2.23-0ubuntu3cross1) ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 невозможно открыть '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': Нет такого файла или директории
Не была написана отчет о сообщении, поскольку сообщение об ошибке указывает на проблему на локальной системе
                                                                                         Подготовка к распаковке .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Распаковка libc6-armhf-cross (2.27-3ubuntu1cross1.1) над (2.23-0ubuntu3cross1) ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 невозможно открыть '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': Нет такого файла или директории
Не была написана отчет о сообщении, поскольку сообщение об ошибке указывает на проблему на локальной системе
                                                                                         Подготовка к распаковке .../ubuntu-app-launch_0.12+17.04.20170404.2-0ubuntu6_amd64.deb ...
Трассировка (последний вызов последний):
  Файл "/usr/bin/click", строка 37, в <module>
    import click_package as click
ModuleNotFoundError: Нет модуля с именем 'click_package'
dpkg: предупреждение: старый пакет ubuntu-app-launch перед удалением вернул ошибку 1
dpkg: пытается выполнить скрипт из нового пакета вместо ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/ubuntu-app-launch_0.12+17.04.20170404.2-0ubuntu6_amd64.deb (--unpack):
 в новой версии пакета нет скрипта - сдаюсь
Ошибка возникли при обработке:
 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/ubuntu-app-launch_0.12+17.04.20170404.2-0ubuntu6_amd64.deb
E: Після-программа /usr/bin/dpkg вернула код ошибки (1)

Если я попытаюсь удалить пакеты, вызывающие ошибки dpkg (например, libc6-dev-armhf-cross), apt говорит мне… что я не могу, потому что у меня есть неудовлетворенные зависимости… а именно libc6-dev-armhf-cross;

adamthedog@adam-linux:~$ sudo apt purge libc6-dev-armhf-cross 
Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
Вам может понадобиться выполнить 'apt --fix-broken install', чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
 libasan2-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libasan4-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libatomic1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libc6-dev-armhf-armel-cross : Зависит: libc6-dev-armhf-cross, но он не будет установлен
 libcilkrts5-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libgcc1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libgomp1-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libstdc++-5-dev-armhf-cross : Зависит: libc6-dev-armhf-cross (>= 2.13-0ubuntu6), но он не будет установлен
 libstdc++-7-dev-armhf-cross : Зависит: libc6-dev-armhf-cross (>= 2.13-0ubuntu6), но он не будет установлен
 libstdc++6-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 libubsan0-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен
 ubuntu-app-launch : Зависит: upstart (>= 1.13), но он не может быть установлен
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).

Что мне делать?

Я думаю, что ключ в этой строке последнего сообщения об ошибке, которое вы написали:

libasan2-armhf-cross : Зависит: libc6-armhf-cross (>= 2.27), но 2.23-0ubuntu3cross1 должен быть установлен

Когда говорится 2.23-0ubuntu3cross1 должен быть установлен, это означает, что версия libc6-armhf-cross, известная apt, равна 2.23-.... Поэтому, если вы выполните apt install libc6-armhf-cross, вы получите 2.23-.... К сожалению, этого недостаточно, потому что apt был в процессе установки чего-то другого, что требует (>= 2.27).

Есть несколько вещей, которые могут вызвать это:

  1. Если вы пытались установить *.deb напрямую из более новой версии ubuntu или из PPA, который не поддерживает вашу версию (suite). deb может не иметь поддержки для зависимостей, предоставленных в вашей версии. В этом случае попробуйте установить версию для вашей конкретной версии.
  2. Вам может просто потребоваться загрузить последнюю информацию о релизах из вашего репозитория, чтобы вы знали, какие текущие версии всего. Выполните apt update, чтобы получить это
  3. Вы находитесь в процессе обновления вашей версии, и вы можете разрешить это, выполнив apt dist-upgrade. Судя по количеству автоматических удалений, я подозреваю, что это может быть так.
  4. Приоритизация может серьезно сломать систему. Если у вас есть что-то в /etc/apt/preferences.d/, пожалуйста, добавьте это в свой вопрос. Это содержит правила для таких вещей, как приоритизация одной версии над другой.

В любом случае, было бы полезно отредактировать ваш ответ, чтобы включить вывод cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list и любую информацию о том, меняли ли вы это недавно.

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

apt update
apt upgrade
apt dist-upgrade
apt --fix-broken install

Ответ или решение

Проблема с зависимостями, с которой вы столкнулись после обновления с Ubuntu 16.04 до 18.04, охватывает несколько аспектов, касающихся управления пакетами и зависимостями в системе. Давайте разберем вашу ситуацию более подробно и определим шаги, которые помогут вам разрешить её.

Анализ проблемы

Ошибка "E: Unmet dependencies" указывает на то, что некоторые пакеты не могут быть установлены из-за отсутствующих или неподходящих зависимостей. В вашем случае, несколько пакетов требуют libc6-armhf-cross >= 2.27, однако у вас установлена версия 2.23-0ubuntu3cross1. Это несоответствие зависимостей и призыв к выполнению команды sudo apt --fix-broken install предполагает, что вы находитесь в состоянии неполной установки, что мешает продолжению работы пакетного менеджера.

Также стоит отметить, что при выполнении команды на устранение неполных зависимостей вы получаете ошибки, связанные с файлами (unable to open ...), что может указывать на повреждение файловой системы или проблем с доступом к файловым путям.

Возможные решения

1. Обновление списка пакетов

Начнем с обновления списка доступных пакетов. Это позволит системе получить последнюю информацию о доступных версиях. Выполните следующие команды:

sudo apt update

2. Централизованное обновление пакетов

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

sudo apt upgrade

3. Полное обновление системы

После обновления установленных пакетов выполните дистрибутивное обновление, которое обновит все пакеты до последней доступной версии, устранив возможные конфликты зависимостей:

sudo apt dist-upgrade

4. Исправление зависимостей

После выполнения предыдущих шагов ещё раз попробуйте исправить неполные установки:

sudo apt --fix-broken install

5. Удаление временных файлов

Если все предыдущие шаги не помогли, попробуйте очистить кэш модуля apt и пересобрать базу данных установки:

sudo apt clean
sudo apt autoremove

Затем попробуйте снова выполнить команду на исправление зависимостей.

6. Проверка на конфликты и пины

Если проблема сохраняется, вам необходимо проверить файлы /etc/apt/sources.list и /etc/apt/sources.list.d/*.list на наличие ссылок на сторонние репозитории или PPA, которые могут вмешиваться в управление пакетами. Используйте команду:

cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list

Также проверьте наличие конфигурационных файлов в /etc/apt/preferences.d/, которые могут нарушать обычный порядок обновления.

7. Удаление конфликтующих пакетов

Если, несмотря на все попытки, пакеты не удается исправить, можно попробовать вручную удалить проблемные пакеты:

sudo dpkg --remove --force-remove-reinstreq <имя_пакета>

После этого повторите попытку с apt --fix-broken install.

Заключение

Следуя указанным шагам, вы сможете решить проблемы с зависимостями в Ubuntu после обновления. Важно помнить о том, чтобы репозитории были актуальными и соответствовали версии вашей операционной системы. Если же все попытки не приведут к успеху, возможно, потребуется рассмотреть вариант обращения к более «чистым» изображениям системы или переустановки, что позволит избежать накопления ошибок и конфликтов.

Оцените материал
Добавить комментарий

Капча загружается...