Inhalt

5. News

5.1 Wie lese ich News online?

Solange eine PPP-Verbindung besteht, ist es möglich, News online zu lesen. Dazu sind viele Programme erhältlich. Zwei einfache Alternativen sind rtin und trn.

Das einzige, was man in den meisten Fällen konfigurieren muß, um News lesen zu können, ist die folgende Umgebungsvariable, die man normalerweise in der Datei .profile setzt:

export NNTPSERVER=news.acme.net

Manche Programme benötigen vielleicht folgendes, um die From-Adresse in eigenen Beiträgen richtig einzutragen:

export NNTP_INEWS_DOMAIN=acme.net

5.2 Wie lese ich News offline?

Man muß auf irgendeine Weise einen lokalen News-Spool einrichten, um News lesen zu können, während man offline ist, womit man Telefonkosten spart und flexibler ist. Dafür benötigt man einiges an Konfiguration und auch ein gewisses Maß an Platz auf der Festplatte. Hat man das einmal eingerichtet, sollte alles mehr oder weniger von selbst laufen, und man muß sich nur ab und zu etwas darum kümmern.

Hier werden zwei verschiedene Lösungen beschrieben.

5.3 Wie richte ich C News ein?

Die hier beschriebene Lösung legt den Newsserver C News und das NNTP-Protokoll zugrunde. C News war ursprünglich für einen anderen Verwendungszweck gedacht, ist aber leistungsfähig genug, um mit unserer Situation auch fertig zu werden. Man könnte auch den neueren Newsserver INN benutzen, der aber vielleicht mehr Ressourcen benötigt. Man sollte auf jeden Fall darauf achten, nicht beide zu installieren, da sie sich nicht gut vertragen.

Es ist sehr wichtig, daß man die Wartung des Newssystems als Benutzer news durchführt und daß sich alle Konfigurationsdateien in /usr/lib/news befinden. Ist man als Benutzer root eingeloggt, kann man das durch Eingabe von su news; cd bewerkstelligen.

Die wichtigsten Dateien zur Konfiguration sind:

C News benötigt ein gewisses Maß an täglicher Wartung, was man aber ein für alle Mal erledigen kann, wenn man den Befehl crontab -e als Benutzer news ausführt. Es folgt ein Vorschlag, der nach Wunsch geändert werden kann:

# ein- und ausgehende News behandeln
10,40 *  * * * /usr/lib/newsbin/input/newsrun

# täglich alte Nachrichten verfallen lassen
30 0  * * * /usr/lib/newsbin/expire/doexpire

# überwachen und wenn nötig Meldung erstatten
00 2  * * sat /usr/lib/newsbin/maint/addmissing
40 3  * * * /usr/lib/newsbin/maint/newswatch
50 3  * * * /usr/lib/newsbin/maint/newsdaily
newsrun holt und versendet zweimal pro Stunde Artikel, doexpire löscht um 0:30 Uhr Artikel, die veraltet sind, und die letzten drei Befehle erledigen verschiedene Aufgaben zur Überwachung und zur Behebung von Fehlern.

Man sollte sich auch versichern, daß bei einem Neustart des Rechners aufgeräumt wird. Dazu fügt man der Datei /etc/rc.d/rc.local als root folgende Zeile hinzu:

su news -c /usr/lib/newsbin/maint/newsboot
News kann man über das Programm NewsX beziehen, das sie von einem NNTP-Server holt. Das Programm befindet sich hier:

Es ist ziemlich einfach, NewsX einzurichten. Die Installation ist ein klassischer Fall von:

make
su
make install
exit

Mit der hier beschriebenen Vorgehensweise muß man nur die Gruppen, die man haben möchte, mit dem Befehl addgroup erstellen.

Der Benutzer news führt folgende Befehle aus, um News zu holen, wobei natürlich eine PPP-Verbindung bestehen muß:

newsrun
newsx acme news.acme.net
newsrun

