web-dev-qa-db-fra.com

Problème de disque complet sous Ubuntu 16.04 (Xenial Xerus)

Je veux faire des mises à jour, mais il semble que mon disque est plein. J'ai essayé:

Sudo apt-get install -f

mais cela m'a donné la sortie suivante:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
checkbox-ng fonts-inconsolata gir1.2-gconf-2.0 ko.tex-extra-hlfont
latex-sanskrit libarchive-extract-Perl libboost-date-time1.54.0
libboost-system1.54.0 libcmis-0.4-4 libcolamd2.8.0 libept1.4.12 libglamor0
libglew1.10 libglewmx1.10 libgnome-desktop-3-7 libgphoto2-port10 libilmbase6
libimobiledevice4 libintl-Perl libisl10 libllvm3.4 liblog-message-Perl
liblog-message-simple-Perl libmagick++5 libmagickcore5 libmagickcore5-extra
libmagickwand5 libmbim-glib0 libmodule-pluggable-Perl libmodule-runtime-Perl
libntdb1 libopenexr6 liborcus-0.6-0 libparams-classify-Perl libpocketsphinx1
libpod-latex-Perl libpoppler44 libprocps3 libprotobuf8 libprotoc8
libqmi-glib0 libqpdf13 libqt5qml-graphicaleffects libqt5sensors5
libqt5webkit5-qmlwebkitplugin libraw9 librhythmbox-core8 libsphinxbase1
libspice-server1 libsystemd-journal0 libsystemd-login0 libterm-ui-Perl
libtext-soundex-Perl libthumbnailer0 libunityvoice1 libupstart1 libxdelta2
libxtables10 linux-headers-3.13.0-29 linux-headers-3.13.0-29-generic
linux-headers-3.13.0-62 linux-headers-3.13.0-62-generic
linux-headers-3.13.0-95 linux-headers-3.13.0-95-generic
linux-headers-4.4.0-36 linux-headers-4.4.0-36-generic linux-headers-4.4.0-37
linux-headers-4.4.0-37-generic linux-headers-4.4.0-38
linux-headers-4.4.0-38-generic linux-headers-4.4.0-39
linux-headers-4.4.0-39-generic linux-headers-4.4.0-40
linux-headers-4.4.0-40-generic linux-headers-4.4.0-41
linux-headers-4.4.0-41-generic linux-headers-4.4.0-44
linux-headers-4.4.0-44-generic linux-headers-4.4.0-46
linux-headers-4.4.0-46-generic linux-headers-4.4.0-49
linux-headers-4.4.0-49-generic linux-headers-4.4.0-51
linux-headers-4.4.0-51-generic linux-headers-4.4.0-52
linux-headers-4.4.0-52-generic linux-headers-4.4.0-53
linux-image-3.11.0-19-generic linux-image-4.4.0-36-generic
linux-image-4.4.0-37-generic linux-image-4.4.0-38-generic
linux-image-4.4.0-39-generic linux-image-4.4.0-40-generic
linux-image-4.4.0-41-generic linux-image-4.4.0-44-generic
linux-image-4.4.0-46-generic linux-image-4.4.0-49-generic
linux-image-4.4.0-51-generic linux-image-4.4.0-52-generic
linux-image-extra-3.11.0-19-generic linux-image-extra-4.4.0-36-generic
linux-image-extra-4.4.0-37-generic linux-image-extra-4.4.0-38-generic
linux-image-extra-4.4.0-39-generic linux-image-extra-4.4.0-40-generic
linux-image-extra-4.4.0-41-generic linux-image-extra-4.4.0-44-generic
linux-image-extra-4.4.0-46-generic linux-image-extra-4.4.0-49-generic
linux-image-extra-4.4.0-51-generic linux-image-extra-4.4.0-52-generic m-tx
musixtex perlmagick pmx python-commandnotfound python-gdbm python-imaging-tk
python-ntdb python3-checkbox qml-module-qtquick-dialogs
qml-module-qtquick-localstorage qml-module-qtquick-privatewidgets
qml-module-ubuntu-ui-extras-browser qtdeclarative5-dialogs-plugin
qtdeclarative5-localstorage-plugin qtdeclarative5-privatewidgets-plugin
qtdeclarative5-qtfeedback-plugin
qtdeclarative5-ubuntu-ui-extras-browser-plugin
qtdeclarative5-ubuntu-ui-extras-browser-plugin-assets
qtdeclarative5-window-plugin sphinx-voxforge-hmm-en sphinx-voxforge-lm-en
swath ubuntu-core-launcher unity-scope-audacious unity-scope-clementine
unity-scope-gmusicbrowser unity-scope-gourmet unity-scope-guayadeque
unity-scope-musique unity-voice-service xdelta
Use 'Sudo apt autoremove' to remove them.
The following additional packages will be installed:
linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic
The following NEW packages will be installed:
linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic
0 upgraded, 2 newly installed, 0 to remove and 63 not upgraded.
2 not fully installed or removed.
Need to get 10,7 MB of archives.
After this operation, 77,8 MB of additional disk space will be used.
Do you want to continue? [O/n] o
Get:1 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main AMD64 linux-headers-4.4.0-57 all 4.4.0-57.78 [9 949 kB]
Get:2 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main AMD64 linux-headers-4.4.0-57-generic AMD64 4.4.0-57.78 [779 kB]
Fetched 10,7 MB in 17s (610 kB/s)
(Reading database ... 1254217 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.4.0-57_4.4.0-57.78_all.deb ...
Unpacking linux-headers-4.4.0-57 (4.4.0-57.78) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers 4.4.0-57_4.4.0-57.78_all.deb (--unpack):
unable to create '/usr/src/linux-headers-4.4.0-57/include/linux/capability.h.dpkg-new' (while processing './usr/src/linux-headers-4.4.0-57/include/linux/capability.h'): 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)
Preparing to unpack .../linux-headers-4.4.0-57-generic_4.4.0-57.78_AMD64.deb ...
Unpacking linux-headers-4.4.0-57-generic (4.4.0-57.78) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers-4.4.0-57-generic_4.4.0-57.78_AMD64.deb (--unpack):
error creating directory './usr/src/linux-headers-4.4.0-57-generic/include/config/cross/memory': 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-57_4.4.0-57.78_all.deb
 /var/cache/apt/archives/linux-headers-4.4.0-57-generic_4.4.0-57.78_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

