/ usr / src dévore tous les inodes

10

Il semble /usr/src(apparemment vieux noyaux) utilisé tous mes inodes:

Filesystem             Inodes  IUsed     IFree IUse% Mounted on
/dev/sda4              489600   489600       0  100% /
devtmpfs               219658      539  219119    1% /dev
none                   219844      474  219370    1% /run
none                   219844        3  219841    1% /run/lock
none                   219844        8  219836    1% /run/shm
/dev/sda6             5963776     8361 5955415    1% /home

J'ai tout essayé pour supprimer / purger, etc. les anciens noyaux, sans succès. dpkg ne fonctionne plus. J'ai essayé quelques commandes manuelles, mais 12.04 ne me donne rien. apt-get, etc. n'est pas possible en raison du manque d'espace sur le disque dur, ce qui n'est évidemment pas le problème. Cependant, je ne peux rien installer ou supprimer! J'ai beaucoup lu sur les utilisateurs ayant le même problème, mais leurs solutions ne fonctionnent pas pour moi.

Veuillez aider. Merci beaucoup!

klingone
la source
Démarrez à partir d'un CD / USB en direct et exécutez quelques vérifications du système de fichiers. 'df -i' vous donne l'utilisation des inodes. Vous pouvez supprimer manuellement (ou déplacer vers un emplacement sûr) certains fichiers qui se trouvent dans les dossiers incriminés pour libérer les inodes. Ensuite, essayez à nouveau selon ma réponse pour nettoyer.
hmayag
Essayez de démarrer en mode mono-utilisateur, ce qui pourrait vous donner plus de contrôle.
labarna
@klingone - vous semblez avoir plusieurs comptes. Veuillez enregistrer l'un de ces comptes. Cliquez ensuite sur le lien Contactez-nous au bas de cette page pour demander la fusion de vos autres comptes. Une fois cela fait, vous pourrez rééditer votre question avec plus de détails. Merci.
fossfreedom

Réponses:

6

Essaye ça.

Ouvrez un terminal et entrez:

~$ cd /usr/src
/usr/src$ ls

Vous verrez quelque chose comme ceci:

total 16K
drwxr-xr-x 24 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54/
drwxr-xr-x  7 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54-generic/
drwxr-xr-x  3 root root 4,0K Σεπ  29 22:56 nvidia-319-319.32/

La sortie peut (et sera) différente selon votre configuration.

Examinez de près les dossiers nommés linux-headers-*. Ce sont les en-têtes de toutes vos images Linux que vous avez installées. Si vous en avez trop, ils prendront BEAUCOUP d'espace et d'inodes. Il vous suffit de conserver la dernière depuis laquelle vous démarrez .

Disons que vous avez un noyau plus ancien, par exemple. 3.2.0-53. Pour le supprimer, saisissez:

sudo apt-get remove --purge linux-image-3.2.0-53-generic linux-headers-3.2.0-53 linux-headers-3.2.0-53-generic

pour chacun d'eux.

Si tout ce qui précède échoue, essayez de supprimer manuellement les dossiers des en-têtes OLDER KERNEL :

sudo rm -rf /usr/src/linux-headers-3.2.0-53{,-generic}
errikos
la source
2

Vous pouvez essayer Ubuntu Tweak pour nettoyer les anciens noyaux. Installez-le d'abord à l'aide de ces commandes

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Exécutez le programme puis:

  1. Sélectionnez l'onglet "Concierge"
  2. Cochez la case "Ancien noyau"
  3. Sélectionnez les versions du noyau à supprimer (gardez 2 au départ - juste au cas où)
  4. Appuyez sur "Nettoyer"

entrez la description de l'image ici

hmayag
la source
Salut et merci pour l'info. Utilisé la commande (s) ci-dessus mais n'a pas réussi à installer, en disant qu'il n'y a plus d'espace sur l'appareil. Le centre logiciel est également endommagé et souhaite être réparé, mais il est également incapable de le faire. Apt-get autoclean ne fonctionne pas et il est suggéré d'utiliser la commande sudo dpkg --configure -a pour résoudre le problème qui me ramène à mon point de départ car il n'y a plus d'espace sur le périphérique. Quoi d'autre pourrais-je essayer ? Je suis sûr que ce sont les inodes dans / usr / src en raison de près de 300 000 fichiers d'anciens noyaux installés ... merci encore pour l'aide.
klingone
1

J'ai juste eu le même problème

Sur Ubuntu Linux 16.04.1, il semble que sudo apt autoremovecela nettoiera tous les /usr/src/linux-headers-fichiers inutiles et libérera les inodes correspondants

phaedo
la source
0

Étant donné que le cas implique un système avec une utilisation 100% HD, l'installation d'une application ne fonctionnera donc pas. La seule option sûre consiste à supprimer d'abord les fichiers inutiles.

Les premiers rangs seront les fichiers temporaires

sudo rm -rf /tmp/*

Ensuite, supprimez les applications mises en cache. Ce sont les binaires des applications et des mises à niveau téléchargées tout au long de la durée de vie du système. Normalement, cela ne représenterait pas moins de 500 Mo dans un système Ubuntu moyen avec un an de fonctionnement, et vous donnerait une pause pour installer une autre application.

sudo rm /var/cache/apt/archives/*deb

Ensuite, je recommanderais de supprimer les anciens fichiers journaux

sudo rm /var/log/*gz

Par cela, vous auriez au moins un espace libre d'environ 700 Mo. Cela vous permettra de travailler avec des utilitaires et d'en installer de nouveaux.

Ensuite, j'installerais ncdu, qui est un utilitaire rapide pour analyser l'intégralité du disque dur, et commander les répertoires par taille. Il est vraiment rapide et fonctionne comme un charme.

sudo apt-get install ncdu

puis exécutez-le avec la commande

sudo ncdu /

La barre oblique après ncdu consiste à numériser à partir du répertoire racine.

Tout ce qui précède fonctionne sur le serveur Ubuntu ainsi que sur le bureau. Maintenant, après avoir fait tout ce qui précède, et que vous exécutez sur un environnement de bureau, vous pouvez opter pour des utilitaires GUI tels que ubuntu-tweak (qui est excellent en passant) et supprimer les anciens noyaux. Je garde généralement le dernier noyau, et celui avant le dernier, en cas d'échecs de mise à niveau.

J'espère que cela vous aidera.

Mijo
la source
L'utilisation à 100% des inodes ne signifie pas que le disque dur est plein de fichiers.
woohoo
0

Une autre façon consiste à rechercher les dossiers qui consomment votre nombre d'inodes. Voir ici: Package cassé après la mise à jour: linux-headers, erreur: BrokenCount> 0

Ceci est la partie la plus importante:

Dans un terminal, cd à root pour démarrer:

# cd /

Recherchez ensuite les dossiers qui consomment la plupart des inodes:

# for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -20

Et ainsi de suite, vous pourrez trouver les dossiers qui doivent être supprimés ou les packages, les en-têtes du noyau, les images qui doivent être désinstallées.

woohoo
la source