Linux repositories inspector

anysurrect(8) - Russkiy

Version 0.85.0
10 Aug 2008

anyfs-tools

unix-way toolset for recovering and converting filesystems

НАЗВАНИЕ

anysurrect - ищет файлы на устройстве и сохраняет полученную информацию в файле внешней таблицы инф.узлов.

СИНТАКСИС

anysurrect [-b blocksize] [-i input_inode_table]
        [-p ] [-u file_umask] [-U dir_umask] [-fqvV] [-hH] 
        [-g ] [-e] [-t list_of_types] [-T list_of_types] 
        [-l] [-- [module module_options [--]] ...]
Синтаксис модуля filesystem_info_ext2fs_group_info:
ext2fs [-g blocks-per-group] [ -i bytes-per-inode] [ -N number-of-inodes] 
   [-h] [--]

ОПИСАНИЕ

anysurrect ищет на устройстве файлы исходя из известной структуры различных типов файлов. Информация о найденных файлах также сохраняется в виде внешней таблицы инф.узлов.
anysurrect открывает устройство в режиме только для чтения, поэтому данные на нём не будут изменены.
На данный момент anysurrect поддерживает следующие типы файлов:
Форматы основанные на Quick Time контейнерах: MOV, и ISO Base Media Файлы: JPEG 2000, MPEG4, 3GP и другие
изображения: PNG, JPEG, BMP, PNM, TIFF
звук: WAV, MIDI, MPEG3
звук и видео: OGG, AVI, MPEG2 stream (при наличии -lmpeg2), program multiplex MPEG2 stream
архивы: TAR, ZIP, RAR, BZIP2 (при наличии -lbzip2), GZIP
документы: PDF, ODF и другие ZIP-основанные форматы будут распознаны как ZIP.
запускаемые: ELF32
простой текст: ASCII, 8-битная кодировка, UTF-8, UTF16-BE, UTF16-LE
образы компакт дисков: ISO9660.
Для лучшего восстановления anysurrect может распознавать системные блоки следующих файловых систем:
EXT2FS/EXT3FS:блокиDIRECT,INDIRECTиDOUBLEINDIRECT ссылками, блоки таблицы инф.узлов (см. описание опции -e)."
При этом поиск текстов является дорогой (в смысле использования процессорного времени) операцией. Поэтому по умолчанию распознаются только ASCII тексты. Список распознаваемых форматов может быть изменён опцией -t. Распознаваемые окончания строк (Unix, DOS и MAC) настраиваются на стадии компиляции правкой файла anyfs-tools/src/anysurrect/config.h
Итак поиск файлов утилитой anysurrect основан на знании внутренней структуры этих файлов. Такой поиск не зависит от файловой системы носителя. Однако при этом оригинальные имена файлов и структура каталогов теряются.
Некоторые способы восстановления имён файлов демонстрирует пакет anyrename который также может быть скачан в разделе Download сайта anyfs-tools.
anysurrect не найдёт файлы если они не выровнены по границе блока (например, на ReiserFS файлы меньше 4 Кб хранятся в таком упакованном формате), файлы с tail-packing’ом на Reiser4 или если они заархивированы/зашифрованы на_уровне_файловой_системы (такую возможность, например, имеет NTFS -- да, конечно, Microsoft не поддерживает Unix-way).

О ФРАГМЕНТИРОВАННЫХ ФАЙЛАХ

Экспериментальная реализация восстановления фрагментированных файлов показала, что вероятность соединить при этом что-то с чем-то, да не с тем слишком высока. Поэтому максимум на что можно надеяться это на использование двух-проходного восстановления, когда на первом проходе восстанавливаются нефрагментированные файлы, а на втором -- фрагментированные, фрагменты которых разделены ранее восстановленными нефрагментированными файлами. (при указании опции -i производится именно такой поиск). Но вообще говоря обычно фрагментированных файлов на разделе не столь много, чтобы всерьёз об этом беспокоится. Восстановление же фрагментированных файлов может быть с бОльшим успехом реализовано при попытке поисков файлов по системной информации файловой системы (см. описание опций -e, -T)

ОПЦИИ

