|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.