Annotation of researchv10dc/man/adm/man8/worm.8, revision 1.1.1.1

1.1       root        1: .TH WORM 8 "wild"
                      2: .CT 1 sa_nonmortals
                      3: .SH NAME
                      4: worm, jukebox \- optical disk utilities
                      5: .SH SYNOPSIS
                      6: .B "worm mkfs"
                      7: [
                      8: .BI -f device
                      9: ] [
                     10: .BI -c comments
                     11: ] [
                     12: .BI -b blksz
                     13: ] [
                     14: .BI -n nblks
                     15: ] [
                     16: .BI -v newvol_id
                     17: ]
                     18: .I vol_id
                     19: .PP
                     20: .B "worm stat"
                     21: [
                     22: .BI -f device
                     23: ] [
                     24: .BI -F n
                     25: ] [
                     26: .B -v
                     27: ] [
                     28: .I vol_id
                     29: ]
                     30: .PP
                     31: .B "worm ls"
                     32: [
                     33: .BI -f device
                     34: ] [
                     35: .B -l
                     36: ] [
                     37: .I file ...
                     38: ]
                     39: .PP
                     40: .B "worm rm"
                     41: [
                     42: .BI -f device
                     43: ]
                     44: .I vol_id
                     45: [
                     46: .I file ...
                     47: ]
                     48: .PP
                     49: .B "worm mv"
                     50: [
                     51: .BI -f device
                     52: ]
                     53: .I vol_id
                     54: .I "src dest"
                     55: .PP
                     56: .B "worm write"
                     57: [
                     58: .BI -f device
                     59: ]
                     60: .I vol_id
                     61: [
                     62: .I file ...
                     63: ]
                     64: .PP
                     65: .B "worm read"
                     66: [
                     67: .BI -f device
                     68: ] [
                     69: .B -d
                     70: ]
                     71: .I vol_id
                     72: [
                     73: .I file ...
                     74: ]
                     75: .PP
                     76: .B "worm cat"
                     77: [
                     78: .BI -f device
                     79: ]
                     80: .I vol_id
                     81: .I file
                     82: .PP
                     83: .B "worm offline"
                     84: [
                     85: .BI -f device
                     86: ]
                     87: .PP
                     88: .B "worm btree"
                     89: [
                     90: .BI -f device
                     91: ]
                     92: .I vol_id
                     93: .PP
                     94: .B "worm dir"
                     95: [
                     96: .BI -f device
                     97: ]
                     98: .I vol_id
                     99: .PP
                    100: .B "worm tmpdir"
                    101: [
                    102: .BI -f device
                    103: ]
                    104: .I vol_id
                    105: .PP
                    106: .B "worm mount"
                    107: [
                    108: .BI -w secs
                    109: ] [
                    110: .I vol_id
                    111: ]
                    112: .PP
                    113: .B "jukebox"
                    114: [
                    115: .B -aemprsuU
                    116: ] [
                    117: .BI -w secs
                    118: ] [
                    119: .I vol_id
                    120: ]
                    121: .SH DESCRIPTION
                    122: The
                    123: .I worm
                    124: programs manipulate arbitrary files.
                    125: They are intended for use with the raw device associated
                    126: with a Write-Once Read-Many (WORM) optical disk.
                    127: The default device is
                    128: .FR /dev/worm0 .
                    129: Other devices are specified by
                    130: .BI -f device
                    131: and a device name of a single digit
                    132: .I n
                    133: is taken as an abbreviation for
                    134: .FR /dev/worm \f2n\fP.
                    135: Most of the commands implement a simple file system.
                    136: Programs just wanting a raw device should still use
                    137: .B "worm mkfs"
                    138: so that the disk is properly labeled.
                    139: The 
                    140: .IR vol_id ,
                    141: or label,
                    142: should be unique and by convention, the vol_id's
                    143: for the A and B sides of a disk should be the same string suffixed by
                    144: a lowercase
                    145: .B a
                    146: and
                    147: .B b
                    148: respectively.
                    149: .PP
                    150: .I "Worm mkfs"
                    151: labels an optical disk.
                    152: The
                    153: .I comments
                    154: field is limited to 256 chars.
                    155: It is purely descriptive and is printed by
                    156: .IR "worm stat \-v" .
                    157: The (default) blocksize is 1024 for our SONY disks.
                    158: The number of blocks on a disk can be found by
                    159: .IR ra (4)
                    160: or
                    161: .IR scsish (8);
                    162: the default size
                    163: (1,600,000 for single density, 3,250,000 for double density)
                    164: sets aside 30MB or so as a hedge against oversights.
                    165: If the disk has already been initialised, its vol_id must match
                    166: .IR vol_id .
                    167: A new vol_id can be set with
                    168: .BR -v .
                    169: .PP
                    170: .I "Worm stat"
                    171: prints out labeling information
                    172: including the amount of free space left on the disk.
                    173: Option
                    174: .I vol_id
                    175: turns off all output except exit status: zero if 
                    176: .I vol_id 
                    177: matches that of the disk,
                    178: one otherwise.
                    179: Option
                    180: .B -F
                    181: similarly exits with status zero if the disk has more than
                    182: .I n
                    183: free blocks, otherwise three.
                    184: Option
                    185: .B -v
                    186: produces more output.
                    187: .PP
                    188: .I "Worm ls"
                    189: simulates an emasculated
                    190: .IR ls (1).
                    191: .PP
                    192: .I "Worm rm"
                    193: makes the specifed files unavailable to the rest of the
                    194: .I worm
                    195: commands.
                    196: .PP
                    197: .I "Worm mv"
                    198: renames
                    199: .I src
                    200: to
                    201: .IR dest .
                    202: .PP
                    203: .I "Worm write"
                    204: copies files onto the WORM.
                    205: If no file arguments are given,
                    206: filenames are read one per line from standard input.
                    207: The total number of files and bytes is printed on standard output.
                    208: .PP
                    209: .I "Worm read"
                    210: restores files from the WORM.
                    211: If no file arguments are given,
                    212: filenames are read one per line from standard input.
                    213: Option
                    214: .B -d
                    215: causes directories to be created as needed.
                    216: .PP
                    217: .I "Worm cat"
                    218: copies the named file from the WORM to the standard output.
                    219: .PP
                    220: .I "Worm offline"
                    221: makes the WORM go offline, ready for ejecting.
                    222: This command is harmless;
                    223: accessing an offline drive will cause it to spin up and go online
                    224: without operator intervention.
                    225: .I "Worm offline"
                    226: only takes effect after the last close of the WORM
                    227: and as a bonus, applies to any MSCP device such as an RA81.
                    228: .PP
                    229: .I "Worm tmpdir"
                    230: saves a copy of the directory in
                    231: .BI /usr/worm/tmp/ vol_id
                    232: if the directory
                    233: .F /usr/worm/tmp
                    234: exists.
                    235: This will speed up subsequent access substantially,
                    236: although it will still be slower than
                    237: .I "worm btree"
                    238: below.
                    239: On the other hand, 
                    240: .I worm tmpdir
                    241: typically takes 5 minutes to run (on a VAX 11/750)
                    242: whereas
                    243: .I worm btree
                    244: takes about 45 minutes.
                    245: .PP
                    246: .I "Worm btree"
                    247: constructs a new directory for the whole disk (in the form of a
                    248: .IR cbt (1)
                    249: database).
                    250: The new superblock is at zero.
                    251: All the worm commands go faster with such an index but it is intended to be done
                    252: just once, after the disk is complete.
                    253: The directory occupies of the order of 10MB but may be more.
                    254: If you really have to add more files to the disk,
                    255: you need to write zeros on the first 1K block of the WORM before using
                    256: .IR "worm write" .
                    257: .PP
                    258: .I "Worm dir"
                    259: takes the btree directory from the disk and stores in
                    260: .FR /usr/worm/dirs .
                    261: Future uses of the disk will be much faster.
                    262: .PP
                    263: .I "Worm mount"
                    264: returns the device on which the disk labelled
                    265: .I vol_id
                    266: is mounted.
                    267: If the drive(s) are busy and you have a jukebox, the
                    268: .BI -w s
                    269: option tells how many seconds to wait before failing.
                    270: The default is wait forever.
                    271: If no
                    272: .I vol_id
                    273: is given, print the drive status.
                    274: .PP
                    275: .I "Jukebox"
                    276: manages the disks in the SONY jukebox.
                    277: There are several options (default is
                    278: .BR -s ):
                    279: .TP 10
                    280: .B -a
                    281: Allocate a blank disk and label it
                    282: .IR vol_id .
                    283: Use
                    284: .I "worm mkfs"
                    285: to change any fields from their default value.
                    286: .TP
                    287: .B -e
                    288: Eject the disk labeled
                    289: .I vol_id.
                    290: To physically retrieve the disk,
                    291: press the
                    292: .B OUT
                    293: button (the
                    294: .B "OUT READY"
                    295: light should be on).
                    296: Repeat until the
                    297: .B "IN READY"
                    298: light goes on.
                    299: .TP
                    300: .B -m
                    301: Mount the disk labelled
                    302: .I vol_id
                    303: in some drive and print the drive number on standard output.
                    304: .TP
                    305: .B -p
                    306: Print the list of disks in the jukebox.
                    307: .TP
                    308: .B -r
                    309: Rebuild the list of disks by examining each disk in the jukebox.
                    310: Do not do this unless you are sure you need to.
                    311: If
                    312: .I vol_id
                    313: is given, it should be one of the following letters and governs
                    314: how disks are assigned shelf numbers.
                    315: The default is to leave the shelf number unchanged.
                    316: Other options (mainly useful for demos) are
                    317: .B c
                    318: (compresses the disks in the jukebox towards the bottom or lower numbered shelves),
                    319: .B r
                    320: (distributes the disks randomly), and
                    321: .B s
                    322: (sorts the disks by vol_id).
                    323: .TP
                    324: .B -s
                    325: Print the status of the jukebox.
                    326: .TP
                    327: .B -u
                    328: Unload offline disks back onto their shelves.
                    329: .TP
                    330: .B -U
                    331: Unload all disks (offline or not) back onto their shelves.
                    332: .TP
                    333: .BI -w secs
                    334: This option only affects the behavior of
                    335: .BR -m .
                    336: If all drives are busy, try again for
                    337: .I secs
                    338: seconds before failing.
                    339: .PP
                    340: To load a disk into the jukebox, press the
                    341: .B IN
                    342: button on the jukebox when the
                    343: .B "IN READY"
                    344: light is on.
                    345: After the shutter opens, push the disk in firmly.
                    346: The disk (blank or initialised) is not examined immediately but on demand.
                    347: .SS Etiquette
                    348: Vol_ids should be unique as discussed above.
                    349: The file
                    350: .F /n/wild/usr/worm/vol_ids
                    351: contains known vol_ids.
                    352: The commands for reading and writing require vol_id's
                    353: to guard against accessing the wrong disk.
                    354: .PP
                    355: The recommended protocol for changing disks is
                    356: if no one appears to be using the drive
                    357: (by using
                    358: .IR ps (1)),
                    359: execute
                    360: .I "worm offline"
                    361: and go to the drive.
                    362: If, and only if, the drive has the DRIVE OFF (middle) light on,
                    363: hit the EJECT button and change disks.
                    364: If the light is not on, then
                    365: someone is still using the disk and you should wait until they are done
                    366: before hitting EJECT.
                    367: .SS Programming considerations
                    368: Programs should not depend on writing any block more than once; however,
                    369: our SONY optical disks implement a small number of multiple writes
                    370: via bad block replacement.
                    371: A
                    372: .IR read (2)
                    373: of an unwritten block returns with an errno of
                    374: .BR ENXIO .
                    375: On Vaxes, the WORM is an MSCP device;
                    376: thus geometry information can be fetched as in
                    377: .IR ra (4).
                    378: .PP
                    379: For maximum speed, read and write in large blocks (preferably 63K)
                    380: and avoid seeks.
                    381: A seek across the whole disk takes about 1 second.
                    382: .PP
                    383: The device
                    384: .F /dev/worm?
                    385: is simply an appropriate raw
                    386: .IR ra (4)
                    387: device, partition 7 (the whole disk).
                    388: .SH EXAMPLES
                    389: .EX
                    390: worm mkfs -c"512x512x24 movies" tdmoviesa
                    391: worm write tdmoviesa < filenames
                    392: worm read -d tdmoviesa bumblebee/act2/frame1
                    393: .EE
                    394: .SH FILES
                    395: .F /dev/worm?
                    396: .br
                    397: .F /n/wild/usr/worm/vol_ids
                    398: .br
                    399: .F /n/wild/usr/worm/jukedir
                    400: .SH SEE ALSO
                    401: .IR backup (8),
                    402: .IR scsish (8),
                    403: .IR backup (1)
                    404: .SH BUGS
                    405: The output of
                    406: .I "worm ls"
                    407: is not necessarily sorted.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.