fetchnews(8)

BEZEICHNUNG
fetchnews - holen und senden von News via NNTP

SYNTAX
fetchnews [-v] ... [-x Zahl] [-l] [-n] [-f] [-P]

BESCHREIBUNG
Leafnode ist ein USENET-Software-Paket, das für kleine Sites gedacht ist, wo es wenige User und nur geringe Festplatten-Kapazität gibt, aber trotzdem eine große Zahl von Gruppen gewünscht wird.

Leafnode ist so geschrieben, daß es Fehler selbständig reparieren und keinerlei manuelle Pflege benötigen soll.

Fetchnews (das bis Version 1.9.2 "fetch" hieß) ist das Programm, das neue Artikel vom Upstream-Server lädt und lokal geschriebene Artikel an diesen weiterreicht.

PARAMETER

-v  Veranlaßt fetchnews , mehr Ausgaben zu produzieren (verbose = wortreich). Maximal vier -v 's können angegeben werden, je mehr -v 's, desto mehr Text wird ausgegeben.

-v  Zeigt unkritische Fehler an.

-vv Zeigt alle Gruppen-Befehle an

-vvv
    Zeigt alle Artikel-Befehle an.

-vvvv
    Für Debugging-Zwecke. Erwarten Sie nicht, daß die zusätzlichen Ausgaben Sinn ergeben.

-x Zahl
    Gehe Zahl Artikel zurück und lade fehlende Artikel vom Upstream-Server.

-l  Verwende nur den ersten Upstream-Server (l = local). Dies erhöht die Geschwindigkeit des Vorganges erheblich.

-n  Lösche die Verknüpfungen im Verzeichnis /var/spool/news/interesting.groups nicht. So kann das automatische Abbestellen von Newsgruppen unterbunden werden.

-f  Löschen der Datei active.read. Dadurch wird die Liste der verfügbaren Newsgruppen vom Upstream-Server neu geladen (force). Dies sollte nur selten geschehen, da es einige Zeit benötigt. Siehe auf timeout_active in leafnode(8).

-P  Sende nur die Artikel, die sich in /var/spool/news/out.going befinden und lade keine neuen Artikel vom Server.

Rückgabewert
fetchnews gibt den Wert 0 zurück, wenn es alle Server erreichen konnte und keine weiteren Fehler aufgetreten sind. Es gibt 2 zurück, wenn mindestens einer der Server nicht erreichbar waren, und 1 bei sonstigen Fehlern.

DATEIEN UND KONFIGURATION

/var/spool/news/leaf.node/active.read
    Diese Datei wird nach erfolgreichem Laden der Liste der verfügbaren Newsgruppen von den Upstream-Servern angelegt. Fehlt sie, so werden sie analog zum -f Parameter geladen.

Bitte lesen sie in leafnode (8) nach, um eine Aufstellung der weiteren betroffenen Dateien und der Konfigurationsmöglichkeiten von fetchnews zu erhalten.

ALGORITHMUS
Dies ist eine kurze Beschreibung dessen, was fetchnews tut.

Zuerst sendet fetchnews , nachdem eine Verbindung mit dem Upstream-Server hergestellt wurde, alle Artikel, die sich in /var/spool/news/out.going befinden und Ausführungsrechte besitzen (u+x, executable flag), mittels POST Schlägt dieses Kommando fehl, wird der betreffende Artikel in das Verzeichnis /var/spool/news/failed.postings verschoben, das der Systemadministrator von Zeit zu Zeit aufräumen sollte. Die Dateien zurück nach /var/spool/news/out.going zu verschieben reicht aus, um die entsprechenden Artikel beim nächsten Lauf von fetchnews zu versenden. Das Ausführungsrecht (u+x) wird abgefragt, um das Versenden unvollständiger Artikel zu verhindern, die leafnode(8) zur gleichen Zeit empfängt.

Als nächstes empfängt fetchnews die Liste der vorrätigen Gruppen des Upstream-Servers mittels "LIST ACTIVE" und "LIST NEWSGROUPS" und fertigt daraus die von leafnode an (falls der Zeitraum timeout_active seit dem letzten Laden der Liste vergangen ist oder die Datei active.read nicht vorhanden ist; ansonsten wird die Liste mittels "NEWGROUPS" aktualisiert).

Zuletzt durchläuft fetchnews die Liste der Newsgruppen, indem es ein "GROUP-", ein XOVER (falls vom Server unterstützt) oder "XHDR Message-ID"- und eine Anzahl von "HEAD"- und "BODY"-Kommandos für jede Gruppe ausführt, die in letzter Zeit gelesen wurde. Dabei werden nur Artikel geholt die nicht älter als "maxage" Tage alt sind. Daher sollte in der Konfiguration maxage kleiner als expire bzw. groupexpire gesetzt werden, da die Artikel sonst beim nächsten Lauf von texpire(8), sofort wieder gelöscht werden.

ANMERKUNGEN
Fetchnews benutzt kein "NEWNEWS". "NEWNEWS" wird nicht eingesetzt, da dies oft eine große Belastung für den Upstream-Server darstellt.

Die einzige Möglichkeit, zu kontrollieren, welche Newsgruppen lokale Benutzer lesen können, besteht darin, welche Gruppen fetchnews beim Upstream-Server lesen kann. Dies beschränkt allerdings keine Crosspostings. Wenn Ihre Site groß genug ist, daß Sie den Zugriff auf Newsgruppen kontrollieren müssen, sollten Sie sich überlegen, einen Newsserver einzusetzen, der für große Sites geplant ist.

Fetchnews setzt seine UID auf "news", falls es von root gestartet wurde, und bricht ab, wenn es UID "news" nicht bekommen kann.

BUGS
Fetchnews ignoriert "Supersedes"- und "Also-Cancel"-Header. Dies muß korrigiert werden.

Fetchnews löscht niemals eine Gruppe aus der Liste der aktiven Newsgruppen.

Entwicklung
Ältere Versionen von fetchnews haben alle Artikel in out.going verschickt. Seit Version 1.9.23 versendet fetchnews nur noch Artikel in Dateien, deren Ausführungs-Bit (executable) gesetzt ist. Leafnode setzt dieses Bit nach einem vollständigen POST. Diese Änderung verhindert, daß unvollständige Artikel verschickt werden, falls leafnode einen Artikel erhält, während fetchnews gerade sendet.

AUTOR
Die ersten Versionen von fetchnews wurden von Arnt Gulbrandsen <agulbra@troll.no> unter dem Namen fetch geschrieben; Copyright 1995 Troll Tech AS, Postboks 6133 Etterstad, 0602 Oslo, Norway, fax +47 22646949.

Weiterentwickelt wurde fetch von Cornelius Krasel <krasel@wpxx02.toxi.uni-wuerzburg.de>, Randolf Skerka <Randolf.Skerka@gmx.de> und Markus Enzenberger <enz@cip.physik.uni-muenchen.de>. Copyright (an den Veränderungen) 1997-1999.

Deutsche Übersetzung: Alexander Reinwarth <a.reinwarth@gmx.de>, ergänzt von Ralf Wildenhues.

SIEHE AUCH
leafnode(8), newsq(1).