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