df donne cette sortie:

 Filesystem     1K-blocks     Used Available Use% Mounted on
udev             1941224        0   1941224   0% /dev
tmpfs             392292     6416    385876   2% /run
/dev/sda5       20027728 17160304   1827020  91% /
tmpfs            1961444     2952   1958492   1% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            1961444        0   1961444   0% /sys/fs/cgroup
/dev/sda6      139057128 45511572  86458812  35% /home
cgmfs                100        0       100   0% /run/cgmanager/fs
tmpfs             392292      108    392184   1% /run/user/1001

Sudo fdisk -l donne ceci:

Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

 (edit: 15 more ram devices with the same size)

Disk /dev/sda: 232,9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe0a42c14

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1              63     80324     80262  39,2M de Dell Utility
/dev/sda2  *        81920   1622015   1540096   752M  7 HPFS/NTFS/exFAT
/dev/sda3         1622016 160710655 159088640  75,9G  7 HPFS/NTFS/exFAT
/dev/sda4       160712702 488394751 327682050 156,3G  5 Extended
/dev/sda5       160712704 201673641  40960938  19,5G 83 Linux
/dev/sda6       201674752 484489205 282814454 134,9G 83 Linux
/dev/sda7       484489216 488394751   3905536   1,9G 82 Linux swap / Solaris

ls /usr/src output:

bcmwl-6.30.223.248+bdcom         linux-headers-3.13.0-66-generic  linux-headers-3.13.0-86-generic  linux-headers-3.8.0-35          linux-headers-4.4.0-44-generic
linux-headers-3.13.0-29          linux-headers-3.13.0-67          linux-headers-3.13.0-87          linux-headers-4.4.0-36          linux-headers-4.4.0-46
linux-headers-3.13.0-29-generic  linux-headers-3.13.0-67-generic  linux-headers-3.13.0-87-generic  linux-headers-4.4.0-36-generic  linux-headers-4.4.0-46-generic
linux-headers-3.13.0-46          linux-headers-3.13.0-74          linux-headers-3.13.0-88          linux-headers-4.4.0-37          linux-headers-4.4.0-49
linux-headers-3.13.0-46-generic  linux-headers-3.13.0-74-generic  linux-headers-3.13.0-88-generic  linux-headers-4.4.0-37-generic  linux-headers-4.4.0-49-generic
linux-headers-3.13.0-62          linux-headers-3.13.0-78          linux-headers-3.13.0-93          linux-headers-4.4.0-38          linux-headers-4.4.0-51
linux-headers-3.13.0-62-generic  linux-headers-3.13.0-78-generic  linux-headers-3.13.0-93-generic  linux-headers-4.4.0-38-generic  linux-headers-4.4.0-51-generic
linux-headers-3.13.0-63          linux-headers-3.13.0-80          linux-headers-3.13.0-94          linux-headers-4.4.0-39          linux-headers-4.4.0-52
linux-headers-3.13.0-63-generic  linux-headers-3.13.0-80-generic  linux-headers-3.13.0-94-generic  linux-headers-4.4.0-39-generic  linux-headers-4.4.0-52-generic
linux-headers-3.13.0-64          linux-headers-3.13.0-82          linux-headers-3.13.0-95          linux-headers-4.4.0-40          linux-headers-4.4.0-53
linux-headers-3.13.0-64-generic  linux-headers-3.13.0-82-generic  linux-headers-3.13.0-95-generic  linux-headers-4.4.0-40-generic
linux-headers-3.13.0-65          linux-headers-3.13.0-85          linux-headers-3.8.0-19           linux-headers-4.4.0-41
linux-headers-3.13.0-65-generic  linux-headers-3.13.0-85-generic  linux-headers-3.8.0-32           linux-headers-4.4.0-41-generic
linux-headers-3.13.0-66          linux-headers-3.13.0-86          linux-headers-3.8.0-34           linux-headers-4.4.0-44

