Newsgroups offline lesen: leafnode

01.06.2001
Die Hierarchie der Newsgroups ist bunt und breit gefächert. Sie bekommen auf jede Frage, die Sie dort stellen, eine kompetente Antwort. Sollten Sie jedoch Ihre Online-Zeit im Minutentakt bezahlen, dann können diese Antworten zuweilen ein Loch in Ihren Geldbeutel schneiden, wenn Sie sie bei laufender Verbindung zum Newsserver lesen.

Für jede Aufgabe bietet Unix/Linux ein schnelles, mächtiges Tool, und wer seine Newsgroups ohne Netzverbindung und Onlinekosten lesen will, der kann sich im Nu eine Perle unter den Newssystemen konfigurieren: Leafnode.

Leafnode holt die gewünschten Newsgroups vom Server, aktualisiert die Liste der verfügbaren Gruppen, verschickt Ihre Postings, löscht alte Beiträge und verschont Sie mit Newsgroups, die Sie nicht mehr interessieren. Das Programm bemerkt, was Sie seit geraumer Zeit ungelesen lassen. Sollte das Paket leafnode nicht auf den CDs Ihrer Distribution enthalten sein, finden Sie die verschiedenen Versionen als tar.gz-Archiv unter http://www.leafnode.org.

Leafnode geteilt durch drei

Das Newssystem Leafnode eignet sich für Rechner ohne große Netzwerk-Anbindung und mit geringem Platz auf der Festplatte, und es setzt sich aus drei Teilen zusammen: Das Programm texpire, das die Löscharbeiten übernimmt und alte Beiträge von der Festplatte tilgt, fetchnews, das abonnierte Newsgroups vom Server zieht und Ihre eigenen Postings hochlädt, und der eigentliche lokale NNTP-Server leafnode, der das Verwalten der Gruppen übernimmt.

Die Vorbereitung

Damit leafnode auf Ihrem Rechner als lokaler NNTP-Server läuft und von jedem Newsreader, den Sie benutzen, auch erkannt wird, muss Ihr Rechnername in der Umgebungsvariablen $NNTPSERVER stehen. Öffnen Sie als Root in einem Editor die Datei /etc/profile und nehmen sie diesen Eintrag vor:

NNTPSERVER=localhost
 export NNTPSERVER

Zusätzlich tragen Sie in die Datei /etc/nntpserver ebenfalls localhost oder den Namen Ihres Rechners ein, falls dort noch nichts stehen sollte.

Als Benutzer einer SuSE-Distribution sollten Sie die Variable NNTPSERVER mit dem Konfigurations-Tool Yast ändern, da so automatisch das Skript SuSEconfig aktiviert wird.

Im nächsten Schritt müssen Sie den nntp-Eintrag in der Datei /etc/inetd.conf auskommentieren durch das Entfernen des #-Zeichens.

nntp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/leafnode

Der inetd-Daemon schaltet auf diese Weise den von Ihnen gewünschten Netzwerkdienst des NNTP-Servers frei. Ist kein nntp-Eintrag vorgegeben, erstellen Sie sich diese Zeile abhängig davon, in welchem Verzeichnis Leafnode installiert wurde, beispielsweise /usr/sbin/leafnode oder /usr/local/sbin/leafnode. Dies ist übrigens eine gute Gelegenheit, die Dienste, die sie nicht brauchen, zur Sicherheit abzuschalten. Nach einem Neustart des inetd durch den Befehl rcinetd restart lauscht Leafnode am Port 119 Ihres Rechners, was Sie mit dem Kommando telnet localhost 119 überprüfen lönnen.

Abbildung 1: leafnode antwortet auf telnet localhost 119

Bevor Sie daran gehen, die Konfiguration von Leafnodes Ihren Bedürfnissen anzupassen, geben sie noch in der Datei /etc/crontab Ihrem Cron-Daemon eine Uhrzeit mit auf den Weg, zu der er das Programm texpire zum Löschen der alten Artikel aktiviert:

