четверг, 24 декабря 2009 г.

Прикладная некромантия в линукс или возвращаем из небытия удаленные файлы

Источник
Думаю, каждый из нас с вами сталкивался с проблемой, когда из-за глюка прошивки фотоаппарата, камеры, кпк, смартфона или просто из-за особого устройства /dev/hands карточка была отформатирована, данные были удалены. В свое время данную проблему я решал достаточно просто, используя Portable версию Ontrack Easy Recovery, но так как уже несколько лет являюсь пользователем linux систем, то использование данного нелицензионнного приложения через wine показалось не совсем кошерным, к тому же жажда исследований и приключений требовала найти бесплатный родной аналог для linux систем. Исследования закончились, даже не успев начаться, так как первая строчка в поиске Google привела к набору утилит TestDisk, о которых я расскажу далее подробнее.

И так, TestDist состоит из двух утилит:
testdisk и photorec; Официальный сайт утилит.
Краткое описание:
testdisk – мощная утилита, разработанная для восстановления удаленных разделов и для восстановления загрузочных записей mbr после программных ошибок, действий некоторых вирусов, человеческих ошибок (например, когда раздел был просто удален).
Возможности testdisk:
Исправление таблицы разделов; восстановление удаленных разделов Восстановление FAT32 загрузочного сектора из бэкапа Перестроение FAT12/FAT16/FAT32 загрузочного сектора Исправление FAT tables
Перестроение NTFS загрузочного сектора Восстановление NTFS загрузочного сектора из бэкапа Исправление MFT используя MFT зеркало Нахождение ext2/ext3 Backup SuperBlock
Восстановление удаленных файлов в FAT, NTFS and ext2 файловых системах
Копирование файлов из FAT, NTFS and ext2/ext3 удаленных разделов.

photorec – утилита восстановления данных таких, как файлы видео, документы, архивы с жестких дисков и cdrom дисков, а также фото (поэтому название программы Photo Recovery) со встроенной памяти камер. Список типов файлов для восстановления весьма внушителен и с ним можно ознакомиться тут.

Обе утилиты open source, распространяются под лицензией GNU General Public License (GPL). Имеются в наличие версии для linux, unix, а также для windows платформ.

В большинстве линукс дистрибутивов уже включены в состав стандартного репозитория. Для debian-based дистрибутивов установка командой:
  1. sudo aptitude install testdisk


В моем случае требовалось восстановить фотографии с карточки фотоаппарата после того, как фотоаппарат случайно отформатировал карточку. Вставив флешку в card reader и запустив с правами рута photorec в консоли, утилита предложила мне выбрать диск, на котором требуется восстановить данные.
выбор диска
В моем случае это будет /dev/sdb.
Далее выбираем тип таблицы разделов на диске, для большинства пользователей это будет Intel/PC.
выбор типа разделов
И далее выбираем раздел или диск целиком для поиска удаленных файлов. Так как мне нужно было восстановить все удаленные файлы после форматирования, то я выбрал поиск по всему диску.
После этого photorec требуется указать тип файловой системы, в которой хранились удаленные файлы. В данном случае все просто, выбираем второй пункт.

А затем на другом диске выбираем директорию, куда утилита сохранит восстановленные файлы.

Далее нажимаем Y и программа начинает свою работу. Для 32Мб карточки ей потребовалось меньше минуты.
Теперь о результатах работы:
Честно говоря, по началу я весьма сомневался в способностях программы. Но открыв директорию с результатами работы утилиты, я с удивлением обнаружил, что были восстановлены не только нужные недавно сделанные 10 фотографий, но и еще 110 других, самая ранняя из которых была сделана 3 года назад и не была перезаписана при дальнейшем использовании карточки, хотя форматировалась карта неоднократно.
В итоге имеем очередную победу добра над злом, счастливую улыбку обладателя фотоаппарата, еще один факт доказательства того, что существует море полезных и качественных opensource утилит.
______________________

воскресенье, 6 декабря 2009 г.

Ubuntu - Редактор конфигурации

Задася целью убрать иконки подключенных дисков с "Рабочего стола" и вот нашел такую штуку.

Редактор конфигурации gconf-editor

