anyfs-tools is a unix-way toolset for recovering and converting filesystems.
build_it [-qvV] directory inode_table
anysurrect [-b blocksize] [-i input_inode_table] [-p path_prefix] [-u file_umask] [-U dir_umask] [-qvV] device inode_table
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]
mount -t any -o inodetable=file.it[,other_mount_options] device dir
build_it reads from directory recursively information about all filesystem inodes using filesystem driver (read-only maybe) for Linux OS and saves it to external inode table.
anysurrect search on device files proceeds from knowing different file types structure. Information about founded files also saves to external inode table.
reblock change filesystem block size. reblock using information from inode table change each files' fragments placing so, that it was align by blocks bounds with new size.
build_e2fs proceeds from external inode table information for building ext2fs filesystems on device.
anyfs filesystem driver for Linux allows to mount device using inode table information. At mounted filesystem will be allow so file operations as deleting, moving files; making symbolic and hard links, special files; changing file access permissions. All this changes saves on unmounting to the same external inode table file and doesn't affect the device.
anyfs-tools allows to convert filesystems. The only one requirement for source filesystem exist: there is must be FIBMAP system call ioctl(2) support in the filesystem driver (maybe read-only) for Linux OS.
Destination filesystem at that moment maybe only ext2fs. But it's quite possible, that in future there are will other filesystem building support. At the first it must be interest for filesystem maintainers so as existing of convenient tool for converting of other filesystems to their one, not requesting much free space for saving of all user data, certainty will increase of the filesystem users.
In general, an applying anyfs-tools order for filesystem converting must be next:
1) build_it for reading all informaton about files placing and access permissions and saving it to external inode table file.;
2) anyfs driver for checking existence of all needed files and maybe searching of files requiring of separately saving (e.g, files eith size less than 4 Kb for ReiserFS);
3) maybe reblock for changing filesystem blocksize in occurence when destination filesystem don't support the same blocksize for this device, that source one;
4) at last ext2fs filesystem builds by build_e2fs.
Recovering damaged filesystem
For recovering files from filesystem at first intended anysurrect. After it using possible applying of anyfs filesystem drive for founded files viewing and maybe reading and saving it to another filesystem. Driver also may allow to sort files into directories so as user need in it, rename files as it necessary. At last also possible to build new filesystem with help of build_e2fs.
Recovering files from not damaged filesystem
For file recovering an aplying anyfs-tools tools order is the same that for recovering damaged filesystem excepting that at the begining you must execute build_it for reading about present filesystem file placing.
What's New in This Release:
· Add quicktime based formats support to anysurrect.