apt-get: Pas d'espace libre sur l'appareil (12.04)

33

J'ai lu tous les fils que je pouvais trouver - même ceux qui disent que la question a reçu une réponse ailleurs, mais qu'aucun ne traite du problème spécifique que je rencontre. Update Manager a exécuté et produit des erreurs relatives à une dépendance non satisfaite et a suggéré d'utiliser apt-get install -f , qui échoue avec ce message:

Unpacking linux-headers-3.5.0-36 (from .../linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb (--unpack):
 unable to create '/usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h.dpkg-new' (while processing './usr/src/linux-headers-3.5.0-36/arch/arm/mach-iop32x/include/mach/glantank.h'): No space left on device

Je pense que les 5 derniers mots Pas d’espace disponible sur le périphérique sont significatifs, mais que df et du montrent un espace suffisant. Alors je me demande quel appareil a besoin de plus d'espace?

Ouput from df -h

Filesystem 
Size Used Avail Use% 
Mounted on /dev/sda1 5.5G 4.4G 786M 86% 
/ udev 996M 4.0K 996M 1% 
/dev tmpfs 402M 880K 401M 1% 
/run none 5.0M 0 5.0M 0% /run/lock none 1004M 156K 1004M 1% 
/run/shm /dev/sdb1 30G 1.4G 27G 5% 
/home /dev/sdc1 299G 31G 268G 11% /media/HD-PCTU2 
    
posée Don A 08.07.2013 - 15:20
la source

4 réponses

44

Je viens de rencontrer le même problème. Je suis tombé sur une mention d'inodes et je me suis lancé dans mon terminal pour vérifier l'utilisation de l'inode:

  df -i 

Cela montre une utilisation d’inode à 99%. Donc, bien qu'il restait beaucoup d'espace sur mon disque, je n'ai pas pu créer plus de fichiers à cause de la limite du nombre d'inodes. Le nettoyage du disque était la solution à mon problème.

    
réponse donnée Kevin 24.02.2014 - 18:35
la source
29

Je pense que votre partition de démarrage est pleine d’anciennes images du noyau, ne laissant aucune place au nouveau que apt-get tente d’installer. Vous pouvez taper

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

dans une fenêtre de terminal. Quand je fais cela, je reçois

ii  linux-headers-3.8.0-18                    3.8.0-18.28                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-18-generic            3.8.0-18.28                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-19                    3.8.0-19.30                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-19-generic            3.8.0-19.30                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-21                    3.8.0-21.32                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-21-generic            3.8.0-21.32                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-22                    3.8.0-22.33                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-22-generic            3.8.0-22.33                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-23                    3.8.0-23.34                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-23-generic            3.8.0-23.34                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-25                    3.8.0-25.37                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-25-generic            3.8.0-25.37                            amd64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-generic                     3.8.0.25.43                            amd64        Generic Linux kernel headers

Comme j'en ai plusieurs, je pourrais supprimer certains des plus anciens avec

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

Si apt-get échoue parce qu’il manque certaines dépendances de paquetages (que vous ne pouvez pas installer en raison du manque d’inodes libres), vous pouvez plutôt utiliser dpkg directement:

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

Faites cela quelques fois sur votre linux-headers-* le plus âgé et vous devriez avoir de la place.

    
réponse donnée Marc 08.07.2013 - 16:28
la source
14

J'ai utilisé sudo apt-get autoremove et il a supprimé un tas d'anciens paquets d'en-têtes de noyau. Bon d'aller après ça.

    
réponse donnée Frank Sfalanga Jr. 08.05.2015 - 23:31
la source
0

Pour autant que je sache, la limite des inodes dans les systèmes de fichiers Linux ext * est d'environ 4 milliards, mais pas moins, ce qui représente une quantité énorme de fichiers. Votre problème est donc que quelque chose génère beaucoup de fichiers. Je peux vous proposer de vérifier d'abord ceci: lien Vous trouverez donc ce qui remplit les inodes de votre FS. Je peux également proposer de nettoyer le cache apt:

sudo apt-get clean

et

sudo apt-get autoclean
    
réponse donnée Stefan 30.04.2018 - 15:23
la source

Lire d'autres questions sur les étiquettes