Как разрешить неудовлетворенные зависимости после добавления PPA?

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

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

Как я могу решить эту проблему?

615
задан 23 October 2014 в 19:43

14 ответов

APT является системой управления пакета для Debian и других дистрибутивов Linux на основе его, таких как Ubuntu. По большей части APT прост в использовании для установки, удаления и обновления пакетов. В редких экземплярах, часто когда Вы смешиваетесь в сторонних зависимостях, существует шанс это apt-get может закончить тем, что дал Вам ошибку при сообщении Вам, что установка пакета не могла быть завершена.

Решения:

Это всегда - хорошая идея создать резервную копию конфигурационных файлов как /etc/apt/sources.list, таким образом, можно вернуться изменения в случае необходимости.

  • Если error шоу что-то вроде этого:

    <some-package>: Depends: <other-package> (= version) but this-version is to be installed

    Затем удостоверьтесь что restricted и universe репозитории включены. Хит Alt+F2, ввести software-properties-gtk и хит Входит.

    Под Ubuntu Software вкладка, включите все репозитории.

  • Одной возможной причиной невстреченных зависимостей могла быть поврежденная база данных пакета, и/или некоторые пакеты не были установлены правильно. Для решения этой проблемы поразите Alt+Ctrl+T для открытия терминала и попытки выполнить одну из следующих команд:

    sudo apt-get clean

    или,

    sudo apt-get autoclean

    apt-get clean убирает локальный репозиторий полученных файлов пакета (.deb файлы). Это удаляет все кроме файла блокировки от/var/cache/apt/archives/и/var/cache/apt/archives/partial/. apt-get autoclean убирает локальный репозиторий полученных файлов пакета, но в отличие от этого apt-get clean, это только удаляет файлы пакета, которые больше не могут загружаться и в основном бесполезны.

  • Одни из самых основных мер для разрешения проблем зависимостей должны работать:

    sudo apt-get -f install

    -f здесь обозначает, “фиксируют поврежденный”. Apt попытается исправить поврежденные зависимости. Если Вы вручную установили пакет, который не встретил зависимости, apt-get установит те зависимости, если это возможно, иначе это может просто удалить пакет, который Вы установили для разрешения проблемы.

    Затем выполненный:

    sudo dpkg --configure -a

    Затем выполните это снова:

    sudo apt-get -f install

    Если вывод:

    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

    Это означает, что перестало работать.

  • Следующее решение состоит в том, чтобы работать:

    sudo apt-get -u dist-upgrade

    Если это показывает какие-либо сохраненные пакеты, лучше устранять их. Пакеты считаются из-за конфликтов зависимости этим apt не может решить. Попробуйте эту команду, чтобы найти и восстановить конфликты:

    sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

    Если это не может зафиксировать конфликты, это выйдет с:

    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

    Удалите сохраненные пакеты один за другим, работая dist-upgrade каждый раз, до там больше не считаются пакетами. Затем переустановите любые необходимые пакеты. Обязательно используйте --dry-run опция, так, чтобы Вы были хорошо проинформированы последствий:

    sudo apt-get remove --dry-run package-name

    Начиная с удаления пакета Вы пытаетесь установить, может не быть идеальным, Вы могли бы также попытаться найти репозиторий, который имеет пакеты, необходимо удовлетворить зависимости.

Наконец, если все остальное перестало работать, можно попытаться удовлетворить зависимости сами, или путем нахождения и установки необходимых пакетов, или путем установки их из источника и затем создания “deb” пакетов для них.

Отключите/Удалите/Произведите чистку PPAs:

PPAs (Персональный Архив Пакета) являются репозиториями, размещенными на Панели запуска. Можно использовать PPAs для установки или пакеты обновления, которые не доступны в официальных репозиториях Ubuntu.

Одной из наиболее распространенных причин невстреченных зависимостей является PPAs, особенно при использовании для обновления существующего пакета в репозиториях Ubuntu. Для решения проблемы, у Вас есть три опции: отключите, чистка (вернитесь назад к исходному пакету в репозиториях Ubuntu), или удалите PPA.

  • Отключите:

    Отключение PPA не означает больше обновлений для пакетов, установленных от того PPA. Отключить PPA: Открытый Software Center > Edit > Software Sources Или,

    Хит Alt+F2 и выполненный software-properties-gtk.

    Нажать Other Software вкладка, Вы будете видеть, что каждый PPA имеет две строки здесь, один для скомпилированных пакетов и один для источника, Uncheck обе строки для отключения PPA. Здесь можно также добавить и удалить PPAs.

  • Чистка:

    Чистка PPA означает, понижение пакетов в выбранном PPA к версии в официальных репозиториях Ubuntu и отключении что PPA. Чистка PPA делает точно это. Для установки Чистки PPA выполняет следующую команду:

    sudo apt-get install ppa-purge

Но, рассмотрение вопроса apt повреждается, вышеупомянутая команда перестанет работать. Так используйте эту команду

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Использовать Чистку PPA:

sudo ppa-purge ppa:someppa/ppa

Если команда 'ppa-чистки' перестала работать по некоторым причинам, Вы не можете выполнить 'ppa-чистку' снова, если Вы не повторно включаете PPA (Для включения PPA, выполняют те же шаги как отключение PPA и Check обе строки конкретного PPA для включения его).

