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 de mettre à jour le noyau.
J'ai essayé d'utiliser Sudo apt-get autoremove
mais cela é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 le même message d'erreur lorsque j'essaie 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 existe de nombreux noyaux inutilisé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
Courant:
$ uname -r
4.4.0-93-generic
Inutilisé:
$ 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 le message d'erreur suivant.
$ 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 d'inode:
$ 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
Vérifiez également les en-têtes de votre noya
Vous avez 16 images de noyau installées et l'incident est survenu lors de l'installation des en-têtes du noyau.
Voyez comment tout le problème est réuni dans une seule balle serrée?
Si vous avez effectivement installé 16 ensembles d’images et d’en-têtes de noyau, utilisez dpkg pour supprimer un paquet, en libérant généralement suffisamment d’espace libre pour pouvoir supprimer le reste.
Votre état inode indique que votre serveur est constitué d’un grand nombre de fichiers. Les inodes sont essentiellement les fichiers qui stockent des informations sur les fichiers. Par conséquent, vos inodes sont peut-être épuisés en raison de la création, du stockage ou d'une gestion incorrecte des fichiers.
Avez-vous des sites Web en cours d'exécution sur votre serveur? Si tel est le cas, vérifiez que le nombre de fichiers de session créés ne sont pas gérés correctement ou que certains scripts peuvent générer des fichiers à une plus grande échelle.
Vous pouvez trouver le nombre de fichiers dans chacun des répertoires à l'aide du script:
for i in /*; do echo "$i"; find "$i" |wc -l; done
Vous pouvez également taper la commande ci-dessus dans Shell.
Ainsi, votre disque n'est pas plein de fichiers, mais votre nombre d'inodes est presque plein. Cela indiquerait qu'il y a des tas 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 passe au répertoire racine et la deuxième commande produit une liste des 20 plus grands répertoires consommant des inodes sur votre ordinateur. Dans mon ordinateur, par exemple, "/ proc" utilise 266672 inodes ...
Suivez la trace des gros consommateurs d’inodes et voyez si vous trouvez un répertoire plein de fichiers de 0 octet ou de très nombreux petits fichiers. Ce sera où votre problème est.
Il y a quelques informations sur les inodes sur https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-used et aussi sur manque d'inodes