Ubuntu 18.04 застрял на обновлении linux-header

Всякий раз, когда я пытаюсь обновить свою систему в Ubuntu 18.04, она останавливается:застрял всякий раз, когда он достигает Setting up linux-headers-<version>-generic, Я не могу отменить обновление оттуда, но даже если вы и оставите его на несколько часов, это ничего не изменит. Если я проверю процесс в htop это показывает, что он сейчас делает что-нибудь. Если я принудительно завершаю обновление и пытаюсь перезапустить его, при повторной попытке обновления появляется сообщение о том, что предыдущее было прервано, и я должен попробовать sudo dpkg --configure -a который решает проблему.

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

3 ответа

Решение

TLDR: отключить безопасную загрузку.

У меня появилась такая же проблема около месяца назад. Для меня оказывается, что решением было отключить Secure Boot. У меня была отключена безопасная загрузка с тех пор, как я установил Ubuntu 18.04, и он обновился без проблем. Тем не менее, около месяца назад я обновил BIOS, в котором была включена безопасная загрузка (в то время я этого не знал). Было неприятно, что обновления зависли, и я, наконец, понял это, потому что моя установка VirtualBox также не работала. Исправление для VirtualBox было отключение Secure Boot, которое также исправило мой linux-headers-<version>-generic обновления.

Как отмечается в вопросе, он замерзнет здесь:

...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...

После отключения Secure Boot я получаю:

...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...
/etc/kernel/header_postinst.d/dkms:
Secure Boot not enabled on this system.
...
done

Мое решение;

  • PS Aux | Grep Apt
  • Убей удачный процесс
  • sudo dpkg --configure -a
  • удачное обновление
  • подходящее обновление

Вы можете проверить ответ на /var/log/apt/term.log, Это место для apt-get журнал. Вы также можете проверить dpkg журнальный файл /var/log/dpkg.logapt или же apt-get вы используете основаны на dpkg внутренний.

Еще одна вещь, которую вы можете идентифицировать процесс по ID и запустить strace -p чтобы точно проверить, почему он останавливается.

Это скорее общий ответ на этот или подобные вопросы.

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