Man holder på med et dokument, uhellet er ute og man mister en fil pga følgende:
- applikasjonen havarerer før lagring
- man kvitter uten å lagre
- man overskriver en fil man nettopp hadde åpen
Selv om man mister det som var på skjermen, kan innholdet fortsatt finnes i minnet med mulighet for å gjenskapes (berges), helt eller delvis. Avgjørende for et vellykket resultat, er å gå rett på bergingsoperasjonen, før det frigjorte minnet blir overskrevet med annet innhold.
Eksempel:
Jeg simulerer ovennevnte uhell ved å starte OpenOffice Writer 2.1 på openSUSE 10.2 og tar opp en tekstfil jeg har lagret fra før. Teksten i fila begynner med ordet Tynnklient. Så kvitter jeg OOo Writer.
1) Første trinn ligger nå i å lese ut all lesbar tekst fra minnet og skrive den til en temporær fil på disk. strings kommandoen synes å hente ut ascii tekst uten æøå *). Er her root i en terminal og står på et område som har plass nok for å lagre fila med minneinnholdet:
(NB! det tar noe tid avhengig av minnestørrelsen og innholdet):
- Kode: Merk alt
# strings /dev/mem > memory.bin
I mitt tilfelle var den originale tekstfila på 8 kB, mens memory.bin fra minnet blir på 130 MB. Dette er likevel langt mindre, enn om jeg bruker cp kommandoen fra minnet, noe som i mitt tilfellet gir en fil på 524 MB (lik minnestørrelsen).
2) Trinn to er å åpne fila memory.bin med kommandoen less. (NB! Fila er gjerne stor, derfor "less"). Avbryt automatisk oppstart av telling av antall linjer med Ctrl+C
- Kode: Merk alt
# less memory.bin
3) Trinn tre er å starte et søk med / og skrive et nøkkelord man vet var i teksten. Jeg bruker /Tynnklient. Søk neste med bare / og Return inntil rette tilslag finnes. I mitt tilfelle hadde jeg 8-10 tilslag på ordet Tynnklient i fila memory.bin, før jeg kom til den teksten jeg skulle ha. All råtekst kommer i en sammenhengende bolk (uten blanke linjer). Nå er det bare å merke og kopiere fra terminalvinduet og så lime inn igjen i tekstapplikasjonen det man skal ha.
Jfr. snapshot av terminalvinduet. Tynnklientløsning mangler bokstaven ø som nevnt *):
EDIT:
*) strings er et godt verktøy for å strippe ut lesbare tegn fra binærfiler.
"man strings" viser at opsjonen "-e" (strings -e) benyttes for encoding. Kanskje andre her på forumet kan tilføye/avklare om/hvordan dette eventuelt kan få med æøå
Eksemplet her er basert på et "Cool solution tip" dokument fra Novell: "Recovering a File in Linux"
http://www.novell.com/coolsolutions/tip/18724.html