Примечание: PPA Purge не удаляет PPAs (может быть в будущем), Таким образом, необходимо будет вручную удалить PPA.

  • Удалите:

    Если пакет, установленный от PPA, не существует в официальных репозиториях Ubuntu затем с помощью PPA Purge не рекомендуется, потому что нет ничего, чтобы быть пониженным и PPA Purge не удалил бы его также. Для удаления PPA и установленных пакетов выполняет следующие команды: (Проигнорируйте первую команду, если Вы не хотите удалять установленные пакеты),

    sudo apt-get autoremove --purge package-name
    sudo add-apt-repository --remove ppa:someppa/ppa
    sudo apt-get autoclean
    

Кроме того, можно использовать Y PPA Manager отключить/удалить/произвести чистку PPA (Детали в конце ответа).

Превентивные меры:

Таким образом, как мы можем избежать этого от случая во-первых?

  • Усовершенствуйте Ubuntu. Ubuntu автоматически уведомляет, когда обновления доступны, можно также проверить на доступные обновления путем нажатия Session Indicator в панели Unity:

    Или, Хит Alt+Ctrl+T, чтобы открыть терминал и выполнить следующие команды:

    sudo apt-get update
    sudo apt-get upgrade

    Обновление: Синхронизирует Ваш список доступных пакетов с серверами в исходных репозиториях. Обновление: Загрузки и установки любые более новые версии Ваших установленных пакетов.

  • Если Вы решаете добавить другие репозитории к sources.list, удостоверьтесь, что репозиторий предназначен для работы (и известный работать) с Ubuntu. Репозитории, которые не разработаны для работы с версией Ubuntu, могут представить несоответствия в системе и могли бы вынудить Вас переустановить. Кроме того, удостоверьтесь, что действительно необходимо добавить внешние репозитории как пакет (пакеты) программного обеспечения, который Вы ищете, возможно, уже был введен в официальные репозитории! Источник
  • Удалите дублирующийся PPAs. Y PPA Manager (руководство по инсталляции в конце ответа), может легко просканировать и удалить дублирующийся PPAs.

    • Хит Alt+F2 и выполненный y-ppa-manager открыть Y PPA Manager.
    • Однажды открывают, двойной щелчок или совершают нападки, Вводят Advanced.
    • В получающемся выборе окна Scan and remove duplicate PPAs и нажмите "OK".

enter image description here

Получение справки:

При обращении за помощью на Askubuntu или любом другом форуме справки, необходимо включать вывод следующих команд в вопросе:

  • Вывод фактической ошибки:

    sudo apt-get install package-name
  • Это покажет Ваш sources.list:

    cat /etc/apt/sources.list
  • Это покажет список PPAs (Если таковые имеются):

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

Дополнительные источники:


Y менеджер по PPA: Y менеджер по PPA один магазин остановки для всех Ваших потребностей PPA.

y ppa manager

Вот некоторые его функции:

  • поисковые пакеты во всей Панели запуска PPAs
  • список и пакеты загрузки в PPA
  • добавьте / удаляют / производят чистку PPA
  • резервное копирование и восстановление источники PPA
  • удалите дублирующиеся источники PPA

Устанавливать Y PPA Manager, откройте терминал путем удара Alt+Ctrl+T и выполните следующие команды:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Рассмотрение вопроса, apt повреждается, так используйте эти команды вместо этого

sudo su

и

32 бита:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 бита:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb
566
ответ дан 23 October 2014 в 19:43

Если вы получаете сообщение об ошибке, подобное этому:
enter image description here

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

sudo apt-get -f install

(Эта команда должна автоматически устанавливать неудовлетворенные зависимости.)

или что-то вроде этого (с соответствующими пакетами) :

sudo apt-get install click curl dpkg-dev python-lzma python-requests imagemagick ubuntu-dev-tools

Но если вы столкнетесь с такой ошибкой: cannot install package/package not available/no installation candidate etc [ 1120]

Затем можно найти способы их установки здесь или здесь .
В приведенном выше примере вы сможете найти страницу типа или , а затем использовать PPA или установить .deb для 32-бит или [ 119] .deb для 64-битных .

0
ответ дан 23 October 2014 в 19:43

Во время установки пакетов i386 в 64-битных системах Multiarch Ubuntu

Если вы пытаетесь установить пакет, который зависит от многих пакетов i386, вышеупомянутая ошибка зависимости также будет вызвана, если вы не сможете добавьте архитектуру i386, выполнив команду sudo dpkg --add-architecure i386.

Пример:

avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 skype : Depends: skype-bin but it is not installable
E: Unable to correct problems, you have held broken packages.
avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo dpkg --add-architecture i386
avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype-bin:i386 sni-qt:i386 zlib1g:i386
Suggested packages:
  nas:i386 glibc-doc:i386 locales:i386 rng-tools:i386 libglide3:i386
  gnutls-bin:i386 krb5-doc:i386 krb5-user:i386 libvisual-0.4-plugins:i386
  gstreamer-codec-install:i386 gnome-codec-install:i386
  gstreamer1.0-tools:i386 gstreamer1.0-plugins-base:i386 jackd2:i386
  pulseaudio:i386 libqt4-declarative-folderlistmodel:i386
  libqt4-declarative-gestures:i386 libqt4-declarative-particles:i386
  libqt4-declarative-shaders:i386 qt4-qmlviewer:i386 libqt4-dev:i386
  libicu48:i386 libthai0:i386 qt4-qtconfig:i386
