Today marks my second post in a series based on NARA’s 2015 report “Open Source Tools for Records Management.” I investigated Fixity, produced by AVPreserve in 2015. They provide a simple summary of its usefulness:
“Fixity is a utility for the documentation and regular review of stored files. Fixity scans a folder or directory, creating a manifest of the files including their file paths and their checksums, against which a regular comparative analysis can be run. Fixity monitors file integrity through generation and validation of checksums, and file attendance through monitoring and reporting on new, missing, moved and renamed files. Fixity emails a report to the user documenting flagged items along with the reason for a flag, such as that a file has been moved to a new location in the directory, has been edited, or has failed a checksum comparison for other reasons. Supplementing tools like BagIt that review files at points of exchange, when run regularly Fixity becomes a powerful tool for monitoring digital files in repositories, servers, and other long-term storage locations.”
The software can be downloaded as a ZIP file from the AVPreserve site, formatted for either Windows or Mac, and it can also be found on GitHub. AVPreserve provides a very detailed user guide and a short online tutorial.
I performed my evaluation in a Windows environment. After you download the ZIP file, unzip those files onto a local drive. Inside the Fixity folder, drill down to fixity-win and open the executable file (Fixity.exe). (You’ll also see a PDF copy of the user guide saved in the fixity-win-0.5 folder.)
fixity-win folder contents
You can use the simple GUI to run a manual check on stored files or to schedule projects. The only problem I encountered is that without administrative rights on your computer, the scheduled scans will always return results indicating that the files in the designated folder have been removed. But you can avoid this problem by either running the software as an administrator or by doing manual scans. Either way, you first need to set up the parameters of your project. In order to choose the directory that you want to scan, click on the button and find the appropriate folder in your file structure. You can designate up to 7 directories.
You can save your project by clicking on File and Save Settings (Ctrl + S). At this point, you can run a manual scan by clicking on File and Run Now (Ctrl + R). The results will be saved in your reports folder as a .TSV file (Tab Separated Values). AVPreserve provides a ZIP file with the materials from a spreadsheet workshop that demonstrate how to open a TSV file in Microsoft Excel, but here’s a brief summary of how to do it using Excel 2016:
- Open Excel.
- Click on the Data tab.
- Click the arrow beside Get External Data and choose From Text.
- Navigate to your reports folder and select the TSV file you wish to open. You’ll have to make sure you choose All Files (rather than the default Text Files) in order to see your TSV files. Click on Import.
- The defaults in the first step of the Text Import Wizard are correct, so click on Next.
- The defaults in the second step of the Text Import Wizard are correct, so click on Next.
- In step 3, click on the radio button beside Text under Column data format and click on Finish.
- Choose whether you want to put the data in an existing worksheet or a new worksheet and click OK.
The report provides a summary of the results at the top, and you can easily sort this spreadsheet to group the files into categories:
The default settings tell Fixity to review all files, but you can click on Preferences and Filter Files and put a check in the box beside Ignore Hidden Files. The report at the left shows some temporary files that were evaluated. You can also tell Fixity to ignore these files by going to Filter Files, and in the Add Filter box, type
Click on Save & Close, and the next time you run a report, those temporary files will not be shown. By clicking on Preferences and Select Checksum Algorithm, you can choose SHA256 or MD5.
You can find more information about the capabilities of Fixity in the user guide. (For instance, you can configure it to generate report emails.) Although there are some limitations that I identified above, I still find this to be an easy-to-use tool for identifying changes to files in a digital repository. If you use this tool, I’d love to hear your feedback, and if you have an interest in seeing other open source tools evaluated on this site, please let me know.