[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: J'arrive pas à vider /lib pour une mise à jour du noyau



Le 23/05/2018 14:40, Pascal Hambourg a écrit :
Le 23/05/2018 à 09:13, kaliderus a écrit :

contre-partie est qu'il faut disposer d'un espace libre égal à la taille occupée par le paquet. Pour le noyau 3.16 de Jessie, c'est environ 160 Mio.

11 Mio est donc très insuffisant pour mettre à jour le noyau.

Ce que je n'explique pas c'est que l'espace qui sera utilisé n'a pas à
augmenter, le message est clair sur ce point.

Qu'est-ce qui n'est pas clair dans ce que j'ai expliqué ci-dessus ?

Pour faire une mise à jour d'un paquet, il faut disposer d'un espace
libre égal à la taille occupée par le paquet. Il faut donc 160 Mio
libres pour mettre à jour le noyau. Cet espace sera occupé
temporairement pendant la mise à jour pour installer les fichiers de
la nouvelle version du paquet puis libéré à la fin de la mise à jour
lorsque les fichiers de l'ancienne version du paquet seront supprimés.

À noter qu'une "mise à jour" du noyau est différente d'une mise à jour d'un paquet standard, puisque généralement c'est un nouveau paquet qui est installé, et donc le nouveau noyau consomme de la place en plus même après que apt ait terminé la mise à jour.
Peut-être as-tu des noyaux installés dont tu n'as plus besoin ?
Pour un noyau ce qui prend de la place dans /lib ce sont les modules, le noyau lui-même étant installé dans /boot (qui est soumis au même problème en cas de petite partition /boot).
Par exemple sur mon système j'ai pas mal de noyau installés on dirait:

% ls -l /lib/modules

total 24K
drwxr-xr-x 3 root root 4,0K oct.   2  2017 3.16.0-4-amd64/
drwxr-xr-x 2 root root 4,0K oct.   2  2017 3.2.0-4-amd64/
drwxr-xr-x 2 root root 4,0K mars   4 17:56 4.9.0-3-amd64/
drwxr-xr-x 2 root root 4,0K mars   4 17:56 4.9.0-4-amd64/
drwxr-xr-x 3 root root 4,0K janv.  7 02:35 4.9.0-5-amd64/
drwxr-xr-x 3 root root 4,0K mai    6 00:01 4.9.0-6-amd64/

Tu peux trouver la taille occupée par chaque répertoire:

% du -h --max-depth=1 /lib/modules
163M    /lib/modules/3.16.0-4-amd64
3,9M    /lib/modules/4.9.0-4-amd64
2,9M    /lib/modules/3.2.0-4-amd64
185M    /lib/modules/4.9.0-5-amd64
188M    /lib/modules/4.9.0-6-amd64
3,9M    /lib/modules/4.9.0-3-amd64
546M    /lib/modules

On remarque que certains prennent peu de place, en fait ces noyaux ont été désinstallés mais il reste les fichiers générés par la commande depmod (non contenus dans le paquet, générés par un script post-install):

% ls /lib/modules/3.2.0-4-amd64
modules.alias modules.alias.bin modules.builtin.bin modules.dep modules.dep.bin modules.devname modules.softdep modules.symbols modules.symbols.bin

% uname -r
4.9.0-5-amd64

Le noyau courant est le 4.9.0-5-amd64, donc je peux probablement désinstaller le noyau 3.16.0-4-amd64 pour faire de la place. Pour cela je dois spécifier la version à supprimer:

% sudo apt remove linux-image-3.16.0-4-amd64

Paul


Reply to: