  SLRN+SLRNPULL Mini-Howto
  Alessandro Airaghi, airaghi@gpa.it
  v0.5, 15 Dicembre 1998

  Questo documento descrive come leggere off-line le news utilizzando i
  programmi SLRN e SLRNPULL con la distribuzione RedHat.  Le infor
  mazioni qui contenute, comunque, sono probabilmente applicabili a
  qualsiasi distribuzione Linux.  La lettura di questo documento presup
  pone una conoscenza *minima* della shell di Linux (il prompt dei
  comandi).

  1.  Introduzione


  La tilde (~) indica la directory home di un utente (con tale termine
  si indica la directory in cui l'utente si trova subito dopo il login).
  Esempio: la frase "bisogna editare il file ~/.bash_profile", per
  l'utente alex diventa "bisogna editare il file
  /home/alex/.bash_profile".  In pratica: "entra come utente alex ed
  edita il file .bash_profile".
  Tutti i comandi da scrivere nella shell di Linux sono indicati con un
  "#" o "$" prefisso al comando.

  "#"  il simbolo che appare quando usate la shell come utente root.

  "$"  il simbolo che appare quando usate la shell come utente normale.

  Per esempio, "$ slrn" oppure "# slrn" indicano che dovete scrivere
  "slrn" al prompt dei comandi e poi premere [INVIO].
  Vediamo brevemente il funzionamento dei due programmi.
  SLRNPULL: si collega ad un news-server e scarica, da uno o pi
  newsgroups, tutti gli articoli non ancora letti.
  SLRN: da solo, si collega ad un news-server e consente di poter
  leggere, uno alla volta, gli articoli di un dato newsgroup.  Pu anche
  essere utilizzato per leggere off-line gli articoli scaricati in
  precedenza da SLRNPULL.



  2.  Dove procurarsi i programmi


  Sono necessari i seguenti tre pacchetti .rpm:

  slang-1.2.2-3.i386.rpm
  slrn-0.9.5.4-2.i386.rpm
  slrn-pull-0.9.5.4-2.i386.rpm

  Li potete trovare (per esempio) qui:
  <ftp://sunsite.doc.ic.ac.uk/Mirrors/rawhide.redhat.com/i386/RedHat/RPMS>

  Nel caso non siano pi presenti su tale sito al momento della lettura
  di questo documento, potete effettuare una ricerca in rete usando uno
  dei tanti motori di ricerca. Per esempio, potete collegarvi tramite
  Netscape al seguente sito:   <http://ftpsearch.lycos.com>


  3.  Installazione dei programmi


  Effettuate il login come utente root.
  Installate i tre pacchetti .rpm dando i seguenti comandi:

  # rpm -ivh slang-1.2.2-2.i386.rpm
  # rpm -ivh slrn-0.9.5.3-2.i386.rpm
  # rpm -ivh slrn-pull-0.9.5.3-2.i386.rpm
  Uscite come utente root e rientrate come utente normale.


  4.  Configurazione


  Prima di tutto, bisogna definire due variabili di ambiente, NNTPSERVER
  e SLRNPULL_ROOT. Basta editare il file ~/.bash_profile ed aggiungere
  le seguenti 3 linee:

  NNTPSERVER=[news server]
  SLRNPULL_ROOT=~/slrnpull
  export NNTPSERVER SLRNPULL_ROOT

  [news server]=news.tin.it oppure il server al quale potete accedere
  per leggere/scrivere le news. Per maggiori informazioni chiedete al
  vostro fornitore di accesso ad internet.

  Per rendere effettive le modifiche, bisogna effettuare nuovamente il
  login:
  -premete [CTRL]+[d] per tornare al prompt di login
  -effettuate, ancora una volta, il login come utente normale.

  NOTA: se volete che le variabili NNTPSERVER e SLRNPULL_ROOT vengano
  definite a livello globale, valide per tutti gli utenti, le tre linee
  sopra riportate dovranno essere aggiunte al file /etc/profile.

  Copiate il file /usr/lib/slrn/slrn.rc come ~/.slrnrc:

  $ cp /usr/lib/slrn/slrn.rc .slrnrc

  Editate quest'ultimo file, inserite i vostri dati ed assicuratevi che
  compaiano TUTTE le righe sotto riportate:

































  ______________________________________________________________________
  % File ~/.slrnrc
  % Si fa riferimento ad un ipotetico abbonato di Tin,
  % Mario Rossi, avente il seguente indirizzo e-mail: mr@tin.it
  % Inserendo tutti i dati CORRETTAMENTE si  per soggetti al
  % fastidioso fenomeno dello spamming. Si legga a tal proposito
  % il paragrafo intitolato "Protezione dallo spamming".
  % Il campo "From:" viene generato dal programma SLRN cos:
  % username@hostname (realname)

  hostname "tin.it"
  set username "mr"
  set realname "Mario Rossi"
  set replyto  "mr@tin.it"
  set signature ".signature.slrn"

  % Filename where articles you have posted are archived.
  % Traduzione: nomi dei files dove vengono archiviati gli articoli
  %             che sono stati inviati.
  % Sostituite ad [utente] il nome col quale effettuate il login.
  set save_posts "/home/[utente]/slrnpull/My_Posts"
  set save_replies "/home/[utente]/slrnpull/My_Replies"

  scorefile "slrnpull/Score"

  % Name of directory where decoded files are placed (relative to HOME)
  % Traduzione: nome della directory dove vengono posti i files binari
  %             decodificati (relativamente alla directory home)
  set decode_directory "slrnpull/decoded"

  % Directory where all other files are saved.
  % Traduzione: directory dove vengono salvati tutti gli altri files.
  set save_directory "slrnpull/misc"

  % Directory where postponed articles are placed.  (Make sure it exists)
  % Traduzione: directory dove vengono posti gli articoli scritti, ma che
  %             si vogliono inviare al newsgroup in un secondo tempo.
  % Quando siete all' elenco dei newsgroups, premete [ESC]+[p] per
  % scegliere quali di questi articoli archiviati inviare.
  set postpone_directory "slrnpull/postponed"

  %---------------------------
  %  Local spool configuration
  %---------------------------
  % Sostituite ad [utente] il nome col quale effettuate il login.
  set spool_inn_root "/home/[utente]/slrnpull"
  set spool_root "/home/[utente]/slrnpull/news"
  set spool_nov_root "/home/[utente]/slrnpull/news"
  set read_active   1
  set use_slrnpull  1
  set server_object "spool"
  ______________________________________________________________________




  Un consiglio: nel file ~/.slrnrc modificate la variabile
  followup_string eliminando <%f> e/o %d di modo che la stringa
  risultante sia la pi corta possibile. In caso contrario, il programma
  SLRN potrebbe chiedervi di ri-editare il vostro messaggio per
  "sistemare" una riga che  lunga pi di 80 caratteri. Esempi (usando
  l'italiano):

  set followup_string "In data %d, %r scriveva:"


  set followup_string "%r scriveva:"

  Oppure, fate in modo che compaia la seguente linea:

  set reject_long_lines 0

  NOTA: non  possibile sostituire /home/[utente] con ~ oppure con
  /home/$USER. Il programma non funzioner.

  NOTA: il file .slrnrc in realt contiene molte altre istruzioni che
  consentono una maggiore personalizzazione del programma.  Quelle da me
  elencate sopra sono le minime indispensabili, affinch tutto funzioni
  correttamente.

  In questo modo il programma SLRN non si collega al server delle news
  "news.tin.it" (o quello da voi scelto) per leggere le news bens
  utilizza quelle scaricate in precedenza dal programma SLRNPULL.

  Create le seguenti directory:

  $ mkdir slrnpull
  $ mkdir slrnpull/postponed
  $ mkdir slrnpull/decoded
  $ mkdir slrnpull/misc

  Copiate il file /var/spool/slrnpull/slrnpull.conf in ~/slrnpull:

  $ cp /var/spool/slrnpull/slrnpull.conf slrnpull

  Editate quest' ultimo file: mettete un cancelletto (#) all' inizio di
  ogni linea ed aggiungete la seguente linea:

  it.comp.linux  0  14


  0 = scarica tutti gli articoli
  14 = gli articoli "durano" 14 giorni sull' HD prima di essere rimossi.

  Scrivete questo script della shell, ~/slrnpull.sh:


       ______________________________________________________________________
       #!/bin/sh
       # Questo semplicissimo script  da utilizzarsi giornalmente
       # per collegarsi al news server e scaricare gli articoli per una
       # successiva lettura off-line.
       # Ovviamente dev'essere attiva la connessione ad internet prima che
       # venga lanciato questo script.

       umask 022

       # Prima di scaricare dal news server degli articoli, cancelliamo
       # tra gli articoli gia' scaricati, quelli divenuti ormai vecchi.
       # Per quest' operazione non  necessario essere collegati ad
       # internet.

       slrnpull --expire

       # Colleghiamoci al news server e scarichiamo i nuovi articoli

       slrnpull
       ______________________________________________________________________




  Rendetelo eseguibile tramite il seguente comando:

  $ chmod 744 slrnpull.sh


  5.  Download delle news


  Dopo tanto editare e configurare potete finalmente collegarvi ad ad
  internet. Beh...prima o poi era da fare :)

  Eseguite lo script "slrnpull.sh":

  $ slrnpull.sh

  Verranno scaricati sia i titoli dei messaggi sia i relativi articoli
  in essi contenuti.

  NOTA: la prima volta sar necessario scaricare migliaia di articoli.
  La cosa potrebbe richiedere una quantit di tempo non trascurabile (a
  me  occorsa 1h con un modem da 28.800).  Se possibile, non effettuate
  tale operazione durante le ore di punta.  Ora e giorno consigliati: le
  04.00 del 30 Febbraio :)

  Una volta che il programma SLRNPULL ha terminato il suo compito,
  potete scollegarvi da internet e procedere alla lettura delle news
  usando il programma SLRN.



  6.  Lettura delle news


  E' un'operazione semplicissima, basta digitare il seguente comando:

  $ slrn -create

  NOTA: dovete usare l'opzione -create SOLAMENTE LA PRIMA VOLTA che
  lanciate il programma SLRN. Le volte successive il comando sar
  semplicemente: $ slrn

  NOTA: come per la shell di Linux, anche il programma SLRN fa
  distinzione tra lettere maiuscole e minuscole.  IL COMANDO OTTENUTO
  PREMENDO IL TASTO [L] E' DIVERSO DA QUELLO OTTENUTO PREMENDO IL TASTO
  [l].

  Per vedere gli articoli cos faticosamente scaricati:

    premete [s] per sottoscrivere (subscribe) it.comp.linux, il vostro
     newsgroup preferito.In tal modo il newsgroup it.comp.linux apparir
     tutte le volte che usate SLRN. In caso contrario dovete premere [L]
     e scrivere "it.comp.linux" tutte le volte che usate SLRN.
     Quest'ultima operazione  da eseguirsi anche quando eseguite lo
     script slrnpull.sh dopo aver modificato il file
     ~/slrnpull/slrnpull.conf aggiungendo nuovi newsgroups da scaricare.

    premete [INVIO] per vedere elencati SOLAMENTE gli articoli NON
     LETTI

    premete [ESC], [1], [INVIO] per vedere elencati TUTTI gli articoli

  Per avere un elenco dei comandi, premete [?].  I pi utili sono i
  seguenti:

  Ovunque vi troviate

  [CTRL]+[G] : annulla un' operazione

  Elenco dei newsgroups

  [l] : elenca i newsgroups sottoscritti ma che contengono solamente
  articoli gi letti (tali newsgroups hanno uno 0 a sinistra del nome)

  Elenco degli articoli

  [ESC]+[s] : per ordinare (to sort) gli articoli secondo diversi
  criteri
  [ESC]+[t] : espande/collassa un thread
  [h] : dopo che  stato letto un articolo, serve per tornare all'
  elenco degli articoli a pieno schermo
  [ESC]+[<] : salta al primo articolo
  [ESC]+[>] : salta all' ultimo articolo
  [a] : ricerca (in avanti) una data stringa nel campo "Author"
  [A] : ricerca (all' indietro) una data stringa nel campo "Author"
  [s] : ricerca (in avanti) una data stringa nel campo "Subject"
  [S] : ricerca (all' indietro) una data stringa nel campo "Subject"
  [o] : salva un articolo su HD nel file specificato dall' utente. Se il
  file esiste, l'articolo viene aggiunto alla fine del file (operazione
  nota come "append").
  [.]        : ripete l'ultimo comando dato

  Lettura degli articoli

  [t] : mostra/nasconde gli headers meno importanti
  [T] : mostra/nasconde le linee che costituiscono citazioni di altri
  articoli (in inglese: quoted lines)
  [TAB] : scavalca le "quoted lines"
  [b] : indietro di una pagina
  [SPAZIO] : avanti di una pagina
  [INVIO] : avanti di una riga
  [ESC]+[FRECCIA SU] : indietro di una riga
  [ESC]+[FRECCIA GIU'] : avanti di una riga

  NOTA: Per default vengono mostrati solo i seguenti headers: "From:"
  "Newsgroups:" e "Subject:". Se volete modificare tale situazione
  editate la variabile "visible_headers" in ~/.slrnrc.
  Esempi:

  visible_headers "X-,From:" per visualizzare, di default, tutti gli
  headers che iniziano con "X-" pi l' header "From:"

  visible_headers "" per non visualizzare, di default, nessun header



  7.  Invio delle news


  Per inviare un nuovo articolo fate partire il programma SLRN

  $ slrn

  Vi comparir l'elenco dei newsgroups. Ricordo che se non vedete nessun
  newsgroup ma solo il puntatore "->" :

  - non avete sottoscritto (subscribe) nessun newsgroup. Premete [L] e
  scrivete il nome da sottoscrivere.
  - tutti i newsgroups sottoscritti contengono articoli letti. Premete
  [l].

  Premete [p] e [y] poi scrivete il nome del newsgroup al quale volete
  inviare il vostro articolo. Per default si dovr scriverlo usando
  l'editor vi.

  NOTA: se volete utilizzare un editor diverso, modificate nel file
  ~/.slrnrc la linea "set editor_command".

  Uscite dall' editor, vi verr posta la seguente domanda:
  Post the message? Yes, No, Edit, poStpone

  Si possono presentare i seguenti 3 casi:
  A) nel file ~/.slrnrc  presente la linea "set use_slrnpull 1".
  Premete [y] oppure [Y]. SLRN non invia al news server l'articolo bens
  lo copia nella directory ~/slrnpull/out.going con un nome simile a
  questo: X913482683-607-1.[utente]
  TUTTI i files che si trovano in questa directory verranno
  automaticamente inviati al news server dal programma SLRNPULL
  (contenuto in slrnpull.sh) prima di scaricare i nuovi articoli.
  E' il metodo consigliato.

  B) nel file ~/.slrnrc NON  presente la linea "set use_slrnpull 1".
  Se premete [y] o [Y] l'articolo verr inviato al news server. E'
  NECESSARIO, pertanto, avere attiva la connessione ad internet.

  C) Indipendentemente dal contenuto del file ~/.slrnrc, premete [s] o
  [S]. L'articolo verr salvato in un file, dovete fornire un nome.
  Successivamente, tale articolo potr essere inviato (al news server o
  alla directory ~/slrnpull/out.going) premendo i tasti [ESC]+[p] al
  men dei newsgroups.

  Se volete rispondere ad un articolo che state leggendo, premete [f].
  Le regole per l'invio del vostro messaggio sono identiche ai 3 casi
  sopra elencati.



  8.  Scoring


  Il programma SLRN consente di assegnare un punteggio (score) ad ogni
  articolo che  stato scaricato, in base alle regole presenti nel file
  ~/slrnpull/Score.  Una volta entrati in un newsgroup, SLRN
  automaticamente ordiner gli articoli a partire da quello con
  punteggio pi alto verso quello con punteggio pi basso.
  Il formato del file ~/slrnpull/Score non  complicato.  Tale file
  consiste di sezioni, ognuna delle quali contiene le regole che devono
  essere applicate ad uno o pi newsgroups per calcolare i punteggi da
  attribuire a ciascun articolo.  Ogni sezione  identificata dalle
  parentesi quadre [].  Per esempio, [it.comp.linux.*] indica l'inizio
  della sezione che definir le regole per tutti i newsgroups che
  iniziano con i caratteri "it.comp.linux". Cio per i seguenti gruppi :

  it.comp.linux
  it.comp.linux.setup
  it.comp.linux.annunci

  ecc ecc

  Seguono ora alcuni esempi.

    Volete assegnare un punteggio pari a 10 a tutti gli articoli del
     newsgroup it.comp.linux i cui titoli (Subject) contengono la parola
     "redhat", questo  ci che dovete scrivere nel file
     ~/slrnpull/Score :




  [it.comp.linux]
  Score: 10
   Subject: redhat





    Volete assegnare un punteggio pari a 20 a tutti gli articoli del
     newsgroup it.comp.linux.annunci i cui titoli (Subject) contengono
     la parola "aiuto" E l'autore  Mario Rossi :


       [it.comp.linux.annunci]
       Score: 20
        Subject: aiuto
        From: Mario Rossi





    Volete assegnare un punteggio pari a 20 a tutti gli articoli del
     newsgroup it.comp.linux.annunci i cui titoli (Subject) contengono
     la parola "aiuto" OPPURE l'autore  Mario Rossi (notare Score::) :


       [it.comp.linux.annunci]
       Score:: 20
        Subject: aiuto
        From: Mario Rossi





    Volete assegnare un punteggio pari a 30 a tutti gli articoli dei
     newsgroups it.comp.linux.* che hanno un campo From: contenente la
     stringa "mr@tin.it" (notare la trasformazione di "." in "\.") :


       [it.comp.linux.*]
       Score: 30
        From: mr@tin\.it





    Volete assegnare un punteggio di 40 a tutti gli articoli del
     newsgroup it.comp.linux, da voi scritti, appartenenti ad un
     qualsiasi thread:


       [it.comp.linux]
       Score: 40
        From: ( mettete ci che compare nel VOSTRO campo From: )<newline>
        References: .





  Con quest'ultima regola di assegnazione dei punteggi vi sar
  senz'altro pi semplice poter seguire le risposte ai vostri messaggi:
  compariranno per primi tutti i thread che contengono risposte a vostri
  articoli.
  Per maggiori informazioni si veda il file
  /usr/doc/slrn-0.9.5.4/SCORE_FAQ



  9.  Protezione dallo "spamming"


  Inserendo correttamente i vostri dati nel file ~/.slrnrc tutti coloro
  che leggeranno il vostro messaggio sapranno qual  il vostro indirizzo
  e-mail. Potrete cos ricevere, in privato, le risposte ai vostri
  articoli da parte di altri frequentatori del newsgroup.  Esistono per
  programmi appositi che vengono fatti entrare in un newsgroup per
  ricavare, dagli articoli inviati, gli indirizzi e-mail.  Noto il
  vostro indirizzo e-mail  possibile inviarvi (in automatico) di tutto
  un po': proposte di vacanze in Papuasia, vendite di PC, consulenze
  informatiche, numeri del lotto, ...  Questa poco civile pratica  nota
  come "spamming" (ho una mia versione in italiano ma  improponibile).
  Se volete evitare di trovare la vostra casella di posta intasata da
  messaggi non desiderati, potete alterare i vostri dati ed usare il
  file ~/.signature.slrn
  Sempre facendo riferimento all' ipotetico abbonato di Tin Mario Rossi,
  potete editare il file ~/.slrnrc cos:

  hostname "tin.it"
  set username "NOSPAM"
  set realname "Mario Rossi"
  set replyto  "NOSPAM@tin.it"
  set signature ".signature.slrn"

  ed editare il file ~/.signature.slrn (per esempio) in modo che compaia
  la seguente frase: Per ottenere il mio effettivo indirizzo e-mail,
  sostituisci a NOSPAM il mio cognome.

  In tal modo, solo chi avr realmente necessit o voglia, vi contatter
  tramite e-mail.



  10.  Autore dei programmi


  L'autore dei programmi SLRN e SLRNPULL :
  John E. Davis davis@space.mit.edu
  URL:  <http://space.mit.edu/~davis>

  L'ultima versione del programma SLRN  disponibile, tramite anonymous
  ftp, presso:
  <ftp://space.mit.edu/pub/davis/slrn/>

  oppure, presso i seguenti mirror:
  <ftp://ftp.uni-stuttgart.de:/pub/unix/misc/slang/>
  <ftp://ftp.fu-berlin.de/pub/unix/news/slrn/>
  <ftp://ftp.ntua.gr/pub/lang/slang/>











