home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume7 / 2.11news / part07 < prev    next >
Text File  |  1986-11-30  |  49KB  |  1,854 lines

  1. Subject:  Repost of 2.11 News Install Guide
  2. Newsgroups: mod.sources
  3. Approved: mirror!rs
  4.  
  5. Submitted by: mirror!rs
  6. Archive-name: /dev/null
  7. Original-Submitted by: seismo!rick (Rick Adams)
  8. Original-Mod.sources: Volume 7, Issue 47
  9. Original-Archive-name: 2.11news/Part07
  10.  
  11. Many sites got a truncated version of this file.
  12.  
  13.  
  14. # To extract, sh this file
  15. #
  16. #    news 2.11 documentation File 5 of 6
  17. #
  18. if test ! -d doc
  19. then
  20.     mkdir doc
  21. fi
  22. if test ! -s doc/install.mn
  23. then
  24.     echo "First half of doc/install.mn is missing. shar aborted"
  25.     exit 1
  26. fi
  27. echo "x - doc/install.mn (second half)" 1>&2
  28. sed 's/.//' >>doc/install.mn <<'*-*-END-of-install.mn-*-*'
  29. -.hn 1
  30. -Format of the
  31. -.bi sys
  32. -file
  33. -.pg
  34. -To set up a link to another site,
  35. -edit the
  36. -.i sys
  37. -file in
  38. -.b LIBDIR .
  39. -This file is similar to the
  40. -.i L.sys
  41. -file of UUCP.
  42. -Each line contains four fields,
  43. -separated by colons:
  44. -.Lp (1)
  45. -The system name of a site to which you forward news.
  46. -Normally all systems you have links to will be
  47. -included.
  48. -You should also have a line for your own system.
  49. -If this field is
  50. -.cn ME,
  51. -it will be used as if it were your local system name.
  52. -If the system name is followed by a \*(lq/\*(rq, the article will not be
  53. -forwarded to this system if it has already passed through any of the
  54. -(comma separated) list of sites immediately following the \*(lq/\*(rq.
  55. -For example, if the sysline was:
  56. -.sd c
  57. -yoursite/sitea,siteb,sitec:world,comp,sci,news,rec,misc,na,usa,to.yoursite::
  58. -.ed
  59. -the incoming article would only be forwarded to
  60. -.i yoursite
  61. -if it had not already been to any of
  62. -.i sitea ,
  63. -.i siteb ,
  64. -or
  65. -.i sitec .
  66. -This is normally used to reduce the number of duplicate articles received
  67. -at a site that has multiple main newsfeeds.
  68. -.lp (2)
  69. -The newsgroups to be forwarded to that site.
  70. -This is a pattern of the same kind as a subscription list.
  71. -Generally,
  72. -you will list classes of newsgroups,
  73. -that is,
  74. -using
  75. -.ng all
  76. -for everything.
  77. -A typical forwarding list for a new site would be
  78. -.sd c
  79. -world,comp,sci,news,rec,misc,soc,talk,na,usa,to.\f2sysname\fP
  80. -.ed
  81. -where
  82. -.i sysname
  83. -is the name of the remote system.
  84. -(Of course, if you are not in the USA or North America,
  85. -you would remove those distributions
  86. -and replace them with the ones appropriate for you.)
  87. -In particular,
  88. -you don't want to forward
  89. -.ng all
  90. -since local newsgroups
  91. -(those without dots)
  92. -should not be sent.
  93. -For the line describing your own system,
  94. -this field describes the newsgroups your site will accept from remote sites.
  95. -Thus,
  96. -if another site insists on sending you a newsgroup you don't want,
  97. -for example
  98. -.ng rec.humor ,
  99. -include
  100. -.ng !rec.humor
  101. -here.
  102. -.lp (3)
  103. -This field contains flags describing the connection.
  104. -.Qp A
  105. -indicates that the other site is running an A version of netnews.
  106. -.Qp B
  107. -indicates a B version.
  108. -Leaving it empty defaults to
  109. -.b B .
  110. -If you are reading this document,
  111. -you have a B version.
  112. -Some existing sites run A versions.
  113. -If you aren't sure,
  114. -ask your contact at the other site,
  115. -with whom you should be talking to set this up anyway.
  116. -.Qp F
  117. -indicates that the fourth field is the name of a file.
  118. -The full path name of a file containing the article in
  119. -.b SPOOL
  120. -will be appended to this file. If the fourth field is blank, the filename
  121. -.b BATCHDIR \f2/sysname\fP,
  122. -(where
  123. -.i sysname
  124. -is specified in the first field) will be used.
  125. -.Qp L
  126. -prevents transmission unless the article was created on this site.
  127. -If a number follows the
  128. -.b L
  129. -.i e\f1.\fPg ., (
  130. -.b L3 ),
  131. -sites less than that number of hops away will be considered local.
  132. -(It is recommended that you feed an
  133. -.b L
  134. -link to a backbone site,
  135. -to ensure that your submissions will be more likely
  136. -to get to the entire network,
  137. -even in the event of a local problem.
  138. -Please make sure that a mail link exists too,
  139. -so you can get replies.)
  140. -.Qp H
  141. -can be used to interpolate the history file into the command.
  142. -.Qp S
  143. -says to execute the transmission command directly
  144. -instead of forking a shell.
  145. -.Qp U
  146. -arranges that the parameter to the optional \*(lq%s\*(rq
  147. -in the command field to be filled in with a permanent file name from
  148. -.b SPOOL
  149. -instead of a temporary customized file name.
  150. -.Qp M
  151. -says to use multi-casting. Multi-casting is described in an appendix.
  152. -.Qp I
  153. -automatically defines the
  154. -.b F
  155. -flag. However, it puts the article's 
  156. -.i Message-Id
  157. -into the file instead of the filename containing the article. This is
  158. -used with the 
  159. -.i ihave/sendme
  160. -control messages.
  161. -.Qp m
  162. -(lower case
  163. -.b m
  164. -not upper case
  165. -.b M )
  166. -modifies the newsgroup pattern match to only return true if it
  167. -matches the pattern in the second field AND the group is moderated.
  168. -For example, if your
  169. -.i sys
  170. -file looked like:
  171. -.sd c
  172. -avax:world,comp,sci:mF:/usr/spool/batch/avax.sendimmediately
  173. -avax:world,comp,sci,rec,talk,misc,soc,to.avax:F
  174. -.ed
  175. -.ei
  176. -any moderated articles in the newsgroups
  177. -.ng comp
  178. -or 
  179. -.ng sci
  180. -would be placed in the file
  181. -.i avax.sendimmediately 
  182. -in the 
  183. -.b SPOOL
  184. -directory.
  185. -All other news for that machine would be placed in the file
  186. -.i avax .
  187. -You could then transmit the articles in
  188. -.i avax.sendimmediately
  189. -more often than the rest of the news.
  190. -.Qp u
  191. -works like
  192. -.b m
  193. -except that it only matches un-moderated newsgroups.
  194. -.Qp N
  195. -indicates that news should be sent using the ihave/sendme protocol.
  196. -It should not really be used anymore as
  197. -.b I
  198. -is much more efficient.
  199. -.lp (4)
  200. -This field is the command to be run to send news to the remote site.
  201. -The article will be on the standard input.
  202. -Leaving this field blank means an ordinary UUCP link is being used,
  203. -that is,
  204. -the command defaults to
  205. -.sd c
  206. -uux \- \-r \-z sysname!rnews
  207. -.ed
  208. -The
  209. -.op \-
  210. -option tells
  211. -.i uux
  212. -to expect input from the standard input.
  213. -The
  214. -.op \-z
  215. -option is nonstandard \- you should add it
  216. -(see the
  217. -.i minus.z
  218. -files in the uucp source directory).
  219. -It shuts off the annoying message you would otherwise get mailed to you
  220. -telling you that your article was broadcast successfully.
  221. -To avoid using the
  222. -.op \-z
  223. -option,
  224. -change the source or put the
  225. -.i uux
  226. -command in the fourth field.
  227. -The
  228. -.op \-r
  229. -option tells
  230. -.i uux
  231. -not to call the other system once the job is queued.
  232. -This turns out to ease the load on the system,
  233. -at the expense of making news be transmitted a bit slower.
  234. -The news will be sent when the next call is made;
  235. -usually this means the next time mail is sent to or from your system.
  236. -If this turns out to be unreasonably long,
  237. -put a line in
  238. -.i crontab
  239. -to run
  240. -.sd c
  241. -/usr/lib/uucp/uucico \-r1 \-s\f1sysname\fP
  242. -.ed
  243. -every hour or so.
  244. -.pg
  245. -Here is a sample
  246. -.i sys
  247. -file for a site
  248. -.cn myvax
  249. -with connections to
  250. -.cn yourvax
  251. -where
  252. -.cn myvax
  253. -also passes news on to
  254. -.cn downstream .
  255. -We assume that
  256. -.cn myvax
  257. -and
  258. -.cn downstream
  259. -exchange a local newsgroup class
  260. -.ng lng.all
  261. -as well as the network wide newsgroups.
  262. -News to
  263. -.cn downstream
  264. -is batched.
  265. -We also assume that
  266. -.cn myvax
  267. -and
  268. -.cn yourvax
  269. -are in the USA,
  270. -while
  271. -.cn downstream
  272. -is in Canada.
  273. -.sd
  274. -myvax:world,comp,sci,rec,news,misc,soc,talk,na,usa,lng,to
  275. -yourvax:world,comp,sci,rec,news,misc,soc,talk,na,usa,to.yourvax
  276. -downstream:world,comp,sci,rec,news,misc,soc,talk,na,lng,to.downstream:F
  277. -.ed
  278. -.hn
  279. -Posting Methods
  280. -.pg
  281. -The basic method is
  282. -.i postnews .
  283. -This program will prompt you for the title,
  284. -newsgroups,
  285. -and distribution,
  286. -then place you in the editor.
  287. -(The system default
  288. -.b EDITOR
  289. -is used unless the environment variable
  290. -.b EDITOR
  291. -is set,
  292. -overriding the system default.)
  293. -The text should be typed after the blank line.
  294. -The title and newsgroups are available for editing at the top of the buffer.
  295. -Other header lines can be added,
  296. -such as an expiration date or a distribution.
  297. -When you write out the file and exit from the editor,
  298. -you will be prompted for what to do next. Your choices are:
  299. -.b w rite
  300. -the message to a file,
  301. -.b s end
  302. -the message,
  303. -.b l ist
  304. -the message or
  305. -.b e dit
  306. -it again.
  307. -.pg
  308. -Another method is to use mail.
  309. -This can only be done on systems that allow mail to a given name
  310. -to be fed into an arbitrary program as input.
  311. -This is easily done with the Berkeley
  312. -.i delivermail
  313. -or
  314. -.i sendmail
  315. -program,
  316. -and not with any other mailer the author is familiar with.
  317. -(It may be possible to painfully set this up with MMDF,
  318. -provided the newsgroup name is no more than 8 characters long.)
  319. -To use mail,
  320. -set up an alias such as the following:
  321. -.sd c
  322. -sci.physics: "|\fBLIBDIR\fP/recnews sci.physics"
  323. -.ed
  324. -Whenever a user sends mail to
  325. -.ng sci.physics ,
  326. -this starts up the given shell command which calls
  327. -.ng recnews
  328. -with one argument,
  329. -the name of the newsgroup.
  330. -You need to create one alias for each newsgroup,
  331. -and to keep the list up to date as new newsgroups are created.
  332. -.i Recnews (8)
  333. -will in turn invoke
  334. -.i inews .
  335. -.pg
  336. -Note that there are problems with
  337. -.i recnews .
  338. -There is no way to use it to post to multiple newsgroups
  339. -without creating separate articles
  340. -(something frowned upon because it forces people
  341. -to read the same thing more than once).
  342. -Also,
  343. -there is no way to make the recording feature
  344. -(to remind people to not accidently divulge proprietary information)
  345. -work when recnews is used.
  346. -.hn
  347. -Various considerations
  348. -.hn 2
  349. -Spooling
  350. -.pg
  351. -If
  352. -.i expire
  353. -is already running and
  354. -.i inews 
  355. -or
  356. -.i rnews
  357. -is invoked, the incoming article will be saved in
  358. -.b SPOOLDIR /\f2.rnews\fP
  359. -for later processing by
  360. -.i "rnews \-U" .
  361. -This is to prevent the incoming article from getting 
  362. -\*(lqlost\*(rq and not being in the history file.
  363. -.i Expire
  364. -automatically runs 
  365. -.i "rnews \-U"
  366. -when it has finished.
  367. -If you have defined
  368. -.b SPOOLNEWS ,
  369. -you should also invoke
  370. -.i "rnews \-U"
  371. -from crontab on a regular basis.
  372. -.pg
  373. -If you are not using some type of \*(lqsystem\*(rq locking (\f2e.g. flock()\fP or
  374. -\f2lockf()\fP) you must make sure that the various lock files are
  375. -removed when the system is rebooted after a crash. You can put a line
  376. -in 
  377. -.i /etc/rc
  378. -to remove these lock files. The most important one is 
  379. -.b LIBDIR \f2/active.lock\fP.
  380. -.hn 2
  381. -Setuid bits
  382. -.pg
  383. -The current intended state of affairs is that
  384. -.i inews
  385. -runs setuid to
  386. -.b NEWSUSR .
  387. -The
  388. -.i readnews
  389. -and 
  390. -.i vnews
  391. -programs do not need to be setuid.
  392. -This makes it possible to write your own interface to read news instead of using
  393. -.i readnews .
  394. -(As distributed,
  395. -.i inews
  396. -is also setgid.
  397. -I know of no good reason for this.)
  398. -.hn 2
  399. -Modes of Spool Directories
  400. -.pg
  401. -All the files should be writable by
  402. -.b NEWSUSR .
  403. -However,
  404. -due to a glitch,
  405. -you will probably have to make the
  406. -.b SPOOLDIR
  407. -and its subdirectories mode 777.
  408. -It could be 755 except for one problem.
  409. -When a new newsgroup comes in,
  410. -.i inews
  411. -will attempt to
  412. -.i mkdir (1)
  413. -a new subdirectory of
  414. -.b SPOOLDIR
  415. -for the newsgroup.
  416. -Since both
  417. -.i inews
  418. -and
  419. -.i mkdir
  420. -are setuid,
  421. -.i mkdir
  422. -will use the uid of the person who ran 
  423. -.i inews
  424. -instead of
  425. -.b NEWSUSR
  426. -when checking for permissions.
  427. -If the directory mode isn't 777 the check will fail.
  428. -4.[23] BSD sites do not have this problem as 
  429. -.i mkdir ()
  430. -is a system call and will create the directory with the \*(lqcorrect\*(rq
  431. -ownership.
  432. -Here are several alternatives if you don't want a 777 directory around:
  433. -.hn 3
  434. -Fix Real Uid
  435. -.pg
  436. -If
  437. -.i inews
  438. -is always run by
  439. -.i cron
  440. -or as
  441. -.i root ,
  442. -the real uid can be arranged to be
  443. -.i root
  444. -or
  445. -.b NEWSUSR .
  446. -This is a poor solution
  447. -since it makes the local creation of new newsgroups
  448. -require super user permissions,
  449. -and is a potential security hole.
  450. -If this approach is taken,
  451. -care must be taken to ensure that the owner of the created directory is
  452. -.b NEWSUSR .
  453. -.hn 3
  454. -Change the Kernel
  455. -.pg
  456. -.i Inews
  457. -will do:
  458. -.b setuid(geteuid())
  459. -(see
  460. -.i setuid (2)
  461. -and
  462. -.i geteuid (2))
  463. -before it forks the
  464. -.i mkdir .
  465. -If your system permits this call,
  466. -there will be no problem.
  467. -In particular,
  468. -Berkeley 4.0
  469. -.ux
  470. -and later systems allow this.
  471. -An alternative change to the kernel is to automatically stack uids:
  472. -when a setuid program is run,
  473. -set the new real uid to the old effective uid.
  474. -.hn 3
  475. -Groups
  476. -.pg
  477. -You could have
  478. -.i inews
  479. -be setgid to
  480. -.b NEWSGRP
  481. -and all files writable by the group.
  482. -This approach has been tested and the problem turns out to be that the
  483. -.i mkdir
  484. -command uses the
  485. -.i access (2)
  486. -system call to check permissions.
  487. -Since
  488. -.i access
  489. -uses the real gid,
  490. -you run into the same problem.
  491. -.hn 3
  492. -Another
  493. -.bi Mkdir
  494. -.pg
  495. -You could create a version of
  496. -.i mkdir
  497. -that does less checking and put it in a directory that can only be accessed by
  498. -.b NEWSUSR
  499. -(mode 700,
  500. -owned by
  501. -.b NEWSUSR ).
  502. -Have
  503. -.i inews
  504. -fork this
  505. -.i mkdir .
  506. -.hn 2
  507. -Expiration dates
  508. -.pg
  509. -To get articles to expire automatically, put a line in
  510. -.i crontab
  511. -to run
  512. -.sd c
  513. -\fBLIBDIR\fP/expire
  514. -.ed
  515. -every night.
  516. -This command deletes all expired news.
  517. -The
  518. -.op \-a
  519. -.i newsgroups
  520. -option causes all expired news to be archived under
  521. -.i /usr/spool/oldnews
  522. -depending on which newsgroups are selected.
  523. -(See
  524. -.i expire (8)
  525. -for details.)
  526. -.pg
  527. -Sometimes news is not expired when it should be.
  528. -Be sure to check that
  529. -.i expire
  530. -has permissions to unlink files,
  531. -and that it is properly setuid to 
  532. -.b NEWSUSR .
  533. -You can manually invoke
  534. -.i expire
  535. -with the
  536. -.op \-v
  537. -(verbose) option to find out what it's doing.
  538. -Adding levels of verbosity
  539. -.i e\f1.\fPg ., (
  540. -.op \-v6 )
  541. -will get more and more output.
  542. -.hn 2
  543. -Version to Version
  544. -.pg
  545. -Version B will understand incoming news in either version A or B format,
  546. -automatically (presuming 
  547. -.b OLD
  548. -is defined in defs.h).
  549. -Version B
  550. -will generate either format,
  551. -depending on the flag in the third field of the
  552. -.i sys
  553. -line.
  554. -Version A will not understand version B format.
  555. -Thus,
  556. -it is possible for two version B
  557. -sites to communicate using version A
  558. -format.
  559. -This will work but is not a good idea,
  560. -since the translation from B to A loses information
  561. -(such as the expiration date)
  562. -which will not be there when translated back to version B.
  563. -.pg
  564. -News from versions A and 2.9 B
  565. -do not conform to the USENET interchange standard.
  566. -2.10 B (and later) supports the standard and will communicate with either A or 2.9 B news.
  567. -A news is written (losing other header information) if
  568. -A is in the flags for the system.
  569. -If
  570. -.b OLD
  571. -is defined,
  572. -2.10 will write out headers with both standard
  573. -.hf Date "" (
  574. -.hf Message-ID )
  575. -and 2.9
  576. -.hf Posted "" (
  577. -.hf Article-I.D. )
  578. -lines so that either B system will properly handle the article.
  579. -Incoming news is recognized by the first letter
  580. -.qp A "" (
  581. -for A news),
  582. -or the lack of an
  583. -.cf @
  584. -in the
  585. -.hf From
  586. -line (2.9).
  587. -Missing fields are constructed as well as possible
  588. -from the available information.
  589. -.hn 2
  590. -Using the news reading program rn
  591. -.pg
  592. -You must have installed all posted patches to 
  593. -.i rn
  594. -up to and including #30. 
  595. -Otherwise,
  596. -.i rn
  597. -will not work properly with news 2.11.
  598. -.hn 2
  599. -Distributions
  600. -.pg
  601. -News 2.11 is much more particular about handling distributions than
  602. -previous versions. In particular, make sure that you have the distribution
  603. -.i world
  604. -in every line of your 
  605. -.i sys
  606. -file unless you are specifically limiting the distribution and are
  607. -sure you know what you are doing.
  608. -.hn
  609. -Control Messages
  610. -.pg
  611. -Some news systems will send you articles that are not for human consumption.
  612. -They are messages to your news system called
  613. -.i "control messages" .
  614. -Such messages contain the
  615. -.hf Control
  616. -header.
  617. -Older systems use newsgroups matching
  618. -.ng all.all.ctl ,
  619. -and this will still work,
  620. -although the
  621. -.hf Control
  622. -header is preferred.
  623. -Since the newsgroup name is used for distribution only,
  624. -and is not checked to ensure it's in the active file,
  625. -such newsgroup names can still be used.
  626. -This makes it possible to post network wide control messages with
  627. -.ng world.msg.ctl
  628. -(or restricted broadcast such as
  629. -.ng btl.msg.ctl )
  630. -or messages for a particular system:
  631. -.ng to.ucbvax.ctl .
  632. -Messages are canceled,
  633. -however,
  634. -with a
  635. -.hf Control
  636. -line in a message to the same newsgroup(s)
  637. -as the original message.
  638. -.pg
  639. -A control message contains a command and zero or more arguments
  640. -(much like a
  641. -.ux
  642. -program).
  643. -The subject of the article contains the command and arguments.
  644. -The body of the article is usually ignored,
  645. -although some messages can use it for additional text information.
  646. -.hn 2
  647. -ihave/sendme
  648. -.pg
  649. -Two control messages are
  650. -.b ihave
  651. -and
  652. -.b sendme .
  653. -These messages allow two participating sites to set up a link
  654. -so that one site will tell the other site it has a given article
  655. -and wait for a request before it actually sends it.
  656. -The normal case is to send an entire article to a system,
  657. -which consults the history file to see if the article has already been seen,
  658. -and then throws it away if it has been seen before.
  659. -.pg
  660. -Use of these control messages can cut down on this wasted transmission,
  661. -but if you have a polled UUCP connection,
  662. -they can slow down receipt of news due to polling delays.
  663. -It is up to each connected pair of sites whether they want to use this protocol.
  664. -The choice is controlled by the
  665. -.b I
  666. -flag in the
  667. -.i sys
  668. -file.
  669. -In the case of a leaf node
  670. -(one with only one neighbor)
  671. -there is no advantage to this protocol.
  672. -Even if both sites are able to initiate a connection
  673. -(have dialers or the link is hard wired)
  674. -the
  675. -.op \-r
  676. -option on the
  677. -.i uux
  678. -can cause 2 hour or more delays in propagating news.
  679. -If transmission time and phone bills dominate your costs,
  680. -and you are sending news to several sites,
  681. -and large article bodies dominate the costs
  682. -(rather than the headers and the time spent by UUCP negotiating transmission)
  683. -it is probably worthwhile to use
  684. -.pa ihave/sendme .
  685. -If your costs are dominated by CPU load from UUCP,
  686. -or if you send news to a site that cannot get it from anywhere else,
  687. -you probably do not want to use this protocol.
  688. -The decision can be made independently for each site in your
  689. -.i sys
  690. -file.
  691. -.pg
  692. -To use the ihave/sendme protocol, you should have the
  693. -.b I
  694. -flag defined in the sys file for the remote site. For example:
  695. -.sd c
  696. -elsie:world,na,usa,comp,sci,news,rec,soc,misc,talk,to.elsie:IF
  697. -.ed
  698. -.pg
  699. -Note that the fourth field must be blank.
  700. -.pg
  701. -Normally, a message arrives at this site, is found to be ok (i.e. it hasn't
  702. -already been received), and is considered for retransmission to other
  703. -sites. If the system you are sending to has the
  704. -.B I
  705. -flag defined, the Message-ID
  706. -is saved in the file specified in the sys entry. 
  707. -.pg
  708. -After a period of time,
  709. -.sd c
  710. -sendbatch \-i elsie
  711. -.ed
  712. -is run by 
  713. -.i cron (8).  
  714. -It takes this file, makes it into an 
  715. -.b ihave
  716. -control message, and sends it to the other site.
  717. -When the message is received on the other site, the Message-IDs
  718. -are looked up, and if any of the messages have not been received, they are put
  719. -into a 
  720. -.b sendme
  721. -control message. When the
  722. -.b ihave
  723. -message has been fully processed, 
  724. -the
  725. -.b sendme
  726. -message is sent to the site that sent the 
  727. -.b ihave
  728. -message.
  729. -.pg
  730. -When the orignal site receives the
  731. -.b sendme
  732. -message, it sends the requested articles in the format designated by the 
  733. -.i sys
  734. -file (the 
  735. -.b I 
  736. -flag is ignored in this case).  In this example, it would write into the
  737. -file 
  738. -.b /usr/spool/batch/ \f2elsie\fP
  739. -for later processing by
  740. -.i sendbatch .
  741. -.hn 2
  742. -newgroup
  743. -.pg
  744. -This message has one or two arguments,
  745. -the name of a newsgroup to be created and the second optional argument
  746. -.i moderated .
  747. -This allows special action to be taken locally when a new newsgroup is created.
  748. -It is generated by the
  749. -.op \-C
  750. -option to
  751. -.i inews .
  752. -By default,
  753. -the newsgroup is added to the active file,
  754. -and mail is sent to the local contact advising that this has happened.
  755. -The directory will be created when a message for that newsgroup arrives.
  756. -If
  757. -.b NONEWGROUPS
  758. -is defined, the newsgroup will not be created and 
  759. -.b NOTIFY
  760. -will be sent mail explaining how to do it manually.
  761. -See the routine \*(lqc_newgroup\*(rq in
  762. -.i control.c
  763. -if you want something different to happen.
  764. -(Note that,
  765. -although the body of the message contains a brief description
  766. -of the purpose of the group,
  767. -this body is usually thrown away by existing software.)
  768. -If the second argument is the keyword
  769. -.i moderated ,
  770. -the newsgroup is created moderated, else it is unmoderated.
  771. -.hn 2
  772. -rmgroup
  773. -.pg
  774. -This message has one argument,
  775. -the name of a newsgroup to be removed.
  776. -It is used for network-wide cancellation of a newsgroup.
  777. -If
  778. -.b MANUALLY
  779. -is not defined,
  780. -it will remove the articles,
  781. -directory,
  782. -and active file line for the group.
  783. -There is a shell script
  784. -.i rmgroup
  785. -that does essentially the same thing as this message,
  786. -but the shell script only removes the group locally.
  787. -We recommend that you leave
  788. -.b MANUALLY
  789. -defined,
  790. -and when you receive mail advising you of the demise of the newsgroup,
  791. -you run
  792. -.i rmgroup
  793. -by hand.
  794. -This will prevent accidental or malicious removal of a good newsgroup.
  795. -.hn 2
  796. -cancel
  797. -.pg
  798. -This message cancels a given article.
  799. -It takes one argument,
  800. -the message id of the article to cancel.
  801. -It should be broadcast to the same newsgroup as the original article.
  802. -If the article to be canceled is not present, the control message
  803. -will not be propagated to downstream sites.
  804. -.hn 2
  805. -sendsys
  806. -.pg
  807. -The
  808. -.i sys
  809. -file is mailed to the originator of the message.
  810. -There are no arguments.
  811. -This is used for making maps.
  812. -Since your
  813. -.i sys
  814. -file is public information,
  815. -you should not remove or change this control message.
  816. -.hn 2
  817. -senduuname
  818. -.pg
  819. -The
  820. -.i uuname
  821. -program is run and the output is mailed to the originator of the message.
  822. -There are no arguments.
  823. -This was used for making UUCP maps.
  824. -It is of questionable use any more.
  825. -If you do not run UUCP or have sites in your
  826. -.i L.sys
  827. -which are a secret,
  828. -you may wish to edit this.
  829. -Note that only the output of
  830. -.i uuname
  831. -is mailed,
  832. -not the contents of
  833. -.i L.sys
  834. -(which news does not have access to anyway).
  835. -If you do make a change,
  836. -you should arrange that some mail still is sent out
  837. -to the originator of the message, so the originator will know your site
  838. -received it.  See the code in routine \*(lqc_senduuname\*(rq in
  839. -.i control.c .
  840. -.hn 2
  841. -version
  842. -.pg
  843. -The local version name/number of the netnews software
  844. -is mailed back to the originator of the control message.
  845. -.hn 2
  846. -checkgroups
  847. -.pg
  848. -This control message is an attempt at semi-automatic maintenance
  849. -of the list of active news groups.
  850. -This control messages takes the body of the article and pipes it into
  851. -.bi LIBDIR \f2/checkgroups\fP.
  852. -As mentioned previously,
  853. -.bi LIBDIR \f2/checkgroups\fP
  854. -will update the newsgroups file,
  855. -add any missing newsgroups, and mail a message to
  856. -.b NOTIFY
  857. -about any old newsgroups that should be removed.
  858. -It is expected that the person who maintains the list of active newsgroups
  859. -will broadcast this control message on a regular basis.
  860. -.hn 2
  861. -Other Messages
  862. -.pg
  863. -Any unrecognized message will cause an error message to be mailed
  864. -to the local news administrator.
  865. -Additional messages may be defined as time goes on,
  866. -such as messages to automatically update directories or maps.
  867. -You should be willing to go into the code
  868. -.i control.c ) (
  869. -and add messages as they become standardized.
  870. -.hn
  871. -Maintenance
  872. -.pg
  873. -There are some things you should do periodically
  874. -to keep your news system running smoothly.
  875. -We hope to eventually automate all or most of this,
  876. -but right now some of it must be done by hand.
  877. -.pg
  878. -The
  879. -.i history
  880. -and
  881. -.i log
  882. -files in your
  883. -.b LIBDIR
  884. -directory will grow.
  885. -You should make sure that they are cleaned up periodically.
  886. -The
  887. -.bi LIBDIR \f2/expire\fP
  888. -program will remove lines from history corresponding to deleted articles,
  889. -but it is a good idea to check the file every few weeks
  890. -to make sure it is not going wild.
  891. -Be sure not to completely lose your history file when you clean it up,
  892. -in case another neighbor tries to send you an article you recently got.
  893. -(If you only get news from one site it is safe to clean it out completely.)
  894. -.pg
  895. -The log file is not automatically cleaned out by any netnews software,
  896. -and will grow quickly.
  897. -The
  898. -.i misc/trimlib
  899. -script can be installed in
  900. -.bi LIBDIR \f2/trimlib\fP,
  901. -and invoked regularly by
  902. -.i cron (8).
  903. -.pg
  904. -You should also clean out old newsgroups that are no longer active.
  905. -To remove a newsgroup
  906. -.ng misc.foo ,
  907. -you should run the shell script
  908. -.i rmgroup
  909. -with
  910. -.b misc.foo
  911. -as the argument.
  912. -That is,
  913. -.sd c
  914. -\fBLIBDIR\fP/rmgroup misc.foo
  915. -.ed
  916. -.pg
  917. -Note that clearing up UUCP constipation is another thing you'll have to do
  918. -if you have flaky hardware or phone lines.
  919. -If you have more than one connection,
  920. -chances are that UUCP will get clogged up when one of your neighbors goes down
  921. -for more than a few hours.
  922. -Various spooling schemes are being worked on
  923. -to help make the news/uucp system more robust,
  924. -but one thing you can and should do,
  925. -if you find your
  926. -.i /usr/spool/uucp
  927. -directory getting too big,
  928. -is to install a subdirectory fix to UUCP.
  929. -A quick and dirty version of this is available from Duke,
  930. -which traps the file-oriented system calls
  931. -at the assembly language level and maps,
  932. -for example,
  933. -D.fooA1234 into D.foo/D.fooA1234.
  934. -Since the C. and
  935. -.i local "" D.
  936. -directories still get big,
  937. -in practice this can still create some big directories,
  938. -but the directories tend to be a factor of 5 smaller,
  939. -resulting in a factor of 25 improvement to speed
  940. -(since a directory traversal for all files is quadratic on
  941. -.ux ).
  942. -Right now, unless you have the uucp distributed with 4.3 BSD or the so called
  943. -.i HoneyDanBer
  944. -uucp, 
  945. -UUCP is the weak link in netnews distribution,
  946. -and you should certainly keep an eye on it.
  947. -.hn
  948. -Creating New Newsgroups
  949. -.pg
  950. -As system news administrator,
  951. -you are able to create newsgroups.
  952. -To create a newsgroup,
  953. -first make sure this is the right thing to do.
  954. -Normally a suggestion is first posted to
  955. -.ng news.groups\f1,\fPwhatever.relatedgroup
  956. -for a world wide newsgroup
  957. -.b whatever.relatedgroup "" (
  958. -should be the group which you are proposing to sub-divide.
  959. -For instance,
  960. -to propose creating
  961. -.ng rec.arts.tv.soaps ,
  962. -post the original article to
  963. -.ng rec.arts.tv\f1,\fPnews.groups .)
  964. -Followups are made to
  965. -.ng news.groups
  966. -.i only .
  967. -(You can force this by putting the line:
  968. -.sd c
  969. -Followup-To: news.groups
  970. -.ed
  971. -in the headers of your original posting.)
  972. -If it is established that there is general interest in such a group,
  973. -and a name is agreed on,
  974. -then someone creates it by typing the command
  975. -.sd c
  976. -inews \-d local \-C \fInewsgroup\fP
  977. -.ed
  978. -This will create the active entry locally. The directory will be
  979. -created automatically when the first article for that newsgroup is
  980. -received.
  981. -It will also prompt you for a paragraph describing the group and start up an
  982. -.i inews
  983. -to post a newgroup control message announcing the group.
  984. -.pg
  985. -You must be the super user to use the
  986. -.op \-C
  987. -option to
  988. -.i inews .
  989. -(That is, your uid must match
  990. -.b ROOTID .
  991. -It is recommended that you change
  992. -.b ROOTID
  993. -to your own uid so you don't have to
  994. -.i su
  995. -to create newsgroups.)
  996. -If you change the distribution to be something other than local, the
  997. -newgroups message will be sent to the specified distribution.
  998. -.hn
  999. -Conversion from A to B
  1000. -.pg
  1001. -If you are currently running version A on your system,
  1002. -note that B is incompatible with A.
  1003. -The files are stored in a different format
  1004. -(headers have mail like field names now).
  1005. -The directory organization is different
  1006. -(each newsgroup has a subdirectory of its own,
  1007. -and the file names are numbers rather than
  1008. -.i site\f1.\fPid
  1009. -pairs).
  1010. -There are no
  1011. -.i bitmap ,
  1012. -.i uindex ,
  1013. -or
  1014. -.i nindex
  1015. -files to be trashed
  1016. -(which articles have been read is stored in each users
  1017. -.i .newsrc
  1018. -file).
  1019. -The user interface is slightly different
  1020. -.i netnews (1) (news/
  1021. -is now called
  1022. -.i readnews ,
  1023. -news is posted using
  1024. -.i inews ,
  1025. -subscription is done by editing
  1026. -.i .newsrc ,
  1027. -the sense of the
  1028. -.op \-c
  1029. -option is reversed,
  1030. -news is presented in newsgroup order,
  1031. -the
  1032. -.op \-a
  1033. -and
  1034. -.op \-t
  1035. -options now probably need
  1036. -.op \-x
  1037. -as well,
  1038. -and there are many minor changes).
  1039. -.pg
  1040. -We decided not to provide a program to convert from version A to version B.
  1041. -Rather,
  1042. -the following strategy was adopted for conversion:
  1043. -.lp (1)
  1044. -Install the new news in a different spool directory from the old one.
  1045. -For example,
  1046. -you can use
  1047. -.i /usr/spool/newnews .
  1048. -You can change to the standard name later if you want.
  1049. -Get it to work for local messages.
  1050. -.lp (2)
  1051. -Post an article to newsgroup
  1052. -.b general
  1053. -with the old news announcing the change.
  1054. -Make available documentation such as the accompanying paper
  1055. -.i "How to Read the Network News"
  1056. -to the users.
  1057. -This article will be the last one in the old news.
  1058. -.lp (3)
  1059. -.i Chmod
  1060. -the old news directory to 555 to prevent any more news from being posted.
  1061. -(Actually,
  1062. -this will prevent the bitfile from being updated,
  1063. -so it may not be a good idea.)
  1064. -.lp (4)
  1065. -Replace the old
  1066. -.i rnews
  1067. -program with the new
  1068. -.i rnews
  1069. -program.
  1070. -.lp (5)
  1071. -Test it by having your neighbor send you a message.
  1072. -.lp (6)
  1073. -Wait a reasonable period for everyone to have read the final article
  1074. -with the old news.
  1075. -Perhaps a few weeks is right.
  1076. -.lp (7)
  1077. -Uninstall the old news.
  1078. -.pg
  1079. -Users will have to invoke
  1080. -.i readnews
  1081. -instead of
  1082. -.i netnews
  1083. -to read news.
  1084. -Depending on your old method of posting,
  1085. -this could be changed too.
  1086. -(If you were using mail,
  1087. -it does not need to be changed.)
  1088. -They will also have to fix their subscriptions.
  1089. -In general,
  1090. -they can type
  1091. -.sd c
  1092. -netnews \-s
  1093. -.ed
  1094. -to see what they subscribe to on the old system,
  1095. -and then create a file in their home directory called
  1096. -.i .newsrc
  1097. -containing
  1098. -.sd c
  1099. -options \-n \f2their subscription\fP
  1100. -.ed
  1101. -The format of the subscription pattern matching is the same as in A
  1102. -except that
  1103. -.ng ALL
  1104. -is replaced by
  1105. -.ng all
  1106. -(change to lower case).
  1107. -Something along the lines of this could be used to automate this:
  1108. -.sd c
  1109. -(echo \-n "options \-s" ; netnews \-s | sed s/ALL/all/) > .newsrc
  1110. -.ed
  1111. -.hn
  1112. -Conversion from 2.9 to 2.11
  1113. -.pg
  1114. -Conversion from 2.9 to 2.11 is not nearly as involved as an A to B conversion.
  1115. -The user interface does not change much,
  1116. -and the user
  1117. -.i .newsrc
  1118. -files are not affected.
  1119. -However,
  1120. -it is recommended that you do the conversion during a time
  1121. -when no news is received,
  1122. -so that incoming news will not get lost.
  1123. -One way to ensure this is to make
  1124. -.i /usr/bin/rnews
  1125. -be a shell script which saves the article in
  1126. -.bi $$ "" /usr/spool/innews/
  1127. -.bi $$ "" (
  1128. -is the process id of the particular shell and will be unique for each article).
  1129. -.pg
  1130. -The first step to conversion is to customize the sources.
  1131. -In the past,
  1132. -you had to take a fresh distribution and edit the
  1133. -.i defs.h
  1134. -file and
  1135. -.i Makefile
  1136. -to suit local preferences.
  1137. -If you had many local changes,
  1138. -or didn't record the local changes,
  1139. -upgrading could be annoying.
  1140. -2.11 provides a mechanism to automate these changes.
  1141. -Create a shell script in the src directory called
  1142. -.i localize.sh .
  1143. -(You can use
  1144. -.i localize.sample
  1145. -as a template.)
  1146. -This shell script should copy
  1147. -.i defs.dist
  1148. -to
  1149. -.i defs.h ,
  1150. -and copy
  1151. -.i Makefile.dst
  1152. -to
  1153. -.i Makefile .
  1154. -It should
  1155. -.i chmod
  1156. -any files that need to be changed
  1157. -(often
  1158. -.i Makefile
  1159. -and
  1160. -.i defs.h )
  1161. -to a writable mode.
  1162. -Then it should invoke
  1163. -.i ed (1)
  1164. -on the files,
  1165. -making any necessary local changes.
  1166. -.pg
  1167. -The next step is to compile the software,
  1168. -with
  1169. -.i make (1).
  1170. -It may be necessary to update the
  1171. -.i localize.sh
  1172. -file until you are satisfied with the compilation.
  1173. -Note that after any change to the
  1174. -.i Makefile
  1175. -in
  1176. -.i localize.sh ,
  1177. -you should run
  1178. -.i localize.sh
  1179. -by hand.
  1180. -Otherwise,
  1181. -although make will run it for you,
  1182. -it will then continue to do the make with the old
  1183. -.i Makefile .
  1184. -.pg
  1185. -When the software is compiled,
  1186. -you should run the
  1187. -.i cvt.active.sh
  1188. -shell script,
  1189. -with the
  1190. -.i lib
  1191. -and
  1192. -.i spool
  1193. -directories as parameters.
  1194. -This will create a new active file in
  1195. -.bi LIBDIR \f2/active\fP.
  1196. -Then run
  1197. -.i cvt.links.sh
  1198. -with the
  1199. -.i lib
  1200. -and
  1201. -.i spool
  1202. -directories as parameters.
  1203. -Then run
  1204. -.i cvt.names.sh
  1205. -with the
  1206. -.i lib
  1207. -and
  1208. -.i spool
  1209. -directories as parameters.
  1210. -Old news will be linked into the new hierarchy
  1211. -while leaving links in the old hierarchy.
  1212. -If you were using the default library and spool directories,
  1213. -you would do the following:
  1214. -.sd
  1215. -sh cvt.active.sh \fBLIBDIR\fP /usr/spool/news
  1216. -sh cvt.links.sh \fBLIBDIR\fP /usr/spool/news
  1217. -sh cvt.names.sh \fBLIBDIR\fP /usr/spool/news
  1218. -.ed
  1219. -.pg
  1220. -The next step is to back up the old binaries:
  1221. -.sd
  1222. -mv \fBBINDIR\fP/rnews \fBBINDIR\fP/ornews
  1223. -\&...
  1224. -.ed
  1225. -and to install 2.11 with
  1226. -.sd c
  1227. -make install
  1228. -.ed
  1229. -Once it is installed,
  1230. -any incoming news will be placed into the new hierarchy but not the old one.
  1231. -The critical time window is between running the three shell files and
  1232. -installing the new software \-
  1233. -any incoming news between these two points will appear
  1234. -in only the old hierarchy and be lost to the new software.
  1235. -If any significant time elapses here,
  1236. -you should divert
  1237. -.i rnews
  1238. -into a separate spool directory as described above.
  1239. -.pg
  1240. -It is crucial that you run
  1241. -.i expire
  1242. -before any new news arrives.
  1243. -.i Expire
  1244. -will update several key files automatically.
  1245. -.pg
  1246. -Finally,
  1247. -test things by posting articles to
  1248. -.bi neighbor "" \f3to.\fP
  1249. -newsgroups and watching some incoming news,
  1250. -and announce the change to your users.
  1251. -.pg
  1252. -When you are satisfied that the conversion was successful,
  1253. -run the shell file
  1254. -.i cvt.clean.sh
  1255. -which will remove the old 2.9 news hierarchy.
  1256. -.hn
  1257. -Converting from 2.10.x to 2.11
  1258. -.pg
  1259. -Converting from version 2.10 or later to 2.11 requires no special
  1260. -intervention. All files are updated automatically when you do 
  1261. -\*(lqmake update\*(rq.
  1262. -.bp
  1263. -.hu
  1264. -Appendix A: Setting up a Compressed, Batched Newsfeed
  1265. -.pg
  1266. -First,
  1267. -.b BATCH 
  1268. -must have been
  1269. -.i #define 'd
  1270. -when you built the news system.
  1271. -To check,
  1272. -look in the file
  1273. -.i defs.h
  1274. -in the news source directory.
  1275. -.b BATCH 
  1276. -should be defined as a program name (by default,
  1277. -.i unbatch ).
  1278. -If it's undefined or commented out,
  1279. -define it,
  1280. -re-make the news system,
  1281. -and install the new software.
  1282. -.pg
  1283. -You'll also need a working
  1284. -.i compress
  1285. -program.
  1286. -Use the one shipped with this news distribution,
  1287. -which is based on version 4.0.
  1288. -Your news neighbors should be running a compatible version of compress.
  1289. -Versions 3.0 and 4.0 are compatible with each other,
  1290. -but both are incompatible with versions 2.0 and earlier.
  1291. -.pg
  1292. -Update your
  1293. -.i sys
  1294. -file.
  1295. -First, add the
  1296. -.b F
  1297. -flag to the other news system's line.  For instance,
  1298. -if your compressed-and-batched news feed is named
  1299. -.cn frobozz ,
  1300. -and its
  1301. -.i sys
  1302. -file entry looks like:
  1303. -.si
  1304. -.sd
  1305. -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,ca,to.frobozz
  1306. -.ed
  1307. -.ei
  1308. -then add the
  1309. -.b F
  1310. -flag as the third (colon-separated) field:
  1311. -.si
  1312. -.sd
  1313. -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,ca,to.frobozz:F
  1314. -.ed
  1315. -.ei
  1316. -Now the pathnames of articles to be sent will be stashed in a file.
  1317. -This file can be specified in the fourth field of the
  1318. -.i sys
  1319. -entry.
  1320. -Normally, you can just use the default of 
  1321. -.bi BATCHDIR \f2/system\fP,
  1322. -(where
  1323. -.bi BATCHDIR
  1324. -is usually
  1325. -.i /usr/spool/batch
  1326. -and
  1327. -.i system
  1328. -is the name of the remote system,
  1329. -in this example
  1330. -.cn frobozz ).
  1331. -A name of that form is necessary:
  1332. -the
  1333. -.i sendbatch
  1334. -script,
  1335. -which sends the batched news,
  1336. -looks for a file name of this form
  1337. -to decide if there's news for the remote system.
  1338. -.pg
  1339. -Your completed
  1340. -.i sys
  1341. -file line should look something like:
  1342. -.si
  1343. -.sd
  1344. -frobozz:world,comp,sci,rec,misc,soc,talk,news,na,usa,to.frobozz:F
  1345. -.ed
  1346. -.ei
  1347. -.pg
  1348. -In  your
  1349. -.i crontab
  1350. -file, find or create at least two news lines:
  1351. -one that runs nightly,
  1352. -and one that runs every hour or so.
  1353. -The nightly-run script should run
  1354. -.i expire ,
  1355. -trim log files,
  1356. -and perhaps compile weekly statistics
  1357. -that you post to a local-area newsgroup one day a week.
  1358. -The hourly-run script should complete the transmitting task
  1359. -with a line like:
  1360. -.sd c
  1361. -sendbatch -c frobozz
  1362. -.ed
  1363. -Make sure the script knows how to get to the directory in which
  1364. -.i sendbatch
  1365. -lives.
  1366. -You can either mention the directory in the script's
  1367. -.b PATH -setting
  1368. -line,
  1369. -or replace
  1370. -.i sendbatch
  1371. -with its full pathname.
  1372. -.i Sendbatch
  1373. -reads the files mentioned in
  1374. -.i /usr/spool/batch/frobozz ,
  1375. -batches them,
  1376. -optionally compresses them,
  1377. -sends them to the remote system,
  1378. -and arranges for remote processing.
  1379. -.pg
  1380. -This remote processing can be directed by another file in
  1381. -.b BATCHDIR .
  1382. -Make an executable file with a name of the form
  1383. -.bi BATCHDIR \f2/system\fP.cmd
  1384. -(for this example,
  1385. -.i /usr/spool/batch/frobozz.cmd ).
  1386. -Put a line in it specifying the command that the remote system
  1387. -should execute to unpack the news batches that your system will send.
  1388. -An example
  1389. -.i frobozz.cmd
  1390. -would be:
  1391. -.sd c
  1392. -uux - -r -z -n -gd frobozz!rnews
  1393. -.ed
  1394. -.pg
  1395. -Now your system will transmit compressed batches.
  1396. -The receiving side of the business is handled largely by a program called
  1397. -.i rnews ,
  1398. -which will call other programs in
  1399. -.b LIBDIR
  1400. -to do additional processing on the incoming batches.
  1401. -.pg
  1402. -Make sure there is an executable file called
  1403. -.i rnews
  1404. -in the
  1405. -.b BINDIR
  1406. -directory
  1407. -(check the
  1408. -.i Makefile
  1409. -for its actual location).
  1410. -It must be reachable by UUCP
  1411. -or by whatever transport you'll use to transfer the netnews.
  1412. -If you defined
  1413. -.b BINDIR
  1414. -as
  1415. -.i /usr/bin ,
  1416. -you should have no problems because
  1417. -.i uuxqt
  1418. -can already get there.
  1419. -If you defined it as a different directory,
  1420. -you may have to teach
  1421. -.i uuxqt
  1422. -to look in that directory;
  1423. -accomplishing this varies from system to system.
  1424. -On 4.[23] BSD, add the directory to the
  1425. -.b PATH=
  1426. -line of your UUCP
  1427. -.i L.cmds
  1428. -file.
  1429. -On System V,
  1430. -on the
  1431. -.i rnews
  1432. -line of your
  1433. -.i L.cmds
  1434. -file,
  1435. -add a comma followed by
  1436. -the remote system's name on that line.
  1437. -If yours is in
  1438. -.i /usr/bin/news/rnews ,
  1439. -your
  1440. -.i L.cmds
  1441. -file will look like:
  1442. -.si
  1443. -.sd
  1444. -[For 4.[23]BSD]
  1445. -PATH=/bin:/usr/bin:/usr/bin/news
  1446. -rnews
  1447. -.ed
  1448. -.sd
  1449. -[For System V]
  1450. -/usr/bin/news/rnews,frobozz
  1451. -.ed
  1452. -.ei
  1453. -Other systems have a similar file in the
  1454. -.i /usr/lib/uucp
  1455. -directory by which you can specify added programs
  1456. -and paths different from the defaults.
  1457. -HP-UX,
  1458. -for example,
  1459. -has a
  1460. -.i /usr/lib/uucp/COMMANDS
  1461. -file which expands
  1462. -.i uuxqt 's
  1463. -horizons.
  1464. -.i HoneyDanBer
  1465. -uucp
  1466. -.i a.k.a " AT&T Basic Networking Utilities)" (
  1467. -has a
  1468. -.i Permissions
  1469. -file that controls what is executed.
  1470. -In more restrictive cases,
  1471. -paths are compiled into
  1472. -.i uuxqt .
  1473. -If you can't modify any UUCP files,
  1474. -just put
  1475. -.i rnews
  1476. -in
  1477. -.i /usr/bin.
  1478. -.pg
  1479. -Tell the person at the other end of your newsfeed to use
  1480. -.i "sendbatch \-c"
  1481. -to send you news.
  1482. -Once that's in place,
  1483. -watch your UUCP
  1484. -.i LOGFILE
  1485. -and your news
  1486. -.i log
  1487. -and
  1488. -.i errlog
  1489. -files to ensure that news is being correctly received and unpacked
  1490. -on your system.
  1491. -.pg
  1492. -Older compressed batching systems will try to exec
  1493. -.i cunbatch
  1494. -instead of
  1495. -.i rnews .
  1496. -If you are still communicating with these, leave 
  1497. -.i cunbatch
  1498. -in 
  1499. -.b BINDIR
  1500. -until they have upgraded their software.
  1501. -.bp
  1502. -.hu
  1503. -Appendix B: MULTICAST
  1504. -.pg
  1505. -If this is defined (in
  1506. -.i defs.h )
  1507. -then two new flag characters
  1508. -become defined in the
  1509. -.i sys
  1510. -file.
  1511. -The first,
  1512. -and most important,
  1513. -of these is the
  1514. -.b M
  1515. -flag.
  1516. -.pg
  1517. -If the
  1518. -.b M
  1519. -flag is set on some line in the
  1520. -.i sys
  1521. -file,
  1522. -then the fourth field (transfer command) is redefined to become a
  1523. -.i multicast
  1524. -name.
  1525. -That is simply another system name,
  1526. -expected to be found in the first field of some line in the
  1527. -.i sys
  1528. -file (textually following the line containing the
  1529. -.b M
  1530. -flag).
  1531. -.pg
  1532. -When a news item is being retransmitted,
  1533. -if it should (according to the subscription list) be sent to a system
  1534. -that has the
  1535. -.b M
  1536. -flag set,
  1537. -then instead of a command being run immediately to transmit the news,
  1538. -the news system remembers the system name,
  1539. -along with the multicast name (fourth field).
  1540. -.pg
  1541. -Eventually the multicast system name is found in the first field of a sys
  1542. -file line.  If its subscription list allows transmission of this news item,
  1543. -then its command will be executed.
  1544. -This command may have up to two \*(lq%s\*(rq substitutions in it.
  1545. -The second of those is replaced by the name of a file
  1546. -containing the news item (used with the
  1547. -.b U
  1548. -flag).
  1549. -The first is subjected to rather special treatment.
  1550. -The whole \*(lqword\*(rq (delimited by white space)
  1551. -containing that \*(lq%s\*(rq is duplicated as many times
  1552. -as there were systems with the
  1553. -.b M
  1554. -flag set that referenced this multicast name
  1555. -(which might be 0 times,
  1556. -causing that \*(lqword\*(rq to be omitted).
  1557. -In each of these duplicates,
  1558. -the \*(lq%s\*(rq is replaced by the name of a system.
  1559. -Note the multicast system name itself is not included in this process.
  1560. -Then the command is executed as usual.
  1561. -.pg
  1562. -The second flag available if the news system is built with
  1563. -.b MULTICAST
  1564. -defined is
  1565. -.b O .
  1566. -If this flag is set,
  1567. -then the sys file line will be ignored unless the system name is
  1568. -a multicast name from some earlier line with the
  1569. -.b M
  1570. -flag,
  1571. -and the news item is to be sent to that (earlier) system.
  1572. -This allows the subscription list for the multicast system name
  1573. -(which is likely to be a fake system name,
  1574. -invented just for this purpose)
  1575. -to be given a very wide subscription list
  1576. -(like
  1577. -.ng all )
  1578. -without any unusual effects.
  1579. -.pg
  1580. -Here is an example.
  1581. -Assume that you wish to forward
  1582. -.ng comp.unix
  1583. -to four people by mail.
  1584. -You could do this as ...
  1585. -.si
  1586. -.sd
  1587. -fred:comp.unix::mail fred
  1588. -harry:comp.unix::mail harry
  1589. -jane:comp.unix::mail jane
  1590. -tony:comp.unix::mail tony
  1591. -.ed
  1592. -.ei
  1593. -however this causes the mail program to be started 4 times,
  1594. -once for each recipient.
  1595. -On some systems starting the mail program is a very expensive operation.
  1596. -If
  1597. -.b MULTICAST 
  1598. -is defined,
  1599. -an alternative method is
  1600. -.si
  1601. -.sd
  1602. -fred:comp.unix:M:tony
  1603. -harry:comp.unix:M:tony
  1604. -jane:comp.unix:M:tony
  1605. -tony:comp.unix::mail tony %s
  1606. -.ed
  1607. -.ei
  1608. -This would cause just one command to be run:
  1609. -\*(lqmail tony fred harry jane\*(rq.
  1610. -Note that \*(lqtony\*(rq must still be explicitly included in the argument
  1611. -list to the mail command;
  1612. -the \*(lq%s\*(rq does not expand to include
  1613. -the multicast \*(lqsystem name\*(rq itself.
  1614. -.pg
  1615. -A more useful way of doing this,
  1616. -which does not assume that all the mail readers
  1617. -will want to read the same newsgroups is as follows.
  1618. -.si
  1619. -.sd
  1620. -fred:comp.unix:M:Mail
  1621. -harry:sci.physics,sci.astro:M:Mail
  1622. -jane:comp.unix.wizards,soc.women:M:Mail
  1623. -tony:comp.unix,comp.unix.wizards,rec.humor:M:Mail
  1624. -Mail:all:O:mail %s
  1625. -.ed
  1626. -.ei
  1627. -.pg
  1628. -Now,
  1629. -if a news item in group
  1630. -.ng comp.unix
  1631. -was received,
  1632. -the command
  1633. -.sd c
  1634. -mail fred tony
  1635. -.ed
  1636. -would be executed.
  1637. -If the news were in both
  1638. -.ng comp.unix
  1639. -and
  1640. -.ng comp.unix.wizards
  1641. -then the command would be
  1642. -.sd c
  1643. -mail fred jane tony
  1644. -.ed
  1645. -.pg
  1646. -If a news item in
  1647. -.ng sci.med
  1648. -(which no-one gets by mail) arrives,
  1649. -then the \*(lqMail\*(rq line will be ignored,
  1650. -because of the
  1651. -.b O
  1652. -flag.
  1653. -\*(lqMail\*(rq is a fake system invented just so its \*(lqtransfer command\*(rq
  1654. -can be used to send news to the other recipients.
  1655. -.pg
  1656. -The same kind of technique can be used for normal transfer
  1657. -of news to other systems if your transport network supports
  1658. -a facility to send to many other systems in one command.
  1659. -(That is,
  1660. -if it has a multicast facility.)
  1661. -SunIII (the network used in Australia) has this ability,
  1662. -so a typical Australian
  1663. -.i sys
  1664. -file looks like
  1665. -.sd
  1666. -emuvax:world,aus,comp.sci:M:FakeName
  1667. -kremlin:world,aus,comp,sci:M:FakeName
  1668. -kanga:world,aus,comp.unix:M:FakeName
  1669. -FakeName:all:OUS:/bin/sendfile -NRSareporter -d%s -x%s
  1670. -.ed
  1671. -.pg
  1672. -A news item in
  1673. -.ng aus.general
  1674. -causes the following command
  1675. -.sd c
  1676. -/bin/sendfile -NRSareporter -demuvax -dkremlin -dkanga -x/usr/spool/...
  1677. -.ed
  1678. -to be executed.
  1679. -Just one command is run to send the news to three remote systems.
  1680. -.pg
  1681. -If a multicast system has the
  1682. -.b F
  1683. -flag set,
  1684. -then the name of a file containing the news is appended to the file
  1685. -whose name is in the fourth field,
  1686. -as usual.
  1687. -But on the same line,
  1688. -separated by spaces,
  1689. -will be appended the names of all the systems
  1690. -that referenced this multicast system.
  1691. -.pg
  1692. -For example,
  1693. -if the Australian site wanted to batch news,
  1694. -instead of sending it directly,
  1695. -it would simply change the last line of its
  1696. -.i sys
  1697. -file to
  1698. -.sd c
  1699. -FakeName:all:F:/usr/spool/batched/allsites
  1700. -.ed
  1701. -.pg
  1702. -Then a news item in
  1703. -.ng misc.jobs
  1704. -would cause the following line to be appended to
  1705. -.i /usr/spool/batched/allsites
  1706. -.sd c
  1707. -/usr/spool/news/misc/jobs/5542 emuvax kremlin
  1708. -.ed
  1709. -.pg
  1710. -This can then be processed later, in something like the normal manner.
  1711. -(Unfortunately no commands to do this processing are yet available.)
  1712. -.pg
  1713. -Caution: when
  1714. -.b MULTICAST
  1715. -is defined,
  1716. -the first \*(lq%s\*(rq in all transfer commands is used for multicast,
  1717. -regardless of whether or not the system name is ever used as the last field
  1718. -of some line with the
  1719. -.b M
  1720. -flag set.
  1721. -To use the
  1722. -.b U
  1723. -flag in such a case,
  1724. -a dummy \*(lq%s\*(rq should be used,
  1725. -it will simply be omitted from the command that is executed.
  1726. -.pg
  1727. -As an example,
  1728. -if a
  1729. -.i sys
  1730. -file line without
  1731. -.b MULTICAST
  1732. -defined was:
  1733. -.sd c
  1734. -foovax:comp,world,na,usa:U:uux - foovax!foonews <%s
  1735. -.ed
  1736. -with
  1737. -.b MULTICAST 
  1738. -defined,
  1739. -it would need to be changed to:
  1740. -.sd c
  1741. -foovax:comp,world,na,usa:U:uux - foovax!foonews %s <%s
  1742. -.ed
  1743. -.pg
  1744. -Additional caution:
  1745. -The numbers of system names that may be used
  1746. -in this way are quite severly restricted.
  1747. -Typically there may only be about 10 multicast system names,
  1748. -and each of those is restricted to sending to no more than about 20 systems.
  1749. -These limits are dynamic
  1750. -(that is,
  1751. -the numbers counted are the number of multicast systems
  1752. -receiving any single news item,
  1753. -and the number of systems that each of those
  1754. -will actually cause this particular news item to be sent to).
  1755. -These limits should easily suffice for real news sending to remote systems;
  1756. -however they are not likely to suffice if you want to mail news to everyone
  1757. -on your host.
  1758. -.bp
  1759. -.hu
  1760. -Appendix C: Installing news on a Eunice system
  1761. -.pg
  1762. -Eunice does not have links.  To get around this problem without
  1763. -wasting megabytes of disk space, links are simulated.  Each article
  1764. -is stored under the directory corresponding to the first group on
  1765. -the Newsgroups line.  The remaining directories contain a short
  1766. -file giving the name of the real file.  
  1767. -.i Readnews
  1768. -and 
  1769. -.i vnews
  1770. -know how to follow these links; so does 
  1771. -.i rn 
  1772. -if it is compiled with 
  1773. -.b LINKART
  1774. -defined 
  1775. -.i rn "" (
  1776. -is not included in this distibution).
  1777. -.pg
  1778. -If you expire different groups at different times, an article disappears
  1779. -when the first group in the Newsgroups line expires, even if it's cross
  1780. -posted to a group you retain longer.  Also, the archival option for
  1781. -.i expire
  1782. -(\-a flag) does not work.
  1783. -.pg
  1784. -Eunice does not have the set-user-id bit.  Instead, the VMS feature
  1785. -allowing installation of privileged images is used.  inews and rnews
  1786. -must be installed with SYSPRV privilege.  To allow VMS to install
  1787. -.i inews
  1788. -.i rnews "" (
  1789. -is a copy of it), it must be linked with the
  1790. -.i /notrace
  1791. -flag.  Despite the documentation, this only seems to work if the
  1792. -VMS linker is used on VMS-format object files, as of Eunice version 4.2.
  1793. -So it is VERY IMPORTANT to type
  1794. -.i vmsobj
  1795. -before building news.
  1796. -.pg
  1797. -The DCL command file 
  1798. -.i euninstal.com
  1799. -installs 
  1800. -.i inews
  1801. -and
  1802. -.i rnews
  1803. -with the proper privileges.  It is run by  \*(lqmake install\*(rq as the last
  1804. -step.  It is possible that it will fail because your system does
  1805. -not have sufficient global page table space or known file list
  1806. -entries.  See the Eunice installation manual to learn how to increase
  1807. -the values of these parameters (you will have to reboot the system).
  1808. -.pg
  1809. -The 
  1810. -.i euninstal.com
  1811. -script must be run every time the system is booted.
  1812. -I suggest invoking it from /etc/suchmod.com.
  1813. -.pg
  1814. -It is crucial that
  1815. -.b LIBDIR \f2/active\fP
  1816. -and
  1817. -.b LIBDIR \f2/seq\fP
  1818. -be in Unix format, as opposed to VMS format.  Use
  1819. -.i etc/vmstounix
  1820. -to assure this.
  1821. -.pg
  1822. -Not all options have been tested; if you select options other than
  1823. -those set by the localize.vms script (except for obvious things like
  1824. -.B ORGNAME ,
  1825. -etc) I can't guarantee that it will work.  In particular, I
  1826. -haven't attempted to define 
  1827. -.b SPOOLNEWS
  1828. -or
  1829. -.b MULTICAST .
  1830. -That doesn't mean they won't work, just that I haven't tried them.
  1831. -.pg
  1832. -If you choose to run compressed batching, I recommend that you put
  1833. -.i cunbatch
  1834. -in your 
  1835. -.i L.cmds
  1836. -file and have your news feed send
  1837. -compressed batches the \*(lqold\*(rq way, because this saves an exec, and
  1838. -forks and execs are so expensive on Eunice (the new way is for the
  1839. -first line to be #cunbatch, and have
  1840. -.i rnews
  1841. -exec 
  1842. -.i cunbatch ).  
  1843. -.pg
  1844. -If you have questions on Eunice and news contact:
  1845. -.sd c
  1846. -Joe Buck, Entropic Processing, Inc.
  1847. -.sp 1
  1848. -seismo!epiwrl!epimass!jbuck
  1849. -hplabs!oliveb!epimass!jbuck
  1850. -.ed
  1851. *-*-END-of-install.mn-*-*
  1852. exit
  1853.  
  1854.