en ru
SF.net Project Page Download Forums

build_it

Section: Maintenance Commands (8)
Updated: 19 Jan 2008
Index
 

НАЗВАНИЕ

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 <undefer@gmail.com>

 

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

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

 

ДОСТУПНОСТЬ

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

 

СМ. ТАКЖЕ

anyfs-tools(8), ioctl(2), ioctl_list(2), anyfs_inode_table(5)


 

Index

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

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