При попытке обновить библиотеки разработки Kerberos, почему я получаю ошибку "неудовлетворенные зависимости"?

Когда я обновляюсь, получаю эту ошибку и больше ничего не могу установить

You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 krb5-multidev : Depends: libkrb5-3 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
                 Depends: libk5crypto3 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
                 Depends: libgssapi-krb5-2 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
                 Depends: libgssrpc4 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
                 Depends: libkadm5srv-mit8 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
                 Depends: libkadm5clnt-mit8 (= 1.10+dfsg~beta1-2ubuntu0.2) but 1.10+dfsg~beta1-2ubuntu0.3 is installed
E: Unmet dependencies. Try using -f.

Я пытался бежать apt-get install -f но я все еще получаю ошибку неудовлетворенных зависимостей.

это apt-cache policy вывод: (я не мог опубликовать его на многих гиперссылках, поэтому я вставил его)

вывод политики apt-cache

3 ответа

Решение

Как я это исправил:

Я пошел к менеджеру пакетов Synaptic, чтобы починить сломанный пакет. Нажмите Правка → Исправить сломанные пакеты.

31 июля 2012 г. было выпущено обновление безопасности для пакетов Kerberos, чтобы устранить уязвимость системы безопасности. Это повлияло на номера версий Ubuntu из ubuntu0.2 в ubuntu0.3,

Возможно (но редко), что какое-то время libkrb5-dev / krb5-multidev пакеты не были обновлены, и поэтому имели старые зависимости ubuntu0.2 который был причиной вашей проблемы.

В любом случае, похоже, это было исправлено:

 $ apt-cache show libkrb5-dev | grep Зависит
Зависит от: krb5-multidev (= 1.10 + dfsg ~ beta1-2ubuntu 0.3) 
$ apt-cache show krb5-multidev | grep Зависит Зависит от: libkrb5-3 (= 1.10+dfsg~beta1-2ubuntu0.3), libk5crypto3 (= 1.10+dfsg~beta1-2ubuntu0.3), libgssapi-krb5-2 (= 1.10+dfsg~beta1-2ubuntu0.3), libgssrpc4 (= 1.10+dfsg~beta1-2ubuntu0.3), libkadm5srv-mit8 (= 1.10+dfsg~beta1-2ubuntu0.3), libkadm5clnt-mit8 (= 1.10+dfsg~beta1-2ubuntu0.3), comerr-dev

Пожалуйста, попробуйте sudo apt-get update && sudo apt-get -f install чтобы попытаться это исправить. Если это не так, просто удалите libkrb5-dev пакет. Из смоделированного удаления в моей системе dev видно, что пакеты CUPS и QT dev также могут быть удалены (libqt3-mt-dev, libcups2-dev). А затем установить libkrb5-dev очередной раз.

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

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

sudo apt-get remove krb5-multidev --simulate

Просмотрите пакеты в разделе "Следующие пакеты будут удалены:". Если вы не уверены, важны ли они, не стесняйтесь опубликовать список здесь, чтобы мы могли его найти.

Предполагая, что ничего не выглядит жизненно важным, удалите krb5-multidev:

sudo apt-get remove krb5-multidev

Затем повторите попытку обновления. После обновления вы можете переустановить krb5-multidev.

ПРИМЕЧАНИЕ. Вероятно, существуют более элегантные методы решения этой проблемы. Это просто попытка обойти ошибку и выполнить обновление.

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