Annotation of researchv10dc/man/adm/man8/worm.8, revision 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.