Usenet-Server SN (Small News)
Aus BraLUG-Wiki
Inhaltsverzeichnis |
Ein schlanker Usenet-Server
Allgemeines
Ein News-Server muss her, um die Neuigkeiten aus dem Usenet lesen zu können! Eine wichtige Anforderung für mich ist, dass man mehrere externe News-Server im Internet abfragen kann. Aus diesem Grund scheidet schon mal das weit verbreitete Leafnode aus! Dies können aber z.B. INN (InterNetNews) oder auch SN (Small News). Ich habe mich letztendlich für SN entschieden, da das Einrichten und die Administration einfacher als bei INN ist.
Besonderheit von SN ist, dass es keine eigentliche Konfigurationsdatei gibt. Entsprechende Aktionen werden durch Einträge im Dateisystem (/var/spool/sn/...) und verschiedene Tools ausgelöst. Hier die wichtigsten Dinge (alles weitere ist den sn-Manpages zu entnehmen...):
Abonnieren einer Newsgroup
Das Abbonieren einer News-Group erfolgt, einmalig für jede gewünschte Gruppe, mit dem Kommando snnewgroup:
snnewgroup de.comp.gnu news.freenet.de 119
de.comp.gnu ist die gewünschte News-Gruppe, news.freenet.de der News-Server und 119 der Port des News-Server. Es werden einige Verzeichnisse und Dateien unter oben genannten SN-Homeverzeichnis angelegt, aber noch keine News-Artikel geladen. Dieses Kommando muss man nun für jede News-Gruppe, deren Artikel man lesen möchte, ausführen. Es können ohne weiteres auch Gruppen von anderen News-Servern sein.
Runterladen von News-Artikeln
Die Artikel werden mit dem Kommando
snget
von allen vorher mit snnewgroup angegebenen News-Gruppen geladen (empfangen und senden). Es bietet sich an, snget zyklisch via cron-Job zu starten, um die Aktualisierung zu automatisieren.
Löschen einer abonnierten News-Gruppe
Mittels Kommando sndelgroup, also z.B.
sndelgroup de.comp.gnu
kann man das Abbo einer News-Gruppe auch wieder entsorgen (Achtung, eswerden auch alle bisher geladenen Artikel gelöscht!).
Laden der gesamten Gruppen-Liste eines News-Server
Diese Vorgang ist in snget integriert, wenn das Tool eine Datei request-list im .outgoing-Verzeichnis des entsprechenden News-Server findet. Inhalt der Datei sollte ein weiterverarbeitender Befehl sein, der die News-Gruppen-Liste von Standard-Input erwartet (ich finde diese Idee genial!). Z.B. könnte dies folgendes sein:
echo 'sort -o /tmp/gruppenliste-news.freenet.de' > /var/spool/sn/.outgoing/news.freenet.de:119/request-list
Man erzeugt also eine Datei request-list im .outgoing-Verzeichnis des News-Servers mit dem Inhalt sort -o /tmp/gruppenliste-news.freenet.de. Nach dem Ausführen des Kommandos snget findet man die alphabetisch sortierte Liste der News-Gruppen in der Datei /tmp/gruppenliste-news.freenet.de. Auch diesen Vorgang kann man via cron oder at automatisieren...!
...und weiter?
Das soll an dieser Stelle erstmal genügen, alles weitere ist in den Manpages zu sn und seinen Tools zu finden bzw. in der Datei INSTALL.run des Source-Paketes, welches von oben verlinkter sn-Homepage bezogen werden kann (ist im Debian-Binary ebenfalls diese Datei als Doku dabei?). Es sei darauf hingewiesen, dass man sich auch um die Entsorgung bereits gelesenener News-Artikel kümmern sollte, um die Größe des Verzeichnis /var/spool/sn/ nicht ins Unendliche laufen zu lassen. Auch hier gibt es Mechanismen innerhalb der Tool-Sammlung von sn....