Top 3 Möglichkeiten zum Beheben des Fehlers „No Space Left on Device“ unter Linux

Top 3 Möglichkeiten zum Beheben des Fehlers „No Space Left on Device“ unter Linux

Fehler ohne eindeutige Ursache sind die irritierendsten Probleme. Und während Linux in seinen Fehlermeldungen normalerweise spezifisch ist, ist dies eine der wenigen Male, wenn es den Ball fallen lässt.

Wenn Sie einen „No Place on Device Fehler übrig bleiben“, erklärt sich nur sehr wenig, insbesondere wenn Ihr Laufwerk alles andere als voll ist. Warum wird diese Fehlermeldung angezeigt? Warum können Sie nicht neue Dateien erstellen, obwohl Sie genügend Speicherplatz auf der Festplatte haben?? Und vor allem, wie Sie es reparieren??

Inhaltsverzeichnis

    Lass es uns herausfinden.

    1. Machen Sie sich keine Sorgen über die verweigerte Berechtigung - so schleppt sie alle Unterverzeichnisse des Systems durch. Abhängig von der Größe des Laufwerks müssen Sie möglicherweise eine Weile laufen lassen, da es rekursiv alles durchläuft.
    1. Wenn DU das Scannen beendet, gibt es eine einfache Liste von Verzeichnissen neben ihren Größen aus. Dies ist beispielsweise die Ausgabe des DU -Befehls, das auf ein gewöhnliches Verzeichnis angewendet wird.

    Jetzt werden wir DF verwenden, um zu sehen, wie viel freier Speicherplatz verfügbar ist. Der DF -Befehl ist viel einfacher zu verwenden, da er nur die montierten Dateisysteme und deren Verwendungsstatistik anzeigt. Noch einmal werden wir das Flag -H -Flag verwenden, um die Ausgabe menschlich lesbar zu machen.

    sudo df -h

    Die Idee ist, die Ergebnisse der DU- und DF -Befehle zu zählen. Jede Diskrepanz zeigt auf Speicherplatz, der nicht frei verfügbar ist, obwohl sie nicht von Dateien oder Ordnern verwendet werden.

    Warum zeigt Linux „Kein Platz auf dem Gerät übrig“??

    Wenn Sie die Fehlermeldung „Kein Platz auf dem Gerät übrig“ sehen. Die genaue Ursache für den Fehler kann ein wenig Fehlerbehebung erfordern.

    • Kürzlich gelöschte Datei: Der häufigste Grund für diesen Fehler ist eine kürzlich gelöschte Datei. Oft wird eine Datei gelöscht, während ein Prozess noch verwendet wird, sodass der Speicherplatz reserviert wird, obwohl die Datei bereits weg ist.
    • Nicht genug Inodes: Eine andere häufige Ursache ist nicht genug Inodes. Inodes sind die Indexseiten eines Unix -Dateisystems, in denen die Metadaten jeder Datei im Speicher enthalten sind. Inodes sind jedoch nicht unbegrenzt und haben die Inodes, bevor der Speicherplatz den Fehler „Kein Platz auf dem Gerät übrig bleibt“ ausgelöst wird.
    • Fehlende Festplatte: Dann besteht natürlich die Möglichkeit, dass die Festplatte einfach versagt, und ein Großteil des offensichtlichen freien Raums wird von schlechten Sektoren eingenommen. Da das System keine Dateien an diese Standorte schreibt, macht es einen Fehler aus.

    Fix 1: Prozesse mithilfe gelöschter Dateien neu starten

    Die wahrscheinlichste Ursache für den Fehler „Kein Speicherplatz auf dem Gerät übrig“ ist ein Prozess, der noch eine gelöschte Datei verwendet. Zum Glück ist es einfach, diesen Fehler zu beheben. Sie müssen den Vorgang nur neu starten, um den reservierten Speicher zu befreien.

    1. Um den problematischen Prozess zu finden, müssen Sie die Befehle von LSOF und GREP verwenden. Der Befehl LSOF gibt Ihnen eine Liste aller geöffneten Dateien, die durch Ausführen von Prozessen verwendet werden, und Grep kann die Auswahl auf diejenigen eingrenzen, die gelöscht werden. Geben Sie also sudo lsof / | ein Grep gelöscht, wo / ist das Basisverzeichnis und | ein Rohr zum Verknüpfen von LSOF -Ausgang mit Grep.
    1. Jetzt können Sie den betroffenen Prozess mit dem Befehl sudo systemctl restart service_name neu starten, wobei der Servicename der Name des Dienstes ist, der in der Suche aufgetaucht ist.
    1. Wenn es mehrere Prozesse wie diese gibt oder Sie sich einfach nicht darum kümmern möchten, bestimmte Dienste zu finden. Dadurch wird alle Abhängigkeiten regelt und Änderungen im Dateisystem berücksichtigt.

    Danach sollte der Speicherplatz durch den Prozess erneut verfügbar sein, sodass Sie Dateien schreiben können, ohne auf Fehler zu laufen.

    Fix 2: Überprüfen Sie Inodes

    Während jede Fahrt eine große Anzahl von Inodes hat, ist sie endlich. Und wenn Ihr System mit einer unglaublichen Anzahl von Dateien übersät ist, ist es möglich, diese Grenze zu erreichen, bevor die Speicherkapazität des Laufwerks erschöpft ist. Deshalb ist es besser, große Dateien als zu viele kleine zu haben.

    Sie können die Verfügbarkeit von Inodes leicht über das -i -Flag mit dem DF -Befehl überprüfen. So was:

    sudo df -i

    Dies wird deutlich die Gesamtzahl der im Dateisystem vorhandenen Inodes sowie die derzeit verwendete Menge mitteilen. Wenn auf Ihrem System keine freien Inodes übrig sind, ist dies die Quelle des Fehlers „Kein Platz auf dem Gerät“.

    Da Inodes nur beim ersten Formatieren des Laufwerks erstellt werden, gibt es keine Möglichkeit, mehr Inodes zu generieren. Alles, was Sie tun können, ist, unnötige Dateien zu löschen, um Inodes für zukünftige Dateien freizugeben.

    Fix 3: Marke schlechte Blöcke

    Datenbeschäftigung ist das unvermeidliche Schicksal einer Festplatte. Während ein neuer Laufwerk dieses Problem nicht auf sich ziehen wird, werden ältere Festplatten nach und nach „schlecht“ werden.

    Dies bedeutet, dass Teile der Festplatte unbrauchbar gemacht werden, obwohl das Dateisystem sie immer noch als funktionsfähig betrachtet. Diese schlechten Blöcke blasen fälschlicherweise den scheinbaren freien Speicherplatz auf dem Laufwerk auf, wenn in Wahrheit keine Dateien zu ihnen geschrieben werden können. Dies führt zu einem Fehler „kein Platz auf dem Geräte“, da das Betriebssystem versucht und keine Daten auf diesen Standorten speichert.

    Es gibt keinen wirklichen Weg, um dieses Problem zu beheben, da schlechte Sektoren ein Ergebnis des physischen Verschleißes einer Festplatte sind. Das einzige, was Sie tun können, ist, die schlechten Sektoren so zu markieren, dass sie nicht mehr vom Dateisystem verwiesen werden.

    Wenn Sie dies tun, müssen Sie von einer Live. Sobald Sie dies getan haben, verwenden Sie einfach den folgenden Befehl:

    sudo fsck -vcck /dev /sda

    Dies ersetzt die /dev /sda durch den Weg des Laufwerks, den Sie reparieren möchten. Dies erkennt automatisch alle schlechten Blöcke auf dem Laufwerk und markiert sie als unbrauchbar. Sie werden jedoch keine zusätzliche Speicherkapazität erhalten. Seien Sie daher darauf vorbereitet, einige nutzlose Dateien aufzuräumen, um den Platz auf dem Laufwerk freizugeben.

    Was ist der beste Weg, um den Fehler „Kein Speicherplatz auf dem Gerät übrig“ zu beheben?

    Der übliche Grund für einen Fehler „kein Platz auf dem Gerät übrig“ auf Ubuntu oder einer anderen Linux -Distribution ist eine gelöschte Datei, die immer noch von einem laufenden Prozess verwendet wird. Dieser Vorbehalt.

    Das Beheben dieses Problems ist auch am einfachsten, da Sie nur den fraglichen Prozess neu starten müssen. Die anderen Ursachen des Fehlers sind jedoch nicht so einfach zu lösen.

    Unabhängig davon. Sie müssen vorhandene Dateien löschen, um Platz für neue Daten zu schaffen, die geschrieben werden müssen.