web-dev-qa-db-fra.com

Ubuntu 18.04 bloqué à la mise à niveau de linux-header

Chaque fois que j'essaie de mettre mon système à jour dans Ubuntu 18.04, il s'arrête: stuck chaque fois qu'il atteint Setting up linux-headers-<version>-generic. Je ne peux pas annuler la mise à niveau à partir de là, mais même si vous le laissez pendant des heures, cela ne change rien. Si je vérifie le processus dans htopname__, il apparaît maintenant comme étant actif. Si je force la mise à niveau à terminer et essaie de la redémarrer, lorsque je réessaie la mise à niveau, il est indiqué qu'une précédente a été interrompue et que je devrais l'essayer avec Sudo dpkg --configure -a qui résout le problème.

Je trouve cela très pénible de devoir faire cela à chaque fois qu'une mise à niveau d'en-tête est disponible, en particulier parce que j'estime que cela ne devrait pas se produire et qu'il devrait y avoir un correctif plus permanent disponible. Qu'est-ce qui me manque ou que je fais mal?

12
Masqueey

TLDR: Disable Secure Boot.

J'ai commencé à avoir ce même problème il y a environ un mois. Pour moi, la solution consistait à désactiver Secure Boot. Depuis que j'ai installé Ubuntu 18.04, Secure Boot est désactivé et il a été mis à niveau sans aucun problème. Cependant, il y a environ un mois, j'ai mis à jour mon BIOS qui réactivait le démarrage sécurisé (je ne le savais pas à l'époque). Il était frustrant de geler les mises à jour et je l’ai enfin compris car mon installation de VirtualBox ne fonctionnait pas non plus. Le correctif pour VirtualBox désactivait Secure Boot, ce qui corrigeait également mes mises à niveau linux-headers-<version>-generic.

Comme indiqué dans la question, il serait gelé ici:

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

Après avoir désactivé Secure Boot, je reçois:

...
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
9
kjpc-tech

Ma solution;

  • ps aux | grep apt
  • Tuer le processus apt
  • Sudo dpkg --configure -a
  • apt update
  • mise à niveau apt
7
kelalaka

Vous pouvez vérifier la réponse sur /var/log/apt/term.log. Ceci est l'emplacement du journal apt-get. Vous pouvez également vérifier que le fichier journal dpkg/var/log/dpkg.logapt ou apt-get que vous utilisez est basé sur dpkg internal.

Une dernière chose que vous pouvez identifier le processus par ID et exécuter strace -p pour vérifier exactement pourquoi il s’arrête.

C'est plutôt une réponse générale à cette question ou à des questions similaires.

0
prosti