Subject: v07i046: 2.11 News Documentation and Conversion, Part06/08 Newsgroups: mod.sources Approved: mirror!rs Submitted by: seismo!rick (Rick Adams) Mod.sources: Volume 7, Issue 46 Archive-name: 2.11news/Part06 # To extract, sh this file # # news 2.11 documentation File 4 of 6 # if test ! -d doc then mkdir doc fi echo x - doc/install.mn 1>&2 sed 's/.//' >doc/install.mn <<'*-*-END-of-install.mn-*-*' -.ds h0 "USENET Version B Installation -.ds h1 -.ds h2 % -.ds f0 "\*(vr -.ds f1 -.ds f2 "October 27, 1986 -.de Qp \" quoted command as hanging char -.lp "\\f3\\$1\\f1" \\$2 -.. -.mt -USENET Version B Installation -.au -Matt Glickman -.ai -Computer Science Division -Department of Electrical Engineering and Computer Sciences -University of California -Berkeley, California 94720 -.au -Revised by Mark Horton for version 2.10 -Revised by Rick Adams for version 2.11 -.hn -Introduction -.pg -This document is intended to help -a USENET site install and maintain the network news software. -Please ask questions of Rick Adams\*(dg; -.fn -\*(dg ARPANET: rick@seismo.CSS.GOV, UUCP: seismo!rick -.ef -such questions will help to point out areas that need -to be addressed here. -.pg -The overall order of things to do is: -.lp (a) -Find somebody to link up with. -You need a network connection of some kind, -for example, -ARPANET or UUCP. -If you must use UUCP and have no connections, -you must have at least a dialup and preferably a dialer, -and find someone willing to call your machine. -The USENET directory may be helpful in finding some other site geographically -near yours to hook up to. -.lp (b) -Create a -.i localize.sh -script to make local changes to the makefile and -.i defs.h -files. (Section 2 gives more details about creating -.i localize.sh \&.) -Once you're finished editing -.i localize.sh , -create a -.i defs.h -and -.i Makefile -tailored -for your site with the command -.ce -sh localize.sh -Inspect -.i defs.h -and -.i Makefile -to ensure that all your local customizations -got into your final versions. If you saw a \*(lq?\*(rq when you ran -.i localize.sh , -one or both of the files is certainly wrong. It's a good idea to -anchor the patterns in -.i localize.sh \&'s -.i ed (1) -scripts, especially in its -.i Makefile -editing -lines. For instance, use -.b /^UUXFLAGS/ -instead of -.b /UUXFLAGS/ . -.lp (c) -Compile the software using the -.i make (1) -command. -.lp (d) -.i Su (1) -and type \*(lqmake install\*(rq. -This will copy the files out to the right place and -make directories containing most of the important files. -It will configure you in with a connection to -.cn oopsvax -via UUCP links. -This is undoubtedly wrong, -so you will have to configure links as needed. -If this is your initial installation or you are upgrading from a version older -than 2.11, do \*(lqmake update\*(rq. -This will cause various checks to be performed on important -files in -.b LIBDIR . -The results will be reported to you. -If you are not sure if you should do \*(lqmake update\*(rq, do it. -It will not hurt anything if you have already done it. -.lp (e) -After editing the configuration table, -get your contact at the other end of the link to add you to their netnews -.i sys -file. -.lp (f) -Post a message to the -.bi sysname "" \f3to.\fP -newsgroup which should be set up to go only to the site you are linked to, -as a test. -Have the other person send a message to your system using the same mechanism. -If this doesn't work, -find the problem and fix it. -(Please don't use -.ng misc.test -unless there is no alternative. -It is almost always possible to use -.ng test , -or -.bi sysname "" \f3to.\fP -or some -.bi local \f3.test\fP -group, -instead of -.ng misc.test .) -.lp (g) -Fill out a USENET directory form (the file -.i dirform -in the -.i misc -directory). -Post a copy to the USENET newsgroup -.ng news.newsite -and mail a copy to -.i cbosgd!uucpmap . -.lp (h) -Format the document -.i "\\*(lqHow to Read the Network News\\*(rq" -(the file -.i howto.mn -in the -.i doc -directory), -the document -.i "\\*(lqHow to Use USENET Effectively\\*(rq" -(the file -.i manner.mn -in the -.i doc -directory) -and the document -.i "\\*(lqCopyright Law\\*(rq" -(the file -.i copyright.mn -in the -.i doc -directory) -and post them to your -.ng general -newsgroup with a long expiration date. -You can use -.i inews (1) -or -.i postnews (1) -to do this. -.lp (i) -It will probably be necessary to fix your uucp commands -to allow -.i rnews -and to support the -.op \-z -and -.op \-n -options (if you are lucky enought to have the source). -.hn -Installation -.hn 2 -Configuration -.pg -Local configuration of the USENET -version B software requires you to edit a few files. -Most importantly, -the -.i defs.h -and -.i Makefile -files must be created from their templates -.i defs.dist -and -.i Makefile.dst . -You should create a shell script called -.i localize.sh -which copies the files and makes local changes to the copies. -Even for a completely vanilla site, -some changes will be necessary. -For example, -your script should start with -.i localize.v7 -or -.i localize.usg . -You should include the name of the local organization -.b MYORG ) ( -and the uid of the local news super user -.b ROOTID ). ( -You should also choose how your hostname will be determined. -If you are a USG site, -define -.b UNAME -in -.i defs.h . -If you are -running 4.[23] BSD, -define -.b GHNAME -in -.i defs.h . -If you have your UUCP name in a file, -define -.b UUNAME -in -.i defs.h -to the name of that file. -Otherwise, -news will look in the file -.i /usr/include/whoami.h -for a line of the form -.sd c -#define sysname your-sysname -.ed -.pg -If you are running System 3 or System 5, -you are a USG site. -Otherwise, -unless you are in AT&T, -you are probably a V7 site. -The previously mentioned defines are the only modifications that are -.i necessary -to install news at your site. -However, -you will probably want to change some of the ones listed below. -If your compiler does not accept \*(lq(void)\*(rq, -the simplest thing to do is add \*(lq\-Dvoid=int\*(rq to the -.b CFLAGS -line in the -.i Makefile . -.pg -A sample localize shell script can be found in -.i localize.sample . -The most important parameters are: -.hn 3 -ROOTID -.pg -The numerical uid of the person who is the news super user. -This should not be set to 0. -Normally it is set to the uid of the news contact person for the site. -If it is not defined, -the uid of -.b NOTIFY -will be looked up in -.i /etc/passwd -and used instead. -.hn 3 -N_UMASK -.pg -Mask for -.i umask (2) -system call. -Set it to something like 022 for a secure system. -Unsecure systems might want 002 or 000. -This mask controls the mode of news files created by the software. -Insecure modes would allow people to edit the files directly. -.hn 3 -DFLTEXP -.pg -The default number of seconds after which an article will expire. -Two weeks (1,209,600 seconds) is the default choice. -If you wish to expire articles faster than two weeks, -it is recommended that you use the -.op \-e -flag to expire instead of decreasing -.b DFLTEXP . -.hn 3 -HISTEXP -.pg -Articles which were posted more than -.b HISTEXP -ago are considered too old and are moved into the -.ng junk -directory. -This is because they are too old to be in the history file, -so it is impossible to tell if they really should be accepted -or are endlessly looping around the network. -(This was theoretically possible before this feature was added.) -The articles are removed after -.b DFLTEXP -seconds, -but a copy of their -.hf Message-ID -is kept in the history file for -.b HISTEXP -seconds (the default is 4 weeks). -If you are a -.i leaf -node, you do not need to have -.b HISTEXP -longer than -.b DFLTEXP . -However, major nodes with more than one news feed should have -.b HISTEXP -set to the default 4 weeks if possible. - -.hn 3 -DFLTSUB -.pg -The default subscription list. -If a user does not specify any list of newsgroups, -this will be used. -Popular choices are -.ng all -and -.ng general\f1,\fPall.general . -.hn 3 -TMAIL -.pg -This is the version of the Berkeley -.i Mail (1) -program that has the -.op \-T -option. -If left undefined, -the -.op \-M -option to -.i readnews (1) -will be disabled. -.hn 3 -ADMSUB -.pg -This newsgroup (or newsgroup list) will always be selected -unless the user specifies a newsgroup list that doesn't include -.b ADMSUB -on the command line. -That is, -as long as the user doesn't use the -.op \-n -flag to -.i readnews -on the command line, -.b ADMSUB -will always be selected. -This is usually set to -.ng general,all.announce . -(The intent of this parameter is to have certain newsgroups -which users are required to subscribe to. -A typical site might require -.op general .) -.hn 3 -PAGE -.pg -The default program to which articles should be piped for paging. -This can be disabled or changed by the environment variable -.b PAGER . -If you have it, -the Berkeley -.i more (1) -command should be used, -since the -.op + -option allows the headers to be skipped. -.hn 3 -NOTIFY -.pg -If defined, -this character string will be used as a user name to send mail -to in the event of certain control messages of interest. -(Currently these are -.b newgroup , -.b rmgroup , -.b sendsys , -.b checkgroups , -and -.b senduuname .) -As distributed, -mail will be sent to user -.i usenet . -It is recommended you create such a mailbox -(have it forwarded to yourself) if possible, -since this makes it easier for another site -to contact the site administrator for your site. -If you are unable to do this -.i e\f1.\fPg ., ( -you are not the super user) -you should change this name to yourself. -Also, -messages about missing or extra newsgroups are mailed to this user -by the -.b checkgroups -control message. -.hn 3 -DFTXMIT -.pg -This is the default command to use to transmit news -if no explicit command is given in the fourth field of the -.i sys -file. -It normally includes -.i uux (1) -with the -.op \-z -option. -You should install this modification to UUCP at once; -otherwise your users will be bombarded with annoying -.i uux -completion messages. -However, -you can turn this off to get news installed. -.hn 3 -UXMIT -.pg -This is the default command used if the -.b U -flag is present in the flags portion of a -.i sys -file line. -In this case, -the second \*(lq%s\*(rq refers to the name of a file in the news spool area, -not a temporary file. -It can usually only be used -when local modifications are made to the uucp system, -such as the -.op \-c -option to -.i uux . -.hn 3 -DFTEDITOR -.pg -This is the full path name of the default editor to use -during followups and replies. -It should be set to the most popular text editor on your system. -As distributed, -.i vi (1) -is used. -.hn 3 -UUPROG -.pg -If this is defined, -it will be used as a command to run when the -.b senduuname -control message is sent around. -Otherwise the command -.i uuname (1) -will be run. -Normally, -this program should be placed in -.b LIBDIR . -.hn 3 -MANUALLY -.pg -If this is defined, -incoming -.b rmgroup -messages will not automatically remove the group. -News will instead mail a message to -.b NOTIFY -advising that the group should be removed. -If you define -.b MANUALLY , -you should have -.b NOTIFY -defined. -.b MANUALLY -is defined by default to protect you against -accidental or malicious removal of an important newsgroup. -.hn 3 -NONEWGROUPS -.pg -If this is defined, incoming -.b newgroup -messages will not automatically create the group. -News will instead mail a message to -.b NOTIFY -advising that the group should be created. -If you define -.b NONEWGROUPS , -you should have -.b NOTIFY -defined. -.b NONEWGROUPS -is undefined by default to make it easier to automatically maintain the -news system. -.hn 3 -BATCH -.pg -If set, -this is the name of a program that will be used to unpack -batched articles (those beginning with the character \*(lq#\*(rq). -Batched articles normally are files reading -.sd c -#! rnews 1234 -article containing 1234 characters -#! rnews 4321 -article containing 4321 characters -\\&. . . -.ed -Batching is -.i strongly -recommended for increased efficiency on both sides. -.hn 3 -SPOOLNEWS -.pg -If this is defined, all incoming news -.i inews "" ( -or -.i rnews ) -will be placed in the directory -.b SPOOLDIR \f2/.rnews\fP -for later processing by -.i "rnews \-U" . -This is useful when you want to appear to accept incoming news -as soon as it arrives (to get it out of the -.i uuxqt -queue for example), but want to defer the actual processing until -later. If you define this option, make sure you invoke -.i "rnews \-U" -from -.i crontab -regularly or you may wonder where your news is going! -.hn 3 -LOCALNAME -.pg -Most systems have a full name database on line somewhere, -showing for each user what their full name is. -Most often this is in the gecos field of -.i /etc/passwd . -If your system has such a database, -.b LOCALNAME -should be left undefined. -If not, -define -.b LOCALNAME , -and articles posted will only receive full names from local user information -specified in -.i NAME -or -.bi $HOME \f2/.name\fP -by the user. -If you have a nonstandard gcos format -(not -.i finger (1) -or RJE) -it will be necessary to make local changes to -.i fullname.c -as appropriate on your system. -.hn 3 -INTERNET -.pg -If this is defined, replies will use the -.hf "From" -or -.hf "Reply-To" -headers of the news article. -Otherwise, -leave it disabled and replies will use the -.hf "Path" -header. -.pg -You can define this option even if your site does not understand -internet style headers. The file -.b LIBDIR \f2/mailpaths\fP -contains a line beginning with \*(lqinternet\*(rq. -The rest of this line is a string for printf to use to route your -mail to a site that does understand internet style headers. If your site -understands internet style headers, this string would just be \*(lq%s\*(rq. -If not, it might look like \*(lqseismo!%s\*(rq if -.i seismo -was your nearest site that understands that format. -.hn 3 -MYDOMAIN -.pg -When generating internet addresses, -this domain will be appended to the local site name -to form mailing address domains. -For example, -on system -.cn ucbvax -with user -.i root , -if -.b MYDOMAIN -is set to -.cf .UUCP , -addresses generated will read -.cf root@ucbvax.UUCP . -If -.b MYDOMAIN -is -.cf .Berkeley.EDU , -the address would be -.cf root@ucbvax.Berkeley.EDU . -If your site is in more than one domain, -use your primary domain. -The domain always begins with a period. If your site name contains the -domain, everything after the first \*(lq.\*(rq will be stipped off to -get the news host name, so you still must define your domain name with -.b MYDOMAIN . -.hn 3 -CHEAP -.pg -Do not -.i chown (1) -spool files to -.i news . -This will cause the owner of the file to be the person that started -the -.i inews -process. -This is used for obscure accounting reasons on some systems. -.hn 3 -OLD -.pg -Define this if any of your USENET neighbors run -2.9 or earlier versions of B news. -It will cause all headers written to contain two extra lines, -.hf Article-I.D. -and -.hf Posted , -for downward compatibility. -Once all your neighbors have converted, -you can save disk space and transmission costs by turning this off. -It is strongly encouraged that they convert. -2.11 is -.i much -faster than 2.9. -The performance difference is dramatic. -.hn 3 -UNAME -.pg -Define this if the -.i uname (2) -system call is available locally, -even though you are not a USG system. -USG systems always have -.i uname (2) -available and ignore this setting. -.hn 3 -GHNAME -.pg -Define this if the 4.[23] BSD -.i gethostname (2) -system call is available. -If neither -.b UNAME -or -.b GHNAME -is defined, -.i inews -will determine the name of the local system by reading -.i /usr/include/whoami.h . -.hn 3 -UUNAME -.pg -Define this to be the name of the file in which you store -your UUCP name. (If you store your UUCP name in a file.) -.hn 3 -V7MAIL -.pg -Define this if your system uses V7 mail conventions. -The V7 mail convention is that -a mailbox contains several messages concatenated, -each message beginning with a line reading -.hf "From \f2user date\fP" -and ending in a blank line. -If this is defined, -articles saved will have these lines added -so that mail can be used to look at saved news. -.hn 3 -SORTACTIVE -.pg -Define this if you want the news groups presented in the order of each person's -.i .newsrc (5) -instead of the -.b active -file. -.hn 3 -ZAPNOTES -.pg -Define this if you want old style notesfile id's in the body of the article -to be converted into -.hf Nf-ID -fields in the header and \*(lqOrphaned Responses\*(rq to be rejected. -.hn 3 -DIGPAGE -.pg -If this is defined, -.i vnews (1) -will attempt to process the subarticles -of a digest instead of treating the article as one big file. -.hn 3 -DOXREFS -.pg -Define this if you are using -.i rn (1). -.i Rn -uses this option to keep from showing the same article twice. -.hn 3 -MULTICAST -.pg -If your transport mechanism supports multi-casting of messages, -define this. -Currently ACSNET is the only network that can handle this. -.hn 3 -BSD4_2 -.pg -Define this if you are running 4.2 or 4.3 BSD -.ux . -.hn 3 -BSD4_1C -.pg -Define this if you are running 4.1C BSD -.ux . -.hn 3 -LOCKF -.pg -Define this if your system supports the -.i lockf () -system call as defined in the -.i "System V Interface Definition" . -Be warned, many System V -.ux -systems do not comply with the -.i SVID . -.pg -.hn 3 -ALWAYSALIAS -.pg -Normally, the -.b LIBDIR \f2/aliases\fP -file is processed only for newsgroups that are not found in the -.b LIBDIR \f2/active\fP -file. If this is defined, the -.b LIBDIR \f2/aliases\fP -will be checked for -.b ALL -newsgroups. This is useful for a transition period when massive -newsgroup renaming is occurring, but should normally be undefined as -it is computationally expensive. -.hn 3 -SENDMAIL -.pg -Use this program instead of -.i recmail (8) -for sending mail. -.hn 3 -MMDF -.pg -Use MMDF instead of -.i recmail -for sending mail. -.hn 3 -MYORG -.pg -This should be set to the name of your organization. -Please keep the name short, -because it will be printed, -along with the electronic address and full name of the author of each message. -Forty characters is probably a good upper bound on the length. -If the city and state or country of your organization are not obvious, -please try to include them. -If the organization name begins with a \*(lq/\*(rq, -it will be taken as the name of a file. -The first line in that file will be used as the organization. -This permits the same binary to be used on many different machines. -A good file name would be -.b LIBDIR \f2/organization\fP. -For example, -an organization might read -.cf "AT&T Bell Labs, Murray Hill" , -.cf "U.C. Berkeley" , -.cf MIT , -or -.cf "Computer Corp. of America, Cambridge, Mass" . -.pg -.hn 3 -HIDDENNET -.pg -If you want all your news to look like it came from a single machine -instead of from every machine on your local network, -define -.b HIDDENNET -to be the name of the machine you wish to pretend to be. -Make sure that you have you own machine defined as -.cn ME -in the sysfile -or you may get some unnecessary article retransmission. -.hn 3 -NICENESS -.pg -If -.b NICENESS -is defined, -.i rnews -does a -.i nice (2) -to priority -.b NICENESS -before processing news. -.hn 3 -FASCIST -.pg -If this is defined, -.i inews -checks to see if the posting user is allowed to -post to the given newsgroup. If the username is not in the file -.b LIBDIR \f2/authorized\fP -then the default newsgroup pattern in the symbol -.b FASCIST -is used. -.pg -The format of the file -.i authorized -is: -.br -.si -.sd -user:allowed groups -.ed -.ei -.br -For example: -.si -.sd -root:all.all,all -naughty_person:junk,talk.politics.misc -operator:!all.all,general,test,comp.unix.questions -.ed -.ei -.pg -An open environment could have -.b FASCIST -set to -.ng all -and then individual entries could be made in the authorized file -to prevent certain individuals from posting to such a wide -area. -.pg -Note that a distribution of -.ng all -does -.i not -mean to allow postings -only to local groups \- -.ng all -includes -.ng all.all . -Use -.ng all\f1,!\fPall.all -to get that behavior -.hn 3 -SMALL_ADDRESS_SPACE -.pg -Define this if your machine has 16 bit (or smaller) pointers. -If you are on a -.pd , -this is automatically defined. -.hn 3 -ORGDISTRIB -.pg -This can be defined to be the name of the distribution that is \*(lqlocal\*(rq -to your organization. If a control message arrives with -.b ORGDISTRIB -as the distribution, it is believed and acted upon. This is useful -for organizations with one \*(lqmain\*(rq news machine and several -subordinate ones. All machines in that organization could define -.b NONEWGROUPS , -.b MANUALLY -and also -.b ORGDISTRIB . -Then, when a control message arrives at the main machine, it would -be mailed to -.b NOTIFY . -If that person determined that it was a legitimate message, they could -resubmit the message to their local machine with a distribution of -.b ORGDISTRIB . -They would not have to submit this message to the other machines, as they -would believe it because of the distribution. They would reject -the control message if it had any other distribution. -.hn 2 -Makefile -.pg -There are also a few parameters in the -.i Makefile -as well. -These are: -.hn 3 -OSTYPE -.pg -This is the type of -.ux -system you are using. -It should be either -.b V7 -or -.b USG . -Any BSD system is V7. Any System 3 or System 5 system is USG. -This is normally set by -.i localize.sh . -.hn 3 -NEWSUSR -.pg -This is the owner (user name) of -.i inews . -If you are a superuser, -you should probably create a new user id (traditionally -.i news ) -and use this id. -If you are not a superuser, -you can use your own user id. -If you are able to, -you should create a mail alias -.i usenet -and have mail to this alias forwarded to you. -This will make it easier for other sites to find the right person -in the presence of changing jobs and out of date or nonexistent directory pages. -.b NEWSUSR -and -.b ROOTID -do not need to represent the same user. -.hn 3 -NEWSGRP -.pg -This is the group (name) to which -.i inews -belongs. -The same considerations as -.b NEWSUSR -apply. -.hn 3 -SPOOLDIR -.pg -This directory contains subdirectories in which news articles will be stored. -It is normally -.i /usr/spool/news . -.pg -For each newsgroup (\f2e.g.\fP -.ng comp.unix ) -there will be a subdirectory -.i /usr/spool/news/comp/unix -containing articles, -whose file names are sequential numbers, -.i e\f1.\fPg ., -.i /usr/spool/news/comp/unix/1 , -etc. -.pg -Each article file is in a mail-compatible format. -It begins with a number of header lines, -followed by a blank line, -followed by the body of the article. -The format has deliberately been chosen to be compatible -with the ARPANET standard for mail documented in RFC 822. -.pg -You should place news in an area of the disk with enough free space -to hold the news you intend to keep on line. -The total volume of news in the network wide groups -currently runs about 1 Mbyte per day. -If you expire news after the default 2 weeks, -you will need about 14 Mbytes of disk space -(plus some extra as a safety margin and -to allow for increased traffic in the future). -If you only receive some of the newsgroups, -or expire news after a different interval, -these figures can be adjusted accordingly. -.hn 3 -BATCHDIR -.pg -This directory will contain the list of articles to send to each system. -It is normally -.i /usr/spool/batch . -.hn 3 -LIBDIR -.pg -This directory will contain various system files. -It is normally -.i /usr/lib/news . -.hn 3 -BINDIR -.pg -This is the directory in which -.i readnews , -.i postnews , -.i vnews , -and -.i checknews (1) -are to be installed. -This is normally -.i /usr/bin . -If you decide to set -.b BINDIR -to a local binary directory, -you should consider that the -.i rnews -command must be in a directory that can be found by -.i uuxqt , -which normally only searches -.i /bin -and -.i /usr/bin . -.hn 3 -UUXFLAGS -.pg -These are the flags with which -.i uux -will be called. -.hn 3 -LNRNEWS -.pg -This is the program used to link -.i rnews -and -.i inews . -If you have symbolic links, -you can replace the \*(lqln\*(rq with \*(lqln \-s\*(rq. -.hn 3 -SCCSID -.pg -If this is defined, sccs ids will be included in each file. If you -are short on address space, don't define this. -.hn -FILES -.pg -This section lists the files in -.b LIBDIR -and comments briefly what they do. -.hn 2 -active -.pg -This is a list of active newsgroups. -It is automatically updated as new newsgroups come in. -The order here is the order news is initially presented by -.i readnews , -so you can edit this file to put important newsgroups first. -If you have -.b SORTACTIVE -defined, -after the first time the user invokes -.i readnews , -it will be presented in the order of the user's -.i .newsrc . -Each line of the active file contains four fields, -separated by a space: -the newsgroup name, -the highest local article number -(for the most recently received article), -the lowest local article number that has not yet expired, -and a single character used to determine if the user can post to that newsgroup. -If the character is -\&\*(lqy\*(rq -the user is permitted to post articles to that group. -If the character is -\&\*(lqn\*(rq -the user is not permitted to post articles to that group. -If the character is -\&\*(lqm\*(rq -the newsgroup is moderated and may not be posted to directly. Instead, -articles posted to that newsgroup are automatically mailed to the moderator -of that group. -(This field takes the place of the -.i ngfile -in earlier versions of news.) -Local article numbers begin at 1 and count sequentially -within the newsgroup as articles are received. -They do not usually correspond to local article numbers on other sites. -The article numbers are always stored as a five digit number -(with leading zeros) to allow updating of the file in place. -.pg -The active file should contain -.ng all -active world wide newsgroups. -You should use the -.i sys -file to keep out unwanted newsgroups. -.hn 2 -aliases -.pg -This file is used to map bad newsgroup names to the correct ones. -(For example, -.ng rec.jokes -is mapped into -.ng rec.humor ). -Each line consists of two fields separated by white space. -If the first field is found in the newsgroup list of the incoming article, -it is changed to the second field. -This change takes place in the article -before it is passed on to other systems, -not just locally. -.hn 2 -batch -.pg -This program reads a list of filenames of articles -and outputs the articles themselves. -It is typically used by the shell script -.i sendbatch . -.hn 2 -caesar -.pg -This is a program to do Caesar decoding of rotated text, -on a line by line basis. -The standard input is copied to the standard output, -rotating each line according to a static single letter frequency table. -If an integer argument is given -.i e\f1.\fPg ., ( -13), -every line is rotated by that argument, -without regard to letter frequencies. -This program is invoked by the -.qp D -.i readnews -command. -It is also used by -.i postnews -with the \*(lq13\*(rq argument to encode selected material for posting. -.hn 2 -checkgroups -.pg -.i Checkgroups -is a shell file to aid in automatically checking -the accuracy of your active file. -It is executed by the -.b checkgroups -control message and mails a list of out of date newsgroups -to the person defined by -.b NOTIFY . -It also updates the -.i newsgroups -file that is used by -.i postnews -as a helpfile for newsgroup selection. -.hn 2 -compress -.pg -This program does a modified Lempel-Ziv data compression. It is used by the -compressed batching scheme. -It averages 50% compression on a typical batch of news. -.hn 2 -distributions -.pg -This is a list of distributions that are valid for your site. -Each line has two fields separated by the first space on the line. -The first field is the name of the distribution -.i e\f1.\fPg ., ( -.ng usa , -.ng na , -etc.). -The second field is text describing the distribution. -As distributed, -this file is only correct for sites in the USA. -You should examine this file and add or delete the appropriate distributions. -.hn 2 -encode -.pg -This program transforms an 8-bit binary file into a file suitable for -sending over a link that only allows 7-bit characters. It is used -by -.b "sendbatch -c7." -.hn 2 -errlog -.pg -This file contains the \*(lqimportant\*(rq error messages found in the log file. -These errors usually indicate that something was wrong with an article. -This file should be watched closely. -The -.i log -file contains much more verbose information -and it is often difficult to detect errors in it. -.hn 2 -expire -.pg -This program expires old articles and archives them if archiving is selected. -It is typically run once a day from -.i cron (8). -.hn 2 -help -.pg -This contains a list of commands printed when an illegal command is typed to -.i readnews . -.hn 2 -history -.pg -A list of every article that has come in to your system. -It is used to reject articles that come in for the second time -(presumably via a different path). -This file will grow but is cleaned out by the -.i expire (8) -command. -.hn 2 -history.d -.pg -On USG systems, this directory contains 10 files (history.[0-9]) which are -used as part of a simple hashing algorithm to speed up history searches. -Since V7 systems have DBM, this is not used on V7 systems. -.hn 2 -history.dir,history.pag -.pg -These two files are used on V7 systems as a hashed version of -.i history , -containing the message id's of all articles in history. -They are only used if -.b \-DDBM -and -.b \-ldbm -appear in -.i Makefile . -.hn 2 -inews -.pg -This is the program that actually sends and receives news. -All other news submitting programs interface eventually with it. -It is not intended to be used directly by a human, -so it is no longer in -.b BINDIR . -.hn 2 -log -.pg -If present, -a log of articles processed and error conditions is kept here. -This file grows without limit unless cleaned out periodically. -The -.i trimlib -script in -.i misc -can be invoked by -.i cron (8) -daily or weekly to keep the log short. -.hn 2 -mailpaths -.pg -This file contains the mail paths to a Usenet -.i backbone -site and a site that can handle -.i internet -style mail addresses. -Each line consists of two fields. The first field is either the -keyword -.i backbone -or the keyword -.i internet . -The second field is a string to be used by printf to create a mail -path. As distributed, they are almost certainly wrong. -You will need to modify the paths so they work from your site. -.pg -As an example, suppose that your site's closest -.i backbone -site was -.i seismo -and the closest site that understood the -.i internet -mail syntax was -.i decuac . -Your -.i mailpaths -file would look like: -.si -.sd -backbone seismo!%s -internet\ decuac!%s -.ed -.ei -.pg -The -.i backbone -path is used when posting articles to moderated groups. A mail -alias exists on almost all backbone sites to forward mail to the proper -moderator for the group. The mail aliases should always be up to -date on these sites, so when a group changes moderators, only -the backbone sites need to update any files. The mail alias is -the newsgroups name with \*(lq.\*(rq changed to \*(lq\-\*(rq. -Using the above example -.i mailpaths -file, a submission to comp.sources.unix would be mailed to -seismo!comp-sources-unix, where it would be forwarded to the -current moderator for that group. -.pg -The -.i internet -keyword is used when the -.b INTERNET -option is defined for replying to news articles. A site whose mailer -does not understand -.i internet -syntax can (and should) define -.b INTERNET -so that mailed replies use the -.i From: -line of the article instead of the unreliable -.i Path: -line. -.hn 2 -newsgroups -.pg -This file is displayed by -.i postnews -when a user hits -.qp ? -in response to its request for newsgroups. -It is also used by -.i vnews -when it displays the newsgroup name. -It is updated automatically by the -.b checkgroups -control message. -.hn 2 -notify -.pg -This file allows a site administrator to -declare which types of control messages they wish to notification on -and which they -don't. The format is two words separated by white space. The first word -is the name of the control message type (like -.b checkgroups ). -The second word (if it exists) is the address to mail the notification to. -If the second word does not exist then it is assumed that no mail is desired -from this type of control message. If the -.b LIBDIR \f2/notify\fP -file doesn't contain any recognizable control message types or is empty, then -it is assumed that no mail is desired from any type of control message. -.pg -The key word \*(lqall\*(rq may be used to select what address all known control -message types should be sent to. Since parsing of the file is sequential, the -key word \*(lqall\*(rq could be first in the file and specific declarations -specifying differing addresses could follow which would override any previous -listing. -This example of -.b LIBDIR \f2/notify\fP -declares that mail will be sent to \*(lqusenet\*(rq -for all control message types except the -.b sendsys -type. -.b Sendsys -messages will be sent to \*(lqsecurity\*(rq. -.ta \w'checkgroups 'u -.sd c -# Comments are ok since unrecognized message types are ignored. -all usenet -sendsys security -.ed -This example will only send -mail to \*(lqusenet\*(rq for the -.b checkgroups -type of control message. All others will not have any mail associated with -them. -.sd c -# Comments are ok since unrecognized message types are ignored. -checkgroups usenet -.ed -(This overrides the -.b NOTIFY -option in -.i defs.h ). -Having a null file is useful if one person administers several systems -and does not want multiple copies of control message notifications. -.hn 2 -oactive, ohistory, ohistory.dir, ohistory.pag -.pg -These are copies of the corresponding -.i active , -.i history , -.i history.dir , -and -.i history.pag -files before -.i expire -ran. -They are kept in case something happens to the originals. -.hn 2 -recmail -.pg -This program can serve as a link between news and your local mailer. -If you have -.i sendmail (8), -don't use -.i recmail . -.i Sendmail -is much more useful. -.hn 2 -recnews -.pg -A program which allows you to send mail to get news posted. -You usually need to run -.i sendmail -or -.i delivermail (8) -to be able to use this. -.hn 2 -recording -.pg -A list of newsgroup classes and filenames to display recordings for. -The recording feature is analogous to the recordings played in some areas -when you dial directory assistance, -trying to be annoying and make you think twice. -Recordings on certain newsgroups are intended to remind the user -of the rules for the newsgroup, -or, -in the case of a company worried about letting proprietary information out, -reminding authors that anything they say is seen outside the company -and so proprietary information should not be included. -.pg -The file contains one line per recording. -The line contains two fields, -separated by a space. -The first field is the newsgroup class -.i e\f1.\fPg ., ( -.ng talk.all ), -the second field is the name of the file containing the recorded message. -If the file name does not begin with a slash, -it will be searched for in -.b LIBDIR . -Sample recording files can be found in the -.i misc -directory. -.hn 2 -rmgroup -.pg -This shell file should be used to remove any groups that are no longer used. -.hn 2 -sendbatch -.pg -This shell file is used to send batched articles to other systems. -It is typically run from -.i cron (8). -See the manual page for more details. -.hn 2 -sendnews -.pg -A program to send news internally from one computer to another. -It is useful if you must use mail links to transmit articles. -.hn 2 -seq -.pg -This file contains the current sequence number for your system. -It is used to generate unique article id's. -.hn 2 -sys -.pg -This file contains a list of all your neighbors, -which newsgroups they get, -and how to send news to them. -The format is documented below. -.hn 2 -unbatch -.pg -This program is used to unbatch the incoming batched news -and feed each article to -.i rnews . -It's horrible and will go away in the future. -.hn 2 -users -.pg -A list of users that have read news on your system. -.hn 2 -uurec -.pg -A program to receive news sent by -.i sendnews (8). -.hn 2 -vnews.help -.pg -This is the helpfile used by -.i vnews . -.hn 1 -Setting Up Links -.pg -There are two basic types of links for exchanging news: -those that use mail and those that don't. -The ones that use mail are more indirect, -yet more versatile, while the ones that don't are simpler. -The default method does not use mail, so that is discussed first. -.hn 2 -Non-mail Links -.pg -The basic theory behind a non-mail link is that the -.i rnews -program is invoked on the remote system -with the article being transmitted as the standard input. -This is possible on several networks, -but the most common implementation is via the UUCP network. -Using the -.i uux -command, -the command which is forked to the shell looks like: -.sd c -uux \- \-r \-z remotesys!rnews < article -.ed -This is the default transmission method. -In order to set up such a link, -obviously a UUCP link with the remote system must be in effect. -In addition, -.i rnews -must be available and executable by -.i uuxqt -on the remote machine. -In most cases, -this means that -.i rnews -must be in -.i /usr/bin -so -.i uux -can find it. -Also, -the list of allowed UUCP commands (in -.i /usr/src/usr.bin/uucp/uuxqt.c -or -.i /usr/lib/uucp/L.cmds , -depending on the version of UUCP) -should be checked to make sure -that -.i rnews -is an allowed command. -.pg -Other networks that allow remote execution include the BERKNET, -BLICN -.i usend (1)), ( -many Ethernets, -and the NSC hyperchannel -.i nusend (1)). ( -It is important, -however, -that a spooling mechanism be available. -Otherwise, -if system -.cn A -tries to send an article to system -.cn B -via a remote execution command, -and -.cn B -is down, -the article could be lost. -Spooling arranges that the system will try again when -.cn B -comes back up. -.hn 2 -Mail Links -.pg -When using mail to transmit articles, -two intermediary programs are necessary. -These are -.i sendnews -and -.i uurec (8). -The idea is that when system -.cn A -wants to send an article to system -.cn B , -the -.i sys -file on system -.cn A -has an entry for system -.cn B -such as: -.sd c -\fBLIBDIR\fP/sendnews \-a rnews@B -.ed -which runs -.i sendnews -on the article. -The -.op \-a -option specifies that the mail should be formatted for the ARPANET. -.i Sendnews -packages the article and mails it to -.cf rnews@B . -Somehow, -the B system is expected to make sure that all mail to user -.cf rnews -is fed as input to the program -.i uurec . -This program unpackages it and invokes -.i rnews . -.pg -The best way to get mail to -.cf rnews -fed into -.i uurec -is to use -.i sendmail -or -.i delivermail , -if you are on a system running them. -Create an alias in -.i /usr/lib/aliases -as follows: -.sd c -rnews: "|\fBLIBDIR\fP/uurec" -.ed -and -.i sendmail -will handle it. -If you do not have a facility for forwarding mail to a program, -you can gimmick your mailer to watch for it -(using -.i popen (3S), -this is easy) -or, -if you don't want to do any programming, -you can have -.i cron (8) -invoke -.i uurec -every hour with -.i /usr/spool/mail/rnews -as standard input. -This solution is messier because -.i uurec -must potentially deal with multiple messages, -something that has never been tested. *-*-END-of-install.mn-*-* echo "This was only the first half of install.mn" echo "The second half is in part 5 of 6" exit