0 22 * * *     root  test -x /usr/sbin/texpire && /usr/sbin/texpire

Der Eintrag test -x stellt fest, ob es die ausführbare Datei /usr/sbin/texpire auf Ihrem Rechner gibt und startet diese um 22 Uhr. Um Ihnen die Unsicherheit beim Editieren der Datei /etc/crontab zu nehmen, haben wir in Heft 12/2000, Seite 80, eine genaue Anleitung zum Cron-Daemon beschrieben. Das Verzeichnis, in dem das Programm texpire auf Ihrem Rechner gespeichert ist, kann vom obigen Beispiel abweichen. Wenn Sie nicht wissen, wie der Pfad zu dem entsprechenden Programm ist, können Sie sich als Root mit dem Kommando type texpire Klarheit verschaffen.

Die Konfiguration

Nachdem Sie die Konfigurationsdatei von Leafnode, je nach Distribution z. B. /etc/leafnode/config oder /usr/lib/leafnode/config, in Ihren Editor geladen haben, nehmen Sie jetzt die letzten Hürden, die Sie von einem günstigen Offline-Lesen der Newsgroups tennen. Der erste Eintrag betrifft den Newsserver, von dem Leafnode die Liste der Newsgroups beziehen soll (der sogenannte Upstream-Server). In den meisten Fällen ist dies ein freier Server wie news.cis.dfn.de oder der Newsserver Ihres Providers:

server = ihr.news.server.de

Die Zahl hinter dem Eintrag expire gibt die Tage an, nach denen alte Postings gelöscht werden sollen. Falls Sie für einzelne Newsgroups eine besondere Regelung haben möchten, können Sie diese im Dateiabschnitt groupexpire festlegen.

expire = 7

Auch wenn Ihnen die folgende Kommentarzeile verrät All the following parameters are optional, sollten Sie den Rest der Konfigurationsdatei nicht unbeachtet lassen, denn schon die nächsten Einträge username und password brauchen Sie, wenn Sie sich an einem freien Newsserver identifizieren müssen:

username = Ihr-Benutzername
 password = Ihr-Passwort

Einen zweiten Newsserver, von dem Sie Newsgroups beziehen möchten, definieren sie im Abschnitt:

server = Ihr.zweiter.newsserver.de
 username = Ihr-Benutzername
 password = Ihr-Passwort

Die Newsgroups, deren Artikel nicht unter die Regel des expire-Eintrags fallen, und deren Löschung zu anderen Zeiten über die Bühne gehen soll, werden, wie weiter oben schon erwähnt, im Abschnitt groupexpire benannt.

# Löschen der Artikel nach zehn Tagen:
 groupexpire de.comp.os.unix.shell = 10
 # Artikel aller de.alt-Gruppen nach 3 Tagen löschen:
 groupexpire de.alt.* = 3

Mit dem Wert maxfetch sagen Sie leafnode, wie viele Artikel maximal pro Newsgroup durch das Kommando fetchnews auf Ihrer Festplatte landen sollen. Der Wert initialfetch gibt die Anzahl der Artikel vor, die von einer frisch abonnierten Newsgroup geholt werden.

maxfetch = 1000
 initialfetch = 30

Wenn Sie keine eigenen Domain besitzen, dann können Sie das Problem einer fehlerhaften Message-ID mit der Leafnode-Konfiguration beseitigen. Einige Provider (oder auch news.cis.dfn.de) bieten Ihren Kunden und eingetragenen Benutzern eine Domain für diesen Zweck, die zusammen mit der Benutzerkennung einen sogenannten FQDN (Fully Qualified Domain Name) bildet. Eingetragen wird der FQDN im Abschnitt hostname.

# Sie haben sich bei news.cis.dfn.de angemeldet
 hostname = ID-Ihre-Benutzerkennung.user.dfncis.de

