Annotation of 43BSDReno/share/doc/smm/01.setup/common/4.t, revision 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.