Über die Option -d erhält man eine fortlaufende Ausgabe auf dem Bildschirm. Die Dokumentation zu NewsX enthält weitere Informationen.

NewsX kümmert sich auch um das Versenden ausgehender Nachrichten.

Die Datei explist wird benötigt, um zu bestimmen, wie Artikel entfernt werden, wenn sie veraltet sind. Die Kommentare im Beispiel sollten erklären, was wir erreichen wollen:

# History-Einträge werden 14 Tage behalten, keiner erhält 
# >120 Tage
/expired/           x    14   -
/bounds/            x    0-1-120 -

# behalte diese Gruppen 2 Monate lang
comp.sources,comp.os.linux.all     x    60   -

# Müll wird schnell weggeworfen
junk,control             x    2    -

# Normalfall: 14 Tage, keine Archivierung
all                 x    14   -

Bei einem kleinen News-Spool braucht man die Gruppe control oft nicht. Im Vergleich zum Nutzen enthält sie sehr viele Nachrichten. Der Zweck besteht darin, daß Artikel entfernt und Gruppen automatisch erstellt werden dürfen. Damit control-Nachrichten, die newgroup enthalten, nichts durcheinanderbringen, gibt es eine Datei newgroupperm, die angibt, was erlaubt ist:

comp.os.linux  tale@uunet.com yv
all       any       nq
In diesem Beispiel werden alle gültigen Gruppen unter comp.os.linux erstellt (y), und der Benutzer news wird davon in Kenntnis gesetzt (v). Alles andere wird stillschweigend (q) ignoriert (n). Es reicht die letzte Zeile, wenn man alle Gruppen von Hand erstellen möchte.

Alternativen zu NewsX sind suck oder slurp in Verbindung mit postit. Slurp benutzt den NNTP-Befehl NEWNEWS, der viele Newsserver schwer belastet.

5.4 Wie richte ich Leafnode ein?

Eine vollständig andere Lösung ist die Installation des integrierten Pakets leafnode. Es kümmert sich um alle Aufgaben, die ein eigener Newsspool mit sich bringt und ist leicht einzurichten. Es ist erhältlich über:

http://www.troll.no/freebies/leafnode.html

Wie bei C News sollten man alle Wartungsaufgaben als Benutzer news durchführen.

Das Hauptverzeichnis für leafnode ist /usr/lib/leafnode. Um es zu installieren, gibt man ein:

cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install

Während man noch als root eingeloggt ist, ändert man die Zeile in inetd.conf, die NNTP behandelt:

nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode
Aktivieren sie diese Änderung durch:
killall -HUP inetd

Durch Eingabe von exit kehrt man zum Benutzer news zurück. Man ändert in /usr/lib/leafnode/config die Zeile, die den NNTP-Server angibt, in unserem Fall:

server = news.acme.net

Leafnode kümmert sich um alles, wenn man als Benutzer news per crontab -e folgenden Befehl einträgt:

# täglich alte Nachrichten verfallen lassen
0 4 * * * /usr/local/sbin/texpire

Den Austausch von News erledigt man ebenfalls als Benutzer news durch folgenden Befehl, wobei natürlich bereits eine PPP-Verbindung bestehen muß:

/usr/local/sbin/fetch

Benutzer, die News lesen wollen, sollten dann der Vorgehensweise im Abschnitt Wie lese ich News online? folgen, nur daß sie den lokalen Rechner eintragen, d.h.:

export NNTPSERVER=localhost

Das sollte schon alles sein. Der erste fetch überträgt eine Liste erhältlicher Newsgruppen. Leafnode überwacht dann, welche Gruppen von den Benutzern angefordert werden, und paßt sich daran beim nächsten Start an.

Eine Alternative zu leafnode ist nntpcache, das hier erhältlich ist:

ftp.suburbia.net:/pub/nntpcache/nntpcache.tgz


Inhalt