Вот пример параметров "Рабочего стола"
gconf-editor>apps>nautilus>desktop
volumes_visible - Показывать подключенные носители на рабочем столе
trash_icon_visible - Отображать на рабочем столе значок «Корзина»
trash_icon_name - Имя значка «Корзина» на рабочем столе
text_ellipsis_limit - Предел многоточия
network_icon_visible - Значок «Сетевые серверы» присутствует на рабочем столе
network_icon_name - Имя значка сетевых серверов
home_icon_visible - Отображать на рабочем столе значок домашней папки
/home_icon_name - Имя значка «Домашняя папка» на рабочем столе
computer_icon_visible - Показывать значок «Компьютер» на рабочем столе
computer_icon_name - Имя значка «Компьютер» на рабочем столе

D-Link DNS-323 - transmission

Итак приступим.
Что такое D-Link DNS-323? Это NAS - сетевое хранилище. описание
Примечательно что к нему существуют хаки. Одним из таких хаков является transmission торрент-клиент.

Для его установки надо:
1. скачать funplug
http://www.inreto.de/dns323/fun-plug/0.5/fun_plug
http://www.inreto.de/dns323/fun-plug/0.5/fun_plug.tgz

2. Зайти по шаре на диски
smb://dlinknas/volume_1/
smb://dlinknas/volume_2/

3. Скопировать на оба диска фалы fun_plug и fun_plug.tgz
на оба диска потому что мы не знаем как они определятся системой.
4. Перезагрузиться.
После перезагрузки нам будет доступен телнет и еще куча плюшек.
5. Заходим удаленно на наш D-Link.
telnet 192.168.1.100
6. Далее готовим каталог для установочных файлов
cd /mnt/HD_a2/
mkdir transmission.setup
cd transmission.setup

7. Загружаем необходимые файлы
wget к сожалению не все смог загрузить :( поэтому грузим с большого брата на шару следующие файлики в smb://dlinknas/volume_1(2)/transmission.setup
curl-7.18.1
Transmission-1.76-1
uclibc-0.9.29-7
8. Возвращаемся в telnet
если все нормально то файлики можно будет найти тут
cd /mnt/HD_a2/transmission.setup
или тут
cd /mnt/HD_b2/transmission.setup
команда ls покажет содержимое каталога
9. Установка самого битторрент клиента
funpkg -i curl-7.18.1.tgz
funpkg -i Transmission-1.76-1.tgz
funpkg -i uclibc-0.9.29-7.tgz

10. В терминале (telnet) Стартуем/Останавливаем клиента чтобы появились файлы настроек
# /ffp/start/transmission.sh start
# /ffp/start/transmission.sh stop

11. Редактируем файл настроек.
а) либо из терминала (telnet'a)
vi /mnt/HD_a2/.transmission-daemon/settings.json
б) либо через шару
smb://dlinknas/volume_1/.transmission-daemon/settings.json
smb://dlinknas/volume_2/.transmission-daemon/settings.json
12. У себя я поставил следующие строки.
"rpc-whitelist-enabled": true,
на
"rpc-whitelist-enabled": false,
и
"download-dir": "\/home\/torrent\/download",
на
"download-dir": "\/mnt\/HD_a2\/transmission",
13. В терминале (telnet) окончательно Стартуем клиента
# /ffp/start/transmission.sh start
14. Проверяем доступность через веб.
В браузере в строке адреса вбиваем
http://192.168.1.100:9091
Мы должны увидеть веб интерфейс для нашего transmission



источники
http://forum.dsmg600.info/t2719-%5BREL%5D-Transmission.html
http://forum.dsmg600.info/viewtopic.php?pid=15546
http://wiki.dns323.info/
http://www.inreto.de/dns323/

з.ы. Честно говоря у веб интерфейса есть недостатки, например нужно постоянно менять папку, куда класть закачку. По этой причине я у себя поставил "удаленный" интерфейс (transmisson-remote-gui)
Найти его можно тут. Есть клиенты для Windows, Linux и MacOS.

MD5SUM

Рекурентный расчет md5sum для всей/всех папок
find . -type f 2>/dev/null -exec md5sum {} \; >md5sum.txt