Ma partition de démarrage se trouve sur un disque SSD. Par conséquent, il ne peut pas contenir plus de 8 versions du noyau installées. Une mise à jour du noyau échouera éventuellement car la partition de démarrage contient beaucoup d'anciennes versions. Il existe de nombreuses questions sur la façon de supprimer les anciennes versions (même comment automatiser le processus), mais ma question est simplement la suivante: pourquoi ne pas les apt-get autoremove
détecter et les supprimer automatiquement, et y a-t-il un moyen de le faire ? Je veux dire, apt-get
c’est ce qui est installé de toute façon, alors il le sait, alors pourquoi choisit-il de laisser toutes les anciennes versions?
53
Réponses:
Pour répondre pourquoi, reportez-vous au dossier
/etc/apt/apt.conf.d/01autoremove-kernels
Comme vous pouvez le voir, apt est dit de ne jamais les grains Autoremove, comme dit par un autre fichier (script),
/etc/kernel/postinst.d/apt-auto-removal
. Et le voici:Si vous installez manuellement 2 noyaux choisis, le premier et le actuel, apt-autoremove ne supprimera que les anciennes versions que vous n'avez pas installées manuellement. Vous aurez donc toujours ces 2 options, quelle que soit la dernière.
Mise à jour:
Dans le
/etc/kernel/postinst.d/apt-auto-removal
il y a cette partie:Donc, si vous comparez la sortie du
01autoremove-kernels
fichier etuname -r
que vous réalisez que le noyau en cours d’exécution et le plus récent en amont sont conservés pour ne jamais être supprimés par ce script. Il s'avère qu'il y a un autre fichier/etc/apt/apt.conf.d/01autoremove
, où il y a des lignes:Vous pouvez donc les commenter, et cela vous permettra de supprimer automatiquement les noyaux avec
apt-autoremove
, mais souvenez-vous - faites-le à vos risques et périlsla source
/etc/apt/apt.conf.d/01autoremove-kernels
a plusieurs lignes, mais seulement deux versions parmi elles: 3.13.0. {39,43}. Maisdpkg -l linux-*
énumère quatre versions, 3.13.0. {39,40,41,43}, donc autre chose que de/etc/apt/apt.conf.d/01autoremove-kernels
conserver ces versions intermédiaires, non?01autoremove
est le fichier que vous voulez,01autoremove-kernels
est probablement juste une protection, de sorte que apt ne supprime pas le noyau actuellement installé et le plus récent (juste au cas où la dernière en date se casse)01autoremove
, c'est juste une protection contre le retrait automatique des paquets de dépendance, commelinux-image-extra
. Changer cela ne devrait pas affecter si oui ou non illinux-image-3.16.0-31-generic
est supprimé automatiquement. Aucun de ses modèles ne correspond aux noms de package que nous souhaitons supprimer automatiquement./etc/apt/apt.conf.d/01autoremove
. Cela ne vous aide pas à supprimer automatiquement les anciens packages du noyau versionnés, mais peut avoir des effets indésirables. Le fichier ne protège pas du retrait automatiquelinux-image-extra
mais des packages qui correspondent aux expressions régulières de laNeverAutoRemove
section.apt-get autoremove
les noyaux ne figurant pas dans la liste ne sont pas supprimés/etc/apt/apt.conf.d/01autoremove-kernels
est que ces noyaux sont marqués comme installés manuellement. voir ma réponse .Pour moi, cela a aidé à installer le dernier (X) ubuntu (15.10). Dans les versions précédentes, les packages de noyau pouvaient être marqués comme installés manuellement, au moins s'ils avaient été installés à l'aide de Software Updater, afin de
sudo apt-get autoremove --purge
ne pas pouvoir les supprimer. Il y a des rapports de bogue concernant le problème: Bogue n ° 1175637 , Bogue n ° 1439769.Dans les versions précédentes, vous pouviez essayer de marquer les paquets du noyau automatiquement installés
sudo apt-mark auto $(apt-mark showmanual | grep -E "^linux-([[:alpha:]]+-)+[[:digit:].]+-[^-]+(|-.+)$")
et de les exécutersudo apt-get autoremove --purge
par la suite pour voir si cela faisait une différence. La commande ne doit toujours pas supprimer les paquets de noyau indiqués dans /etc/apt/apt.conf.d/01autoremove-kernels, mais il est plus sûr de s’exécuterapt-get autoremove
avec l’--dry-run
option en premier.la source
apt-mark
fait le tour pour moi, j'aimerais pouvoir voter 10 fois de suite: P