Was ist der Zweck des Lost + Found-Ordners unter Linux und Unix?

644

Im Stammverzeichnis der Betriebssysteme Linux und Unix befindet sich ein Ordner mit dem Namen /lost+found/

Wofür ist das? Unter welchen Umständen würde ich damit interagieren? Wie würde ich damit umgehen?

Wesley
quelle
Beachten Sie, dass nur ext2 (und ext3 und ext4) verwendet werden lost+found. Wenn Sie es ausblenden möchten, verwenden Sie entweder ein anderes Dateisystem oder hängen Sie es an einer anderen Stelle ein, speichern Sie alles in einem Unterverzeichnis und verknüpfen Sie das Unterverzeichnis mit dem "richtigen" Ort, an dem Sie die Daten verwenden.
Adam Katz
4
@ Gilles jemand war so nett, es hinzuzufügen: en.wikipedia.org/wiki/Fsck#Use
David Kennedy
Beachten Sie, dass dies lost+foundfür das erweiterte Linux-Dateisystem (ext2–4) spezifisch ist. Unices, zB FreeBSD, haben dieses Verzeichnis normalerweise nicht in ihren Dateisystemen (UFS, ZFS).
FUZxxl
5
Sorry, aber lost+foundauf BSD-Systemen gibt es das praktisch schon immer. Tatsächlich habe ich gerade nachgesehen und es war definitiv auf 4.3BSD da, und ich scheine mich viel früher daran zu erinnern. Und es ist sicherlich heute auf FreeBSD.
Bob Eager
@ BobEager Vielen Dank für die Bestätigung. Das dachte ich auch, aber ich war bereit zu akzeptieren, dass ich mich vielleicht falsch erinnerte ...
Pryftan

Antworten:

577

Wenn Sie fsckden Befehl filesystem check and repair ausführen , werden möglicherweise Datenfragmente gefunden, auf die an keiner Stelle im Dateisystem verwiesen wird. Insbesondere werden fsckmöglicherweise Daten gefunden, die wie eine vollständige Datei aussehen, aber keinen Namen im System haben - eine Inode ohne entsprechenden Dateinamen. Diese Daten belegen immer noch Speicherplatz, sind jedoch auf normale Weise nicht zugänglich.

Wenn Sie fsckangeben, dass das Dateisystem repariert werden soll, werden diese fast gelöschten Dateien wieder in Dateien umgewandelt. Die Sache ist, die Datei hatte einmal einen Namen und einen Ort, aber diese Informationen sind nicht mehr verfügbar. So fsckAblagerungen die Datei in einem bestimmten Verzeichnis, genannt lost+found(nach dem Fund Eigentum).

Dateien, die in lost+foundangezeigt werden, sind in der Regel Dateien, die bereits nicht verknüpft waren (dh, ihr Name wurde gelöscht), aber noch von einem bestimmten Prozess geöffnet wurden (die Daten wurden also noch nicht gelöscht), als das System plötzlich angehalten wurde (Kernel-Panik oder Stromausfall). Wenn das alles ist, was passiert ist, wurden diese Dateien ohnehin zum Löschen eingeplant, Sie müssen sich nicht um sie kümmern.

Dateien können auch angezeigt werden, lost+foundweil sich das Dateisystem aufgrund eines Software- oder Hardware-Fehlers in einem inkonsistenten Zustand befand. In diesem Fall können Sie auf diese Weise nach Dateien suchen, die verloren gegangen sind, die jedoch von der Systemreparatur wiederhergestellt wurden. Die Dateien können nützliche Daten enthalten oder nicht, und selbst wenn dies der Fall ist, sind sie möglicherweise unvollständig oder veraltet. es hängt alles davon ab, wie stark der Dateisystemschaden war.

Auf vielen Dateisystemen ist das lost+foundVerzeichnis etwas Besonderes, da es ein wenig Platz für fsckdie Ablage von Dateien vorbelegt . (Der Speicherplatz ist nicht für die Dateidaten, die fsckan Ort und Stelle verbleiben, sondern für die zu erstellenden Verzeichniseinträge fsck.) Wenn Sie sie versehentlich löschen lost+found, erstellen Sie sie nicht erneut mit . Verwenden Sie sie mkdir, mklost+foundfalls verfügbar.

Gilles
quelle
16
Wenn fsck versehentlich gelöscht wird, wird es möglicherweise neu erstellt, wenn das Dateisystem das nächste Mal sauber ist (dies wird wahrscheinlich der nächste Start sein).
Derobert
30
Ist dieser Ordner etwas, das von Zeit zu Zeit überprüft und gesäubert werden sollte?
TheLQ
9
@TheLQ Nur wenn Ihr Dateisystem umfangreich beschädigt fsckwurde, erforderlich war und das Finden und Verknüpfen von Dateien erwähnt wurde lost+found. In 20 Jahren mit verschiedenen Dateisystemen habe ich das nur einmal gesehen. Und das war vor dem Journaling die Norm.
Alexios
6
Ich denke, es erscheint auch, wenn Sie Ihre Festplatte formatieren (ich wechselte von NTFS zu ext4 und es erschien)
puk
6
@puk Das lost+foundVerzeichnis wird immer dann erstellt, wenn Sie ein ext4-Dateisystem erstellen (wie bei vielen anderen Dateisystemen), unabhängig davon, ob dies im Rahmen der Systeminstallation erfolgt oder nicht. "Formatieren Sie Ihre Festplatte" ist nur ein Fall davon. Was fscktut , ist möglicherweise Dateien dort hinzuzufügen.
Gilles
64

