Annotation of 43BSDReno/share/doc/usd/11.notes/3.2, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

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