Решение проблемы зависимостей apt-get
У меня застряла система пакетов из-за проблемы с очисткой / загрузкой, чтобы происходили обновления. Прямо сейчас я нахожусь в точке, где:
sudo apt-get -f install
Сбой, потому что он пытается установить пакет, который получает /boot диск переполнен. Попытка удалить пакеты не работает:
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).
Предложения?
1 ответ
Кажется, что у вас недостаточно места для нового ядра 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
,