Linux UUCP HOWTO <author>Vince Skahan, <tt><vince@halcyon.com></tt> <date>v1.5, 29 novembre 1995 <abstract> Questo documento descrive l'impostazione e l'uso di UUCP sotto Linux. Dovrete leggerlo se avete intenzione di connettervi ad un sito remoto via UUCP con un modem, con una connessione diretta o via Internet. Probabilmente *non* avete bisogno di leggere questo documento se non usate UUCP. Documento tradotto da Giuliano Natali, natali@trew.it; aggiornato da Michele Dalla Silvestra, dalla@psico.unipd.it. </abstract> <toc> <sect>Introduzione <p> Lo scopo di questo documento è rispondere ad alcune domande e problemi che si possono definire ``FAQ'' (Frequently Asked Question, cioè domande frequenti) sul software UUCP sotto Linux in generale, e in particolare sulla versione di Linux SLS e Slackware a livello di distribuzioni. Questo documento e i corrispondenti ``Mail-HOWTO'' e ``News-HOWTO'' rimpiazzano le UUCP-NEWS-MAIL-FAQ che venivano precedentemente spedite a <em>comp.os.linux.announce</em>. <sect1>Nuove versioni di questo documento <p> Le nuove versioni di questo documento sono periodicamente postate su comp.os.linux.announce, comp.answers, e news.answers. Vengono peraltro aggiunte ai vari siti ftp anonimo che mantengono l'archivio di questo tipo di informazioni, incluso <tt>sunsite.unc.edu:/pub/Linux/docs/HOWTO</tt>. In aggiunta dovreste riuscire a trovare questo documento sulla ``Linux WorldWideWeb home page'' a <tt>http://sunsite.unc.edu/mdw/linux.html</tt>. <sect1>Commenti e proposte <p> Sono interessato a qualsiasi commento, positivo o negativo che sia, riguardante il contenuto di questo documento via e-mail. Contattatemi, inoltre, se trovate errori od omissioni piuttosto ovvie. Io leggo tutte le e-mail che ricevo, ma non necessariamente rispondo. Richieste di variazioni vengono considerate e eseguite in base al giorno, al tempo a disposizione, al tipo di richiesta ed alla pressione sanguigna :-) Le proteste vengono reindirizzate direttamente su /dev/null quindi non agitatevi troppo. In particolare, il filesystem standard di Linux riguardo ai percorsi è una cosa in evoluzione. Tutto quel che c'è in questo documento serve come traccia basata sullo standard corrente al momento della stesura di quella parte di documento e riferita ai percorsi usati nelle distribuzioni o `kit' che ho visto personalmente. Vi prego di consultare la vostra distribuzione di Linux circa i percorsi che vengono usati. Consigli riguardanti il formato attuale del documento vanno indirizzati al coordinatore degli HOWTO - Greg Hankins (<tt>gregh@sunsite.unc.edu</tt>). <sect1>Informazioni sul Copyright <p> UUCP-HOWTO è copyrighted (c) 1994 di Vince Skahan. Una copia letterale può essere distribuita con ogni mezzo fisico o elettronico senza il permesso dell'autore. Traduzioni sono ugualmente permesse senza il permesso esplicito se includono notizie su chi l'ha tradotto. Brevi citazioni possono essere usate senza il consenso dell'autore. Lavori derivati e distribuzioni parziali dell'UUCP-HOWTO devono essere accompagnati con una copia letterale di questo file o un puntatore ad una copia letterale. Ridistribuzioni commerciali sono permesse ed incoraggiate; comunque, l'autore desidera essere avvisato di ogni simile distribuzione (per cortesia). In breve, vogliamo promuovere la disseminazione di queste informazioni attraverso più canali possibile. Comunque vogliamo mantenere il copyright dei documenti HOWTO. Vogliamo, inoltre, che TUTTE le informazioni fornite negli HOWTO siano disseminate. Se avete domande, contattate Greg Hankins, il coordinatore dei Linux HOWTO, all'indirizzo <tt>gregh@sunsite.unc.edu</tt>. Per le versioni in italiano, contattate Michele Dalla Silvestra, <tt>dalla@psico.unipd.it</tt>. <sect1>Responsabilità <p> Chiaramente, mi sollevo da responsabilità circa potenziali conflitti derivanti dall'uso di questo documento. L'uso dei concetti, esempi e/o altri contenuti di questo documento sono interamente a vostro rischio e pericolo. <sect1>Altre fonti di informazione <sect2>Documenti Linux HOWTO <p> C'è abbondanza di materiale eccezionale fornito dagli altri Linux HOWTO e dai documenti del Linux DOC project. In particolare, date un'occhiata alle seguenti pubblicazioni: <itemize> <item>il <em>Serial Communications HOWTO</em> <item>l'<em>Ethernet HOWTO</em> <item>la <em>Linux Networking Administrators' Guide</em> </itemize> <sect2>USENET <p> comp.mail.uucp può rispondere alla maggior parte delle domande su UUCP <sect2>Mailing Lists <p> C'è una mailing list sul Taylor UUCP. Per riceverla (o disdirla), mandate una mail a <verb> taylor-uucp-request@gnu.ai.mit.edu </verb> Questa richiesta è indirizzata ad una persona, e non ad un programma, quindo assicuratevi di includere l'indirizzo al quale volete siano spedite le mail inserendolo nel testo del messaggio. Per mandare un messaggio alla lista, indirizzatelo a <verb> taylor-uucp@gnu.ai.mit.edu </verb> <sect2>Testi e libri <p> Le versioni HDB e V2 di UUCP compaiono in quasi tutte le documentazioni commerciali così come un quasi tutti i libri sulla comunicazione tramite *nix. I file di configurazione del Taylor vengono correntemente documentati nei file info forniti con i sorgenti (ed anche nella distribuzione SLS, si spera). Per leggerli potete procurarvi il simpatico programma ``infosrc'' dai dischi della distribuzione SLS serie ``s'' e compilarlo. I seguenti sono un set non-incluso di libri che vi aiuteranno. <itemize> <item> <tt>"Managing UUCP and USENET"</tt> della O'Reilly and Associates secondo me è il miglior libro, escludendo quelli per spiegare il funzionamento dei programmi ed i protocolli, per costruire un sito USENET. <item><tt>"Unix Communications"</tt> della The Waite Group contiene una buona descrizione di tutte le parti (ed anche di più) e del loro funzionamento concomitante. <item><tt>"Practical Unix Security"</tt> della O'Reilly and Associates tratta sulla sicurezza di UUCP in generale. <item><tt>"The Internet Complete Reference"</tt> della Osborne è un libro di riferimento, ben fatto, che spiega i vari servizi disponibili su Internet ed è una grande risorsa di informazioni sulle news, mail, e varie altre risorse di Internet. <item>"<tt>The Linux Networking Administrators' Guide</tt>" di Olaf Kirch del Linux DOC Project è disponibile sulla rete e viene pubblicato (perlomeno) dalla O'Reilly e SSC. Fa un fine passaggio <em>punto per punto</em> per imparare tutto quello che immaginate dover sapere circa l'uso del networking su Unix. </itemize> <sect1>Dove *NON* guardare per aiuti <p> Non c'è niente di ``speciale'' sulla configurazione e l'esecuzione di UUCP sotto Linux (per il momento). In accordo con questa precisa massima, voi certamente *NON* vorrete spedire generiche domande su UUCP al newsgroup comp.os.linux.*. Spedirete invece precise domande circa Linux (tipo, ``Per favore, ditemi il tipo di file di configurazione supportato che è compilato nei binari del Taylor uucp v1.04 nella SLS v1.02''), dovrete porre le vostre domande in comp.mail.uucp o nella mailing list del Taylor UUCP come indicato precedentemente. Lasciatemelo ripetere. Non esiste virtualmente nessuna ragione per spedire qualsiasi domanda su uucp nel gruppo comp.os.linux. Ci sono newsgroups nel comp.mail.* che prevedono *TUTTE* le vostre domande. <em> SE MANDATE A COMP.OS.LINUX.* DOMANDE NON SPECIFICHE LINUX, STATE CERCANDO AIUTO NEL POSTO SBAGLIATO. GLI ESPERTI DI UUCP SI COLLEGANO AI GRUPPI INDICATI SOPRA E GENERALMENTE NON USANO LINUX.</em> <em> MANDANDO NELLE GERARCHIE LINUX DOMANDE NON SPECIFICHE LINUX PERDETE IL VOSTRO TEMPO E FREQUENTEMENTE NON OTTERRETE NESSUNA RISPOSTA. </em> <sect>Requisiti Hardware <p> Non ci sono richieste di hardware specifico per l'UUCP sotto Linux. Praticamente qualsiasi modem Hayes-compatibile lavora in sintonia con UUCP. Nella maggior parte dei casi, vorrete il modem più veloce che le vostre tasche possono permettere. In generale, avrete una 16550 UART come scheda seriale o inglobata nel vostro modem per raggiungere velocità di almeno 9600 baud. Se non sapete o non capite cosa intendo, consultate il gruppo <em>comp.dcom.modems</em> o le varie FAQ sui modem e la comunicazione via seriale ed i periodici annunci su USENET. <sect>Prelevare UUCP <p> Taylor UUCP (versione corrente 1.05) è disponibile a <tt>prep.ai.mit.edu</tt> in formato sorgente ed in varie distribuzioni di Linux in formato binario. Il <tt>newspak-2.4.tar.z</tt> contiene i file di configurazione e di documentazione relativi alla compilazione del software uucp, news, e mail sotto Linux recuperati dalla grande mole di sorgenti free. Lo potete trovare, normalmente, a <tt>sunsite.unc.edu</tt> nella directory <tt>/pub/Linux/system/Mail/news</tt>. Se non riuscite a trovarlo su sunsite, mandatemi una mail e mi prenderò cura di farvene avere una copia. <sect>Installare il Software <p> (La maggior parte di questa sezione è stata presa direttamente dal file README nel sorgente del Taylor UUCP v1.05 - viene fornita qui per aiutarvi ``rtfm'' invece di limitarmi a dire cosa fare) Le istruzioni dettagliate per la compilazione sono in uucp.texi fornito con i sorgenti. Potete prendere per ``buoni'' <tt>conf.h</tt> e <tt>policy.h</tt> per Linux dalla distribuzione del newspak alla quale si fa riferimento in ``Altre fonti di informazione'' di cui sopra. In quel caso, farete bene ad eseguire direttamente ``make''. <sect1>Estrarre i sorgenti compressi <p> Per estrarre un file tar compresso, eseguite: <verb> gunzip -c filename.tar.z | tar xvf - </verb> Con il tar ``moderno'' si esegue: <verb> tar -zxvf filename.tgz </verb> <sect1>Modificate Makefile.in per determinare le directory di installazione. <p> Qui, ho impostato <tt>"prefix"</tt> a ``/usr'' piuttosto che il normale ``/usr/local'' <sect1>Eseguite ``configure'' <p> Eseguite <tt>"sh configure"</tt>. Lo script ``configure'' compilerà un numero di programmi di test per vedere quello che è disponibile sul vostro sistema e calcolerà altre cose che servono per la compilazione. Lo script ``configure'' creerà il file <tt>conf.h</tt> partendo da conf.h.in ed il <tt>Makefile</tt> dal Makefile.in. Creerà inoltre il file config.status, che è uno script di shell con il quale crea i file. <itemize> <item>Piuttosto che editare il file Makefile.in nei sorgenti come indicato sopra, avrete lo stesso risultato con: <verb> "configure --prefix=/usr/lib" </verb> </itemize> <sect1>Configurare la futura impostazione del software <sect2>Esaminate conf.h e Makefile ed assicuratevi che siano a posto. <p> Io ho preso i file di default <sect2>Modificate <tt>policy.h</tt> per il vostro sistema. <p> <itemize> <item>impostate il tipo di lockfile che desiderate (HAVE_HDB_LOCKFILES) <item>impostate il tipo di file di configurazione che volete supportati (HAVE_TAYLOR_CONFIG, HAVE_V2_CONFIG, HAVE_HDB_CONFIG) <item>impostate il tipo di struttura della directory di spool (SPOOLDIR_HDB) <item>impostate il tipo di file di log (HAVE_HDB_LOGGING) <item>impostate il percorso di ricerca per i commandi (io ho aggiunto /usr/local/bin a quello esistente) </itemize> <sect1>Compilare ed installare il software <p> <itemize> <item>Eseguite <tt>"make"</tt>. <item>Usate <tt>"uuchk | more"</tt> per controllare i file di configurazione. Potete usare <tt>"uuconv"</tt> per la conversione tra i formati dei file di configurazione. <item>Eseguite <tt>"make install"</tt> per installare il software. </itemize> <sect1>Impostare i file di configurazione <p> Vi ho raccomandato di partire prendendo direttamente i file di configurazione ``buoni'' per la modalità HDB e di provvedere ad installarli. <itemize> <item>Assicuratevi che il file <tt>Permissions</tt> indichi esattamente dove si trovano rmail ed rnews se li avete messi da qualsiasi parte non specificata nel file policy.h. <item>Assicuratevi che il vostro file <tt>Devices</tt> contenga l'esatta posizione del vostro modem (cua1=COM2 come nell'esempio). <item>Modificate il file <tt>Systems</tt> per configurare il(i) sistema(i) con cui comunicherete, velocità, numero telefonico, nome utente e password. <tt>*PROTEGGETE QUESTO FILE DALLA LETTURA DI ALTRI*</tt> <item>Configurate il file <tt>Permissions</tt> ed aggiungete una serie di linee per ogni sito che volete contattare. Per ragioni di sicurezza, è raccomandabile assicurarvi che ognuno abbia un account separato (se abilitate il dialin) ed una home directory così potrete tenerne traccia. </itemize> <sect1>Provate!!!!!!!!!!! <p> <verb> /usr/lib/uucp/uucico -r 1 -x 9 -s remote_system_name </verb> L'opzione <tt>-x 9</tt> fornisce le informazioni più chiare possibili e le scrive su <tt>/usr/spool/uucp/.Admin/audit.local</tt> per aiutarvi nell'impostazione iniziale. Normalmente io eseguo <tt>-x 4</tt> visto che come livello di log mi aiuta sufficientemente a risolvere i problemi. Ovviamente, contenendo informazioni testuali dal vostro file Systems (account/password), proteggetelo dalla lettura di estranei. <itemize> <item>da <em>Pierre.Beyssac@emeraude.syseca.fr</em> Taylor permette più livelli di registrazione. Usate -x per avere il livello più alto possibile. Inoltre, fate <tt>"tail -f /usr/spool/uucp/.Admin/audit.local"</tt> durante il debugging per vedere cosa accade in ogni istante. </itemize> <sect1>Non funziona - e adesso? <p> In generale, riferitevi alla documentazione di cui sopra se qualcosa va storto. Potrete anche consultare degli utenti di UUCP esperti per chiedere aiuto. Usualmente, si fa quel che si può e ci si rivolge a chi ne sa qualcosa in più. <sect>Domande Frequenti sul Linux UUCP <sect1>Perché il mio binario di uucp è configurato in modalità HDB invece di ``Taylor''? <p> (religious mode on - Conosco molte persone che sono fanatiche circa la ``semplicità d'uso'' come io sono per l'``essere standard''. Questo perché essi producono del codice sorgente che vi potrete compilare da soli :-) ) E perché IMHO è lo standard de-facto dell'implementazione UUCP in questo momento. Ci sono migliaia di siti con amministratori ``navigati'' ed alcuni posti nei quali trovare delle incredibilmente buone informazioni riguardanti l'impostazione dell'HDB. L'uucp-1.04 che si trova in SLS 1.02 e successivi contiene il supporto per tutti e tre i tipi di file di configurazione. Siccome non li potevo provare, ho eseguito ``rtfm'' e Ian Taylor mi ha detto che devono funzionare. L'ordine di ricerca per i file di configurazione e`: Taylor poi V2 (L.sys) poi HDB. Usate l'utility <tt>uuconv</tt> in /usr/lib/uucp per convertire i file di configurazione da una modalità all'altra. Se non potete aspettare, recuperate i sorgenti di uucp e specificate <tt>HAVE_BNU_CONFIG</tt>, <tt>HAVE_V2_CONFIG</tt> *ed* <tt>HAVE_TAYLOR_CONFIG</tt> nel file policy.h ed eseguite ``make''. Il seguente giro è un po' uggioso, ma funziona se volete usare le configurazioni Taylor con binari che non li supportano. <itemize> <item><em>Da mbravo@tctube.spb.su (Michael E. Bravo)</em> - aggiungete <tt>"-I /usr/local/lib/uucp/config"</tt> ad _ogni_ chiamata di un programma nel pacchetto uucp. </itemize> Comunque, la corrente versione di Slackware ha un setup carino che separa i file di configurazione per le varie configurazioni in directory separate. Per esempio, i file di configurazione HDB si trovano in <tt>/usr/lib/uucp/hdb_config</tt>. Mentre qui usavo il mio, ho eseguito l'"out-of-the-box Slackware UUCP in HDB mode" senza problemi per un bel periodo. <sect1>Perché ricevo un ``timeout'' sulla connessione dopo avere effettuato l'aggiornamento a uucp-1.04? <p> <itemize> <item>da <em>Ed Carp - erc@apple.com</em> Se usate un dispositivo ``Direct'' nel file Devices, c'è un timeout di 10 secondi compilato con esso. Cambia il nome del Device in qualsiasi cosa diversa da ``Direct''. Se leggete l'esempio in /usr/lib/uucp fornito con SLS, non avrete problemi come questo. <item>da <em>Greg Naber - greg@squally.halcyon.com</em> Se ricevete ``chat script timeouts'', potete modificare i sorgenti editando la linea 323 in uuconf/syssub.c e cambiare il timeout di default da 10 secondi a qualcosina in più. <item>da <em>Ed Rodda - ed@orca.wimsey.bc.ca</em> Se ricevete ``chat script timeouts'', tipicamente connetendovi ad altri siti Taylor, una pausa dopo il login vi risolverà il problema. <verb> feed Any ACU,ag 38400 5551212 ogin: \c\d "" yourname word: passwd </verb> <item>da <em>Dr. Eberhard W. Lisse - el@lisse.NA</em> Alcuni modem riattaccano dopo un paio di secondi. La seguente patch spedita da Ian Taylor dovrebbe aiutare. <verb> *** conn.c.orig Mon Feb 22 20:25:24 1993 --- conn.c Mon Feb 22 20:33:10 1993 *************** *** 204,209 **** --- 204,212 ---- /* Make sure any signal reporting has been done before we set fLog_sighup back to TRUE. */ + /* SMR: it seems to me if we don't care about SIGHUPS, we should clear + the flag before we return */ + afSignal[INDEXSIG_SIGHUP] = FALSE; ulog (LOG_ERROR, (const char *) NULL); fLog_sighup = TRUE; </verb> </itemize> <sect1>Perché uucp anonimo HDB sembra non funzionare? <p> Uucp anonimo SLS funziona solo in modalità Taylor perché è stato compilato con l'opzione HAVE_TAYLOR_CONFIG. Sevolete eseguire un uucp anonimo in modalità HDB, dovrete ricompilare il sorgente solo con la definizione di HDB. Ian Taylor sta considerando il modo di trattare questa ``caratteristica''. Pertanto, Taylor in HDB mode appare sensibile agli spazi bianchi e alle linee bianche. Per essere sicuri, verificate che non ci siano spazi o righe bianche nel file Permissions. Infine, assicuratevi di avere un file chiamato <tt>remote.unknown</tt> in /usr/lib/uucp e che non sia marcato eseguibile. Controllate il libro O'Reilly+Assoc <tt>"Managing UUCP and USENET"</tt> per i dettagli riguardo questo file. <sect1>Cosa significa ``no matching ports found''? <p> Probabilmente state tentando di usare un dispositivo (<tt>/usr/lib/uucp/Devices</tt>) che non esiste, o il dispositivo che avete specificato nel file <tt>/usr/lib/uucp/Systems</tt> non corrisponde a nessun dispositivo nel file Devices. In seguito troverete una versione *sana* dei miei config-files funzionanti con Taylor 1.05 HDB che potrete installare ed usare. Notata la ``ACU'' nel file Systems? Questa spiega quale ``porta'' usare nel file Devices. Vedete la parola ``scout'' in Systems? Questa vi spiega quale compositore del numero usare in Dialers. Se avete una porta ACU, ma nessuna corrispondente al compositore del numero specificato nella stessa linea in Systems, riceverete il messaggio di cui sopra. <sect1>Quali sono i file di configurazione ``buoni'' per la modalità HDB? <p> I seguenti file di configurazione sono ``buoni'' per il Taylor 1.05 sotto Linux in modalità HoneyDanBer. Essi funzionano con un kernel 0.99-8 o successivo. Tutti i file devono trovarsi in /usr/lib/uucp a meno che non abbiate modificato i sorgenti indicando di mettere le librerie uucp altrove. Se voi *AVETE* messo qualcosa in posizione non-standard, preparatevi, poiché programmi tipo sendmail si possono confondere. Dovrete assicurarvi che tutti i programmi di comunicazione relativi si adeguino alla vostra idea di percorsi ``standard''. Se avete un sistema con un kernel 0.99-7 o precedente, cambiate ``cua1'' in ``ttyS1''. <verb> #------------- Devices ------------- # make sure the device (cua1 here) matches your system # cua1 = COM2 # # here "scout" is the Digicom Scout Plus 19.2 modem I use # tbfast etc. is for a Telebit Trailblazer Plus modem's various speeds # ACU cua1 - 19200 scout ACU cua1 - 9600 tbfast ACU cua1 - 1200 tbslow ACU cua1 - 2400 tbmed #------------- dialers -------------- # note the setting of the Trailblazer registers "on the fly" # "scout" is a Digicom Scout Plus (Hayes-like) modem I use here # scout =W-, "" ATM0DT\T CONNECT tbfast =W-, "" A\pA\pA\pT OK ATS50=255DT\T CONNECT\sFAST tbslow =W-, "" A\pA\pA\pT OK ATS50=2DT\T CONNECT\s1200 tbmed =W-, "" A\pA\pA\pT OK ATS50=3DT\T CONNECT\s2400 #-------------- Systems ------------- # this is a very generic entry that will work for most systems # # the Any;1 means that you can call once per minute with using -f (force) # the ACU,g means force "g" protocol rather than Taylor's default "i" # fredsys Any;1 ACU,g 19200 scout5555555 "" \r ogin:--ogin: uanon word: uanon #-------------------------------- Permissions ------------------------- # Taylor UUCP in HDB mode appears to be sensitive to blank lines. # Make sure all Permissions lines are real or commented out. # # this is a anonymous uucp entry # LOGNAME=nuucp MACHINE=OTHER \ READ=/usr/spool/uucp/nuucp \ WRITE=/usr/spool/uucp/nuucp \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail # # this is a normal setup for a remote system that talks to us # note the absolute path to rnews since this site puts things # in locations that aren't "standard" # LOGNAME=fredsys MACHINE=fredsys \ READ=/usr/spool/uucp/fredsys:/usr/spool/uucp/uucppublic:/files \ WRITE=/usr/spool/uucp/fredsys:/usr/spool/uucppublic \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail:/usr/local/lib/news/bin/rnews #---------------------------------------------------------------------- </verb> <sect1>Usare uucico per chiamare numeri diversi <p> La nuova versione 1.05 contiene l'opzione ``-z'' per uucico che prova diversi numeri per contattare il sistema remoto. <sect>Ringraziamenti <p> Le seguenti persone hanno aiutato nella ricerca e l'assemblaggio di informazioni (ed esperienze) che servivano alla creazione di questo documento: Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Pierre Beyssac. Se ho dimenticato qualcuno, le mie più profonde scuse. </article>