📄 install.ms
字号:
.NH 3Script and data files.PPIn addition to the programs, INN requires several scripts.For example, one script starts the server when the machine bootswhile another prunes the log files and runs \fIexpire\fP every night.Many of these scripts can be used as-is until you get a feel forhow INN works..PPINN also requires several data files.One specifies what sites feed you news, another what sites you feed, andso on.INN cannot provide these, other than giving sample entries.You'll probably find that writing these files will be the hardest part ofyour installation..PPPrototypes for all these files are provided in the \fIsamples\fP directory.Your modified copies should be maintained in the \fIsite\fP directory.By splitting things up this way, official updates will never wipe outany changes you have made..PPTo create the initial set of files, do the following:.DScd $inn/sitemake all.DE.PPSee below for an explanation of each file..NH 2Manual pages.PPINN comes with an extensive set of manual pages.You might want to edit the Makefile to set up the right ownership ofthe installed manual pages.Or you might want to not bother installing them at all..PPWhen it comes to reading them, you should start with \fIinnd.8\fPand \fIctlinnd.8\fP.From there follow the cross-references as you want..NH 1Installing the System.PPAlthough either \fIinnd\fP or \fIinndstart\fP must be run by root, mostof the installation does not have to be done as root.The \fI$inn/makedirs.sh\fP script creates all the necessary directories usedby INN, and sets up the right ownerships and modes: owned by \fINEWSUSER\fPin group \fINEWSGROUP\fP with 0775 permissions (the ``firewall'' directory,\fI_PATH_INDDDIR\fP, has mode 0770).You should review this script, then run it..PPThe rest of the installation should be done as the news administratoror as root.The Makefiles are very strict about setting the modes on the files thatget installed.To install the programs, do the following:.DScd $innmake update.DEThis target does a ``make\ install'' in all program directories.It installs the programs and manpages, but does not update or installany configuration files or scripts.This is important: in any directory (including the top-level one), a\&``make\ install'' will install everything in that directory intothe right place.A ``make\ update'' can only be done in the top-level directory or in the\fIsite\fP directory, and it only replaces scripts, not configuration files.When updating to a new INN release, you will probably want to do an ``update''first, and then review the changed files by doing ``make\ diff'' in the\fIsite\fP directory, and integrate your local changes as appropriate.The Makefile also has other targets that you might find useful, so thecomments for entries like ``most'' and ``installed-diff', for example..PPThe next, and last, step is to build your INN configuration files and utilityscripts.If you have not already done so, type the following:.DScd $inn/sitemake all.DEThis will get copies of the scripts and files from the \fIbackends\fP and the\fIsamples\fP directories and run \fIsubst\fP over them.Whenever patches are issued, doing a \fImake\fP in this directory will letyou know what files have been updated, without destroying your local changes.The \fIgetsafe.sh\fP script does this.If you have either an \fISCCS\fP or an \fIRCS\fP directory then\fIgetsafe.sh\fP will use the appropriate source control system for thefiles in this directory..PPThe first set of files are used to carry out the control messages.You might want to look them over; in particular, look at the table in\fIcontrol.ctl\fP and the newslog manpages in \fIdoc\fP.The control files are:.DS.ta 1.5icheckgroups rmgroupcontrol.ctl sendmedefault sendsysdocheckgroups senduunameihave versionnewgroup writelogparsecontrol.DE.PPThe following scripts are normally invoked by \fIcron\fP or atsystem boot time, and should not require many changes:.DS.ta 1.5iinnlog.awk scanlogsinnstat tally.controlnews.daily tally.unwantedrc.news.DE\fIRc.news\fP starts the server.\fINews.daily\fP invokes \fIexpire\fP and \fIscanlogs\fP.\fIScanlogs\fP calls the other scripts to process the logs.You might want to review these scripts just to see what they do.Do not get bogged down in the details, just read the comments.They are documented in the manpages news.daily(8) newslog(5), and newslog(8)..PPThere are some utility scripts to send news to your news feeds:.DS.ta 1.5inntpsend send-nntpnntpsend.ctl send-uucpsend-ihave sendbatch.DEThey flush and lock the batch file for the specified site(s) and then call\fIinnxmit\fP to send the articles to your downstream feeds.\fISend-ihave\fP is used for ``ihave/sendme'' feeds and is describedin an appendix.\fISendbatch\fP and \fIsend-uucp\fP flush and lock batchfiles and call\fIbatcher\fP to queue up UUCP jobs.You might want to modify these files to change the flags given to \fIuux\fP;the default is to queue jobs up as grade ``d.''You will almost definitely have to edit them to make sure that they properlyparse the output of \fIdf\fP so that your spool area is not overrun!\fINntpsend\fP and \fIsend-nntp\fP do the same thing for NNTP feeds.You must determine how you want to propagate your articles \(em the scriptsgive common ways of getting the job done..PPThe following files will have to be edited to contain your local information.They all have manual pages in the \fIdoc\fP directory that describe them:.DS.ta 1.5iexpire.ctl newsfeedshosts.nntp nnrp.accessinn.conf passwd.nntpmoderators.DE.PPThe last group of files are utility scripts you might find useful:.DS.ta 1.5ictlrun makegroupinncheck scanspoolinnwatch.DE\fICtlrun\fP reads all the articles filed in your ``control'' newsgroupand calls the appropriate control message script to parse them.\fIInncheck\fP is a Perl script to check the syntax and permissions ofan installed INN system.\fIInnreport\fP is an alternate way of summarizing the server's log file.It is a Perl script.\fIInnwatch\fP is a shell script to monitor the system and stop the serverwhen you are running low on disk space or inodes; it could be run out of your\fI_PATH_NEWSBOOT\fP script.You might have to edit it to understand your \fIdf\fP output format.\fIMakegroup\fP is a front-end to \fIrnews\fP that helps you writea control message to create a newsgroup.You should review this script because you might have to change the way theoutput of the \fIdate\fP command is parsed, and because you might mightwant to change the default distribution.\fIScanspool\fP is a Perl script to make sure that the active fileand the contents of your spool tree agree..PPOnce you have made the necessary modifications (and I admit that some ofthis \(em especially the \fInewsfeeds\fP file \(em will be difficult), youshould type the following:.DSmake install.DEMake sure you have \fIrc.news\fP installed in the right place, as explainedin the ``Paths to common programs'' section, above.You might find it useful to read the ``First-Time Usenet or NNTP Installation''appendix for help on navigating through the INN configuration files..PPThere are now only a couple more things to check.First, make sure you have an \fIactive\fP file and a \fIhistory\fP database!The appendices explain how to convert your existing files; the \fIBUILD\fPscript will create new ones for you.If you have Perl, run \fIinncheck\fP to make sure that you have thedatafiles configured correctly.The second is make sure that you have correctly updated your \fIsyslog.conf\fPfile to match the filenames and logging levels required by INN.See \fIsyslog/syslog.conf\fP for an example of what to do..PPOnce you have done all of this, InterNetNews is now installed, and readyto run \(em have fun!.NH 1Heterogeneous Client Installations.PPThe \fIinews\fP program is used by user newsreaders.Programs such as \fIrn\fP (which call \fIPnews\fP) prepare a news articleand feed it into \fIinews\fP.\fIInews\fP validates the news headers, adds its own, and feeds the articleto the campus \fIinnd\fP server.The \fIinews\fP that comes with INN is more useful then the ``mini-inews''that comes with the reference implementation.You cannot run the standard B2.11 \fIinews\fP.You can run the C News \fIinews\fP, but only on client machines (i.e.,those with a \fI$NEWSCTL/server\fP file).I recommend that you install INN's \fIinews\fP on all the clients in yourcampus..PPINN comes with a \fIMakeInews\fP script to make it easier to build andinstall \fIinews\fP on a wide variety of hosts.This script creates a directory and copies all the necessary files (headers,sources, configuration files) into it.The script takes an optional argument, which should name the client machine'sarchitecture.For example:.DScd $inn\&./MakeInews sun3.DEwill create an \fIinews.sun3\fP directory.You can then examine the Makefile in that directory, and build and install\fIinews\fP on your Sun-3 clients.This is easiest if the client NFS-mounts the source directory \(em thatway you can keep all your \fIinews\fP sources in one place..PP\fIRnews\fP only has to be available on the machine where you run UUCP(and perhaps a mail-news gateway).If this is not the same machine as where \fIinnd\fP is running, then the\fIMakeRnews\fP script can be used in the same manner as the \fIMakeInews\fPscript..\" $Revision: 1.10 $.NH 1Known Problems.PPIf you use NIS (formerly Yellow Pages) on SunOS, you will need to adda ``domainname'' entry to your \fIinn.conf\fP file if your hosts donot contain fully-qualified domain names.The most common symptom of this is that \fIinews\fP will fail becauseit cannot generate a Message-ID.Another problem with NIS is that reverse name lookups do not return thefully-qualified domain name.If you know that none of your local clients have a period in their name,you can use a pattern like ``*[^.]*'' in your \fInnrp.access\fP file..PPSunOS4.1.1 has a bug where \fIwrite\fP(2) can return EINTR.The most common symptom is the following fatal error message from \fIinnd\fP:.DSCan't sync history, interrupted system call.DEThis is Sun bug 1052649.It is fixed in patch 100293-01.According to the release manual, it is also fixed in all releases of SunOSsince 4.1.2..PPIf you have \fINOFILE_LIMIT\fP set you should know that the standard I/Olibrary in SunOS4.x has trouble with more than 127 descriptors.The most common symptom is the following fatal error message from \fIinnd\fP:.DScan't fopen /usr/local/news/history, invalid argument.DEThis occurs after doing a \fIctlinnd\fP ``reload'' command.For a work-around, reboot your server instead of trying to ``reload.''Another symptom is that \fIinnd\fP will exit if you do a \fIctlinnd\fP\&``flush'' command while the server is paused or throttled.This is Sun bug 1045141.Sun does not plan to fix it for any 4.x release..PPOne site has reported the same error message happens after doinga sequence of ``throttle'' and ``go'' commands.It does not appear to be related to the bug mentioned above, althoughthe symptom is the same.If you replace the body of INN's \fIxfopena\fP routine with the following,it will work:.DSreturn fopen(p, "a+");.DEThis is in the file \fIlib/xfopena.c\fP..PPIf you use Sun's unbundled compiler, \fIacc\fP, you must make sureto use the unbundled assembler, too.You might also get lots of ``left operand must be modifiable lvalue'' errors.Setting \fIUSE_CHAR_CONST\fP to ``DONT'' will help..PPThere have been reports that the VAX Ultrix 4.2 \fImalloc\fP doesn't workwell with \fIinnd\fP, causing it to slowly fill up all swap space.I believe that all of the memory leaks in \fIinnd\fP have been fixed,but you might want to look at using a different \fImalloc\fP package.The Kingsley/Perl \fImalloc\fP package is provided in the \fIlib\fP directory.Add ``malloc.c'' and ``malloc.o'' to the MISSING_SRC and MISSING_OBJ linesin \fIconfig.data\fP and rebuild..PPI have been told that on SunSoft InteractiveUNIX System V Release 3.2 Version 3.0 systems <errno.h> has beenbroken up into separate files.The easiest way to work around this problem is to add\&``#include\ <net/errno.h>'' to \fIinclude/clibrary.h\fP..PPIf you use 386BSD (the Jolitz port, not the BSDI product) you will have toset \fIACT_STYLE\fP to ``READ''.If you do not do this then the active file will not get updated.Another work-around is to insert an ``msync'' call in the ICDwriteactiveroutine in \fIinnd/icd.c\fP.This is not supported because I consider the 386BSD behavior to be buggy..PPThe default configuration of some Sequent kernels does not provide enoughdescriptors for \fIinnd\fP to run.You might have to rebuild your kernel with the ``MAXNOFILE=128''and ``NOFILEEXT=64'' options.You will also have to had a ``setdtablesize(nnn)'' call in the main routineof \fIinnd\fP, and a ``setdtablesize(0)'' call in the Spawn routine..PPI have been told that some older versions of the SCO \fIopendir\fP routinehave file descriptor leaks.The most noticeable symptom is probably that \fIinnd\fP will die whiletrying to renumber the \fIactive\fP file.You might want to use a freely-redistributable ``dirent'' package suchas one distributed by the Free Software Foundation..PPOn some SVR4 systems, attempting to set the socket buffer size is eithernot supported or, even worse, might result in \fIinnd\fP's data sizegrowing.The most noticeable symptom is ``cant setsockopt(SNDBUF)'' messages inyour \fIsyslog\fP output.To fix this, either comment out the calls to \fIsetsockopt\fP in\fIinnd/nc.c\fP or add ``\-USO_SNDBUF'' to your \fIDEFS\fP configparameter..PPI have heard that Sony SVR4 systems have lots of problems.You must set \fIHAVE_UNIX_DOMAIN\fP to
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -