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.

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.