Annotation of 43BSDTahoe/new/notes/doc/3.2, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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