Der Newsserver läuft, der Speicherplatz ist ausreichend und man möchte noch weitere Hierarchien hinzufügen. Unter Umständen kommt ein Peeringpartner hinzu, der mehr führt und es gleich mehrere hundert Gruppen sind, die man hinzufügen möchte.

Jedes Mal per Hand für jede Gruppe ein ctlinnd newgroup Neue.Gruppe einzutippen, ist wohl zuviel Arbeit.

Hier ein paar Tipps, wie es schneller und einfacher geht.

Man hole sich das active-File des Peeringpartners. Wenn es ein Opennews-Server ist, dann trage man in passwd.nntp den Opennewszugang ein.

#news.foo.com:rsalz:martha
newsX.open-news-network.org:benutzer@domain.tld:kennwort

dann kann man mit

getlist -A -h newsX.open-news-network.org > peeringactive

sich das Activedatei vom Peeringpartner holen.

Je nach dem welche Hierarchie man hinzufügen will, nehme ich als Beispiel mal opennnews.*, grep man sich die Hierarchie:


grep ^opennews peeringactive > grouplist

In der grouplist stehen dann die Gruppen der Hierarchie, die man hinzufügen will.

Mit dem Befehl


awk '{printf "ctlinnd newgroup %s %s news@localhost\n",$1,$4}' < grouplist > einrichten.sh

Kann man sich dann ein Shellskript basteln, welches alle Gruppen enthält, die man hinzufügen möchte.

Dies einrichten.sh sollte man dann editieren bzw. überprüfen.

In die erste Zeile füge man am besten


#!/bin/bash
ctlinnd throttle maintenance

ein, weil sonst das Skript sehr viel Zeit bei der Einrichtung der einzelnen Gruppen braucht, wenn es viele sind.

In die letzte Zeile schickt man den Server wieder in den Normalbetrieb.

ctlinnd go maintenance

Ist das Skript kontrolliert und enthält die Gruppen, die man einrichten will, dann nur noch ein

chmod +x einrichten.sh
./einrichten.sh

und schon sind die Gruppen eingerichtet.

Nicht vergessen die /var/lib/news/newsgroups eventuell anzupassen, wenn dort die Gruppenbeschreibungen nicht drin stehen sollten.