Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 2001 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



News und Expiring

Bei B News wurden alte Artikel mit Hilfe des Programms expire entfernt. Als Argumente wurden eine Liste von Newsgruppen sowie eine Zeitspanne übergeben, nach denen Artikel gelöscht werden sollten. Um verschiedene Hierarchien unterschiedlich lange vorzuhalten, mußte man ein Skript schreiben, das expire für jede Hierarchie einzeln aufrief. C News bietet Ihnen hierfür eine bequemere Lösung. In einer Datei namens explist können Sie Newsgruppen zusammen mit den Zeitintervallen, nach denen jeweils gelöscht werden soll, festhalten. Ein Befehl namens doexpire wird dann üblicherweise einmal pro Tag von cron aus gestartet, der dann alle Gruppen entsprechend der Liste bereinigt.

Gelegentlich möchten Sie Artikel aus verschiedenen Gruppen behalten, selbst wenn die Ablaufzeit bereits überschritten wurde. Beispielsweise möchten Sie alle Programme aus comp.sources.unix aufheben. Dies wird Archivierung genannt. explist erlaubt Ihnen die Markierung von zur Archivierung bestimmten Gruppen.

Ein Eintrag in explist hat das folgende Format:

gruppenliste rechte zeiten archiv

gruppenliste ist eine durch Kommata unterteilte Liste der Newsgruppen, für die dieser Eintrag gilt. Hierarchien können durch das Präfix des Gruppennamens spezifiziert werden, dem optional das Schlüsselwort all folgen kann. So können Sie etwa für einen Eintrag, der für alle Gruppen unter comp.os gilt, sowohl comp.os als auch comp.os.all angeben.

Werden Artikel aus einer Gruppe gelöscht, wird der Name nacheinander mit allen Einträgen in explist verglichen. Der erste passende Eintrag wird dann verwendet. Um beispielsweise den größten Teil von comp nach vier Tagen zu löschen, mit Ausnahme von comp.os.linux.announce, die erst nach einer Woche entfernt werden soll, müssen Sie einfach einen Eintrag mit einer Frist von sieben Tagen für letztere definieren, dem der Eintrag von comp folgt, bei dem nur vier Tage angegeben werden.

Das Feld rechte legt fest, ob der Eintrag für moderierte, unmoderierte oder beliebige Gruppen gilt. Dieses Feld kann einen der Werte m, u oder x annehmen, was entsprechend moderiert, unmoderiert oder beliebig bedeutet.

Das dritte Feld, zeiten, enthält üblicherweise nur eine Zahl. Sie bestimmt die Anzahl von Tagen, nach denen ein Artikel für ungültig erklärt wird. Diese Ablaufzeit kann durch eine explizite Ablaufzeit im Feld Expires: des Artikel-Headers überschrieben werden. Beachten Sie, daß diese Zahl die Ablaufzeit nach dem Eintreffen auf Ihrem System bestimmt und sich nicht an der Zeit des Postings orientiert.

Das zeiten-Feld kann aber auch komplexer sein. Es kann eine Kombination von bis zu drei Zahlen enthalten, die voneinander durch Bindestriche getrennt sind. Die erste Zahl bestimmt die Anzahl von Tagen, die ein Artikel mindestens erhalten bleibt, auch wenn er nach der Information im Expires:-Feld bereits gelöscht sein sollte. Es ist kaum sinnvoll, diesen Wert auf etwas anderes als null zu setzen. Das zweite Feld enthält die bereits oben beschriebene Anzahl von Tagen, nach denen ein Artikel gelöscht wird. Der dritte Wert bestimmt die bedingungslose Ablaufzeit eines Artikels, gleichgültig, ob ein Expires:-Feld existiert oder nicht. Wird nur der mittlere Wert angegeben, werden für die beiden anderen Standardwerte eingesetzt. Diese können mit dem Spezialeintrag /bounds/ bestimmt werden, der später noch beschrieben wird.

Im vierten Feld, archiv, wird festgelegt, ob die Newsgruppe archiviert wird, und wenn ja, wo. Wird keine Archivierung gewünscht, sollte an dieser Stelle ein Bindestrich stehen. Ansonsten steht an dieser Stelle entweder der volle Pfadname (der auf ein Verzeichnis zeigt) oder ein Klammeraffe (@). Der Klammeraffe steht für ein Standard-Archivierungsverzeichnis, das dann an doexpire über die Option –a in der Kommandozeile übergeben werden muß. Ein Archiv-Verzeichnis sollte news gehören. Archiviert doexpire etwa einen Artikel aus comp.sources.unix, speichert es diesen im Verzeichnis comp/sources/unix unter dem Archiv-Verzeichnis. Wenn dieses noch nicht existiert, wird es automatisch erzeugt. Das Archiv-Verzeichnis selbst wird allerdings nicht automatisch erzeugt.

In der Datei explist gibt es zwei spezielle Einträge, auf die sich doexpire verläßt. Anstelle einer Liste mit Newsgruppen verwenden sie die Schlüsselwörter /bounds/ und /ex­pired/. Der /bounds/-Eintrag enthält die Standardwerte der drei oben beschriebenen Einträge für das zeiten-Feld.

Im /expired/-Feld wird festgelegt, wie lange C News an Zeilen aus der history-Datei festhält. C News entfernt Zeilen aus der history-Datei nicht automatisch, wenn der oder die entsprechenden Artikel gelöscht wurden. Statt dessen wird die Zeile für den Fall behalten, daß noch eine Kopie des Artikels nach diesem Datum eintreffen sollte. Falls Sie von nur einem System mit News versorgt werden, können Sie diesen Wert klein halten. In UUCP-Netzen ist es ratsam, ihn auf ein paar Wochen zu setzen, abhängig von den Verzögerungen, mit denen News von diesen Systemen bei Ihnen eintreffen.

Ein Beispiel einer solchen explist-Datei mit ziemlich kurzen Zeitintervallen ist nachfolgend aufgeführt:

# history-Zeilen zwei Wochen halten. Kein Artikel bekommt mehr als drei Monate. 
/expired/                       x       14      - 
/bounds/                        x       0-1-90  - 
# Gruppen, die wir länger halten wollen als den Rest 
comp.os.linux.announce          m       10      - 
comp.os.linux                   x       5       - 
alt.folklore.computers          u       10      - 
rec.humor.oracle                m       10      - 
soc.feminism                    m       10      - 
# Archiviere die *.sources-Gruppen 
comp.sources,alt.sources        x       5       @ 
# Standardwerte für technische Gruppen 
comp,sci                        x       7       - 
# Genug für ein langes Wochenende 
misc,talk                       x       4       - 
# Schnell weg mit überflüssigem Ballast 
junk                            x       1       - 
# Steuernachrichten sind auch nicht von besonderem Interesse 
control                         x       1       - 
# Eintrag, der den ganzen Rest abfängt 
all                             x       2       -

Das Löschen von Artikeln zieht einige mögliche Probleme nach sich. Eines dieser Probleme ist, daß Ihr Newsreader sich möglicherweise auf das dritte Feld der oben erwähnten active-Datei verläßt, das die kleinste Nummer des online verfügbaren Artikels enthält. Werden Artikel gelöscht, aktualisiert C News dieses Feld nicht. Wenn dieses Feld die wirkliche Situation widerspiegeln muß (oder soll), muß jedesmal ein Programm namens updatemin ausgeführt werden, nachdem doexpire aufgerufen wurde. (Bei älteren C News-Versionen wurde ein Skript namens upact verwendet.)

Sollen unter C News Artikel gelöscht werden, werden nicht die Verzeichnisse der Newsgruppen durchsucht, sondern es wird einfach anhand der history-Datei überprüft, ob ein Artikel das Ablaufdatum überschritten hat.1 Ist Ihre history-Datei aus irgendeinem Grund nicht auf dem neuesten Stand, könnten Artikel für immer auf Ihrer Festplatte schmoren, weil C News sie einfach vergessen hat.2 Sie können die Synchronisation durch das Skript addmissing wiederherstellen, das in /usr/lib/news/maint zu finden ist und fehlende Artikel in die history aufnimmt. Eine andere Möglichkeit bietet mkhistory, das die gesamte Datei neu erstellt. Denken Sie daran, diese Operationen als news durchzuführen, weil Sie ansonsten eine history-Datei erzeugen, die von C News nicht gelesen werden kann.




1.

Die Zeit, zu der ein Artikel eingetroffen ist, ist im mittleren Feld der history-Zeile zu finden. Der Wert wird in Sekunden seit dem 1.1.1970 angegeben.

2.

Ich weiß nicht, warum das passiert, aber bei mir kommt das von Zeit zu Zeit vor.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag