📄 install.ms
字号:
MISSING_OBJ syslog.o strerror.oMISSING_SRC syslog.c strerror.cPOINTER voidPROF -pQSORTVAL voidSIZE_T unsigned intSLEEPVAL unsigned int_EXITVAL void.DEUltrix also requires the new \fIsyslog\fP.Some sites have reported problems with using the \fIsyslog\fP that INN includes.The file \fIjtkohl-syslog-complete.tar.Z\fP in the \fI/pub/DEC\fPdirectory on gatekeeper.dec.com has a ``for-Ultrix'' package that handlesboth old and new \fIsyslog\fP calls.While Ultrix has symlinks, it does not have the ``\-follow'' option inits \fIfind\fP command.This is used in \fIexpire/makeactive.c\fP; you will have to either installthe GNU \fIfind\fP or edit the source file..NH 1Other Source Preparations.PPIn addition to setting up the configuration file, it might be necessaryto do some other setups..NH 2Systems with old syslogs.PPIf you need to install the \fIsyslog\fP that is distributed with INN, go tothe top of the distribution and type ``make syslogfix''.This will also compile \fIsyslogd\fP, the logging daemon.You should install this to replace your existing daemon, usually in\fI/etc/syslog\fP.You will also need to install the new-style \fIsyslog.conf\fP file..PPIf you cannot replace \fIsyslogd\fP on your machine, then see the file\fIsyslog/README\fP for information on how to set it up as an alternatedaemon..PPIgnore any complaints from \fIlint\fP about the INN sources calling\fIopenlog\fP with the wrong argument count.In fact, if you \fBdon't\fP get any complaints, then something is wrongwith the way \fIsyslog\fP, \fI<syslog.h>\fP, or the \fIlint\fP librariesare set up on your system..NH 2The DBZ package.PPINN uses the DBZ database package.Thanks to Jon Zeeff for his permission to use and redistribute DBZ,as modified by Henry Spencer. INN has its own set of modifications to DBZ.The changes are made with the \fIpatch\fP program and the context diffin \fIlib/dbz.pch\fP.If you don't have \fIpatch\fP installed, then you can make the changesmanually.(If you don't have Larry Wall's \fIpatch\fP program get it from any\fIcomp.sources.unix\fP archive as well as many FSF archives and otherplaces \(em you'll be glad you did.).PPIf you are using \fIvfork\fP (specified in the \fIFORK\fP parameter),or you want to \fImmap\fP the database, then you \fBmust\fP apply the patch.The Makefile in \fIlib\fP will normally do it for you automatically, anyway.The beginning of the patch file describes the changes made in more detail.If you do not apply the patch, then you must add add ``dbzalt.c'' and\&``dbzalt.o'' to the MISSING_SRC and MISSING_OBJ parameters..PPApparently the System V 386 compiler can't optimize \fIdbz.c\fP (theGNU C compiler doesn't have this problem).If you have ``\-O'' in your \fIDBZCFLAGS\fP configuration parameter, thentake it out..NH 2Using writev.PPINN makes extensive use the \fIwritev\fP system call to write severalI/O buffers in a single call.If you do not have \fIwritev\fP then you must copy \fIinclude/uio.h\fP toyour \fI/usr/include/sys\fP directory.You must also add ``writev.c'' and ``writev.o'' to the MISSING_SRC andMISSING_OBJ parameters..PPThe ``fake'' \fIwritev\fP found in the \fIlib\fP directory is not highlyefficient.You might want to write a better one that tries to \fImalloc\fP a newbuffer and join all the elements.Be careful about doing this because \fIinnd\fP can use very big buffers..NH 1Compiling the System.PPOnce the INN sources have been configured, they are ready to be compiled.If you are very confident of your changes, type the following:.DScd $innmake all.DEIf you do not get any errors, skip to the section titled ``Installing theSystem.''.PPIf you are confident, but careful, type:.DScd $innmake worldcat */lint.DEThis will compile everything, then run \fIlint\fP in all directories..PPAnother option is to run the \fIBUILD\fP script found at the top ofthe source tree.This will interactively configure, compile, and install the system.After running that script, skip to the section titled ``Installing theSystem.''.PPIf you are more cautious, you should type the following:.DScd $inn/configmake quietcd ...DEThis will use your already-tested \fIsubst\fP program with your new\fIconfig.data\fP file.You should then follow the steps in the following sections..NH 2Building the Library.PPThe next step is to build the INN library.Do the following.DScd $inn/libmake libinn.a lint.DE.PPThis will build the library and run \fIlint\fP on the sources, puttingthe output into a file named \fIlint\fP.If anything fails to compile, you probably made a configuration error,most likely in the ``C library differences'' section.In particular, double-check the \fISIGHANDLER\fP and \fIxxx_STYLE\fPparameters..PPThe \fIlint\fP output should be almost empty, except for a couple of\&``possible pointer alignment problem'' warnings in \fIdbz.c\fP.If you get much more than this, then you probably did not definethe \fIPOINTER\fP or \fISIZE_T\fP parameters properly.The \fINEW\fP and \fIRENEW\fP macros in \fIinclude/macros.h\fP try tocapture all the alignment problems associated with dynamic memory allocation.Also double-check the \fIALIGNPTR\fP parameter and the \fICAST\fP macro in\fIinclude/macros.h\fP..PPIf \fIlint\fP reports any other problems, you should take the time toinvestigate them.Note that many \fIlint\fP libraries have errors.Also, you may get some problems in \fIyaccpar\fP in \fIparsedate.y\fP; theseare most likely in the \fIyacc\fP-generated C code.If you get any of these, complain to your vendor..PPIf you find a portability issue that I missed, please let me know..PPOnce the library is built, you should install it in the top-level INNdirectory.To do this type ``make\ install'' while still in the \fIlib\fP directory.This will also compile a \fIlint\fP library for use in linting the programsin the other directories..PPNote that any time a change is made to the library you must do\&``make\ install''; it is not enough to type ``make\ libinn.a''.This is a deliberate decision \(em like a program, compiling a libraryis different from making it available for others to use, and installinga library should make it possible to run \fIlint\fP against it..NH 2Compiling the Programs.PPINN's programs are separated into six areas, as detailed in the roadmap.You'll need to build each one before you can install and use INN..NH 3The Frontend Programs.PPFrontends are those programs that talk to the main news server, eitheroffering it articles or controlling its action.This includes the following programs:.IP \fIinews\fP 15The program that validates and prepares news articles and gives them to\fIinnd\fP.This is mostly used by users (usually indirectly, through programs like\fIPnews\fP), but also through special facilities such as news/mailgateways..IP \fIrnews\fP 15Unpacks news batches from UUCP sites and offers them to \fIinnd\fP..IP \fIctlinnd\fP 15This program controls \fIinnd\fP, directing it to do most of thetasks a news administrator will have to do: create newsgroups,update newsfeeds, and the like..PPTo build these programs, type the following:.DScd $inn/frontendsmake all.DE.NH 3Innd.PPThe next program is the main news server, which includes the followingprograms:.IP \fIinnd\fP 15\fIInnd\fP accepts all incoming NNTP connections and either processestheir traffic or hands them off to the NNTP ``newsreader'' server.It accepts articles, files them, and queues them so that they can besent to downstream feeds.\fIInnd\fP listens on the official NNTP port.On most systems only root can do this.\fIInnd\fP is careful to set the modes of any files it creates, as well asthe privileges of any processes it spawns..IP \fIinndstart\fP 15Sites that are concerned about large root-access programs may wishto install \fIinndstart\fP.This program opens the port, changes its user and group ID to be thatof the news administrator, and then \fIexec\fP's \fIinnd\fP with theopen port.It also sets up a secure execution environment.It is a small program (about 100 lines) that is easily understood.You should use it because \fIinnd\fP will run faster because it won'thave to make any \fIchown\fP system calls.If you make \fIinndstart\fP setuid root then no news maintenance has tobe done as root..PPTo build these, type the following:.DScd $inn/inndmake all.DE.PPNote that \fIinnd\fP handles the filing and distribution of certain messagesdifferently from other systems.For example, you can have newsgroups within ``control'' for thedifferent types of control messages.See \fIinnd.8\fP, \fInewsfeeds.5\fP, and \fIactive.5\fP in the \fIdoc\fPdirectory for details..NH 3The NetNews Reading Daemon.PP\fIInnd\fP implements a subset of the NNTP protocol \(em only those commandsthat are needed for peer sites to feed news articles.You must install \fInnrpd\fP to allow users to read news.If a connection comes in from a host that is not a specified feed,then an \fInnrpd\fP process is spawned to handle it.(You can debug \fInnrpd\fP by running it interactively; put an entry forthe host named ``stdin'' in your \fInnrp.access\fP file.).PPBuild the newsreader server by doing the following:.DScd $inn/nnrpdmake all.DENote that if users on a peer machine (one that feeds you news) want toread news from your server, then you have two choices.You can use \fInntpd\fP from the reference platform (See Appendix II)and make sure not to list the peer in your \fInntp.access\fP file.The other choice is to relink the reading software on the other machinewith the INN library so that it uses the ``mode reader'' NNTP commandextension..NH 3The Backend Programs.PPThe backend programs take articles that \fIinnd\fP received and offer themto your news neighbors.This includes the following programs:.IP \fIarchive\fP 15A simple program to archive news articles..IP \fIbatcher\fP 15Collects articles into batches for UUCP delivery..IP \fIbuffchan\fP 15A program to split a single \fIinnd\fP stream into separate files.It can buffer data, flushing files based on command-line switches..IP \fIcvtbatch\fP 15A program to turn a file list into an INN batchfile.A transition aide that is only documented in the source..IP \fIfilechan\fP 15Another program to split a single \fIinnd\fP stream into separate files.It is system-call intensive, but requires no locking protocol..IP \fIinnxmit\fP 15A replacement for \fInntpxmit\fP from the reference implementation.It reads a file containing a list of articles, and sends them to a host..IP \fInntpget\fP 15A program to retrieve articles from a remote site..IP \fIshlock\fP 15A program to provide a locking protocol for shell scripts..IP \fIshrinkfile\fP 15A program to shrink a file by removing lines from the beginning.It is useful for purging backlogged batchfiles..IP \fIsys2nf\fP 15A program to turn a B or C News \fIsys\fP file into an INN \fInewsfeeds\fPfile.This is a transition aide that is only documented in the source..PPTo build this set of programs, type the following:.DScd $inn/backendsmake all.DE.NH 3Expire.PPThis directory includes programs to modify the history databaseas well as some utilities that might be useful in this task.The database is called the \fIhistory\fP file, and it contains oneline for every article on the system, specifying when it was receivedand where it was filed.This file is indexed by the Message-ID, and the DBZ package provides fastretrieval from it..IP \fIconvdate\fP 15Converts between user-readable dates and the format used in the history file..IP \fIexpire\fP 15Scans the history database to purge old entries, and remove old articlesfrom the spool area.You can specify how long to keep sets of newsgroups..IP \fImakeactive\fP 15This program can be used to rebuild the \fIactive\fP file if it islost in a crash..IP \fImakehistory\fP 15This program scans through the spool area and rebuilds the history files..IP \fInewsrequeue\fP 15This program can be used after a crash to resend articles to your neighbors..IP \fIprunehistory\fP 15This is a tool for other programs that expire news.It reads a list of Message-ID's and filenames, and updates the historyfile to mark that the files have been deleted..PPThis directory also includes \fIexpire.pch\fP and \fIreap.pch\fP.The first is a patch to the C News expire program that lets it cooperatebetter with \fIinnd\fP, sending it messages when articles have been removed.The second is a set of patches to the \fIreap\fP program that lets itcooperate with \fIprunehistory\fP; it also adds some other useful features.Both patch files have additional information in them.Both programs are unsupported, provided by members of the beta-test group..PPTo build these programs, type the following:.DScd $inn/expiremake all.DE.PPIf you are currently running C News, note that it has a directory named\fIexpire\fP that is often the same pathname as INN's \fIexpire\fP program.You will have to move, or remove, the directory before you can intallthe INN program.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -