Mentre il collegamento PPP è attivo, sarà possibile leggere le news online. Ci sono diversi programmi disponibili, due delle alternative semplici sono rtin e trn.
Per iniziare a leggere le news, il più delle volte l'unica cosa necessaria in termini di configurazione è impostare NNTPSERVER (di solito una volta e tutte nel file .profile):
export NNTPSERVER=news.acme.xz
Per avere l'indirizzo del mittente (campo From), alcuni programmi possono richiedere:
export NNTP_INEWS_DOMAIN=acme.xz
Per essere in grado di leggere le news offline e quindi risparmiare sulla bolletta del telefono e ottenere una maggiore flessibilità, è necessario predisporre in qualche modo un news-spool locale. Questo richiede un po' di configurazione ed anche una certa quantità di spazio disco dedicata. Dopo l'installazione iniziale, le cose dovrebbero più o meno girare da sole, con qualche intervento ogni tanto.
In seguito verranno descritte due diverse soluzioni.
Questa soluzione è basata sul server delle news C News ed il protocollo NNTP. C News è stato originariamente progettato per una configurazione diversa, ma è abbastanza flessibile di adattarsi anche alla nostra situazione. Si potrebbe anche usare il più recente INN come server delle news, ma potrebbe richiedere un po' più di risorse. In ogni caso, fate attenzione a non installare entrambi, dato che non convivono facilmente.
È cruciale che tutta la gestione delle news venga fatta dall'utente
news
, e che tutti i file di configurazione si
trovino nella cartella
/usr/lib/news. Se avete già
effettuato il login come root
, potete digitare
su news; cd
.
I file di configurazione più importanti sono:
addgroup
comp.os.linux.networking y
.
Dirk Gently's Holistic Detective Agency
acme.xz
.
sito
nel thread Path:.
Nella impostazione qui descritta, usando
newsx, questo nome non uscirà mai dal
vostro sistema, quindi potete impostare questo nome come volete a
condizione che non sia già in uso. In questo esempio useremo
roderick
.
acme.xz
al Path, e che questa è la
nostra unica fonte di news. L'esempio dato in realtà dice che
accetteremo qualsiasi cosa in arrivo, e che invieremo soltanto delle
news fresche verso acme.xz
che sono state originate nel
nostro sito. In questa configurazione semplificata, si assume che
tutti i gruppi arriveranno da una singola
fonte. /all
specifica la distribuzione, e
deve essere indicata. La lettera F
dice
che (i puntatori ai) nuovi articoli in uscita saranno raccolti in un
file.
ME:all/all::
acme/acme.xz:all,!junk/all:FL:
mkdir /var/spool/news/out.going/acme
C News necessita di un certo grado di manutenzione giornaliera, ma
questo può essere indicato una volta per tutte tramite il comando
crontab -e
eseguito dall'utente
news
. La seguente impostazione può essere modificata secondo
le esigenze:
# mantieni i batch entrante e uscente
10,40 * * * * /usr/lib/newsbin/input/newsrun
# scadenza delle news, una volta al giorno
30 0 * * * /usr/lib/newsbin/expire/doexpire
# monitoraggio ed eventuali report
00 2 * * sat /usr/lib/newsbin/maint/addmissing
40 3 * * * /usr/lib/newsbin/maint/newswatch
50 3 * * * /usr/lib/newsbin/maint/newsdaily
newsrun sposta gli articoli in ingresso e uscita (ogni mezz'ora), doexpire cancellerà gli articoli man mano che scadono (ogni notte alle 00:30), mentre gli ultimi tre comandi eseguono varie procedure di supervisione e correzione di errori.
Occorre anche effettuare un po' di pulizia in caso di riavvio del
sistema. Come utente root
, aggiungete la seguente linea al
file /etc/rc.d/rc.local:
su news -c /usr/lib/newsbin/maint/newsboot
Le news possono essere raccolte da un server NNTP tramite il programma NewsX, che può essere prelevato da:
ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz
Oppure:
ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz
Configurare NewsX
è abbastanza semplice.
L'installazione è un caso classico di:
make
su
make install
exit
Con le impostazioni appena descritte, tutto quello che resta da fare è creare i gruppi che desiderate leggere usando il comando addgroup.
Per scaricare degli articoli, l'utente news
deve
eseguire i seguenti comandi (si assume che il collegamento tramite PPP
o simile è già su):
newsrun
newsx acme news.acme.xz
newsrun
L'opzione -d
permette visualizzare continuamente dei messaggi
sullo schermo. Per ulteriori informazioni, rivolgetevi alla
documentazione di NewsX.
NewsX si prenderà cura di inviare le news in uscita.
Per controllare la cancellazione degli articoli man mano che scadono,
è necessario un file explist
. I commenti spiegano
le nostre intenzioni:
# conserva lo storico per 14 giorni, nulla oltre i 120 giorni
/expired/ x 14 -
/bounds/ x 0-1-120 -
# conserva questi per due mesi
comp.sources,comp.os.linux.all x 60 -
# il rumore viene buttato via subito
junk,control x 2 -
# predefinito: 14 giorni, nessuna archiviazione
all x 14 -
ALTERNATIVA: In uno news-spool piccolo, normalmente non è
necessario il newsgroup control
. Il traffico è
enorme in confronto alla possibile convenienza. Il punto è
che gli articoli saranno cancellati, e che i gruppi possono essere
creati automaticamente. Per assicurarsi che i messaggi di controllo
che contengono newgroup
non causino disordini, un file
chiamato
newgroupperm specifica
quello che permetteremo:
comp.os.linux tale@uunet.com yv
all any nq
In questo esempio, tutti i gruppi sotto la gerarchia comp.os.linux
verrano creati (y), e che l'utente news
sarà notificato
(v). Tutto il resto verrà ignorato (n) in completo silenzio (q).
L'ultima linea è sufficiente se volete creare tutto i gruppi
manualmente.
ALTERNATIVA: Al posto di NewsX potete usare suck.
Una soluzione completamente differente è installare il pacchetto integrato leafnode. Questo permette la gestione di tutte le operazioni richieste per un news spool personale, ed è facile da configurare. È disponibile da:
http://www.troll.no/freebies/leafnode.html
Per quanto riguarda C News, tutta la manutenzione delle news dovrebbe
essere realmente eseguita dall'utente news
.
La cartella di lavoro di leafnode è /usr/lib/leafnode. Per installare, digitare:
cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install
Osservate in quanto segue che il prefisso /usr/local/sbin andrebbe sostituito da /usr/sbin se avete installato leafnode da un pacchetto.
Mentre siete ancora nei panni di root
, modificate la linea
che controlla NNTP nel file
/etc/inetd.conf:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Attivatelo con:
killall -HUP inetd
Ritornate come utente news
digitando exit. Nel
file
/usr/lib/leafnode/config modificate la linea che
definisce il server NNTP. Nel nostro caso:
server = news.acme.xz
Leafnode sarà autosufficente aggiungendo il seguente comando tramite
crontab -e
come utente news
:
# scadenza delle news, una volta al giorno
0 4 * * * /usr/local/sbin/texpire
Anche lo scambio delle news viene fatto dall'utente news
con
il seguente comando (assumendo che PPP è attivo):
/usr/local/sbin/fetch
Quelli che desiderano leggere le news dovrebbero seguire la ricetta descritta in Come faccio a configurare un newsreader online?, eccetto che nella configurazione del server delle news si deve definire localmente, cioè:
export NNTPSERVER=localhost
Questo sarebbe tutto quanto serve. Il primo fetch
trasferirà l'elenco dei newsgroup disponibili. In seguito,
leafnode
prenderà nota dei gruppi che vengono richiesti dagli
utenti, e si adatterà a questo la volta successiva che viene
attivato.
Si rende noto che leafnode
ha qualche problema laddove sono
richieste particolari autorizzazioni per NNTP.
ALTERNATIVA: Al posto di leafnode potete usare nntpcache, disponibile da:
ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz
ALTERNATIVA: Un'altra alternativa è usare il newsreader
slrn insieme al pacchetto
slrn-pull. Il newsreader va compilato
abilitando l'opzione spool
.