news 2.10.2 doc part 1
Rick Adams
rick at seismo.UUCP
Sat Sep 8 13:51:42 AEST 1984
if test ! -d doc
then
echo mkdir doc
mkdir doc
fi
echo x - doc/install
sed 's/^X//' >doc/install <<'*-*-END-of-install-*-*'
X
X
X
X
X
X
X
X
X
X USENET Version B Installation
X
X
X Matt Glickman
X
X Computer Science Division
X Department of Electrical Engineering and Computer Sciences
X University of California
X Berkeley, California 94720
X
X
X Revised by Mark Horton for version 2.10
X Revised by Rick Adams for version 2.10.2
X
X
X
X
X
X
X_1. _I_n_t_r_o_d_u_c_t_i_o_n
X
X This document is intended to help a USENET site install
Xand maintain the network news software. Please ask ques-
Xtions of Rick Adams, such questions will help to point out
Xareas that need to be addressed here.
X
X The overall order of things to do is:
X
X(a) Find somebody to link up with. You need a network con-
X nection of some kind, for example ARPANET or UUCP. You
X cannot get a link to Berkeley, sorry. If you must use
X UUCP and have no connections, you must have at least a
X dialup and preferably a dialer, and find someone wil-
X ling to call your machine. The USENET directory may be
X helpful in finding some other site geographically near
X yours to hook up to.
X
X(b) Create a localize.sh script to make local changes to
X the makefile and defs.h files.
X
X(c) Compile the software using the _m_a_k_e command.
X
X(d) Su and type ``make install''. This will copy the files
X out to the right place and make directories containing
X most of the important files. It will configure you in
X with a connection to oopsvax via uucp links. This is
X undoubtably wrong, so you will have to configure links
X as needed.
X
X(e) After editing the configuration table, get your contact
X at the other end of the link to add you to their sys.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 2 -
X
X
X(f) Post a message to the to._s_y_s_n_a_m_e newsgroup which should
X be set up to go only to the site you are linked to, as
X a test. Have the other person send a message to your
X system using the same mechanism. If this doesn't work,
X find the problem and fix it. (Please don't use
X net.test unless there is no alternative. It is almost
X always possible to use test, or to._s_y_s_n_a_m_e, or some
X local.test group, instead of net.test.
X
X(g) Fill out a USENET directory form and post a copy to the
X USENET newsgroup ``net.news.newsite.''
X
X(h) Post the ``etiquette'' and ``howto'' files (in the doc
X directory) to your ``general'' newsgroup with a long
X expiration date. Running ``rnews'' separately on each
X of these files will do.
X
X(i) It will probably be necessary to fix your uucp command
X to allow rnews and cunbatch, and to support the -z and
X -n options.
X
X_2. _I_n_s_t_a_l_l_a_t_i_o_n
X
X_2._1. _C_o_n_f_i_g_u_r_a_t_i_o_n
X
X Local configuration of the _U_S_E_N_E_T version B software
Xrequires you to edit a few files. Most importantly, the
X_d_e_f_s._h and _M_a_k_e_f_i_l_e files must be created from their tem-
Xplates _d_e_f_s._d_i_s_t and _M_a_k_e_f_i_l_e._v_7or You should create a shell
Xscript called localize.sh which copies the files and makes
Xlocal changes to the copies. Even for a completely vanilla
Xsite, some changes will be necessary. For example, your
Xscript should choose between Makefile.v7 and Makefile.usg.
XYou should include the name of the local organization
X(MYORG) and the uid of the local news super user (ROOTID).
XYou should also choose how your hostname will be determined.
XIf you are a USG site, define UNAME in defs.h. If you are
Xrunning 4.2 BSD, define GHNAME in defs.h. Otherwise, news
Xwill look in the file /_u_s_r/_i_n_c_l_u_d_e/_w_h_o_a_m_i._h for a line of
Xthe form
X
X #define sysname your-sysname
X
X
X If you are running System 3 or System 5, you are a USG
Xsite. Otherwise, unless you are in AT&T, you are probably a
XV7 site. The previously mentioned defines are the only
Xmodifications that are _n_e_c_e_s_s_a_r_y to install news at your
Xsite. However, you will probably want to change some of the
Xones listed below.
X
X A sample localize shell script can be found in
Xlocalize.sample. The most important parameters are:
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 3 -
X
X
X_2._1._1. _R_O_O_T_I_D
X
X The numerical userid of the person who is the news
Xsuper user. This should not be set to 0. Normally it is
Xset to the uid of the news contact person for the site.
X
X_2._1._2. _N__U_M_A_S_K
X
X Mask for _u_m_a_s_k(_2) system call. Set to something like
X022 for a secure system. Unsecure systems might want 002 or
X000. This mask controls the mode of news files created by
Xthe software. Insecure modes would allow people to edit the
Xfiles directly.
X
X_2._1._3. _D_F_L_T_E_X_P
X
X The default no. of seconds after which an article will
Xexpire. 2 weeks (1,209,600 seconds) is the default choice.
XArticles which were posted more than DFLTEXP ago are con-
Xsidered too old and are moved into the junk directory. This
Xis because they are too old to be in the history file, so it
Xis impossible to tell if they really should be accepted or
Xare endlessly looping around the network (This was theoreti-
Xcally possible before this feature was added.). If you wish
Xto expire articles faster than two weeks, it is recommended
Xthat you use the -e flag to expire instead of decreasing
XDFLTEXP.
X
X_2._1._4. _D_F_L_T_S_U_B
X
X The default subscription list. If a user does not
Xspecify any list of newsgroups, this will be used. Popular
Xchoices are _a_l_l and _g_e_n_e_r_a_l,_a_l_l._g_e_n_e_r_a_l.
X
X_2._1._5. _T_M_A_I_L
X
X This is the version of the Berkeley _M_a_i_l program that
Xhas the -T option. If left undefined, the -_M option to
X_r_e_a_d_n_e_w_s will be disabled.
X
X_2._1._6. _A_D_M_S_U_B
X
X This newsgroup (or newsgroup list) will always be
Xselected unless the user specifies a newsgroup list that
Xdoesn't include ADMSUB on the command line. That is, as
Xlong as the user doesn't use the -_n flag to readnews on the
Xcommand line, ADMSUB will always be selected. This is usu-
Xally set to _g_e_n_e_r_a_l. (The intent of this parameter is to
Xhave certain newsgroups which users are required to sub-
Xscribe to. A typical site might require _g_e_n_e_r_a_l.)
X
X_2._1._7. _P_A_G_E
X
X The default program for which articles will be piped to
X
X
X
X September 7, 1984
X
X
X
X
X
X - 4 -
X
X
Xfor paging. This can be disabled or changed by the environ-
Xment variable PAGER. If you have it, the Berkeley _m_o_r_e com-
Xmand should be used, since the + option allows the headers
Xto be skipped.
X
X_2._1._8. _N_O_T_I_F_Y
X
X If defined, this character string will be used as a
Xuser name to send mail to in the event of certain control
Xmessages of interest. (Currently these are newgroup,
Xrmgroup, sendsys, checkgroups and senduuname.) As distri-
Xbuted, mail will be sent to user _u_s_e_n_e_t. It is recommended
Xyou create such a mailbox (have it forwarded to yourself) if
Xpossible, since this makes it easier for another site to
Xcontact the site administrator for your site. If you are
Xunable to do this (e.g. you are not the super user) you
Xshould change this name to yourself. Also, messages about
Xmissing or extra newsgroups are mailed to this user by the
X``checkgroups'' control message.
X
X_2._1._9. _D_F_T_X_M_I_T
X
X This is the default command to use to transmit news if
Xno explicit command is given in the 4th field of the sys
Xfile. It normally includes uux with the -z option. You
Xshould install this mod to uucp at once, otherwise your
Xusers will start being bombarded with annoying uux comple-
Xtion messages. However, you can turn this off to get news
Xinstalled.
X
X_2._1._1_0. _U_X_M_I_T
X
X This is the default command used if the U flag is
Xpresent in the flags portion of a sys file line. In this
Xcase, the 2nd %s refers to the name of a file in the news
Xspool area, not a temporary file. It can usually only be
Xused when local modifications are made to the uucp system,
Xsuch as the -c option to uux.
X
X_2._1._1_1. _D_F_T_E_D_I_T_O_R
X
X This is the full path name of the default editor to use
Xduring followups and replies. It should be set to the most
Xpopular text editor on your system. As distributed, _v_i is
Xused.
X
X_2._1._1_2. _U_U_P_R_O_G
X
X If this is defined, it will be used as a command to run
Xwhen the _s_e_n_d_u_u_n_a_m_e control message is sent around. Other-
Xwise the command _u_u_n_a_m_e will be run. Normally, this program
Xshould be placed in LIBDIR.
X
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 5 -
X
X
X_2._1._1_3. _M_A_N_U_A_L_L_Y
X
X If this is defined, incoming _r_m_g_r_o_u_p messages will not
Xremove the subdirectories, but rather just remove the group
Xline from your active file. You should have NOTIFY on if
Xyou use this. Note that on a USG system the subdirectory
Xwill not be removed anyway unless you have an unsecure (mode
X777 directory) system. This is turned off by default to
Xprotect you against accidental or malicious removal of an
Ximportant newsgroup.
X
X_2._1._1_4. _B_A_T_C_H
X
X If set, this is the name of a program that will be used
Xto unpack batched articles (those beginning with the charac-
Xter `#'). Batched articles normally are files reading
X
X #! rnews 1234
X article containing 1234 characters
X #! rnews 4321
X article containing 4321 characters
X etc.
X
XBatching is _s_t_r_o_n_g_l_y recommended.
X
X_2._1._1_5. _L_O_C_A_L_N_A_M_E
X
X Most systems have a full name database on line some-
Xwhere, showing for each user what their full name is. Most
Xoften this is in the GCOS field of /etc/passwd. If your
Xsystem has such a database, LOCALNAME should be left unde-
Xfined. If not, define LOCALNAME, and articles posted will
Xonly receive full names from local user information speci-
Xfied in NAME or ~/.name by the user. If you have a nonstan-
Xdard GCOS format (not finger or RJE) it will be necessary to
Xmake local changes to fullname.c as appropriate on your sys-
Xtem.
X
X_2._1._1_6. _I_N_T_E_R_N_E_T
X
X If your system has a mailer that understands ARPA
XInternet syntax addresses (user at site.domain) turn this on,
Xand replies will use the From or Reply-To headers. Other-
Xwise, leave it disabled and replies will use the Path
Xheader.
X
X_2._1._1_7. _M_Y_D_O_M_A_I_N
X
X When generating internet addresses, this domain will be
Xappended to the local site name to form mailing address
Xdomains. For example, on system ucbvax with user root, if
XMYDOMAIN is set to ``.UUCP'', addresses generated will read
X``root at ucbvax.UUCP''. If MYDOMAIN is ``.Berkeley.ARPA'',
Xthe address would be ``root at ucbvax.Berkeley.ARPA''. If your
X
X
X
X September 7, 1984
X
X
X
X
X
X - 6 -
X
X
Xsite is in more than one domain, use your primary domain.
XThe domain always begins with a period, unless the local
Xsite name contains the domain; in this case MYDOMAIN should
Xbe the null string.
X
X_2._1._1_8. _C_H_E_A_P
X
X Do not chown spool files to news. Used for obscure
Xaccounting reasons on some systems.
X
X_2._1._1_9. _O_L_D
X
X Define this if any of your USENET neighbors run 2.9 or
Xearlier versions of B news. It will cause all headers writ-
Xten to contain two extra lines: Article-I.D. and Posted, for
Xupward compatibility. Once all your neighbors have con-
Xverted, you can save disk space and transmission costs by
Xturning this off. It is strongly encouraged that they con-
Xvert. 2.10 is _M_U_C_H faster than 2.9. The performance differ-
Xence is dramatic.
X
X_2._1._2_0. _U_N_A_M_E
X
X Define this if the uname system call is available
Xlocally, even though you are not a USG system. USG systems
Xalways have uname available and ignore this setting.
X
X_2._1._2_1. _G_H_N_A_M_E
X
X Define this if the 4.2BSD gethostname system call is
Xavailable. If neither UNAME or GHNAME is defined, inews
Xwill determine the name of the local system by reading
X/usr/include/whoami.h.
X
X_2._1._2_2. _V_7_M_A_I_L
X
X Define this if your system uses V7 mail conventions.
XThe V7 mail convention is that a mailbox contains several
Xmessages concatenated, each message beginning with a line
Xreading ``From user date'' and ending in a blank line. If
Xthis is defined, articles saved will have these lines added
Xso that mail can be used to look at saved news.
X
X_2._1._2_3. _S_O_R_T_A_C_T_I_V_E
X
X Define this if you want the news groups presented in
Xthe order of each persons .newsrc instead of the active
Xfile.
X
X_2._1._2_4. _Z_A_P_N_O_T_E_S
X
X Define this if you want old style notesfile ids in the
Xbody of the article to be converted into NF-ID: fields in
Xthe header.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 7 -
X
X
X_2._1._2_5. _B_S_D_4__2
X
X Define this if you are running 4.2 bsd Unix.
X
X_2._1._2_6. _B_S_D_4__1_C
X
X Define this if you are running 4.1C bsd Unix.
X
X_2._1._2_7. _S_E_N_D_M_A_I_L
X
X This is the program to use instead of recmail for send-
Xing mail. At this time, it has only been used with send-
Xmail. However, it could be used with other mailers.
X
X_2._1._2_8. _M_Y_O_R_G
X
X This should be set to the name of your organization.
XPlease keep the name short, because it will be printed,
Xalong with the electronic address and full name of the
Xauthor of each message. 40 characters is probably a good
Xupper bound on the length. If the city and state or country
Xof your organization are not obvious, please try to include
Xthem. If the organization name begins with a `/', it will
Xbe taken as the name of a file. The first line in that file
Xwill be used as the organization. This permits the same
Xbinary to be used on many different machines. A good file
Xname would be `/usr/lib/news/organization'. For example, an
Xorganization might read ``AT&T Bell Labs, Murray Hill'', or
X``U.C. Berkeley'' or ``MIT'' or ``Computer Corp. America,
XCambridge, Mass''.
X
X There are other parameters that may be modified in
X_d_e_f_s._h, and they are described in the file.
X
X_2._2. _M_a_k_e_f_i_l_e
X
X There are also a few parameters in the _M_a_k_e_f_i_l_e as
Xwell. These are:
X
X_2._2._1. _N_E_W_S_U_S_R
X
X This is the owner (user name) of _i_n_e_w_s. If you are a
Xsuperuser, you should probably create a new user id (tradi-
Xtionally _n_e_w_s) and use this id. If you are not a superuser,
Xyou can use your own user id. If you are able to, you
Xshould create a mail alias _u_s_e_n_e_t and have mail to this
Xalias forwarded to you. This will make it easier for other
Xsites to find the right person in the presence of changing
Xjobs and out of date or nonexistent directory pages.
XNEWSUSR and ROOTID do not need to represent the same user.
X
X_2._2._2. _N_E_W_S_G_R_P
X
X This is the group (name) to which _i_n_e_w_s belongs. The
X
X
X
X September 7, 1984
X
X
X
X
X
X - 8 -
X
X
Xsame considerations as NEWSUSR apply.
X
X_2._2._3. _S_P_O_O_L_D_I_R
X
X This directory contains subdirectories in which news
Xarticles will be stored. It is normally /usr/spool/news.
X
X Briefly, for each newsgroup (say _n_e_t._g_e_n_e_r_a_l) there
Xwill be a subdirectory /usr/spool/news/net/general contain-
Xing articles, whose file names are sequential numbers, e.g.
X/usr/spool/news/net/general/1, etc.
X
X Each article file is in a mail-compatible format. It
Xbegins with a number of header lines, followed by a blank
Xline, followed by the body of the article. The format has
Xdeliberately been chosen to be compatible with the ARPANET
Xstandard for mail documented in RFC 822.
X
X You should place news in an area of the disk with
Xenough free space to hold news you intend to keep on line.
XThe total volume of news in net.all currently runs about 14M
Xbytes/month. If you expire news after the default 2 weeks,
Xyou will need about 7M bytes of disk space (plus some extra
Xas a safety margin and to allow for increased traffic in the
Xfuture.) If you only receive some of the newsgroups, or
Xexpire news after a different interval, these figures can be
Xadjusted accordingly. Other newsgroup classes do not add
Xmuch to the volume; fa.all accounts for only about
X80KB/week, and btl.all+bell.all are only about 450KB/week.
X
X_2._2._4. _B_A_T_C_H_D_I_R
X
X This directory will contain the list of articles to
Xsend to each system. It is normally /usr/spool/batch.
X
X_2._2._5. _L_I_B_D_I_R
X
X This directory will contain various system files. It
Xis normally /usr/lib/news.
X
X_2._2._6. _B_I_N_D_I_R
X
X This is the directory in which _r_e_a_d_n_e_w_s, _p_o_s_t_n_e_w_s,
X_v_n_e_w_s, and _c_h_e_c_k_n_e_w_s are to be installed. This is normally
X/usr/bin. If you decide to set BINDIR to a local binary
Xdirectory, you should consider that the _r_n_e_w_s and _c_u_n_b_a_t_c_h
Xcommands must be in a directory that can be found by _u_u_x_q_t,
Xwhich normally only searches /bin and /usr/bin (unless you
Xmodify uuxqt).
X
X_3. _F_I_L_E_S
X
X This section lists the files in LIBDIR and comments
Xbriefly what they do.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 9 -
X
X
X_3._1. _a_c_t_i_v_e
X
X A list of active newsgroups. Automatically updated as
Xnew newsgroups come in. The order here is the order news is
Xinitially presented by _r_e_a_d_n_e_w_s, so you can edit this file
Xto put important newsgroups first. If you have _S_O_R_T_A_C_T_I_V_E
Xdefined, after the first time the user invokes readnews, it
Xwill be presented in the order of his .newsrc. Each line of
Xthe active file contains four fields, separated by a space:
Xthe newsgroup name, the highest local article number (for
Xthe most recently received article), the lowest local arti-
Xcle number that has not yet expired, and a single character
Xused to determine if the user can post to that newsgroup.
XIf the character is _y the user is permitted to post articles
Xto that group. If the character is _n the user is not permit-
Xted to post articles to that groups. (This field takes the
Xplace of the _n_g_f_i_l_e in earlier versions of news. Local
Xarticle numbers begin at 1 and count sequentially within the
Xnewsgroup as articles are received. They do not usually
Xcorrespond to local article numbers on other sites. The
Xarticle numbers are always stored as a 5 digit number (with
Xleading zeros) to allow updating of the file in place.
X
X The active file should contain _A_L_L active net-wide
Xactive newsgroups (net.all, mod.all and fa.all). It is
Ximportant that they all be present, as they are used as a
Xcheck for valid newsgroup names and invalid newsgroup names
Xare removed from any articles processed by inews. You should
Xuse the _s_y_s file to keep out unwanted newsgroups.
X
X_3._2. _a_l_i_a_s_e_s
X
X This file is used to map bad newsgroup names to the
Xcorrect ones. (For example, net.unix.wizards is mapped in
Xnet.unix-wizards). Each line consists of two fields
Xseparated by a space. If the first field is found in the
Xnewsgroup list of the incoming article, it is changed to the
Xsecond field. This change takes place in the article before
Xit is passed on to other systems, not just locally.
X
X_3._3. _b_a_t_c_h
X
X This program reads a list of filenames of articles and
Xoutputs the articles themselves. It is typically used by a
Xshell script such as _s_e_n_d_b_a_t_c_h or _c_s_e_n_d_b_a_t_c_h.
X
X_3._4. _c_a_e_s_a_r
X
X A program to do caesar decoding of rotated text, on a
Xline by line basis. The standard input is copied to the
Xstandard output, rotating each line according to a static
Xsingle letter frequency table. If an integer argument is
Xgiven (e.g. 13), every line is rotated by that argument,
Xwithout regard to letter frequencies. This program is
X
X
X
X September 7, 1984
X
X
X
X
X
X - 10 -
X
X
Xinvoked by the ``D'' readnews command. It is also used by
Xpostnews with the ``13'' argument to encode selected
Xmaterial for posting.
X
X_3._5. _c_h_e_c_k_g_r_o_u_p_s
X
X checkgroups is a shell file to aid in automatic check-
Xing of the accuracy of your active file. It is executed by
Xthe _c_h_e_c_k_g_r_o_u_p_s control message and mails a list of out of
Xdate newsgroups to the person defined by _N_O_T_I_F_Y It also
Xupdates the _n_e_w_s_g_r_o_u_p_s file that is used by _p_o_s_t_n_e_w_s as a
Xhelpfile for newsgroup selection.
X
X_3._6. _c_o_m_p_r_e_s_s
X
X This program is used for data compression by the
Xcompressed batching scheme. It averages 50% compression on a
Xtypical batch of news.
X
X_3._7. _c_s_e_n_d_b_a_t_c_h
X
X This shell file is used to send a compressed batch of
Xnews to a machine that has _c_u_n_b_a_t_c_h available to unbatch it.
X
X_3._8. _d_i_s_t_r_i_b_u_t_i_o_n_s
X
X This is a list of distributions that are valid for your
Xsite. Each line has two fields separated by the first space
Xon the line. The first field is the name of the distribu-
Xtion (e.g. usa, na, etc.). The second field is text
Xdescribing the distribution. As distributed, this file is
Xonly correct for sites in the USA. You should examine this
Xfile and add or delete the appropriate distributions.
X
X_3._9. _e_r_r_l_o_g
X
X This file contains the ``important'' error messages
Xfound in the log file. These errors usually indicate that
Xsomething was wrong with an article. This file should be
Xwatched closely. The _l_o_g file contains much more verbose
Xinformation and it is often difficult to detect errors in
Xit.
X
X_3._1_0. _e_x_p_i_r_e
X
X This program expires old articles and archives then if
Xarchiving is selected. It is typically run once a day from
X_c_r_o_n.
X
X_3._1_1. _h_e_l_p
X
X A list of commands printed when an illegal command is
Xtyped to _r_e_a_d_n_e_w_s.
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 11 -
X
X
X_3._1_2. _h_i_s_t_o_r_y
X
X A list of every article that has come in to your sys-
Xtem. Used to reject articles that come in for the second
Xtime (presumably via a different path). This file will grow
Xbut is cleaned out by the expire command.
X
X_3._1_3. _h_i_s_t_o_r_y._d_i_r,_h_i_s_t_o_r_y._p_a_g
X
X These two files are used on V7 systems as a hashed ver-
Xsion of history, containing the message ID's of all articles
Xin history. They are only used if -DDBM and -ldbm appear in
Xthe Makefile.
X
X_3._1_4. _i_n_e_w_s
X
X This is the program that actually sends and receives
Xnews. All other programs interface eventually with it. It is
Xnot intended to be used directly by a human, so it is no
Xlonger in /usr/bin.
X
X_3._1_5. _l_o_c_a_l_g_r_o_u_p_s
X
X This is a list of newsgroups specific to your site. It
Xis used in addition to the data furnished by the _c_h_e_c_k_g_r_o_u_p_s
Xcontrol message to provide a list of possible groups to
Xwhich to submit articles.
X
X_3._1_6. _l_o_g
X
X If present, a log of articles processed and error con-
Xditions is kept here. This file grows without limit unless
Xcleaned out periodically, the trimlib script in misc can be
Xinvoked from /usr/lib/crontab daily or weekly to keep the
Xlog short.
X
X_3._1_7. _m_o_d_e_r_a_t_o_r_s
X
X This file contains a list of the moderators and their
Xmailing addresses for each moderated newsgroup. Each line
Xconsists of two fields. the first is the name of the
Xmoderated group. The second is the mailing address of the
Xgroup's moderator. As distributed, they are almost certainly
Xwrong. You will need to modify the paths so they work from
Xyour site.
X
X_3._1_8. _n_e_w_s_g_r_o_u_p_s
X
X This file is displayed by _p_o_s_t_n_e_w_s when a user hits
X``?'' in response to its request for newsgroups. It is
Xupdated automatically by the _c_h_e_c_k_g_r_o_u_p_s control message.
X
X
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 12 -
X
X
X_3._1_9. _n_o_t_i_f_y
X
X If this file is present, it's contents will be taken as
Xthe name of the user to notify in case of a problem. If the
Xfile is empty, nobody will be notified. (This overrides the
XNOTIFY option in defs.h.) This is useful if one person
Xadministers several systems and does not want multiple
Xcopies of control message notifications.
X
X_3._2_0. _o_a_c_t_i_v_e, _o_h_i_s_t_o_r_y, _o_h_i_s_t_o_r_y._d_i_r, _o_h_i_s_t_o_r_y._p_a_g
X
X These are copies of the corresponding active, history,
Xhistory.dir, history.pag files before expire ran. They are
Xkept in case something happens to the originals.
X
X_3._2_1. _r_e_c_m_a_i_l
X
X This program can serve as a link between news and your
Xlocal mailer. If you have _s_e_n_d_m_a_i_l, don't use recmail.
XSendmail is much more useful.
X
X_3._2_2. _r_e_c_n_e_w_s
X
X A program which allows you to send mail to get news
Xposted. You usually need to run _s_e_n_d_m_a_i_l or _d_e_l_i_v_e_r_m_a_i_l to
Xbe able to use this.
X
X_3._2_3. _r_e_c_o_r_d_i_n_g
X
X A list of newsgroup classes and filenames to display
Xrecordings for. The recording feature is analogous to the
Xrecordings played in some areas when you dial directory
Xassistance, trying to be annoying and make you think twice.
XRecordings on certain newsgroups are intended to remind the
Xuser of the rules for the newsgroup, or, in the case of a
Xcompany worried about letting proprietary information out,
Xreminding authors that anything they say is seen outside the
Xcompany and so proprietary information should not be
Xincluded.
X
X The file contains one line per recording. The line
Xcontains two fields, separated by a space. The first field
Xis the newsgroup class (e.g. ``net.all''), the second field
Xis the name of the file containing the recorded message. If
Xthe file name does not begin with a slash, it will be
Xsearched for in LIBDIR. Sample recording files can be found
Xin the misc directory.
X
X_3._2_4. _r_m_g_r_o_u_p
X
X This shell file should be used to remove any groups
Xthat are no longer used.
X
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 13 -
X
X
X_3._2_5. _s_e_n_d_b_a_t_c_h
X
X This shell file is used to send batched articles to
Xother systems. It is typically run from _c_r_o_n.
X
X_3._2_6. _s_e_n_d_n_e_w_s
X
X A program to send news internally from one computer to
Xanother. Useful if you use mail links to transmit articles.
X
X_3._2_7. _s_e_q
X
X The current sequence number for your system. Used to
Xgenerate unique article ID's.
X
X_3._2_8. _s_y_s
X
X A list of all your neighbors, which newsgroups they
Xget, and how to send news to them. The format is documented
Xbelow.
X
X_3._2_9. _u_n_b_a_t_c_h
X
X This program is used to unbatch the incoming batched
Xnews and feed each article to inews. It's horrible and will
Xgo away in the next version.
X
X_3._3_0. _u_s_e_r_s
X
X A list of users that read news on your system.
X
X_3._3_1. _u_u_r_e_c
X
X A program to receive news sent by _s_e_n_d_n_e_w_s.
X
X_3._3_2. _v_n_e_w_s._h_e_l_p
X
X This is the helpfile used by vnews.
X
X_4. _S_e_t_t_i_n_g _U_p _L_i_n_k_s
X
X There are two basic types of links for exchanging news:
Xthose that use mail and those that don't. The ones that use
Xmail are more indirect, yet more versatile while the ones
Xthat don't are simpler. The default is without mail so that
Xis discussed first.
X
X_4._1. _N_o_n-_m_a_i_l _L_i_n_k_s
X
X The basic theory behind a non-mail link is that the
X_r_n_e_w_s program is invoked on the remote system with the arti-
Xcle being transmitted as the standard input. This is possi-
Xble on some networks, but the most common implementation is
Xvia the _U_U_C_P network. Using the _u_u_x(_1_C) command, the
X
X
X
X September 7, 1984
X
X
X
X
X
X - 14 -
X
X
Xcommand which is forked to the shell looks like:
X _u_u_x - -_r -_z _r_e_m_o_t_e_s_y_s!_r_n_e_w_s < _a_r_t_i_c_l_e
XThis is the default transmission method. In order to set up
Xsuch a link, obviously a _U_U_C_P link with the remote system
Xmust be in effect. In addition, _r_n_e_w_s must be available and
Xexecutable by _u_u_x_q_t on the remote machine. In most cases,
Xthis means that _r_n_e_w_s must be in /usr/bin so _u_u_x can find
Xit. Also, /usr/src/cmd/uucp/uuxqt.c should be checked to
Xmake sure that rnews is an allowed command.
X
X Other networks that allow remote execution include the
XBerknet, BLICN (usend), many Ethernets, and the NSC hyper-
Xchannel (nusend). It is important, however, that a spooling
Xmechanism be available. Otherwise, if system A tries to
Xsend an article to system B via a remote execution command,
Xand B is down, the article could be lost. Spooling arranges
Xthat the system will try again when B comes back up.
X
X_4._2. _M_a_i_l _L_i_n_k_s
X
X When using mail to transmit articles, two intermediary
Xprograms are necessary. These are _s_e_n_d_n_e_w_s(_8) and _u_u_r_e_c(_8).
XThe idea is that when system A wants to send an article to
Xsystem B, the sys file on system A has an entry for system B
Xsuch as:
X
X /usr/lib/news/sendnews -a rnews at B
X
Xwhich runs _s_e_n_d_n_e_w_s on the article. The -a option specifies
Xthat the mail should be formatted for the Arpanet. Sendnews
Xpackages the article and mails it to rnews at B. Somehow, the
XB system is expected to make sure that all mail to user
X``rnews'' is fed as input to the program _u_u_r_e_c. This pro-
Xgram unpackages it and invokes rnews.
X
X The best way to get mail to rnews fed into _u_u_r_e_c is to
Xuse sendmail or delivermail, if you are on a system running
Xthem. Create an alias in /usr/lib/aliases as follows:
X
X rnews: "|/usr/lib/news/uurec"
X
Xand sendmail will handle it. If you do not have a facility
Xfor forwarding mail to a program, you can gimmick your
Xmailer to watch for it (using _p_o_p_e_n(3S), this is easy) or,
Xif you don't want to do any programming, you can have _c_r_o_n
Xinvoke uurec every hour with /usr/spool/mail/rnews as stdin.
XThis solution is messier because uurec must potentially deal
Xwith multiple messages, something that has never been
Xtested.
X
X_5. _F_o_r_m_a_t _o_f _t_h_e _s_y_s _f_i_l_e
X
X To set up a link to another site, edit the _s_y_s file in
XLIBDIR. This file is similar to the L.sys file of uucp.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 15 -
X
X
XEach line contains four fields, separated by colons:
X
X(1) The system name of a site to which you forward news.
X Normally all systems you have links to will be
X included. You should also have a line for your own
X system.
X
X(2) The newsgroups to be forwarded to them. This is a pat-
X tern in the sense of a subscription. Generally, you
X will list classes of newsgroups, that is, using ``all''
X for everything. A typical forwarding list for a new
X site would be
X
X net,mod,na,usa,to.sysname
X
X where _s_y_s_n_a_m_e is the name of the remote system. (Of
X course if you are not in the USA or North America, you
X would remove those distributions and replace them with
X the ones appropriate for you). In particular, you
X don't want to forward _a_l_l since local newsgroups (those
X without dots) should not be sent. For the line
X describing your own system, this field describes the
X newsgroups your site will accept from remote sites.
X Thus, if another site insists on sending you a news-
X group you don't want, say _n_e_t._j_o_k_e_s, include !_n_e_t._j_o_k_e_s
X here.
X
X(3) This field contains flags describing the connection.
X An A will indicate that the other site is running an A
X version of netnews. A B indicates a B version. Leav-
X ing it empty defaults to B. If you are reading this
X document, you have a B version. Some existing sites
X run A versions. If you aren't sure, ask your contact
X at the other site, with whom you should be talking to
X set this up anyway. The F flag indicates that the
X fourth field is the name of a file. The full path name
X of a file containing the article in SPOOL will be
X appended to this file. The L flag prevents transmis-
X sion unless the article was created on this site. (It
X is recommended that you feed an L link to a backbone
X site, to ensure that your submissions will be more
X likely to get to the entire network, even in the event
X of a local problem. Please make sure that a mail link
X exists too, so you can get replies.) The N flag can
X also be included here, indicating that mail should be
X sent using the _i_h_a_v_e/_s_e_n_d_m_e protocol described below.
X The U field arranges that the parameter to the optional
X %s in the command field to be filled in with a per-
X manent file name from SPOOL instead of a temporary cus-
X tomized file name.
X
X(4) This field is the command to be run to send news to the
X remote site. The article will be on the standard
X input. Leaving this field blank means an ordinary uucp
X
X
X
X September 7, 1984
X
X
X
X
X
X - 16 -
X
X
X link is being used, that is, the command defaults to
X
X uux - -r -z sysname!rnews
X
X The - option tells uux to expect input on stdin. The
X -z option is nonstandard - you should add it, see the
X minus.z* files in the uucp directory. It shuts off the
X annoying message you would otherwise get mailed to you
X telling you that your article was broadcast OK. To
X avoid using the -z option, change the source or put the
X uux command in the fourth field. The -r option tells
X uux not to start up a daemon right away. This turns
X out to ease the load on the system, at the expense of
X making news be transmitted a bit slower. The news will
X be sent when the next daemon is started, usually this
X means the next time mail is sent to or from your sys-
X tem. If this turns out to be unreasonably long, put a
X line in crontab to run
X
X /usr/lib/uucp/uucico -r1
X
X every hour or so.
X
X Here is a sample sys file for a site ``myvax'' with
Xconnections to ``yourvax'' where myvax also passes news on
Xto ``downstream''. We assume that ``myvax'' and ``down-
Xstream'' exchange a local newsgroup class lng.all as well as
Xthe network wide newsgroups. News to ``downstream'' is
Xbatched. We also assume that myvax and yourvax are in the
XUSA, while downstream is in Canada.
X
X myvax:net,fa,mod,na,usa,lng::
X yourvax:net,fa,mod,na,usa::
X downstream:net,fa,mod,na,usa,lng:F:/usr/spool/batch/downstream
X
X
X_6. _P_o_s_t_i_n_g _M_e_t_h_o_d_s
X
X The basic method is _p_o_s_t_n_e_w_s. This program will prompt
Xyou for the title, newsgroups, and distribution, then place
Xyou in the editor. (The system default EDITOR is used
Xunless the environment variable EDITOR is set, overriding
Xthe system default.) The text should be typed after the
Xblank line. The title and newsgroups are available for
Xediting at the top of the buffer. Other header lines can be
Xadded, such as an expiration date or distribution. When you
Xwrite out the file and exit from the editor, the article
Xwill be posted.
X
X Another method is to use mail. This can only be done
Xon systems that allow mail to a given name to be fed into an
Xarbitrary program as input. This is easily done with the
XBerkeley delivermail or sendmail program, and not with any
Xother mailer the author is familiar with. (It may be
X
X
X
X September 7, 1984
X
X
X
X
X
X - 17 -
X
X
Xpossible to painfully set this up with MMDF, provided the
Xnewsgroup name is no more than 8 characters long.) To use
Xmail, set up an alias such as the following:
X
X net.general: "|/usr/lib/news/recnews net.general"
X
XWhenever a user sends mail to _n_e_t._g_e_n_e_r_a_l, this starts up
Xthe given shell command which calls recnews with one argu-
Xment, the name of the newsgroup. You need to create one
Xalias for each newsgroup, and to keep the list up to date as
Xnew newsgroups are created. _R_e_c_n_e_w_s will in turn invoke
X_i_n_e_w_s.
X
X Note that there are problems with recnews. There is no
Xway to use it to post to multiple newsgroups without creat-
Xing separate articles (something frowned upon because it
Xforces people to read the same thing more than once.) Also,
Xthere is no way to make the recording feature (to safe guard
Xproprietary information) work when recnews is used.
X
X_7. _V_a_r_i_o_u_s _c_o_n_s_i_d_e_r_a_t_i_o_n_s
X
X_7._1. _S_u_i_d _b_i_t_s
X
X The current intended state of affairs is that _i_n_e_w_s
Xruns suid NEWSUSR. The _r_e_a_d_n_e_w_s program does not need to be
Xsuid. This makes it possible to write your own interface to
Xread news instead of using readnews. (As distributed, _i_n_e_w_s
Xis also sgid. I know of no good reason for this.)
X
X_7._2. _M_o_d_e_s _o_f _S_p_o_o_l _D_i_r_e_c_t_o_r_i_e_s
X
X All the files should be writable by NEWSUSR. However,
Xdue to a glitch, you will probably have to make the SPOOLDIR
Xand its subdirectories mode 777. It could be 755 except for
Xone problem. When a new newsgroup comes in, _i_n_e_w_s will
Xattempt to _m_k_d_i_r a new subdirectory of SPOOLDIR for the
Xnewsgroup. Since both inews and mkdir are suid, mkdir will
Xuse the real uid instead of NEWSUSER when checking for per-
Xmissions, and if the directory isn't 777 the check will
Xfail. Here are several alternatives if you don't want a 777
Xdirectory around:
X
X_7._2._1. _F_i_x _R_e_a_l _U_i_d
X
X If inews is always run from cron or by root, the real
Xuid can be arranged to be root or NEWSUSR. This is a poor
Xsolution since it makes the local creation of new newsgroup
Xrequire super user permissions, and is a potential security
Xhole. If this approach is taken, care must be taken to
Xinsure that the owner of the created directory is NEWSUSR.
X
X
X
X
X
X
X September 7, 1984
X
X
X
X
X
X - 18 -
X
X
X_7._2._2. _C_h_a_n_g_e _t_h_e _K_e_r_n_e_l
X
X _i_n_e_w_s will do _s_e_t_u_i_d(_g_e_t_e_u_i_d()) before it forks the
Xmkdir. If your system permits this call, there will be no
Xproblem. In particular, Berkeley 4.0BSD and later systems
Xallow this. An alternative change to the kernel is to
Xautomatically stack uids: when an suid program is run, set
Xthe new real uid to the old effective uid.
X
X_7._2._3. _G_r_o_u_p_s
X
X You could have inews be sgid NEWSGRP and all files
Xwritable by the group. This approach has been tested and
Xthe problem turns out to be that the _m_k_d_i_r command uses the
X_a_c_c_e_s_s system call to check permissions. Since _a_c_c_e_s_s uses
Xthe real gid, you run into the same problem.
X
X_7._2._4. _A_n_o_t_h_e_r _m_k_d_i_r
X
X You could create a version of mkdir that does less
Xchecking, and put it in a directory that can only be
Xaccessed by NEWSUSR (mode 700, owned by NEWSUSR). Have
Xinews fork this mkdir.
X
X_7._3. _E_x_p_i_r_a_t_i_o_n _d_a_t_e_s
X
X To get articles to expire automatically, put a line in
Xcrontab to run
X
X /usr/lib/news/expire
X
Xevery night. This command deletes all expired news. The -a
X_n_e_w_s_g_r_o_u_p_s option causes all expired news to be archived
Xunder /usr/spool/oldnews depending on which newsgroups are
Xselected. (See _e_x_p_i_r_e(_3) for details.
X
X Sometimes news is not expired when it should be. Be
Xsure to check that expire has permissions to unlink files,
Xthat it runs as a user that has a .newsrc, and that it is
Xproperly suid. You can manually invoke expire with the -v
X(verbose) option to find out what it's doing. Adding levels
Xof verbosity (e.g. -v6) will get more and more output.
X
X_7._4. _V_e_r_s_i_o_n _t_o _V_e_r_s_i_o_n
X
X Version B will understand incoming news in either ver-
Xsion A or B format, automatically. Version B will generate
Xeither format, depending on the flag in the 3rd field of the
Xsys line. Version A will not understand version B format.
XThus, it is possible for two version B sites to communicate
Xusing version A format. This will work but is not a good
Xidea, since the translation from B to A loses information
X(such as the expiration date) which will not be there when
Xtranslated back to version B.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 19 -
X
X
X News from versions A and 2.9 B do not conform to the
XUSENET interchange standard. 2.10 supports the standard and
Xwill communicate with either A or 2.9 B news. A news is
Xwritten (losing other header information) if A is in the
Xflags for the system. If OLD is defined, 2.10 will write
Xout headers with both standard (Date, Message-ID) and 2.9
X(Posted, Article-I.D.) lines so that either B system will
Xproperly handle the article. Incoming news is recognized by
Xthe first letter (``A'' for A news), or the lack of an ``@''
Xin the From line (2.9). Missing fields are constructed as
Xwell as possible from the available information.
X
X_7._5. _P_r_e_s_e_n_t_a_t_i_o_n _O_r_d_e_r
X
X The order of the newsgroups listed in LIBDIR/active is
Xthe order the newsgroups will be presented in initially. If
X_S_O_R_T_A_C_T_I_V_E is defined in defs.h, after the first time news
Xwill be presented in the order of the persons .newsrc. Ini-
Xtially this will be directory order, but you can edit impor-
Xtant newsgroups like general to the top.
X
X A recommended order to maintain your active file in is
Xthis:
X
X general
X local.general
X net.announce
X net.general
X net.followup
X local newsgroups, in alphabetical order
X net.all newsgroups, in alphabetical order
X fa.all, in alphabetical order
X test
X all.test
X to.all
X control
X junk
X
X
X_8. _C_o_n_t_r_o_l _M_e_s_s_a_g_e_s
X
X Some news systems will send you articles that are not
Xfor human consumption. They are messages to your news sys-
Xtem called _c_o_n_t_r_o_l _m_e_s_s_a_g_e_s. Such messages contain the Con-
Xtrol: header. Older systems use newsgroups matching
X_a_l_l._a_l_l._c_t_l, and this will still work, although the Control:
Xheader is preferred. Since the newsgroup name is used for
Xdistribution only, and is not checked to ensure it's in the
Xactive file, such newsgroup names can still be used. This
Xmakes it possible to post network wide control messages with
X_n_e_t._m_s_g._c_t_l (or restricted broadcast such as _b_t_l._m_s_g._c_t_l) or
Xmessages for a particular system: _t_o._u_c_b_v_a_x._c_t_l. Messages
Xare canceled, however, with a Control: line in a message to
Xthe same newsgroup(s) as the original message.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 20 -
X
X
X A control message contains a command and zero or more
Xarguments (much like a UNIX program). The subject of the
Xarticle contains the command and arguments. The body of the
Xarticle is usually ignored, although some messages can use
Xit for additional text information. Control messages are
Xnot stored in SPOOL, rather they are acted on and discarded
Xat once.
X
X_8._1. _i_h_a_v_e/_s_e_n_d_m_e
X
X Two control messages are _i_h_a_v_e and _s_e_n_d_m_e. These mes-
Xsages allow two participating sites to set up a link so that
Xone site will tell the other site it has a given article and
Xwait for a request before it actually sends it. The normal
Xcase is to send an entire article to a system, which con-
Xsults the history file to see if the article has already
Xbeen seen, and then throws it away if it's been seen before.
X
X Note that, since most messages are short anyway,
Xexperience has indicated that for ordinary UUCP unbatched
Xcommunication, all ihave/sendme does is triple the load and
Xslow down forwarding. Hopefully future code will allow
Xihave's with multiple message ID's in the body, and existing
Xcode in 2.10 understands such messages, but does not gen-
Xerate them. So we advise that you don't use ihave/sendme
Xfor now.
X
X Use of these control messages can cut down on this
Xwasted transmission, but if you have a polled UUCP connec-
Xtion, they can slow down receipt of news due to polling
Xdelays. It is up to each connected pair of sites whether
Xthey want to use this protocol. The choice is controlled by
Xthe N flag in the sys file. In the case of a leaf node (one
Xwith only one neighbor) there is no advantage to this proto-
Xcol. Even if both sites are able to initiate a connection
X(have dialers or the link is hardwired) the -r option on the
Xuux can cause 2 hour or more delays in propagating news.
XSince this protocol can triple the number of messages gen-
Xerated, you should carefully evaluate your situation when
Xdeciding whether to use it. If transmission time and phone
Xbills dominate your costs, and you are sending news to
Xseveral sites, and large article bodies dominate the costs
X(rather than the headers and the time spent by UUCP nego-
Xtiating transmission) it is probably worthwhile to use
Xihave/sendme. If your costs are dominated by CPU load from
XUUCP, or if you send news to a site that cannot get it from
Xanywhere else, you probably do not want to use this proto-
Xcol. The decision can be made independently for each site
Xin your sys file.
X
X This pair works as follows: Site _m_y_s_i_t_e receives arti-
Xcle <_1_2_3 at _a_b_c._U_U_C_P>. It enters it locally and then broad-
Xcasts it to its neighbors. One of its neighbors is site
X_y_o_u_r_s_i_t_e which has the N flag in the _s_y_s file. So mysite
X
X
X
X September 7, 1984
X
X
X
X
X
X - 21 -
X
X
Xsends an article on newsgroup to.yoursite.ctl with title
X``ihave <123 at abc.UUCP> mysite''. This control message has
Xtwo arguments - the first (<123 at abc.UUCP>) is the article ID
Xof the article in question, the second (mysite) is the name
Xof the site sending the article. The name of the newsgroup
Xand the sys file control transmission of the article, nor-
Xmally the sys file will read something like
X
X yoursite:net.all,fa.all,to.yoursite:BN:
X
Xwhich will cause an article on to.yoursite.ctl to be
Xtransmitted.
X
X Yoursite receives the message and looks to see if it
Xhas seen it before. If it has, it throws the message away
Xand stops. If it hasn't, it sends a message on
Xto.mysite.ctl with title ``sendme <123 at abc.UUCP> yoursite''
Xwhich is transmitted to mysite. (The two arguments to
Xsendme are the article ID requested and the site to send it
Xto.) Then mysite gets this message and actually transmits
Xthe article to yoursite.
X
X_8._2. _n_e_w_g_r_o_u_p
X
X This message has one argument, the name of a newsgroup
Xto be created. This allows special action to be taken
Xlocally when a new newsgroup is created. It is generated by
Xthe -C option to inews. By default, the newsgroup is added
Xto the active file and a directory is created, and mail is
Xsent to the local contact advising that this has happened.
XSee the routine ``c_newgroup'' in control.c if you want
Xsomething different to happen. (Note that, although the
Xbody of the message contains a brief description of the pur-
Xpose of the group, this body is usually thrown away by
Xexisting software.)
X
X_8._3. _r_m_g_r_o_u_p
X
X This message has one argument, the name of a newsgroup
Xto be removed. It is used for network-wide cancellation of
Xa newsgroup. If MANUALLY is not defined, it will remove the
Xarticles, directory, and active file line for the group.
XThere is a shell script _r_m_g_r_o_u_p that does essentially the
Xsame thing as this message, but the shell script only
Xremoves the group locally. We recommend that you leave
XMANUALLY defined, and when you receive mail advising you of
Xthe demise of the newsgroup, you run rmgroup by hand. This
Xwill prevent accidental or malicious removal of a good news-
Xgroup.
X
X_8._4. _c_a_n_c_e_l
X
X This message cancels a given article. It takes one
Xargument, the message ID of the article to cancel. It
X
X
X
X September 7, 1984
X
X
X
X
X
X - 22 -
X
X
Xshould be broadcast to the same newsgroup as the original
Xarticle.
X
X_8._5. _s_e_n_d_s_y_s
X
X The sys file is mailed to the originator of the mes-
Xsage. There are no arguments. This is used for making
Xmaps. Since your sys file is public information, you should
Xnot remove or change this control message.
X
X_8._6. _s_e_n_d_u_u_n_a_m_e
X
X The _u_u_n_a_m_e(1) program is run and the output is mailed
Xto the originator of the message. There are no arguments.
XThis is used for making uucp maps. If you do not run UUCP
Xor have sites in your L.sys which are a secret, you may wish
Xto edit this. Note that only the output of uuname is
Xmailed, not the contents of L.sys (which news does not have
Xaccess to anyway). If you do make a change, you should
Xarrange that some mail still is sent out to the originator
Xof the message, so he will know your site received it. See
Xthe code in routine c_senduuname in control.c.
X
X_8._7. _v_e_r_s_i_o_n
X
X The local version name/number of the netnews software
Xis mailed back to the author of the control message.
X
X_8._8. _c_h_e_c_k_g_r_o_u_p_s
X
X This control message is an attempt at semi-automatic
Xmainenance of the list of active news groups. This control
Xmessages takes the body of the article and pipes it into
XLIB/checkgroups. As mentioned perviously, LIB/checkgroups
Xwill update the newsgroups file, add any missing newsgroups
Xand mail a message to _N_O_T_I_F_Y about any old newsgroups that
Xshould be removed. It is expected that the person who main-
Xtains the list of active newsgroups will broadcast this con-
Xtrol message on a regular basis.
X
X_8._9. _O_t_h_e_r _M_e_s_s_a_g_e_s
X
X Any unrecognized message will cause an error message to
Xbe mailed to the originator. Additional messages may be
Xdefined as time goes on, such as messages to automatically
Xupdate directories or maps. You should be willing to go
Xinto the code (control.c) and add messages as they become
Xstandardized.
X
X_9. _M_a_i_n_t_e_n_a_n_c_e
X
X There are some things you should do periodically to
Xkeep your news system running smoothly. We hope to eventu-
Xally automate all or most of this, but right now some of it
X
X
X
X September 7, 1984
X
X
X
X
X
X - 23 -
X
X
Xmust be done by hand.
X
X The _h_i_s_t_o_r_y and _l_o_g files in your LIB directory will
Xgrow. You should make sure that they are cleaned up period-
Xically. The LIB/expire program will remove lines from his-
Xtory corresponding to deleted articles, but it is a good
Xidea to check the file every few months to make sure it is
Xnot going wild. Be sure not to completely lose your history
Xfile when you clean it up, in case another neighbor tries to
Xsend you an article you recently got. (If you only get news
Xfrom one site it is safe to clean it out completely.)
X
X The log file is not automatically cleaned out by any
Xnetnews software, and will grow quickly. The misc/trimlib
Xscript can be installed in LIB/trimlib, and invoked weekly
Xfrom /usr/lib/crontab.
X
X You should also clean out old newsgroups that are no
Xlonger active. To remove a newsgroup net.foo, you should
Xrun the shell script rmgroup with net.foo as the argument.
XI.e.
X
X /usr/lib/news/rmgroup net.foo
X
X
X Note that clearing up UUCP constipation is another
Xthing you'll have to do if you have flaky hardware or phone
Xlines. If you have more than one connection, chances are
Xthat UUCP will get clogged up when one of your neighbors
Xgoes down for more than a few hours. Various spooling
Xschemes are being worked on to help make the news/uucp sys-
Xtem more robust, but one thing you can and should do, if you
Xfind your /usr/spool/uucp directory getting too big, is to
Xinstall a subdirectory fix to UUCP. A quick and dirty ver-
Xsion of this is available from Duke, which traps the open,
Xcreat, link, etc. system calls at the assembly language
Xlevel and maps, for example, D.fooA1234 into
XD.foo/D.fooA1234. Since the C. and D.local directories
Xstill get big, in practice this can still create some big
Xdirectories, but the directories tend to be a factor of 5
Xsmaller, resulting in a factor of 25 improvement to speed
X(since a directory traversal for all files is quadratic on
XUNIX). Right now, UUCP is the weak link in netnews distri-
Xbution, and you should certainly keep an eye on it.
X
X_1_0. _C_r_e_a_t_i_n_g _N_e_w _N_e_w_s_g_r_o_u_p_s
X
X As system news administrator, you are able to create
Xnewsgroups. To create a newsgroup, first make sure this is
Xthe right thing to do. (Normally a suggestion is first
Xposted to net.general,net.news.group for a net newsgroup,
Xfollowups are made to net.news.group, it is established if
Xthere is general interest in such a group, and a name is
Xagreed on.) Then someone creates it by typing the command
X
X
X
X September 7, 1984
X
X
X
X
X
X - 24 -
X
X
X
X inews -C _n_e_w_s_g_r_o_u_p
X
XThis will create the directory and active entry locally. It
Xwill also prompt you for a paragraph describing the group
Xand start up an inews to post a newgroup control message
Xannouncing the group. This control message will be sent out
Xon net.msg.ctl and other sites may have configured their
Xsystems to do something with these messages. A human read-
Xable announcement is not made - you can post this to
Xnet.news.group if necessary.
X
X Someone should post a first article to the new news-
Xgroup immediately. If this is not done, the empty directory
Xfor the newsgroup will cause _c_h_e_c_k_n_e_w_s to believe there is
Xunread news, because each user has no .newsrc line for that
Xnewsgroup. This command creates the group network-wide. It
Xis then possible to submit an article to the group.
X
X You must be the super user to use the -C option to
Xinews. (That is, your uid must match ROOTID. It is recom-
Xmended that you change ROOTID to your own uid so you don't
Xhave to su to create newsgroups.)
X
X A new site should get the active file from their neigh-
Xbor and use the _m_a_k_e_a_c_t_i_v_e._s_h shell script to create the
Xlocal directory hierarchy and active file. (The local
Xactive file will have 00000 for each newsgroup, since local
Xnumbers will start at 1 for the first article received in
Xeach newsgroup.)
X
X_1_1. _C_o_n_v_e_r_s_i_o_n _f_r_o_m _A _t_o _B
X
X If you are currently running version A on your system,
Xnote that B is incompatible with A. The files are stored in
Xa different format (headers have mail like field names now).
XThe directory organization is different (each newsgroup has
Xa subdirectory of its own, and the file names are numbers
Xrather than site.id pairs). There are no bitmap, uindex, or
Xnindex files to be trashed (which articles have been read is
Xstored in each users .newsrc file). The user interface is
Xslightly different (news/netnews is now called readnews,
Xnews is posted using inews, subscription is done by editing
X.newsrc, the sense of the -c option is reversed, news is
Xpresented in newsgroup order, the -a and -t options now
Xprobably need -x as well, and there are many minor changes).
X
X We decided not to provide a program to convert from
Xversion A to version B. Rather, the following strategy was
Xadopted for conversion:
X
X(1) Install the new news in a different spool directory
X from the old one. For example, you can use
X /usr/spool/newnews. You can change to the standard
X
X
X
X September 7, 1984
X
X
X
X
X
X - 25 -
X
X
X name later if you want. Get it to work for local mes-
X sages.
X
X(2) Post an article to newsgroup _g_e_n_e_r_a_l with the old news
X announcing the change. Make available documentation
X such as the accompanying paper ``How to Read the Net-
X work News'' to the users. This article will be the
X last one in the old news.
X
X(3) Chmod the old news directory to 555 to prevent any more
X news from being posted. (Actually, this will prevent
X the bitfile from being updated, so it may not be a good
X idea.)
X
X(4) Replace the old rnews program with the new rnews pro-
X gram.
X
X(5) Test it by having your neighbor send you a message.
X
X(6) Wait a reasonable period for everyone to have read the
X final article with the old news. Perhaps a few weeks
X is right.
X
X(7) Uninstall the old news.
X
X Users will have to invoke _r_e_a_d_n_e_w_s instead of _n_e_t_n_e_w_s
Xto read news. Depending on your old method of posting, this
Xcould be changed too. (If you were using mail, it does not
Xneed to be changed.) They will also have to fix their sub-
Xscriptions. In general, they can type
X
X netnews -s
X
Xto see what they subscribe to on the old system, and then
Xcreate a file in their home directory called .newsrc con-
Xtaining
X
X options -s _t_h_e_i_r _s_u_b_s_c_r_i_p_t_i_o_n
X
XThe format of the subscription pattern matching is the same
Xas in A except that ALL is replaced by all (change to lower
Xcase). Something along the lines of this could be used to
Xautomate this:
X
X(echo -n "options -s" ; netnews -s | sed s/ALL/all/) > .newsrc
X
X
X_1_2. _C_o_n_v_e_r_s_i_o_n _f_r_o_m _2._9 _t_o _2._1_0
X
X Conversion from 2.9 to 2.10 is not nearly as involved
Xas an A to B conversion. The user interface does not change
Xmuch, and the user .newsrc files are not affected. However,
Xit is recommended that you do the conversion during a time
Xwhen no news is received, so that incoming news will not get
X
X
X
X September 7, 1984
X
X
X
X
X
X - 26 -
X
X
Xlost. One way to ensure this is to make /bin/rnews be a
Xshell script which saves the article in /usr/spool/innews/$$
X($$ is the process id of the particular shell and will be
Xunique for each article).
X
X The first step to conversion is to customize the
Xsources. In the past, you had to take a fresh distribution
Xand edit the defs.h file and Makefile to suit local prefer-
Xences. If you had many local changes, or didn't record the
Xlocal changes, upgrading could be annoying. 2.10 provides a
Xmechanism to automate these changes. Create a shell script
Xin the src directory called localize.sh. (You can use
Xlocalize.sample as a template.) This shell script should
Xcopy defs.dist to defs.h, and copy either Makefile.v7 or
XMakefile.usg to Makefile. It should chmod any files that
Xneed to be changed (often Makefile and defs.h) to a writable
Xmode. Then it should invoke _e_d on the files, making any
Xnecessary local changes.
X
X The next step is to compile the software, with
X``make''. It may be necessary to update the localize.sh
Xfile until you are satisfied with the compilation. Note
Xthat after any change to the Makefile in localize.sh, you
Xshould run localize.sh by hand. Otherwise, although make
Xwill run it for you, it will then continue to do the make
Xwith the old Makefile.
X
X When the software is compiled, you should run the
Xcvt.active.sh shell script, with the lib and spool direc-
Xtories as parameters. This will create a new active file in
XLIB/active. Then run cvt.links.sh with the lib and spool
Xdirectories as parameters. Then run cvt.names.sh with the
Xlib and spool directories as parameters. Old news will be
Xlinked into the new hierarchy while leaving links in the old
Xhierarchy. If you were using the default library and spool
Xdirectories, you would do the following:
X
X sh cvt.active.sh /usr/lib/news /usr/spool/news
X sh cvt.links.sh /usr/lib/news /usr/spool/news
X sh cvt.names.sh /usr/lib/news /usr/spool/news
X
X
X The next step is to back up the old binaries (mv
X/usr/bin/rnews /usr/bin/ornews, etc.) and to install 2.10
Xwith ``make install''. Once it is installed, any incoming
Xnews will be placed into the new hierarchy but not the old
Xone. The critical time window is between running the three
Xshell files and installing the new software - any incoming
Xnews between these two points will appear in only the old
Xhierarchy and be lost to the new software. If any signifi-
Xcant time elapses here, you should divert rnews into a
Xseparate spool directory as described above.
X
X Expire will update several key files automatically.
X
X
X
X September 7, 1984
X
X
X
X
X
X - 27 -
X
X
X Finally, test things by posting articles to to.neighbor
Xnewsgroups and watching some incoming news, and announce the
Xchange to your users.
X
X When you are satisfied that the conversion was success-
Xful, run the shell file _c_v_t._c_l_e_a_n._s_h which will remove the
Xold 2.9 news hierarchy.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X September 7, 1984
X
X
*-*-END-of-install-*-*
exit
More information about the Comp.sources.unix
mailing list