Annotation of 43BSDReno/share/doc/smm/01.setup/common/4.t, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980, 1986, 1988 Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted
                      5: .\" provided that the above copyright notice and this paragraph are
                      6: .\" duplicated in all such forms and that any documentation,
                      7: .\" advertising materials, and other materials related to such
                      8: .\" distribution and use acknowledge that the software was developed
                      9: .\" by the University of California, Berkeley.  The name of the
                     10: .\" University may not be used to endorse or promote products derived
                     11: .\" from this software without specific prior written permission.
                     12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     15: .\"
                     16: .\"    @(#)4.t 6.5 (Berkeley) 3/7/89
                     17: .\"
                     18: .de IR
                     19: \fI\\$1\fP\|\\$2
                     20: ..
                     21: .ds LH "Installing/Operating \*(4B
                     22: .nr H1 4
                     23: .nr H2 0
                     24: .ds CF \*(DY
                     25: .ds RH "System setup
                     26: .bp
                     27: .LG
                     28: .B
                     29: .ce
                     30: 4. SYSTEM SETUP
                     31: .sp 2
                     32: .R
                     33: .NL
                     34: .PP
                     35: This section describes procedures used to set up a \*(Mc UNIX system.
                     36: These procedures are used when a system is first installed
                     37: or when the system configuration changes.  Procedures for normal
                     38: system operation are described in the next section.
                     39: .if \n(Vx \{\
                     40: .NH 2
                     41: Creating UNIX boot media
                     42: .PP
                     43: The procedures for making the various UNIX boot media are described in this
                     44: section.  If you have an 8200 or 11/780, you will need to make a floppy.
                     45: For an 11/730, you will need to make a cassette.  For an
                     46: 8600, you will need to make a console RL02 pack.
                     47: .PP
                     48: The boot command files are all set up for booting off of the first
                     49: UNIBUS or MASSBUS.  If you are booting off of a different UNIBUS
                     50: or MASSBUS, you will need to modify the boot command files appropriately.
                     51: .NH 3
                     52: Making a UNIX boot console RL02 pack
                     53: .PP
                     54: If you have an 8600 you will want to create a
                     55: .UX
                     56: boot console RL02 pack by adding some files to your current DEC
                     57: console pack, using
                     58: \fIarff\fP\|(8).
                     59: If you do not want to modify your current DEC console pack, you may
                     60: make a copy of it first using
                     61: \fIdd\fP\|(1).
                     62: This pack will make standalone system operations such as
                     63: bootstrapping much easier.
                     64: .PP
                     65: First change into the directory where the console RL02
                     66: information is stored:
                     67: .DS
                     68: \fB#\fI cd /sys/consolerl\fR
                     69: .DE
                     70: then set up the default boot device.
                     71: If you have an RK07 as your primary root do:
                     72: .DS
                     73: \fB#\fI cp defboo.hk defboo.com\fR
                     74: .DE
                     75: If you have a drive on a UDA50 (e.g. an RA81) as your
                     76: primary root do:
                     77: .DS
                     78: \fB#\fI cp defboo.ra defboo.com\fR
                     79: .DE
                     80: If you have a second vendor
                     81: UNIBUS storage module as your primary root do:
                     82: .DS
                     83: \fB#\fI cp defboo.up defboo.com\fR
                     84: .DE
                     85: Otherwise:
                     86: .DS
                     87: \fB#\fI cp defboo.hp defboo.com\fR
                     88: .DE
                     89: The final step in updating the console RL02 pack is:
                     90: .DS
                     91: \fB#\fI make update\fR
                     92: .DE
                     93: More copies of this console RL02 pack can be made using
                     94: .IR dd (1).
                     95: .NH 3
                     96: Making a UNIX boot floppy
                     97: .PP
                     98: If you have an 8200 or 11/780 you will want to create a
                     99: .UX
                    100: boot floppy by adding some files to a copy of your current DEC
                    101: console floppy, using either
                    102: .IR flcopy (8)
                    103: or
                    104: .IR dd \|(1),
                    105: and using
                    106: .IR arff \|(8).
                    107: This floppy will make standalone system operations such as
                    108: bootstrapping much easier.
                    109: .PP
                    110: First change into the directory where the console floppy
                    111: information is stored:
                    112: .DS
                    113: \fB#\fI cd /sys/floppy\fR
                    114: .DE
                    115: then set up the default boot device.
                    116: If you have an RK07 as your primary root do:
                    117: .DS
                    118: \fB#\fI cp defboo.hk defboo.cmd\fR
                    119: .DE
                    120: If you have a drive on a UDA50 (e.g. an RA81) as your
                    121: primary root do:
                    122: .DS
                    123: \fB#\fI cp defboo.ra defboo.cmd\fR
                    124: .DE
                    125: If you have a second vendor
                    126: UNIBUS storage module as your primary root do:
                    127: .DS
                    128: \fB#\fI cp defboo.up defboo.cmd\fR
                    129: .DE
                    130: If you have a drive on a KDB50 as your primary root do:
                    131: .DS
                    132: \fB#\fI cp defboo.kra defboo.cmd\fR
                    133: .DE
                    134: Otherwise:
                    135: .DS
                    136: \fB#\fI cp defboo.hp defboo.cmd\fR
                    137: .DE
                    138: On an 11/780,
                    139: if the local configuration requires any changes in restar.cmd
                    140: or defboo.cmd (e.g., for interleaved old-style memory controllers see
                    141: defboo.MS780C-interleaved),
                    142: these should be made now.
                    143: The following command will then copy your DEC local console floppy,
                    144: updating the copy appropriately.
                    145: .DS
                    146: \fB#\fI make update\fR
                    147: \fBChange Floppy, Hit return when done.\fP
                    148: (waits for you to put clean floppy in console)
                    149: \fBAre you sure you want to clobber the floppy?\fI yes\fR
                    150: .DE
                    151: More copies of this floppy can be made using
                    152: .IR flcopy (8).
                    153: .PP
                    154: On an 8200, copy any of the DEC diagnostic floppies
                    155: by placing the source in console drive 1 and the destination
                    156: in console drive 2, then:
                    157: .DS
                    158: .\" XXX be sure to put /dev/csa? in root fs, or makedev first
                    159: \fB#\fI dd if=/dev/csa1 of=/dev/csa2 bs=400k\fR 
                    160: \fB1+0 records in\fP
                    161: \fB1+0 records out\fP
                    162: .DE
                    163: Next remove all but the first few files, leaving only those
                    164: that lead up to ``boot58.exe'' (as well as boot58.exe itself).
                    165: It is a good idea to remove
                    166: the original floppy from drive 1 first.
                    167: .DS
                    168: \fB#\fI arff tmf /dev/csa2\fR
                    169: \&...(should list something like ``fg81.ve0'', followed by ``boot58.exe'';
                    170: then a series of files that may be deleted)...\fP
                    171: \fB#\fI arff dmf /dev/csa2\fR files to delete from previous list
                    172: .DE
                    173: Finally, add UNIX boot files:
                    174: .DS
                    175: \fB#\fI arff rmf /dev/csa2 boot format copy *boo.cmd\fR
                    176: .DE
                    177: Put the new boot floppy in drive 1.  To make copies of this floppy,
                    178: use the same
                    179: .I dd
                    180: command shown above.
                    181: .NH 3
                    182: Making a UNIX boot cassette
                    183: .PP
                    184: If you have an 11/730 you will want to create a
                    185: .UX
                    186: boot cassette by adding some files to a copy of
                    187: your current DEC console cassette, using
                    188: \fIflcopy\fP\|(8) and \fIarff\fP\|(8).
                    189: This cassette will make standalone system operations such as
                    190: bootstrapping much easier.
                    191: .PP
                    192: First change into the directory where the console cassette
                    193: information is stored:
                    194: .DS
                    195: \fB#\fI cd /sys/cassette\fR
                    196: .DE
                    197: then set up the default boot device.
                    198: If you have an IDC storage module as your primary root do:
                    199: .DS
                    200: \fB#\fI cp defboo.rb defboo.cmd\fR
                    201: .DE
                    202: If you have an RK07 as your primary root do:
                    203: .DS
                    204: \fB#\fI cp defboo.hk defboo.cmd\fR
                    205: .DE
                    206: If you have a drive on a UDA50 as your primary root do:
                    207: .DS
                    208: \fB#\fI cp defboo.ra defboo.cmd\fR
                    209: .DE
                    210: Otherwise:
                    211: .DS
                    212: \fB#\fI cp defboo.up defboo.cmd\fR
                    213: .DE
                    214: To complete the procedure place your DEC local
                    215: console cassette in 
                    216: drive 0 (the drive at front of the CPU);
                    217: the following command will then copy it,
                    218: updating the copy appropriately.
                    219: .DS
                    220: \fB#\fI make update\fR
                    221: \fBChange Floppy, Hit return when done.\fP
                    222: (waits for you to put clean cassette in console drive 0)
                    223: \fBAre you sure you want to clobber the floppy?\fI yes\fR
                    224: .DE
                    225: More copies of this cassette can best be made using
                    226: .IR dd (1).
                    227: .\}
                    228: .NH 2
                    229: Kernel configuration
                    230: .PP
                    231: This section briefly describes the layout of the kernel code and
                    232: how files for devices are made.
                    233: For a full discussion of configuring
                    234: and building system images, consult the document ``Building
                    235: 4.3BSD UNIX Systems with Config''.
                    236: .NH 3
                    237: Kernel organization
                    238: .PP
                    239: As distributed, the kernel source is in a 
                    240: separate tar image.  The source may be physically
                    241: located anywhere within any file system so long as
                    242: a symbolic link to the location is created for the
                    243: file /sys
                    244: (many files in /usr/include are normally symbolic links
                    245: relative to /sys).  In further discussions of the
                    246: system source all path names will be given relative to
                    247: /sys.
                    248: .PP
                    249: The directory /sys/sys
                    250: contains the mainline machine independent
                    251: operating system code.
                    252: Files within this directory are conventionally
                    253: named with the following prefixes:
                    254: .DS
                    255: .TS
                    256: lw(1.0i) l.
                    257: init_  system initialization
                    258: kern_  kernel (authentication, process management, etc.)
                    259: quota_ disk quotas
                    260: sys_   system calls and similar
                    261: tty_   terminal handling
                    262: ufs_   file system
                    263: uipc_  interprocess communication
                    264: vm_    virtual memory
                    265: .TE
                    266: .DE
                    267: .PP
                    268: The remaining directories are organized as follows:
                    269: .DS
                    270: .TS
                    271: lw(1.0i) l.
                    272: /sys/h machine-independent include files
                    273: /sys/conf      site configuration files and basic templates
                    274: /sys/kdb       machine-independent part of the kernel debugger
                    275: /sys/net       protocol-independent, but network-related code
                    276: /sys/netimp    IMP support code
                    277: /sys/netinet   DARPA Internet code
                    278: /sys/netns     Xerox NS code
                    279: /sys/stand     machine-independent standalone code
                    280: /sys/tahoe     Tahoe-specific mainline code
                    281: /sys/tahoealign        Tahoe unaligned-reference emulation code
                    282: /sys/tahoedist Tahoe distribution files
                    283: /sys/tahoeif   Tahoe network interface code
                    284: /sys/tahoevba  Tahoe VERSAbus device drivers and related code
                    285: /sys/tahoemath Tahoe floating point emulation code
                    286: /sys/tahoestand        Tahoe standalone device drivers and related code
                    287: /sys/vax       VAX-specific mainline code
                    288: /sys/vaxbi     VAX BI device drivers and related code
                    289: /sys/vaxdist   VAX distribution files
                    290: /sys/vaxif     VAX network interface code
                    291: /sys/vaxmba    VAX MASSBUS device drivers and related code
                    292: /sys/vaxstand  VAX standalone device drivers and boot code
                    293: /sys/vaxuba    VAX UNIBUS device drivers and related code
                    294: .TE
                    295: .DE
                    296: .PP
                    297: Many of these directories are referenced through /usr/include with
                    298: symbolic links.  For example, /usr/include/sys is a symbolic
                    299: link to /sys/h.  The system code, as distributed, is totally
                    300: independent of the include files in /usr/include.  This allows
                    301: the system to be recompiled from scratch without the /usr file
                    302: system mounted.
                    303: .NH 3
                    304: Devices and device drivers
                    305: .PP
                    306: Devices supported by UNIX are implemented in the kernel
                    307: by drivers whose source is kept in
                    308: .if \n(Vx \{\
                    309: /sys/vax, /sys/vaxbi, /sys/vaxuba, or /sys/vaxmba.
                    310: .\}
                    311: .if \n(Th \{\
                    312: /sys/tahoe or /sys/tahoevba.
                    313: .\}
                    314: These drivers are loaded
                    315: into the system when included in a cpu specific configuration file
                    316: kept in the conf directory.  Devices are accessed through special
                    317: files in the file system, made by the
                    318: .IR mknod (8)
                    319: program and normally kept in the /dev directory.
                    320: For all the devices supported by the distribution system, the
                    321: files in /dev are created by the /dev/MAKEDEV
                    322: shell script.
                    323: .PP
                    324: Determine the set of devices that you have and create a new /dev
                    325: directory by running the MAKEDEV script.
                    326: First create a new directory
                    327: /newdev, copy MAKEDEV into it, edit the file MAKEDEV.local
                    328: to provide an entry for local needs,
                    329: and run it to generate a /newdev directory.
                    330: .if \n(Vx \{\
                    331: For instance, if your machine has a single DZ11, a single
                    332: DH11, a single DMF32, an RM03 disk, an EMULEX UNIBUS SMD disk controller, an
                    333: AMPEX 9300 disk, and a TE16 tape drive you would do:
                    334: .\}
                    335: .if \n(Th \{\
                    336: For instance, if your machine has a single VIOC terminal
                    337: multiplexor, two CDC 340 megabyte Winchester drives, and
                    338: a single Cipher tape drive you would do:
                    339: .\}
                    340: .DS
                    341: \fB#\fP \fIcd /\fP
                    342: \fB#\fP \fImkdir newdev\fP
                    343: \fB#\fP \fIcp dev/MAKEDEV newdev/MAKEDEV\fP
                    344: \fB#\fP \fIcd newdev\fP
                    345: .if \n(Vx \{\
                    346: \fB#\fP \fIMAKEDEV dz0 dh0 dmf0 hp0 up0 ht0 std LOCAL\fP
                    347: .\}
                    348: .if \n(Th \{\
                    349: \fB#\fP \fIMAKEDEV vx0 dk0 dk1 cy0 std LOCAL\fP
                    350: .\}
                    351: .DE
                    352: Note the ``std'' argument causes standard devices
                    353: such as \fI/dev/console\fP, the machine console,
                    354: .if \n(Vx \{\
                    355: \fI/dev/floppy\fP,
                    356: the console floppy disk interface for the 11/780 and 11/785, and
                    357: \fI/dev/tu0\fP and \fI/dev/tu1\fP, the console cassette interfaces
                    358: for the 11/750 and 11/730,
                    359: .\}
                    360: to be created.
                    361: .PP
                    362: You can then do
                    363: .DS
                    364: \fB#\fP \fIcd /\fP
                    365: \fB#\fP \fImv dev olddev ; mv newdev dev\fP
                    366: \fB#\fP \fIsync\fP
                    367: .DE
                    368: to install the new device directory.
                    369: .NH 3
                    370: Building new system images
                    371: .PP
                    372: The kernel configuration of each UNIX system is described by
                    373: a single configuration file, stored in the \fI/sys/conf\fP directory.
                    374: To learn about the format of this file and the procedure used
                    375: to build system images,
                    376: start by reading ``Building 4.3BSD UNIX Systems with Config'',
                    377: look at the manual pages in section 4
                    378: of the UNIX manual for the devices you have,
                    379: and look at the sample configuration files in the /sys/conf
                    380: directory.
                    381: .PP
                    382: The configured system image ``vmunix'' should be
                    383: copied to the root, and then booted to try it out.
                    384: It is best to name it /newvmunix so as not to destroy
                    385: the working system until you're sure it does work:
                    386: .DS
                    387: \fB#\fP \fIcp vmunix /newvmunix\fP
                    388: \fB#\fP \fIsync\fP
                    389: .DE
                    390: It is also a good idea to keep the previous system around under some other
                    391: name.  In particular, we recommend that you save the generic distribution
                    392: version of the system permanently as \fI/genvmunix\fP for use in emergencies.
                    393: To boot the new version of the system you should follow the
                    394: bootstrap procedures outlined in section 6.1.
                    395: After having booted and tested the new system, it should be installed
                    396: as \fI/vmunix\fP before going into multiuser operation.
                    397: A systematic scheme for numbering and saving old versions
                    398: of the system may be useful.
                    399: .NH 2
                    400: Disk configuration
                    401: .PP
                    402: This section describes how to layout file systems to make use
                    403: of the available space and to balance disk load for better system
                    404: performance.
                    405: .NH 3
                    406: Initializing /etc/fstab
                    407: .PP
                    408: .if \n(Vx \{\
                    409: Change into the directory /etc and copy the appropriate file from:
                    410: .DS
                    411: fstab.rm03
                    412: fstab.rm05
                    413: fstab.rm80
                    414: fstab.ra60
                    415: fstab.ra80
                    416: fstab.ra81
                    417: fstab.rb80
                    418: fstab.rp06
                    419: fstab.rp07
                    420: fstab.rk07
                    421: fstab.up160m (160MB up drives)
                    422: fstab.hp400m (400MB hp drives)
                    423: fstab.up (other up drives)
                    424: fstab.hp (other hp drives)
                    425: .DE
                    426: to the file /etc/fstab, i.e.:
                    427: .DS
                    428: \fB#\fI cd /etc\fR
                    429: \fB#\fI cp \fIfstab.xxx\fP fstab\fR
                    430: .DE
                    431: .PP
                    432: This will set up the default information about the usage of disk
                    433: partitions, which we see how to update more below.
                    434: .\}
                    435: .if \n(Th \{\
                    436: The names of the disks on \*(4B all use the basename \fIdk\fP,
                    437: unlike other systems on the Tahoe.
                    438: Unfortunately, the console processor reads the file \fI/etc/fstab\fP
                    439: and expects disk names that indicate the type of disk drive.
                    440: Therefore, the first line in \fI/etc/fstab\fP is a dummy line
                    441: to satisfy the console processor:
                    442: .DS
                    443: /dev/fsd0a:/:xx:1:1
                    444: .DE
                    445: If your root disk is a type other than \fIfsd\fP,
                    446: edit \fI/etc/fstab\fP to change the first device
                    447: to the appropriate type.
                    448: .\}
                    449: .NH 3
                    450: Disk naming and divisions
                    451: .PP
                    452: Each physical disk drive can be divided into up to 8 partitions;
                    453: UNIX typically uses only 3 or 4 partitions.
                    454: For instance, on an \*(Dn,
                    455: the first partition, \*(Dk0a,
                    456: is used for a root file system, a backup thereof,
                    457: or a small file system like, /tmp;
                    458: the second partition, \*(Dk0b,
                    459: is used for paging and swapping; and
                    460: the third partition, \*(Dk0\*(Pa,
                    461: holds a user file system.
                    462: .if \n(Vx \{\
                    463: On an RM05, the first three partitions
                    464: are used as for the \*(Dn, and the fourth partition, \*(Dk0h,
                    465: holds the /usr file system, including source code.
                    466: .\}
                    467: .if !\n(Th \{\
                    468: .PP
                    469: The disk partition sizes for a drive are based on a
                    470: set of four prototype partition tables; c.f. \fIdiskpart\fP\|(8). 
                    471: The particular
                    472: table used is dependent on the size of the drive.
                    473: The ``a'' partition is the same size across all drives,
                    474: 15884 sectors.  The ``b'' partition, used for paging and
                    475: swapping, is sized according to the total space on the disk.
                    476: For drives less than about 400 megabytes the partition
                    477: is 33440 sectors, while for larger drives the partition size
                    478: is doubled to 66880 sectors.  The ``c'' partition is always
                    479: used to access the entire physical disk, including the space
                    480: at the back of the disk reserved for the bad sector
                    481: forwarding table.  If the disk is larger than about 250 megabytes,
                    482: an ``h'' partition is created with size 291346 sectors, and
                    483: no matter whether the ``h'' partition is created or not, the
                    484: remainder of the drive is allocated to the ``g'' partition.
                    485: Sites that want to split up the ``g'' partition into several
                    486: smaller file systems may use the ``d'', ``e'', and ``f''
                    487: partitions that overlap the ``g'' partition.  The default
                    488: sizes for these partitions are 15884, 55936, and the remainder
                    489: of the disk, respectively*.
                    490: .FS
                    491: * These rules are, unfortunately, not evenly applied to all
                    492: disks.  \fI/etc/disktab\fP, and the pack label or driver tables,
                    493: give the final word; consult section 4 of the manual, and
                    494: read /etc/disktab, for more information.
                    495: .FE
                    496: .PP
                    497: The disk partition sizes for DEC RA60, RA80, and RA81 have
                    498: changed since 4.2BSD.  If upgrading from 4.2BSD,
                    499: you will need to decide if you want
                    500: to use the new partitions or the old partitions.  If you 
                    501: desire to use the old partitions, you will need to label your packs
                    502: as `racompat', or create your own by updating
                    503: /etc/disktab.  Any
                    504: other partition sizes that were modified at your site will
                    505: require the same consideration;
                    506: if the device driver does not support pack labels, you will have to
                    507: update its compiled-in tables as well.
                    508: .\}
                    509: .PP
                    510: The space available on a disk varies per device.  The amount of space
                    511: available on the common disk partitions is listed in the following table.
                    512: Not shown in the table are the partitions of each drive devoted
                    513: to the root file system and the paging area.
                    514: Many other partitions are listed in the standard partitions,
                    515: but most of them are not useful.
                    516: Note that the standard partition tables usually list several alternative
                    517: ways to divide a disk, but that only nonoverlapping partitions may be used
                    518: on any one disk.
                    519: .DS
                    520: .TS
                    521: center;
                    522: l l n l n.
                    523: Type   Name    Size    Name    Size
                    524: _
                    525: .if \n(Vx \{\
                    526: rk07   hk?g    13 Mb
                    527: rm03   hp?g    41 Mb
                    528: rp06   hp?g    145 Mb
                    529: rm05   hp?g    80 Mb   hp?h    145 Mb
                    530: rm80   hp?g    96 Mb
                    531: ra60   ra?g    78 Mb   ra?h    96 Mb
                    532: ra80   ra?g    96 Mb
                    533: ra81   ra?g    257 Mb  ra?h    145 Mb
                    534: rb80   rb?g    41 Mb   rb?h    56 Mb
                    535: rp07   hp?g    315 Mb  hp?h    145 Mb
                    536: up300  up?g    80 Mb   up?h    145 Mb
                    537: up330  up?g    90 Mb   up?h    145 Mb
                    538: up400  hp?g    216 Mb  hp?h    145 Mb
                    539: up160  up?g    106 Mb
                    540: .\}
                    541: .if \n(Th \{\
                    542: xfd    dk?c    225 Mb  dk?g,h  112 Mb
                    543: eagle  dk?c    301 Mb
                    544: fsd    dk?c    106 Mb
                    545: .\}
                    546: .TE
                    547: .DE
                    548: .if \n(Vx \{\
                    549: .LP
                    550: Here up300 refers to either an AMPEX or CDC 300 megabyte disk on a
                    551: MASSBUS or UNIBUS disk controller, up330 refers to either an AMPEX
                    552: or FUJITSU 330 megabyte disk on a MASSBUS or UNIBUS controller,
                    553: up160 refers to a FUJITSU 160 megabyte disk
                    554: on the UNIBUS, and up400 refers to a FUJITSU Eagle 400 megabyte
                    555: disk on a MASBUS or UNIBUS disk controller.  ``hp'' should be
                    556: substituted for ``up'' above if the disk is on the MASSBUS.
                    557: Consult the manual pages for the specific controllers for other
                    558: supported disks or other partitions.
                    559: .PP
                    560: Each disk also has a paging area, typically 16 megabytes, and
                    561: a root file system of 7.5 megabytes.
                    562: .\}
                    563: .if \n(Th \{\
                    564: .PP
                    565: Each disk also has a paging area and a root file system of between 10 and 30
                    566: Megabytes apiece.
                    567: .\}
                    568: .\" XXX check
                    569: The distributed system binaries occupy about 34 megabytes
                    570: .\" XXX check
                    571: while the major sources occupy another 32 megabytes.
                    572: .if \n(Vx \{\
                    573: This overflows dual RK07, dual RL02 and single RM03 systems,
                    574: but fits easily on most other hardware configurations.
                    575: .\}
                    576: .if \n(Th \{\
                    577: This is unlikely to
                    578: overflow even the smallest Tahoe configurations.
                    579: .\}
                    580: .PP
                    581: Be aware that the disks have their sizes
                    582: measured in disk sectors (usually 512 bytes), while the UNIX file
                    583: system blocks are variable sized.  All user programs report
                    584: disk space in kilobytes and, where needed, disk sizes are always
                    585: specified in units of
                    586: sectors.  The /etc/disktab file used in labelling disks and making file systems
                    587: specifies disk partition sizes in sectors; the default sector size
                    588: (DEV_BSIZE as defined in /sys/h/param.h)
                    589: may be overridden with the ``se'' attribute.
                    590: .if \n(Th \{\
                    591: All SMD disks on Tahoe currently use a sector size of 512 bytes.
                    592: .\}
                    593: .NH 3
                    594: Layout considerations
                    595: .PP
                    596: There are several considerations in deciding how
                    597: to adjust the arrangement of things on your disks.
                    598: The most important is making sure that there is adequate space
                    599: for what is required; secondarily, throughput should be maximized.
                    600: Paging space is an important parameter.
                    601: The system, as distributed, sizes the configured
                    602: paging areas each time the system is booted.  Further,
                    603: multiple paging areas of different size may be interleaved.
                    604: .if \n(Vx \{\
                    605: Drives smaller than 400 megabytes have swap partitions of 16 megabytes
                    606: while drives larger than 400 megabytes have 32 megabytes.  These
                    607: values may be changed to get more paging space by changing
                    608: the label (or, if labels are unsupported,
                    609: the appropriate partition table in the disk driver).
                    610: .\}
                    611: .PP
                    612: Many common system programs (C, the editor, the assembler etc.)
                    613: create intermediate files in the /tmp directory,
                    614: so the file system where this is stored also should be made
                    615: large enough to accommodate
                    616: most high-water marks; if you have several disks, it makes
                    617: sense to mount this in a ``root'' (i.e. first partition)
                    618: file system on another disk.
                    619: All the programs that create files in /tmp take
                    620: care to delete them, but are not immune to rare events
                    621: and can leave dregs.
                    622: The directory should be examined every so often and the old
                    623: files deleted.
                    624: .PP
                    625: The efficiency with which UNIX is able to use the CPU
                    626: is often strongly affected by the configuration of disk controllers.
                    627: For general time-sharing applications,
                    628: the best strategy is to try to split the root file system (/), system binaries
                    629: (/usr), the temporary files (/tmp),
                    630: and the user files among several disk arms, and to interleave
                    631: the paging activity among several arms.
                    632: .PP
                    633: It is critical for good performance to balance disk load.
                    634: There are at least five components of the disk load that you can
                    635: divide between the available disks:
                    636: .DS
                    637: 1. The root file system.
                    638: 2. The /tmp file system.
                    639: 3. The /usr file system.
                    640: 4. The user files.
                    641: 5. The paging activity.
                    642: .DE
                    643: The following possibilities are ones we have used at times
                    644: when we had 2, 3 and 4 disks:
                    645: .TS
                    646: center doublebox;
                    647: l | c s s
                    648: l | lw(5) | lw(5) | lw(5).
                    649:        disks
                    650: what   2       3       4
                    651: _
                    652: /      0       0       0
                    653: tmp    1       2       3
                    654: usr    1       1       1
                    655: paging 0+1     0+2     0+2+3
                    656: users  0       0+2     0+2
                    657: archive        x       x       3
                    658: .TE
                    659: .PP
                    660: The most important things to consider are to
                    661: even out the disk load as much as possible, and to do this by
                    662: decoupling file systems (on separate arms) between which heavy copying occurs.
                    663: Note that a long term average balanced load is not important; it is
                    664: much more important to have an instantaneously balanced
                    665: load when the system is busy.
                    666: .PP
                    667: Intelligent experimentation with a few file system arrangements can
                    668: pay off in much improved performance.  It is particularly easy to
                    669: move the root, the
                    670: /tmp
                    671: file system and the paging areas.  Place the
                    672: user files and the
                    673: /usr
                    674: directory as space needs dictate and experiment
                    675: with the other, more easily moved file systems.
                    676: .NH 3
                    677: File system parameters
                    678: .PP
                    679: Each file system is parameterized according to its block size,
                    680: fragment size, and the disk geometry characteristics of the
                    681: medium on which it resides.  Inaccurate specification of the disk
                    682: characteristics or haphazard choice of the file system parameters
                    683: can result in substantial throughput degradation or significant
                    684: waste of disk space.  As distributed,
                    685: file systems are configured according to the following table.
                    686: .DS
                    687: .TS
                    688: center;
                    689: l l l.
                    690: File system    Block size      Fragment size
                    691: _
                    692: /      8 kbytes        1 kbytes
                    693: usr    4 kbytes        1 kbytes
                    694: users  4 kbytes        1 kbytes
                    695: .TE
                    696: .DE
                    697: .PP
                    698: The root file system block size is
                    699: made large to optimize bandwidth to the associated
                    700: disk;  this is particularly important since the
                    701: /tmp directory is normally part of the root file or a similar filesystem.
                    702: The large block size is also
                    703: important as many of the most heavily used programs
                    704: are demand paged out of the /bin directory.  The
                    705: fragment size of 1 kbyte is a ``nominal'' value to use
                    706: with a file system.  With a 1 kbyte fragment size
                    707: disk space utilization is about the same
                    708: as with the earlier versions of the file system.
                    709: .PP
                    710: The usr file system would like to use a 4 kbyte block size
                    711: with 512 byte fragment size in an effort to get high performance
                    712: while conserving the amount of space wasted by a large fragment
                    713: size.  However, the tahoe disk controllers require a minimum
                    714: block size of 1 Kbyte.  Space compaction
                    715: has been deemed important here because the source code
                    716: for the system is normally placed on this file system.
                    717: If the source code is placed on a separate filesystem,
                    718: use of an 8 kbyte block size with 1 kbyte fragments might
                    719: be considered for improved performance when paging from \fI/usr\fP binaries.
                    720: .PP
                    721: The file systems for users have a 4 kbyte block
                    722: size with 1 kbyte fragment size.  These parameters
                    723: have been selected based on observations of the
                    724: performance of our user file systems.  The 4 kbyte
                    725: block size provides adequate bandwidth while the
                    726: 1 kbyte fragment size provides acceptable space compaction
                    727: and disk fragmentation.
                    728: .PP
                    729: Other parameters may be chosen in constructing file
                    730: systems, but the factors involved in choosing a block
                    731: size and fragment size are many and interact in complex
                    732: ways.  Larger block sizes result in better
                    733: throughput to large files in the file system as
                    734: larger I/O requests will then be performed by the
                    735: system.  However,
                    736: consideration must be given to the average file sizes
                    737: found in the file system and the performance of the
                    738: internal system buffer cache.   The system
                    739: currently provides space in the inode for
                    740: 12 direct block pointers, 1 single indirect block
                    741: pointer, and 1 double indirect block pointer.*
                    742: .FS
                    743: * A triple indirect block pointer is also reserved, but
                    744: not currently supported.
                    745: .FE
                    746: If a file uses only direct blocks, access time to
                    747: it will be optimized by maximizing the block size.
                    748: If a file spills over into an indirect block,
                    749: increasing the block size of the file system may
                    750: decrease the amount of space used
                    751: by eliminating the need to allocate an indirect block.
                    752: However, if the block size is increased and an indirect
                    753: block is still required, then more disk space will be
                    754: used by the file because indirect blocks are allocated
                    755: according to the block size of the file system. 
                    756: .PP
                    757: In selecting a fragment size for a file system, at least
                    758: two considerations should be given.  The major performance
                    759: tradeoffs observed are between an 8 kbyte block file system
                    760: and a 4 kbyte block file system.  Because of implementation
                    761: constraints, the block size / fragment size ratio can not
                    762: be greater than 8.  This means that an 8 kbyte file system
                    763: will always have a fragment size of at least 1 kbytes.  If
                    764: a file system is created with a 4 kbyte block size and a
                    765: 1 kbyte fragment size, then upgraded to an 8 kbyte block size
                    766: and 1 kbyte fragment size, identical space compaction will be
                    767: observed.  However, if a file system has a 4 kbyte block size
                    768: and 512 byte fragment size, converting it to an 8K/1K
                    769: file system will result in significantly more space being
                    770: used.  This implies that 4 kbyte block file systems that
                    771: might be upgraded to 8 kbyte blocks for higher performance should
                    772: use fragment sizes of at least 1 kbytes to minimize the amount
                    773: of work required in conversion.
                    774: .PP
                    775: A second, more important, consideration when selecting the
                    776: fragment size for a file system is the level of fragmentation 
                    777: on the disk.  With an 8:1 fragment to block ratio, storage fragmentation
                    778: occurs much sooner, particularly with a busy file system running
                    779: near full capacity.  By comparison, the level of fragmentation in a 
                    780: 4:1 fragment to block ratio file system is one tenth as severe.  This
                    781: means that on file systems where many files are created and
                    782: deleted, the 512 byte fragment size is more likely to result in apparent
                    783: space exhaustion because of fragmentation.  That is, when the file 
                    784: system is nearly full, file expansion that requires locating a
                    785: contiguous area of disk space is more likely to fail on a 512
                    786: byte file system than on a 1 kbyte file system.  To minimize
                    787: fragmentation problems of this sort, a parameter in the super
                    788: block specifies a minimum acceptable free space threshold.  When
                    789: normal users (i.e. anyone but the super-user) attempt to allocate
                    790: disk space and the free space threshold is exceeded, the user is
                    791: returned an error as if the file system were really full.  This
                    792: parameter is nominally set to 10%; it may be changed by supplying
                    793: a parameter to \fInewfs\fP(8), or by updating the super block of an
                    794: existing file system using \fItunefs\fP\|(8).
                    795: .PP
                    796: In general, unless a file system is to be used
                    797: for a special purpose application (for example, storing
                    798: image processing data), we recommend using the
                    799: values supplied above.
                    800: Remember that the current
                    801: implementation limits the block size to at most 8 kbytes
                    802: and the ratio of block size / fragment size must be 1, 2, 4, or 8.
                    803: .PP
                    804: The disk geometry information used by the file system
                    805: affects the block layout policies employed.  The file
                    806: /etc/disktab, as supplied, contains the data for most
                    807: all drives supported by the system.  Before constructing
                    808: a file system with \fInewfs\fP\|(8)
                    809: you should label the disk (if it has not yet been labeled,
                    810: and the driver supports labels).
                    811: If labels cannot be used, you must instead
                    812: specify the type of disk on which the file system resides;
                    813: \fInewfs\fP then reads /etc/disktab instead of the pack label.
                    814: This file also contains the default
                    815: file system partition
                    816: sizes, and default block and fragment sizes.  To
                    817: override any of the default values you can modify the file,
                    818: edit the disk label,
                    819: or use an option to \fInewfs\fP.
                    820: .NH 3
                    821: Implementing a layout
                    822: .PP
                    823: To put a chosen disk layout into effect, you should use the
                    824: .IR newfs (8)
                    825: command to create each new file system.
                    826: Each file system must also be added to the file
                    827: /etc/fstab
                    828: so that it will be checked and mounted when the system is bootstrapped.
                    829: .PP
                    830: As an example, consider a system with \*(Dn's.  On the first \*(Dn, \*(Dk0,
                    831: we will put the root file system in \*(Dk0a, and the /usr
                    832: file system in \*(Dk0\*(pa, which has enough space to hold it and then some.
                    833: The /tmp directory will be part of the root file system,
                    834: as no file system will be mounted on /tmp.
                    835: If we had only one \*(Dn, we would put user files
                    836: in the \*(Dk0\*(pa partition with the system source and binaries.
                    837: .PP
                    838: If we had a second \*(Dn, we would place \fI/usr\fP in \*(Dk1\*(Pa.
                    839: We would put user files in \*(Dk0g, calling the file system /a.
                    840: We would also interleave the paging
                    841: between the 2 \*(Dn's.  To do this we would build a system configuration
                    842: that specified:
                    843: .DS
                    844: config vmunix  root on \*(Dk0 swap on \*(Dk0 and \*(Dk1
                    845: .DE
                    846: to get the swap interleaved, and \fI/etc/fstab\fP would then contain
                    847: .DS
                    848: /dev/\*(Dk0a:/:rw:1:1
                    849: /dev/\*(Dk0b::sw::
                    850: /dev/\*(Dk0g:/a:rw:1:2
                    851: /dev/\*(Dk1b::sw::
                    852: /dev/\*(Dk1g:/usr:rw:1:2
                    853: .DE
                    854: We would keep a backup copy of the root
                    855: file system in the \fB\*(Dk1a\fP disk partition.
                    856: Alternatively, that partition could be used for \fI/tmp\fP.
                    857: .PP
                    858: To make the /a file system we would do:
                    859: .if \n(Th \{\
                    860: .ds Dn eagle
                    861: .\}
                    862: .DS
                    863: \fB#\fP \fIcd /dev\fP
                    864: \fB#\fP \fIMAKEDEV \*(Dk1\fP
                    865: \fB#\fP \fIdisklabel -wr \*(Dk1 \*(Dn "disk name"\fP
                    866: \fB#\fP \fInewfs \*(Dk1\*(Pa\fP
                    867: (information about file system prints out)
                    868: \fB#\fP \fImkdir /a\fP
                    869: \fB#\fP \fImount /dev/\*(Dk1\*(Pa /a\fP
                    870: .DE
                    871: .NH 2
                    872: Configuring terminals
                    873: .PP
                    874: If UNIX is to support simultaneous
                    875: access from directly-connected terminals other than the console,
                    876: the file \fI/etc/ttys\fP (\fIttys\fP\|(5)) must be edited.
                    877: .if \n(Vx \{\
                    878: .PP
                    879: Terminals connected via DZ11 interfaces are conventionally named \fBttyDD\fP
                    880: where DD is a decimal number, the ``minor device'' number.
                    881: The lines on dz0 are named /dev/tty00, /dev/tty01, ... /dev/tty07.
                    882: By convention, all other terminal names are of the form \fBtty\fPCX, where
                    883: C is an alphabetic character according to the type of terminal multiplexor
                    884: and its unit number,
                    885: and X is a digit for the first ten lines on the interface
                    886: and an increasing lower case letter for the rest of the lines.
                    887: C is defined for the number of interfaces of each type listed below.
                    888: .DS
                    889: .TS
                    890: center box;
                    891: c c c c
                    892: c c c c
                    893: l c n n.
                    894: Interface              Number of lines Number of
                    895: Type   Characters      per board       Interfaces
                    896: _
                    897: DZ11   see above       8       10
                    898: DMF32  A-C,E-I 8       8
                    899: DMZ32  a-c,e-g 24      6
                    900: DH11   h-o     16      8
                    901: DHU11  S-Z     16      8
                    902: pty    p-u     16      6
                    903: .TE
                    904: .DE
                    905: .\}
                    906: .if \n(Th \{\
                    907: .PP
                    908: Terminals connected via VIOC-X interfaces are conventionally named tty\fIDD\fP
                    909: where \fIDD\fP is a hexadecimal number, the ``minor device'' number.
                    910: The first digit is the multiplexor unit number, and the second digit
                    911: is the line number.
                    912: For VIOC's with fewer than 16 connectors, the missing unit numbers are unused.
                    913: .PP
                    914: Terminals connected using 16 port MPCC interfaces are conventionally named
                    915: tty\fICD\fP where \fIC\fP is a single upper-case letter and \fID\fP is a
                    916: single hexidecimal digit.  The upper-case letter is the multiplexor unit
                    917: number (with \fIA\fP being mpcc 0) and the hexidecimal digit is the port
                    918: number on that unit.
                    919: .\}
                    920: .PP
                    921: To add a new terminal device, be sure the device is configured into the system
                    922: and that the special files for the device have been made by /dev/MAKEDEV.
                    923: .if \n(Vx \{\
                    924: (For example, use ``cd /dev; MAKEDEV dz1'' to make the special files
                    925: for the second DZ11.)
                    926: .\}
                    927: .if \n(Th \{\
                    928: (For example, use ``cd /dev; MAKEDEV vx1'' to make the special files
                    929: for the second VIOC.)
                    930: .\}
                    931: Then, enable the appropriate lines of /etc/ttys by setting the ``status''
                    932: field to \fBon\fP (or add new lines).
                    933: Note that lines in \fI/etc/ttys\fP are one-for-one with entries
                    934: in the file of current users (\fI/etc/utmp\fP),
                    935: and therefore it is best to make changes
                    936: while running in single-user mode
                    937: and to add all of the entries for a new device at once.
                    938: .if \n(Th \{\
                    939: .PP
                    940: To add mpcc controllers, and additional step is required.  At boot time,
                    941: the firmware for each mpcc controller must be downloaded.  The program
                    942: \fI/etc/dlmpcc\fP must therefore be invoked from \fI/etc/rc.local\fP.
                    943: The file \fI/etc/mpcctab\fP describes each mpcc controller and is used
                    944: by \fI/etc/dlmpcc\fP to determine how many mpcc's are on the system.
                    945: See \fImpcc\fP(4) and \fIdlmpcc\fP(8) for more information.
                    946: .\}
                    947: .PP
                    948: The format of the /etc/ttys file is completely new in 4.3BSD.
                    949: Each line in the file is broken into four tab separated
                    950: fields (comments are shown by a `#' character and extend to
                    951: the end of the line).  For each terminal line the four fields
                    952: are:
                    953: the device (without a leading /dev),
                    954: the program /etc/init should startup to service the line
                    955: (or \fBnone\fP if the line is to be left alone),
                    956: the terminal type (found in /etc/termcap),
                    957: and optional status information describing if the terminal is
                    958: enabled or not and if it is ``secure'' (i.e. the super user should
                    959: be allowed to login on the line).  All fields are character strings
                    960: with entries requiring embedded white space enclosed in double
                    961: quotes.
                    962: Thus a newly added terminal /dev/tty00 could be added as
                    963: .DS
                    964: tty00  "/etc/getty std.9600"   vt100   on secure       # mike's office
                    965: .DE
                    966: The std.9600 parameter provided
                    967: to /etc/getty is used in searching the file /etc/gettytab; it specifies
                    968: a terminal's characteristics (such as baud rate).
                    969: To make custom terminal types, consult 
                    970: .IR gettytab (5)
                    971: before modifying /etc/gettytab.
                    972: .PP
                    973: Dialup terminals should be wired so that carrier is asserted only when the
                    974: phone line is dialed up.
                    975: For non-dialup terminals, from which modem control is not available,
                    976: .if \n(Vx \{\
                    977: you must either wire back the signals so that
                    978: the carrier appears to always be present, or show in the system
                    979: configuration that carrier is to be assumed to be present
                    980: with \fIflags\fP for each terminal device.  See
                    981: .IR dh (4),
                    982: .IR dhu (4),
                    983: .IR dz (4),
                    984: .IR dmz (4),
                    985: and
                    986: .IR dmf (4)
                    987: for details.
                    988: .\}
                    989: .if \n(Th \{\
                    990: you must wire back the signals so that
                    991: the carrier appears to always be present.  For further details, see
                    992: .IR vx (4),
                    993: .IR mpcc (4),
                    994: and
                    995: .IR dlmpcc (8).
                    996: .\}
                    997: .PP
                    998: For network terminals (i.e. pseudo terminals), no program should
                    999: be started up on the lines.  Thus, the normal entry in /etc/ttys
                   1000: would look like
                   1001: .DS
                   1002: ttyp0  none    network
                   1003: .DE
                   1004: (Note, the fourth field is not needed here.)
                   1005: .PP
                   1006: When the system is running multi-user, all terminals that are listed
                   1007: in /etc/ttys as \fBon\fP have their line enabled.
                   1008: If, during normal operations, you wish
                   1009: to disable a terminal line, you can edit the file
                   1010: /etc/ttys
                   1011: to change the terminal's status to \fBoff\fP and
                   1012: then send a hangup signal to the \fIinit\fP process, by doing
                   1013: .DS
                   1014: \fB#\fP \fIkill \-1 1\fP
                   1015: .DE
                   1016: Terminals can similarly be enabled by changing the status field
                   1017: from \fBoff\fP to \fBon\fP and sending a hangup signal to \fIinit\fP.
                   1018: .PP
                   1019: Note that if a special file is inaccessible when \fIinit\fP tries
                   1020: to create a process for it, init will log a message to the
                   1021: system error logging process (/etc/syslogd)
                   1022: and try to reopen the terminal every minute, reprinting the warning
                   1023: message every 10 minutes.  Messages of this sort are normally
                   1024: printed on the console, though other actions may occur depending
                   1025: on the configuration information found in /etc/syslog.conf.
                   1026: .PP
                   1027: Finally note that you should change the names of any dialup
                   1028: terminals to ttyd?
                   1029: where ? is in [0-9a-zA-Z], as some programs use this property of the
                   1030: names to determine if a terminal is a dialup.
                   1031: Shell commands to do this should be put in the /dev/MAKEDEV.local
                   1032: script.
                   1033: .PP
                   1034: While it is possible to use truly arbitrary strings for terminal names,
                   1035: the accounting and noticeably the
                   1036: \fIps\fP\|(1)
                   1037: command make good use of the convention that tty names
                   1038: (by default, and also after dialups are named as suggested above)
                   1039: are distinct in the last 2 characters. 
                   1040: Change this and you may be sorry later, as the heuristic
                   1041: \fIps\fP\|(1)
                   1042: uses based on these conventions will then break down and \fIps\fP will
                   1043: run MUCH slower.
                   1044: .NH 2
                   1045: Adding users
                   1046: .PP
                   1047: The procedure for adding a new user is described in \fIadduser\fP(8).
                   1048: You should add accounts for the initial user community, giving
                   1049: each a directory and a password, and putting users who will wish
                   1050: to share software in the same groups.
                   1051: .PP
                   1052: Several guest accounts have been provided on the distribution
                   1053: system; these accounts are for people at Berkeley, 
                   1054: Bell Laboratories, and others
                   1055: who have done major work on UNIX in the past.  You can delete these accounts,
                   1056: or leave them on the system if you expect that these people would have
                   1057: occasion to login as guests on your system.
                   1058: .NH 2
                   1059: Site tailoring
                   1060: .PP
                   1061: All programs that require the site's name, or some similar
                   1062: characteristic, obtain the information through system calls
                   1063: or from files located in /etc.  Aside from parts of the
                   1064: system related to the network, to tailor the system to your
                   1065: site you must simply select a site name, then edit the file
                   1066: .DS
                   1067: /etc/netstart
                   1068: .DE
                   1069: The first lines in /etc/netstart use a variable to set the hostname,
                   1070: .DS
                   1071: hostname=\fImysitename\fP
                   1072: /bin/hostname $hostname
                   1073: .DE
                   1074: to define the value returned by the 
                   1075: .IR gethostname (2)
                   1076: system call.  If you are running the name server, your site
                   1077: name should be your fully qualified domain name.  Programs such as
                   1078: .IR getty (8),
                   1079: .IR mail (1),
                   1080: .IR wall (1),
                   1081: and
                   1082: .IR uucp (1)
                   1083: use this system call so that the binary images are site
                   1084: independent.
                   1085: .NH 2
                   1086: Setting up the line printer system
                   1087: .PP
                   1088: The line printer system consists of at least
                   1089: the following files and commands:
                   1090: .DS
                   1091: .TS
                   1092: l l.
                   1093: /usr/ucb/lpq   spooling queue examination program
                   1094: /usr/ucb/lprm  program to delete jobs from a queue
                   1095: /usr/ucb/lpr   program to enter a job in a printer queue
                   1096: /etc/printcap  printer configuration and capability data base
                   1097: /usr/lib/lpd   line printer daemon, scans spooling queues
                   1098: /etc/lpc       line printer control program
                   1099: /etc/hosts.lpd list of host allowed to use the printers
                   1100: .TE
                   1101: .DE
                   1102: .PP
                   1103: The file /etc/printcap is a master data base describing line
                   1104: printers directly attached to a machine and, also, printers
                   1105: accessible across a network.  The manual page
                   1106: .IR printcap (5)
                   1107: describes the format of this data base and also
                   1108: shows the default values for such things as the directory
                   1109: in which spooling is performed.  The line printer system handles
                   1110: multiple printers, multiple spooling queues, local and remote
                   1111: printers, and also printers attached via serial lines that require
                   1112: line initialization such as the baud rate.  Raster output devices
                   1113: such as a Varian or Versatec, and laser printers such as an Imagen,
                   1114: are also supported by the line printer system.
                   1115: .PP
                   1116: Remote spooling via the network is handled with two spooling
                   1117: queues, one on the local machine and one on the remote machine.
                   1118: When a remote printer job is started with
                   1119: .IR lpr ,
                   1120: the job is
                   1121: queued locally and a daemon process created to oversee the
                   1122: transfer of the job to the remote machine.  If the destination
                   1123: machine is unreachable, the job will remain queued until it is
                   1124: possible to transfer the files to the spooling queue on the
                   1125: remote machine.  The
                   1126: .I lpq 
                   1127: program shows the contents of spool
                   1128: queues on both the local and remote machines.
                   1129: .PP
                   1130: To configure your line printers, consult the printcap manual page
                   1131: and the accompanying document, ``4.3BSD Line Printer Spooler Manual''.
                   1132: A call to the
                   1133: .I lpd
                   1134: program should be present in /etc/rc.
                   1135: .NH 2
                   1136: Setting up the mail system
                   1137: .PP
                   1138: The mail system consists of the following commands:
                   1139: .DS
                   1140: .TS
                   1141: l l.
                   1142: /bin/mail      old standard mail program, described in \fIbinmail\fP\|(1)
                   1143: /usr/ucb/mail  UCB mail program, described in \fImail\fP\|(1)
                   1144: /usr/lib/sendmail      mail routing program
                   1145: /usr/spool/mail        mail spooling directory
                   1146: /usr/spool/secretmail  secure mail directory
                   1147: /usr/bin/xsend secure mail sender
                   1148: /usr/bin/xget  secure mail receiver
                   1149: /usr/lib/aliases       mail forwarding information
                   1150: /usr/ucb/newaliases    command to rebuild binary forwarding database
                   1151: /usr/ucb/biff  mail notification enabler
                   1152: /etc/comsat    mail notification daemon
                   1153: .TE
                   1154: .DE
                   1155: Mail is normally sent and received using the
                   1156: .IR mail (1)
                   1157: command (found in /usr/ucb/mail),
                   1158: which provides a front-end to edit the messages sent
                   1159: and received, and passes the messages to
                   1160: .IR sendmail (8)
                   1161: for routing.
                   1162: The routing algorithm uses knowledge of the network name syntax,
                   1163: aliasing and forwarding information, and network topology, as
                   1164: defined in the configuration file /usr/lib/sendmail.cf, to
                   1165: process each piece of mail.
                   1166: Local mail is delivered by giving it to the program /bin/mail
                   1167: that adds it to the mailboxes in the directory /usr/spool/mail/\fIusername\fP,
                   1168: using a locking protocol to avoid problems with simultaneous updates.
                   1169: After the mail is delivered, the local mail delivery daemon /etc/comsat
                   1170: is notified, which in turn notifies
                   1171: users who have issued a ``\fIbiff\fP y'' command that mail has arrived.
                   1172: .PP
                   1173: Mail queued in the directory /usr/spool/mail is normally readable
                   1174: only by the recipient.  To send mail that is secure against perusal
                   1175: (except by a code-breaker) you should use the secret mail facility,
                   1176: which encrypts the mail.
                   1177: .PP
                   1178: To set up the mail facility you should read the instructions in the
                   1179: file READ_ME in the directory /usr/src/usr.lib/sendmail and then adjust
                   1180: the necessary configuration files.
                   1181: You should also set up the file /usr/lib/aliases for your installation,
                   1182: creating mail groups as appropriate.  Documents describing 
                   1183: .IR sendmail 's
                   1184: operation and installation are also included in the distribution.
                   1185: .NH 3
                   1186: Setting up a UUCP connection
                   1187: .PP
                   1188: The version of \fIuucp\fP included in \*(4B is a greatly
                   1189: enhanced version of the one originally distributed with 32/V*.
                   1190: .FS
                   1191: * The \fIuucp\fP included in this distribution is the result
                   1192: of work by many people; we gratefully acknowledge their
                   1193: contributions, but refrain from mentioning names in the 
                   1194: interest of keeping this document current.
                   1195: .FE
                   1196: The enhancements include:
                   1197: .IP \(bu 3
                   1198: support for many auto call units and dialers
                   1199: in addition to the DEC DN11,
                   1200: .IP \(bu 3
                   1201: breakup of the spooling area into multiple subdirectories,
                   1202: .IP \(bu 3
                   1203: addition of an \fIL.cmds\fP file to control the set
                   1204: of commands that may be executed by a remote site,
                   1205: .IP \(bu 3
                   1206: enhanced ``expect-send'' sequence capabilities when
                   1207: logging in to a remote site,
                   1208: .IP \(bu 3
                   1209: new commands to be used in polling sites and
                   1210: obtaining snap shots of \fIuucp\fP activity,
                   1211: .IP \(bu 3
                   1212: additional protocols for different communication media.
                   1213: .LP
                   1214: This section gives a brief overview of \fIuucp\fP
                   1215: and points out the most important steps in its installation.
                   1216: .PP
                   1217: To connect two UNIX machines with a \fIuucp\fP network link using modems,
                   1218: one site must have an automatic call unit
                   1219: and the other must have a dialup port.
                   1220: It is better if both sites have both.
                   1221: .PP
                   1222: You should first read the paper in the UNIX System Manager's Manual:
                   1223: ``Uucp Implementation Description''.
                   1224: It describes in detail the file formats and conventions,
                   1225: and will give you a little context.
                   1226: In addition,
                   1227: the document ``setup.tblms'',
                   1228: located in the directory /usr/src/usr.bin/uucp/UUAIDS,
                   1229: may be of use in tailoring the software to your needs.
                   1230: .PP
                   1231: The \fIuucp\fP support is located in three major directories:
                   1232: /usr/bin,
                   1233: /usr/lib/uucp,
                   1234: and /usr/spool/uucp.
                   1235: User commands are kept in /usr/bin,
                   1236: operational commands in /usr/lib/uucp,
                   1237: and /usr/spool/uucp is used as a spooling area.
                   1238: The commands in /usr/bin are:
                   1239: .DS
                   1240: .TS
                   1241: l l.
                   1242: /usr/bin/uucp  file-copy command
                   1243: /usr/bin/uux   remote execution command
                   1244: /usr/bin/uusend        binary file transfer using mail
                   1245: /usr/bin/uuencode      binary file encoder (for \fIuusend\fP)
                   1246: /usr/bin/uudecode      binary file decoder (for \fIuusend\fP)
                   1247: /usr/bin/uulog scans session log files
                   1248: /usr/bin/uusnap        gives a snap-shot of \fIuucp\fP activity
                   1249: /usr/bin/uupoll        polls remote system until an answer is received
                   1250: /usr/bin/uuname        prints a list of known uucp hosts
                   1251: /usr/bin/uuq   gives information about the queue
                   1252: .TE
                   1253: .DE
                   1254: The important files and commands in /usr/lib/uucp are:
                   1255: .DS
                   1256: .TS
                   1257: l l.
                   1258: /usr/lib/uucp/L-devices        list of dialers and hard-wired lines
                   1259: /usr/lib/uucp/L-dialcodes      dialcode abbreviations
                   1260: /usr/lib/uucp/L.aliases        hostname aliases
                   1261: /usr/lib/uucp/L.cmds   commands remote sites may execute
                   1262: /usr/lib/uucp/L.sys    systems to communicate with, how to connect, and when
                   1263: /usr/lib/uucp/SEQF     sequence numbering control file
                   1264: /usr/lib/uucp/USERFILE remote site pathname access specifications
                   1265: /usr/lib/uucp/uucico   \fIuucp\fP protocol daemon
                   1266: /usr/lib/uucp/uuclean  cleans up garbage files in spool area
                   1267: /usr/lib/uucp/uuxqt    \fIuucp\fP remote execution server
                   1268: .TE
                   1269: .DE
                   1270: while the spooling area contains the following important files and directories:
                   1271: .DS
                   1272: .TS
                   1273: l l.
                   1274: /usr/spool/uucp/C.     directory for command, ``C.'' files
                   1275: /usr/spool/uucp/D.     directory for data, ``D.'', files
                   1276: /usr/spool/uucp/X.     directory for command execution, ``X.'', files
                   1277: /usr/spool/uucp/D.\fImachine\fP        directory for local ``D.'' files
                   1278: /usr/spool/uucp/D.\fImachine\fPX       directory for local ``X.'' files
                   1279: /usr/spool/uucp/TM.    directory for temporary, ``TM.'', files
                   1280: /usr/spool/uucp/LOGFILE        log file of \fIuucp\fP activity
                   1281: /usr/spool/uucp/SYSLOG log file of \fIuucp\fP file transfers
                   1282: .TE
                   1283: .DE
                   1284: .PP
                   1285: To install \fIuucp\fP on your system,
                   1286: start by selecting a site name
                   1287: (shorter than 14 characters).  
                   1288: A \fIuucp\fP account must be created in the password file and a password set up.
                   1289: Then,
                   1290: create the appropriate spooling directories with mode 755
                   1291: and owned by user \fIuucp\fP, group \fIdaemon\fP.
                   1292: .PP
                   1293: If you have an auto-call unit,
                   1294: the L.sys, L-dialcodes, and L-devices files should be created.
                   1295: The L.sys file should contain
                   1296: the phone numbers and login sequences
                   1297: required to establish a connection with a \fIuucp\fP daemon on another machine.
                   1298: For example, our L.sys file looks something like:
                   1299: .DS
                   1300: adiron Any ACU 1200 out0123456789- ogin-EOT-ogin uucp
                   1301: cbosg Never Slave 300
                   1302: cbosgd Never Slave 300
                   1303: chico Never Slave 1200 out2010123456
                   1304: .DE
                   1305: The first field is the name of a site,
                   1306: the second shows when the machine may be called,
                   1307: the third field specifies how the host is connected
                   1308: (through an ACU, a hard-wired line, etc.),
                   1309: then comes the phone number to use in connecting through an auto-call unit,
                   1310: and finally a login sequence.
                   1311: The phone number
                   1312: may contain common abbreviations that are defined in the L-dialcodes file.
                   1313: The device specification should refer to devices
                   1314: specified in the L-devices file.
                   1315: Listing only ACU causes the \fIuucp\fP daemon, \fIuucico\fP,
                   1316: to search for any available auto-call unit in L-devices.
                   1317: Our L-dialcodes file is of the form:
                   1318: .DS
                   1319: ucb 2
                   1320: out 9%
                   1321: .DE
                   1322: while our L-devices file is:
                   1323: .DS
                   1324: ACU cul0 unused 1200 ventel
                   1325: .DE
                   1326: Refer to the README file in the \fIuucp\fP source directory
                   1327: for more information about installation.
                   1328: .PP
                   1329: As \fIuucp\fP operates it creates (and removes) many small
                   1330: files in the directories underneath /usr/spool/uucp.
                   1331: Sometimes files are left undeleted;
                   1332: these are most easily purged with the \fIuuclean\fP program.
                   1333: The log files can grow without bound unless trimmed back;
                   1334: \fIuulog\fP maintains these files.
                   1335: Many useful aids in maintaining your \fIuucp\fP installation
                   1336: are included in a subdirectory UUAIDS beneath /usr/src/usr.bin/uucp.
                   1337: Peruse this directory and read the ``setup'' instructions also located there.

unix.superglobalmegacorp.com

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