Linux repositories inspector

build_it(8) - Russkiy

Version 0.84.12d
19 Jan 2008

anyfs-tools

unix-way toolset for recovering and converting filesystems

НАЗВАНИЕ

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

СИНТАКСИС

build_it [-qvVnsafp] directory inode_table

ОПИСАНИЕ

build_it считывает из директории рекурсивно информацию обо всех инф.узлах файловой системы используя драйвер (для чтения) ОС Linux и сохраняет её в виде внешней таблицы инф.узлов.
Для работы утилита требует наличия драйвера файловой системы (возможно только для чтения) для ОС Linux с поддержкой системного вызова ioctl(2) FIBMAP. Вызов FIBMAP требует наличия у пользователя прав суперпользователя. Начиная с версии 0.84.9 утилита воспользуется эффективным идентификатором если на файле установлен SUID бит, чтобы произвести эти операции. Так запуск программы становится возможным и от обычного пользователя.
Работа утилиты протестирована на файловых системах: EXT2FS/EXT3FS, XFS, ReiserFS, VFAT, JFS, ISO9660, ntfs-3g.
Большинство из них (кроме NTFS) имеют полноценную поддержку FIBMAP.
В драйвере файловой системы NTFS поддержка FIBMAP присутствует в FUSE драйвере ntfs-3g начиная с версии 0.20061212-BETA. При этом вам необходимо смонтировать файловую систему с опцией blkdev. Читайте losetup(8) , если вам необходимо таким образом смонтировать образ ФС, а не блочное устройство.
Имейте также в виду, что все достаточно малые файлы в NTFS хранятся в упакованном формате и они будут отображены в таблице инф.узлов как sparse-файлы. Так же sparse-файлами будут отображены все шифрованные/ сжатые файлы на уровне файловой системы. Смотрите описание опции -s.
Для ReiserFSReiser4) build_it будет вызывать ioctl вызов UNPACK, чтобы избежать tail-packing’а и получить правильную карту его файлов.
Вы можете использовать опцию -n если не хотите изменений на файловой системе (что может быть важно при восстановлении данных), но в этом случае вы можете получить не совсем верную таблицу инф.узлов.

ОПЦИИ

-q Не выводить ни каких сообщений.
-v Выводить некоторую дополнительную информацию.
-V Вывести только номер версии и выйти.
-n Не распаковывать файлы ReiserFS и Reiser4FS.
-s Выводить на стандартный поток вывода список всех sparse-файлов. Используется утилитой anyconvertfs(8) для формирования rescue-списка при конвертировании из ntfs-3g.
-a Использовать абсолютную адресацию относительно всего диска, а не его отдельного раздела. Имейте ввиду при использовании этой опции что далее для монтирования полученной таблицы инф.узлов необходимо указывать целый диск (например /dev/hda), а не отдельный его раздел (например /dev/hda1, /dev/hdb7). Кроме того это означает автоматическую установку размера блока таблицы инф.узлов в размер сектора (512 байт), т.к. именно в секторах задаётся смещение разделов в таблице разделов.
-f Обрабатывать другие файловые системы расположенные на разделах того же устройства, что и файловая система указанной директории. Так если /dev/hda1 смонтирован в /mnt/root, /dev/hda3 в /mnt/root/home, а /dev/hdb1 в /mnt/root/usr, то при указании утилите директории /mnt/root, в таблицу инф.узлов будет включено также всё содержимое /mnt/home, но содержимое /mnt/usr по-прежнему не будет включено в неё. Опция может быть использована только одновременно с -a.
-p Создать в таблице инф.узлов также все директории от корня до указанной директории.
directory
Директория, обычно корень/точка монтирования файловой системы, построение таблицы инф.узлов которой будет производится.
inode_table
Файл, в который будет сохранена внешняя таблица инф.узлов.

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

Построение внешней таблицы инф.узлов файловой системы на устройстве смонтированной в домашней директории пользователя user:
# build_it /home/user /tmp/inode.table
Замечание: будет лучше, если будущая таблица инф. узлов будет располагаться на другом устройстве (или директории расположенной вне рекурсивной обработки дерева), как и в примере.
Замечание: если точка монтирования в этом примере /home (не /home/user) то построенная внешняя таблица инф.узлов не будет включать файлов из других директорий, чем /home/user -- это будет частичная таблица инф.узлов устройства.
Замечание: если там будет другая точка монтирования в рекурсивно обрабатываемом дереве (например /home/user/mount/point) -- она не будет обработана (таблица инф.узлов не может содержать информации о нескольких различных
устройствах)

АВТОР

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

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

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

ДОСТУПНОСТЬ

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