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
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.
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.
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.
Translation correction by Adrian Shaw
So I will to know in which order I should support different file formats.