|
|
1.1 root 1: .\" @(#)3.2 6.1 (Berkeley) 5/26/86
2: .\"
3: .ls 1
4: .se "Initial Installation & Parameters"
5:
6: Installation of the notesfile system requires
7: the following:
8:
9: .bx
10: .ix
11: A working familiarity with version 7 UNIX (or later)
12: (and UUCP for intersystem transfers).
13: .ix
14: The notesfile distribution tape. (The distribution is already in /usr/src/new/notes,
15: the user-contributed software area, in 4.3BSD).
16: .ix
17: A signon for the notesfile owner.
18: This signon should be in its own group. The notes
19: package runs set-gid; mixing the notes group with other
20: groups is not recommended.
21: .ix
22: An ``anonymous'' signon.
23: This signon should be an unused user-id.
24: The notesfile system prohibits this user-id from reading and
25: writing notes.
26: .ix
27: The ability to write into the directories where the notesfile
28: binaries and data base are to live.
29: .ex
30:
31: Appendix A (``Notesfile Installation Checklist'') is a helpful
32: guide for installing the notesfile system.
33: The distribution is made from a VAX running 4.2 Bsd.
34: In most cases there are only a few files that need to be
35: modified:
36: ``src/parms.h'',
37: ``src/Makefile'',
38: and
39: ``src/newsgate.h'' (if you are interfacing to USENET).
40:
41: First: read in the
42: distribution tape.
43: The tape is a TAR format tape.
44: This will read in several directories worth of data.
45: The ``src'' directory contains all source code for the notesfile
46: system and the internal help files.
47: The ``doc'' directory contains an nroff source for the user manual and
48: the macros that were used to generate it.
49: The ``man'' directory contains the nroff sources
50: for the
51: notesfile manual pages.
52: The ``Samples'' directory is a collection of various system files from our
53: machine;
54: they are included to provide examples in setting the matching files on
55: your system.
56:
57: After the tape has been read in, select the appropriate parameters.
58:
59: .ss "Selecting Appropriate Constants"
60:
61: Before compiling the notesfile system,
62: it must be configured to match your system.
63: The location of spooling directories and command directories,
64: the UNIX kernel,
65: and
66: policies on ``non-standard'' software
67: may require changes in the default configuration.
68:
69: Configuring the notesfile system is accomplished through
70: modifying two files, both in the ``src'' directory of
71: the distribution.
72: The ``parms.h'' file contains information on values for
73: the default archival time,
74: UNIX kernel type,
75: and
76: the behavior of the notesfile system such as whether
77: to keep core images when the notesfile system detects an
78: internal error.
79: The ``Makefile'' file contains definitions
80: of the spooling and command directories,
81: the notesfile ``owner'',
82: and
83: the ``anonymous'' user.
84:
85: The distribution is configured for a UNIX 4.2 BSD system.
86: The most frequently changed values,
87: after the kernel definition,
88: are the notesfile ``owner'' and the location of spooling
89: and command directories.
90:
91: Appendix A (``Notesfile Installation Checklist'')
92: details each of the options in ``parms.h'' and ``Makefile''.
93: It describes the meaning of the option and the effects of
94: changing the value.
95: The recommended method for choosing an appropriate configuration
96: is to sit at a terminal with the checklist and mark each option
97: as it is selected or rejected.
98:
99: .ss "Compiling the Notesfile System"
100:
101: After all the appropriate parameters are set up, the next step is
102: to generate the notesfile system.
103: First, the requisite directories and files
104: in /usr/bin (or wherever) should be manufactured.
105: This procedure should be run exactly once and will probably have to be run
106: by the superuser.
107: To make these files type:
108:
109: .nf
110: make base
111: .fi
112:
113: The next phase should be run while signed in as the notesfile ``owner''.
114: Type:
115:
116: .nf
117: make boot
118: .fi
119:
120: If all goes well, this should end with a message to the effect
121: that the notesfile system has been installed
122: (approximately 17 minutes on a VAX-11/780)
123: If anything goes wrong, perusal of the terminal dialogue should
124: point out the offending steps.
125: The most likely cause of errors will be a missing directory.
126:
127: To replace the notesfile software
128: any time after these two steps have been run, type:
129:
130: .nf
131: make install
132: .fi
133:
134: If at some time you are must change some of the internal constants
135: of the notesfile package (such as string lengths and blocking factors),
136: all the existing notesfiles on your system will be incompatible with the
137: new instantiation of the program.
138: The ``nfdump'' and ``nfload'' programs are useful for converting
139: the data base from one format to another.
140: The ``nfdump'' program should be compiled with the old configuration
141: and the ``nfload'' program should be compiled with the new configuration.
142: Documentation on these programs can be found in the appendices.
143:
144: .ss "User Subroutines"
145:
146: The notesfile package contains several routines available
147: to users in general.
148: The nfabort routine generates a core image, places it in a specified
149: place, logs the fact in a notesfile, and terminates.
150: The nfcomment routine allows users to log text in a notesfile.
151: These routines are useful for debugging information, and communication
152: between program developers and users.
153: Users can load these routines by specifying `-lnfcom' on
154: the `cc' or `ld' command lines.
155:
156: The normal installation procedure (``make install'') will
157: compile the nfcomment routine and place it in the library directory.
158: As distributed, the file is placed in the ``/usr/local/lib'' directory.
159: To change this, modify the definition of ``LIBDIR'' in `Makefile'.
160:
161: .se "Installing the Man(1) Documentation"
162:
163: Install the man(1) pages for the notesfile with the following
164: commands.
165: They are best done as super-user.
166:
167: .nf
168: .ne 2
169: cd man
170: make install
171: .fi
172:
173: The nroff sources for the documentation will be installed in the
174: directory /usr/man in subdirectories man1, man3, and man8.
175:
176: .se "Interfacing to News(I)"
177:
178: The notesfile system interfaces to the news(I)
179: system.
180: The newsinput program parses articles from the news system
181: and inserts them in the appropriate notesfiles.
182: The newsoutput program moves notes from the notesfile system
183: to the news system.
184: Neither program will move text between the two systems if the notesfile
185: is not enabled for networking (see section 3.1.5).
186: Newsoutput will not retransmit articles inserted by newsinput.
187: Sites sharing notesfiles can all run both newsinput and newsoutput.
188:
189: Appendix B contains instructions on how to interface
190: a notesfile system to a news system.
191: Configurations for isolated notesfiles sites, notesfile subnetworks,
192: mapping between notesfile and newsgroup names,
193: and a checklist for the gateway installation are included.
194:
195: Since the notes system stores the
196: entire text of a single notesfile
197: in a single file, a notesfile system uses less space than the
198: same scale news system.
199: The notesfile system is generally more space-efficient
200: than B news.
201:
202: .se "Housekeeping"
203:
204: Notesfiles has a number of utilities to manage its
205: data base.
206: A number of shell scripts are included with the distribution
207: which invoke the archival programs and trim logging files
208: which otherwise grow without bounds.
209: These shell scripts are included in the ``Samples'' subdirectory
210: of the notesfile distribution and
211: can be invoked automatically through cron(8).
212:
213: .ss "Cleaning up Disk Space"
214:
215: When a note or response is deleted, a hole is left in that notesfile.
216: This makes for quick deletion but tends to leave some disk space wasted.
217: The compress option on the director page is one way that this space is
218: reclaimed.
219: The nfarchive program (see section 3.7.2) also returns unused space.
220: Have cron run the nfarchive program weekly to automate
221: space reclamation.
222:
223: .ss "Automatic Removal of Notes"
224:
225: The nfarchive program archives notes untouched for more than
226: a specified number of days.
227: Archived notes and their responses are stored in
228: an ``archive'' notesfile.
229: ``Archive'' notesfiles are typically found in the directory
230: /usr/spool/oldnotes; this may vary between installations.
231: The archives can be accessed automatically using the ``N'' command
232: from the index, note and response displays or
233: by explicitly naming the notesfile
234: (notes /usr/spool/oldnotes/mynotes).
235: The notes are deleted after they have been archived.
236: After the archival, a compression of the notesfile is performed to
237: recover the space formerly occupied by the archived notes.
238: Nfarchive assumes that all months have 30 days and all years have 12 months.
239: The format of the nfarchive command line is:
240:
241: nfarchive [-d] [-m+ or -m-] [-#] [-w#] [-f file] topic
242:
243: The -d option specifies that no archiving is to take place;
244: the notes eligible are to be deleted.
245:
246: The -m option specifies whether to check the director message
247: status before archiving notes.
248: Use ``-m+'' to archive notes which meet the age requirement and have
249: the director message on.
250: The ``-m-'' option archives notes of sufficient age with the director
251: message turned off.
252: If this option is omitted, notes are archived on the basis of age only.
253:
254: The -# option specifies the age of eligible notes. The
255: increment is days.
256: The default is determined by the value of ARCHTIME in `parms.h' and
257: is distributed as fourteen days.
258: Each notesfile can specify a (possibly) different expiration
259: threshold.
260: Normally the notesfile will specify `default' and nfarchive
261: uses the time specified on its command line.
262: Ages specified in a notesfile override the times given on the
263: nfarchive command line.
264:
265: The -w# parameter specifies the working set size to
266: use for notesfiles which do not specify a working set size.
267: This determines a minimum number of notes to remain in a notesfile.
268: If unspecified, the default working set size is 0.
269: This value can be changed through the WORKSETSIZE variable
270: in ``parms.h''.
271:
272: Working sets and expiration thresholds work together
273: in the following manner.
274: Nfarchive first determines a maximum number of notes to delete.
275: This is calculated from the number of notes in the notesfile
276: (total notes minus ``holes'' caused by deletions)
277: and the working set size.
278: The archival program proceeds through the notesfile deleting
279: notes older than the expiration threshold until it runs
280: out of notes or the maximum number of notes has been deleted.
281:
282: The -f option specifies a file containing a list of notesfiles
283: to be archived.
284: Multiple -f parameters are permitted and can be intermixed with
285: `topic' parameters.
286: Notesfile name pattern matching is performed on both `topic' parameters
287: and the entries in a file specified by the -f option.
288:
289: Mapping between an active notesfile and its archive is
290: listed in the file ``.utilities/net.aliases/Archive-into''.
291: This file contains pairs of ABSOLUTE notesfile names
292: (``/usr/spool/notes/mynotes'' instead of ``mynotes'').
293: The first entry specifies the active notesfile;
294: the second entry specifies the archive notesfile.
295: Notesfiles not appearing in the archive mapping file will
296: be placed in ``/usr/spool/oldnotes'' with the same
297: final component as the active notesfile.
298: Conflicts are possible.
299: If unmapped, the notesfiles ``/usr/spool/notes/mynotes'' and
300: ``/some/other/place/mynotes'' will be archived into
301: the same archive ``/usr/spool/oldnotes/mynotes''.
302:
303: .ss "Cleaning Sequencer Files"
304:
305: A tool to remove sequencer entries for deleted users will be
306: included in future releases of the notesfile package.
307: This tool will traverse the sequencer directory removing files
308: belonging to users whose signons no longer exist.
309: The process can be made automatic by including an entry in the cron table.
310:
311: A second sequencer related utility will traverse
312: the sequencer directory
313: and remove entries for deleted notesfiles.
314: A similar user program will be provided to permit users to remove
315: their sequencer entries for notesfiles that they no longer peruse.
316:
317: .ss "Additions to System Boot"
318:
319: Since the notesfile system maintains several lock files to
320: ensure mutual exclusion of each notesfile, a line similar to the following
321: should be added to the /etc/rc or /etc/rc.local file:
322:
323: rm -f /usr/spool/notes/.locks/*
324:
325: Make sure `/usr/spool/notes' matches the MSTDIR parameter in the
326: Makefile.
327: This line will remove any locks left if the system has
328: crashed.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.