-b blocksize
Размер блока файловой системы устройства. Это число должно быть степенью двойки, и не меньше 512. По умолчанию принимается равным 512 (и может быть увеличено для больших устройств)
-i input_inode_table
Входящий файл внешней таблицы инф.узлов, вероятно полученный применением утилиты build_it. При указании этой опции поиск будет производится только по свободным блокам устройства. Разумеется, если есть возможность (если файловая система не бита и нужно восстановить удалённые файлы) надо пользоваться этой опцией.
-p path_prefix
Префикс к путям для создаваемых файлов. Полезно при использовании совместно с опцией -i когда в корне уже достаточно директорий, чтобы переместить все восстанавливаемые файлы в другую более удобную для вас директорию.
-u file_umask
Восьмеричная маска сбрасываемых прав доступа для файлов. По умолчанию это 002, т.е. по умолчанию для создаваемых файлов не даётся прав записи для остальных пользователей (не пользователя файла и пользователей не состоящих в группе файла).
-U dir_umask
Аналогично -u но для директорий.
-f По умолчанию нулевой блок помечается занятым (т.к. обычно там содержится суперблок файловой системы) и не просматривается. Эта опция позволяет пометить нулевой блок свободным. Вызов ‘anysurrect -qvf <файл> /dev/null‘ удобно использовать для теста anysurrect на то найдёт ли он конкретный файл.
-q Не выводить ни каких сообщений.
-v Выводить типы найденных файлов, их начальный блок и размер.
-V Вывести только номер версии и выйти.
-h Выводит список опций.
-H Выводит список опций для всех модулей (используйте совместно с опцией -e).
-g plug-ins
Начиная с версии 0.83.2 anysurrect поддерживает дополнительную загрузку динамических библиотек для восстановления новых типов файлов. Перечислите подгружаемые библиотеки через пробел. Для списка всех известных типов файлов используйте опцию -l. Для включения новых типов файлов в список восстанавливаемых используйте опцию -t.
-e Эквивалентно
-t filesystem_info_ext2fs_direct_blocks_links filesystem_info_ext2fs_double_indirect_blocks_links filesystem_info_ext2fs_indirect_blocks_links filesystem_info_ext2fs_inode_table filesystem_info_ext2fs_group_info"""
При этом anysurrect будет пытаться использовать информацию из найденных блоков, и будет вызывать surrecter’ы из списка -T чтобы найти другие файлы. Распознанные таким образом файлы будут помещены в директорию /filesystem_files. При этом, при известном размере файла (если эта информация найдена в таблице инф.узлов), но не опознанном типе ни одним из surrecter’ов файл будет помещён в директорию /filesystem_files/UNKNOWN. Для достижения максимального эффекта при восстановлении с EXT2FS/EXT3FS используйте восстановление в два прохода:
1) сначала с опцией -e, и указанием РЕАЛЬНОГО размера блока опцией -b (и опцией -iприпредварительномиспользовании build_it, а также опций модуля ext2fs)
2) затем с передачей опцией -i полученной таблицы инф.узлов в первом пункте
-t list_of_types
Начиная с версии 0.83.2 вы можете изменять список восстанавливаемых файлов без перекомпиляции -- просто перечислите их через пробел в этой опции. Для списка поддерживаемых типов файлов используйте опцию -l.
-T list_of_types
Эта опция впервые появилась в версии 0.84.12 пакета. Опция задаёт вторичный список восстанавливаемых типов файлов и может быть использован совместно с опцией -e для задания типов файлов которые будут искаться с использованием системной информацией ФС.
-l Выдаёт полный список известных типов файлов для восстановления.
device Устройство (или простой файл, образ устройства) для восстановления файлов.
inode_table
Файл, в который будет сохранена сформированная внешняя таблица инф.узлов.
-- Конец опций главного модуля (дальше предполагается название следующего модуля).

ОПЦИИ МОДУЛЯ filesystem_info_ext2fs_group_info

Этот модуль ищет группы блоков на файловой системе ext2fs, а точнее их системную информацию -- суперблок, таблицу инф.узлов, карты распределения блоков и инф.узлов.
Кроме того он пытается использовать информацию найденную в таблице инф.узлов. По умолчанию модуль пытается найти первый суперблок и узнать параметры файловой системы оттуда. Однако, вы можете форсировать другие значения нижеследующими опциями. Значения опций соответсвует значению соотвутсвующих опций mke2fs(8) .
-g blocks-per-group
Размер группы блоков в блоках.
-i bytes-per-inode
Соотношение байт/инф.узел.
-N number-of-inodes
Число инф.узлов на файловой системе.
-h Выдать опции модуля.
-- Конец опций модуля (дальше предполагается название следующего модуля).

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

Восстановление из /dev/hda1 в inode.table:
$ anysurrect /dev/hda1 inode.table
Поиск системной информации ext2fs/ext3fs (4096 это обычный размер блока ext2fs/ext3fs):
$ anysurrect -b 4096 -e /dev/hda2 inode.table
Восстановление jpeg и png файлов из /dev/hda2 используя таблицу инф.узлов из предыдущей стадии:
$ anusurrect -i inode.table -t "image_JPEG image_PNG" /dev/hda2 inode.table
Замечание: так как anysurrect считывает всю информацию из входящей таблицы инф.узлов сразу перед поиском, вы можете использовать тот же исходящий файл, что и входящий (впрочем как и различные, как в следующем примере).
Восстановление с использованием таблицы инф.узлов полученной build_it и помещением новых файлов в директорию ANYSURRECT:
$ anusurrect -i inode.table -p "/ANYSURRECT/" /dev/hda3 inode.table2
Замечание: последний слеш в префиксе пути необходим. Иначе будут созданы директории с названиями вроде "ANYSURRECTarchieve", "ANYSURRECTimage", но в корневой директории.
Список опций модуля filesystem_info_ext2fs_group_info можно увидеть командой
$ anysurrect -eH
Восстановление ФС ext2fs, с указанием её параметров:
$ anysurrect -b 4096 -e /dev/sda10 sda10.it -- ext2fs -i 4194304

АВТОР

Николай Кривченков aka unDEFER <>

СООБЩЕНИЯ ОБ ОШИБКАХ

Сообщения о любых проблемах с применением пакета anyfs-tools направляйте по адресу:

ДОСТУПНОСТЬ

последнюю версию пакета вы можете получить на сайте проекта: http://anyfs-tools.sourceforge.net
⇧ Top