PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was macht "delete" unter Linux ?



clinteas
06.12.02, 22:33
Hallo,
eine grundsaetzliche Frage zu Datenhandling bei Unix und Linux:Was passiert,wenn Dateien mit "delete" geloescht werden,werden die gewiped,ueberschrieben,koennen die wiederhergestellt werden,wandern die in so was aehnliches wie einen Papierkorb wie bei Windoof??
Herzlichen Dank fuer eure Hilfe !

mightymike99
06.12.02, 23:37
"delete" Dieser Befehl hat nichts mit dem löschen von Dateien zu tun. Aber Du meinst sicher nur einen Befehl der Dateien löscht(man rm). Soweit ich weiss wird der Inode + die Datenblöcke freigeben und bei der nächsten Speicherplatzanforderung wieder benutzt. Es gibt "undelete"-Methoden die mehr oder weniger darauf beruhen sofort den Stromstecker zu ziehen um überhaupt noch Daten retten zu können wenn mal was schief gelaufen ist.

Im grossen und ganzen gibt es keine undelete-Möglichkeiten die sich etabliert haben. Möglichkeiten so etwas vorsorglich einzurichten sind:
- den unlink(=lösch) Aufruf des Systems zu ersetzen durch etwas was die Datei in ein Verzeichnis kopiert was von der Funktion her ein Papierkorb ist
- Innerhalb des Dateisystems einen Spiegel von Dateien anlegen die lediglich Hardlinks auf die Originaldateien sind
Erklärung: Eine Datei(Der Inodeeintrag(Dateiidentifikator,Ablageort für wesentliche Dateiinformationen)) wird immer durch einen Hardlink mit einem Verzeichniseintrag verbunden. Man kann auch einer Datei weitere Hardlinks hinzufügen(man ln) letztlich handelt es sich um mehrfache Identitäten einer gleichen Datei. wenn ein Hardlink erstellt wird wird der Linkzähler um 1 erhöht. Wenn die Datei gelöscht wird wird der Linkzähler um 1 erniedrigt. Wenn der Linkzähler 0 ist, wird die Datei komplett gelöscht(siehe 1. Absatz).

Gruß
Tobias

Alex_K
07.12.02, 08:49
Original geschrieben von clinteas
wandern die in so was aehnliches wie einen Papierkorb wie bei Windoof??
Herzlichen Dank fuer eure Hilfe !

wenn du einen desktop wie gnome oder kde verwendest schon.

jedeoch hat das (wie bei windows) nichts mit wirklichem löschen zu tuen. es werden die dateien nur an einen anderen platz (den papierkorb) verschoben, und erst wenn du den papierkorb leerst (oder wenn er voll ist) werden sie wirklich gelöscht.

Belkira
07.12.02, 14:09
Im grossen und ganzen gibt es keine undelete-Möglichkeiten die sich etabliert haben.
Ja und nein.

Ja, weil die inodes einer gelöschten Datei bei nächstem Schreibvorgang möglicherweise bereits wiederverwendet wurden, eine ältere gelöschte Datei somit nichtmehr rekonstruierbar ist. Nach dem versehentlichen Löschen also eine Partition auf jeden Fall -ro remounten bzw. unmounten. Zum zweiten gehen mit dem Löschen die Dateinamen verloren, übrig bleiben nur die inode Nummern und time-stamps.

Nein, weil z.B. für ext2fs gibt es ein prima funktionierendes "undelete" in Form von http://freshmeat.net/projects/recover/ oder dem Midnight Commander (undelfs).