en
ru
SF.net Project Page
Download
Forums
build_it
Section: Maintenance Commands (8)
Updated: 19 Jan 2007
Index
NAME
build_it - reads directory entries to obtain information about the
physical location of files on a block device along with file access permissions
and saves the data to external inode table file.
SYNOPSIS
build_it [-qvVnsafp] directory inode_table
DESCRIPTION
build_it
uses
Linux
OS filesystem drivers to recursively read directory entries in order to obtain
information about all of the filesystem inodes.
The information is then saved to an external inode table. The original block
device can then be mounted along with the external inode table to recover data
from the device.
For this utility to work best, the user must have the appropriate filesystem
driver (maybe read-only) for
Linux
OS available along with
ioctl(2)
FIBMAP
syscall support.
FIBMAP
call requires
root
permissions.
From 0.84.9 version utility use effective identificator
if it's binary file has SUID bit set to call this syscall.
So you can run its without root permissions.
The
build_it
utility has been tested on the following filesystems:
EXT2FS/EXT3FS, XFS, ReiserFS, VFAT, JFS, ISO9660, ntfs-3g.
The best results were obtained from those systems with full
FIBMAP
support.
Currently, in
NTFS
driver has
FIBMAP
support in FUSE
ntfs-3g
driver begining from 0.20061212-BETA version.
At that if you need mount filesystem with
blkdev
option.
Please, read
losetup(8)
if you need to mount FS image (not block device).
Bear in mind, that all enough small files on
NTFS
keeps in packed format and it reflects in inode table
as sparse-files. Also as sparse files reflects
all crypted/compressed at filesystem level files.
Look
-s
option description.
For
ReiserFS(and Reiser4)
build_it
calls ioctl UNPACK to avoid "tail-packing" and get right files map.
You can use
-n
option if you don't want any changes at filesystems (it maybe important
for recovering) but in this case you may get not quite right inode table.
OPTIONS
- -q
-
Don't print any messages.
- -v
-
Print some additional information.
- -V
-
Print the version number and exit.
- -n
-
Don't unpack ReiserFS and Reiser4 files.
- -s
-
Print to stdout all sparse-files list.
It used by
anyconvertfs(8)
utility to form rescue-list with converting from
ntfs-3g.
- -a
-
Use absolute addressing on the entire drive, not its separate partition.
Keep in mind when using this option, that then to mount output inode table
you must specify the entire disk (for example, /dev/hda), and not
the separate partition (as /dev/hda1, /dev/hdb7).
In addition, it means setting inode table blocksize to sector size (512 bytes),
because measure units of partition offsets in partition table is sectors.
- -f
-
Process other filesystems located on the partiotions of the same device as
the specified directory filesystem. So if /dev/hda1 mounted on /mnt/root,
/dev/hda3 on /mnt/root/home and /dev/hdb1 on /mnt/root/usr, and you
specify /mnt/root as the
directory,
to inode table will also include all the contents of /mnt/home,
but the contents of /mnt/usr was still will not be included to it.
Use the option only with -a.
- -p
-
Add to inode table also all parent directories from the specified
directory
to the root directory.
- directory
-
Directory, usually root_directory/mount_point of filesystem,
build_it
will then make an inode table of this mounted filesystem.
- inode_table
-
File for saving of external inode table.
USAGE EXAMPLES
Building an external inode table of filesystem on device mounted at home
directory of user:
# build_it /home/user /tmp/inode.table
Note: will better if future inode.table file will on other device (or in
directory which doesn't located in recursively processed tree)
Note: if mount point in this example /home (not /home/user) then built
external inode table will not include files from other directory than
/home/user -- it will particular inode table of device.
Note: if there are will other mount points in recursively processed trees
(e.g. /home/user/mount/point) -- it will not processed (an inode table
can't keep information from various devices)
AUTHOR
Nikolaj Krivchenkov aka unDEFER <undefer@gmail.com>
Translation correction by Adrian Shaw
BUG REPORTS
Messages about any problem with using
anyfs-tools
package send to
undefer@gmail.com
AVAILABILITY
You can obtain the last version of package at
http://anyfs-tools.sourceforge.net
SEE ALSO
anyfs-tools(8),
ioctl(2),
ioctl_list(2),
anyfs_inode_table(5)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- USAGE EXAMPLES
-
- AUTHOR
-
- BUG REPORTS
-
- AVAILABILITY
-
- SEE ALSO
-
This document was created by
man2html (from man 1.5o1),
using the manual pages.
Time: 21:52:21 GMT, August 16, 2008