What can you do with the Linux ods5 file system?
Mount your VMS disks, explore them with ls, find and other Linux tools. Copy the
files with cp (in a binary mode) or copr (in record mode). A VMS disk can be any
ODS2 or ODS5 formatted media: diskette, hard disk, CD-ROM, DVD. Also, you can
mount any container file, as a loop device. Such files werecreated and used by the
VDDRIVER or LDDRIVER and formatted as an ODS2/5 disk. (You may even create a
cloop device out of the container file and use that.) Also any physical backup
of an ODS2/5 media available as a file can be mounted as a loop device.
You can use an ods5 file system with a stackable unification file system
such as aufs. That is, it looks like you can delete or add/modify files on
your read-only ODS5 disk. However, aufs (and other stackable unification
file systems) do not forward the ioctl and getxattr calls, which are used to
retrieve the record attributes, so the rats and copr utility will not work.
Anyway, here is an example:
# mkdir /tmp/vms # mkdir /vms # mkdir /VMS # mount -o loop,nomfd,ro /mnt/sda3/vms/arc1002.iso /vms # mount -t aufs -o br:/tmp/vms=rw:/vms=rr none /VMS/ # ls /VMS ARCHIVE.DIR;1 BADBLK.SYS;1 BITMAP.SYS;1 CORIMG.SYS;1 SECURITY.SYS;1 BACKUP.SYS;1 BADLOG.SYS;1 CONTIN.SYS;1 INDEXF.SYS;1 VOLSET.SYS;1 # rm /VMS/B* # ls /VMS ARCHIVE.DIR;1 CORIMG.SYS;1 SECURITY.SYS;1 CONTIN.SYS;1 INDEXF.SYS;1 VOLSET.SYS;1 # echo huhu >/VMS/CORIMG.SYS\;1 # ls -l /VMS total 7404 drwxr-x--x 1 sync daemon 512 Feb 22 2010 ARCHIVE.DIR;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 CONTIN.SYS;1 -rwxr-x--- 1 daemon daemon 5 Jul 12 21:12 CORIMG.SYS;1 -rwxr-x--- 1 daemon daemon 7571456 Feb 22 2010 INDEXF.SYS;1 -rwxr-x--- 1 daemon daemon 512 Feb 22 2010 SECURITY.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 VOLSET.SYS;1 # # ls -al /tmp/vms total 4 drwxr-xr-x 4 root root 200 Jul 12 21:12 . drwxrwxrwt 9 root root 280 Jul 12 21:10 .. -r--r--r-- 5 root root 0 Jul 12 21:11 .wh..wh.aufs drwx------ 2 root root 40 Jul 12 21:11 .wh..wh.orph drwx------ 2 root root 40 Jul 12 21:11 .wh..wh.plnk -r--r--r-- 5 root root 0 Jul 12 21:11 .wh.BACKUP.SYS;1 -r--r--r-- 5 root root 0 Jul 12 21:11 .wh.BADBLK.SYS;1 -r--r--r-- 5 root root 0 Jul 12 21:11 .wh.BADLOG.SYS;1 -r--r--r-- 5 root root 0 Jul 12 21:11 .wh.BITMAP.SYS;1 -rwxr-x--- 1 daemon daemon 5 Jul 12 21:12 CORIMG.SYS;1 # ls -l /vms total 7512 drwxr-x--x 1 sync daemon 512 Feb 22 2010 ARCHIVE.DIR;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 BACKUP.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 BADBLK.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 BADLOG.SYS;1 -rwxr-x--- 1 daemon daemon 113152 Feb 22 2010 BITMAP.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 CONTIN.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 CORIMG.SYS;1 -rwxr-x--- 1 daemon daemon 7571456 Feb 22 2010 INDEXF.SYS;1 -rwxr-x--- 1 daemon daemon 512 Feb 22 2010 SECURITY.SYS;1 -rwxr-x--- 1 daemon daemon 0 Feb 22 2010 VOLSET.SYS;1 # # touch /VMS/new.file\;1 # touch /VMS/another_file # ls /VMS ARCHIVE.DIR;1 CORIMG.SYS;1 SECURITY.SYS;1 another_file CONTIN.SYS;1 INDEXF.SYS;1 VOLSET.SYS;1 new.file;1 #
ln -s '/mnt/HB.DIR;1' 'sys$sysdevice:[hb]'which can only be used as
'sys$sysdevice:[hb]'/ to get to the directory.so
'sys$sysdevice:[hb]/SETUP.COM;8'works but the VMS style file specification
'sys$sysdevice:[hb]SETUP.COM;8'does not work.