Forum Linux.debian/ubuntu Boot impossible - No space left on device

Posté par  . Licence CC By‑SA.
Étiquettes :
2
24
déc.
2019

Bonjour à tous,

J'ai mon ordinateur qui tourne sous linux mint 19 (version cinnamon).
Du jour au lendemain il est devenu impossible de le démarrer. L'interface graphique ne démarre pas, j'ai seulement accès aux lignes de commande.
J'ai essayé plusieurs manipulations avant de me rendre compte qu'il y avait un problème d'espace de stockage.

En faisant df -h je me rend compte que ma partition sda2 linux est remplie à 100% alors qu'elle ne devrait pas l'être. Quand je fais df -i j'ai 11% des inodes qui sont utilisées.

J'ai regardé sur plusieurs forums et je n'arrive pas à comprendre d'ou vient le problème et comment le résoudre, si c'est déjà arrivé à quelqu'un.

Je vous remercie d'avance,

joyeux noël,

  • # Quelk point de montage pour sda2 ?

    Posté par  . Évalué à 5. Dernière modification le 24/12/19 à 15:45.

    Tu dois avoir un gros fichier quelque part. Pour le voir, mets-toi sur le point de montage de ta partition sda2 puis fait un du -sk * | sort -n pour visualiser les fichiers ou répertoires de ton arborescence qui sont les pluis occupés, puis procède ainsi pour chaque répertoire que tu trouveras anormalement volumineux, jusqu'à identifier le ou les fichiers en cause.

    • [^] # Re: Quelk point de montage pour sda2 ?

      Posté par  . Évalué à 5.

      Ou plus simplement :

      du --one-file-system --total -k --max-depth=1 /chemin/etc/ | sort -rn | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then printf '%4i' ${size}; echo -e "${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done | less
      

      Mais il faut pouvoir copier/coller, sinon c'est fastidieux à recopier.

       
      Si ncdu est déjà installé :

      ncdu -x -q /chemin/etc/
      
  • # Disk Usage Analyzer

    Posté par  (site Web personnel) . Évalué à 6. Dernière modification le 24/12/19 à 22:49.

    Si tu le peux, boote sur une clé USB et lance l'analyseur d'utilisation des disques, tu devrais vite trouver le responsable.
    Sinon, quelques pistes:
    - Cache apt plein: sudo apt-get clean
    - 15000 anciens noyaux et dépendances installés: sudo apt autoremove
    - Instantanés systèmes: les sauvegardes qui prennent toute la place (je n'utilise pas ça, je ne saurais te guider pour les désactiver)

    Un LUG en Lorraine : https://enunclic-cappel.fr

  • # Boot impossible - No space left on device

    Posté par  . Évalué à 2.

    Merci pour toutes vos réponses, je testerai ça à mon retour en fin de semaine et vous tiendrai informé !

    Joyeux Noël !

  • # Commentaire supprimé

    Posté par  . Évalué à 1. Dernière modification le 27/12/19 à 09:52.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # pour éviter le problème...

    Posté par  . Évalué à 2.

    Tout le monde a indiqué comment résoudre le problème quand il surviens, mais personne n'a indiqué comment éviter qu'il ne survienne.

    Pour éviter qu'il ne survienne, le plus simple est de mettre les dossier /var et /home dans des partitions séparées. Ça n'empêche pas le problème, mais ça réduit considérablement le risque (que l'on peut encore diminuer considérablement en mettant /boot et /usr sur des partitions séparées, même si certaines distributions ne le supportent plus pour /usr).

    • [^] # Re: pour éviter le problème...

      Posté par  . Évalué à 4.

      mettre les dossier /var et /home dans des partitions séparées

      Si /home/ est plein, la session graphique ne démarrera pas.

    • [^] # Re: pour éviter le problème...

      Posté par  (site Web personnel) . Évalué à 3.

      Je ne suis pas sûr que ce soit vraiment mieux pour ce problème. Déjà il faut réfléchir à combien va utiliser le système, et combien on va laisser pour les données: c'est pas évident surtout si on a peu d'espace.

      Par défaut il y a des blocs réservés pour le système, je crois que c'est 5%. Donc un utilisateur simple ne peut pas remplir une partition au delà de 95%. Ainsi le système «de base» n'aura pas de problème. Par contre au lancement de la session graphique on peut avoir des soucis si l'utilisateur ne peut plus rien écrire.

      Mais j'ai du mal à voir comment utiliser plusieurs partitions peut aider, j'ai plutôt l'impression qu'on a d'autant plus de chances de remplir une partition…

      Un LUG en Lorraine : https://enunclic-cappel.fr

      • [^] # Re: pour éviter le problème...

        Posté par  . Évalué à 2.

        c'est pas évident surtout si on a peu d'espace.

        Qui de nos jours à, sur un PC (portable ou pas) moins de 250Gio? Ah, après vérification, moi: je n'ai que 223Gio sur mon SSD, qui doit avoir 2 ans.
        J'imagine que les chromebooks & co ont moins, par contre, vu que l'idée est d'avoir les données en dehors de la machine. Par contre, je doute qu'un non initié cherche a y coller une distro linux?

        Par défaut il y a des blocs réservés pour le système, je crois que c'est 5%. Donc un utilisateur simple ne peut pas remplir une partition au delà de 95%.

        Si je prend une Debian, les journaux et apt ont le droit, et ne se privent pas, d'écrire dans les 5% restant. Pour les journaux, normalement par défaut il y a une rotation, donc "ça devrait le faire" même si on est pas sur une time series database (ou p'tet avec journald c'est le cas? Possible, ça serait le 1er argument que je trouverais intéressant en sa faveur, du coup). Par contre, le cache apt, j'ai connaissance d'aucun outil pour le vider automatiquement.

        Mais j'ai du mal à voir comment utiliser plusieurs partitions peut aider, j'ai plutôt l'impression qu'on a d'autant plus de chances de remplir une partition…

        Oui, de remplir une partition, ce qui affecte moins le système de que de remplir la partition.

        Si ton /var/cache satures ta partition unique, ton /home est saturé aussi. Entres autres.

        Par contre oui, ça implique de dimensionner correctement tes partitions, donc de savoir estimer l'espace nécessaire pour chacune. Perso, vu le prix de l'espace disque de nos jours (quasi rien) je laisse 20G-30G pour le /var, dans les 20G pour le / (je sépare pas le /usr ni le /boot, la flemme), un «gros» 100G pour mon /home, et le reste est pas affecté, je l'affecte quand j'en ai besoin, ça me permets par exemple d'installer un nouvel OS quand j'ai envie de jouer, de faire une partition pour alléger une partition qui serait trop pleine (par exemple pour /usr/games, /usr/local, /var/cache…) si nécessaire.
        Ça à ses limitations, j'en conviens, mais bon, y'a pas de solution parfaite.

        • [^] # Re: pour éviter le problème...

          Posté par  . Évalué à 3. Dernière modification le 29/12/19 à 15:15.

          Par contre oui, ça implique de dimensionner correctement tes partitions, donc de savoir estimer l'espace nécessaire pour chacune.

          J'ai un peu le même mode de fonctionnement que toi, et LVM est mon ami.

          Ce qui est bien, c'est qu'avec LVM on peut se tromper assez facilement, et corriger selon l'utilisation de la machine (sauf pour / ou c'est un peu plus compliqué de réduire, mais pour ça je fais comme toi : une certaine quantité d'espace non alloué à l'installation de la machine qui mle servira à agrandir les partitions que j'aurais sous-dimensionnées).

          Pour ma part je sépare toujours au moins /var et /home de / : /var car c'est là que sont envoyées les logs, et qu'une activité anormale peut la saturer, et /home, ce qui permet de faire des choses intéressantes (snapshot par exemple).

          L'inconvénient de LVM, c'est que si tu corromps une partition, c'est plus difficile de la retrouver avec certains outils de restitution, car ils ne savent pas lire un disque LVM (mais tout le monde fait des sauvegardes, non ?)

          • [^] # Re: pour éviter le problème...

            Posté par  . Évalué à 2. Dernière modification le 29/12/19 à 16:12.

            Pour ma part je sépare toujours au moins /var et /home de / : /var car c'est là que sont envoyées les logs, et qu'une activité anormale peut la saturer, et /home, ce qui permet de faire des choses intéressantes (snapshot par exemple).

            Donc on fait la même, à LVM près. Pour ma part je ne l'utilise pas juste parce que je n'en vois pas plus que ça l'intérêt.

            pour l'OP: Pour les infos qui suivent, je me considère comme un poweruser, donc c'est peut-être un peu technique, et certainement à adapter (en revoyant à la hausse les espaces disques, je dirais, par sécurité).

            Mon /home et ses 100Gio est largement assez gros (trop, même), et quand j'ai besoin de plus, typiquement pour stocker de gros fichiers (iso de CD/DVD, machines virtuelles…), ben je fais une partition que je configure avec de gros secteurs: moins d'inodes, mais moins de fragmentation (même si, oui, sur un SSD, la fragmentation on s'en fout… par contre sur un disque mécanique, en théorie ça accélère d'avoir moins de fragments).

            Le /var je le dimensionne selon mon humeur, rarement en-dessous de 10Gio, même si en pratique au taf sur des systèmes spécifiques je lui mets moins de 1Gio (systèmes avec très très peu de stockage comparé à des machines de bureau) et ça tiens à l'aise.
            Généralement, je lui mets 50% de plus qu'à mon /usr: ça me permets de garder les vieux .deb, au cas ou une merde arrive. Ça m'a déjà permis de réparer un système sans avoir accès à internet ni à un média d'install.

            Le / je lui colle en général 20Gio, mais je n'utilise pas de gros bureau. Un utilisateur normal, je lui conseillerais le double, pour être tranquille (un débutant ne sais que rarement comment il va utiliser sa machine).
            Sur ma machine actuelle, j'ai même plusieurs jeux installés sur cette partition:

            % ls /usr/games 
            0ad          caveexpress-editor  geki2      openmw-essimporter  openttd          singularity   wesnoth-1.10_editor    wesnoth-1.14_editor    widelands
            7kaa         flare               hedgewars  openmw-iniimporter  pyrogenesis      supertuxkart  wesnoth-1.10-nolog     wesnoth-1.14-nolog
            berusky2     gearhead2-sdl       openclonk  openmw-launcher     redeclipse       wesnoth       wesnoth-1.10-smallgui  wesnoth-1.14-smallgui
            caveexpress  gearhead-sdl        openmw     openmw-wizard       SearchAndRescue  wesnoth-1.10  wesnoth-1.14           wesnoth-nolog
            

            Faut que j'en vire certains d'ailleurs. Mais en gros:

            • 0ad: 2139Mo
            • flare: 154Mo
            • hedgewars: 199Mo
            • openclong: 115Mo
            • redeclipse (1.6): 988Mo
            • supertuxkart: 624Mo
            • wesnoth core (+secrets of the anciants + hammer of thursagan +under the burning suns, le complet est bien plus lourd): 398Mo

            Si j'ajoute le reste, en tout, y'en a pour à peu près 5.5Gio, même s'il faut reconnaître que ce ne sont pas des jeux à la pointe.
            De toute façon, la plupart des jeux sont maintenant installés via steam, donc dans /home, et lui, je lui donne un user spécifique, histoire qu'il n'ait pas accès à mes données perso, vu que je m'en méfie comme de la peste de cette usine à gaz.
            Du coup, rien ne m'empêcherais de le coller sur une partition séparée, avec un montage sur /home/steam. Enfin, si je l'utilisais beaucoup :) (t'façon ça marche mal sur ma machine).

            En gros, les jeux sont 50% de l'espace consommé de mon /usr. Vraiment, monter à 40Gio devrais suffire à la plupart des utilisateurs, qui utilisent des trucs plus lourds que moi.

            Il fut une époque ou je séparais le /usr et le /boot, mais franchement, ça vaut pas le coup je trouve. /usr est quasiment juste utilisable par root, pour installer des software (à l'exception de /usr/local sous debian qui appartiens au groupe staff, bien pratique quand on installe régulièrement des trucs depuis le fameux make -j5 && make install, pas besoin de passer root comme ça, plus facile a réparer!) et le /boot la principale justification étais de permettre un dual boot, mais j'ai eu des conflits en essayant d'installer 2 debian sur un seul disque (système de fallback, au cas ou…).
            De nos jours, de toute façon, il faut séparer le /boot/EFI (je lui affecte 1Gio, mais je devrais en mettre un peu plus histoire d'y mettre une iso bootable, juste au cas ou…), et selon le boot loader y coller le kernel de l'os qu'on veut booter. Du coup, le /boot sers plus à rien (alors que le /usr est potentiellement justifiable, certains l'utilisent pour le chiffrement me semble).

            mais tout le monde fait des sauvegardes, non ?

            Je t'avoue que pas moi, il faudrait vraiment que je m'y mettre, avant qu'il ne m'arrive une couille majeure… je sais, c'est pas bien… j'ai vu quelques journaux passer ici, dans certains borg à été mentionné qui sur le papier me plaisait… bon, sur ce, je m'en retourne aux live du ccc moi.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.