Recommended packages:
  xml-core:i386
The following NEW packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype skype-bin:i386 sni-qt:i386 zlib1g:i386
0 upgraded, 115 newly installed, 0 to remove and 7 not upgraded.
Need to get 63.7 MB of archives.
After this operation, 225 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
0
ответ дан 23 October 2014 в 19:43

После того, как я попробовал почти все методы, упомянутые в этой теме (и другие), я был близок к тому, чтобы сдаться. Я обновил свой Debian Lenny до Squeeze, и я не мог понять, почему PHP5, Apache, MySQL и т. Д. Не хотят устанавливать. В конце концов я попытался использовать

sudo apt-get purge apache2
sudo apt-get purge php5
sudo apt-get purge mysql-server
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install apache2 php5 mysql-server

.. и это сработало безупречно! ( Осторожно, он может уничтожить ваши файлы конфигурации, поэтому сделайте их резервную копию! )

0
ответ дан 23 October 2014 в 19:43

Что такое неудовлетворенные зависимости Ошибка

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

Возможные причины

1.Computer is not connected to the Internet
2.The repository containing the depandancy package is not enabled
3.Package catalog is not updated
4.The version of the depandancy in the current repository is old
5.Software index is broken
6.The depandancy is not available for ubuntu

Давайте попробуем решить ее

  1. Подключиться к Интернету: D
  2. Сделать убедитесь, что все репозитории по умолчанию включены

    -> Вы можете легко добавить их в Software Center -> Правка-> Источники программного обеспечения-> Другие источники-> Добавить »

    -> Запустите Software Center.

    ->. На панели перейдите к Edit и выберите Software Sources.

    edit-software-sources

    - > Убедитесь, что все репозитории проверены enter image description here

  3. Обновите каталог программного обеспечения

    , щелкните по верхнему правому значку и выберите Доступен для обновления. Войдите в меню
    enter image description here

и нажмите кнопку проверки enter image description here [ 1137]

4.type ctrl + alt + t , чтобы открыть терминал, и введите sudo apt-get install -f

5. Очистите недавно добавленный ppa, используя ppa-purge ppa-purge Install ppa-purge

Эта программа отключает PPA из ваших программных источников и отменяет Ваша система вернулась к официальным пакетам Ubuntu. Вы можете использовать это, чтобы вернуть вашу систему в нормальное состояние после тестирования новой версии из PPA.

Синтаксис

sudo ppa-purge ppa:<repository-name>/<subdirectory>

Пример

sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
  1. Откройте центр программного обеспечения и попробуйте установить любое программное обеспечение, если появилось следующее диалоговое окно, нажмите кнопку восстановления и подождите

enter image description here

остальное тип Ctrl + alt + t , чтобы открыть терминал и набрать sudo apt-get install -f и следовать инструкциям на экране

Если ошибка по-прежнему возникает, не стесняйтесь спросить об этом в askbuntu

0
ответ дан 23 October 2014 в 19:43

Отличные ответы! Но сегодня мой случай кажется отличным от вашего. Вот мой совет.

Проблема:

Мне не удалось установить apache2 в Ubuntu 10.10.

rick@wen-VirtualBox:~$ sudo apt-get install apache2

Reading package lists... Done

Building dependency tree      

Reading state information... Done

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following information may help to resolve the situation:

The following packages have unmet dependencies:

 apache2 : Depends: apache2-mpm-worker (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-prefork (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-event (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-itk (= 2.2.16-1ubuntu3) but it is not going to be installed

           Depends: apache2.2-common (= 2.2.16-1ubuntu3) but it is not going to be installed

E: Broken packages

Решение:

Мой способ - добавить зависимый пакет в список установки.

Если 'sudo apt-get install apache2' не удалось, попробуйте ' sudo apt-get install apache2 apache2.2-common '.

Видите? apache2.2-common происходит из журнала ошибок предыдущего шага.

Наконец-то я обнаружил, что есть цепочка зависимостей, подобная этой:

 apache2.2-common <-- apache2.2-bin <-- libaprutil1-ldap <-- libaprutil1

Для первых 3 пакетов журнал apt-get сказал мне, что «не будет установлен»,

но для последнего пакета он показывает 'libaprutil1-ldap: Depends: libaprutil1 (= 1.3.9 + dfsg-3build1), но должен быть установлен 1.3.9 + dfsg-3ubuntu0.10.10.1'

I В моей библиотеке есть другая версия, так что:

sudo apt-get remove libaprutil1

sudo apt-get install apache2

Теперь все в порядке.

0
ответ дан 23 October 2014 в 19:43

То, что сработало для меня, это переустановить зависимость. Это тот случай, когда установленная версия более поздняя, ​​чем последняя (что показывает synaptic). На самом деле это эквивалентно разрешению synaptic понижать пакет зависимостей.

Другая вещь, которая работала, использует «aptitude»:

root@arau:~# aptitude install libgfortran3
The following NEW packages will be installed:
  libgfortran3{b} 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 250 kB of archives. After unpacking 1 230 kB will be used.
The following packages have unmet dependencies:
 libgfortran3 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is installed.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     libgfortran3 [Not Installed]                       



Accept this solution? [Y/n/q/?] n
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

      Downgrade the following packages:                                        
1)      cpp-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
2)      gcc-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
3)      gcc-4.8-base [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
4)      libasan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
5)      libatomic1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
6)      libgcc-4.8-dev [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]
7)      libgomp1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
8)      libitm1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
9)      libquadmath0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
10)     libstdc++6 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
11)     libtsan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      

