A quick and dirty FILES-11 ODS-2 disk image parser.
Opens a disk image, mounts its ODS-2 volume structure, and lets you browse it either through an interactive shell or via one-shot, non-interactive dumps.
With no options, it drops you into an interactive shell for browsing the volume:
cargo run -- <disk_image>Volume Name: VAXVMS2H4055
Structure Name:
Owner Name:
000000.DIR;1> cd PAKS
000000.DIR;1:PAKS.DIR;1> ls
ADA.PAK;1
ARV_LICENSE_CPUA.COM;2
...
LMF011.DIR;1
...
000000.DIR;1:PAKS.DIR;1> cd LMF011.DIR
000000.DIR;1:PAKS.DIR;1:LMF011.DIR;1> cat -x KIT.DIR
...
Shell commands:
ls [-l]— list the current directory (-lfor detailed metadata)cd [path|..|/]— change directory (..for parent,/for root, no argument also goes to root);.DIRis appended automatically if omittedpwd— print the current directorycat [-x] NAME— print a file's contents (-xfor a hex/ASCII dump)stat NAME— show detailed metadata and extents for a file or directorymap— print the volume's physical LBN layout maphelp— list available commandsexit/quit(or Ctrl-D) — leave the shell
For scripting or piping, pass one of the following flags instead to get a one-shot, non-interactive dump and skip the shell:
cargo run -- <disk_image> -v # verbose recursive directory dump
cargo run -- <disk_image> -l # terse recursive directory dump
cargo run -- <disk_image> -m # physical LBN disk layout mapThere's lots to do:
- Open raw devices instead of disk image files
- Extract file contents to the host filesystem (
catonly prints to the terminal today) - Modifying files in place
- Built in editor?
- Writing and adding new files to the disk image
- Handling ODS-1 and/or ODS-5 images