en ru
SF.net Project Page Download Forums

anysurrect

Section: Maintenance Commands (8)
Updated: 10 Aug 2008
Index
 

НАЗВАНИЕ

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

СИНТАКСИС

anysurrect [-b blocksize] [-i input_inode_table]
       [-p path_prefix] [-u file_umask] [-U dir_umask] [-fqvV] [-hH] 
       [-g plug-ins] [-e] [-t list_of_types] [-T list_of_types] 
       [-l] device inode_table [-- [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 и DOUBLE INDIRECT ссылками, блоки таблицы инф.узлов (см. описание опции -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 <undefer@gmail.com>

 

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

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

 

ДОСТУПНОСТЬ

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

 

СМ. ТАКЖЕ

anyfs-tools(8), anyfs_inode_table(5), anysurrect-plugins(3)


 

Index

НАЗВАНИЕ
СИНТАКСИС
ОПИСАНИЕ
О ФРАГМЕНТИРОВАННЫХ ФАЙЛАХ
ОПЦИИ
ОПЦИИ МОДУЛЯ filesystem_info_ext2fs_group_info
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
АВТОР
СООБЩЕНИЯ ОБ ОШИБКАХ
ДОСТУПНОСТЬ
СМ. ТАКЖЕ

This document was created by man2html (from man 1.5o1), using the manual pages.
Time: 21:52:22 GMT, August 16, 2008
SourceForge.net Logo Valid HTML 4.0 Transitional