INN Maintenance

Jürgen Schröder


aktuelle Zeile

Systemumgebung des Marburger Newsservers

Es ist INN Version 1.4 von Rich $altz installiert. Die NOV-Overview Database ist aktiviert.
Das ganze läuft auf einer Sun Sparcstation 10 unter SunOS 3.1.2. (heutzutage sollte es keine Probleme bei der Installation unter Solaris geben).


Einleitende Beschreibung einiger Begriffe


Tägliche Arbeit

Einloggen unter Username news. Man sollte gleich zwei xterm-Sessions starten, da man sich so sehr viel Schreibarbeit durch Cut&Paste-Operationen sparen kann.
Als User news sind alle benötigten Programme und Scripts im PATH enthalten!!
Lesen der Messages an News (elm ist installiert). Die Messages anschauen und auswerten. Nach Abarbeiten der mails diese und die temporär angelegten Files gleich löschen, um den Überblick zu behalten.Es gibt drei Message Typen die von INN ge- bzw. weitergeschickt werden:
  1. NewsDaily-Report, das ist die Statistik ueber das Expire, den Plattenplatz, Verbindungen, welche Artikel sind nicht genommen worden und evt. Fehlermeldungen. Den Platz auf den Harddisks im Auge behalten !
  2. Messages von INN, i.d.R. daß ein Artikel einen kaputten Header hat; keine Aktion notwendig
  3. Control-Messages: Neue Gruppen, Auflösung von Gruppen oder Änderungen des moderiert/unmoderiert-Status, Bearbeitung der Control-Messages


Bearbeitung der Control-Messages

  1. Es sind einzelne Gruppen zu verändern:
    1. Löschen von einzelnen Gruppen: subject: rmgroup alt.lösch.diese.group
      Löschen der Gruppe aus dem active-File, hierbei wird innd automatisch gethrottled, ein Renumber des active-Files vorgenommen und danach wieder innd freigegeben:

      ctlinnd rmgroup alt.lösch.diese.group

      Der innd-Demon antwortet mit: "Ok" oder "No such group"
      Dann nachsehen ob diese Group in dem newsgroups-File vorkommt:

      grep alt.lösch.diese.group newsgroups

      falls ja, dann mit

      grep -v alt.lösch.diese.group newsgroups > ng.tmp
      mv ng.tmp newsgroups

      alle Zeilen ausser der zu löschenden in ein neues File listen lassen und dies dann zurückbenennen. Anschließend die Message löschen.

    2. Neuanlegen von Gruppen
      Einfügen der Gruppe ins active-File, hierbei wird innd automatisch angehalten und danach wieder freigegeben. Hierbei werden zwei Gruppentypen verwendet moderiert (m) oder unmoderiert(y). Der Initiator der Gruppe sollte angegeben werden.

      ctlinnd newgroup alt.neue.group Typ Initiator@host.domain

      Der innd-Demon antwortet mit: "Ok".Dann die Zeile mit dem Thema der Gruppe an das newsgroups-File, durch Auschneiden der Zeile aus der Message und mit echodranhängen:

      echo "hier Groupname und -thema hinpasten" >> newsgroups

      Anschliesend die Message löschen.

    3. Ändern des Typs der Gruppe moderiert (m) bzw. unmoderiert (y):

      ctlinnd changegroup news.gruppe neuerTyp

      Anschliesend die Message löschen.

  2. Es kommen Listen mit z.B. allen Gruppen in der Hierarchie cl.*:
    Speichern der Mail in einem File z.B. Name cfile. Löschen des Headers mit einem Editor (joe ist installiert!) Übrig bleiben soll:
    /usr/local/news/bin/control/docheckgroups <<-EOF-
    cl._vorschau	Zusammenfassung von /CL - Material
    cl._wichtig	Die Brett- und Systemliste des Cl-
    cl.adressen.allgemein	Fuer Mitmacher und Mehrwissenwolle
    cl.adressen.e-mail	Uebers Netz erreichbar
    ...
    zer.z-netz.wissenschaft.psychologie
    zer.z-netz.wissenschaft.soziologie
    zer.z-netz.wissenschaft.technik
    -EOF-
    
    Dies füttert man in eine Shell und lenkt die Ausgabe in ein File:
    sh cfile > cfile.vorher

    Falls das File cfile.vorher leer ist, hat sich keine Änderung ergeben. Ansonsten ist das File cfile.vorher ist ein Script mit Befehlen der Art:
    ctlinnd rmgroup xyz.abc
    ctlinnd newgroup yyz.uvw
    ctlinnd changegroup xyz.dfg y
    
    Zusätzlich ist noch einige Information auskommentiert, z.B. die Themen der neuangelegten Gruppen. Man füttert das File cfile.vorher in eine Shell um die Befehle auszuführen:
    sh cfile.vorher

    Danach löscht man aus dem File newsgroups die Zeilen mit den Themen der gelöschten Gruppen, siehe oben.
    Die Themen der neuhinzugekommenen Gruppen extrahiert man mit dem Editor aus dem File cfile.vorher (bzw. alles andere wird gelöscht) und hängt diese Zeilen an das File newsgroups an:
    cat cfile.vorher >> newsgroups

    Dann starten man nochmal das File cfile um zu ueberprüfen ob alles nun auf dem Soll-Stand ist:
    sh cfile > cfile.nachher

    Dieser File cfile.nachher sollte leer sein, ansonsten den Anweisungen darin folgen (wie bei cfile.vorher) und u.U. hinterher nochmal kontrollieren. Nun sollten alle temporären Files gelöscht werden:
    rm cfile*


