1 votes

Comment supprimer les paquets inutilisés lorsque le disque est plein ?

Comment désinstaller les paquets inutilisés lorsque le disque est plein ? J'essaie d'installer une dépendance non satisfaite. linux-headers-4.4.0-108 et mettre à jour le noyau.

J'ai essayé d'utiliser sudo apt-get autoremove mais ça échoue avec une erreur de disque plein.

Versions :

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

Système de fichiers :

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M   46M  350M  12% /run
/dev/xvda1      7.8G  5.0G  2.4G  69% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M     0  396M   0% /run/user/1000

Je reçois la même erreur en essayant d'exécuter sudo apt-get -f install

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  linux-headers-4.4.0-108
The following NEW packages will be installed:
linux-headers-4.4.0-108
0 upgraded, 1 newly installed, 0 to remove and 160 not upgraded.
7 not fully installed or removed.
Need to get 0 B/9927 kB of archives.
After this operation, 70.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
  LANGUAGE = (unset),
  LC_ALL = (unset),
  LC_CTYPE = "UTF-8",
  LANG = "en_US.UTF-8"
  are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 501671 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.4.0-108_4.4.0-108.131_all.deb ...
Unpacking linux-headers-4.4.0-108 (4.4.0-108.131) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers-
4.4.0-108_4.4.0-108.131_all.deb (--unpack):
  error creating directory './usr/src/linux-headers-4.4.0-
108/arch/powerpc/platforms/pasemi': No space left on device
No apport report written because the error message indicates a disk full error

dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
  /var/cache/apt/archives/linux-headers-4.4.0-108_4.4.0-108.131_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'ai également constaté qu'il y a beaucoup de noyaux inutilisés installés qui peuvent être supprimés pour créer plus d'espace mais je ne suis pas sûr de la meilleure méthode car j'utilise habituellement sudo apt-get autoremove

Actuel :

$ uname -r
4.4.0-93-generic

Non utilisé :

$ dpkg --list | grep linux-image

ii  linux-image-4.4.0-101-generic    4.4.0-101.124 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-103-generic    4.4.0-103.126 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-104-generic    4.4.0-104.127 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-4.4.0-108-generic    4.4.0-108.131 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-31-generic     4.4.0-31.50 amd64   Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-78-generic     4.4.0-78.99 amd64   Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-79-generic     4.4.0-79.100 amd64  Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-81-generic     4.4.0-81.104 amd64  Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-83-generic     4.4.0-83.106 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-87-generic     4.4.0-87.110 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-89-generic     4.4.0-89.112 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-91-generic     4.4.0-91.114 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-92-generic     4.4.0-92.115 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-93-generic     4.4.0-93.116 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-96-generic     4.4.0-96.119 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-97-generic     4.4.0-97.120 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-98-generic     4.4.0-98.121 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-virtual              4.4.0.108.113 amd64 This package will always depend on the latest minimal generic kernel image.

Je viens également d'essayer de supprimer manuellement un noyau, mais je reçois l'erreur suivante.

$ sudo apt-get purge linux-image-4.4.0-78
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'linux-image-4.4.0-78-generic' for regex 'linux-image-4.4.0-78'
Note, selecting 'linux-image-4.4.0-78-lowlatency' for regex 'linux-image-4.4.0-78'
Package 'linux-image-4.4.0-78-lowlatency' is not installed, so not removed
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
  linux-headers-4.4.0-108-generic : Depends: linux-headers-4.4.0-108 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

statistiques des inodes :

$ df -iH
Filesystem     Inodes IUsed IFree IUse% Mounted on
udev             504k   360  504k    1% /dev
tmpfs            506k   495  506k    1% /run
/dev/xvda1       525k  514k   11k   98% /
tmpfs            506k     1  506k    1% /dev/shm
tmpfs            506k     4  506k    1% /run/lock
tmpfs            506k    16  506k    1% /sys/fs/cgroup
tmpfs            506k     4  506k    1% /run/user/1000

2voto

Krishna Chalise Points 170

Votre inode montre que votre serveur est composé d'un grand nombre de fichiers. Les inodes sont essentiellement les fichiers qui stockent les informations sur les fichiers. Il est donc possible que vos inodes soient épuisés en raison d'une création/stockage/manipulation incorrecte de fichiers.

Avez-vous des sites web en cours d'exécution sur votre serveur ? Si oui, vérifiez le nombre de fichiers de session créés qui ne sont pas gérés correctement ou il peut y avoir des scripts qui génèrent des fichiers à grande échelle.

Vous pouvez trouver le nombre de fichiers dans chacun des répertoires en utilisant le script :

for i in /*; do echo "$i"; find "$i" |wc -l; done

Vous pouvez également taper la commande ci-dessus dans Shell.

2voto

Mattio Points 817

Vérifiez également les en-têtes de votre noyau

Vous avez 16 images de noyau installées, et l'échec s'est produit lors de l'installation des en-têtes de noyau.

  • Noyau images ne consomment pas beaucoup d'inodes, mais le noyau en-têtes faire.
  • Si vous avez installé 16 images de noyau, vérifiez si vous avez également installé 16 jeux d'en-têtes de noyau.
  • Les en-têtes du noyau peuvent empêcher les images du noyau d'être déplacées automatiquement.

Vous voyez comment le problème se résume à une seule et unique boule ?

Si vous avez effectivement 16 jeux d'images de noyau ET d'en-têtes de noyau installés, utilisez dpkg pour supprimer un paquet, ce qui libère généralement suffisamment de place pour qu'apt supprime le reste.

0voto

Kerem Kusmezer Points 189

Hé - Il y a un autre Charles Green !

Ainsi, votre disque n'est pas plein de fichiers, mais votre compte d'inodes est presque plein. Cela indiquerait qu'il y a beaucoup, beaucoup de petits fichiers sur votre disque quelque part.

Pour trouver tous ces petits fichiers, essayez ce qui suit :

cd /
sudo du -a -d 1 --inodes . | sort -nr | head -20

La première commande permet de passer au répertoire racine, et la seconde commande produit une liste des 20 plus grands répertoires consommateurs d'inodes sur votre ordinateur. Dans mon ordinateur, par exemple, "/proc" utilise 266672 inodes...

Suivez la piste des gros consommateurs d'inodes, et voyez si vous trouvez un répertoire plein de fichiers de 0 octet ou beaucoup et beaucoup de très petits fichiers. C'est là que se situe votre problème.


Il y a des informations sur les inodes à https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-used et aussi à Manque d'inodes

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