Edit: Comme suggéré dans les commentaires et les questions ci-dessous, voici le résultat df -i:

Filesystem      Inodes   IUsed   IFree IUse% Mounted on
udev            485306     582  484724    1% /dev
tmpfs           490361     854  489507    1% /run
/dev/sda5      1281120 1278500    2620  100% /
tmpfs           490361      17  490344    1% /dev/shm
tmpfs           490361       6  490355    1% /run/lock
tmpfs           490361      18  490343    1% /sys/fs/cgroup
/dev/sda6      8839168   81878 8757290    1% /home
cgmfs           490361      14  490347    1% /run/cgmanager/fs
tmpfs           490361      45  490316    1% /run/user/1001
14
gfat2016

Vous avez beaucoup de noyaux installés, ils occupent beaucoup d’espace (300 Mio par noyau). Vous avez également un bon nombre d'autres paquets qui ont été installés en tant que dépendances et, pour diverses raisons, ne sont plus nécessaires.

Vous pouvez nettoyer tout cela en toute sécurité avec la commande suivante:

Sudo apt autoremove

Ainsi, comme vous l'avez expliqué dans les commentaires, vous obtenez alors l'erreur suivante:

The following packages have unmet dependencies:
 linux-headers-generic : Depends: linux-headers-4.4.0-57-generic but it is not installed
E: Unmet dependencies. Try using -f.

Vous êtes dans une situation difficile! Avant de nettoyer les paquets, APT veut réparer les paquets actuels, c'est-à-dire installer les paquets manquants. Mais il n'y a pas de place pour ça!

Ce qu'il faut faire dans ce cas, c'est libérer de l'espace disque par d'autres moyens. Vous avez peut-être d’anciens fichiers et des fichiers temporaires que vous pouvez supprimer. Mais comme votre commande ci-dessus a utilement répertorié de nombreux paquetages dont vous n’avez plus besoin , nous pouvons en supprimer certains manuellement, à l’aide de la commande dpkg.

Notez que l'utilisation de dpkg sans y penser peut être dangereuse.

Les linux-image et linux-image-extra prennent beaucoup d’espace, prenons donc quelques-uns de la liste des dont vous n’avez plus besoin et supprimez-les avec dpkg:

Sudo dpkg --remove linux-image-extra-4.4.0-36-generic
Sudo dpkg --remove linux-image-4.4.0-36-generic
Sudo dpkg --remove linux-image-extra-4.4.0-37-generic
Sudo dpkg --remove linux-image-4.4.0-37-generic
Sudo dpkg --remove linux-image-extra-4.4.0-38-generic
Sudo dpkg --remove linux-image-4.4.0-38-generic

Edit: Il s'avère que cela n'a pas résolu le problème. Après avoir discuté en chat, et comme suggéré par d’autres ici, vous avez exécuté df -i et découvert que votre partition ne peut "que" stocker 1,2 million de fichiers, et tous les emplacements ont été utilisés.

Les packages linux-headers ne sont pas aussi gros que linux-image, mais ils contiennent un lot de fichiers. Prenons donc quelques-uns de la liste des dont vous n’avez plus besoin et supprimez-les avec dpkg:

Sudo dpkg --remove linux-headers-4.4.0-36 linux-headers-4.4.0-36-generic
Sudo dpkg --remove linux-headers-4.4.0-37 linux-headers-4.4.0-37-generic
Sudo dpkg --remove linux-headers-4.4.0-38 linux-headers-4.4.0-38-generic

Maintenant que l'espace disque et les inodes sont libérés, les packages manquants peuvent être installés:

Sudo apt install linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic

Et maintenant que APT est heureux que toutes les dépendances de paquet soient installées et que tout se trouve bien sur la machine, nous pouvons lui dire de supprimer automatiquement tous les paquetages devenus inutiles:

Sudo apt autoremove
21
Adrien Beau

Vous devez libérer de l'espace.

