anyfs-tools(8)

NAME
anyfs-tools - toolset for recovering and converting filesystems and recovering data from a block device.

SYNOPSIS
build_it [-qvVnsafp] directory inode_table
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 [--]] ...]
reblock [-nqvV] inode_table device blocksize
build_e2fs [ -c|-l filename ] [-b blocksize]
	[-f fragment-size] [-g blocks-per-group]
	[-i bytes-per-inode] [-j] [-J journal-options]
	[-N number-of-inodes] [-n] [-m reserved-blocks-percentage]
	[-o creator-os] [-O feature[,...]] [-q]
	[-r fs-revision-level] [-R raid-options] [-v] [-F]
	[-L volume-label] [-M last-mounted-directory] [-S]
	[-T filesystem-type] [-V] inode_table device [blocks-count]
build_xfs [-b subopt=value ] [-d subopt[=value]]
   [-i subopt=value] [-l subopt[=value]] [-f]
   [-n subopt[=value]] [-q] [-r subopt[=value]]
   [-s subopt[=value]] [-N] [-L label] inode_table devicename
anyconvertfs [--tmpdir directory] [--blocksize blocksize] [-f] [--dry]
   [--inodetable inodetable] [--color|--no-color] [--label label]
   [--debug] [--dont-delete-it] [--success-delete-it]
   [--dontstop] [--pause seconds] [--use-anyfs|--use-anyfuse] [--]
    device [source_fs] destination_fs
anyfuse <inode_table> <device> <mount_point> <FUSE OPTIONS> mount -t any -o inodetable=file.it[,other_mount_options] device dir

DESCRIPTION
anyfs-tools provides a unix-like toolset for recovering and converting filesystems. The following utils are included in the toolset: 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. anysurrect searches block devices for specific file types, based on their file structure. Information about each found file type is also saved to an external inode table. reblock changes the filesystem block size. reblock uses information from the filesystems inode table to change each files' fragments placing so that it will align with block boundaries but with a new block size. build_e2fs proceeds from external inode table information for building ext2fs filesystems on device. build_xfs proceeds from external inode table information for building xfs filesystems on device. anyconvertfs converts device filesystem with applying other anyfs-tools utilities. The anyfs filesystem driver for Linux allows a user to mount a device using the external inode table information created by the build_it or anysurrect commands. Once the filesystem is mounted with the inode table information the user can perform file operations such as deleting, moving files, making symbolic and hard links, special files and changing file access permissions. All changes are applied to the external inode table on unmounting the filesystem, leaving the data on the block device unchanged. anyfuse is FUSE realization of anyfs.

USING

Convert filesystems
    anyfs-tools anyfs-tools allows a user to convert filesystems. There is only one requirement for the existing source filesystem: there must be FIBMAP system call ioctl(2) support in the filesystem driver (maybe read-only) for Linux OS. Currently anyfs-tools supports filesystem conversion to ext2fs/ext3fs or xfs, but it's hoped that in future there will be other filesystem building support. For this to happen, there must first be interest from filesystem maintainers and developers. The advantage of anyfs-tools is that it is a convenient tool and does not require much free space for saving of all of the meta-data for files ably increase the number of users of a particular supported filesystem. Generally, the steps to convert an existing filesystem are as follows: 1) build_it for reading all informaton about the physical location of files on a disk and file access permissions, then saving that information to an external inode table. 2) maybe anyfs (or anyfuse) driver for clear some space for new filesystem. 3) maybe reblock for changing filesystem blocksize where the destination filesystem doesn't support the same blocksize as the source one. 4) Finally, build a filesystem by using build_e2fs or build_xfs. The whole converting process maybe automated with using the anyconvertfs script.

Recovering damaged filesystem
    For recovering files from a damaged filesystem, first use the anysurrect command to specify any file types or data that you wish to recover. It is then possible to use the anyfs (or anyfuse) filesystem drive to view the recovered data or files and possibly save the recovered data to another filesystem. The anyfs filesystem driver can also be used to rename or sort files into directories, depending on the users requirements. At last also possible to build new filesystem with help of build_e2fs or build_xfs. anysurrect doesn't recover filenames. But some intelligent names for its may give anyrename. You can download it also in "Download" the anyfs-tools site section.

Recovering files from an undamaged filesystem
    The process is the same as that for recovering files from a damaged filesystem except that you must first execute the build_it command to ascertain the physical location of files on the disk.

ABOUT VERSION NUMBER
I have decided that the current package without any file formats support by anysurrect
 util -- is version 0.8. Package version 1.0 should support at least 100 different file formats for recovering. At the moment there are about 25 file formats support, and package version is 0.85.

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

FEATURE REQUESTS
For requests for any new file format support, also send to undefer@gmail.com So I will to know in which order I should support different file formats.

AVAILABILITY
You can obtain the last version of package at http://anyfs-tools.sourceforge.net

SEE ALSO
build_it(8), anysurrect(8), reblock(8), build_e2fs(8), build_xfs(8), anyconvertfs(8), anyfuse(8), mount(8), anyfs_inode_table(5), anysurrect-plugins(3), libany(3), ioctl(2), ioctl_list(2)