Случилось то, чего стоило бы ожидать - фотоаппарат был подвергнут насильственному досмотру и с него стерта вся медия. Побродив немного по интернету понял, что программа обойдется мне в минимум 20$, ибо Trial версия не известно что откажется делать, и...
вообщем я было загрустил, пока не набрел на одну вещь.
Вообще, решение задачи нахождения стертых файлов во многом зависит от файловой системы. Узнать тип файловой системы просто:
vaulter@vaulter-desktop:~$ fdisk -l Диск /dev/sdb: 1055 МБ, 1055416320 байт 16 heads, 63 sectors/track, 2045 cylinders Units = цилиндры of 1008 * 512 = 516096 bytes Disk identifier: 0x00000000 Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 * 1 2045 1030648+ 6 FAT16
То есть, по сути, восстановить файлы надо с FAT16. Это "волшебство" (за которые просют денег) доступно нам с начала 90х. Однако, был сделан еще один финт ушами:
vaulter@vaulter-desktop:~$ RESTORE_FILE=~/sony.`date +%F`.dd vaulter@vaulter-desktop:~$ dd if=/dev/sdb1 of=$RESTORE_FILE bs=1024
, тем самым скопировав полный образ Flash ки (у меня копирование с CompactFlash емкостью 1Gb заняло несколько минут) я избавил фотоаппарат от мучений, отключив его - информация уже была в надежных руках! :)
Пока я ждал копирования, смотрел watch du -h $RESTORE_FILE в отдельной консольке :)
Затем скачав по упомянутой ссылке foremost, make и
vaulter@vaulter-desktop:~$ src/foremost/foremost -t mpg,jpeg -i $RESTORE_FILE
Несколько фоток конечно "побилось", я думаю, это неплохой результат, учитывая то, что я отдал денег только за несколько килобайт трафика.
зы: скриптик, выдающий изменения в /dev папке :)
vaulter@vaulter-desktop:~$ cat ./mondev.sh
#!/bin/sh #Monitor of devices? # TODO just KDE popup for a now, # but MUST be chippy and configurable # via COMMAND LINE :) DELAY=1 TTY=`tty | sed s/\\\//./g` MYNAME=`namei $0 | grep -` TMPDIR=/tmp LASTTMPFILE=$TMPDIR/$MYNAME$TTY TMPFILE=$TMPDIR/.$MYNAME$TTY while [ 1 ]; do ls -la /dev > "$TMPFILE" if [ -f "$LASTTMPFILE" ]; then diff -u "$LASTTMPFILE" "$TMPFILE"; fi cat "$TMPFILE" > "$LASTTMPFILE" sleep $DELAY done