Anyfs-tools is a Unix-based toolkit designed to recover and convert file systems.
Build_it reads information recursively from a directory about all filesystem inodes by using a Linux-based read-only filesystem driver and saves that information to an external inode table. Anysurrect searches for files on a device by searching for different file types' structure. Information about found files is also saved to an external inode table. Reblock changes the filesystem block size, using information from inode table, and changes each fragment placing, so it aligns by block bounds with the new size. Build_e2fs uses external inode table information for building ext2fs filesystems on the device. Anyfs allows the device to be mounted using inode table information. At the mounted filesystem, users can perform file operations such as deleting, moving files, making symbolic and hard links, creating special files, and changing file access permissions. All changes made are saved to the same external inode table file and do not affect the device.
The toolset also allows for filesystem conversion. The only requirement for the source filesystem is that it must support the FIBMAP system call ioctl (2) in the Linux-based filesystem driver. The destination filesystem can be ext2fs. However, there is a possibility of support for other filesystem building options in the future. This feature can be useful for filesystem maintainers who want to convert other filesystems to their own.
To convert a filesystem, the steps to be followed are:
1. Use the build_it function to read all information about files placing and access permission and save it to an external inode table file.
2. Use the anyfs driver to check the existence of all files and search for files requiring separate saving (e.g., files with a size less than 4 Kb for ReiserFS).
3. If necessary, use the reblock function to change the filesystem block size to match the destination filesystem.
4. Finally, use the build_e2fs function to build the ext2fs filesystem.
The toolset's anysurrect function also makes it possible to recover damaged filesystems. First, use anysurrect to recover files from the filesystem. Then, the anyfs filesystem driver can be used to view, read, and save the found files to another filesystem. The driver also sorts files into directories as needed and renames files accordingly. Finally, the build_e2fs function can be used to build a new filesystem.
For file recovery, the same steps are followed as those for recovering a damaged filesystem, except that the build_it function is executed first to gather information about the present filesystem file placing.
In conclusion, the toolset is useful for maintaining, recovering, and converting filesystems on Unix-based systems. The latest release also adds support for quicktime-based formats to the anysurrect function.
Version 0.85.0: N/A