Linux News HOWTO <author>Vince Skahan (<tt>vince@halcyon.com</tt>) und Jörg Stöpel (<tt>j.stoepel@marketingsystems.de</tt>) <date>v1.4-3, 30. November 1996 <abstract> Dieses Dokument beschreibt das Setup und die Pflege von USENET News unter Linux. Es ist notwendig, dieses HOWTO zu lesen, wenn geplant wird, USENET News zu versenden oder zu lesen. Dies betrifft sowohl lokal verwaltete News als auch den Austausch von News zwischen einem lokalen und über das Internet erreichbarer News Server. Das Dokument muß wahrscheinlich nicht gelesen werden, wenn nicht geplant wird, USENET News als Feature des lokalen Systems anzubieten. </abstract> <toc> <sect>Einleitung <nidx>News</nidx> <nidx>Netzwerk!News</nidx> <nidx>Usenet</nidx> <p> Der Zweck dieses Dokuments ist die Beantwortung von Fragen, die in die Kategorie der »häufig gestellten Fragen« in bezug auf USENET News-Software unter Linux im allgemeinen oder als Slackware-Distribution im besonderen fallen. Dieses Dokument ersetzt in Verbindung mit dem korrespondierenden <em/Mail/ und <em><htmlurl name="UUCP HOWTO" url="DE-UUCP-HOWTO.html"></em> die <em>UUCP-NEWS-MAIL FAQ</em>, die zuvor in <tt>comp.os.linux.announce</tt> veröffentlicht wurde. <sect1>Feedback <p> Rückmeldungen via E-Mail in jeder Form, sowohl positive als auch negative, bezüglich des Inhalts des Dokumentes sind erwünscht. Auf jeden Fall sollte einer der beiden Autoren benachrichtigt werden, wenn Fehler oder offensichtliche Versäumnisse entdeckt werden. Deutsche Rückmeldungen nimmt Jörg Stöpel entgegen, um dann mit Vince Skahan, dem Autor des englischen Originals, Kontakt aufzunehmen. Alle E-Mails werden gelesen, aber eine Antwort erfolgt nicht notwendigerweise. Vorschläge für Erweiterungen und Ergänzungen werden im Rahmen der zeitlichen Möglichkeiten und der Dringlichkeit der Änderung berücksichtigt. Flames landen - je nach Unterhaltungswert - in <tt>/dev/null</tt> oder im Poesiealbum. Insbesondere die Konventionen bezüglich Pfadnamen sind unter Linux einer ständigen Veränderung unterworfen. Daher können die hier verwendeten Bezeichnungen nur ein Beispiel sein, das sich am gerade aktuellen Standard orientiert. Bei Unstimmigkeiten sollte die verwendete Distribution und ihre Konvention genauer betrachtet werden. Feedback bezüglich des grundsätzlichen Formats des Dokumentes sollte direkt an den Betreuer des <em/Deutschen HOWTO Projektes/, Marco Budde (<tt><htmlurl url="mailto:Budde@tu-harburg.de" name="Budde@tu-harburg.de"></tt>), bzw. den Linux HOWTO Koordinator Greg Hankins (<tt><htmlurl url="mailto:gregh@sunsite.unc.edu" name="greph@sunsite.unc.edu"></tt>) gehen. <sect1>Copyright <p> Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für die englische <em><htmlurl name="News HOWTO" url="http://metalab.unc.edu/LDP/HOWTO/News-HOWTO.html"></em>, auf der dieses Dokument basiert, liegt bei Vince Skahan. Das Copyright für die deutsche Version liegt bei Jörg Stöpel. Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright-Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu informieren. <sect1>Disclaimer <p> Natürlich lehnen die Autoren jegliche Haftung für den Inhalt des Dokumentes ab. Die Verwendung der hier beschriebenen Konzepte, Beispiele und/oder jedes anderen Inhaltes dieses Dokumentes geschieht auf eigene Verantwortung. <sect1>Weiterführende Information <p> <sect2>USENET <nidx>News!Newsgruppen</nidx> <p> Folgende Newsgruppen beschäftigen sich mit Themen rund um News: <tscreen><verb> news.admin.misc Allgemeines zur News Administration im Netz news.admin.policy Politik des USENET news.admin.technical Verwaltung von Netzwerk-News (moderiert) news.software.b Diskussion von B-News-kompatibler Software news.software.nn Diskussion des »nn« Newsreader Pakets news.software.nntp Network News Transfer Protocol news.software.readers Software zum Lesen von Netzwerk-News news.sysadmin Für Systemadministratoren. news.announce.newusers Beispielgruppe für neue News-Benutzer (mod.) news.newusers.questions Fragen und Antworten für Neueinsteiger im Usenet </verb></tscreen> <sect2>Literatur <nidx>Dokumentation!News</nidx> <nidx>News!Literatur</nidx> <p> Die folgende, nicht vollständige Liste enthält Bücher, die hilfreich sein können: <itemize> <item><em>Managing UUCP and USENET</em> von Grace Todino und Tim O'Reilly, erschienen 1992 bei O'Reilly, ist meiner Meinung nach das beste Buch, um herauszufinden, welche Programme und Protokolle für einen USENET-Server Verwendung finden. <item><em>Unix Communications</em>, veröffentlicht von The Waite Group, beinhaltet eine sehr schöne Beschreibung aller Teile und wie sie zusammen passen. <item><em>Practical Unix Security</em>, erschienen bei O'Reilly, enthält gute Hinweise, wie UUCP im allgemeinen abgesichert werden kann. <item><em>The Internet Complete Reference</em> von Osborne ist eine sehr gute Referenz. Sie erläutert die verschiedenen zur Verfügung stehenden Internetdienste und ist eine ausgezeichnete Quelle für Informationen über News, Mail und andere verschiedene Internetressourcen. <item><em>The Linux Networking Administrators' Guide</em> von Olaf Kirch vom <em/Linux Dokumentation Projekt/ ist im Netz verfügbar. Eine überarbeitete Version wurde bei O'Reilly veröffentlicht. Beim gleichen Verlag ist auch eine deutsche Übersetzung erschienen. Dieses Buch ist sehr gut geeignet, einen generellen Überblick über TCP/IP und die darauf aufsetzenden Programme zu erhalten. </itemize> <sect>Hardwarevoraussetzungen <nidx>News!Voraussetzungen</nidx> <p> Es gibt keine besonderen Hardwarevoraussetzungen für USENET News unter Linux. Das einzige was vorhanden sein sollte, ist ausreichende Festplattenkapazität für die Software und die News Datenbank, deren Größe von der Menge der Nachrichten abhängig ist, die man im System halten will. Für den Anfang sollten 10 MB ausreichen. <sect>Beschaffung der USENET News Software <nidx>News!Software</nidx> <nidx>News!newspak</nidx> <p> Falls die notwendigen Pakete nicht schon in der eigenen Linux-Distribution enthalten sind, findet sich die gesamte Software, die in diesem HOWTO erwähnt wird, auf den bekannten FTP-Servern im Internet. Ein guter Ausgangspunkt ist folgendes Verzeichnis: <tscreen><htmlurl url="ftp://ftp.uu.net/networking/news" name="ftp.uu.net:/networking/news"></tscreen> Die im <tt/newspak-2.4.tar.z/ Paket enthaltenen Konfigurations- und Readme-Dateien beziehen sich alle auf das Zusammenstellen von UUCP, News und Mail Software unter Linux von den verschiedensten frei erhältlichen Quellen. Das Paket ist normalerweise in <tt><htmlurl url="ftp://metalab.unc.edu/pub/Linux/system/Mail/news" name="metalab.unc.edu:/pub/Linux/system/Mail/news"></tt> zu finden. Falls es dort nicht sein sollte, werden die Autoren sicherlich eine Kopie zur Verfügung stellen. <sect>News Transport Software <p> Heute werden hauptsächlich zwei Pakete für den News Transport unter Unix eingesetzt: CNews und INN. Das ältere BNews wurde von den Autoren offiziell für tot erklärt und wird nicht mehr unterstützt. News Transport wird hier verwendet für die Software, die hinter den Kulissen arbeitet, um sowohl News Artikel zu posten und zu verteilen, als auch die Artikel für die verschiedenen Newsreader zum Lesen verfügbar zu machen. Pfade können ganz nach Belieben gesetzt werden, solange UUCP den absoluten Pfad zu <tt/rnews/ in der Permissions-Datei hat und solange der jeweilige Newsreader so konfiguriert ist, daß er <tt/inews/ und <tt/mail/ findet. Beachten Sie bitte, daß das Mischen von CNews und INN ist die beste Voraussetzung ist, um Ärger zu provozieren. Es sollte nur einer von beiden verwendet werden. Das Hinzufügen des NNTP »Reference Release« zu CNews geht in Ordnung, da beide aufeinander abgestimmt sind. <sect1>CNews Cleanup Release <nidx>News!CNews</nidx> <nidx>CNews</nidx> <p> Der de-facto-Standard für News Software ist zur Zeit CNews. Es existiert bereits eine Reihe von Jahren. Die aktuelle Version zum Zeitpunkt dieser Übersetzung heißt »CNews Cleanup Release, with patch CR.G« und datiert von 1995. Der Hauptvorteil von CNews ist seine Reife. Es läuft auf wohl allen Unix Systemen, die man findet und es gibt buchstäblich tausende von Systemen weltweit, auf denen es läuft. Sein größter Nachteil ist, daß es anscheinend für UUCP Verbindungen mittels Modem bestimmt war, und daher zusätzliche NNTP Software benötigt, um z.B. die News per TCP/IP zu lesen. Trotzdem sollte ein angehender USENET Administrator CNews als erstes versuchen, da es äußerst stabil läuft, gut dokumentiert ist und es unzählige erfahrene Administratoren weltweit gibt, die mit Rat zur Seite stehen können. Die »Cleanup Release« behauptet von sich, daß jetzt vollständige »Overview« Unterstützung integriert ist und diese schneller ist als vorher. Das Ergebnis erlaubt die Verwendung von CNews NOV Support, statt ein externes Paket zur Erzeugung der Bezugsverkettung für Newsreader wie <tt/nn/, <tt/tin/ oder <tt/trn/ als Newsreader zu verwenden. Ich habe noch nicht ausprobiert, wie dieser Teil angesprochen wird, da ich zu Hause seit längerem auf INN umgestiegen bin. Wenn jemand mir diesbezüglich weiterhelfen kann, so aktualisiere ich dieses Dokument gerne. Das Newspak Paket auf der Sunsite enthält sowohl lauffähige Konfigurationsdateien für die CNews »Cleanup Release« unter Linux als auch einige Patches, die benötigt werden, damit <tt>doexplode</tt> mit einigen Problemen fertig wird, die <tt/bash/ 1.12 verursacht. Grundsätzlich genügt es, das neue <tt/quiz/ Skript laufen zu lassen und die Standardwerte zu verwenden. Es werden einige Fragen gestellt, die sich auf den <tt>/usr/include</tt> Dateibaum beziehen, aber das wirft keine Probleme auf. <sect2>Installation von CNews <nidx>CNews!Installation</nidx> <nidx>News!CNews!Installation</nidx> <nidx>CNews!quiz.def</nidx> <nidx>News!CNews!quiz.def</nidx> <p> Die Installation der »Cleanup Release« von CNews ist von Anfang bis Ende ein »RTFM«-Projekt. Man hole sich die Quelltexte, entpacke sie und folge den Instruktionen. Das <tt>quiz.def</tt> in newspak wurde durch einen initialen Aufruf von <tt/quiz/ erzeugt, wobei lediglich die Antworten mit Hilfe der Dateien in <tt>/usr/include</tt> erzeugt wurden. Für die Durchführung der Selbsttests des CNews Paketes ist eine neuere <tt/bash/ Version notwendig. Der Aufruf <tt/bash -ver/ sollte als Version 1.14.5 oder höher ergeben. Steve Robbins hat festgestellt, daß die »Cleanup Release« von CNews einen Bug im GNU <tt/join/ Kommando der <em/shellutils/ Version 1.9 offenlegt. Einige Quelltexte von <tt/join/ müssen zu Behebung gepatcht werden; die Patches wurden von Steve auf der Sunsite abgelegt. Inzwischen gibt es die <em/shellutils/ in der Version 1.12. <sect2>Die Konfiguration von CNews <nidx>CNews!Konfiguration</nidx> <nidx>News!CNews!Konfiguration</nidx> <p> Man sollte sich wenigstens die folgenden Dateien im Verzeichnis <tt>/usr/local/lib/news</tt> oder <tt>/usr/lib/news</tt> ansehen und gegebenenfalls ändern: <tscreen><verb> active - Enthält die Namen und Daten der lokalen Newsgruppen. batchparms - Parameter zur Aufbereitung zu sendender News-Batches. explist - Steuert Verhalten von expire, dem Entsorger alter Artikel. mailname - Name in Antworten via E-Mail. mailpaths - Wohin gehen moderierte Postings per E-Mail? organization - Die eigene »Organisation«. sys - Steuert, was geholt und verschickt wird. whoami - Der eigene Hostname für die Path:-Zeile. </verb></tscreen> <sect2>Pflege eines CNews-Servers <nidx>News!CNews!crontab</nidx> <nidx>CNews!crontab</nidx> <p> Als erste, wichtigste Regel gilt: Alle Dateien, für deren Konfiguration es Tools gibt, sollten nicht von Hand bearbeitet werden. Insbesondere sollten newsfeeds nicht per Hand eingerichtet werden, dazu gibt es <tt>addfeed</tt>. Eine andere Datei ist <tt>active</tt>, für die es das Programm <tt>addgroup</tt> gibt. Im Zweifelsfall lese man die Dokumentation, die mit dem Paket kommt. Ein weiterer Punkt ist die korrekte Rechtevergabe für alle Dateien und Programme. Daher sollte die komplette Konfiguration als Benutzer <em/news/ erfolgen. Zur Erinnerung, in der Regel muß man sich erst als <em/root/ anmelden und anschließend mit <tt/su - news/ zum NEWSBIN werden. Die eigentliche Arbeit wird über <tt>cron</tt> erledigt. Die <tt/crontab/ für <em/news/ kann in etwa wie folgt aussehen: <tscreen><verb> # Beispiel crontab für die CNews cleanup Release # # Empfangene und (extern und lokale) News-Batches # einsortieren 20 * * * * /usr/lib/news/bin/input/newsrun # Nach draußen gehende News einpacken 0 * * * * /usr/lib/news/bin/batch/sendbatches myfeedsite # Alte News nach dem Haltbarkeitsdatum wegwerfen 59 0 * * * /usr/lib/news/bin/expire/doexpire # Monitor und Report Tools wenn gewünscht 10 5 * * * /usr/lib/news/bin/newsdaily 00 5 * * * /usr/lib/new/bin/newswatch # Bearbeiten von News Batches nicht von 6:30 - 16:00 30 6 * * * /usr/lib/news/bin/input/newsrunning off 00 16 * * * /usr/lib/news/bin/input/newsrunning on </verb></tscreen> <sect1>InterNetNews (INN) <nidx>INN</nidx> <nidx>News!INN</nidx> <p> INN ist der Newcomer in der Szene, aber das Programm wird mit zunehmender Reife immer populärer. Der Hauptvorteil ist die Schnelligkeit und die Tatsache, daß ein NNTP-Paket bereits enthalten ist. Der Hauptnachteil ist, daß er noch neu ist und sich von daher auf den vielen Standard-Unix-Versionen noch nicht unbedingt reibungslos installieren und betreiben läßt. Zusätzlich arbeitet das Programm mit einem ständig laufenden Daemon, nämlich <tt>innd</tt>, und einem zusätzlichen Daemon, der das Threading übernimmt. Die Kosten für die Schnelligkeit bestehen im hohen Speicherbedarf. Ein Newsaufkommen von 5 MB pro Nacht über UUCP mit einem 14,4 kBit/s Modem mit INN auf einem 8 MB 386-33 ohne X Window System macht aber keine Probleme. Als erstmaliger USENET-Administrator sollte man vielleicht nicht unbedingt mit INN anfangen, bevor man nicht Erfahrungen mit CNews gesammelt hat. Obwohl das Programm unter Linux schnell und zuverlässig läuft, ist es noch ziemlich schlecht dokumentiert für einen angehenden News Administrator. In der Praxis ist die Administration allerdings recht einfach, wenn man einmal herausgefunden hat, wie es funktioniert. INN ist auch ziemlich eigen, was Zugriffsrechte angeht. Man sollte sie nicht durcheinanderbringen. INN ist außerdem ziemlich eigen, wenn es um die »Qualität« des TCP/IP geht, mit dem es zusammenarbeiten soll. Linux ist momentan noch nicht unbedingt das, was erwartet wird (Dez. 95). Es wird daher empfohlen, sich ein Linux-spezifische INN-Paket von den üblichen FTP-Servern zu besorgen. <sect2>Installation von INN <nidx>INN!Installation</nidx> <nidx>News!INN!Installation</nidx> <p> Von Arjan de Vet stammt ein Patch + Config Kit für INN 1.4, um den Server unter Linux zum Laufen zu bringen. Er kann gefunden werden auf: <tscreen><htmlurl url="ftp://ftp.win.tue.nl/pub/linux/ports/" name="ftp.win.tue.nl:/pub/linux/ports/"></tscreen> INN benötigt ebenfalls dringend einen guten Ersatz für <tt>/bin/sh</tt>. <tt/bash/ 1.12 hat einige kleinere Probleme bereitet: Newsgruppen wurden z.B. nicht behandelt. Die Beschreibung hier geht von <tt/bash/ 1.13 aus. <sect2>Konfiguration von INN <nidx>INN!Konfiguration</nidx> <nidx>News!INN!Konfiguration</nidx> <p> Man folgt einfach den Anweisungen von Arjan und alles sollte funktionieren. Hier ist die Zusammenfassung, was getan werden muß: <itemize> <item>In <tt>config.data</tt> muß <tt>HAVE_UNIX_DOMAIN DONT</tt> stehen. <item>In <tt>hosts.nntp</tt> wird der Hostname des Rechners, auf dem der <tt/innd/ läuft, eingefügt. Für ein reines UUCP System ist es der UUCP Name. <item>In <tt>/etc/inetd.conf</tt> darf keine Zeile für <tt/nntp/ vorkommen. <item><tt>innshellvars</tt> sollte <tt>HAVE_UUSTAT DO</tt> anstelle von <tt/DONT/ enthalten, wie es in der Beispiel <tt>config.data</tt> der Fall ist, wenn <tt>uustat</tt> vom Taylor UUCP-Paket installiert ist. Falls dieses falsch definiert ist, werden keine für andere Systeme bestimmten News als Batch gepackt. <item>Wenn INN läuft, sollte unbedingt die empfohlene Konfiguration von <tt>syslogd</tt> durchgeführt werden; sie ist sehr hilfreich. </itemize> Es gibt eine außergewöhnliche FAQ für INN, die monatlich aktualisiert wird. Wer danach unter <tt><htmlurl url="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/news" name="rtfm.mit.edu:/pub/usenet-by-hierarchy/news"></tt> sucht, wird es sicherlich nicht bereuen. <sect2>Pflege einer INN-Site <nidx>INN!crontab</nidx> <nidx>News!INN!crontab</nidx> <p> Es hat sich gezeigt, daß eine Linux-INN-Site praktisch keine Pflege benötigt, wenn man einen funktionierenden <tt/cron/ besitzt. Die notwendige <tt/crontab/ wird in etwa wie folgt aussehen: <tscreen><verb> # tägliche Pflege, .overview und veraltete Artikel # aktualisieren 1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null # lokale Artikel rausschicken 5 * * * * /usenet/sw/inn/lib/send-uucp </verb></tscreen> Bei <tt/bash/ ab Version 1.13 wird das <tt>< /dev/null</tt> nicht benötigt. <sect1>Andere News Transport Agenten <p> Es folgt eine nicht vollständige Liste anderer News Transport Software, die unter Linux lauffähig ist: <itemize> <item>dynafeed <item>nntp1.5.11 <item>slurp1.05 <item>suck 3.2.1 </itemize> <sect>Lesen der News <nidx>News!Reader</nidx> <p> Es gibt nicht den einzig wahren Newsreader. Das heißt, es gibt ziemlich viele, die leicht portiert werden können, insbesondere nach Linux. Zur Zeit (Dez. 95) sind <tt>tin</tt>, <tt>trn</tt> und <tt>nn</tt> in den gebräuchlichsten Linux-Distributionen und im newspak enthalten. Bei der Auswahl eines Newsreaders möchte man in der Regel ein Programm wählen, das einfach zu bedienen ist, gut durch den Benutzer konfigurierbar ist und Threading und »Kill Files« unterstützt. »Kill Files« erlauben es, interessante Artikel auszuwählen, oder nicht interessante von vornherein gar nicht erst anzeigen zu lassen. Die Pfade können ganz nach Geschmack gesetzt werden, solange alle Newsreader <tt>inews</tt> von der CNews oder INN Installation und ein <tt>mail</tt> Programm zum Versenden von Antworten auf Artikel finden können. In diesem Abschnitt werden einige der populärsten Newsreader kurz beschrieben. Bevor Fragen gestellt werden: Es gibt viele gute Gründe <tt>nn</tt> zu verwenden :-). <sect1>tin <nidx>tin</nidx> <nidx>News!Reader!tin</nidx> <p> <tt/tin/ ist ein Newsreader mit Unterstützung für Threads, der besonders von neuen Anwendern einfach benutzt werden kann. Er unterstützt »Kill Files« und »NOV Threading«. Bei der Verwendung von INN liest er NOV <tt/.overview/ Dateien per Default und erstellt keine Index-Dateien. Um <tt/tin/ unter Linux zu übersetzen, editiert man das Makefile, um die Pfade zur News Software zu setzen. Dieses betrifft insbesondere den Pfad von <tt/inews/. Anschließend genügt ein <tt>make linux</tt>. Es sind keine speziellen Patches für Linux notwendig. Für News Threads startet man das Programm einfach mit <tt>tin -u</tt>, um die Indexdateien zu aktualisieren. <nidx>rtin</nidx> <tt/tin/ bietet die Möglichkeit, News über das NNTP-Protokoll zu lesen. Dazu muß man bei der Kompilierung die Konstante <tt/NNTP_ABLE/ definieren. Als Ergebnis erhält man zum einen das Programm <tt>tin</tt> für lokalen- und zum anderen <tt>rtin</tt> für einen NNTP-Zugriff. <tt>tin -r</tt> verhält sich dann genauso wie <tt>rtin</tt>. Iain Lea empfiehlt den folgenden <tt/crontab/ Eintrag, wobei man mit <tt>make daemon</tt> das Programm <tt/tind/ übersetzt: <tscreen><verb> # Datenbank der Bezugsverkettungen erzeugen 35 * * * * /usenet/bin/tind -u </verb></tscreen> Vince Skahan hat <tt>tin</tt> über eine SLIP Anbindung als einen NNTP-basierten Newsreader gefahren. Wenn das angeschlossene System ein umfangreicheres Spektrum an News Gruppen beherbergt, dann kann man ziemlich alt werden, während man darauf wartet, daß die <tt>active</tt> Datei geladen wird. <sect1>trn/mthreads <nidx>trn</nidx> <nidx>News!Reader!trn</nidx> <p> <tt/trn/ ist ein Abkömmling des <tt/rn/ Newsreaders mit Thread-Unterstützung. <tt/trn/ Version 3.2 und neuer haben die nette Eigenschaft, entweder das <tt/trn/-eigene Threading mit <tt/mthreads/ oder NOV, die Thread-Unterstützung von INN zu verwenden. Zum Kompilieren startet man <tt/Configure/ und verwendet die generierten Standardeinstellungen. Möglicherweise ist lib4.4.1 und <tt/bash/ Version 1.13 notwendig, damit <tt/Configure/ erfolgreich durchläuft. Das newspak-Paket auf Sunsite enthält einsatzbereite Konfigurationsdateien, um <tt/trn/ unter Linux einzusetzen. Es kann ziemlich unklug sein, <tt/config.sh/ von <tt/trn/ von Hand zu editieren, es sei denn, man macht etwas wirklich <em/sehr/ einfaches wie das Ändern von Pfaden. Falls man es macht, so muß <tt>Configure -S</tt> gestartet werden, bevor man <tt>make depend</tt>, <tt>make</tt> und <tt>make install</tt> auf das System losläßt. Obwohl <tt>Configure</tt> normalerweise unter Linux mit der <tt/bash/ Version 1.12 den Dienst verweigert, macht <tt>Configure -S</tt> keine Probleme. Wenn man also die <tt>config.sh</tt> aus dem newspak als Startpunkt verwendet, ist man dem Ziel schon recht nahe. Das Kompilieren für das Lesen via NNTP ist genauso einfach, wie »yes« zu antworten, wenn Configure fragt, ob man es denn so möchte. Eine zukünftige Ausgabe des newspak wird eine <tt/config.sk/ für NNTP zusätzlich zu der für lokales Lesen beinhalten für alle die, die immer noch mit einer alten <tt/bash/ Version gestraft sind. Vince Skahan hat <tt>trn</tt> über eine SLIP-Anbindung als einen NNTP-basierten Newsreader gefahren. Wenn das angeschlossene System ein umfangreicheres Spektrum an Newsgruppen beherbergt, dann kann man ziemlich alt werden, während man darauf wartet, daß die <tt>active</tt> Datei geladen wird und die Bezugsverkettung aufgebaut wird. Es gibt Dutzende von Kommandozeilenparametern für trn, um alle möglichen Dinge zu erreichen. Details finden sich in der Manual Page zu <tt/trn/. Eine einfache Möglichkeit, die gewünschten Parameter zu setzen, ist die Verwendung der Konfigurationsdatei: <itemize> <item>Man erzeuge eine Datei mit allen Parametern unter <tt>˜/.trnrc</tt> <item><tt>export TRNINIT="˜/.trnrc</tt> </itemize> Das aktuelle newspak enthält als Beispiel eine Kopie von Vince Skahans <tt/.trnrc/ Datei. <tt/trn/ Version 3.2 und neuere unterstützen NOV oder mthreads für's Threading; der Benutzer hat die Wahl. Demzufolge wird empfohlen, beim Übersetzen beide Threadingmöglichkeiten zuzulassen; Configure fragt danach. Auswählen kann man zur Laufzeit NOV mit <tt>trn -Zo</tt> und die mthreads mit <tt>trn -Zt</tt>. Mittels eines Alias kann man sich die jeweils gewünschte Variante auswählen. Um die mthreads Datenbank zu erzeugen, benötigt man in etwa folgenden Eintrag in der <tt/crontab/: <tscreen><verb> # trn Bezugsverkettung erzeugen 35 * * * * /usenet/bin/mthreads all </verb></tscreen> <sect1>NN <nidx>nn</nidx> <nidx>News!Reader!nn</nidx> <p> Das newspak-Paket auf der Sunsite enthält funktionierende Konfigurationsdateien für <tt/nn/ 6.4.18, die man an die richtige Stelle bringt und dann einfach <tt>make</tt> unter Linux startet. Sie arbeiten ebenfalls mit <tt/nn/ 6.5. Nach dem Übersetzen sind die folgenden Schritte notwendig: <itemize> <item>Starten Sie das <tt/inst/ Programm für die Installation. <item>Initialisieren sie die Datenbank. <item>Starten Sie <tt/nnmaster/. </itemize> Details stehen in der Dokumentation von <tt/nn/. Übersetzen, Konfigurieren und Benutzen von <tt/nn/ unter Linux unterscheidet sich in nichts von anderen Unix-Systemen. Allerdings wird man <tt/nnmaster/ eher über cron starten, statt es als Daemon laufen zu lassen, da es als Daemon eventuell nicht einwandfrei funktioniert. Die Unterstützung von <tt/nn/ ist so einfach, wie die folgenden crontab Einträge: <tscreen><verb> # nnmaster starten, um "nn" Daten zu sammeln # (nicht nötig beim Einsatz von NOV und INN bei # nn-6.5beta3) 25 * * * * /usenet/sw/nn/lib/nnmaster # Veraltete Artikel aus der nn Datenbank werfen # (nicht nötig beim Einsatz von NOV und INN bei # nn-6.5beta3) 0 4 * * * /usenet/sw/nn/bin/nnadmin =EYW # stash a copy of the active file for "nngoback" and # keep last 7 0 3 * * * /usenet/sw/nn/lib/back_act 7 </verb></tscreen> Vince Skahan hat etwas mit <tt>nn</tt> als NNTP-basiertem Newsreader experimentiert. Bei dieser Konfiguration muß die <tt>config.h</tt> leicht modifiziert werden. Die Kommentare in der Datei sollten aussagekräftig genug sein. Wenn <tt/nn/ als NNTP-basierter Newsreader benutzt wird, startet <tt/nn/ eine lokale Kopie des <tt>nnmaster</tt> und unterhält eine lokale Thread-Datenbank. Dadurch wird ein sehr schneller Zugriff bei der Auswahl der Artikel erreicht. Natürlich muß man etwas warten, bis der eigentliche Text des Artikels geladen ist, wenn SLIP über ein Modem verwendet wird. Die neue Version 6.5.x von <tt>nn</tt> unterstützt die NOV Datenbank von INN, welche den Einsatz von <tt>nnmaster</tt> erübrigt. Die Konfiguration wird auf's höchste empfohlen, da man CPU-Zeit spart und die Datenbank und die tatsächlichen Artikel immer abgeglichen sind. <sect1>Andere Newsreader <p> Es folgt eine Liste weiterer Newsreader unter Linux ohne Anspruch auf Vollständigkeit. <itemize> <item><tt/tass/ <item><tt/xrn/ <item><tt/gnus/ <item><tt/netscape/ </itemize> <sect>Danksagungen <p> Die folgenden Personen haben geholfen, die Informationen und Erfahrungen zusammenzutragen, und damit dieses Dokument ermöglicht: Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Iain Lea und Arjan de Vet Falls jemand vergessen wurde, so bitten wir um Entschuldigung. <sect>Häufig gestellte Fragen zum USENET <nidx>News!FAQ</nidx> <nidx>News!Probleme</nidx> <p> <sect1>Warum kann ich keine Artikel in moderierte Gruppen posten? <p> Vermutlich weil der Newsreader versucht, über <tt>/bin/mail</tt> zu posten und es nicht mag. Ersetzen Sie das alte <tt>/bin/mail</tt> durch die neue Portierung von <tt>mailx-5.5.tar.gz</tt> der Slackware Distribution. Die Installation mit dem Slackware <tt>pkgtool</tt> stellt alles korrekt ein. Eine andere Möglichkeit ist, daß eine moderierte Gruppe lokal als nicht-moderiert eingerichtet ist und irgendein Programm die Artikel auf dem Weg in die Öffentlichkeit löscht. Es ist sicherzustellen, daß <tt/checkgroups/ ab und zu gestartet wird, wenn der Checkgroups-Artikel alle paar Wochen in <tt>news.admin</tt> einläuft. <sect1>Warum scheine ich Probleme mit den Zugriffsrechten zu haben? <p> Es scheint nicht nur so :-). Überprüfen Sie, ob die Zugriffsrechte korrekt sind, und stellen Sie sicher, daß es in <tt>/etc/passwd</tt> und <tt>/etc/group</tt> eine Benutzerkennung für den <tt>$NEWSBIN</tt>, z.B. <tt>news</tt>, gibt, die der in dem installierten Paket verwendeten entspricht. Es scheint hier noch keinen Linux-Standard zu geben. Alles in <tt>/usr/lib/news</tt> mit der Ausnahme von <tt>/usr/lib/news/setnewsids</tt> sollte <tt>news.news</tt> gehören. Letzteres sollte setuid <tt>root</tt> sein. Die Benutzer- und Gruppenkennung für den <tt>$NEWSBIN</tt> kann <tt>news</tt> sein, muß es aber nicht. <sect1>Warum kann ich Artikel lokal posten, aber sie werden nicht gezeigt? <p> Möglicherweise wurde <tt>newsrun</tt> nicht von cron aufgerufen. Vielleicht haben Sie die <tt>sys</tt> Datei editiert und durcheinander gebracht. Vielleicht gibt es keine <tt>/var/spool/news/out.going</tt> Verzeichnishierarchie oder ähnliches. Vielleicht habe Sie ein Paket mit der »Performance« oder »Cleanup« Release der CNews installiert. Diese packen die Artikel in Pakete und benötigen <tt>newsrun</tt>, um diese Batches lokal einzusortieren oder an andere Server zu füttern. Sie sollten keine Newsgruppen durch das Editieren der <tt>active</tt> oder <tt>sys</tt> Dateien erzeugen. Dazu gibt es Tools in <tt>/usr/lib/news/bin/maint</tt>, die das sauber erledigen. <sect1>Warum enthält mein Paket mit den Binaries kein nntp? <p> Weil der Autor das SLS News Paket nicht auf die doppelte Größe aufblasen wollte, um dann NNTP- und nicht-NNTP-Versionen der Newsreader und News Transport-Software zu pflegen. Außerdem werden beim Übersetzen lokale Informationen verwendet, die zur Laufzeit nicht durch eine Konfigurationsdatei geändert werden können. <sect1>Warum beschweren sich Programme über »severe space shortage«, obwohl ausreichend Platz vorhanden ist? <p> Weil ein Programm die Datei <tt>/etc/mtab</tt> nicht lesen kann. Als Zugriffmodus wird 644 benötigt. Das kann passieren, wenn man ein von root gemountetes Filesystem unmounted und die umask ein allgemeines Lesen von Dateien, die <tt>root</tt> gehören, nicht zuläßt. <sect1>Es sieht zwar alles normal aus, aber Artikel werden nicht gepostet? <p> Ältere Versionen von Linux enthielten ein defektes <tt/sed/, das CNews regelmäßig in die ewigen Jagdgründe schickte. Falls Sie die News Software über einer alten SLS Distribution installiert haben, stellen Sie sicher, daß in <tt>/bin</tt> bzw. <tt>/usr/bin</tt> nur eine einzige moderne Version von <tt/sed/ vorhanden ist. Seit der »Performance Release« im Februar 1993 muß außerdem <tt>newsrun</tt> regelmäßig zur Arbeit herangezogen werden; am besten benutzt man dafür cron. Dieses Feature hat schon einige Leute überrascht. <sect1>Können trn/tin/nn News Overview (NOV) anstelle einer eigenen Thread Datenbanken verwenden? <p> Ja. <tt>trn</tt>, <tt>tin</tt> und die Beta-Version von <tt>nn</tt> unterstützen es jetzt. Es funktioniert ebenfalls mit der Performance and Cleanup Release von CNews und verschiedenen Newsreadern. Die Beta-Version von <tt/nn/ 6.5, die der Autor der HOWTO einsetzt, hat NOV-Unterstützung und arbeitet erstklassig unter Linux ohne <tt/nnmaster/. Auf <tscreen>uniwa.uwa.edu.au:/</tscreen> sollte eine Kopie zu finden sein. <sect1>Warum gibt es keine binäre Distribution von nntp? <nidx>News!nntp</nidx> <p> Weil ein beachtlicher Anteil an lokalen Informationen einkompiliert werden muß, die nicht zur Laufzeit bestimmt werden können. Wer damit Probleme hat, sollte eher INN versuchen, als CNews plus nntp selber zu bauen. <sect1>Wie konfiguriere ich nntp, um Lesen/Schreiben über das Netzwerk zu erlauben, ohne irgendwelche Artikel oder Datenbanken lokal halten zu müssen? <p> <em>Matt Welsh (<tt>mdw@sunsite.unc.edu</tt>)</em> <enum> <item>Besorgen Sie sich die »Reference Implementation« von nntp und eine Kopie von <tt/rn/ aus einem Archiv, z.B.: <tt><htmlurl url="ftp://ftp.uu.net/networking/news/nntp/" name="ftp.uu.net:/networking/news/nntp/"></tt> <item>Übersetzen Sie nntp wie folgt: <p> Kopieren Sie <tt>common/conf.h.dist</tt> nach <tt>common/conf.h</tt> und editieren Sie <tt>common/conf.h</tt>, um verschiedene Optionen zu setzen. Die einzigen Optionen, die der Autor der HOWTO setzen mußte, waren folgende: <p> <descrip> <tag/DOMAIN/ Löschen Sie die Definition, indem Sie sie z.B. in <tt>#undef DOMAIN</tt> ändern. <tag/REALDOMAIN/ Muß definiert sein. Es sucht nach der Domain unter Verwendung der Libraries. <tag/SERVER_FILE/ Muß auf den Namen der Datei gesetzt sein, die den Hostnamen des Newsservers enthält. Das ist der Rechner, über den News gelesen und gepostet werden. Ich verwende <tt>/usr/local/lib/news/server</tt>. <tag/PASSFILE/ Wenn der Newsserver für das Versenden von Artikeln ein Paßwort und einen Benutzernamen zur Autorisierung benötigt, dann wird hier der Name der Datei hinterlegt, die die Benutzernamen und Paßwörter enthält (s.u.). Ich verwende <tt>/usr/local/lib/news/nntppass</tt>. </descrip> <p> Ich habe mich entschlossen, alle anderen News-bezogenen Dateien in <tt>/usr/local/lib/news</tt> zu lassen. Daher habe ich den ganzen Rest der Pfadnamen in dieser Datei (z.B. <tt/ACTIVE_FILE/, <tt/NEWSGROUPS_FILE/ usw.) auch auf <tt>/usr/local/lib/news/...</tt> gesetzt. Viele dieser Dateien werden nur vom NNTP-Server verwendet, aber nicht vom Client. Aber um sicher zu gehen, habe ich sie alle so geändert, daß sie auf das richtige Verzeichnis zeigen. Man muß nur sicher sein, die Verzeichnisse auch entsprechend anzulegen. <item>Erzeugen Sie einen Benutzer <tt>usenet</tt>, wenn dieses noch nicht geschehen ist. Das Programm <tt/inews/ läuft unter dieser Kennung. Es wird lediglich eine Benutzerkennung benötigt, ein Home Verzeichnis, eine Shell oder anderes ist nicht notwendig. Es genügt folgender Eintrag in die Datei <tt>/etc/passwd</tt>: <tscreen><verb> usenet:*:13:1::/: </verb></tscreen> Stellen Sie sicher, daß die UserID, hier <tt/13/, eindeutig ist. Die Gruppe kann irgend etwas sein, ich verwende <tt>daemon</tt> (GroupID 1). <item>Erzeugen Sie die <tt>SERVER_FILE</tt> Datei (s.o.). Zum Beispiel ist mein News Server <tt>wonton.tc.cornell.edu</tt>, also habe ich eine Datei <tt>/usr/local/lib/news/server</tt> erzeugt, welche eine einzige Zeile enthält: <tscreen><verb> wonton.tc.cornell.edu </verb></tscreen> <item>Erzeugen Sie die <tt>PASSFILE</tt> Datei. Diese Datei enthält Zeilen in folgender Form: <tscreen><verb> <server name> <benutzername> <paßwort> </verb></tscreen> Nehmen wir an, der News Server ist <tt>shoop.vpizza.com</tt> und zum Posten ist man als Benutzer <tt>news</tt> mit dem Paßwort <tt>floof</tt> autorisiert. Dann steht in dem <tt/PASSFILE/, ich verwende <tt>/usr/local/lib/news/nntppass</tt>, diese Zeile: <tscreen><verb> shoop.vpizza.com news floof </verb></tscreen> <item>Schützen Sie diese Datei und machen Sie sie sicher! Das <tt/inews/ Programm läuft als User <tt>usenet</tt>, also machen Sie <tt>usenet</tt> zum Eigentümer dieses News Verzeichnisses und der <tt>nntppass</tt> Datei. <tscreen><verb> chown usenet /usr/local/lib/news chmod 755 /usr/local/lib/news chown usenet /usr/local/lib/news/nntppass chmod 600 /usr/local/lib/news/nntppass </verb></tscreen> Dann kann niemand anderes diese Datei lesen. Nein, die Paßwörter in dieser Datei sind nicht verschlüsselt. <item>Jetzt wechseln Sie wieder in das nntp.1.5.11 Quellverzeichnis und starten <tt>make client</tt>. Hiermit wird die NNTP-Version von <tt/inews/ erzeugt, welche das einzige Programm ist, welches der NNTP Client verwendet. Als ich <tt/inews/ übersetzt habe, war ein Fehler in der Bibliothek. Dieser führte dazu, daß die Funktion <tt>uname()</tt> aus <tt>uname.c</tt> sich in einer Endlosschleife selbst aufgerufen hat. Das sollte inzwischen eigentlich behoben sein. Aber falls <tt/inews/ zu hängen scheint und das System <em>extrem</em> langsam wird, sollte die Funktion <tt>uname()</tt> in <tt>uname.c</tt> in etwas wie <tt>my_uname()</tt> umbenannt werden und die Aufrufe in <tt>inews.c</tt> sollten statt dessen auch <tt>my_uname()</tt> aufrufen. <item>Starten Sie <tt>make install_client</tt>. Das installiert die <tt/inews/ Software. Außerdem müssen Sie einen Link von <tt>/usr/local/lib/news/inews</tt> nach <tt>/usr/local/bin/inews</tt> erzeugen. Jetzt sollte ein fröhliches Posten von Hand möglich sein. Zum Testen kann man folgendes probieren. <tscreen><verb> $ inews -h << EOF Newsgroups: misc.test From: me@foo.bar.com Subject: Testing Reply-To: my-real-address@wherever.edu This is a test. EOF </verb></tscreen> Wenn alles funktioniert, dann sollte <tt/inews/ den Artikel posten. Sie werden es erfahren, da ein Programm Ihnen darauf automatisch eine Antwort per E-Mail schicken wird. Aber bitte schicken Sie <em/keine/ Artikel zum Test in normale Newsgruppen, da dieses die Kommunikation stört und von vielen Teilnehmern als Belästigung empfunden wird. </enum> </article>