Update on Isolyzer: UDF, HFS+ and more!
Earlier this year I blogged about Isolyzer, a tool designed to help the detection of broken ISO images. Today I released a shiny new beta version that adds a significant amount of new functionality. Below is an overview of the main changes, followed by some warnings and caveats.
Support of more file systems
Where previous versions only supported disc images with an ISO 9660 file system (with limited support for hybrid ISO 9660/Apple HFS file systems), the new release can deal with a much broader range of file systems. In particular, it adds support for the Universal Disk Format (UDF) and Apple’s HFS+ file system. Unlike previous versions, Isolyzer can now also deal with Apple disc layouts that don’t contain a partition map (see also here for more details on Apple disc layouts). Crucially, all of the above are supported both as stand-alone file systems (e.g. a CD image with exclusively a HFS+ file system) as well as in various hybrid configurations (e.g. UDF Bridge format).
Details on how Isolyzer performs the calculations for estimating the expected image size in each of these situations can be found here. As it turns out, for UDF this calculation is not as straightforward as one would expect. The result is that Isolyzer typically under-estimates the true image size by several sectors. In most cases this is unlikely to be a problem; nevertheless, it may be possible to improve this in future versions.
Changes to the output format
The addition of multiple file system support required some changes to Isolyzer’s output format. The main change is the addition of a fileSystems element, which in turn holds one or more fileSystem elements that each contain information about a detected file system. The updated output format is documented here, and some examples are available here. Note that these changes may break existing workflows that use Isolyzer. This is also the main reason for making this a major (1.x) release. It is still possible that the format will change somewhat in the final (stable) release; this will largely depend on any feedback we may get from users of the tool.
Documentation and test images
Finally Isolyzer’s documentation has been given a major overhaul, as you can see from the main Github page. The repo now includes a new set of small test images that cover all of the currently supported file systems (with the exception of HFS/HFS+ file systems with a partition map, for which I’ve been unable to create or find a sufficiently small sample).
You can install Isolyzer with pip, using the following command:
pip install isolyzer --user
For Windows users 64- and 32-bit binaries are available here. These binaries are completely stand-alone and don’t require Python on your machine.
As always feedback on Isolyzer is highly appreciated, if only because any problem its users come across we’ll probably run into ourselves at some point! (Please note though that because of upcoming holidays I may be a little slow in following up any queries.)
Postscript (2 February 2019)
Removed some outdated and possibly confusing information from the “Installation” section.
Originally published at the Open Preservation Foundation blog