Accept this solution? [Y/n/q/?] y
0
ответ дан 23 October 2014 в 19:43

... не забывайте о `build-dep`

В дополнение к этим ответам выше - я должен признать, что я удивлен, что никто не упомянул этот подход, который я всегда использовал как «серебряная пуля» в любое время, когда я сталкивался с конфликтами apt-get или неразрешенными пакетами (или даже если система упряма… ха!).

РЕДАКТИРОВАНИЕ: использование sudo dpkg -r [package] приветствуется, поскольку имеет довольно мощную функцию удаления. Поскольку apt-get работает вместе с dpkg, это означает, что apt-get будет выполнять функцию dpkg.

  sudo dpkg -r [package]
  sudo apt-get build-dep [package]  
  ## pre-install all deps for the package

Вы вызываете apt-get, чтобы очистить сбойный пакет, который пытались установить в системе, а затем вызываете команду build-dep, которая apt-get захватит и установит зависимости, индивидуально принадлежащие этому пакету, поэтому таким образом, они будут удовлетворять пакет до. Затем, наконец, вызовите apt-get install:

sudo apt-get install [package]

.... «Тьфу! Давайте крутить вашу руку, пока вы не закричите «Дядя!»

Это редко случалось в течение моих долгих лет использования Linux, но я обнаружил, что использую этот подход редко и добился успеха. Это пример недавней борьбы, которую я имел ранее месяц назад с пакетами mysql-client/mysql-server. После дюжины неудачных попыток сбросить мой пароль root с помощью mysql-server (даже с помощью --skip-grant-tables techqiue, но пока безуспешно), я, наконец, преуспел в «повороте руки Linux, пока она не выкрикнула« Дядя! »»:

sudo dpkg -r mysql-server mysql-client
sudo apt-get autoclean  
## this dumps any copy of existing package to prevent apt-get from "re-using" it.
sudo apt-get build-dep mysql-client   
 ## one package at a time, starting with client first
sudo apt-get install mysql-client
sudo apt-get build-dep mysql-server
sudo apt-get install mysql-server

apt-get autoclean является ключом в этом решении

0
ответ дан 23 October 2014 в 19:43

Эти методы должны сопровождаться каждый раз, когда Вы получаете ошибку относительно Невстреченных Зависимостей

После следования инструкциям пытаются установить программное обеспечение. По крайней мере один из этих методов должен работать на Вас

1. Прежде, чем попробовать любую новую команду или добавить любой новый ppa пробуют это

Чистка способного кэша:

sudo apt-get clean

Чистка любых неиспользованных зависимостей:

sudo apt-get autoremove

Обновление способного кэша

sudo apt-get update

Это удалит весь кэш и загрузит новый кэш. Это должно быть сделано для получения новых пакетов кэша и более новых обновлений.

2. Попробовать sudo apt-get install -f.

Это, вероятно, даст некоторые предложения об удалении и установке пакетов, сделает то, что кажется разумным.

3. Изменитесь Download Server от Software Sources Поскольку иногда файлы на сервере повреждаются.

enter image description here
enter image description here
enter image description here

4. Это также происходит если Вы, прежде чем добавлено внешний ppa для поврежденной зависимости. Попытайтесь удалить это ppa

  • любой ввод sudo add-apt-repository --remove ppa:someppa/ppa и затем вручную удаление ppa установило файлы/библиотеки

или

  • чистка ppa (это удаляет установленные файлы также),

    sudo apt-get install ppa-purge   #a one time install 
    sudo ppa-purge ppa:someppa/ppa  
    

5. Если № 4 не является Вашим случаем, затем по крайней мере пытаются удалить пакет, который показывается поврежденной зависимостью. Затем попробуйте еще раз устанавливать. Это, как сообщают, работало на довольно много людей.

6. Всегда добавляйте стабильную версию репозитория/PPA.

enter image description here

7 Также удостоверяются, что у Вас есть все официальные включенные репозитории (В Software Sources)

enter image description here

Не включайте Proposed Updates поскольку они предназначены для тестирования/разработчиков.

enter image description here


Как сказано doug:

Обычно лучший 1-й шаг к разрешению этого должен определить источник <pkg1> & <pkg2>.

Дополнительно не отмеченный то, что во многих, если не большинство случаев, "то независимо от того, <что> должно быть установлено" действительно, означает" независимо от того, <что> устанавливают" и нужно попробовать, чтобы быть удаленным, если ничто иное не работает (в точке 5).


Я буду продолжать добавлять, что больше вещей плохо находит для фиксации unmet dependencies.

17
ответ дан 23 October 2014 в 19:43

В большинстве случаев установка пакета через aptitude разрешит неудовлетворенные зависимости. По умолчанию пакет aptitude не был установлен на вашем ПК. Сначала установите его, запустив,

sudo apt-get update
sudo apt-get install aptitude

, затем

sudo aptitude install packagename

Например,

    
avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo apt-get install ubuntu-sdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ubuntu-sdk : Depends: qtcreator-plugin-ubuntu but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Установка пакета через aptitude

avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo aptitude install ubuntu-sdk
The following NEW packages will be installed:
  apparmor-easyprof{a} apparmor-easyprof-ubuntu{a} at{a} build-essential{a} 
  click{a} click-apparmor{a} click-dev{a} click-doc{a} cordova-ubuntu-2.8 
  cordova-ubuntu-2.8-examples{a} debhelper{a} devscripts{a} dh-apparmor{a} 
  dh-make{a} distro-info-data{a} dpkg-dev{a} dput{a} g++{a} g++-4.8{a} 
  geoclue-gypsy{a} libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} 
  libalgorithm-merge-perl{a} libboost-filesystem1.53.0{a} 
  libboost-program-options1.53.0{a} libboost-regex1.53.0{a} 
  libbotan-1.10-0{a} libdee-qt5-3{a} libdistro-info-perl{a} 
  libexporter-lite-perl{a} libglib2.0-dev{a} 
  libgstreamer-plugins-base1.0-dev{a} libgstreamer1.0-dev{a} libgypsy0{a} 
  libhud2{a} libio-stringy-perl{a} libjs-jquery{a} libjs-sphinxdoc{a} 
  libjs-underscore{a} liblockdev1{a} libmail-sendmail-perl{a} 
  libparse-debcontrol-perl{a} libpcre3-dev{a} libpcrecpp0{a} 
  libpoppler-qt5-1{a} libqdjango-db0{a} libqgsttools-p1{a} 
  libqt5clucene5{a} libqt5contacts5{a} libqt5declarative5{a} 
  libqt5designer5{a} libqt5designercomponents5{a} libqt5feedback5{a} 
  libqt5help5{a} libqt5location5-plugins{a} libqt5multimedia5{a} 
  libqt5multimedia5-plugins libqt5multimediaquick-p5{a} 
  libqt5multimediawidgets5{a} libqt5organizer5{a} 
  libqt5qml-graphicaleffects{a} libqt5script5 libqt5scripttools5{a} 
  libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} libqt5v8-5-dev 
  libqt5versit5{a} libqt5versitorganizer5{a} libqt5webkit5-dev 
  libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} 
  libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} libsys-hostname-long-perl{a} 
  libthumbnailer0{a} libu1db-qt5-3{a} libunity-action-qt1{a} 
  libupstart-app-launch1{a} libusermetricsinput1{a} libxml2-dev{a} 
  libxslt1-dev{a} po-debconf{a} python3-apparmor-click{a} python3-click{a} 
  python3-magic{a} qmlscene qt3d5-dev qtbase5-doc{a} qtcreator{a} 
  qtcreator-doc{a} qtcreator-plugin-ubuntu{a} 
  qtcreator-plugin-ubuntu-common{a} qtdeclarative5-accounts-plugin 
  qtdeclarative5-cordova-2.8-plugin{a} qtdeclarative5-dev-tools 
  qtdeclarative5-doc-html{a} qtdeclarative5-folderlistmodel-plugin 
  qtdeclarative5-friends0.2 qtdeclarative5-localstorage-plugin 
  qtdeclarative5-particles-plugin qtdeclarative5-poppler1.0 
  qtdeclarative5-qtaudioengine-plugin qtdeclarative5-qtfeedback-plugin{a} 
  qtdeclarative5-qtlocation-plugin qtdeclarative5-qtmultimedia-plugin{a} 
  qtdeclarative5-qtorganizer-plugin qtdeclarative5-qtquick2-plugin{a} 
  qtdeclarative5-qtsensors-plugin qtdeclarative5-u1db1.0 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin{a} 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-assets{a} 
  qtdeclarative5-ubuntu-ui-toolkit-plugin{a} 
  qtdeclarative5-unity-action-plugin{a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-window-plugin{a} qtdeclarative5-xmllistmodel-plugin 
  qtgraphicaleffects5-doc{a} qtlocation5-dev{a} qtmultimedia5-dev 
  qtmultimedia5-doc{a} qtmultimedia5-doc-html{a} qtscript5-dev 
  qtscript5-doc{a} qtscript5-doc-html{a} qtsensors5-dev{a} qtsvg5-doc{a} 
  qtsvg5-doc-html{a} qttools5-dev qttools5-dev-tools qttools5-doc{a} 
  qtwebkit5-doc-html{a} schroot{a} schroot-common{a} sqlite3{a} 
  ubuntu-html5-container ubuntu-html5-sdk{ab} ubuntu-html5-theme{a} 
  ubuntu-html5-theme-examples ubuntu-sdk ubuntu-sdk-libs 
  ubuntu-sdk-libs-dev{a} ubuntu-ui-toolkit-doc{a} 
  ubuntu-ui-toolkit-examples{a} ubuntu-ui-toolkit-theme{a} 
  unity-action-doc{a} upstart-app-launch{a} upstart-app-launch-tools{a} 
  usermetricsservice{a} wdiff{a} zlib1g-dev{a} 
The following packages will be upgraded:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc++6 libtsan0 
15 packages upgraded, 151 newly installed, 0 to remove and 293 not upgraded.
Need to get 108 MB/126 MB of archives. After unpacking 273 MB will be used.
The following packages have unmet dependencies:
 ubuntu-html5-sdk : Depends: qtdeclarative5-ubuntu-webapps-api which is a virtual package.
                    Depends: ubuntu-html5-ui-toolkit but it is not going to be installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:              
1)     qtcreator-plugin-ubuntu [Not Installed]                          
2)     ubuntu-html5-sdk [Not Installed]                                 
3)     ubuntu-sdk [Not Installed]                                       

     Leave the following dependencies unresolved:                       
