Назад | Перейти на главную страницу

APT-обновление заблокировано циклическими зависимостями

У меня Debian работает на экземпляре VPS, который поддерживается для небольшого сайта / проекта, который используется небольшой пользовательской базой на нерегулярной основе. Сервер в основном остается один, но я время от времени пытаюсь войти в систему, чтобы обновлять пакеты. Сегодня я понял, что давно не был на сервере и вошел в систему, чтобы запустить apt-get update && apt-get upgrade.

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

Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/mime-support_3.58_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Бег apt-get upgrade во второй раз показал, что большая часть пакетов, подлежащих обновлению, удерживалась "mime-support".

Preparing to replace mime-support 3.48-1 (using .../mime-support_3.58_all.deb) ...
dpkg: error processing /var/cache/apt/archives/mime-support_3.58_all.deb (--unpack):
 triggers ci file contains unknown directive `interest-noawait'
configured to not write apport reports
                                  Errors were encountered while processing:
 /var/cache/apt/archives/mime-support_3.58_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Небольшой поиск в Google показал, что обновление поддержки mime зависит от функции dpkg "Interest-noawait", которая, как оказалось, включена в обновление dpkg, сдерживаемое поддержкой mime ...

Мне кажется, что я не могу обновить dpkg до последней версии, потому что он зависит от поддержки mime, которая, в свою очередь, не может быть обновлена ​​из-за зависимости от более новой версии dpkg?

Можно ли вручную установить последнюю версию dpkg, чтобы обойти эту ошибку? Я попытался удалить поддержку mime, но это не удалось из-за ряда других зависимостей.

У меня была похожая проблема. я нашел в другом месте что решение заключается в замене старого исполняемого файла dpkg на новую версию. У меня это сработало.

Для начала вам необходимо скачать текущую версию dpkg:

i386 версия

wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.18.4ubuntu1.1_i386.deb

или

версия amd64

wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.18.4ubuntu1.1_amd64.deb

После этого вы извлекаете новый двоичный файл dpkg и помещаете его на место старого:

ar x dpkg_1.18.4ubuntu1.1_amd64.deb tar -xfvz data.tar.gz
sudo cp ./usr/bin/dpkg / usr / bin /
sudo apt-get update
sudo apt-get install --reinstall dpkg

Это сработало.