Dd_rescue


Często zachodzi konieczność naprawy uszkodzonych płyt cd lub dvd. Skopiowanie takiej płyty na dysk nie jest możliwe, a niekiedy nie mamy dostępu do innej jej kopii lub jest to płyta pamiątkowa, w jednym egzemplarzu.
Wykorzystałem w tym celu program dd_rescue z pakietu recovery oraz program Xdialog (do tworzenia okien dialogowych) i skrypt powłoki o nazwie dd_rescue.sh.
Jak widać na poniższych zrzutach ekranu na początku podajemy plik do kopiowania, potem podajemy gdzie i pod jaką nazwą mamy go zapisać i na końcu podajemy od jakiego miejsca mamy zacząć kopiowanie (w którym miejscu przerwaliśmy pracę). Wartość tą można odczytać z konqerora i pomniejszyć o 1 Mb. Ta funkcja jest bardzo przydatna, bo niekiedy naprawa płyty trwa kilka dni.
Z własnego doświadczenia wiem, że naprawiona płyta z filmem da się normalnie oglądać, a miejsce zarysowania płyty powoduje pojawienie się na ekranie kilkusekundowej przerwy, w postaci kolorowych plam. Do ich wycięcia można użyć programu Avidemux lub innego edytora filmów.


Dla ułatwienia instalacji przygotowałem archiwum tar.gz z programami Xdialog, dd_rescue oraz dd_rescue.sh dla Slackware 10.1
Musimy jeszcze dodać nową pozycję do menu start zgodnie z poniższym zrzutem.


Ponieważ niektóre płyty cd, dvd można było czytać tylko z konta root, to należy w pliku /etc/sudors dopisać linię o treści /usr/local/bin/dd_rescue.sh, dla konkretnego użytkownika.
Można także używać polecenia kdesu dd_rescue.sh.


W skrypcie /usr/local/bin/dd_rescue.sh musimy jeszcze zmienić katalog do zapisu z /home/andrzej na inny, aktualny.
Program dd_rescue ma następującą składnię polecenia:
dd_rescue -s (wartość) -S (wartość) plik źródłowy plik wyjściowy
Plik żródłowy (s) pokazuje nam od jakiej wartości mamy zacząć kopiowanie, a plik wyjściowy (S) mówi nam od jakiej wartości należy je zapisać.
Zmieniając te wartości możemy wyciąć zepsuty fragment i zapisać go zachowując ciągłość pliku wyjściowego.
W skrypcie dd_rescue.sh należy w tym celu dodać jedno okno dialogowe inputbox do zmainy parametru S.
Dla zainteresowanych podaję kod skryptu powłoki:

do góry