Chaque fois que j'essaie de mettre mon système à jour dans Ubuntu 18.04, il s'arrête: 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 htop
name__, 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?
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
Ma solution;
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.log
apt
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.