Den Rest der optionalen Angaben in der Datei /etc/leafnode/config können Sie bei Bedarf anpassen, der Befehl man leafnode gibt Ihnen hier eine dataillierte Hilfestellung, denn bestimmt werden Sie darauf brennen, endlich Ihre Newsgroups lesen zu können. Also speichern Sie die veränderte Konfigurationsdatei ab, stellen über ISDN oder Modem eine Verbindung zu Ihrem Provider her und öffnen die virtuelle Textkonsole oder ein xterm-Fenster.

Der erste Kontakt

Um bei dem ersten Kontakt zum entfernten Newsserver eine Liste der verfügbaren Newsgroups zu laden, brauchen Sie, ebenso wie beim Hochladen Ihrer Postings oder dem Ziehen der von Ihnen abonnierten Newsgroups, nur einen Befehl als Root anzugeben:

fetchnews -vvv

Wie bei den meisten Programmen steht die Option -v für verbose und bedeutet wortreich, und die Option -vvv macht fetchnews sehr geschwätzig und zeigt Ihnen alle Artikel-Befehle an.

Obwohl fetchnews auch später bei jedem Aufruf mit fetchnews -vvv die Liste der Newsgroups aktualisiert, können Sie solche Liste explizit mit dem Kommando fetchnews -f anfordern.

Abbildung 2: Fetchnews holt neue Newsgroup-Artikel

Nachdem Fetchnews Ihnen die Liste der verfügbaren Newsgroups geholt hat, können Sie diese in einem Newsreader betrachten. Dazu stehen Ihnen eine große Menge an Programmen zu Verfügung, die jedoch für den Zugriff auf das lokale Spool-Verzeichnes (/var/spool/news) Ihres Rechners konfiguriert sein müssen. Eine Beschreibung der einzelnen Newsreader würde leider den Rahmen dieses Artikels sprengen. Ohne großen Aufwand läßt sich die Gruppenliste im Newsreader Tin betrachten, den Sie dazu mit tin -r oder rtin aufrufen.

Aus der Liste der Newsgroups heraus abonnieren Sie die einzelnen Gruppen. Für jede abonnierte Gruppe erstellt Leafnode zunächst eine Nachricht, die Sie sich ansehen müssen. Das ist für Leafnode das Signal, dass Sie die ausgewählte Newsgroup auch tatsächlich beziehen wollen. Beim nächsten Aufruf von Fetchnews wird dann diese Gruppe vom Newsserver geholt.

Artikel schreiben

Eine Newsgroup zu lesen, ohne selbst zu schreiben, ist nur der halbe Spass. Ein von Ihnen verfasstes Posting landet nach dem Absenden im Verzeichnis /var/spool/news/out.going und wird entweder mit dem Befehl fetchnews -vvv beim Ziehen Ihrer Gruppen auf den Newsserver geladen, oder durch das Kommando fetchnews -P auf dem Newsserver gespeichert, ohne dass Sie neue Artikel aus den Newsgroups bekommen. Ob noch ein Artikel, den Sie geschrieben haben, in /var/spool/news/out.going auf seinen Versand wartet sehen Sie mit dem Kommando newsq.

Noch einfacher

Das umständliche Wechseln zu Root, um das Kommando fetchnews auszuführen, können Sie sich durch einen Eintrag in die Datei /etc/ppp/ip-up oder /etc/ppp/ip-up.local komfortabler gestalten. Das ip-up-Skript wird bei jedem Verbindungsaufbau samt den dort eingetragenen Befehlen ausgeführt, wenn Sie sich beispielsweise mit Kinternet oder Wvdial bei Ihrem Provider einwählen. Allerdings ist es notwendig, dass Sie Fetchnews einschließlich des Pfades dort angeben, also zum Beispiel /usr/sbin/fetchnews -v. Auf diese Weise brauchen Sie sich nur um den Verbindungsaufbau zu kümmern, den Rest erledigt das Newssystem Leafnode für Sie, damit Sie nach der Trennung von Ihrem Provider in den Newsgroups lesen können - ohne Eile oder den ständigen Blick auf die Uhr.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare