SN steht für SmallNews und ist ein kleiner und schneller Newsserver. Er ist für diejenigen gedacht, die gerne die Vorteile eines systemunabhängigen Newsdienstes nutzen möchten (es soll ja Leute geben, die mit mehr als einem Betriebssystem auf der selben Maschine arbeiten), ohne dabei ständig online sein zu müssen, um die aktuellen News auf jedem System lesen zu können.
Für folgende Funktionen muss außerdem noch das Mail-Package installiert sein:
Wie funktioniert SN?
Zu jeder Newsgroup muß angegeben werden, von welchem externen Newsserver sie bezogen werden soll. Theoretisch kann man also für jede Newsgroup einen anderen Server angeben.
Wenn eine Verbindung von einem Client (Newsreader) auf Port 119 (das ist der nntp-Port) gewünscht wird, dann wird der daemon gestartet, sofern der Client eine Zugriffsberechtigung hat (siehe Beschreibung der Konfigurationsvariablen).
Was kann SN?
Was kann SN nicht?
Das Menü im Setup-Programm ist wie folgt aufgebaut:
x. | Service administration |
x. | News Service |
1. | View documentation | ||
2. | Edit configuration | ||
3. | Advanced configuration file handling | ||
4. | Show status | ||
5. | Stop service | ||
6. | Start service | ||
7. | Goto news tools |
1. | Add newsgroup | ||
2. | Delete newsgroup | ||
3. | Delete external newsserver | ||
4. | Request newsgrouplist from external server | ||
5. | Search for newsgroups in grouplist | ||
6. | Sort grouplists and kill dupes | ||
7. | Get/Send news | ||
8. | Change login on external newsserver | ||
9. | Show subscribed newsgroups | ||
10. | Clear up database | ||
11. | Show logfiles |
1. | snadmin | ||
2. | snconf | ||
3. | sndb | ||
4. | snfetch | ||
5. | snntpd |
Nach der Installation des Paketes über das Setup-Menü sollte ein neuer Eintrag „News Service“ im Setup zu finden sein. Hier ist zuerst die Konfiguration zu bearbeiten. Anschließend im Untermenü „Goto news tools“ die Funktion „Add new group“ auszuführen. Dabei legt man auch einen externen Newsserver an. Jetzt kann man mit „Get/Sent News“ (ebenfalls im Untermenü „Goto news tools“) News holen (oder das Ganze automatisch erledigen lassen).
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will, findet
sie unter
/etc/config.d/sn
Gültige Werte: yes, no
Standardeinstellung: START_SN='no'
Gültige Werte: FQDN
Standardeinstellung: SN_FQDN=''
Gültige Werte: daily, weekly, monthly
Standardeinstellung: SN_LOGROTATE='weekly'
Gültige Werte: yes, no
Standardeinstellung: SN_REQ_NEW_GROUPS='yes'
Gültige Werte: yes, no
Standardeinstellung: SN_POST_FORCE='no'
Gültige Werte: Zahl
Standardeinstellung: SN_ALLOW_HOSTS_N='0'
Gültige Werte: alles
Standardeinstellung: SN_ALLOW_HOST_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SN_ALLOW_HOST_x_ACTIVE'='no'
Bsp.:
Wenn diese Variable leer gelassen wird, dann darf jeder auf dem Newsserver lesen und schreiben.
Gültige Werte: localhost, ip, ip/subnetmask
Standardeinstellung: SN_ALLOW_HOSTS_x='localhost'
Gültige Werte: Zahl
Standardeinstellung: SN_USER_N='0'
Bsp.:
Die Benutzer und Passwörter sind unabhängig von den Systembenutzern. Es können also beliebige Werte vergeben werden.
Gültige Werte: username
Standardeinstellung: SN_USER_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SN_USER_x_ACTIVE'='no'
Bsp.:
Die Benutzer und Passwörter sind unabhängig von den Systembenutzern. Es können also beliebige Werte vergeben werden.
Gültige Werte: password
Standardeinstellung: SN_USER_x_PASSWD=''
Gültige Werte: leer, NG newsgroup, EM email-adresse
Standardeinstellung: SN_ADMIN=''
Gültige Werte: manual, wait, auto
Standardeinstellung: SN_FETCH_MODE='manual'
Gültige Werte: Zahl
Standardeinstellung: SN_FETCH_SCHEDULE_N='0'
Gültige Werte: alles
Standardeinstellung: SN_FETCH_SCHEDULE_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SN_FETCH_SCHEDULE_x_ACTIVE'='no'
(komplexe Definition): Legt fest, zu welchen Zeitpunkten dieser Job durch Systemd ausgeführt werden soll.
Ein Job wird von Systemd nur ausgeführt, wenn alle Kriterien zutreffen
(logisches UND);
Wenn genauere Datums- und Uhrzeitangaben erforderlich sind, verwenden OnCalendar-Ereignisse das folgende Format:
DayOfWeek Year-Month-Day Hour:Minute:Second
Beispiele:
Ein Sternchen kann verwendet werden, um einen beliebigen Wert anzugeben, und Kommas können verwendet werden, um mögliche Werte aufzulisten. Zwei durch '..' getrennte Werte zeigen einen zusammenhängenden Bereich an.
Im folgenden Beispiel wird der Dienst an den ersten vier Tagen jedes Monats um 12:00 Uhr ausgeführt, aber nur, wenn dieser Tag ein Montag oder Dienstag ist.
Mon,Tue *-*-01..04 12:00:00
Um einen Dienst am ersten Samstag jedes Monats auszuführen, verwenden Sie:
Sat *-*-1..7 18:00:00
Bei Verwendung des DayOfWeek-Teils muss mindestens ein Wochentag angegeben werden. Wenn Sie möchten, dass jeden Tag um 4 Uhr morgens etwas ausgeführt wird, verwenden Sie:
*-*-* 04:00:00
Die folgenden speziellen Ausdrücke können als Abkürzungen für längere normalisierte Formen verwendet werden:
minutely | ⇒ | *-*-* *:*:00 | |
hourly | ⇒ | *-*-* *:00:00 | |
daily | ⇒ | *-*-* 00:00:00 | |
monthly | ⇒ | *-*-01 00:00:00 | |
weekly | ⇒ | Mon *-*-* 00:00:00 | |
yearly | ⇒ | *-01-01 00:00:00 | |
quarterly | ⇒ | *-01,04,07,10-01 00:00:00 | |
semiannually | ⇒ | *-01,07-01 00:00:00 |
Weitere Informationen siehe Systemd-time
Standardeinstellung: SN_FETCH_SCHEDULE_x_TIME='*-*-* *:05,35:00'
ACHTUNG
Manche Newsserver haben eine Beschränkung der Anzahl
gleichzeitiger Verbindungen von einer IP (bei news.cis.dfn.de
sind z.B. maximal vier gleichzeitige Verbindungen von einer IP
erlaubt). Man sollte sich also vorher darüber informieren,
sonst kann es passieren, dass einige Gruppen nicht oder nur
unvollständig synchronisiert werden.
Gültige Werte: Zahl
Standardeinstellung: SN_FETCH_CONNECTS='2'
Gültige Werte: Zahl von 1024-65535
Standardeinstellung: SN_WAIT_PORT='20000'
Gültige Werte: localhost, ip
Standardeinstellung: SN_WAIT_ALLOW=''
Gültige Werte: Zahl
Standardeinstellung: SN_GENERAL_N='0'
Gültige Werte: alles
Standardeinstellung: SN_GENERAL_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SN_GENERAL_x_ACTIVE'='no'
Gültige Werte: regulärer Ausdruck (grep-Syntax)
Standardeinstellung: SN_GENERAL_x_GROUP='.*'
Gültige Werte: Zahl[hdwmy]
Standardeinstellung: SN_GENERAL_x_EXPIRETIME='1m'
Gültige Werte: Zahl
Standardeinstellung: SN_GENERAL_x_MAXARTICLES='200'
Gültige Werte: rw, ro
Standardeinstellung: SN_GENERAL_x_STATUS='rw'
Gültige Werte: Zahl
Standardeinstellung: SN_MODERATED_N='0'
Gültige Werte: Newsgroupname
Standardeinstellung: SN_MODERATED_x_GROUP=''
Gültige Werte: yes, no
Standardeinstellung: SN_MODERATED_x_ACTIVE'='no'
Gültige Werte: email-adresse
Standardeinstellung: SN_MODERATED_x_MOD=''
Gültige Werte: Zahl
Standardeinstellung: SN_LIST_N='0'
Gültige Werte: Mailinglistenadresse
Standardeinstellung: SN_LIST_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SN_LIST_x_ACTIVE'='no'
Gültige Werte: lokaler Benutzername
Standardeinstellung: SN_LIST_x_USER=''
Gültige Werte: Mailinglistenadresse
Standardeinstellung: SN_LIST_x_TO=''
Gültige Werte: Newsgroupname
Standardeinstellung: SN_LIST_x_NEWSGROUP=''
Gültige Werte: email-adresse, ro
Standardeinstellung: SN_LIST_x_SENDER=''
Es gibt immer wieder Diskussionen, ob der FQDN gültig sein muss, oder nicht, da es bei der Interpretation durchaus Spielräume gibt, aber es gilt: Wenn man einen FQDN nutzt, der einem selbst gehört (z.B. eigene Domain) dann ist man auf der sicheren Seite. Wenn man das nur für den Newsservice nutzen will, dann gibt es Adressen (z.B. myfqdn) wo man sich einen eigenen FQDN reservieren kann. Dieser ist allerdings nur für den Einsatz in MID's von News oder Mails gedacht.
Normalerweise steht . für ein beliebiges Zeichen. Wenn man jedoch nach dem Zeichen . suchen will, dann muss man es maskieren mit \. Da \ aber auch ein Sonderzeichen ist und es bei der Übergabe durch die Shell verschluckt werden würde, muss man dieses wiederum mit \ maskieren.
Wed Aug 7 17:54:26 MEST 2002 snexpire:dh\_open:table has wrong size! snprimedb:dh\_open:table has wrong size! snprimedb:Can't open database:Function not implemented?
dann wurde die Datenbank nicht richtig aufgebaut. Abhilfe schafft hier ein erneutes Ausführen der Funktion 'Clear up Database' (bitte beachten, dass das Aufbauen der Datenbank eine Weile dauert, besonderns bei vielen Artikeln). Die letzten Zeilen in SN_DB_LOG sollten in etwa so aussehen:
snprimedb:insert:"message-id-bla-blub” already exists in foo-bar:12345 snprimedb:12345 insertions
oder es ist nur eine Datumszeile vorhanden, dann wurden keine Artikel als doppelt vorhanden erkannt