home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / DOC / HOWTO / OTHER_FO / SGML / UUCP_HOW.GZ / UUCP-HOWTO.sgml
Encoding:
SGML Document  |  1996-02-11  |  19.7 KB  |  524 lines

  1. <!-- <date>$Id: uucp-howto,v 1.5 1995/11/29 18:26:59 vince Exp $ -->
  2.  
  3. <!doctype linuxdoc system>
  4. <article>
  5. <title>The Linux UUCP HOWTO
  6. <author>Vince Skahan, <tt><vince@halcyon.com></tt>
  7. <date>v1.5, 29 November 1995
  8. <abstract>
  9. This document describes the setup and care+feeding of UUCP under Linux.  You
  10. need to read this if you plan to connect to remote sites via UUCP via a modem,
  11. via a direct-connection, or via Internet.  You probably do *not* need to read
  12. this document if don't talk UUCP.
  13. </abstract>
  14. <toc>
  15. <sect>Introduction
  16. <p>
  17. The intent of this document is to answer some of the questions and comments
  18. that appear to meet the definition of "frequently asked questions" about UUCP
  19. software under Linux in general, and the version in the Linux SLS and
  20. Slackware distributions in particular.
  21.  
  22. This document and the corresponding Mail and News "HOWTO" documents
  23. collectively supersede the UUCP-NEWS-MAIL-FAQ that has previously been posted
  24. to <em>comp.os.linux.announce</em>.  
  25. <sect1>New versions of this document
  26. <p>
  27. New versions of this document will be periodically posted to
  28. comp.os.linux.announce, comp.answers, and news.answers.  They will
  29. also be added to the various anonymous ftp sites who archive such
  30. information including <tt>sunsite.unc.edu:/pub/Linux/docs/HOWTO</tt>.
  31. <p>
  32. In addition, you should be generally able to find this document on the
  33. Linux WorldWideWeb home page at <tt>http://sunsite.unc.edu/mdw/linux.html</tt>.
  34.  
  35. <sect1>Feedback
  36.  
  37. <p>
  38. I am interested in any feedback, positive or negative, regarding the content
  39. of this document via e-mail.  Definitely contact me if you find errors or
  40. obvious omissions.
  41.  
  42. I read, but do not necessarily respond to, all e-mail I receive.  Requests for
  43. enhancements will be considered and acted upon based on that day's combination
  44. of available time, merit of the request, and daily blood pressure :-)
  45.  
  46. Flames will quietly go to /dev/null so don't bother.
  47.  
  48. In particular, the Linux filesystem standard for pathnames is an evolving
  49. thing.  What's in this document is there for illustration only based on the
  50. current standard at the time that part of the document was written and in
  51. the paths used in the distributions or 'kits' I've personally seen.  Please
  52. consult your particular Linux distribution(s) for the paths they use.
  53.  
  54. Feedback concerning the actual format of the document should go to the HOWTO
  55. coordinator - Greg Hankins (<tt>gregh@sunsite.unc.edu</tt>).
  56.  
  57. <sect1>Copyright Information
  58. <p>
  59. The UUCP-HOWTO is copyrighted (c)1994 Vince Skahan.
  60.  
  61. A verbatim copy may be reproduced or distributed in any medium physical or
  62. electronic without permission of the author.  Translations are similarly
  63. permitted without express permission if it includes a notice on who translated
  64. it.
  65.  
  66. Short quotes may be used without prior consent by the author.  Derivative work
  67. and partial distributions of the UUCP-HOWTO must be accompanied with either a
  68. verbatim copy of this file or a pointer to the verbatim copy.
  69.  
  70. Commercial redistribution is allowed and encouraged; however, the author would
  71. appreciate being notified of any such distributions (as a courtesy).
  72.  
  73. In short, we wish to promote dissemination of this information through as many
  74. channels as possible. However, we do wish to retain copyright the HOWTO
  75. documents.
  76.  
  77. We further want that ALL information provided in the HOWTOS is disseminated.
  78. If you have questions, please contact Greg Hankins, the Linux HOWTO coordinator,
  79. at <tt>gregh@sunsite.unc.edu</tt>.
  80.  
  81. <sect1>Standard Disclaimer
  82. <p>
  83. Of course, I disavow any potential liability for the contents of this
  84. document.  Use of the concepts, examples, and/or other content of this
  85. document is entirely at your own risk.
  86.  
  87. <sect1>Other sources of information
  88. <sect2>Linux HOWTO Documents
  89. <p>
  90. There is plenty of exceptional material provided in the other Linux HOWTO
  91. documents and from the Linux DOC project.  In particular, you might want to
  92. take a look at the following:
  93.  
  94. <itemize>
  95. <item>the Serial Communications HOWTO
  96. <item>the Ethernet HOWTO
  97. <item>the Linux Networking Administrators' Guide
  98. </itemize>
  99.  
  100. <sect2>USENET
  101. <p>
  102. comp.mail.uucp can answer most of your UUCP questions
  103. <sect2> Mailing Lists
  104. <p>
  105. There is a Taylor UUCP mailing list. 
  106.  
  107. To join (or get off) the list, send mail to 
  108. <verb>
  109.               taylor-uucp-request@gnu.ai.mit.edu
  110. </verb>
  111.  
  112. This request goes to a person, not to a program, so please make sure that you
  113. include the address at which you want to receive mail in the text of the
  114. message.
  115.  
  116. To send a message to the list, send it to
  117. <verb>
  118.              taylor-uucp@gnu.ai.mit.edu
  119. </verb>
  120.  
  121. <sect2>Books
  122. <p>
  123. HDB and V2 versions of UUCP are documented in about every vendor's
  124. documentation as well as in almost all *nix communications books.
  125.  
  126. Taylor config files are currently only documented in the info files provided
  127. with the sources (and in the SLS distribution hopefully).  To read them, you
  128. can grab the nice "infosrc" program from the SLS "s" disks and compile it.
  129.  
  130. The following is a non-inclusive set of books that will help.
  131. <itemize>
  132.  
  133. <item> <tt>"Managing UUCP and USENET"</tt> from O'Reilly and Associates is in my opinion the
  134. best book out there for figuring out the programs and protocols involved in
  135. being a USENET site.
  136.  
  137. <item> <tt>"Unix Communications"</tt> from The Waite Group contains a nice description of all
  138. the pieces (and more) and how they fit together.
  139.  
  140. <item> <tt>"Practical Unix Security"</tt> from O'Reilly and Associates has a nice discussion
  141. of how to secure UUCP in general.
  142.  
  143. <item> <tt>"The Internet Complete Reference"</tt> from Osborne is a fine reference book that
  144. explains the various services available on Internet and is a great
  145. source for information on news, mail, and various other Internet resources.
  146.  
  147. <item>"<tt>The Linux Networking Administrators' Guide</tt>" from Olaf Kirch of the
  148. Linux DOC Project is available on the net and is also published by (at least) 
  149. O'Reilly and SSC.  It makes a fine <em>one-stop shopping</em> to learn about 
  150. everything you ever imagined you'd need to know about Unix networking.
  151. </itemize>
  152.  
  153. <sect1>Where *NOT* to look for help
  154. <p>
  155. There is nothing "special" about configuring and running UUCP under
  156. Linux (any more).  Accordingly, you almost certainly do *NOT* want
  157. to be posting generic UUCP-related questions to the comp.os.linux.*
  158. newsgroups.
  159.  
  160. Unless your posting is truly Linux-specific (ie, "please tell me
  161. what config file support is built into the binaries for Taylor
  162. uucp v1.04 in SLS v1.02"), you should be asking your questions in
  163. comp.mail.uucp or on the Taylor UUCP mailing list as indicated
  164. above.
  165.  
  166. Let me repeat that.
  167.  
  168. There is virtually no reason to post anything uucp-related in the
  169. comp.os.linux hierarchy any more.  There are existing newsgroups in the
  170. comp.mail.* hierarchy to handle *ALL* your questions.
  171.  
  172. <em>
  173. IF YOU POST TO COMP.OS.LINUX.* FOR NON-LINUX-SPECIFIC QUESTIONS, YOU ARE
  174. LOOKING IN THE WRONG PLACE FOR HELP.  THE UUCP EXPERTS HANG OUT IN THE PLACES
  175. INDICATED ABOVE AND GENERALLY DO NOT RUN LINUX.
  176. </em>
  177.  
  178. <em>
  179. POSTING TO THE LINUX HIERARCHY FOR NON-LINUX-SPECIFIC QUESTIONS WASTES YOUR
  180. TIME AND EVERYONE ELSE'S AND IT FREQUENTLY DELAYS YOU FROM GETTING THE ANSWER
  181. TO YOUR QUESTION.
  182. </em>
  183.  
  184. <sect>Hardware Requirements 
  185. <p> 
  186. There are no specific hardware requirements for UUCP under Linux.  Basically
  187. any Hayes-compatible modem works painlessly with UUCP.
  188.  
  189. In most cases, you'll want the fastest modem you can afford.  In general, you
  190. want to have a 16550 UART on your serial board or built into your modem to
  191. handle speeds of above 9600 baud.
  192.  
  193. If you don't know what that last sentence means, please consult the
  194. <em>comp.dcom.modems</em> group or the various fine modem and serial communications
  195. FAQs and periodic postings on USENET.
  196.  
  197. <sect>Getting UUCP 
  198. <p>
  199. Taylor UUCP (current version 1.05) is available on <tt>prep.ai.mit.edu</tt> in source
  200. form and in various Linux distributions in binary form.
  201.  
  202. The <tt>newspak-2.4.tar.z</tt> distribution contains config files and readme files
  203. related to building uucp, news, and mail software under Linux from the various
  204. freely-available sources.  It can usually be found on <tt>sunsite.unc.edu</tt> in the
  205. directory <tt>/pub/Linux/system/Mail/news</tt>.  If you can't find it on
  206. sunsite, please send me mail and I'll make sure you get a copy of it.
  207.  
  208. <sect>Installing the Software
  209. <p>
  210. (Much of this section is taken verbatim from the README file in the Taylor
  211. UUCP v1.05 sources - it's provided here so I can help you "rtfm" instead of
  212. just telling you to do so)
  213.  
  214. Detailed compilation instructions are in uucp.texi in the sources.
  215.  
  216. You can grab "known good" <tt>conf.h</tt> and <tt>policy.h</tt> files for Linux
  217. from the newspak distribution referred to in the "other sources of information"
  218. section above.  In that case, you can probably go right to typing "make".
  219.  
  220. <sect1>Extracting the compressed sources
  221. <p>
  222. To extract a gzip'd tar archive, I do the following:
  223. <verb>
  224.         gunzip -c filename.tar.z | tar xvf -
  225. </verb>
  226. A "modern" tar can just do a:
  227. <verb>
  228.                tar -zxvf filename.tgz
  229. </verb>
  230. <sect1>Edit Makefile.in to set installation directories.
  231. <p>
  232. Here, I set <tt>"prefix"</tt> to "/usr" rather than the default of "/usr/local"
  233.  
  234. <sect1>Run "configure"
  235. <p>
  236. Type <tt>"sh configure"</tt>. 
  237.  
  238. The configure script will compile a number of test programs to see what is
  239. available on your system and will calculate many things.
  240.  
  241. The configure script will create <tt>conf.h</tt> from conf.h.in and <tt>Makefile</tt> from
  242. Makefile.in.  It will also create config.status, which is a shell script which
  243. actually creates the files.
  244.  
  245. <itemize>
  246. <item>
  247. Rather than editing the Makefile.in file in the sources as indicated above,
  248. you can get the same effect by:
  249. <verb>
  250.     "configure --prefix=/usr/lib"
  251. </verb>
  252. </itemize>
  253. <sect1>Configure the future setup of the software
  254. <p>
  255. <sect2> Examine conf.h and Makefile to make sure they're right.
  256. <p> I took the defaults
  257. <sect2> Edit <tt>policy.h</tt> for your local system.
  258. <p>
  259. <itemize>
  260. <item> - set the type of lockfiles you want (HAVE_HDB_LOCKFILES) 
  261. <item> - set the type of config files you want built in
  262.         (HAVE_TAYLOR_CONFIG, HAVE_V2_CONFIG, HAVE_HDB_CONFIG)
  263. <item> - set the type of spool directory structure you want
  264.         (SPOOLDIR_HDB)
  265. <item> - set the type of logging you want (HAVE_HDB_LOGGING)
  266. <item> - set the default search path for commands
  267.         (I added /usr/local/bin to mine)
  268. </itemize>
  269. <sect1>Compile and install the software
  270. <p>
  271. <itemize>
  272. <item>Type <tt>"make"</tt>.
  273. <item>Use <tt>"uuchk | more"</tt> to check configuration files.  You can use <tt>"uuconv"</tt>
  274. to convert between configuration file formats.
  275. <item>Type <tt>"make install"</tt> to install.
  276. </itemize>
  277. <sect1>Set up the config files
  278. <p>
  279. I'd recommend you start by taking the attached known-good config files for HDB
  280. mode and installing them.
  281. <itemize>
  282. <item>Make sure that the <tt>Permissions</tt> file indicates exactly where rmail and rnews
  283. are to be found if you put them anywhere other than in the path you specified
  284. in policy.h
  285. <item>
  286. Make sure that your <tt>Devices</tt> files matches the actual location of your modem
  287. (cua1=COM2 in the examples)
  288. <item>
  289. Edit the <tt>Systems</tt> file to set up the system(s) you talk to with their speed,
  290. phone number, username, and password.  
  291.  
  292. <tt>*PROTECT THIS FILE AGAINST WORLD READ*</tt>
  293.  
  294. <item>Set up the <tt>Permissions</tt> file and add a set of lines for each site you talk to.
  295. For security reasons, it's recommended to make sure they each have a separate
  296. account (if you allow dialin) and home directory so you can track things.
  297. </itemize> 
  298. <sect1>Give it a try
  299. <p>
  300.  
  301. <verb>
  302.     /usr/lib/uucp/uucico -r 1 -x 9 -s remote_system_name
  303. </verb>
  304.  
  305. The <tt>-x 9</tt> will have maximum debugging information written to the
  306. <tt>/usr/spool/uucp/.Admin/audit.local</tt> file for help in initial setup. 
  307.  
  308. I normally run <tt>-x 4</tt> here since that level logs details that help me with login
  309. problems.  Obviously, this contains cleartext information from your Systems
  310. file (account/password) so protect it against world-read.
  311.  
  312. <itemize>
  313. <item> from <em>Pierre.Beyssac@emeraude.syseca.fr</em>
  314.  
  315. Taylor has more logging levels.  Use -x all to get the highest level possible.
  316.  
  317. Also, do a <tt>"tail -f /usr/spool/uucp/.Admin/audit.local"</tt> while debugging to
  318. watch things happen on the fly.
  319. </itemize>
  320. <sect1>It doesn't work - now what ?
  321. <p>
  322. In general, you can refer to the documentation mentioned above
  323. if things don't work.  You can also refer to your more experienced
  324. UUCP neighbors for help.  Usually, it's something like a typo
  325. anyway.
  326.  
  327. <sect>Frequently Asked Questions about Linux UUCP
  328. <p>
  329.  
  330. <sect1>Why is my binary of uucp configured in HDB rather than "Taylor" mode?
  331. <p>
  332. (religious mode on - I know some people are just as religious about "ease
  333. of use" as I am about "being standard".  That's why they make source code you
  334. can build your own from :-) )
  335.  
  336. Because IMHO it's the de-facto standard UUCP implementation at this time.
  337. There are thousands of sites with experienced admins and there are many places
  338. you can get incredibly good information concerning the HDB setup.
  339.  
  340. The uucp-1.04 that's in SLS 1.02 and later has all three modes of config files
  341. built in.  While I can't test it, I did "rtfm" and Ian Taylor tells me that it
  342. should work.
  343.  
  344. The search order for config files is Taylor then V2 (L.sys)  then HDB.
  345. Use the <tt>uuconv</tt> utility in /usr/lib/uucp to convert config files from one mode
  346. to another.
  347.  
  348. If you can't wait, grab the sources for uucp and specify <tt>HAVE_BNU_CONFIG</tt>,
  349. <tt>HAVE_V2_CONFIG</tt> *and* <tt>HAVE_TAYLOR_CONFIG</tt> in the policy.h file and type "make".
  350.  
  351. The following workaround is ugly, but it does work, if you want to run Taylor
  352. configs from binaries that don't have it built in.
  353. <itemize>
  354. <item> <em>From mbravo@tctube.spb.su (Michael E. Bravo)</em> 
  355.  
  356. - add  <tt>"-I /usr/local/lib/uucp/config"</tt> to _every_ invocation of 
  357. whatever program in uucp package
  358. </itemize>
  359.  
  360. Also, the current Slackware has a nice setup where they separated the
  361. config files for the various configurations into separate directories.
  362. For example, the HDB config files would go into <tt>/usr/lib/uucp/hdb_config</tt>.
  363. While I used to 'roll my own' here, I've been running the out-of-the-box
  364. Slackware UUCP in HDB mode here with no problems for quite a while.
  365.  
  366. <sect1>Why do I get "timeout" on connections when I upgraded to uucp-1.04 ?
  367. <p>
  368. <itemize>
  369. <item> from <em>Ed Carp - erc@apple.com</em> 
  370.  
  371. If you use a "Direct" device in the Devices file, there's now a
  372. 10 second timeout compiled in.  Make the name of the Device anything
  373. other than "Direct".  If you tweak the example /usr/lib/uucp files
  374. provided with SLS, you won't have problems with this one.
  375.  
  376. <item> from <em>Greg Naber - greg@squally.halcyon.com</em> 
  377.  
  378. If you get chat script timeouts, you can tweak the sources by 
  379. editing at line 323 in uuconf/syssub.c and changing the default
  380. timeouts from 10 seconds to something larger.
  381.  
  382. <item> from <em>Ed Rodda - ed@orca.wimsey.bc.ca</em>
  383.  
  384. If you get chat script timeouts, typically connecting to other
  385. Taylor sites, a pause after login can fix this.
  386. <verb>
  387. feed Any ACU,ag 38400 5551212 ogin: \c\d "" yourname word: passwd
  388. </verb>  
  389. <item> from <em>Dr. Eberhard W. Lisse - el@lisse.NA</em> 
  390.  
  391. Some kernels experience modems hanging up after a couple of seconds.
  392. The following patch sent by Ian Taylor might help.
  393. <verb>
  394. *** conn.c.orig Mon Feb 22 20:25:24 1993
  395. --- conn.c      Mon Feb 22 20:33:10 1993
  396. ***************
  397. *** 204,209 ****
  398. --- 204,212 ----
  399.  
  400.      /* Make sure any signal reporting has been done before we set
  401.        fLog_sighup back to TRUE.  */
  402. +   /* SMR: it seems to me if we don't care about SIGHUPS, we should clear
  403. +      the flag before we return  */
  404. +   afSignal[INDEXSIG_SIGHUP] = FALSE;
  405.     ulog (LOG_ERROR, (const char *) NULL);
  406.     fLog_sighup = TRUE;
  407. </verb> 
  408. </itemize>
  409. <sect1>Why doesn't HDB anonymous uucp seem to work ?
  410. <p>
  411. The SLS anonymous uucp only works in Taylor mode because it's compiled with
  412. HAVE_TAYLOR_CONFIG.  If you want to do anon uucp in HDB mode, you'll have to
  413. recompile the sources with just HDB defined.  Ian Taylor is considering which
  414. way to deal with this "feature".
  415.  
  416. Also, Taylor in HDB mode seems to be sensitive to white space and blank lines.
  417. To be safe, make sure that there are no blank lines or trailing spaces in the
  418. Permissions file.
  419.  
  420. Lastly, make sure that you have a file called <tt>remote.unknown</tt> in /usr/lib/uucp
  421. and that it's <em>*NOT*</em> executable.  See the O'Reilly+Assoc book <tt>"Managing UUCP
  422. and USENET"</tt> for details regarding this file.
  423.  
  424. <sect1>What does "no matching ports found" mean ?
  425. <p>
  426. In all probability, you are attempting to use a device (<tt>/usr/lib/uucp/Devices</tt>)
  427. that doesn't exist, or the device you've specified in the
  428. <tt>/usr/lib/uucp/Systems</tt> file doesn't match up with any valid devices in the
  429. Devices file.
  430.  
  431. Following this are *sanitized* versions of my working Taylor 1.05 HDB config
  432. files that you can plug in and use.
  433.  
  434. note the "ACU" in the Systems ?  That tells which "port" to use in Devices
  435.  
  436. see the "scout" word in Systems ?  That tells which dialer to use in Dialers.
  437.  
  438. If you had a ACU port, but none that matched the specified dialer on the same
  439. line in Systems, you'll get that message.
  440.  
  441. <sect1>What are known good config files for HDB mode ?
  442. <p>
  443. The following are "known-good" config files for Taylor 1.05 under Linux in
  444. HoneyDanBer mode.  They work on kernels of 0.99-8 or later. All files should
  445. be in /usr/lib/uucp unless you've tweaked the sources to put the uucp library
  446. elsewhere.
  447.  
  448. If you *HAVE* put things in non-standard places, be aware that things like
  449. sendmail might get very confused. You need to ensure that all
  450. communications-related programs agree on your idea of "standard" paths.
  451.  
  452. If you're running a kernel of 0.99-7 or earlier, change "cua1" to "ttyS1".
  453.  
  454. <verb>
  455. #------------- Devices -------------
  456. # make sure the device (cua1 here) matches your system
  457. # cua1 = COM2 
  458. #
  459. # here "scout" is the Digicom Scout Plus 19.2 modem I use
  460. # tbfast etc. is for a Telebit Trailblazer Plus modem's various speeds
  461. #
  462. ACU cua1 - 19200 scout
  463. ACU cua1 - 9600 tbfast
  464. ACU cua1 - 1200 tbslow
  465. ACU cua1 - 2400 tbmed
  466.  
  467. #------------- dialers --------------
  468. # note the setting of the Trailblazer registers "on the fly"
  469. # "scout" is a Digicom Scout Plus (Hayes-like) modem I use here
  470. #
  471. scout    =W-,    "" ATM0DT\T CONNECT
  472. tbfast    =W-,    "" A\pA\pA\pT OK ATS50=255DT\T CONNECT\sFAST
  473. tbslow    =W-,    "" A\pA\pA\pT OK ATS50=2DT\T CONNECT\s1200
  474. tbmed    =W-,    "" A\pA\pA\pT OK ATS50=3DT\T CONNECT\s2400
  475.  
  476. #-------------- Systems -------------
  477. # this is a very generic entry that will work for most systems
  478. #
  479. # the Any;1 means that you can call once per minute with using -f (force)
  480. # the ACU,g means force "g" protocol rather than Taylor's default "i"
  481. #
  482. fredsys Any;1 ACU,g 19200 scout5555555 "" \r ogin:--ogin: uanon word: uanon 
  483.  
  484. #-------------------------------- Permissions -------------------------
  485.  
  486. # Taylor UUCP in HDB mode appears to be sensitive to blank lines.
  487. # Make sure all Permissions lines are real or commented out.
  488. #    
  489. # this is a anonymous uucp entry
  490. #
  491. LOGNAME=nuucp MACHINE=OTHER \
  492. READ=/usr/spool/uucp/nuucp \
  493. WRITE=/usr/spool/uucp/nuucp \
  494. SENDFILES=yes REQUEST=yes \
  495. COMMANDS=/bin/rmail
  496. #
  497. # this is a normal setup for a remote system that talks to us
  498. # note the absolute path to rnews since this site puts things
  499. # in locations that aren't "standard"
  500. #
  501. LOGNAME=fredsys MACHINE=fredsys \
  502. READ=/usr/spool/uucp/fredsys:/usr/spool/uucp/uucppublic:/files \
  503. WRITE=/usr/spool/uucp/fredsys:/usr/spool/uucppublic \
  504. SENDFILES=yes REQUEST=yes \
  505. COMMANDS=/bin/rmail:/usr/local/lib/news/bin/rnews
  506. #----------------------------------------------------------------------
  507. </verb>
  508. <sect1>Getting uucico to call alternate numbers
  509. <p>
  510. The new v1.05 has an added '-z' switch to uucico that will try alternate
  511. numbers for a remote system.  
  512. <sect>Acknowledgements
  513. <p>
  514.  
  515. The following people have helped in the assembly of the information (and
  516. experience) that helped make this document possible:
  517.  
  518. Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, 
  519. Pierre Beyssac
  520.  
  521. If I forgot anybody, my apologies.
  522.  
  523. </article>
  524.