home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / inn-faq / part1 < prev    next >
Internet Message Format  |  1994-08-19  |  38KB

  1. Path: bloom-beacon.mit.edu!hookup!yeshua.marcam.com!zip.eecs.umich.edu!newsxfer.itd.umich.edu!uunet!newsgw.mentorg.com!sdl!not-for-mail
  2. From: tal@Warren.MENTORG.COM (Tom Limoncelli)
  3. Newsgroups: news.software.nntp,news.software.b,news.answers
  4. Subject: INN FAQ Part 1/4: General Information
  5. Supersedes: <inn-faq-1-776059214@Warren.MENTORG.COM>
  6. Followup-To: news.software.nntp
  7. Date: 20 Aug 1994 04:00:16 -0000
  8. Organization: Mentor Graphics - IC Group, Warren, NJ, USA
  9. Lines: 947
  10. Sender: Otal@Warren.MENTORG.COM
  11. Approved: news-answers-request@MIT.Edu
  12. Distribution: world
  13. Expires: 09/04/94
  14. Message-ID: <inn-faq-1-777355214@Warren.MENTORG.COM>
  15. Reply-To: Tom_Limoncelli@Warren.MENTORG.COM (Tom Limoncelli)
  16. NNTP-Posting-Host: sdl.warren.mentorg.com
  17. X-Summary-1: Part 1: Common questions about INN itself, useful to people that do not currently run INN.  Also, some advice specific to certain operating systems.
  18. X-Summary-2: Part 2: Read this AFTER you've read and followed the directions in Install.ms.  Help with getting innd to start.  A tutorial on debugging posting/access problems.  A list of error messages and what they mean.
  19. X-Summary-3: Part 3: Day-to-day operational questions.  General questions asked once INN is running for a while.  Some big changes you can make.  Bug warnings for 1.4, 1.3, 1.2.
  20. X-Summary-4: Part 4: Norman's quick guide to getting started (assumes SunOS and other things), and misc. other things.
  21. Xref: bloom-beacon.mit.edu news.software.nntp:7904 news.software.b:4941 news.answers:24320
  22.  
  23. Posted-By: auto-faq 2.4
  24. Archive-name: inn-faq/part1
  25.  
  26. Last Changed: $Id: FAQ-inn.1,v 1.83 1994/07/25 14:42:35 tal Exp $
  27.  
  28.                   Part 1 of 4
  29.  
  30. INN FAQ Part 1/4: General Information:
  31.                      Questions from people that don't (yet) run INN
  32.                      Specific notes for specific operating systems
  33. INN FAQ Part 2/4: Debugging Guide & Tutorial:
  34. INN FAQ Part 3/4: Operational and Misc. Questions
  35. INN FAQ Part 4/4: Appendix A: Norman's install guide
  36.  
  37.  
  38. ------------------------------
  39.  
  40. Subject:  Table Of Contents for Part 1/4
  41.  
  42. =====================================================================
  43.         TABLE OF CONTENTS FOR PART 1/4:  General Information
  44. =====================================================================
  45.  
  46. QUESTIONS FROM PEOPLE THAT DON'T (YET) RUN INN:
  47.     Where can I get the INN software?
  48.     Where can I get the latest copy of this FAQ?
  49.     What is INN?
  50.     What machines does it run on?
  51.     INN must be really complicated since this FAQ is so long!
  52.     Can I run C News with INN?
  53.     Can I run NNTP with INN?
  54.     Can I run the reference implementation (NNTP1.5) with INN?
  55.     Can I run INN on my UUCP-only machine?
  56.     Suppose I have a 286 machine?
  57.     Does INN implement NOV, xthread (trn) or xuser/xmotd (tin) commands?
  58.     Is an ident or authorization protocol supported?
  59.     Does INN do UUCP batching like C News?
  60.     Help!  How do I configure this beast?
  61.     How do I thank the FAQ maintainer?
  62.  
  63. SPECIFIC NOTES FOR SPECIFIC OPERATING SYSTEMS:
  64.     BASH tips
  65.     AIX tips
  66.     SunOS 4.1.2 tips
  67.     Ultrix tips
  68.     HP-UX tips
  69.     Linux tips
  70.     A/UX 3.0 (Macintosh) tips
  71.     Alpha OSF tips
  72.     Pyramid and system's where only root can have "cron" jobs.
  73.     All System V based Unixes (SVR4, Solaris 2.x, SCO ODT 3.0, A/UX, DELL, ...)
  74.     Solaris 2.x special needs
  75.     3Com Router users
  76.     NOV problems on a Pyramid
  77.     Warnings to people that must set HAVE_UNIX_DOMAIN to DONT
  78.  
  79.  
  80. The FAQ was written by Rich $alz <rsalz@rodan.uu.net> and is now
  81. maintained by Tom Limoncelli <tal@warren.mentorg.com>.
  82.  
  83. These documents would not exist if it weren't for the people that have
  84. submitted questions and (most importantly) answers.  THANK YOU ALL!
  85.  
  86.  
  87. =====================================================================
  88.            QUESTIONS FROM PEOPLE THAT DON'T (YET) RUN INN
  89. =====================================================================
  90.  
  91.  
  92. ------------------------------
  93.  
  94. Subject:  Where can I get the INN software?
  95.  
  96. The official archive site is ftp.uu.net in the directory
  97. networking/news/nntp/inn.  Archie current lists over 30 archive sites;
  98. three other international sites are grasp.insa-lyon.fr in
  99. pub/unix/news/inn, munnari.oz.au in pub/news/inn, and src.doc.ic.ac.uk
  100. in computing/usenet/software/transport
  101.  
  102. The latest version of INN is 1.4sec.  This is rev. 1.4 with a slight
  103. modification of certain shell scripts to fix a security hole.  Do
  104. not run 1.4 without the patch (see part 3/4 of this FAQ).
  105.  
  106.  
  107. ------------------------------
  108.  
  109. Subject:  Where can I get the latest copy of this FAQ?
  110.  
  111. 1.  This four-part FAQ is available via FTP at any FTP site that carries
  112. INN itself.
  113.  
  114. 2.  This FAQ is also posted to news.software.nntp, news.software.b and
  115.     news.answers on the 5th and 20th of every month.
  116.  
  117. 3.  You can also get this FAQ by sending email to
  118. majordomo@warren.mentorg.com with "get file faq-inn-1" on the first
  119. line of the message.  (the Subject: of the message will be ignored.)
  120. (Substitute faq-inn-2, faq-inn-3 or faq-inn-4 to get those parts).
  121.  
  122. For example:
  123.  
  124. % echo get file faq-inn-1 | mail majordomo@warren.mentorg.com
  125. % echo get file faq-inn-2 | mail majordomo@warren.mentorg.com
  126. % echo get file faq-inn-3 | mail majordomo@warren.mentorg.com
  127. % echo get file faq-inn-4 | mail majordomo@warren.mentorg.com
  128.  
  129. or
  130.  
  131. % mail majordomo@warren.mentorg.com
  132. Subject: ignored
  133. get file faq-inn-1
  134. get file faq-inn-2
  135. get file faq-inn-3
  136. get file faq-inn-4
  137. ^D
  138.  
  139. or if you csh and are a total nerd, you can:
  140.     echo 'get file new-inn.'{1,2,3,4}@ \
  141.         | tr @ '\012' | mail majordomo@warren.mentorg.com
  142.  
  143. ...or get a real hobby.
  144.  
  145.  
  146. ------------------------------
  147.  
  148. Subject:  What is INN?
  149.  
  150. For a complete answer, why not read the Usenix paper that introduced
  151. INN to the world?  It's available as
  152. ftp.uu.net:networking/news/nntp/inn/inn.usenix.ps.Z
  153.  
  154. InterNetNews is a complete Usenet system.  The cornerstone of the package
  155. is innd, an NNTP server that multiplexes all I/O.  Think of it as an nntpd
  156. merged with the B News inews, or as a C News relaynews that reads multiple
  157. NNTP streams.  Newsreading is handled by a separate server, nnrpd, that is
  158. spawned for each client.  Both innd and nnrpd have some slight variances
  159. from the NNTP protocol (although in normal use you will never notice); see
  160. the manpages.  INN separates hosts that feed you news from those that have
  161. users reading news.  If you need to support a mixed environment you will have
  162. to do some extra work; the installation manual gives some hints.
  163.  
  164.  
  165. ------------------------------
  166.  
  167. Subject:  What machines does it run on?
  168.  
  169. If you have socket() and select() then INN will probably run on your
  170. machine.  In addition to the common platforms found around the Internet
  171. (SunOS and Ultrix, for example), INN runs on IBM`s AIX, Apple's A/UX,
  172. NeXT, Solaris 2.x, most SVR4 platforms, BSDI, most free BSD systems 
  173. (NetBSD, FreeBSD, ...) and a host of others.  It might require a
  174. little bit of tweaking of some free BSD platforms that have really bad
  175. shells.
  176.  
  177.  
  178. ------------------------------
  179.  
  180. Subject:  INN must be really complicated since this FAQ is so long!
  181.  
  182. No, it's just that the FAQ is very complete.  Part 2 is so long because
  183. it includes a tutorial that tries to turn a beginner into an TCP/IP
  184. protocol expert.  Part 3 is long because the FAQ maintainer is
  185. constantly trying to add every question ever asked on
  186. news.software.nntp.  Maybe someone should volunteer to maintain an
  187. index.
  188.  
  189. A lot of the material could be integrated into the Install.ms doc.
  190.  
  191. Please post questions to news.software.nntp.  Do not send
  192. email to Tom Limoncelli directly.  By posting your question,
  193. a group of 10 or so people will be trying to help you.
  194.  
  195.  
  196. ------------------------------
  197.  
  198. Subject:  Can I run C News with INN?
  199.  
  200. No.  INN handles all article reception, filing, forwarding, and
  201. expiration.  You will get a corrupted database if you try to
  202. run INN with any other news system.  For testing, you can probably shut
  203. down your old system, bring up INN, and then reverse the process.  (INN
  204. uses the C News history file and DBZ database, so if you don't run C News
  205. you will have to do some fiddling around with those files.)
  206.  
  207.  
  208. ------------------------------
  209.  
  210. Subject:  Can I run NNTP with INN?
  211.  
  212. There's a confusion here.  NNTP is a protocol, defined in RFC 977.  There
  213. is also an implementation of the protocol, NNTP1.5, that many people call
  214. NNTP.  When there was only one implementation of the protocol, that was
  215. okay, but now that there are other implementations (for example, INN) it
  216. is getting confusing.  It would be as if "sendmail" were named "smtp."
  217. Please try to be clear -- do you mean the NNTP protocol, or the NNTP
  218. reference implementation currently maintained by Stan Barber?
  219.  
  220.  
  221. ------------------------------
  222.  
  223. Subject:  Can I run the reference implementation (NNTP1.5) with INN?
  224.  
  225. The quick answer is no.  INN listens on the NNTP port and handles all
  226. incoming traffic.  It receives articles, files them, and arranges for
  227. them to be forwarded to your peers.  If a site connects that is not
  228. listed as a peer (e.g., a local workstation that does newsreading) then
  229. the INN server hands the connection off to another program that handles
  230. just the NNTP commands that newsreaders use.  By default, this is nnrpd
  231. (notice the "r"), which implements the NNTP protocol for newsreaders
  232. (for example, it includes the POST command but not the IHAVE command).
  233. You can run the reference implementation server instead of nnrpd if you
  234. want.  Doing this can be useful if you have clients that want to do
  235. both reading and article transfer.
  236.  
  237.  
  238. ------------------------------
  239.  
  240. Subject:  Can I run INN on my UUCP-only machine?
  241.  
  242. Sure.  While not designed for this, several people are running INN on
  243. machines that do not have IP-connectivity (such as UUCP-only hosts) and
  244. are quite happy with it.  You might want to give it a try, especially if
  245. you think you will be joining the Internet some day.
  246.  
  247.  
  248. ------------------------------
  249.  
  250. Subject:  Suppose I have a 286 machine?
  251.  
  252. Won't work.  INN is designed to be a memory hog; a server that has been up
  253. for a few days while will have a working set size of a few to several
  254. megabytes, although not all of it will be resident.  For example, the
  255. server keeps the active file and list of who gets what in memory, as well
  256. as all articles that it is receiving.  Unless you can do things like
  257. "malloc(64 * 1024)" without pain, INN won't work on your machine.
  258.  
  259.  
  260. ------------------------------
  261.  
  262. Subject:  Does INN implement NOV, xthread (trn) or xuser/xmotd (tin) commands?
  263.  
  264. Newsreaders all need some way to quickly grab data from
  265. a range of articles.  trn, tin, nn, and others each developed
  266. their own database format, and their own extensions to the NNTP
  267. protocol for clients to read the database.  Then, Geoff Collyer
  268. invented NOV, the database to end all other databases.
  269.  
  270. Rather than support a different database format for each newsreader,
  271. INN supports Geoff Collyer's news overview database, NOV.  INN includes
  272. everything you need to create/maintain/expire NOV's .overview files.
  273. You only need Geoff's distribution (available via FTP on world.std.com
  274. src/news/nov.dist.tar.Z) if you want to see how he implements things,
  275. or to get his client library (useful when building some newsreaders).
  276.  
  277. It is very easy to configure INN to use NOV.  Read Part 3/4 of
  278. this faq: Subject: Cookbook example setting up NOV ("overchan")
  279. NB: The NOV code in INN 1.3 is buggy.  Use 1.4 or higher.
  280.  
  281. The xover command is used for querying the NOV database.  The xover
  282. command is very smart in that if the article has been canceled, the
  283. data isn't given out.  If the article is so new that it's data isn't in
  284. the NOV database, nnrpd opens the article and digs out the data.  xhrd
  285. and xpat make every effort to use NOV data before they dig the data out
  286. of the actual articles, thus making them considerably faster than other
  287. implementations.  The "xoverview" command does not exist.  If your
  288. server supports this command you need to upgrade.
  289.  
  290. What about TRN's xthread command?
  291.  
  292. The xthread command has code but it is not supported; look at
  293. $inn/nnrpd/nnrpd.h.  This code will probably vanish after 1.4.
  294.  
  295. What about TIN's many commands?
  296.  
  297. Tin commands are not supported.  However, other people have
  298. added TIN support.  See the next section.
  299.  
  300.  
  301.  
  302. ------------------------------
  303.  
  304. Subject:  Is an ident or authorization protocol supported?
  305.  
  306. An unsupported patch for nnrpd to add ident support can be found via
  307. FTP at ftp.csie.nctu.edu.tw:/pub/news/nnrpd-identd-patch.shar.gz.  It
  308. includes patches to add tin's xuser and xmotd commands as well as a
  309. list subscription system. (skhuang@csie.nctu.edu.tw)
  310.  
  311. Remember: ident information is only as valid as the server you connect
  312. to.  Any fool with root access (or anyone with a PC or Mac) can create
  313. a bogus ident server that will give out whatever information they want
  314. you to see.  It's not an authorization or identification protocol, it's
  315. just informational.
  316.  
  317. The authd protocol is added to nnrpd by <nhiro@isci.kyutech.ac.jp>.
  318. This unsupported patch can be found in
  319. ftp.geophys.hokudai.ac.jp:/pub/network/news/inn/patches/authd-patch-1.3.tar.gz
  320. The documentation is in Japanese.  Good luck.
  321.  
  322. In a future release, you will be able to log all POST commands with
  323. ident information if you so choose.  (Maybe INN 1.5)
  324.  
  325.  
  326. ------------------------------
  327.  
  328. Subject:  Does INN do UUCP batching like C News?
  329.  
  330. Not as part of the standard distribution.  The batching system right
  331. now is better than B News, but Rich has said he will be working on
  332. improving that part of INN in a future release.  Christophe Wolfhugel
  333. <Christophe.Wolfhugel@grasp.insa-lyon.fr> has written a package that is
  334. very much like the C News batching system, however.  You can find it on
  335. grasp.insa-lyon.fr in the pub/unix/news/inn/contrib directory.
  336.  
  337. Version 3 of Christophe's package includes a shell version and a Perl
  338. version.  Version 4, not yet planned will only be in Perl.  The
  339. configuration file has evolved from older releases in order to support
  340. new features like "minimum batching".
  341.  
  342.  
  343. ------------------------------
  344.  
  345. Subject:  Help!  How do I configure this beast?
  346.  
  347. READ AND FOLLOW THE "Install.ms" FILE.  This FAQ is meant to add to
  348. what Install.ms says not replace it.
  349.  
  350. Many people that thought the Install.ms doc was incomplete later
  351. re-read the "First Time Installation" portion and were amazed how much
  352. they missed (or just plain skipped) the first time.
  353.  
  354. You should also purchase the O'Reilly And Associates book on Managing
  355. Usenet to give yourself a good grounding on how to run a site.
  356.  
  357.  
  358. ------------------------------
  359.  
  360. Subject:  How do I thank the FAQ maintainer?
  361.  
  362. If you find this document useful, please consider making a donation to
  363. the maintainer's favorite charity:
  364.  
  365.     The Personal Liberty Fund
  366.     PO Box 11335
  367.     New Brunswick, NJ 08906-1335
  368.     USA
  369.  
  370. The PLF is a legal and educational organization which helps people in
  371. New Jersey, USA.  They have many on-going projects which range from
  372. combating youth suicide to legal advocacy.  Their Anti-Violence Project
  373. runs a phone hotline for reporting gay-bashing which helps hundreds of
  374. people a year.  The PLF is an all-volunteer organization and couldn't
  375. survive without donations.  The PLF is recognized by the IRS as a
  376. 501(c)3 tax-exempt charity.  Donations are tax deductible to the
  377. fullest extent of the law (U.S. citizens only).  Please write "INN" in
  378. the memo field of the check.
  379.  
  380.  
  381. ======================================================================
  382.             SPECIFIC NOTES FOR SPECIFIC OPERATING SYSTEMS
  383. ======================================================================
  384.  
  385. ------------------------------
  386.  
  387. Subject: BASH tips
  388.  
  389. If you are using a Unix who's /bin/sh is a hardlink to
  390. bash, you'll find problems using nntpsend.  nntpsend uses
  391. a variable named PPID, which is a read-only variable in BASH.
  392.  
  393. You'll get errors that look like this:
  394. sh: PPID: read-only variable
  395.  
  396. You can fix it using the the following patch:
  397.  
  398.  
  399. *** nntpsend~   Thu Aug 12 03:36:16 1993
  400. --- nntpsend    Sat Oct 23 15:54:11 1993
  401. ***************
  402. *** 1,4 ****
  403. ! #! /bin/sh
  404.   ##  $Revision: 1.83 $
  405.   ##  Send news via NNTP by running several innxmit processes in the background.
  406.   ##  Usage:
  407. --- 1,4 ----
  408. ! #!/usr/local/bin/bash
  409.   ##  $Revision: 1.83 $
  410.   ##  Send news via NNTP by running several innxmit processes in the background.
  411.   ##  Usage:
  412. ***************
  413. *** 130,140 ****
  414.       chmod 0660 ${LOG}
  415.       exec >>${LOG} 2>&1
  416.   fi
  417. ! PPID=$$
  418. ! echo "${PROGNAME}: [${PPID}] start"
  419.   
  420.   ##  Set up environment.
  421. ! export BATCH PROGNAME PPID INNFLAGS
  422.   
  423.   ##  Loop over all sites.
  424.   cat ${INPUT} | while read SITE HOST MAXSIZE FLAGS; do
  425. --- 130,140 ----
  426.       chmod 0660 ${LOG}
  427.       exec >>${LOG} 2>&1
  428.   fi
  429. ! CPID=$$
  430. ! echo "${PROGNAME}: [${CPID}] start"
  431.   
  432.   ##  Set up environment.
  433. ! export BATCH PROGNAME CPID INNFLAGS
  434.   
  435.   ##  Loop over all sites.
  436.   cat ${INPUT} | while read SITE HOST MAXSIZE FLAGS; do
  437. ***************
  438. *** 240,246 ****
  439.       fi
  440.   
  441.       ##  Start sending this site in the background.
  442. !     export SITE HOST LOCKS BATCHFILE PROGNAME PPID SIZE TMPDIR
  443.       sh -c '
  444.         BATCHFILE=${HOST}.nntp
  445.         LOCK=${LOCKS}/LOCK.${HOST}
  446. --- 240,246 ----
  447.       fi
  448.   
  449.       ##  Start sending this site in the background.
  450. !     export SITE HOST LOCKS BATCHFILE PROGNAME CPID SIZE TMPDIR
  451.       sh -c '
  452.         BATCHFILE=${HOST}.nntp
  453.         LOCK=${LOCKS}/LOCK.${HOST}
  454. ***************
  455. *** 247,253 ****
  456.         trap "rm -f ${LOCK} ; exit 1" 1 2 3 15
  457.         shlock -p $$ -f ${LOCK} || {
  458.             WHY="`cat ${LOCK}`"
  459. !           echo "${PROGNAME}: [${PPID}:$$] ${HOST} locked ${WHY} `date`"
  460.             exit
  461.         }
  462.         if [ -f ${SITE}.work ] ; then
  463. --- 247,253 ----
  464.         trap "rm -f ${LOCK} ; exit 1" 1 2 3 15
  465.         shlock -p $$ -f ${LOCK} || {
  466.             WHY="`cat ${LOCK}`"
  467. !           echo "${PROGNAME}: [${CPID}:$$] ${HOST} locked ${WHY} `date`"
  468.             exit
  469.         }
  470.         if [ -f ${SITE}.work ] ; then
  471. ***************
  472. *** 254,259 ****
  473. --- 254,260 ----
  474.             cat ${SITE}.work >>${BATCHFILE}
  475.             rm -f ${SITE}.work
  476.         fi
  477. +       if [ -s ${SITE} ] ; then
  478.         mv ${SITE} ${SITE}.work
  479.         if ctlinnd -s -t30 flush ${SITE} ; then
  480.             cat ${SITE}.work >>${BATCHFILE}
  481. ***************
  482. *** 260,273 ****
  483.             rm -f ${SITE}.work
  484.             test -n "${SIZE}" && shrinkfile -s${SIZE} -v ${BATCHFILE}
  485.             if [ -s ${BATCHFILE} ] ; then
  486. !               echo "${PROGNAME}: [${PPID}:$$] begin ${HOST} `date`"
  487. !               echo "${PROGNAME}: [${PPID}:$$] innxmit ${INNFLAGS} ${HOST} ..."
  488.                 eval innxmit ${INNFLAGS} ${HOST} ${BATCH}/${BATCHFILE}
  489. !               echo "${PROGNAME}: [${PPID}:$$] end ${HOST} `date`"
  490.             else
  491.                 rm -f ${BATCHFILE}
  492.             fi
  493.         fi
  494.         rm -f ${LOCK}
  495.       ' &
  496.       sleep 5
  497. --- 261,275 ----
  498.             rm -f ${SITE}.work
  499.             test -n "${SIZE}" && shrinkfile -s${SIZE} -v ${BATCHFILE}
  500.             if [ -s ${BATCHFILE} ] ; then
  501. !               echo "${PROGNAME}: [${CPID}:$$] begin ${HOST} `date`"
  502. !               echo "${PROGNAME}: [${CPID}:$$] innxmit ${INNFLAGS} ${HOST} ..."
  503.                 eval innxmit ${INNFLAGS} ${HOST} ${BATCH}/${BATCHFILE}
  504. !               echo "${PROGNAME}: [${CPID}:$$] end ${HOST} `date`"
  505.             else
  506.                 rm -f ${BATCHFILE}
  507.             fi
  508.         fi
  509. +       fi
  510.         rm -f ${LOCK}
  511.       ' &
  512.       sleep 5
  513. ***************
  514. *** 275,278 ****
  515.   
  516.   wait
  517.   rm -f ${INPUT}
  518. ! echo "${PROGNAME}: [${PPID}] stop"
  519. --- 277,280 ----
  520.   
  521.   wait
  522.   rm -f ${INPUT}
  523. ! echo "${PROGNAME}: [${CPID}] stop"
  524.  
  525.  
  526. ------------------------------
  527.  
  528. Subject:  AIX tips
  529.  
  530. Q: When I run news.daily, there's always a few lines of error
  531. messages at the end of the output:
  532.  
  533.     compress: bad file number
  534.  
  535. A:  AIX /usr/bin/compress has a bug when compressing files with zero
  536. length. Then it spits out this error.  Solution: Ignore it or use a
  537. different compress programm and change config.data accordingly.
  538. (from Kurt Jaeger <pi@rus.uni-stuttgart.de>)
  539.  
  540. Q:  innwatch doesn't work well from /etc/inittab, does it?
  541.  
  542. A:  Nope.  Instead, you can create a "subsystem" with this command:
  543.  
  544. mkssys -s innwatch -p /usr/local/news/bin/innwatch -u `id -u news` -G news -S -n 15 -f 9
  545.  
  546. Note that your path to innwatch may differ, depending on where you
  547. decided to install the inn components.  You also need to enter the
  548. command as one long line.
  549.  
  550. This will create a subsystem named "innwatch" belonging to an SRC group
  551. named "news".  The "-S" means that it uses signals for SRC to tell it
  552. when to stop and the "-n" is the SIGTERM signal, for normal shutdown,
  553. and the "-f" is the SIGKILL signal, which is sent if the process does
  554. not stop within 20 seconds.  Then, modify rc.news to issue the command
  555.  
  556.     startsrc -s innwatch
  557.  
  558. to get innwatch going.  That's it!
  559.  
  560. Shane Castle <swcxt@boco.co.gov, swcxt@csn.org>
  561.  
  562. Q:  What can I change in innwatch.ctl to make it work right?
  563.  
  564. A:  "df" has output that is a little different than other systems.
  565. Basicly, you want to 'print $3' (not 'print $4') when doing a "df" and
  566. "df -i" lines should 'print $7' (not 'print $3').
  567.  
  568. Here are diffs:
  569.  
  570. *** innwatch.ctl        Wed Apr 20 23:17:58 1994
  571. --- innwatch.ctl.aix    Mon Jul 11 14:28:34 1994
  572. ***************
  573. *** 28,40 ****
  574.   !load!+! uptime | tr -d ,. | awk '{ print $(NF - 2) }' ! gt ! 1500 ! pause ! loadav
  575.   
  576.   ##  If load is OK, check space (and inodes) on various filesystems
  577. ! ##  =()<!!! df . | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_SPOOLSPACE>@ ! throttle ! No space (spool)>()=
  578. ! !!! df . | awk 'NR == 2 { print $4 }' ! lt ! 8000 ! throttle ! No space (spool)
  579.   ##  =()<!!! df /nb/news2 | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_SPOOLSPACE>@ ! throttle ! No space (news.spool2)>()=
  580.   !!! df /nb/news2 | awk 'NR == 2 { print $4 }' ! lt ! 8000 ! throttle ! No space (news.spool2)
  581. ! ##  =()<!!! df @<_PATH_BATCHDIR>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_BATCHSPACE>@ ! throttle ! No space (newsq)>()=
  582. ! !!! df /var/spool/news/out.going | awk 'NR == 2 { print $4 }' ! lt ! 800 ! throttle ! No space (newsq)
  583. ! ##  =()<!!! df @<_PATH_NEWSLIB>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_LIBSPACE>@ ! throttle ! No space (newslib)>()=
  584. ! !!! df /usr/lib/news | awk 'NR == 2 { print $4 }' ! lt ! 20000 ! throttle ! No space (newslib)
  585. ! ##  =()<!!! df -i . | awk 'NR == 2 { print $3 }' ! lt ! @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
  586. ! !!! df -i . | awk 'NR == 2 { print $3 }' ! lt ! 200 ! throttle ! No space (spool inodes)
  587. --- 28,40 ----
  588.   !load!+! uptime | tr -d ,. | awk '{ print $(NF - 2) }' ! gt ! 1500 ! pause ! loadav
  589.   
  590.   ##  If load is OK, check space (and inodes) on various filesystems
  591. ! ##  =()<!!! df . | awk 'NR == 2 { print $3 }' ! lt ! @<INNWATCH_SPOOLSPACE>@ ! throttle ! No space (spool)>()=
  592. ! !!! df . | awk 'NR == 2 { print $3 }' ! lt ! 8000 ! throttle ! No space (spool)
  593.   ##  =()<!!! df /nb/news2 | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_SPOOLSPACE>@ ! throttle ! No space (news.spool2)>()=
  594.   !!! df /nb/news2 | awk 'NR == 2 { print $4 }' ! lt ! 8000 ! throttle ! No space (news.spool2)
  595. ! ##  =()<!!! df @<_PATH_BATCHDIR>@ | awk 'NR == 2 { print $3 }' ! lt ! @<INNWATCH_BATCHSPACE>@ ! throttle ! No space (newsq)>()=
  596. ! !!! df /var/spool/news/out.going | awk 'NR == 2 { print $3 }' ! lt ! 800 ! throttle ! No space (newsq)
  597. ! ##  =()<!!! df @<_PATH_NEWSLIB>@ | awk 'NR == 2 { print $3 }' ! lt ! @<INNWATCH_LIBSPACE>@ ! throttle ! No space (newslib)>()=
  598. ! !!! df /usr/lib/news | awk 'NR == 2 { print $3 }' ! lt ! 20000 ! throttle ! No space (newslib)
  599. ! ##  =()<!!! df -i . | awk 'NR == 2 { print $7 }' ! lt ! @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
  600. ! !!! df -i . | awk 'NR == 2 { print $7 }' ! lt ! 200 ! throttle ! No space (spool inodes)
  601.  
  602.  
  603. ------------------------------
  604.  
  605. Subject:  SunOS 4.1.2 tips
  606.  
  607. SunOS 4.1.2 (but not 4.1.1 or 4.1.3) broke the write system call but a
  608. patch is available.  Any write could fail "half way", it is just more
  609. likely to happen when writing large files and in-core DBZ writes the
  610. history file out in one chunk.  See the "Known Problems" section of the
  611. installation manual.
  612.  
  613.  
  614. ------------------------------
  615.  
  616. Subject:  Ultrix tips
  617.  
  618. Tip #1:  Ultrix has a "mmap()" function, but it doesn't do the same
  619. thing as the SunOS/BSD mmap() function.  Therefore, do not configure
  620. INN to use mmap() on a Ultrix system.  INN wants to find a mmap()
  621. function that is like the one on SunOS/BSD systems.
  622.  
  623. Tip #2:  The sendsys script breaks Ultrix 'nawk'.  You can make
  624. a 1-line change or you can switch to 'awk' or "gawk".
  625. Original line:
  626.     ${AWK} "/^$1"'[/:\\]/,/[^\\]$/' ${NEWSFEEDS} >${TEMP}
  627. Modified line:
  628.     ${AWK} "/^$1"'[\/:\\]/,/[^\\]$/' ${NEWSFEEDS} >${TEMP}
  629. The original line will work with awk, gawk, but not nawk.
  630. The modified line will work with awk, gawk, or nawk.
  631. If you have gawk running on your machine use it.  Otherwise, switch to
  632. awk.
  633.  
  634. Tip #3: The syslog on Ultrix sucks rotten eggs and Digital refuses to
  635. fix it.  (source: everyone that uses Ultrix and has ever used other
  636. systems)  Luckily, you can replace it with the routine that comes with
  637. INN.  However, some people have had better luck installing the syslog
  638. that can be found on
  639. "gatekeeper.dec.com:/pub/DEC/jtkohl-syslog-complete.tar.Z".  It still
  640. works with old clients but does new-style syslogging, too.  Works great
  641. for me so far.  (this information from:  nelson@reed.edu (Nelson
  642. Minar)).  The syslog that is shipped with INN works pretty well but
  643. there have been some claims that some old clients don't like it.
  644.  
  645.  
  646. ------------------------------
  647.  
  648. Subject:  HP-UX tips
  649.  
  650. Q.  My logs keep telling me there is no space for articles
  651. A.  Edit innwatch.ctl to use "bdf" instead of "df".
  652.  
  653. Q. I am running inn on an HP machine. INN won't start up automatically.
  654. I can start it manually.  There is no problem with news or INN once
  655. it is started.
  656.  
  657. A.  Try adding a "sleep 10" to the bottom of /etc/rc.news, or in
  658. /etc/rc, right after /etc/rc.news is invoked.  On some machines,
  659. including HP, the shell started by "#!/bin/sh" when /etc/rc is executed
  660. will exit before innd has disassociated itself from that shell.  This
  661. causes innd to exit, sometimes without printing an error message.
  662. (source: pjoslin@mbvlab.wpafb.af.mil (Paul Joslin ))
  663.  
  664. This problem goes away if you set HAVE_SETSID to "DO".  Something to do
  665. with Posix Session Leader concepts.  Ick.  (source: Steve Howie 
  666. <scotty@piranha.cs.uoguelph.ca>)
  667.  
  668. HP-UX 8.x and 9.x users might find a problem with getting innwatch to
  669. start up.  People have found that having "at" start it seems to work
  670. more reliably than other methods:
  671.  
  672. ${DOINNWATCH} && {
  673.     echo "${INNWATCH} &" | su ${NEWSUSER} -c 'at now + 2 min' > /dev/null
  674. }
  675.  
  676. The '&' in the command line prevents innwatch from taking up an at-job 
  677. slot.  SysV-style crons have a per-category and overall limit on the 
  678. number of jobs executing simultaneously.
  679.  
  680.  
  681. ------------------------------
  682.  
  683. Subject:  Linux tips
  684.  
  685. | nntpsend.log says the following.
  686.  
  687. | nntpsend: [214:222] innxmit -a -t300 -T1800
  688. | travelers.mail.cornell.edu ...
  689. | Ignoring line "cornell/test/13 805 ..."
  690. | sh: PPID read-only variable
  691.  
  692. Tomasz Surmacz <tsurmacz@ict.pwr.wroc.pl> writes:
  693.  
  694. If you are using INN under Linux or have your /bin/sh a symlink to
  695. /bin/bash the above problem appears (in nntpsend precisely speaking,
  696. not innxmit)
  697.  
  698. The problem is that bash already defines the PPID variable and
  699. nntpsend is trying to use it too.  To fix this:
  700.  
  701. 1. comment out line PPID = $$
  702. 2. change all occurences of PPID to say PARENTPID
  703.  
  704. I have also noticed that changing first line of nntpsend from
  705. '#!/bin/sh' to "!/bin/bash" helps in such occasions.
  706.  
  707.  
  708. ------------------------------
  709.  
  710. Subject:  A/UX 3.0 (Macintosh) tips
  711.  
  712. Tip #1: Use the INN malloc.
  713.  
  714. Tip #2:  If you are running INN 1.4 on a Mac running A/UX 3.0.1, Every
  715. so often, (generally when someone fires up a reader), INN goes beserk.
  716. Syslog says:
  717.  
  718.     innd: ME cant select Bad file number
  719.  
  720. This message repeats about 20 times per second.  It freezes up my
  721. computer and I need to reboot.
  722.  
  723. That's a kernel bug. You do have to reboot.
  724.  
  725. If you compiled inn with gcc, don't. My experience was that somehow, if
  726. INN was compiled with GCC the kernel bug is triggered, but that doesn't
  727. happen with cc.
  728.  
  729.  
  730. ------------------------------
  731.  
  732. Subject:  Alpha OSF tips:
  733.  
  734. To compile INN for the DEC Alpha, follow the instructions in the INN
  735. patch archive on ftp.pop.psu.edu:/pub/src/news/inn-patches
  736.  
  737. In rc.news you need to start $INNWATCH using the following:
  738.  
  739. ${DOINNWATCH} && {
  740.     echo "${INNWATCH} &" | su ${NEWSUSER} -c 'at now + 2 min' > /dev/null
  741. }
  742.  
  743. The '&' in the command line prevents innwatch from taking up an at-job
  744. slot.  SysV-style crons have a per-category and overall limit on the 
  745. number of jobs executing simultaneously.
  746.  
  747.  
  748.  
  749. ------------------------------
  750.  
  751. Subject:  Pyramid and system's where only root can have "cron" jobs.
  752.  
  753. Your cron jobs may not work if you use:
  754.  
  755.     su news -c /usr/lib/news/bin/news.daily delayrm expireover
  756.  
  757. Instead, you must put the entire command in quotes.  Like this:
  758.  
  759.     su news -c "/usr/lib/news/bin/news.daily delayrm expireover"
  760.  
  761. Look for "Pyramid" in part ??? of this FAQ for details.
  762.  
  763. ------------------------------
  764.  
  765. Subject:  System V based Unixes (SVR4, Solaris 2.x, SCO ODT 3.0, A/UX, DELL, ...)
  766.  
  767. If you are running any non-BSD (i.e. System V based) Unix you MUST have
  768. the following option set:
  769.  
  770. ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  771. #### =()<CLX_STYLE              @<CLX_STYLE>@>()=
  772. CLX_STYLE               FCNTL
  773.  
  774. This includes SVR4, Solaris 2.x, A/UX and SCO ODT 3.0.  (SVR4 means
  775. systems based on System V Release 4 from USL.  Please check your manual
  776. to see if your operating system is based on SVR4.)
  777.  
  778. This CLX_STYLE setting is clearly stated in the Install.ms file and
  779. repeated here since so many people post to news.software.nntp after
  780. ignoring the warnings.
  781.  
  782. If CLX_STYLE isn't set to FCNTL, you'll get tons of overchan processes
  783. hanging around.
  784.  
  785. With SCO ODT 3.0 and MOST systems, innd will link and run if you use
  786. IOCTL but eventually will stop answering incoming calls.
  787.  
  788. Don't be fooled.  Just because it compiles doesn't mean it's going to
  789. work.
  790.  
  791. If you start innd on an AT&T SysV Rel 4.0 machine and get syslog
  792. messages like:
  793.     localhost:15 cant setsockopt(SNDBUF) Protocol error
  794.     localhost:15 cant setsockopt(RCVBUF) Protocol error
  795. then you should FIRST try to change HAVE_UNIX_DOMAIN to "DONT" in
  796. config.data.  If that doesn't fix the problem, you should comment out
  797. the "setsockopt()" calls and things will work.
  798.  
  799. Many SVR4 for i486 binaries (sendmail, mh, vmail, innd, rnews are now
  800. on ftp.germany.eu.net in pub/comp/i486/svr4/*.SVR4.tgz But remember
  801. that some of the above need site specific changes, so their usefulness
  802. may be limited.
  803.  
  804. If you get syslog messages that say, "ME cant accept RCreader"
  805. please refer to Part 2 of this FAQ.
  806.  
  807. DELL ships their Unix with /dev/log chmod'ed to 0644 which means nobody
  808. can syslog anything.  Pretty stupid, eh?  INN uses syslog extensively.
  809. If you find that you don't get any syslog messages check to see if you
  810. need to: "chmod 0666 /dev/log".
  811.  
  812. If your SVR4 system still doesn't run correctly, check the
  813. Solaris 2.x suggestions.
  814.  
  815.  
  816. ------------------------------
  817.  
  818. Subject:  Solaris 2.x special needs
  819.  
  820. If "inews" outputs "Bad Message-ID" when posting Under Solaris 2.x
  821. (where x = 0, 1, 2 or 3) you need to change the file "getfqdn.c".  Find
  822. the lines that read:
  823.  
  824.     if (strchr(hp->h_name, '.') == NULL) {
  825.         /* Try to force DNS lookup if NIS/whatever gets in the way. */
  826.         (void)strncpy(temp, buff, sizeof buff);
  827.         (void)strcat(temp, ".");
  828.         hp = gethostbyname(temp);
  829.     }
  830.  
  831. and delete them.
  832.  
  833. Under Solaris 2.[012] (SunOS 5.0, 5.1, 5.2) you must add the following
  834. at the beginning of each file using gethostbyname():
  835.  
  836. #define gethostbyname __switch_gethostbyname
  837.  
  838. Under Solaris 2.3 gethostbyname() might work without changes depending
  839. on your configuration.  We haven't figured out when they work and when
  840. they don't.  If you run into problems, try to change "gethostbyname()"
  841. to "solaris_gethostbyname()" and then use the gethostbyname() listed in
  842. the Solaris Porting FAQ.  This isn't a perfect solution, because you
  843. now need a different binary for Solaris 2.[012] systems.
  844.  
  845. It would be great if someone were to submit a solaris_gethostbyname()
  846. function who's binary works under all Solaris revs and gives all the
  847. semantics of BSD gethostbyname().  In particular, one that doesn't have
  848. the problems discussed in sun bugid #1126573 or #1135988.  It would be
  849. amazing if this was submitted by one of the many Sun employees that
  850. flame the INN FAQ maintainer in comp.sys.sun.admin everytime he bitches
  851. about how much he hates Solaris 2.x. :-)
  852.  
  853. Under all Solaris 2.* versions there is a problem with innwatch.ctl.
  854. It expects to use "df -i" to find out how many inodes are free on your
  855. disk.  /usr/{sbin,5bin,bin}/df doesn't support the "-i" option, it has
  856. a "-e" option that outputs the info you want, but in a different
  857. format.  You should use "/usr/ucb/df -i" instead, since this version of
  858. df includes the "-i" option.
  859.  
  860. /usr/ucb/df is part of the BSD Compatibility stuff.  If you loaded
  861. Solaris 2.x without that, you can replace innwatch.ctl's disk checks
  862. with these lines:
  863.  
  864. ##  If load is OK, check space (and inodes) on various filesystems
  865. ##  =()<!!! /usr/bin/df -k . | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_SPOOLSPACE>@ ! throttle ! No space (spool)>()=
  866. !!! /usr/bin/df -k . | awk 'NR == 2 { print $4 }' ! lt ! 8000 ! throttle ! No space (spool)
  867. ##  =()<!!! /usr/bin/df -k @<_PATH_BATCHDIR>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_BATCHSPACE>@ ! throttle ! No space (newsq)>()=
  868. !!! /usr/bin/df -k /news2/spool/out.going | awk 'NR == 2 { print $4 }' ! lt ! 800 ! throttle ! No space (newsq)
  869. ##  =()<!!! /usr/bin/df -k @<_PATH_NEWSLIB>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_LIBSPACE>@ ! throttle ! No space (newslib)>()=
  870. !!! /usr/bin/df -k /news2/privcontrol | awk 'NR == 2 { print $4 }' ! lt ! 40000 ! throttle ! No space (newslib)
  871. ##  =()<!!! /usr/bin/df -k @<_PATH_OVERVIEWDIR>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_OVERVIEWSPACE>@ ! throttle ! No space (overview)>()=
  872. !!! /usr/bin/df -k /news3/overview | awk 'NR == 2 { print $4 }' ! lt ! 6000 ! throttle ! No space (overview)
  873. ##  =()<!!! /usr/bin/df -e . | awk 'NR == 2 { print $2 }' ! lt ! @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
  874. !!! /usr/bin/df -e . | awk 'NR == 2 { print $2 }' ! lt ! 200 ! throttle ! No space (spool inodes)
  875.  
  876. Don't run the "lint" step if you use Solaris.  In fact, nobody needs to
  877. execute this step except Rich, when he's writing new code.  If you have
  878. a Solaris machine without "lint", just make "lint" a symlink to
  879. "/bin/echo".
  880.  
  881. People running Solaris 2.3 have built INN with HAVE_UNIX_DOMAIN set to
  882. TRUE and everything seems to be ok.  I guess Sun has fixed enough
  883. bugs in 2.3 to make it usable.  I recommend the latest "recommended
  884. patches" if you run any version of Solaris 2.x.
  885.  
  886.  
  887. ------------------------------
  888.  
  889. Subject:  3Com Router users
  890.  
  891. If you observe strange behavior, like nnrpd locking and not sending
  892. some articles to the clients, and if you find no clues about other
  893. potential problems, then check your IP layer: some users have observed
  894. bugs in the IP implementation of 3Com routers caused TCP
  895. sessions lock outs.  You have very probably also NFS problems then.
  896. Upgrading to the latest PROMs fixes this totally bizarre problem.
  897.  
  898.  
  899. ------------------------------
  900.  
  901. Subject:  NOV problems on a Pyramid
  902.  
  903. Q:  I just turned on the overview stuff and I don't think news.daily is
  904. properly expiring the .overview files.  I'm using a Pyramid.
  905.  
  906. A:  Do you need quotes in your crontab entry?  Look at your news.daily
  907. report -- expire using "expireover delayrm" should take a few minutes.
  908. If it takes longer than, say, 10-20 minutes, then the keywords aren't
  909. being seen by news.daily so perhaps the commandline quoting is wrong.
  910.  
  911. i.e. you had:
  912.  
  913.     su news -c /usr/lib/news/bin/news.daily delayrm expireover
  914.  
  915. You should have:
  916.  
  917.     su news -c "/usr/lib/news/bin/news.daily delayrm expireover"
  918.  
  919.  
  920. ------------------------------
  921.  
  922. Subject:  Warnings to people that must set HAVE_UNIX_DOMAIN to DONT
  923.  
  924. Disclaimer:  First of all, if you have to set HAVE_UNIX_DOMAIN to DONT,
  925. YOU HAVE TO SET IT to DONT.  It's not a choice you can make, it's a
  926. description of the operating system that you've purchased.  If you've
  927. wrongly set this variable to DO your system isn't going to work *at*
  928. *all*.
  929.  
  930. When you use POST (the NNTP command), you are talking to nnrpd.  nnrpd
  931. cleans up your headers, adds the missing headers that it is allowed to
  932. add, checks whatever it checks, and then submits the finalized version
  933. to innd.  How does it talk to innd?
  934.  
  935. If you have HAVE_UNIX_DOMAIN set to DO, nnrpd opens a Unix domain
  936. socket and sends the text.  At this point it is talking to innd
  937. somewhat like ctlinnd does.  innd can trust that the post isn't
  938. forged since it is coming from a program trustworthy enough to
  939. get to the socket (which isn't much).
  940.  
  941. If you have HAVE_UNIX_DOMAIN set to DONT, it has no choice but to open
  942. a socket to port 119, issue the "IHAVE" command, and send the text that
  943. way (just like a remote newsreader).  This means that innd (not another
  944. nnrpd) has to be at the other end of the pipe.  If it opens the
  945. connection and sees a "nnrpd" you're hosed and you get "441 480
  946. Transfer permission denied".  (Better the "441 480" message than an
  947. infinate loop of nnrpd's connecting to nnrpd's!)  To get innd to not
  948. hand off the connection to a nnrpd process, you must have the host's
  949. name in the hosts.nntp file.  (don't forget to do "ctlinnd reload
  950. hosts.nntp")
  951.  
  952. If you have your host's name in the hosts.nntp file, then any
  953. newsreader running on your nntphost must be "INN-aware" (i.e. that they
  954. issue the "mode reader" command) or they must read news via the file
  955. system instead of NNTP.
  956.  
  957. If you have NNTP-based newsreaders that can't send the "mode reader"
  958. command, you can try including "server: localhost" in your inn.conf
  959. file, but then you must have a different inn.conf file for the other
  960. machines.  If you can't do that, you have no other options but to
  961. recompile your newsreaders.
  962.  
  963. Remember, if you change your inn.conf file, you must shutdown and
  964. restart innd.  There is no "ctlinnd reload inn.conf" command.
  965. -- 
  966.     Tom Limoncelli -- tal@warren.mentorg.com (work) -- tal@plts.org (play)
  967.  
  968.                    The internet is like a box of chocolates.
  969.  
  970.