Устранение проблемы зависимости apt-get

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

sudo apt-get -f install

Сбой, потому что он пытается установить пакет, который получает полную ошибку / boot disk. Попытка удалить пакеты не работает:

sudo apt-get --force-yes remove linux-image-extra-4.4.0-119-generic linux-image-extra-4.4.0-97-generic linux-signed-image-4.4.0-119-generic linux-signed-image-4.4.0-97-generic Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: linux-image-generic : Depends: linux-image-4.4.0-119-generic but it is not going to be installed Depends: linux-image-extra-4.4.0-119-generic but it is not going to be installed linux-signed-image-generic : Depends: linux-signed-image-4.4.0-119-generic but it is not going to be installed Depends: linux-image-extra-4.4.0-119-generic but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Предложения?

0
задан 21 April 2018 в 00:47

2 ответа

Кажется, у вас недостаточно места для нового ядра Linux, поэтому вам нужно удалить старый.

Сначала запустите эту команду:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

Это покажет вам, какие пакеты будут удалены. Убедитесь, что ваша текущая версия ядра отсутствует в этом списке. Запустите uname -a, чтобы узнать, какая у вас версия ядра.

Затем запустите эту команду, чтобы удалить каждую из них, используя dpkg --remove. Вы также можете просто скопировать имя в первом разделе перед командой dpkg --remove.

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs dpkg --remove

Наконец, вы сможете запустить sudo apt-get -f install.

0
ответ дан 17 July 2018 в 16:28

Кажется, у вас недостаточно места для нового ядра Linux, поэтому вам нужно удалить старый.

Сначала запустите эту команду:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

Это покажет вам, какие пакеты будут удалены. Убедитесь, что ваша текущая версия ядра отсутствует в этом списке. Запустите uname -a, чтобы узнать, какая у вас версия ядра.

Затем запустите эту команду, чтобы удалить каждую из них, используя dpkg --remove. Вы также можете просто скопировать имя в первом разделе перед командой dpkg --remove.

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs dpkg --remove

Наконец, вы сможете запустить sudo apt-get -f install.

0
ответ дан 23 July 2018 в 17:20

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

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