Malheureusement, avec apt, vous avez un piège 22, vous ne pouvez pas utiliser la plupart des fonctionnalités d'apt jusqu'à ce que "apt-get -f install" réussisse et que "apt-get -f install" ne réussisse pas tant que vous n'avez pas libéré de l'espace disque. . Donc, malgré ce que plusieurs autres réponses disent ici, essayer de supprimer les paquets avec apt est un non-débutant.

Essayez d'abord "apt-get clean". Cela nettoiera les fichiers de paquet téléchargés et libérera assez d’espace pour permettre à apt-get -f installer de réussir.

Si cela ne suffit pas, je suggérerais de supprimer certains des anciens noyaux avec dpkg, par exemple.

dpkg -r --force-depend linux-image-3.11.0-19-generic

Une fois que vous avez réussi à "apt-get -f install", vous pouvez exécuter "apt-get autoremove" comme l'ont suggéré d'autres personnes avant de poursuivre votre mise à niveau.

4
Peter Green

Je vais vous suggérer d'installer bleachbit. Cela vous aidera à récupérer beaucoup d’espace.

3
Arijit Chatterjee

Si vous n’êtes pas à court d’inodes, pour libérer de l’espace disque, je supprimerai d’abord tous les anciens noyaux et en-têtes. C'est une bonne idée de conserver votre noyau actuel et l'un des noyaux plus anciens comme solution de secours.

Pour voir une liste de vos noyaux actuellement installés, consultez /boot

ls -la /boot

Supprimer tous les noyaux les plus anciens

Sudo apt-get purge linux-image-<kernel number>

Sudo apt-get purge linux-headers-<kernel number>

Vous pouvez également vider votre cache apt pour libérer de l'espace.

Sudo apt-get clean

Puis réessaye

Sudo apt-get update

Sudo apt-get upgrade

Et si tu veux

Sudo apt-get dist-upgrade

Si vous voulez voir combien d’espace chaque dossier occupe sur le lecteur

du -sh *

Sachez que les résultats ne sont pas triés par ordre de priorité. Naviguez dans votre système de fichiers pour rechercher les dossiers volumineux.

2
hatterman

C’est un problème connu et résolu: comment supprimer TOUS les morceaux d’un vieux noyau installé, sans plus? Comment peut-on se retrouver avec plus d'espace disque ET un système en fonctionnement? Utilisez purge-old-kernels à partir du package byobu. Lisez d'abord man purge-old-kernels.

Si votre disque est épuisé à 100%, choisissez le fichier volumineux le plus ancien (numéro de version le plus ancien), rm Just This File, et essayez à nouveau purge-old-kernels.

1
waltinator

Comme d'autres l'ont mentionné, vous devriez nettoyer un peu - en particulier enlever les vieux noyaux.

Mais sur une note plus générale (en plus de mon petit commentaire sur l’utilisation trop d’inodes), j'aimerais ajouter ce qui suit:

Sur les systèmes de fichiers Linux/Unix - comme ext3 et ext4 - un pourcentage de la capacité totale d'une partition est réservé à l'utilisateur root -. Cela garantit qu'il y aura (presque) toujours de la place pour les fichiers système et les journaux importants, ainsi qu'un peu de marge de manœuvre si (quand!) root doit faire un nettoyage de printemps. Par défaut, 5% de chaque système de fichiers sont donc réservés. (C'est une des raisons pour lesquelles la commande df- est toujours semble montrer moins d'espace libre que vous ne le pensez devez ...)

Avec les gros disques actuels de 500 Go ou 1 To ou plus, 5%, c'est un peu trop. Et cela dépend aussi du système de fichiers ... Si vous avez une partition séparée pour / (racine), / home, / usr, - / var et / tmp; pas tous ont besoin de 5% pour une utilisation uniquement en root. C'est recommandé / - et c'est probablement une bonne idée pour / var et peut-être / tmp aussi - mais pour / home = et / usr, vous aurez probablement besoin de beaucoup moins (peut-être juste 1% ou aucun).

Vous pouvez utiliser la commande dumpe2fs /dev/sd.. | grep "Reserved block count" pour voir comment des "blocs" (kilo-octets? - cela dépend) peuvent être réservés.

Lorsque vous créez un système de fichiers, vous pouvez spécifier le pourcentage de blocs réservés avec l'option -m. Pour seulement 1%, utilise: mkfs.ext4 -v -m1 /dev/sd..Ne vous contentez pas "d'essayer" cette commande, elle est destructive et formatera votre partition!

Vous pouvez utiliser le tune2fs avec l’option -m pour modifier le pourcentage réservé d’un système de fichiers existant: tune2fs -m1 /dev/sd...

Au lieu de -m, l'option -r- permet de spécifier le nombre réel de blocs réservés en nombre .

Vous pouvez obtenir un peu d'espace supplémentaire de cette façon ...

1
Baard Kopperud