root-Verzeichnis auf SD Karte läuft voll - keine großen Dateien auf der Karte zu finden

  • Hallo,

    ich bin neu hier und kenne mich mit dem Raspberry leider nicht gut aus. Habe das System aufgesetzt als Server für Node-Red und Mosquitto und mit kontinuierlicher Weiterentwicklung läuft das System seit 1,5 Jahren stabil und treibt mein SmartHome-Dashboard. Jetzt ist die 64GB-SD-Karte wieder vollgelaufen.

    Beim letzten Mal konnte ich noch riesige Logdateien löschen, die sind jetzt aber schon weg. Den Rsyslog-Service habe ich schon deaktiviert. Ich habe keine Laufwerke gemounted, keine USB-Sticks eingesteckt und keine großen Videodateien auf dem System. Das sind die ganzen Tipps der Google-Recherche, die mir nicht helfen konnten. Ich finde keine großen Dateien mehr:

    Und auf root habe ich scheinbar keinen Zugriff. Wer könnte mir einen Tipp geben, wie ich die 59GB von /dev/root finden und löschen könnte?

    Wenn ich jetzt alles formatiere und neu aufsetze, brauche ich Wochen bis alles wieder läuft - bloss weil ich die 59GB nicht gefunden habe.

    Hilfe!!!

    Grüße aus Köln!

    SmartHomeUser

  • root-Verzeichnis auf SD Karte läuft voll - keine großen Dateien auf der Karte zu finden? Schau mal ob du hier fündig wirst!

  • Moin SmartHome@Raspi ,

    erstmal: Herzlich Willkommen im Forum!

    was sagt denn sudo du -sh /*.

    Beispiel von meinem RPi

    Hier kann ich sehen welches Verzeichnis wie gross ist.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • brauche ich Wochen bis alles wieder läuft - bloss weil ich die 59GB nicht gefunden habe.

    Lösch das ja nicht. Die 59 GB sind nämlich das gesamte /root EXT4 Filesystem, ident mit /dev/mmcblk0p2, das randvoll beschrieben wurde.

    Du solltest primär versuchen den Fehler im Filesystem zu diagnostizieren, zu beheben und erst zuletzt Files zu löschen.

    Zunächst lass Dir den Superblock anzeigen < sudo dumpe2fs -h /dev/mmcblk0p2 >

    Dann schau im lost+found Verzeichnis nach, ob Einträge schon vorhanden sind < sudo ls -al /lost+found >

    Mit einem quick&dirty Test könntest Du einen dry-run des EXT4 Reparaturprogrammes durchlaufen lassen. Das zeigt alle Fejler an, repariert aber nicht, weil alle Fehlerbehebungen mit "nein" beantwortet werden. < sudo e2fsck -nfv /dev/mmcblk0p2 >.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • sudo du -sh /* liefert

    Das ist eigenartig, hier taucht root nur mit 108K auf.

    Wenn ich - nach Hinweis von RTFM - auf /dev mmcblk0p2 wechseln möchte, dann sagt er mir, das sei kein Verzeichnis. OK.

    Vielleicht ist ja wirklich in Fehler im Dateisystem, der "Superblock" ist wie folgt (links) und "lost+found" (rechts) ist leer:

    Daraufhin habe ich den "dry-run des EXT4 Reparaturprogrammes durchlaufen lassen." und bekam

    , dann gaaanz viele differences und zuletzt

    Klingt als müsste ich jetzt das Reparaturprogramm noch mal durchlaufen lassen, aber jetzt mit "Fix? yes" oder Automatik. 

    Also sudo e2fsck -p -z undo_file /dev/mmcblk0p2 für automatische Reparatur? Vielleicht noch mit -f für "Force checking..."

    Jedenfalls sehe ich im Moment keinen Hinweis auf ein einzelnes File, dass ich löschen könnte und alles ist wieder gut.

    Da wäre ich für einen Hinweis dankbar, weil ich den Befehl vielleicht nur einmal starten kann und sehe den Prompt erst wieder nach dem Neuaufsetzen? :gk1:

    (Ihr kennt ganz schön viele Befehle... :conf: )

    Wodurch könnte ich mir das Filesystem denn zerschießen? Eigentlich doch nur per Stromausfall, den ich mal hatte ?

    Vielen Dank und ich warte mit dem Reparaturbefehl mal, bis ich von euch höre, ob das klug ist. Noch laufen meine Node-Red-Flows ja trotz des vollen Speichers..

  • Laut < man e2fsck > kann ein Filesystem nur im ungemounteten Zustand repariert werden.

    Du musst daher, nach einem shutdown ,die SD Karte in einen USB-Kartenleser stecken und den an einem anderen Linux (Pi) anstecken.

    Dann (nach Partitionsumount) zuerst mit e2fsck -pfv /dev/sd(a2?) mehrmals (5x) durchlaufen lassen. Erst dann ein undo File erstellen und danach mit -yfv "reparieren und danach mit -pfv abschliessen. Abschliessend ein sync, bevor die SD entnommen wird.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Dann muss ich am Wochenende mal probieren, ob ein mit Desinfec't gebooteter PC ein ausreichend funktionierender Linux-Rechner ist und ob ich damit die Befehle ausführen kann. Ansonsten habe ich keinen Linux-Rechner.

    Was muss ich tun für "Partitionsumount"? Bzw. was muss ich nach dem Einstecken der SD-Karte (nach dem Booten) tun, um in den Startzustand für e2fsck zu kommen?

    Wie geht der "abschließende sync" vor der Entnahme der SD?

    Sorry für die Trivialfragen, aber das kostet mich bei meinem Linux-Unwissen sonst Stunden, bis ich das wieder zusammengegoogelt habe. Wenn es überhaupt klappt. :saint::danke_ATDE:

  • Vielleicht hilft dir bei der Suche das hier.

    Mir hat es schon oft geholfen.....

    Spoiler anzeigen

    Pi4 V1.1, 4 GB, USB3-Hub, 250 GB SSD, Bullseye 64, Mate-Desktop, SD-Card Extender (ruht)
    Pi3b Pihole (Buster)
    Pi3b, 128-GB-SSD, Buster, mit 10,1" Monitor als MM (ohne Spiegel ;) )
    orangepi zero, ohne Beschäftigung
    Pi 5 4 GB im GeekPi-Gehäuse mit externer SSD (Bookworm)


    Warnung: Raspi und Co. machen süchtig! :)

  • Du kannst auch den Pi selbst dazu verwenden, wenn Du ein Pi-OS light auf eine SD Karte (vom z.B. Photoapparat ?) installierst und einen USB Card reader ansteckst. Eine 8 GB SD reicht, 16 GB sind aber auch nicht teurer.

    < sudo umount /dev/sda2 > hängt das Filesystem der Partition Nr.2 auf dem Gerät dev/sda aus.

    < sync > schreibt alle Puffer auf die Geräte aus.

    < sudo -i > wechselt zur interaktiven root-Shell, die mit exit beendet wird. Damit ersparst Du Dir bei jedem Systemprogramm das Aufrufen über sudo und Du befindest Dich im Homeverzeichnis des Users root.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • :danke_ATDE::danke_ATDE::danke_ATDE:

    Leute - ein ganz großer Dank an euch! Konnte mi einem "alten" Desinfec't USB-Stick von c't meinen Windows-Rechner als Fall-back-Linux-Maschine booten, und mit euren Tipps in kurzer Zeit die Reparatur durchführen.

    Hilfreich war noch am Anfang der Befehl lsblk , um zu sehen welche Partition die relevante war, die ich reparieren musste. (Bei mir die 59GB große Partition sdc2 , die hinzukommt bzw. verschwindet, wenn ich die SD-Karte einstecke bzw. herausziehe. Das schreibe ich nur für andere Anfänger wie mich, die den Thread lesen. Dass ihr den Befehl kennt bezweifle ich keine Sekunde :)

    sudo e2fsck -pfv /dev/sdc2 hat dann sofort Inkonsistenzen diagnostiziert und abgebrochen

    Dann habe ich wie beauftragt undo File erstellt, mit -yfv "repariert und danach mit -pfv abgeschlossen.

    Abschliessend ein sync, bevor die SD entnommen wird.

    Das war so einfach und schnell, dass ich es gar nicht glauben konnte. Durch die automatische Reparatur waren wenige Dateien verschwunden, u.a. meine gesamte SmartHome Dashboard-Programmierung, an der ich seit einem Jahr baue. (Wahrscheinlich gab es hieran zuletzt Änderungen, als die Verzeichnisstruktur zerschossen war) Aber die war innerhalb einer Stunde aus dem Backup rekonstruiert und alles läuft wieder super!!!

    Zwar sagt er mir bei sudo e2fsck -nfv /dev/mmcblk0p2 noch, dass das Filesystem noch Fehler hat, aber zumindest läuft alles.

    Kann ich die restlichen Fehler ignorieren oder sollte ich da noch was machen?

    Geiles Forum hier!

    :danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!