GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Pourquoi Apt Autoremove ne supprime-t-il pas tous les anciens packages du noyau à la fois ?

J'ai mis à jour le noyau de nos serveurs Ubuntu depuis qu'ils ont publié un correctif pour la vulnérabilité Meltdown. J'ai remarqué qu'à peu près sur tous les serveurs, après le redémarrage, je dois exécuter apt autoremove deux fois pour qu'il nettoie tous les anciens noyaux qui sont encore sur le système.

Si je l'exécute la première fois, il supprime d'abord deux anciennes versions du noyau :

% sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-4.4.0-103 linux-headers-4.4.0-103-generic linux-headers-4.4.0-104 linux-headers-4.4.0-104-generic linux-image-4.4.0-103-generic linux-image-4.4.0-104-generic
  linux-image-extra-4.4.0-103-generic linux-image-extra-4.4.0-104-generic
0 upgraded, 0 newly installed, 8 to remove and 2 not upgraded.
After this operation, 596 MB disk space will be freed.

Mais ensuite, une fois que c'est fait et que je lance apt autoremove encore une fois, il supprime encore une version plus ancienne :

% sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-4.4.0-96 linux-headers-4.4.0-96-generic linux-image-4.4.0-96-generic linux-image-extra-4.4.0-96-generic
0 upgraded, 0 newly installed, 4 to remove and 2 not upgraded.
After this operation, 298 MB disk space will be freed.

Je me demande pourquoi cela ne peut-il pas le faire en une seule fois ?

Réponse acceptée :

Les scripts du responsable du noyau, en particulier /etc/kernel/postinst.d/apt-auto-removal , créez une liste de noyaux à conserver, stockée en tant que configuration APT dans /etc/apt/apt.conf.d/01autoremove-kernels . Ce processus conserve le noyau en cours d'exécution, le noyau en cours de configuration et les deux derniers noyaux installés.

Probablement la dernière fois que le script a été exécuté avant votre premier nettoyage, -96 a fini par être protégé parce qu'il appartenait à l'une de ces catégories. Après votre premier nettoyage, il n'a plus fonctionné et est devenu un candidat pour le retrait. Si vous voulez comprendre pourquoi , les 01autoremove-kernels le fichier contient des informations de débogage ; le regarder avant le premier nettoyage, et encore après, devrait révéler pourquoi différentes versions du noyau sont protégées.

La suppression automatique du noyau est délibérément conservatrice et pèche par excès de prudence. Vous pouvez gérer cela automatiquement (éventuellement) à l'aide de unattended-upgrades; voir le wiki Ubuntu pour plus de détails.


Linux
  1. Comment utiliser la commande apt pour gérer les packages sous Linux

  2. Comment lister tous les packages installés sous Linux

  3. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  4. Pourquoi le fichier de traduction Bash ne contient-il pas tous les textes d'erreur ?

  5. Linux - Pourquoi Setuid ne fonctionne-t-il pas ??

Commande apt sous Linux

Pourquoi Apt-get Autoremove ne supprime-t-il pas les anciens noyaux ?

Commande apt Linux avec exemples

Pourquoi pr_debug du noyau Linux ne donne-t-il aucune sortie ?

Pourquoi cette regex ne fonctionne-t-elle pas sous Linux ?

Logrotate ne supprime pas les anciens journaux