Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/11/2017, à 11: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:

ancien contributeru de la doc a écrit :

==== 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.py

Exé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, à 22: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, à 02: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, à 12: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, à 11: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, à 15: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, à 15:44)

Hors ligne

#6 Le 20/06/2018, à 03:06

claudiux

Re : Supprimer les old-dkms inutiles

Bonjour.

YannUbuntu a écrit :

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 ?

YannUbuntu a écrit :

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 ?

YannUbuntu a écrit :

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 !

YannUbuntu a écrit :

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