4)     libhud-client2 recommends hud (= 13.10.1+13.10.20131014-0ubuntu1)
5)     qtcreator-plugin-ubuntu-common recommends qtcreator-plugin-ubuntu


Accept this solution? [Y/n/q/?] y
The following NEW packages will be installed:
  apparmor-easyprof{a} apparmor-easyprof-ubuntu{a} build-essential{a} 
  click{a} click-apparmor{a} cordova-ubuntu-2.8 debhelper{a} dh-apparmor{a} 
  dh-make{a} dpkg-dev{a} g++{a} g++-4.8{a} geoclue-gypsy{a} 
  libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} 
  libalgorithm-merge-perl{a} libdee-qt5-3{a} libglib2.0-dev{a} 
  libgstreamer-plugins-base1.0-dev{a} libgstreamer1.0-dev{a} libgypsy0{a} 
  libhud2{a} libjs-jquery{a} libmail-sendmail-perl{a} libpcre3-dev{a} 
  libpcrecpp0{a} libpoppler-qt5-1{a} libqdjango-db0{a} libqgsttools-p1{a} 
  libqt5clucene5{a} libqt5contacts5{a} libqt5designer5{a} 
  libqt5designercomponents5{a} libqt5feedback5{a} libqt5help5{a} 
  libqt5location5-plugins{a} libqt5multimedia5{a} libqt5multimedia5-plugins 
  libqt5multimediaquick-p5{a} libqt5multimediawidgets5{a} 
  libqt5organizer5{a} libqt5qml-graphicaleffects{a} libqt5script5 
  libqt5scripttools5{a} libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} 
  libqt5v8-5-dev libqt5versit5{a} libqt5versitorganizer5{a} 
  libqt5webkit5-dev libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} 
  libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} libsys-hostname-long-perl{a} 
  libthumbnailer0{a} libu1db-qt5-3{a} libunity-action-qt1{a} 
  libupstart-app-launch1{a} libusermetricsinput1{a} libxml2-dev{a} 
  libxslt1-dev{a} po-debconf{a} python3-apparmor-click{a} python3-click{a} 
  qmlscene qt3d5-dev qtdeclarative5-accounts-plugin 
  qtdeclarative5-cordova-2.8-plugin{a} qtdeclarative5-dev-tools 
  qtdeclarative5-folderlistmodel-plugin qtdeclarative5-friends0.2 
  qtdeclarative5-localstorage-plugin qtdeclarative5-particles-plugin 
  qtdeclarative5-poppler1.0 qtdeclarative5-qtaudioengine-plugin 
  qtdeclarative5-qtfeedback-plugin{a} qtdeclarative5-qtlocation-plugin 
  qtdeclarative5-qtmultimedia-plugin{a} qtdeclarative5-qtorganizer-plugin 
  qtdeclarative5-qtquick2-plugin{a} qtdeclarative5-qtsensors-plugin 
  qtdeclarative5-u1db1.0 qtdeclarative5-ubuntu-ui-extras-browser-plugin{a} 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-assets{a} 
  qtdeclarative5-ubuntu-ui-toolkit-plugin{a} 
  qtdeclarative5-unity-action-plugin{a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-window-plugin{a} qtdeclarative5-xmllistmodel-plugin 
  qtlocation5-dev{a} qtmultimedia5-dev qtscript5-dev qtsensors5-dev{a} 
  qttools5-dev qttools5-dev-tools sqlite3{a} ubuntu-html5-container 
  ubuntu-html5-theme{a} ubuntu-html5-theme-examples ubuntu-sdk-libs 
  ubuntu-ui-toolkit-theme{a} upstart-app-launch{a} 
  upstart-app-launch-tools{a} usermetricsservice{a} wdiff{a} zlib1g-dev{a} 
The following packages will be upgraded:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc++6 libtsan0 
15 packages upgraded, 108 newly installed, 0 to remove and 293 not upgraded.
Need to get 27.1 MB/45.8 MB of archives. After unpacking 104 MB will be used.
Do you want to continue? [Y/n/?] 
0
ответ дан 23 October 2014 в 19:43

package1: Зависит: package2 (> = 1.8), но должен быть установлен 1.7.5-1ubuntu1

Объяснение сообщения:

  1. Для того, чтобы ваша установка была завершено, пакет1 нуждается в пакете 2.
  2. package2 должен быть доступен в версии> = 1.8
  3. Менеджер пакетов проверил все репозитории и нашел только версию 1.7.5-1ubuntu1, которую можно установить, но он этого не сделает, потому что это & ​​lt; 1.8

Исправить

НЕТ единственного правильного ответа на этот вопрос и НЕТ простого ответа.

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

Сценарий A:

Все репозитории, к которым у вас есть доступ, не имеют package2 в версии> = 1.8, поэтому вам нужно будет найти репозиторий, который имеет. Если вы не можете найти репозиторий с версиями> = 1.8, вам, возможно, придется собрать и установить package2 из исходного кода. А затем попробуйте установить package1.

Если вы хотите узнать, как создать пакет из исходного кода, проверьте другие вопросы / ответы или опубликуйте новый.

Сценарий B:

В репозитории действительно включен package2 в версии> = 1.8, но менеджер пакетов все еще хочет установить более старую версию (1.7.5).

Причиной этого может быть то, что более поздние версии package2 были созданы по какой-то более новой технологии, которая не поддерживается другими пакетами, которые вы уже установили.

Это может быть невозможно исправить вообще. Вы можете попробовать использовать apt или synaptic и найти все версии package2, которые доступны в репозиториях, и попытаться установить определенную версию> = 1.8

Если у вас есть другие несовместимые пакеты, и вы делаете это, вы получите список похожих сообщений об ошибках для всех других пакетов, которые препятствуют установке package2> = 1.8.

В этом случае у вас есть большая проблема. Вы хотели установить package1, для которого package2 должен быть> = 1.8, но package2 в версии> = 1.8 требует, чтобы package3 был в версии> = 6.7, и у вас package3 версии 6.3

Дело в том, что менеджер пакетов (APT) пытается решить все эти зависимости автоматически, если это возможно. Когда он говорит, что это невозможно (и выдает сообщение, как в вопросе), тогда вы должны доверять ему.

Если вы решите не доверять диспетчеру пакетов и уверены, что у вас не возникнет проблем, вы можете попытаться принудительно установить конкретные необходимые версии всех пакетов, один за другим, и надеетесь, что все будет в порядке. [ 1123]

Остерегайтесь, выполнение этого для системных пакетов может создать серьезные проблемы. Вы можете заблокировать себя вне системы, заблокировать критически важные службы и т. Д.

Сценарий C:

Независимо от причин проблемы, вы всегда можете настроить ручную компиляцию и собрать необходимый пакет и все его зависимости в точных нужных версиях из исходного кода. С помощью этой опции вы можете сохранить то, что вы создали, в отдельном каталоге и вне системного пути, чтобы это не создавало конфликтов с системой. Это, вероятно, самое чистое решение, и иногда оно может быть быстрее.

Сценарий D:

Менеджер пакетов имеет доступ к устаревшей информации о пакетах и ​​поэтому не может найти решение. Посмотрите другие ответы.

Сценарий E:

В менеджере пакетов есть ошибка в коде разрешения зависимостей.

Вы должны выяснить, что это действительно так, а затем выдать запрос об ошибке.

...

Сценарий Z:

Могут быть и другие сценарии.

Например, разработчики пакетов могли ошибаться и не проверяли, что package1 будет работать даже с версией package2 < 1.8 и в спецификации они устанавливают неверные зависимости.

0
ответ дан 23 October 2014 в 19:43

Эти ответы до сих пор сосредоточены на том, как автоматически решить такую ​​проблему, в основном надеясь, что она решится сама, но не на понимание того, как исследовать зависимости. Важно попробовать такие вещи, как проверка того, что ваши списки пакетов обновлены, поскольку вы должны убедиться, что простое обновление или очистка кэша не решит проблему, прежде чем копать глубже. Если все за кадром работает так, как должно, однако, его первостепенное значение имеет научиться понимать зависимости. Иногда уровни зависимостей могут показаться подавляющими, но концепция проста и является ключом к пониманию того, как программное обеспечение устанавливается / удаляется в системе Ubuntu.

Я настоятельно рекомендую aptitude всем, кто использует систему на основе .deb, такую ​​как Ubuntu. Его древовидная структура позволяет легко просматривать зависимости, включая рекомендуемые и предлагаемые пакеты, а также визуализировать конфликты и неудовлетворенные зависимости. Это бесценный инструмент для случаев, когда apt-get не предлагает простого решения, и для визуализации зависимостей в целом. ( Synaptic также доступен в Ubuntu, но я не нахожу его интуитивным.)

Aptitude также предлагает средство разрешения конфликтов, которое проведет вас через все возможные комбинации установленных / удаленных / обновлены / etc пакеты, чтобы удовлетворить все требования без конфликтов или проблем. Это может быть успешным, даже если apt не может найти решение. Как пользователь Ubuntu, обычно не возникают ситуации, которые требуют от вас выяснения, почему устанавливается именно этот пакет, но это почти неизбежно, когда вы больше используете систему.

0
ответ дан 23 October 2014 в 19:43

Примечание: Все команды попросили быть выполненными, должен быть выполнен в терминале, который может быть открыт или Ctrl+Alt+T или поиском терминала в тире.

Это действительно повреждается?

Попытайтесь выполнить следующую команду и попытайтесь переустановить программное обеспечение, которое Вы пытались установить

sudo apt-get update

Шаги Pre-Perfomance

Резервное копирование

Создайте резервную копию следующих файлов:

  • /etc/apt/sources.list
  • /var/lib/dpkg/status

Для этого используйте эти команды

sudo cp /etc/apt/sources.list /etc/apt/sources.list.original

и

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original

Очистка Вашего способного кэша

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

Теперь, для очистки его у Вас есть две опции

sudo apt-get clean 

Это удалит все кэшируемые пакеты, принадлежащие папке /var/cache/apt/archives/ и /var/cache/apt/archives/partial кроме .lock файлов. Это рекомендуется

sudo apt-get autoclean

Это сканирует папки /var/cache/apt/archives/ и /var/cache/apt/archives/partial и проверки, если пакет находится все еще в репозиториях и удаляет тех, которые не являются


Фиксация зависимостей

Используя поврежденный фиксацией режим Кв.

sudo apt-get -f install

Это вызовет склонный просканировать для недостающих зависимостей и зафиксировать их из репозиториев

Если состояния вывода, что ничто нового не было установлено или обновлено, оно перестало работать.


Проверка, включены ли все необходимые источники

Ввести gksu software-properties-gtk и Вы получите это окно

Удостоверьтесь, что все источники включены.

затем, перейдите к Другой вкладке программного обеспечения и проверке, если необходимые PPAs для программного обеспечения, которое будет установлено, там и включены. Кроме того, попытайтесь отключить некоторый PPAs, который мог бы иметь поврежденные пакеты

теперь, выполненный sudo apt-get update

Попытайтесь установить программное обеспечение теперь

Выбор лучшего сервера для загрузки с

Ввести gksu software-properties-gtk и Вы получите это окно

Нажмите Download от поля Dropdown и выберите другой

Нажмите Select Best Server

Выполненный sudo apt-get update

Попытайтесь установить программное обеспечение

также, попытайтесь использовать sudo apt-get install -f


Чистка PPA

Это - инструмент, используемый для чистки поврежденного/нежелательного ppa's и их приложения наряду с ним

Для установки его работать

sudo apt-get install ppa-purge

Но, Рассмотрение вопроса apt повреждается так, вышеупомянутая команда перестанет работать. Так используйте эту команду

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Теперь используйте чистку ppa

sudo ppa-purge ppa:someppa/ppa  

Менеджер Y-PPA

Менеджер Y-PPA является gui приложением, которое помогает Вам управлять и различными проблемами PPA, связанными с ним

Устанавливать его

sudo add-apt-repository ppa:webupd8team/y-ppa-manager

и

sudo apt-get update

и

sudo apt-get install y-ppa-manager

Рассмотрение вопроса, apt повреждается так, используйте, они управляют вместо этого

sudo su

и

32 бита:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 бита:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb

Теперь введите y-ppa-manager

Вам подарят это окно

Дважды щелкните по усовершенствованному, и Вы получите это окно

Сделайте следующие Задачи, обрисованные в общих чертах в черном цвете


Профилактика лучше, чем лечение

Лучше предотвратить, чем искать этот вопрос на AskUbuntu :D

Так, вот инструкции для защиты Вас

Сохраните свою систему актуальной

всегда выполняйте следующую команду регулярно

sudo apt-get update&&sudo apt-get upgrade

или, можно всегда использовать Менеджер обновлений с этой командой

gksu update-manager

Только Используя доверяемый PPA

Только используйте PPA, означал использоваться на Ubuntu также, только используйте PPA с надежными источниками. Infact, пакет мог бы уже быть в репозиториях человечности

Резервное копирование, когда вещи хороши и восстанавливают это позже

Для этого Вам нужен Y-PPA-Manager. Шаги для установки его даны выше.

Выполните эту команду для открытия Y-PPA-Manager

y-ppa-manager

Вам подарят это окно

Дважды щелкните по усовершенствованному, и Вы получите это окно

Выполнение это:

Вас попросят сохранить tar.gz файл с диалоговым окном, подобным тому ниже. Сохраните его в другом разделе или безопасном месте

Позже, когда необходимо восстановить его снова, выполнить подобные шаги и когда Вы добираетесь до усовершенствованного диалогового окна, Нажимаете на это:

Вас попросят восстановить от предыдущего резервного копирования, которое Вы сохранили прежде с диалоговым окном, подобным тому ниже


Все еще работа?

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

Если выполнение всех шагов, данных для фиксации ошибки, не работает на Вас, можно всегда спрашивать относительно, Спрашивает Ubuntu

Вот некоторые команды, из которых необходимо отправить вывод

sudo apt-get install packagename

и

cat /etc/apt/sources.list

и

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

(Благодаря Basharat Sial)

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

88
ответ дан 23 October 2014 в 19:43

Мой ответ похож на ответ Рика.

Использование apt-get clean, apt-get autoclean, apt-get autoremove, apt-get upgrade, apt-get update, apt-get -u dist-upgrade и т. Д. У меня не сработало.

Я наконец решил эту проблему, спустившись в дерево зависимостей через apt-get install, проиллюстрированный примером ниже. В моем случае я хотел установить libmagickwand-dev:

apt-get install libmagickwand-dev

Я получил эту ошибку:

The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed

Итак, я запустил apt-get install для одной из ошибочных зависимостей: [ 1121]

apt-get install libmagickcore-dev

The following packages have unmet dependencies:
 libmagickcore-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libgraphviz-dev but it is not going to be installed

Я спустился дальше вниз по дереву:

apt-get install libgraphviz-dev

с еще одной ошибкой:

The following packages have unmet dependencies:
 libgraphviz-dev : Depends: libgvc5 (= 2.26.3-10ubuntu1) but it is not going to be installed

Еще раз глубже вниз по дереву:

apt-get install libgvc5

По какой-то странной причине это удалось, и мне удалось установить оригинальный пакет, который я хотел, с apt-get install libmagickwand-dev:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libpathplan4
Suggested packages:
  libgd-tools
The following NEW packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libgvc5 libpathplan4
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 808 kB of archives.
After this operation, 2,320 kB of additional disk space will be used.
Do you want to continue [Y/n]?
0
ответ дан 23 October 2014 в 19:43

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

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