Erreur de disque saturé: apt-get ne parvient pas à installer ni à supprimer

J’ai rencontré l’erreur suivante lors de la mise à niveau de mon serveur Ubuntu 12.04. Maintenant, apt-get est incapable d’installer ou de supprimer un paquet.

 Déballer linux-headers-3.13.0-62 (à partir de ... / linux-headers-3.13.0-62_3.13.0-62.102 ~ precise1_all.deb) ...
 dpkg: erreur lors du traitement de /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb (--unpack):
  impossible de créer `/usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h.dpkg-new ' 
 (pendant le traitement de `./usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h '): aucun espace disponible sur le périphérique
 Aucun rapport de répartition écrit car le message d'erreur indique une erreur de disque plein
  dpkg-deb: error: le collage du sous-processus a été tué par signal (canal cassé)
 Des erreurs ont été rencontrées lors du traitement:
  /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb
 E: Le sous-processus / usr / bin / dpkg a renvoyé un code d'erreur (1)

Bien que je ne sois pas vraiment à court d’espace disque,

 # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 4.7G 1.8G 69% / 

De toute façon mes inodes sont pleins,

 # df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 458752 455214 3538 100% / 

J’ai plus de dix vieux kernelx mais je ne peux pas les enlever car mon apt-get est nul. Je suis donc incapable de suivre ce post qui rapporte un problème similaire.

La seule option semble effacer manuellement quelques kernelx plus anciens. Cela causera-t-il un problème?

Y a-t-il une meilleure issue? Puis-je utiliser pour le moment l’ espace réservé pour root et supprimer les anciens kernelx?

Je sais que ce post est un peu vieux, mais j’ai trouvé une réponse ici pour quiconque pourrait tomber sur ce post: https://help.ubuntu.com/community/RemoveOldKernels

Au cas où ce lien serait brisé, voici l’extrait pertinent:

Retrait en toute sécurité de vieux kernelx

Pour les utilisateurs de systèmes LVM, de systèmes chiffrés ou de systèmes à stockage limité, le problème le plus fréquent est que la partition / boot est simplement pleine. Le gestionnaire de packages ne peut pas installer une mise à niveau en attente en raison d’un manque d’espace. En outre, apt-get ne peut pas supprimer un paquet en raison d’une dépendance brisée.

Ce problème peut être résolu rapidement et facilement depuis le shell. Identifiez simplement un ou deux anciens kernelx à supprimer manuellement, ce qui donnera au gestionnaire de paquets suffisamment d’espace pour installer la mise à niveau en queue.

$ sudo rm -rv ${TMPDIR:-/var/tmp}/mkinitramfs-* ## In Ubuntu 16.04 and earlier there may be leftover temporary ## files to delete. ## See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814345 $ uname -r ## This command identifies the currently-running kernel 4.2.0-21-generic ## This is the current kernel. ## DO NOT REMOVE it! $ dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r) ## This command lists all the kernels excluding the booted ## kernel in the package database, and their status. rc linux-image-4.2.0-14-generic ## The oldest kernel in the database ## Status 'rc' means it's already been removed ii linux-image-4.2.0-15-generic ## The oldest installed kernel. Eligible for removal. ## Status 'ii' means Installed. ii linux-image-4.2.0-16-generic ## Another old installed kernel. Eligible for removal ii linux-image-4.2.0-18-generic ## Another old installed kernel. Eligible for removal ii linux-image-4.2.0-19-generic ## The previous good kernel. Keep iU linux-image-4.2.0-22-generic ## DO NOT REMOVE. Status 'iU' means it's not installed, ## but queued for install in apt. ## This is the package we want apt to install. ## Purge the oldest kernel package using dpkg instead of apt. ## First you need to remove the image initrd.img file manually ## due to Bug #1678187. $ sudo update-initramfs -d -k 4.2.0-15-generic $ sudo dpkg --purge linux-image-4.2.0-15-generic linux-image-extra-4.2.0-15-generic ## If the previous command fails, some installed package ## depends on the kernel. The output of dpkg tells the name ## of the package. Purge it first. ## Also purge the respective header package. $ sudo dpkg --purge linux-headers-4.2.0-15-generic ## Try also purging the common header package. $ sudo dpkg --purge linux-headers-4.2.0-15 ## Do not worry, if the previous command fails. $ sudo apt-get -f install ## Try to fix the broken dependency.
$ sudo rm -rv ${TMPDIR:-/var/tmp}/mkinitramfs-* ## In Ubuntu 16.04 and earlier there may be leftover temporary ## files to delete. ## See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814345 $ uname -r ## This command identifies the currently-running kernel 4.2.0-21-generic ## This is the current kernel. ## DO NOT REMOVE it! $ dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r) ## This command lists all the kernels excluding the booted ## kernel in the package database, and their status. rc linux-image-4.2.0-14-generic ## The oldest kernel in the database ## Status 'rc' means it's already been removed ii linux-image-4.2.0-15-generic ## The oldest installed kernel. Eligible for removal. ## Status 'ii' means Installed. ii linux-image-4.2.0-16-generic ## Another old installed kernel. Eligible for removal ii linux-image-4.2.0-18-generic ## Another old installed kernel. Eligible for removal ii linux-image-4.2.0-19-generic ## The previous good kernel. Keep iU linux-image-4.2.0-22-generic ## DO NOT REMOVE. Status 'iU' means it's not installed, ## but queued for install in apt. ## This is the package we want apt to install. ## Purge the oldest kernel package using dpkg instead of apt. ## First you need to remove the image initrd.img file manually ## due to Bug #1678187. $ sudo update-initramfs -d -k 4.2.0-15-generic $ sudo dpkg --purge linux-image-4.2.0-15-generic linux-image-extra-4.2.0-15-generic ## If the previous command fails, some installed package ## depends on the kernel. The output of dpkg tells the name ## of the package. Purge it first. ## Also purge the respective header package. $ sudo dpkg --purge linux-headers-4.2.0-15-generic ## Try also purging the common header package. $ sudo dpkg --purge linux-headers-4.2.0-15 ## Do not worry, if the previous command fails. $ sudo apt-get -f install ## Try to fix the broken dependency. 

J’ai suivi ceci avec:

 sudo apt-get autoremove --purge 

J’ai maintenant trouvé un moyen de sortir de la situation et enlevé quelques anciens kernelx de /usr/src pour éliminer la situation. Heureusement, tout s’est bien passé et apt a recommencé à fonctionner.

Il est fortement recommandé de le reprendre avant de retirer les anciens kernelx sur une machine de production.