Das lost+foundVerzeichnis (nicht Lost + Found) ist ein Konstrukt, das verwendet wird, fsckwenn das Dateisystem beschädigt ist (nicht das Hardwaregerät, sondern das fs). Dateien, die normalerweise aufgrund einer Verzeichnisbeschädigung verloren gehen, werden im Verzeichnis dieses Dateisystems lost+foundnach Inode-Nummer verknüpft . Einige davon können verlorene Verzeichnisse, verlorene Dateien oder sogar verlorene Geräte sein. Jedes Dateisystem sollte ein eigenes lost+foundVerzeichnis haben, aber Sie sehen möglicherweise ein System mit nur einem Dateisystem. Im Allgemeinen sollten Sie hoffen, dass das Verzeichnis leer ist. Aber wenn es Korruption gibt, sei dankbar, dass unter vielen Umständen Dateien wiederhergestellt werden können, nachdem fscksie hier abgelegt wurden.

Arcege
quelle
4
Gültiger Punkt jedoch: Diese KÖNNEN ohnehin ein ziemliches Ärgernis werden. Wenn Sie beispielsweise versuchen, einen findVorgang auf einer oder mehreren ext[2|3|4]Partitionen von einem Benutzerkonto eines Nicht-Administrators aus auszuführen, erhalten Sie immer diese völlig unnötigen Fehler, denen die Berechtigung verweigert wurde . Sicher gibt es Möglichkeiten, diese Art von Fehlern zu umgehen - aber es ist ein bisschen umständlich, weil der Standard find . -name '*whatever*'den Trick nicht schafft.
Syntaxfehler
2
@syntaxerror: Schön, dass Sie das über die Belästigungen von find sagen : `./lost+found ': Erlaubnis verweigert . Es nervt mich auch ab und zu ...
Johan E
1
@syntaxerror Der Grund, warum ich auf diese Frage gestoßen bin, war, dass ich gerade eine Suchoperation durchführte und find ständig eine Permission deniedWarnung generierte . Angesichts der Antwort auf diese Frage weiß ich, dass dies lost+foundTeil des Dateisystems ist, und kann daher die generierte Warnung ignorieren (aber ich wünschte, sie hätte nicht die Warnung erzeugt).
Trevor Boyd Smith
1
@ JohanE Du sagst es mir. Der eigentliche Grund, warum ich meinen Kommentar gepostet habe, war, dass diese Antwort uns vorschlagen wollte, "dankbar" zu sein lost+found. Das fühlte sich viel zu komisch an, um wahr zu sein (ich saß hier mit einem breiten Grinsen), für die lächerlich wenigen Male, in denen wir dankbar sind, dass es nicht mit denen konkurrieren kann, in denen wir lieber einen "Begone!" buchstabieren Sie zu diesem lästigen lo + fo Ding.
Syntaxfehler
36

Aus "Linux Filesystem Hierarchy", Abschnitt / lost + found " :

Wie bereits in der Übersicht zu FSSTND erläutert, sollte Linux immer ordnungsgemäß heruntergefahren werden. Manchmal kann Ihr System abstürzen oder ein Stromausfall kann die Maschine außer Betrieb setzen. In jedem Fall wird beim nächsten Start eine lange Überprüfung des Dateisystems mit fsck durchgeführt. Fsck durchsucht das System und versucht, alle gefundenen beschädigten Dateien wiederherzustellen. Das Ergebnis dieser Wiederherstellungsoperation wird in dieses Verzeichnis gestellt. Die wiederhergestellten Dateien sind wahrscheinlich nicht vollständig oder sinnvoll, aber es besteht immer die Möglichkeit, dass etwas Wertvolles wiederhergestellt wird. Jede Partition hat ein eigenes Fundbüro. Wenn Sie dort Dateien finden, versuchen Sie, sie wieder an ihren ursprünglichen Speicherort zu verschieben. Wenn Sie so etwas wie einen defekten symbolischen Link zu "Datei" finden, müssen Sie die Datei (en) aus dem entsprechenden RPM neu installieren. da Ihr Dateisystem so stark beschädigt wurde, dass die Dateien bis zur Unkenntlichkeit beschädigt wurden. Unten sehen Sie ein Beispiel für ein / lost + found-Verzeichnis. Wie Sie sehen, handelt es sich bei der überwiegenden Mehrheit der hier enthaltenen Dateien tatsächlich um Sockets. Bei den übrigen Dateien handelte es sich um beschädigte Systemdateien und persönliche Dateien. Diese Dateien konnten nicht wiederhergestellt werden.

Bhupal
quelle