home *** CD-ROM | disk | FTP | other *** search
- Subject: Repost of 2.11 News Install Guide
- Newsgroups: mod.sources
- Approved: mirror!rs
-
- Submitted by: mirror!rs
- Archive-name: /dev/null
- Original-Submitted by: seismo!rick (Rick Adams)
- Original-Mod.sources: Volume 7, Issue 47
- Original-Archive-name: 2.11news/Part07
-
- Many sites got a truncated version of this file.
-
-
- # To extract, sh this file
- #
- # news 2.11 documentation File 5 of 6
- #
- if test ! -d doc
- then
- mkdir doc
- fi
- if test ! -s doc/install.mn
- then
- echo "First half of doc/install.mn is missing. shar aborted"
- exit 1
- fi
- echo "x - doc/install.mn (second half)" 1>&2
- sed 's/.//' >>doc/install.mn <<'*-*-END-of-install.mn-*-*'
- -.hn 1
- -Format of the
- -.bi sys
- -file
- -.pg
- -To set up a link to another site,
- -edit the
- -.i sys
- -file in
- -.b LIBDIR .
- -This file is similar to the
- -.i L.sys
- -file of UUCP.
- -Each line contains four fields,
- -separated by colons:
- -.Lp (1)
- -The system name of a site to which you forward news.
- -Normally all systems you have links to will be
- -included.
- -You should also have a line for your own system.
- -If this field is
- -.cn ME,
- -it will be used as if it were your local system name.
- -If the system name is followed by a \*(lq/\*(rq, the article will not be
- -forwarded to this system if it has already passed through any of the
- -(comma separated) list of sites immediately following the \*(lq/\*(rq.
- -For example, if the sysline was:
- -.sd c
- -yoursite/sitea,siteb,sitec:world,comp,sci,news,rec,misc,na,usa,to.yoursite::
- -.ed
- -the incoming article would only be forwarded to
- -.i yoursite
- -if it had not already been to any of
- -.i sitea ,
- -.i siteb ,
- -or
- -.i sitec .
- -This is normally used to reduce the number of duplicate articles received
- -at a site that has multiple main newsfeeds.
- -.lp (2)
- -The newsgroups to be forwarded to that site.
- -This is a pattern of the same kind as a subscription list.
- -Generally,
- -you will list classes of newsgroups,
- -that is,
- -using
- -.ng all
- -for everything.
- -A typical forwarding list for a new site would be
- -.sd c
- -world,comp,sci,news,rec,misc,soc,talk,na,usa,to.\f2sysname\fP
- -.ed
- -where
- -.i sysname
- -is the name of the remote system.
- -(Of course, if you are not in the USA or North America,
- -you would remove those distributions
- -and replace them with the ones appropriate for you.)
- -In particular,
- -you don't want to forward
- -.ng all
- -since local newsgroups
- -(those without dots)
- -should not be sent.
- -For the line describing your own system,
- -this field describes the newsgroups your site will accept from remote sites.
- -Thus,
- -if another site insists on sending you a newsgroup you don't want,
- -for example
- -.ng rec.humor ,
- -include
- -.ng !rec.humor
- -here.
- -.lp (3)
- -This field contains flags describing the connection.
- -.Qp A
- -indicates that the other site is running an A version of netnews.
- -.Qp B
- -indicates a B version.
- -Leaving it empty defaults to
- -.b B .
- -If you are reading this document,
- -you have a B version.
- -Some existing sites run A versions.
- -If you aren't sure,
- -ask your contact at the other site,
- -with whom you should be talking to set this up anyway.
- -.Qp F
- -indicates that the fourth field is the name of a file.
- -The full path name of a file containing the article in
- -.b SPOOL
- -will be appended to this file. If the fourth field is blank, the filename
- -.b BATCHDIR \f2/sysname\fP,
- -(where
- -.i sysname
- -is specified in the first field) will be used.
- -.Qp L
- -prevents transmission unless the article was created on this site.
- -If a number follows the
- -.b L
- -.i e\f1.\fPg ., (
- -.b L3 ),
- -sites less than that number of hops away will be considered local.
- -(It is recommended that you feed an
- -.b L
- -link to a backbone site,
- -to ensure that your submissions will be more likely
- -to get to the entire network,
- -even in the event of a local problem.
- -Please make sure that a mail link exists too,
- -so you can get replies.)
- -.Qp H
- -can be used to interpolate the history file into the command.
- -.Qp S
- -says to execute the transmission command directly
- -instead of forking a shell.
- -.Qp U
- -arranges that the parameter to the optional \*(lq%s\*(rq
- -in the command field to be filled in with a permanent file name from
- -.b SPOOL
- -instead of a temporary customized file name.
- -.Qp M
- -says to use multi-casting. Multi-casting is described in an appendix.
- -.Qp I
- -automatically defines the
- -.b F
- -flag. However, it puts the article's
- -.i Message-Id
- -into the file instead of the filename containing the article. This is
- -used with the
- -.i ihave/sendme
- -control messages.
- -.Qp m
- -(lower case
- -.b m
- -not upper case
- -.b M )
- -modifies the newsgroup pattern match to only return true if it
- -matches the pattern in the second field AND the group is moderated.
- -For example, if your
- -.i sys
- -file looked like:
- -.sd c
- -avax:world,comp,sci:mF:/usr/spool/batch/avax.sendimmediately
- -avax:world,comp,sci,rec,talk,misc,soc,to.avax:F
- -.ed
- -.ei
- -any moderated articles in the newsgroups
- -.ng comp
- -or
- -.ng sci
- -would be placed in the file
- -.i avax.sendimmediately
- -in the
- -.b SPOOL
- -directory.
- -All other news for that machine would be placed in the file
- -.i avax .
- -You could then transmit the articles in
- -.i avax.sendimmediately
- -more often than the rest of the news.
- -.Qp u
- -works like
- -.b m
- -except that it only matches un-moderated newsgroups.
- -.Qp N
- -indicates that news should be sent using the ihave/sendme protocol.
- -It should not really be used anymore as
- -.b I
- -is much more efficient.
- -.lp (4)
- -This field is the command to be run to send news to the remote site.
- -The article will be on the standard input.
- -Leaving this field blank means an ordinary UUCP link is being used,
- -that is,
- -the command defaults to
- -.sd c
- -uux \- \-r \-z sysname!rnews
- -.ed
- -The
- -.op \-
- -option tells
- -.i uux
- -to expect input from the standard input.
- -The
- -.op \-z
- -option is nonstandard \- you should add it
- -(see the
- -.i minus.z
- -files in the uucp source directory).
- -It shuts off the annoying message you would otherwise get mailed to you
- -telling you that your article was broadcast successfully.
- -To avoid using the
- -.op \-z
- -option,
- -change the source or put the
- -.i uux
- -command in the fourth field.
- -The
- -.op \-r
- -option tells
- -.i uux
- -not to call the other system once the job is queued.
- -This turns out to ease the load on the system,
- -at the expense of making news be transmitted a bit slower.
- -The news will be sent when the next call is made;
- -usually this means the next time mail is sent to or from your system.
- -If this turns out to be unreasonably long,
- -put a line in
- -.i crontab
- -to run
- -.sd c
- -/usr/lib/uucp/uucico \-r1 \-s\f1sysname\fP
- -.ed
- -every hour or so.
- -.pg
- -Here is a sample
- -.i sys
- -file for a site
- -.cn myvax
- -with connections to
- -.cn yourvax
- -where
- -.cn myvax
- -also passes news on to
- -.cn downstream .
- -We assume that
- -.cn myvax
- -and
- -.cn downstream
- -exchange a local newsgroup class
- -.ng lng.all
- -as well as the network wide newsgroups.
- -News to
- -.cn downstream
- -is batched.
- -We also assume that
- -.cn myvax
- -and
- -.cn yourvax
- -are in the USA,
- -while
- -.cn downstream
- -is in Canada.
- -.sd
- -myvax:world,comp,sci,rec,news,misc,soc,talk,na,usa,lng,to
- -yourvax:world,comp,sci,rec,news,misc,soc,talk,na,usa,to.yourvax
- -downstream:world,comp,sci,rec,news,misc,soc,talk,na,lng,to.downstream:F
- -.ed
- -.hn
- -Posting Methods
- -.pg
- -The basic method is
- -.i postnews .
- -This program will prompt you for the title,
- -newsgroups,
- -and distribution,
- -then place you in the editor.
- -(The system default
- -.b EDITOR
- -is used unless the environment variable
- -.b EDITOR
- -is set,
- -overriding the system default.)
- -The text should be typed after the blank line.
- -The title and newsgroups are available for editing at the top of the buffer.
- -Other header lines can be added,
- -such as an expiration date or a distribution.
- -When you write out the file and exit from the editor,
- -you will be prompted for what to do next. Your choices are:
- -.b w rite
- -the message to a file,
- -.b s end
- -the message,
- -.b l ist
- -the message or
- -.b e dit
- -it again.
- -.pg
- -Another method is to use mail.
- -This can only be done on systems that allow mail to a given name
- -to be fed into an arbitrary program as input.
- -This is easily done with the Berkeley
- -.i delivermail
- -or
- -.i sendmail
- -program,
- -and not with any other mailer the author is familiar with.
- -(It may be possible to painfully set this up with MMDF,
- -provided the newsgroup name is no more than 8 characters long.)
- -To use mail,
- -set up an alias such as the following:
- -.sd c
- -sci.physics: "|\fBLIBDIR\fP/recnews sci.physics"
- -.ed
- -Whenever a user sends mail to
- -.ng sci.physics ,
- -this starts up the given shell command which calls
- -.ng recnews
- -with one argument,
- -the name of the newsgroup.
- -You need to create one alias for each newsgroup,
- -and to keep the list up to date as new newsgroups are created.
- -.i Recnews (8)
- -will in turn invoke
- -.i inews .
- -.pg
- -Note that there are problems with
- -.i recnews .
- -There is no way to use it to post to multiple newsgroups
- -without creating separate articles
- -(something frowned upon because it forces people
- -to read the same thing more than once).
- -Also,
- -there is no way to make the recording feature
- -(to remind people to not accidently divulge proprietary information)
- -work when recnews is used.
- -.hn
- -Various considerations
- -.hn 2
- -Spooling
- -.pg
- -If
- -.i expire
- -is already running and
- -.i inews
- -or
- -.i rnews
- -is invoked, the incoming article will be saved in
- -.b SPOOLDIR /\f2.rnews\fP
- -for later processing by
- -.i "rnews \-U" .
- -This is to prevent the incoming article from getting
- -\*(lqlost\*(rq and not being in the history file.
- -.i Expire
- -automatically runs
- -.i "rnews \-U"
- -when it has finished.
- -If you have defined
- -.b SPOOLNEWS ,
- -you should also invoke
- -.i "rnews \-U"
- -from crontab on a regular basis.
- -.pg
- -If you are not using some type of \*(lqsystem\*(rq locking (\f2e.g. flock()\fP or
- -\f2lockf()\fP) you must make sure that the various lock files are
- -removed when the system is rebooted after a crash. You can put a line
- -in
- -.i /etc/rc
- -to remove these lock files. The most important one is
- -.b LIBDIR \f2/active.lock\fP.
- -.hn 2
- -Setuid bits
- -.pg
- -The current intended state of affairs is that
- -.i inews
- -runs setuid to
- -.b NEWSUSR .
- -The
- -.i readnews
- -and
- -.i vnews
- -programs do not need to be setuid.
- -This makes it possible to write your own interface to read news instead of using
- -.i readnews .
- -(As distributed,
- -.i inews
- -is also setgid.
- -I know of no good reason for this.)
- -.hn 2
- -Modes of Spool Directories
- -.pg
- -All the files should be writable by
- -.b NEWSUSR .
- -However,
- -due to a glitch,
- -you will probably have to make the
- -.b SPOOLDIR
- -and its subdirectories mode 777.
- -It could be 755 except for one problem.
- -When a new newsgroup comes in,
- -.i inews
- -will attempt to
- -.i mkdir (1)
- -a new subdirectory of
- -.b SPOOLDIR
- -for the newsgroup.
- -Since both
- -.i inews
- -and
- -.i mkdir
- -are setuid,
- -.i mkdir
- -will use the uid of the person who ran
- -.i inews
- -instead of
- -.b NEWSUSR
- -when checking for permissions.
- -If the directory mode isn't 777 the check will fail.
- -4.[23] BSD sites do not have this problem as
- -.i mkdir ()
- -is a system call and will create the directory with the \*(lqcorrect\*(rq
- -ownership.
- -Here are several alternatives if you don't want a 777 directory around:
- -.hn 3
- -Fix Real Uid
- -.pg
- -If
- -.i inews
- -is always run by
- -.i cron
- -or as
- -.i root ,
- -the real uid can be arranged to be
- -.i root
- -or
- -.b NEWSUSR .
- -This is a poor solution
- -since it makes the local creation of new newsgroups
- -require super user permissions,
- -and is a potential security hole.
- -If this approach is taken,
- -care must be taken to ensure that the owner of the created directory is
- -.b NEWSUSR .
- -.hn 3
- -Change the Kernel
- -.pg
- -.i Inews
- -will do:
- -.b setuid(geteuid())
- -(see
- -.i setuid (2)
- -and
- -.i geteuid (2))
- -before it forks the
- -.i mkdir .
- -If your system permits this call,
- -there will be no problem.
- -In particular,
- -Berkeley 4.0
- -.ux
- -and later systems allow this.
- -An alternative change to the kernel is to automatically stack uids:
- -when a setuid program is run,
- -set the new real uid to the old effective uid.
- -.hn 3
- -Groups
- -.pg
- -You could have
- -.i inews
- -be setgid to
- -.b NEWSGRP
- -and all files writable by the group.
- -This approach has been tested and the problem turns out to be that the
- -.i mkdir
- -command uses the
- -.i access (2)
- -system call to check permissions.
- -Since
- -.i access
- -uses the real gid,
- -you run into the same problem.
- -.hn 3
- -Another
- -.bi Mkdir
- -.pg
- -You could create a version of
- -.i mkdir
- -that does less checking and put it in a directory that can only be accessed by
- -.b NEWSUSR
- -(mode 700,
- -owned by
- -.b NEWSUSR ).
- -Have
- -.i inews
- -fork this
- -.i mkdir .
- -.hn 2
- -Expiration dates
- -.pg
- -To get articles to expire automatically, put a line in
- -.i crontab
- -to run
- -.sd c
- -\fBLIBDIR\fP/expire
- -.ed
- -every night.
- -This command deletes all expired news.
- -The
- -.op \-a
- -.i newsgroups
- -option causes all expired news to be archived under
- -.i /usr/spool/oldnews
- -depending on which newsgroups are selected.
- -(See
- -.i expire (8)
- -for details.)
- -.pg
- -Sometimes news is not expired when it should be.
- -Be sure to check that
- -.i expire
- -has permissions to unlink files,
- -and that it is properly setuid to
- -.b NEWSUSR .
- -You can manually invoke
- -.i expire
- -with the
- -.op \-v
- -(verbose) option to find out what it's doing.
- -Adding levels of verbosity
- -.i e\f1.\fPg ., (
- -.op \-v6 )
- -will get more and more output.
- -.hn 2
- -Version to Version
- -.pg
- -Version B will understand incoming news in either version A or B format,
- -automatically (presuming
- -.b OLD
- -is defined in defs.h).
- -Version B
- -will generate either format,
- -depending on the flag in the third field of the
- -.i sys
- -line.
- -Version A will not understand version B format.
- -Thus,
- -it is possible for two version B
- -sites to communicate using version A
- -format.
- -This will work but is not a good idea,
- -since the translation from B to A loses information
- -(such as the expiration date)
- -which will not be there when translated back to version B.
- -.pg
- -News from versions A and 2.9 B
- -do not conform to the USENET interchange standard.
- -2.10 B (and later) supports the standard and will communicate with either A or 2.9 B news.
- -A news is written (losing other header information) if
- -A is in the flags for the system.
- -If
- -.b OLD
- -is defined,
- -2.10 will write out headers with both standard
- -.hf Date "" (
- -.hf Message-ID )
- -and 2.9
- -.hf Posted "" (
- -.hf Article-I.D. )
- -lines so that either B system will properly handle the article.
- -Incoming news is recognized by the first letter
- -.qp A "" (
- -for A news),
- -or the lack of an
- -.cf @
- -in the
- -.hf From
- -line (2.9).
- -Missing fields are constructed as well as possible
- -from the available information.
- -.hn 2
- -Using the news reading program rn
- -.pg
- -You must have installed all posted patches to
- -.i rn
- -up to and including #30.
- -Otherwise,
- -.i rn
- -will not work properly with news 2.11.
- -.hn 2
- -Distributions
- -.pg
- -News 2.11 is much more particular about handling distributions than
- -previous versions. In particular, make sure that you have the distribution
- -.i world
- -in every line of your
- -.i sys
- -file unless you are specifically limiting the distribution and are
- -sure you know what you are doing.
- -.hn
- -Control Messages
- -.pg
- -Some news systems will send you articles that are not for human consumption.
- -They are messages to your news system called
- -.i "control messages" .
- -Such messages contain the
- -.hf Control
- -header.
- -Older systems use newsgroups matching
- -.ng all.all.ctl ,
- -and this will still work,
- -although the
- -.hf Control
- -header is preferred.
- -Since the newsgroup name is used for distribution only,
- -and is not checked to ensure it's in the active file,
- -such newsgroup names can still be used.
- -This makes it possible to post network wide control messages with
- -.ng world.msg.ctl
- -(or restricted broadcast such as
- -.ng btl.msg.ctl )
- -or messages for a particular system:
- -.ng to.ucbvax.ctl .
- -Messages are canceled,
- -however,
- -with a
- -.hf Control
- -line in a message to the same newsgroup(s)
- -as the original message.
- -.pg
- -A control message contains a command and zero or more arguments
- -(much like a
- -.ux
- -program).
- -The subject of the article contains the command and arguments.
- -The body of the article is usually ignored,
- -although some messages can use it for additional text information.
- -.hn 2
- -ihave/sendme
- -.pg
- -Two control messages are
- -.b ihave
- -and
- -.b sendme .
- -These messages allow two participating sites to set up a link
- -so that one site will tell the other site it has a given article
- -and wait for a request before it actually sends it.
- -The normal case is to send an entire article to a system,
- -which consults the history file to see if the article has already been seen,
- -and then throws it away if it has been seen before.
- -.pg
- -Use of these control messages can cut down on this wasted transmission,
- -but if you have a polled UUCP connection,
- -they can slow down receipt of news due to polling delays.
- -It is up to each connected pair of sites whether they want to use this protocol.
- -The choice is controlled by the
- -.b I
- -flag in the
- -.i sys
- -file.
- -In the case of a leaf node
- -(one with only one neighbor)
- -there is no advantage to this protocol.
- -Even if both sites are able to initiate a connection
- -(have dialers or the link is hard wired)
- -the
- -.op \-r
- -option on the
- -.i uux
- -can cause 2 hour or more delays in propagating news.
- -If transmission time and phone bills dominate your costs,
- -and you are sending news to several sites,
- -and large article bodies dominate the costs
- -(rather than the headers and the time spent by UUCP negotiating transmission)
- -it is probably worthwhile to use
- -.pa ihave/sendme .
- -If your costs are dominated by CPU load from UUCP,
- -or if you send news to a site that cannot get it from anywhere else,
- -you probably do not want to use this protocol.
- -The decision can be made independently for each site in your
- -.i sys
- -file.
- -.pg
- -To use the ihave/sendme protocol, you should have the
- -.b I
- -flag defined in the sys file for the remote site. For example:
- -.sd c
- -elsie:world,na,usa,comp,sci,news,rec,soc,misc,talk,to.elsie:IF
- -.ed
- -.pg
- -Note that the fourth field must be blank.
- -.pg
- -Normally, a message arrives at this site, is found to be ok (i.e. it hasn't
- -already been received), and is considered for retransmission to other
- -sites. If the system you are sending to has the
- -.B I
- -flag defined, the Message-ID
- -is saved in the file specified in the sys entry.
- -.pg
- -After a period of time,
- -.sd c
- -sendbatch \-i elsie
- -.ed
- -is run by
- -.i cron (8).
- -It takes this file, makes it into an
- -.b ihave
- -control message, and sends it to the other site.
- -When the message is received on the other site, the Message-IDs
- -are looked up, and if any of the messages have not been received, they are put
- -into a
- -.b sendme
- -control message. When the
- -.b ihave
- -message has been fully processed,
- -the
- -.b sendme
- -message is sent to the site that sent the
- -.b ihave
- -message.
- -.pg
- -When the orignal site receives the
- -.b sendme
- -message, it sends the requested articles in the format designated by the
- -.i sys
- -file (the
- -.b I
- -flag is ignored in this case). In this example, it would write into the
- -file
- -.b /usr/spool/batch/ \f2elsie\fP
- -for later processing by
- -.i sendbatch .
- -.hn 2
- -newgroup
- -.pg
- -This message has one or two arguments,
- -the name of a newsgroup to be created and the second optional argument
- -.i moderated .
- -This allows special action to be taken locally when a new newsgroup is created.
- -It is generated by the
- -.op \-C
- -option to
- -.i inews .
- -By default,
- -the newsgroup is added to the active file,
- -and mail is sent to the local contact advising that this has happened.
- -The directory will be created when a message for that newsgroup arrives.
- -If
- -.b NONEWGROUPS
- -is defined, the newsgroup will not be created and
- -.b NOTIFY
- -will be sent mail explaining how to do it manually.
- -See the routine \*(lqc_newgroup\*(rq in
- -.i control.c
- -if you want something different to happen.
- -(Note that,
- -although the body of the message contains a brief description
- -of the purpose of the group,
- -this body is usually thrown away by existing software.)
- -If the second argument is the keyword
- -.i moderated ,
- -the newsgroup is created moderated, else it is unmoderated.
- -.hn 2
- -rmgroup
- -.pg
- -This message has one argument,
- -the name of a newsgroup to be removed.
- -It is used for network-wide cancellation of a newsgroup.
- -If
- -.b MANUALLY
- -is not defined,
- -it will remove the articles,
- -directory,
- -and active file line for the group.
- -There is a shell script
- -.i rmgroup
- -that does essentially the same thing as this message,
- -but the shell script only removes the group locally.
- -We recommend that you leave
- -.b MANUALLY
- -defined,
- -and when you receive mail advising you of the demise of the newsgroup,
- -you run
- -.i rmgroup
- -by hand.
- -This will prevent accidental or malicious removal of a good newsgroup.
- -.hn 2
- -cancel
- -.pg
- -This message cancels a given article.
- -It takes one argument,
- -the message id of the article to cancel.
- -It should be broadcast to the same newsgroup as the original article.
- -If the article to be canceled is not present, the control message
- -will not be propagated to downstream sites.
- -.hn 2
- -sendsys
- -.pg
- -The
- -.i sys
- -file is mailed to the originator of the message.
- -There are no arguments.
- -This is used for making maps.
- -Since your
- -.i sys
- -file is public information,
- -you should not remove or change this control message.
- -.hn 2
- -senduuname
- -.pg
- -The
- -.i uuname
- -program is run and the output is mailed to the originator of the message.
- -There are no arguments.
- -This was used for making UUCP maps.
- -It is of questionable use any more.
- -If you do not run UUCP or have sites in your
- -.i L.sys
- -which are a secret,
- -you may wish to edit this.
- -Note that only the output of
- -.i uuname
- -is mailed,
- -not the contents of
- -.i L.sys
- -(which news does not have access to anyway).
- -If you do make a change,
- -you should arrange that some mail still is sent out
- -to the originator of the message, so the originator will know your site
- -received it. See the code in routine \*(lqc_senduuname\*(rq in
- -.i control.c .
- -.hn 2
- -version
- -.pg
- -The local version name/number of the netnews software
- -is mailed back to the originator of the control message.
- -.hn 2
- -checkgroups
- -.pg
- -This control message is an attempt at semi-automatic maintenance
- -of the list of active news groups.
- -This control messages takes the body of the article and pipes it into
- -.bi LIBDIR \f2/checkgroups\fP.
- -As mentioned previously,
- -.bi LIBDIR \f2/checkgroups\fP
- -will update the newsgroups file,
- -add any missing newsgroups, and mail a message to
- -.b NOTIFY
- -about any old newsgroups that should be removed.
- -It is expected that the person who maintains the list of active newsgroups
- -will broadcast this control message on a regular basis.
- -.hn 2
- -Other Messages
- -.pg
- -Any unrecognized message will cause an error message to be mailed
- -to the local news administrator.
- -Additional messages may be defined as time goes on,
- -such as messages to automatically update directories or maps.
- -You should be willing to go into the code
- -.i control.c ) (
- -and add messages as they become standardized.
- -.hn
- -Maintenance
- -.pg
- -There are some things you should do periodically
- -to keep your news system running smoothly.
- -We hope to eventually automate all or most of this,
- -but right now some of it must be done by hand.
- -.pg
- -The
- -.i history
- -and
- -.i log
- -files in your
- -.b LIBDIR
- -directory will grow.
- -You should make sure that they are cleaned up periodically.
- -The
- -.bi LIBDIR \f2/expire\fP
- -program will remove lines from history corresponding to deleted articles,
- -but it is a good idea to check the file every few weeks
- -to make sure it is not going wild.
- -Be sure not to completely lose your history file when you clean it up,
- -in case another neighbor tries to send you an article you recently got.
- -(If you only get news from one site it is safe to clean it out completely.)
- -.pg
- -The log file is not automatically cleaned out by any netnews software,
- -and will grow quickly.
- -The
- -.i misc/trimlib
- -script can be installed in
- -.bi LIBDIR \f2/trimlib\fP,
- -and invoked regularly by
- -.i cron (8).
- -.pg
- -You should also clean out old newsgroups that are no longer active.
- -To remove a newsgroup
- -.ng misc.foo ,
- -you should run the shell script
- -.i rmgroup
- -with
- -.b misc.foo
- -as the argument.
- -That is,
- -.sd c
- -\fBLIBDIR\fP/rmgroup misc.foo
- -.ed
- -.pg
- -Note that clearing up UUCP constipation is another thing you'll have to do
- -if you have flaky hardware or phone lines.
- -If you have more than one connection,
- -chances are that UUCP will get clogged up when one of your neighbors goes down
- -for more than a few hours.
- -Various spooling schemes are being worked on
- -to help make the news/uucp system more robust,
- -but one thing you can and should do,
- -if you find your
- -.i /usr/spool/uucp
- -directory getting too big,
- -is to install a subdirectory fix to UUCP.
- -A quick and dirty version of this is available from Duke,
- -which traps the file-oriented system calls
- -at the assembly language level and maps,
- -for example,
- -D.fooA1234 into D.foo/D.fooA1234.
- -Since the C. and
- -.i local "" D.
- -directories still get big,
- -in practice this can still create some big directories,
- -but the directories tend to be a factor of 5 smaller,
- -resulting in a factor of 25 improvement to speed
- -(since a directory traversal for all files is quadratic on
- -.ux ).
- -Right now, unless you have the uucp distributed with 4.3 BSD or the so called
- -.i HoneyDanBer
- -uucp,
- -UUCP is the weak link in netnews distribution,
- -and you should certainly keep an eye on it.
- -.hn
- -Creating New Newsgroups
- -.pg
- -As system news administrator,
- -you are able to create newsgroups.
- -To create a newsgroup,
- -first make sure this is the right thing to do.
- -Normally a suggestion is first posted to
- -.ng news.groups\f1,\fPwhatever.relatedgroup
- -for a world wide newsgroup
- -.b whatever.relatedgroup "" (
- -should be the group which you are proposing to sub-divide.
- -For instance,
- -to propose creating
- -.ng rec.arts.tv.soaps ,
- -post the original article to
- -.ng rec.arts.tv\f1,\fPnews.groups .)
- -Followups are made to
- -.ng news.groups
- -.i only .
- -(You can force this by putting the line:
- -.sd c
- -Followup-To: news.groups
- -.ed
- -in the headers of your original posting.)
- -If it is established that there is general interest in such a group,
- -and a name is agreed on,
- -then someone creates it by typing the command
- -.sd c
- -inews \-d local \-C \fInewsgroup\fP
- -.ed
- -This will create the active entry locally. The directory will be
- -created automatically when the first article for that newsgroup is
- -received.
- -It will also prompt you for a paragraph describing the group and start up an
- -.i inews
- -to post a newgroup control message announcing the group.
- -.pg
- -You must be the super user to use the
- -.op \-C
- -option to
- -.i inews .
- -(That is, your uid must match
- -.b ROOTID .
- -It is recommended that you change
- -.b ROOTID
- -to your own uid so you don't have to
- -.i su
- -to create newsgroups.)
- -If you change the distribution to be something other than local, the
- -newgroups message will be sent to the specified distribution.
- -.hn
- -Conversion from A to B
- -.pg
- -If you are currently running version A on your system,
- -note that B is incompatible with A.
- -The files are stored in a different format
- -(headers have mail like field names now).
- -The directory organization is different
- -(each newsgroup has a subdirectory of its own,
- -and the file names are numbers rather than
- -.i site\f1.\fPid
- -pairs).
- -There are no
- -.i bitmap ,
- -.i uindex ,
- -or
- -.i nindex
- -files to be trashed
- -(which articles have been read is stored in each users
- -.i .newsrc
- -file).
- -The user interface is slightly different
- -.i netnews (1) (news/
- -is now called
- -.i readnews ,
- -news is posted using
- -.i inews ,
- -subscription is done by editing
- -.i .newsrc ,
- -the sense of the
- -.op \-c
- -option is reversed,
- -news is presented in newsgroup order,
- -the
- -.op \-a
- -and
- -.op \-t
- -options now probably need
- -.op \-x
- -as well,
- -and there are many minor changes).
- -.pg
- -We decided not to provide a program to convert from version A to version B.
- -Rather,
- -the following strategy was adopted for conversion:
- -.lp (1)
- -Install the new news in a different spool directory from the old one.
- -For example,
- -you can use
- -.i /usr/spool/newnews .
- -You can change to the standard name later if you want.
- -Get it to work for local messages.
- -.lp (2)
- -Post an article to newsgroup
- -.b general
- -with the old news announcing the change.
- -Make available documentation such as the accompanying paper
- -.i "How to Read the Network News"
- -to the users.
- -This article will be the last one in the old news.
- -.lp (3)
- -.i Chmod
- -the old news directory to 555 to prevent any more news from being posted.
- -(Actually,
- -this will prevent the bitfile from being updated,
- -so it may not be a good idea.)
- -.lp (4)
- -Replace the old
- -.i rnews
- -program with the new
- -.i rnews
- -program.
- -.lp (5)
- -Test it by having your neighbor send you a message.
- -.lp (6)
- -Wait a reasonable period for everyone to have read the final article
- -with the old news.
- -Perhaps a few weeks is right.
- -.lp (7)
- -Uninstall the old news.
- -.pg
- -Users will have to invoke
- -.i readnews
- -instead of
- -.i netnews
- -to read news.
- -Depending on your old method of posting,
- -this could be changed too.
- -(If you were using mail,
- -it does not need to be changed.)
- -They will also have to fix their subscriptions.
- -In general,
- -they can type
- -.sd c
- -netnews \-s
- -.ed
- -to see what they subscribe to on the old system,
- -and then create a file in their home directory called
- -.i .newsrc
- -containing
- -.sd c
- -options \-n \f2their subscription\fP
- -.ed
- -The format of the subscription pattern matching is the same as in A
- -except that
- -.ng ALL
- -is replaced by
- -.ng all
- -(change to lower case).
- -Something along the lines of this could be used to automate this:
- -.sd c
- -(echo \-n "options \-s" ; netnews \-s | sed s/ALL/all/) > .newsrc
- -.ed
- -.hn
- -Conversion from 2.9 to 2.11
- -.pg
- -Conversion from 2.9 to 2.11 is not nearly as involved as an A to B conversion.
- -The user interface does not change much,
- -and the user
- -.i .newsrc
- -files are not affected.
- -However,
- -it is recommended that you do the conversion during a time
- -when no news is received,
- -so that incoming news will not get lost.
- -One way to ensure this is to make
- -.i /usr/bin/rnews
- -be a shell script which saves the article in
- -.bi $$ "" /usr/spool/innews/
- -.bi $$ "" (
- -is the process id of the particular shell and will be unique for each article).
- -.pg
- -The first step to conversion is to customize the sources.
- -In the past,
- -you had to take a fresh distribution and edit the
- -.i defs.h
- -file and
- -.i Makefile
- -to suit local preferences.
- -If you had many local changes,
- -or didn't record the local changes,
- -upgrading could be annoying.
- -2.11 provides a mechanism to automate these changes.
- -Create a shell script in the src directory called
- -.i localize.sh .
- -(You can use
- -.i localize.sample
- -as a template.)
- -This shell script should copy
- -.i defs.dist
- -to
- -.i defs.h ,
- -and copy
- -.i Makefile.dst
- -to
- -.i Makefile .
- -It should
- -.i chmod
- -any files that need to be changed
- -(often
- -.i Makefile
- -and
- -.i defs.h )
- -to a writable mode.
- -Then it should invoke
- -.i ed (1)
- -on the files,
- -making any necessary local changes.
- -.pg
- -The next step is to compile the software,
- -with
- -.i make (1).
- -It may be necessary to update the
- -.i localize.sh
- -file until you are satisfied with the compilation.
- -Note that after any change to the
- -.i Makefile
- -in
- -.i localize.sh ,
- -you should run
- -.i localize.sh
- -by hand.
- -Otherwise,
- -although make will run it for you,
- -it will then continue to do the make with the old
- -.i Makefile .
- -.pg
- -When the software is compiled,
- -you should run the
- -.i cvt.active.sh
- -shell script,
- -with the
- -.i lib
- -and
- -.i spool
- -directories as parameters.
- -This will create a new active file in
- -.bi LIBDIR \f2/active\fP.
- -Then run
- -.i cvt.links.sh
- -with the
- -.i lib
- -and
- -.i spool
- -directories as parameters.
- -Then run
- -.i cvt.names.sh
- -with the
- -.i lib
- -and
- -.i spool
- -directories as parameters.
- -Old news will be linked into the new hierarchy
- -while leaving links in the old hierarchy.
- -If you were using the default library and spool directories,
- -you would do the following:
- -.sd
- -sh cvt.active.sh \fBLIBDIR\fP /usr/spool/news
- -sh cvt.links.sh \fBLIBDIR\fP /usr/spool/news
- -sh cvt.names.sh \fBLIBDIR\fP /usr/spool/news
- -.ed
- -.pg
- -The next step is to back up the old binaries:
- -.sd
- -mv \fBBINDIR\fP/rnews \fBBINDIR\fP/ornews
- -\&...
- -.ed
- -and to install 2.11 with
- -.sd c
- -make install
- -.ed
- -Once it is installed,
- -any incoming news will be placed into the new hierarchy but not the old one.
- -The critical time window is between running the three shell files and
- -installing the new software \-
- -any incoming news between these two points will appear
- -in only the old hierarchy and be lost to the new software.
- -If any significant time elapses here,
- -you should divert
- -.i rnews
- -into a separate spool directory as described above.
- -.pg
- -It is crucial that you run
- -.i expire
- -before any new news arrives.
- -.i Expire
- -will update several key files automatically.
- -.pg
- -Finally,
- -test things by posting articles to
- -.bi neighbor "" \f3to.\fP
- -newsgroups and watching some incoming news,
- -and announce the change to your users.
- -.pg
- -When you are satisfied that the conversion was successful,
- -run the shell file
- -.i cvt.clean.sh
- -which will remove the old 2.9 news hierarchy.
- -.hn
- -Converting from 2.10.x to 2.11
- -.pg
- -Converting from version 2.10 or later to 2.11 requires no special
- -intervention. All files are updated automatically when you do
- -\*(lqmake update\*(rq.
- -.bp
- -.hu
- -Appendix A: Setting up a Compressed, Batched Newsfeed
- -.pg
- -First,
- -.b BATCH
- -must have been
- -.i #define 'd
- -when you built the news system.
- -To check,
- -look in the file
- -.i defs.h
- -in the news source directory.
- -.b BATCH
- -should be defined as a program name (by default,
- -.i unbatch ).
- -If it's undefined or commented out,
- -define it,
- -re-make the news system,
- -and install the new software.
- -.pg
- -You'll also need a working
- -.i compress
- -program.
- -Use the one shipped with this news distribution,
- -which is based on version 4.0.
- -Your news neighbors should be running a compatible version of compress.
- -Versions 3.0 and 4.0 are compatible with each other,
- -but both are incompatible with versions 2.0 and earlier.
- -.pg
- -Update your
- -.i sys
- -file.
- -First, add the
- -.b F
- -flag to the other news system's line. For instance,
- -if your compressed-and-batched news feed is named
- -.cn frobozz ,
- -and its
- -.i sys
- -file entry looks like:
- -.si
- -.sd
- -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,ca,to.frobozz
- -.ed
- -.ei
- -then add the
- -.b F
- -flag as the third (colon-separated) field:
- -.si
- -.sd
- -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,ca,to.frobozz:F
- -.ed
- -.ei
- -Now the pathnames of articles to be sent will be stashed in a file.
- -This file can be specified in the fourth field of the
- -.i sys
- -entry.
- -Normally, you can just use the default of
- -.bi BATCHDIR \f2/system\fP,
- -(where
- -.bi BATCHDIR
- -is usually
- -.i /usr/spool/batch
- -and
- -.i system
- -is the name of the remote system,
- -in this example
- -.cn frobozz ).
- -A name of that form is necessary:
- -the
- -.i sendbatch
- -script,
- -which sends the batched news,
- -looks for a file name of this form
- -to decide if there's news for the remote system.
- -.pg
- -Your completed
- -.i sys
- -file line should look something like:
- -.si
- -.sd
- -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,to.frobozz:F
- -.ed
- -.ei
- -.pg
- -In your
- -.i crontab
- -file, find or create at least two news lines:
- -one that runs nightly,
- -and one that runs every hour or so.
- -The nightly-run script should run
- -.i expire ,
- -trim log files,
- -and perhaps compile weekly statistics
- -that you post to a local-area newsgroup one day a week.
- -The hourly-run script should complete the transmitting task
- -with a line like:
- -.sd c
- -sendbatch -c frobozz
- -.ed
- -Make sure the script knows how to get to the directory in which
- -.i sendbatch
- -lives.
- -You can either mention the directory in the script's
- -.b PATH -setting
- -line,
- -or replace
- -.i sendbatch
- -with its full pathname.
- -.i Sendbatch
- -reads the files mentioned in
- -.i /usr/spool/batch/frobozz ,
- -batches them,
- -optionally compresses them,
- -sends them to the remote system,
- -and arranges for remote processing.
- -.pg
- -This remote processing can be directed by another file in
- -.b BATCHDIR .
- -Make an executable file with a name of the form
- -.bi BATCHDIR \f2/system\fP.cmd
- -(for this example,
- -.i /usr/spool/batch/frobozz.cmd ).
- -Put a line in it specifying the command that the remote system
- -should execute to unpack the news batches that your system will send.
- -An example
- -.i frobozz.cmd
- -would be:
- -.sd c
- -uux - -r -z -n -gd frobozz!rnews
- -.ed
- -.pg
- -Now your system will transmit compressed batches.
- -The receiving side of the business is handled largely by a program called
- -.i rnews ,
- -which will call other programs in
- -.b LIBDIR
- -to do additional processing on the incoming batches.
- -.pg
- -Make sure there is an executable file called
- -.i rnews
- -in the
- -.b BINDIR
- -directory
- -(check the
- -.i Makefile
- -for its actual location).
- -It must be reachable by UUCP
- -or by whatever transport you'll use to transfer the netnews.
- -If you defined
- -.b BINDIR
- -as
- -.i /usr/bin ,
- -you should have no problems because
- -.i uuxqt
- -can already get there.
- -If you defined it as a different directory,
- -you may have to teach
- -.i uuxqt
- -to look in that directory;
- -accomplishing this varies from system to system.
- -On 4.[23] BSD, add the directory to the
- -.b PATH=
- -line of your UUCP
- -.i L.cmds
- -file.
- -On System V,
- -on the
- -.i rnews
- -line of your
- -.i L.cmds
- -file,
- -add a comma followed by
- -the remote system's name on that line.
- -If yours is in
- -.i /usr/bin/news/rnews ,
- -your
- -.i L.cmds
- -file will look like:
- -.si
- -.sd
- -[For 4.[23]BSD]
- -PATH=/bin:/usr/bin:/usr/bin/news
- -rnews
- -.ed
- -.sd
- -[For System V]
- -/usr/bin/news/rnews,frobozz
- -.ed
- -.ei
- -Other systems have a similar file in the
- -.i /usr/lib/uucp
- -directory by which you can specify added programs
- -and paths different from the defaults.
- -HP-UX,
- -for example,
- -has a
- -.i /usr/lib/uucp/COMMANDS
- -file which expands
- -.i uuxqt 's
- -horizons.
- -.i HoneyDanBer
- -uucp
- -.i a.k.a " AT&T Basic Networking Utilities)" (
- -has a
- -.i Permissions
- -file that controls what is executed.
- -In more restrictive cases,
- -paths are compiled into
- -.i uuxqt .
- -If you can't modify any UUCP files,
- -just put
- -.i rnews
- -in
- -.i /usr/bin.
- -.pg
- -Tell the person at the other end of your newsfeed to use
- -.i "sendbatch \-c"
- -to send you news.
- -Once that's in place,
- -watch your UUCP
- -.i LOGFILE
- -and your news
- -.i log
- -and
- -.i errlog
- -files to ensure that news is being correctly received and unpacked
- -on your system.
- -.pg
- -Older compressed batching systems will try to exec
- -.i cunbatch
- -instead of
- -.i rnews .
- -If you are still communicating with these, leave
- -.i cunbatch
- -in
- -.b BINDIR
- -until they have upgraded their software.
- -.bp
- -.hu
- -Appendix B: MULTICAST
- -.pg
- -If this is defined (in
- -.i defs.h )
- -then two new flag characters
- -become defined in the
- -.i sys
- -file.
- -The first,
- -and most important,
- -of these is the
- -.b M
- -flag.
- -.pg
- -If the
- -.b M
- -flag is set on some line in the
- -.i sys
- -file,
- -then the fourth field (transfer command) is redefined to become a
- -.i multicast
- -name.
- -That is simply another system name,
- -expected to be found in the first field of some line in the
- -.i sys
- -file (textually following the line containing the
- -.b M
- -flag).
- -.pg
- -When a news item is being retransmitted,
- -if it should (according to the subscription list) be sent to a system
- -that has the
- -.b M
- -flag set,
- -then instead of a command being run immediately to transmit the news,
- -the news system remembers the system name,
- -along with the multicast name (fourth field).
- -.pg
- -Eventually the multicast system name is found in the first field of a sys
- -file line. If its subscription list allows transmission of this news item,
- -then its command will be executed.
- -This command may have up to two \*(lq%s\*(rq substitutions in it.
- -The second of those is replaced by the name of a file
- -containing the news item (used with the
- -.b U
- -flag).
- -The first is subjected to rather special treatment.
- -The whole \*(lqword\*(rq (delimited by white space)
- -containing that \*(lq%s\*(rq is duplicated as many times
- -as there were systems with the
- -.b M
- -flag set that referenced this multicast name
- -(which might be 0 times,
- -causing that \*(lqword\*(rq to be omitted).
- -In each of these duplicates,
- -the \*(lq%s\*(rq is replaced by the name of a system.
- -Note the multicast system name itself is not included in this process.
- -Then the command is executed as usual.
- -.pg
- -The second flag available if the news system is built with
- -.b MULTICAST
- -defined is
- -.b O .
- -If this flag is set,
- -then the sys file line will be ignored unless the system name is
- -a multicast name from some earlier line with the
- -.b M
- -flag,
- -and the news item is to be sent to that (earlier) system.
- -This allows the subscription list for the multicast system name
- -(which is likely to be a fake system name,
- -invented just for this purpose)
- -to be given a very wide subscription list
- -(like
- -.ng all )
- -without any unusual effects.
- -.pg
- -Here is an example.
- -Assume that you wish to forward
- -.ng comp.unix
- -to four people by mail.
- -You could do this as ...
- -.si
- -.sd
- -fred:comp.unix::mail fred
- -harry:comp.unix::mail harry
- -jane:comp.unix::mail jane
- -tony:comp.unix::mail tony
- -.ed
- -.ei
- -however this causes the mail program to be started 4 times,
- -once for each recipient.
- -On some systems starting the mail program is a very expensive operation.
- -If
- -.b MULTICAST
- -is defined,
- -an alternative method is
- -.si
- -.sd
- -fred:comp.unix:M:tony
- -harry:comp.unix:M:tony
- -jane:comp.unix:M:tony
- -tony:comp.unix::mail tony %s
- -.ed
- -.ei
- -This would cause just one command to be run:
- -\*(lqmail tony fred harry jane\*(rq.
- -Note that \*(lqtony\*(rq must still be explicitly included in the argument
- -list to the mail command;
- -the \*(lq%s\*(rq does not expand to include
- -the multicast \*(lqsystem name\*(rq itself.
- -.pg
- -A more useful way of doing this,
- -which does not assume that all the mail readers
- -will want to read the same newsgroups is as follows.
- -.si
- -.sd
- -fred:comp.unix:M:Mail
- -harry:sci.physics,sci.astro:M:Mail
- -jane:comp.unix.wizards,soc.women:M:Mail
- -tony:comp.unix,comp.unix.wizards,rec.humor:M:Mail
- -Mail:all:O:mail %s
- -.ed
- -.ei
- -.pg
- -Now,
- -if a news item in group
- -.ng comp.unix
- -was received,
- -the command
- -.sd c
- -mail fred tony
- -.ed
- -would be executed.
- -If the news were in both
- -.ng comp.unix
- -and
- -.ng comp.unix.wizards
- -then the command would be
- -.sd c
- -mail fred jane tony
- -.ed
- -.pg
- -If a news item in
- -.ng sci.med
- -(which no-one gets by mail) arrives,
- -then the \*(lqMail\*(rq line will be ignored,
- -because of the
- -.b O
- -flag.
- -\*(lqMail\*(rq is a fake system invented just so its \*(lqtransfer command\*(rq
- -can be used to send news to the other recipients.
- -.pg
- -The same kind of technique can be used for normal transfer
- -of news to other systems if your transport network supports
- -a facility to send to many other systems in one command.
- -(That is,
- -if it has a multicast facility.)
- -SunIII (the network used in Australia) has this ability,
- -so a typical Australian
- -.i sys
- -file looks like
- -.sd
- -emuvax:world,aus,comp.sci:M:FakeName
- -kremlin:world,aus,comp,sci:M:FakeName
- -kanga:world,aus,comp.unix:M:FakeName
- -FakeName:all:OUS:/bin/sendfile -NRSareporter -d%s -x%s
- -.ed
- -.pg
- -A news item in
- -.ng aus.general
- -causes the following command
- -.sd c
- -/bin/sendfile -NRSareporter -demuvax -dkremlin -dkanga -x/usr/spool/...
- -.ed
- -to be executed.
- -Just one command is run to send the news to three remote systems.
- -.pg
- -If a multicast system has the
- -.b F
- -flag set,
- -then the name of a file containing the news is appended to the file
- -whose name is in the fourth field,
- -as usual.
- -But on the same line,
- -separated by spaces,
- -will be appended the names of all the systems
- -that referenced this multicast system.
- -.pg
- -For example,
- -if the Australian site wanted to batch news,
- -instead of sending it directly,
- -it would simply change the last line of its
- -.i sys
- -file to
- -.sd c
- -FakeName:all:F:/usr/spool/batched/allsites
- -.ed
- -.pg
- -Then a news item in
- -.ng misc.jobs
- -would cause the following line to be appended to
- -.i /usr/spool/batched/allsites
- -.sd c
- -/usr/spool/news/misc/jobs/5542 emuvax kremlin
- -.ed
- -.pg
- -This can then be processed later, in something like the normal manner.
- -(Unfortunately no commands to do this processing are yet available.)
- -.pg
- -Caution: when
- -.b MULTICAST
- -is defined,
- -the first \*(lq%s\*(rq in all transfer commands is used for multicast,
- -regardless of whether or not the system name is ever used as the last field
- -of some line with the
- -.b M
- -flag set.
- -To use the
- -.b U
- -flag in such a case,
- -a dummy \*(lq%s\*(rq should be used,
- -it will simply be omitted from the command that is executed.
- -.pg
- -As an example,
- -if a
- -.i sys
- -file line without
- -.b MULTICAST
- -defined was:
- -.sd c
- -foovax:comp,world,na,usa:U:uux - foovax!foonews <%s
- -.ed
- -with
- -.b MULTICAST
- -defined,
- -it would need to be changed to:
- -.sd c
- -foovax:comp,world,na,usa:U:uux - foovax!foonews %s <%s
- -.ed
- -.pg
- -Additional caution:
- -The numbers of system names that may be used
- -in this way are quite severly restricted.
- -Typically there may only be about 10 multicast system names,
- -and each of those is restricted to sending to no more than about 20 systems.
- -These limits are dynamic
- -(that is,
- -the numbers counted are the number of multicast systems
- -receiving any single news item,
- -and the number of systems that each of those
- -will actually cause this particular news item to be sent to).
- -These limits should easily suffice for real news sending to remote systems;
- -however they are not likely to suffice if you want to mail news to everyone
- -on your host.
- -.bp
- -.hu
- -Appendix C: Installing news on a Eunice system
- -.pg
- -Eunice does not have links. To get around this problem without
- -wasting megabytes of disk space, links are simulated. Each article
- -is stored under the directory corresponding to the first group on
- -the Newsgroups line. The remaining directories contain a short
- -file giving the name of the real file.
- -.i Readnews
- -and
- -.i vnews
- -know how to follow these links; so does
- -.i rn
- -if it is compiled with
- -.b LINKART
- -defined
- -.i rn "" (
- -is not included in this distibution).
- -.pg
- -If you expire different groups at different times, an article disappears
- -when the first group in the Newsgroups line expires, even if it's cross
- -posted to a group you retain longer. Also, the archival option for
- -.i expire
- -(\-a flag) does not work.
- -.pg
- -Eunice does not have the set-user-id bit. Instead, the VMS feature
- -allowing installation of privileged images is used. inews and rnews
- -must be installed with SYSPRV privilege. To allow VMS to install
- -.i inews
- -.i rnews "" (
- -is a copy of it), it must be linked with the
- -.i /notrace
- -flag. Despite the documentation, this only seems to work if the
- -VMS linker is used on VMS-format object files, as of Eunice version 4.2.
- -So it is VERY IMPORTANT to type
- -.i vmsobj
- -before building news.
- -.pg
- -The DCL command file
- -.i euninstal.com
- -installs
- -.i inews
- -and
- -.i rnews
- -with the proper privileges. It is run by \*(lqmake install\*(rq as the last
- -step. It is possible that it will fail because your system does
- -not have sufficient global page table space or known file list
- -entries. See the Eunice installation manual to learn how to increase
- -the values of these parameters (you will have to reboot the system).
- -.pg
- -The
- -.i euninstal.com
- -script must be run every time the system is booted.
- -I suggest invoking it from /etc/suchmod.com.
- -.pg
- -It is crucial that
- -.b LIBDIR \f2/active\fP
- -and
- -.b LIBDIR \f2/seq\fP
- -be in Unix format, as opposed to VMS format. Use
- -.i etc/vmstounix
- -to assure this.
- -.pg
- -Not all options have been tested; if you select options other than
- -those set by the localize.vms script (except for obvious things like
- -.B ORGNAME ,
- -etc) I can't guarantee that it will work. In particular, I
- -haven't attempted to define
- -.b SPOOLNEWS
- -or
- -.b MULTICAST .
- -That doesn't mean they won't work, just that I haven't tried them.
- -.pg
- -If you choose to run compressed batching, I recommend that you put
- -.i cunbatch
- -in your
- -.i L.cmds
- -file and have your news feed send
- -compressed batches the \*(lqold\*(rq way, because this saves an exec, and
- -forks and execs are so expensive on Eunice (the new way is for the
- -first line to be #cunbatch, and have
- -.i rnews
- -exec
- -.i cunbatch ).
- -.pg
- -If you have questions on Eunice and news contact:
- -.sd c
- -Joe Buck, Entropic Processing, Inc.
- -.sp 1
- -seismo!epiwrl!epimass!jbuck
- -hplabs!oliveb!epimass!jbuck
- -.ed
- *-*-END-of-install.mn-*-*
- exit
-
-