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