Les récentes mises à jour du noyau Ubuntu 16.04 (4.4.0-89 et -91) ont mal échoué sur mon ordinateur portable. Heureusement, la version de travail précédente est toujours installée (4.4.0-57). Pour l'instant, j'ai Grub configuré pour me montrer un menu, et je sélectionne manuellement -57 au démarrage, mais cela semble fragile, susceptible de briser un avenir sudo apt upgrade
.
Je pense que je veux:
- Supprimer -89 et -91, car ils ne me font aucun bien.
- Pour faire de -57 la valeur par défaut pour Grub, d'une manière qui persistera pendant les mises à niveau.
- Pour garantir que le -57 reste installé, même si j'installe une mise à niveau ultérieure du noyau
- Pour pouvoir essayer facilement les mises à jour ultérieures du noyau, mais revenir à -57 en cas d'échec. Ma principale préoccupation est la suppression automatique de -57.
- Si je trouve une mise à jour qui fonctionne plus tard, un chemin facile pour revenir à tout annuler et revenir aux mises à jour du noyau suivantes.
Essayer de supprimer -91 avec sudo apt remove linux-image-4.4.0-91-generic
nécessite que je supprime linux-generic et linux-headers-generic. Cela semble mauvais, donc je ne l'ai pas essayé.
Je peux trouver une variété de questions sur le problème général, mais aucune ne semble répondre à tous mes objectifs, et la plupart sont assez vieilles pour que je ne pense plus qu'elles s'appliquent.
Quelle est la meilleure façon de procéder?
Addendum : cela a été signalé comme un doublon de Comment empêcher la mise à jour d'un package spécifique? . Cette réponse pourrait répondre à une partie de ma question, mais ne donne pas une vue d'ensemble.
Globalement, le problème est que le noyau est géré de manière inhabituelle. Il est installé via linux-generic, qui n'est rien d'autre qu'une dépendance aux en-têtes linux-image-generic et linux-image-headers. Ceux-ci à leur tour ne sont que des dépendances de linux-linux-image-VERSION-generic et des en-têtes-VERSION-generic, des packages dignes de mention pour la création du numéro de version dans le nom du package (probablement pour faciliter l'installation de plusieurs en parallèle).
Plus précisément, cette réponse n'est pas abordée:
- Ne traite pas de la suppression de -89 et -91.
- N'explique pas comment faire de -57 la valeur par défaut pour Grub, même si j'installe des mises à jour ultérieures.
- N'explique pas comment garantir que -57 reste installé, même si j'installe des mises à jour ultérieures. Même si la réponse est de conserver un ou plusieurs packages, étant donné les différents packages impliqués, lesquels devrais-je conserver? S'il s'agit de conserver linux-generic, comment dois-je le rétrograder en premier?
Réponses:
Supprimez le dernier noyau en
Cela désinstallera les méta packages
linux-generic
,linux-image-generic
etlinux-headers-generic
. Les noyaux ne seront jamais mis à niveau.Pour le rétablir, vous pouvez exécuter
Cela installera le dernier noyau et les noyaux recevront des mises à niveau.
linux-generic
est un méta paquet. Il est vide, mais dépend de deux autres méta-packages:linux-image-generic
etlinux-headers-generic
.Les deux derniers pointent vers la dernière image du noyau et les derniers en-têtes.
Si vous supprimez des méta packages, rien ne sera supprimé de Linux, mais l'image du noyau et les en-têtes ne seront pas mis à jour. Vous pouvez toujours les installer plus tard. Ils tireront les derniers "vrais" paquets du noyau.
La solution consiste donc à supprimer manuellement les packages du noyau dont vous ne voulez pas ainsi que les méta packages.
la source
Bien que la solution de Pilot6 puisse être la meilleure solution, vous pouvez prendre des mesures moins drastiques.
Je supprimerais personnellement les noyaux que vous ne voulez pas du centre de logiciels, puis mettrais ces packages en attente - voir Comment empêcher la mise à jour d'un package spécifique?
Il s'agit d'un changement anodin et vous pouvez surfer ou annuler le changement assez facilement.
la source
sudo apt-mark hold linux-image-generic linux-headers-generic
fera