43 votes

Apt-get: Aucun espace disponible sur le périphérique (12.04)

J'ai lu tous les fils que j'ai pu trouver - même ceux qui disent que la question a déjà été répondue ailleurs mais aucun d'eux ne traite du problème spécifique que je rencontre. Le Gestionnaire de Mises à Jour s'est exécuté et a généré des erreurs relatives à des dépendances non satisfaites et a suggéré d'utiliser apt-get install -f qui échoue avec ce message :

Dépaquetage de linux-headers-3.5.0-36 (de .../linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb) ...
dpkg: erreur de traitement de /var/cache/apt/archives/linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb (--unpack) :
 impossible de créer « /usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h.dpkg-new » (pendant le traitement de «./usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h») : Aucun espace disponible sur le périphérique

Je soupçonne que les 5 derniers mots Aucun espace disponible sur le périphérique sont significatifs mais df et du montrent tous les deux un espace adéquat. Alors je me demande, quel périphérique a besoin de plus d'espace ?

Résultat de df -h

Système de fichiers
Taille Utilisé Disponible Utilisation%
Monté sur /dev/sda1 5,5G 4,4G 786M 86%
/ udev 996M 4,0K 996M 1%
/dev tmpfs 402M 880K 401M 1%
/run aucun 5,0M 0 5,0M 0% /run/lock aucun 1004M 156K 1004M 1%
/run/shm /dev/sdb1 30G 1,4G 27G 5%
/home /dev/sdc1 299G 31G 268G 11% /media/HD-PCTU2

51voto

Dänu Points 1804

Je viens de rencontrer le même problème. J'ai lu quelque part une mention des inodes, et j'ai lancé dans mon terminal pour vérifier l'utilisation des inodes :

  df -i 

Cela a montré une utilisation des inodes à 99%. Donc, bien que mon disque avait encore beaucoup d'espace, je n'ai pas pu créer plus de fichiers en raison de la limite du nombre d'inodes. Un peu de nettoyage du disque a été la solution à mon problème.

44voto

Marc Points 9430

Je pense que votre partition de démarrage est pleine d'anciennes images de noyau, ne laissant aucune place pour la nouvelle que apt-get essaie d'installer. Vous pouvez taper

dpkg -l linux-headers-\* linux-image-\* | grep ^ii

dans une fenêtre de terminal. Quand je fais cela, j'obtiens

ii  linux-headers-3.8.0-18                    3.8.0-18.28                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-18-generic            3.8.0-18.28                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-3.8.0-19                    3.8.0-19.30                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-19-generic            3.8.0-19.30                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-3.8.0-21                    3.8.0-21.32                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-21-generic            3.8.0-21.32                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-3.8.0-22                    3.8.0-22.33                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-22-generic            3.8.0-22.33                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-3.8.0-23                    3.8.0-23.34                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-23-generic            3.8.0-23.34                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-3.8.0-25                    3.8.0-25.37                            all          Fichiers d'en-tête liés à la version du noyau Linux 3.8.0
ii  linux-headers-3.8.0-25-generic            3.8.0-25.37                            amd64        En-têtes du noyau Linux pour la version 3.8.0 sur un processeur x86 64 bits SMP
ii  linux-headers-generic                     3.8.0.25.43                            amd64        En-têtes génériques du noyau Linux

Comme j'en ai plusieurs, je pourrais en supprimer quelques-uns des plus anciens avec

sudo apt-get remove linux-headers-3.8.0-18

Si apt-get échoue car il manque certaines dépendances de package (que vous ne pouvez pas installer en raison du manque d'inodes gratuits), vous pouvez recourir à dpkg directement à la place :

sudo dpkg --remove linux-headers-3.8.0-18

Faites cela quelques fois pour vos plus anciens linux-headers-* et vous devriez avoir de la place.

21voto

J'ai utilisé sudo apt-get autoremove et cela a supprimé tout un tas de anciens packages de kernel-headers. Bon à savoir après cela.

10voto

Stefan Points 349

À ma connaissance, la limite des inodes dans les systèmes de fichiers Linux ext* est d'environ 4 milliards, mais pas moins, ce qui représente un nombre énorme de fichiers. Donc, votre problème est que quelque chose génère beaucoup de fichiers. Je peux vous proposer de vérifier d'abord ceci: http://blog.scoutapp.com/articles/2014/10/08/understanding-disk-inodes Vous saurez ainsi ce qui remplit les inodes de votre système de fichiers. Je peux également vous proposer de nettoyer le cache apt:

sudo apt-get clean

et

sudo apt-get autoclean

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X