Sonstiges


Programme in /usr/local/news/bin


Plattenaufteilung für News auf der Sun

Filesystem kbytes   used   avail capacity Mounted on       Gruppen
/dev/sd0g  204031 164137   19491    89%   /usr
/dev/sd1b  481823 374277   59364    86%   /usr/local
/dev/sd4a  963662 803674   63622    93%   /var/spool/news  restliche
/dev/sd6a  963662 632912  234384    73%   /mnt/sd6a-1.0GB  rec.* + soc.*
/dev/sd7a  963662 808531   58765    93%   /mnt/sd7a-1.0G   alt.*


Directories, die von INN benutzt werden

Von Newsreadern und von den Controll-Messages wird folgende Aufteilung der Directories erwartet:
/
|
+-usr
|  +-local
|      +--news   INN Configurationsfiles insbes. history, active
|      |   |     diese sind auch hier beim updaten kurz doppelt da!
|      |   |
|      |   +--bin    Programme zum taeglichen Umgang mit INN
|      |   |   |
|      |   |   +--control  Programme zum Aendern der Gruppen
|      |   |   +--rnews    Uebertragung der Artikel zu anderen feeds
|      |   |
|      |   +--innd   Hier werden die INND PID's gehalten
|      |   |
|      |   +--src    INN Programm Source
|      |   |
|      |   +--script Scripts
|      |   |
|      |   +--tmp    
|      |
|      +--etc    Starten von INND (als ROOT!)
|      |
|      +--bin    allgemeine ausfuerbare Programme (PD, bzw GNU): make, 
|                gzip, patch, grep, perl
+-var
|  +-spool
|  |   +-news     Newsartikel, jede Gruppe entspricht einem
|  |              Directory; mit gleicher Hierachieaufteilung.
|  |
|  +-adm    Der File "messages" enthaelt grobe Fehlermessages (syslog)
|  |
|  +-log
|  |  +-news      Hier werden alle Meldungen in verschiedenen Files gesammelt:
|  |     |          Feed-Kontakte, Errormeldungen, Gruppenaenderungen
|  |     |        Durch newsdaily wird die derzeitigen Files in das
|  |     |        Directory OLD kopiert und alles neu protokolliert.
|  |     |
|  |     +-OLD    Hier werden fuenf Generationen der Messages gehalten.
|  |              Das Update erfolgt per Rotationsverfahren.
|  |
|  +-tmp    Wird z.B. von sort benutzt 
|
+-tmp       


Prüfen ob INN läuft

Das Script psn zeigt die Prozesse vom User news an:
PID TT STAT  TIME COMMAND
340 ?  S   215:50 /usr/local/etc/innd -p4 -r -i0
390 ?  IW    8:40 /bin/sh /usr/local/news/bin/innwatch
26630 ?  IWN   0:00 sh -c
26640 ?  S N   0:03 innxmit -a news.th-darmstadt.de /var/spool/news/out.going/n
26955 ?  S     0:00 -pc020a.wiwi.uni-marburg.de ARTICLE (in.nnrpd)
27073 ?  IW    0:00 sleep 600
7356 p0 IW    0:00 -csh (csh)
27075 p1 S     0:00 -csh (csh)
27082 p1 R     0:00 ps -x
INN ist: innd -p4 ...

INNWatch schaut (u.a.) alle 600 Sec. ob INN noch laeuft und schickt sonst eine Mail an den User news.

innxmit schickt bzw. bietet Artikel an zum Newsserver in Darmstadt

Prozesse mit (in.nnrpd) am Ende sind von Rechnern, die News per nntp lesen


Neustart von INN

INN wird beim booten des Rechners neugestartet (in rc.local).
Start per Hand (als ROOT):		$ /usr/local/etc/rc.news  
Danach INNWatch starten(als news)	$ innwatch &
Zu beachten, die PID von INNWatch muss größer sein als die von innd, also ggf. INNWatch killen und neustarten.


Fehler, die bisher vorgekommen sind


Fehlerbehebung

In der Mail von news.daily oder der INNWatch steht i.a. eine Fehlermeldung. Hiernach sucht man in der INN-FAQ geschrieben von Rich $altz und maintainiert von Tom Limoncelli. Die FAQ ändert sich oft, d.h. regelmässig updaten! Falls sich hier wirklich kein Hinweis ergibt, postet man eine Anfrage in die Newsgruppe news.software.nntp, die man sowieso lesen sollte. Das Thema dieser Gruppe ist INN. Man erhält i.d.R. spätestens nach einem Tag Antworten. Tom schreibt in 95 % der Anfragen zurück, wo die Antwort zu der Frage in der FAQ steht! In den anderen 5 % wird die Lösung direkt gepostet. Bei schwierigen Fällen antwortet Rich. Da alle Newsmaster die Gruppe lesen und auch Antworten ist das Problem schnell eingekreist. Wichtig beim Posten ist die Systemumgebung mit anzugeben. da es auf jedem Rechnertyp bzw. OS spezielle Macken gibt.


INN-Sourcen

Die neuesten Sources gibt es offiziell bei ftp.uu.net. Es wird aber auch überall gespiegelt, also einfach per (x)archie holen.

Zum Übersetzen und während des Betriebs von INN werden die meisten GNU-Tools (siehe Installationsanleitung im Paket und Teil 2 der FAQ), Larry Walls Patch und Perl benötigt, z.B. verwenden die Scripts für beim Aufruf von (e)grep mehr Parameter,als das vorhandene grep verarbeiten kann.

aktuelle-Schreibmarke