#1 Le 25/11/2017, à 12:47
- YannUbuntu
Supprimer les old-dkms inutiles
bonjour
je transfère ici un vieux paragraphe de la doc https://doc.ubuntu-fr.org/kernel , afin d'alléger la doc, faciliter sa maintenance, et discuter de la pertinence des instructions qui sont proposées:
==== Supprimer les old-dkms inutiles ====
Une fois les noyaux inutiles supprimés grâce à l'une des méthodes ci-dessus, il peut rester dans ''/boot'' de nombreux fichiers dont le nom se termine par ''old-dkms'' et qui ne correspondent à aucun des noyaux encore installés sur l'ordinateur. Attention, il vaut mieux garder ces fichiers tant que les noyaux correspondants sont encore installés.La commande :
ls -1 /boot/config*
retourne une liste indiquant quels noyaux sont installés, par exemple:
/boot/config-4.4.0-51-generic /boot/config-4.4.0-53-generic
La commande :
ls -1 /boot/*.old-dkms
retourne la liste des fichiers old-dkms de tous les noyaux qui ont été installés, même s'ils ont été par la suite supprimés, par exemple :
/boot/initrd.img-4.4.0-31-generic.old-dkms /boot/initrd.img-4.4.0-34-generic.old-dkms /boot/initrd.img-4.4.0-36-generic.old-dkms /boot/initrd.img-4.4.0-38-generic.old-dkms /boot/initrd.img-4.4.0-42-generic.old-dkms /boot/initrd.img-4.4.0-45-generic.old-dkms /boot/initrd.img-4.4.0-47-generic.old-dkms
Il suffit ensuite de déterminer ceux qui doivent être supprimés puis effectuer cette suppression.
Voici un script en python qui effectue ce travail pour vous :#!/usr/bin/env python3 # -*- coding:Utf-8 -*- from glob import glob from os import getuid, remove from sys import path # Ce script doit être exécuté avec les droits root : if getuid()!=0: print("use: sudo "+path[0]+"/"+__file__) exit(1) # Liste des fichiers config des noyaux installés : installes = glob('/boot/config-*') # Liste des fichiers .old-dkms qu'il ne faut pas supprimer : ecartes = [ "/boot/initrd.img-"+f[13:]+".old-dkms" for f in installes ] # Liste de tous les fichiers .old-dkms : tous = [ f for f in glob('/boot/initrd.img-*.old-dkms') ] # Liste des fichiers .old-dkms à supprimer : asupprimer = list(filter(lambda f:f not in ecartes,tous)) asupprimer.sort() # On supprime ! for f in asupprimer: remove(f)
Nommez ce script ''clean_old_dkms.py'', puis rendez-le exécutable par :
chmod +x clean_old_dkms.pyExécutez-le avec les droits root :
sudo ./clean_old_dkms.py
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#2 Le 14/01/2018, à 23:06
- claudiux
Re : Supprimer les old-dkms inutiles
Je suis "l'ancien contributeur" et suis très déçu (le mot est faible) de voir ma contribution déplacée dans un fil de discussion du forum, alors que je viens de m'y référer pour libérer de la place sur le disque dur d'un ami.
Merci de l'y remettre. Dans le cas contraire, je m'abstiendrai à l'avenir de contribuer aux docs d'Ubuntu-fr.
Hors ligne
#3 Le 23/01/2018, à 03:51
- YannUbuntu
Re : Supprimer les old-dkms inutiles
Bonjour
Tout d'abord merci pour votre contribution.
Par contre, supprimer des fichiers système est un sujet trop sensible pour l'intégrer à la doc sans approbation collective.
De plus, on évite de mettre des scripts dans la doc pour des raisons de maintenabilité (par ex, n'importe-qui peut y glisser à tout moment des commandes malicieuses). Le forum est plus approprié pour partager un script.
2 questions:
- à quoi servent les fichiers *.old-dkms ?
- dans quelles conditions apparaissent-ils? (je n'en ai ni sur Xenial ni sur Artful)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#4 Le 23/01/2018, à 13:57
- Nicolas13
Re : Supprimer les old-dkms inutiles
@LeoMajor
Effectivement. J'ai déplacé mon message concernant la suppression d'anciens noyaux ici : https://forum.ubuntu-fr.org/viewtopic.p … #p21860389
Merci.
Dernière modification par Nicolas13 (Le 25/01/2018, à 12:06)
VM XUbuntu 16.0.4 LTS - Kernel : 4.13.0-31-generic #34
Mon site : https://www.nicolas-henry.fr
Hors ligne
#5 Le 24/01/2018, à 16:09
- LeoMajor
Re : Supprimer les old-dkms inutiles
bonjour,
@Nicolas13
aucun rapport avec les dkms.
@YannUbuntu
2 questions:
- à quoi servent les fichiers *.old-dkms ?
- dans quelles conditions apparaissent-ils? (je n'en ai ni sur Xenial ni sur Artful)
cela vient de REMAKE_INITRD="y" inclus dans un fichier dkms.conf, qui impacte seulement les /boot/initrd*.dkms
une autre solution, mais manuelle, et non conforme à la déontologie dkms, est d'ajouter le(s) module(s) compilé(s) du dkms et de les ajouter à
/etc/initramfs-tools/modules
et de regénérer une image : sudo update-initamfs -u -k 'untel kernel'
Cependant, cela oblige l'utilisateur à anticiper les opérations sur les initrd, en cas de changement.
@Claudiux +1
-----
3. Lister les noyaux installés (kernel)
dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" | sort -k3 | tr -s " " | cut -d" " -s -f1,2,3 | column -s" " -t
~maladroit
Liste les paquets invoqués par la commande ... dans un contexte pour purger, et pas autre chose !!.
Liste les noyaux ayant été installés, les noyaux partiellement installés (non viables), et installés complètement (viables).
La liste n'indique pas non plus les noyaux actifs, de manière explicite ( ls /boot/{config,vmlinuz,System}* )
Dernière modification par LeoMajor (Le 24/01/2018, à 16:44)
Hors ligne
#6 Le 20/06/2018, à 04:06
- claudiux
Re : Supprimer les old-dkms inutiles
Bonjour.
Bonjour
Tout d'abord merci pour votre contribution.
De rien. C'est aussi pour me remercier que vous avez supprimé mon pseudo de la liste des contributeurs ?
Par contre, supprimer des fichiers système est un sujet trop sensible pour l'intégrer à la doc sans approbation collective.
Et supprimer des contributions sans approbation collective, on peut ? Je pourrais, par exemple, supprimer toutes les miennes ?
De plus, on évite de mettre des scripts dans la doc pour des raisons de maintenabilité (par ex, n'importe-qui peut y glisser à tout moment des commandes malicieuses). Le forum est plus approprié pour partager un script.
Elle va devenir super intéressante, la doc Ubuntu-fr ! L'utilisateur va être obligé de naviguer entre la doc et les forums. On en rêve !
2 questions:
- à quoi servent les fichiers *.old-dkms ?
- dans quelles conditions apparaissent-ils? (je n'en ai ni sur Xenial ni sur Artful)
Quand on ne sait pas, on ne supprime pas en croyant que parce qu'on n'est pas soi-même concerné, personne ne peut l'être. Quant aux réponses, elle sont données dans ce forum. Je vous laisse chercher.
Hors ligne