Das 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, 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 oder 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 <p> Der Zweck dieses Dokuments ist die Beantwortung von Fragen die in die Kategorie "frequently asked questions" fallen in Bezug auf USENET News Software unter Linux im allgemeinen oder als Slackware Distribution im Besonderen. Dieses Dokument in Verbindung mit dem korrespondierenden Mail und <em><htmlurl name="UUCP HOWTO" url="http://sunsite.unc.edu/mdw/HOWTO/UUCP-HOWTO.html"></em> Dokumenten ersetzen das <em>UUCP-NEWS-MAIL-FAQ</em> das zuvor in <tt>comp.os.linux.announce</tt> veröffentlicht wurde. <sect1>Neue Versionen dieses Dokuments <sect2>Englisches Original <p> Neue Versionen des englischen Originals werden regelmäßig über die News-Gruppen <tt>comp.os.linux.announce</tt>, <tt>comp.answers</tt> und <tt>news.answers</tt> verteilt. Außerdem werden sie auf verschiedenen anonymous FTP-Servern, die solche Informationen archivieren, hinterlegt. Der wichtigste ist wohl <tt><htmlurl name="sunsite.unc.edu:/pub/Linux/docs/HOWTO" url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO"></tt> und die verschiedenen Mirror. <p> Zusätzlich wird es über die Linux Home-Page im WorldWideWeb unter <tt><htmlurl url="http://sunsite.unc.edu/mdw/linux.html" name="http://sunsite.unc.edu/mdw/linux.html"></tt> zu finden sein. <sect2>Deutsche Übersetzung <p> Diese deutsche Ausgabe des <em>News-HOWTO</em> wird über die Homepage des Deutschen Linux HOWTO Projektes (DLHP) auf <tt><htmlurl name="http://www.tu-harburg.de/˜semb2204/dlhp/" url="http://www.tu-harburg.de/˜semb2204/dlhp/"></tt> zugänglich sein. Momentan sind die deutschen HOWTOs auf den FTP-Servern <tt><htmlurl name="ftp.heise.de:/pub/ix/Linux/docs/HOWTO" url="ftp://ftp.heise.de/pub/ix/Linux/docs/HOWTO"></tt> und <tt><htmlurl name="ftp.uni-stuttgart.de:/pub/systems/linux/local/doc" url="ftp://ftp.uni-stuttgart.de:/pub/systems/linux/local/doc"></tt> erhältlich. Weitere Quellen finden sich auch auf der DLHP Homepage. <p> Der Übersetzer ist sich im Klaren, daß einige Abschnitte überarbeitet ;-) werden sollten. Aber als erster Schritt muß erst einmal eine wörtliche Übersetzung reichen. Als weiterer Schritt können dann Aktualisierungen gemeinsam mit dem Autor des englischen Originals eingearbeitet werden. <sect1>Feedback <p> Rückmeldungen via E-Mail in jeder Form ist erwünscht, sowohl positive als auch negative bezüglich des Inhalts des Dokumentes. 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-Mail werden auch 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 /dev/null 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 bzw. den (mir) bekannten Distributionen. 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 Deutschen HOWTO Projektes, Marco Budde (<tt><htmlurl url="mailto:Budde@tu-harburg.d400.de" name="Budde@tu-harburg.d400.de"></tt>), bzw. den Linux HOWTO coordinator - Greg Hankins (<tt><htmlurl url="mailto:gregh@sunsite.unc.edu" name="greph@sunsite.unc.edu"></tt>) gehen. <sect1>Copyright Information <p> Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für die englische <em><htmlurl name="News HOWTO" url="http://sunsite.unc.edu/mdw/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 zu informieren. <sect1>Standard 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 <p><verb> news.admin.misc Allgemeine zu News Administration im Netz news.admin.policy Policy issues of USENET. news.admin.technical Verwaltung von Netzwerk News. (moderiert) news.software.b Diskussion von B-News kompatibler Software. news.software.nn Diskussion des "nn" News Reader Pakets. news.software.nntp Network News Transfer Protocol. news.software.readers Software zum Lesen von Netzwerk-News. news.sysadmin Fuer Systemadministratoren. news.announce.newusers Beispiel Gruppe fuer neue News Benutzer (mod.) news.newusers.questions Q & A fuer Neueinsteiger im Usenet. </verb> <sect2>Literatur <p> Die folgende, nicht vollständige Liste enthält Bücher die helfen <itemize> <item><em>Managing UUCP and USENET</em> von Grace Todino und Tim O'Reilly. Erschienen 1992 bei O'Reilly+Associates ist meiner Meinung nach das beste Buch um herauszufinden, welche Programme und Protokolle in einer USENET-Site Anwendung finden. <item><em>Unix Communications</em> veröffentlicht von The Waite Group beinhaltet eine sehr schöne Beschreibung aller Teile (und mehr) und wie sie zusammen passen. <item><em>Practical Unix Security</em> erschienen bei O'Reilly+Associates hat eine gute Diskussion, 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 Internet Dienste und ist eine ausgezeichnete Quelle für Informationen über News, Mail und andere verschiedene Internet Resourcen. <item><em>The Linux Networking Administrators' Guide</em>" von Olaf Kirch vom Linux DOC Projekt ist im Netz verfügbar. Eine überarbeitete Version wurde bei O'Reilly und SSC veröffentlicht, auch in deutsch. Es macht einen sehr guten, ausführlichen <em>Rundum-Schlag</em> um nahezu alles, was man sich nur vorstellen kann, über UNIX Netzwerke zu lernen. </itemize> <sect1>Wo man KEINE Hilfe suchen soll <p> Die Konfiguration und der Betrieb von USENET News unter Linux hat keine Besonderheiten (mehr). Daher haben grundsätzliche Fragen zu News nichts in den de.comp.os.linux.* zu suchen. Solange die Fragen nicht wirklich Linux betreffen (z.B. "Welche Patches benötige ich um INN mit bash1.12 in SLS v1.03 zu verwenden?"), sollten die oben genannten News-Gruppen Ziel der Hilferufe sein. Noch einmal in aller Deutlichkeit: Es gibt keinen offensichtlichen Grund mehr, um irgendwelche News bezogenen Fragen in der de.comp.os.linux Hierarchie abzusetzen. Es existieren News-Gruppen, in denen *ALLE* diese Fragen diskutiert werden. <p> <em> DIE DE.COMP.OS.LINUX NEWS-GRUPPEN SIND DIE FALSCHE STELLE FUER WENN MAN HILFE ZU NICHT-LINUX-SPEZIFISCHEN PROBLEMEN SUCHT. DIE RICHTIGEN EXPERTEN FUER USENET NEWS SITZEN AN DEN OBEN GENANNTEN STELLEN UND FAHREN IN DER REGEL NICHT LINUX. </em> <p> <em> NICHT LINUX-SPEZIFISCHE FRAGEN IN LINUX-SPEZIFISCHEN NEWS-GRUPPEN SIND REINE ZEITVERSCHWENDUNG FUER DEN FRAGENDEN UND FUER ALLE ANDEREN. ES IST DER BESTE WEG DIE ANTWORT AUF DIE FRAGE MOEGLICHST LANGE ZU VERZOEGERN. </em> <sect>Hardware Voraussetzungen <p> Es gibt keine besonderen Hardware Voraussetzungen für USENET News unter Linux. Das einzige was zu erwähnen wäre, ist ausreichende Festplatten Kapazität für die Software und die News Datenbank, und die ist abhängig von der Menge an Nachrichten, die man im System halten will. Für den Anfang sollten an die 10MB ausreichen. <sect>Beschaffung der USENET News Software <p> Falls die notwendigen Pakete nicht schon in der eigenen Linux-Distribution enthalten ist, findet sich die gesamte Software die in diesem HOWTO erwähnt wird ist auf den bekannten Anonymous FTP-Servern im Internet verfügbar. Ein guter Ausgangspunkt ist das Verzeichnis <tt><htmlurl url="ftp://ftp.uu.net/networking/news" name="ftp.uu.net:/networking/news"></tt> Die im 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. Es ist normalerweise in <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Mail/news" name="sunsite.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 News-Reader zum Lesen verfügbar zu machen. Pfade können ganz nach Belieben gesetzt werden, solange UUCP den absoluten Pfad zu rnews in der Permissions Datei hat und solange der jeweilige Newsreader so konfiguriert ist, daß er "inews" und "mail" findet. Wichtig - das Mischen von CNews und INN ist die beste Voraussetzung 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 <p> Der de-facto Standard für News Software zur Zeit ist 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 bestimmt war für UUCP Verbindungen mittels Modem und daher zusätzliche NNTP Software benötigt, die Echtzeit Internet Zugriffe regelt. Trotzdem sollte ein angehender USENET Administrator CNews als erstes versuchen, da es äußerst stabil läuft, es gut dokumentiert ist und es unzählige erfahrener Administratoren weltweit gibt, die mit Rat zur Seite stehen können. Das "Cleanup Release" behauptet, daß "Overview Support voll integriert wurde und schneller als vorher ist". Das Ergebnis erlaubt die Verwendung von CNews NOV Support ohne daß News-Threads ein externes Paket wie nn, tin oder trn als NewsReader verwendet werden muß. Ich habe noch nicht ausprobiert wie dieser Teil angesprochen wird, da zu Hause seit längerem auf INN umgestiegen bin. Wenn jemand mir diesbezüglich weiterhelfen kann, so aktualisiere ich dieses Dokument, E-Mail genügt. Das Newspak Paket auf Sunsite enthält sowohl lauffähige Konfigurationsdateien für das CNews Cleanup Release unter Linux, als auch einige Patches, dies benötigt werden, damit <tt>doexplode</tt> mit einigen Problemen fertig wird, die bash1.12 verursacht. Grundsätzlich genügt es das neue 'quiz' Skript laufen zu lassen und Default-Werte 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 <p> Die Installation des Cleanup Releases von CNews ist von Anfang bis Ende ein "RTFM" (Read The F.. Manual) 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 "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 'bash' notwendig. Der Aufruf mittels 'bash -ver' sollte als Version 1.14.5 oder besser ergeben. Steve Robbins hat festgestellt, daß das 'Cleanup Release' von CNews einen Bug im GNU 'join' Kommando der 'shellutils-1.9' offenlegt. Einige Quelltexte von join müssen zu Behebung gepatcht werden, die Patches wurden von Steve auf auf sunsite abgelegt. Inzwischen (Nov. 96) gibt es die shellutils in der Version 1.12. <sect2>Die Konfiguration von CNews <p> Als mindestes sollte man sich die folgenden Dateien im Verzeichnis <tt>/usr/local/lib/news</tt> oder <tt>/usr/lib/news</tt> ansehen und gegebenenfalls ändern: <verb> active - enthaelt die Namen und Daten der lokalen Newsgruppen batchparms - Parameter zur Aufbereitung zu sendender News-Batches explist - steuert Verhalten von expire, dem Entsorger mailname - Name in Antworten via Mail mailpaths - Wohin gehen modertierte Postings per Mail organization - die eigen "Organisation", falls man organisiert ist sys - steuert was geholt und verschickt wird whoami - der eigene Hostname fuer die Path: Zeile </verb> <sect2>Pflege eines CNews-Servers <p> Als erste wichtigste Regel gilt, alle Dateien, für deren Konfiguration es Tools gibt, sollten nicht von Hand bearbeitet werden. Ins besondere sollten newsfeeds nicht handish eingerichtet werden, dazu gibt es "<tt>addfeed</tt>". Eine andere Datei ist <tt>active</tt>, für die gibt es "<tt>addgroup</tt>". Im Zweifelsfall lese man die Dokumentation, die mit dem Paket kam oder man liest sie nochmals. Ein weiterer Punkt ist, die korrekte Rechtevergabe für alle Dateien und Programme. Daher sollte die komplette Konfiguration als der Eigentümer des News-Systems, als "<tt>news</tt>" ($NEWSBIN während der Installation) durchgeführt werden. Zur Erinnerung, in der Regel muß man sich erst als "root" anmelden und anschließend mit "su - news" zum NEWSBIN werden. Die eigentliche Arbeit wird über <tt>cron</tt> erledigt. Die crontab für "news" kann in etwa wie folgt aussehen: <verb> # Beispiel crontab fuer die CNews cleanup Release # # empfangene und (extern und lokale) News-Batches einsortieren, 20 * * * * /usr/lib/news/bin/input/newsrun # nach draussen 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 gewuenscht 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> <sect1>InterNetNews (INN) <p> INN ist der Newcomer in der Szene, aber er wird mit zunehmender Reife immer populärer. Der Hauptvorteil ist seine Schnelligkeit und die Tatsache, daß er ein nntp Paket beinhaltet. Der Hauptnachteil ist, daß er noch neu ist und sich von daher auf den vielen "Standard Unixes" noch nicht unbedingt reibungslos intallieren und betreiben läst. Zusätzlich arbeitet er mit einem ständig laufenden Dämon (<tt>innd</tt> und einem zusätzlichen Dämon, der das Threading übernimmt. Die Kosten für die Schnelligkeit scheint der Speicherbedarf zu sein. Bei einem News Aufkommen von 5MB pro Nacht über UUCP mit einem 14.4 KB 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 erst Erfahrungen mit CNews gesammelt hat. Obwohl es unter Linux schnell und zuverlässig läuft, ist es noch ziemlich undokumentiert was einen angehenden News Administrator angeht. In der Praxis ist es 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 auch 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 <p> (<tt>von Arjan de Vet - devet@info.win.tue.nl</tt>) Von Arjan de Vet stammt ein Patch + Config Kit für INN 1.4 um ihn unter Linux zum Laufen zu bringen. Er kann gefunden werden auf: <tt><htmlurl url="ftp://ftp.win.tue.nl/pub/linux/ports/inn-1.4-linux.tar.gz" name="ftp.win.tue.nl:/pub/linux/ports/inn-1.4-linux.tar.gz"></tt> INN benötigt ebenfalls dringend einen guten Ersatz für <tt>/bin/sh</tt>. Bash 1.12 hatte einige kleinere Probleme bereitet, Newsgruppen wurden nicht behandelt, vielleicht noch ein paar andere Sachen. Die Beschreibung hier geht von bash 1.13 aus. <sect2>Konfiguration von INN <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ß stehen <tt>"HAVE_UNIX_DOMAIN DONT"</tt> <item>In <tt>hosts.nntp</tt> wird der Hostname auf dem innd läuft eingefügt. Für ein reines UUCP System ist es der UUCP Name. <item>In <tt>/etc/inetd.conf</tt> draf keine Zeile für nntp vorkommen. <item><tt>innshellvars</tt> sollte <tt>"HAVE_UUSTAT DO"</tt> anstelle von "DONT" haben, wie es in der Beispiel <tt>config.data</tt> enthalten ist, wenn <tt>uustat</tt> vom Taylor UUCP Paket installiert ist. Falls dieses falsch definiert ist, werden keine nach draußen 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, sehr hilfreich. </itemize> Es gibt ein außergewöhnliche FAQ für INN, das 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 <p> Es hat sich gezeigt, daß eine Linux INN Site praktisch keine Pflege benötigt, wenn man einen funktionierenden cron besitzt. Die notwendige crontab wird in etwa wie folgt aussehen: <verb> # taegliche Pflege, .overview und veraltete Artikel aktualisieren 1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null # Und lokale rausschicken 5 * * * * /usenet/sw/inn/lib/send-uucp </verb> (Bei bash ab 1.13, das <tt>"< /dev/null"</tt> wird nicht benötigt) <sect1>Andere News Transport Agenten <p> Es folgt eine nicht vollständige Liste andere 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 (News Readers) <p> Es gibt nicht den "einzig wahren News Reader". Das heißt, es gibt ziemlich viele, die leicht portiert werden können, insbesondere nach Linux. Zur Zeit (Dez.95) "<tt>tin</tt>", "<tt>trn</tt>" und "<tt>nn</tt>" sind in den gebräuchlichsten Linux Distributionen und im newspak enthalten. Bei der Auswahl eines News-Readers möchte man in der Regel etwas haben, das einfach zu bedienen ist, gut durch den Benutzer konfigurierbar ist, der Threading unterstützt und "Kill Files" (um interessante Artikel auszuwählen oder nicht interessante von vornherein gar nicht erst zu zeigen). Die Pfade können ganz nach Geschmack gesetzt werden, solange alle News-Reader "<tt>inews</tt>" von der CNews oder INN Installation finden und ein "<tt>mail</tt>" Programm um Antworten auf News-Posts zu versenden. In diesem Abschnitt werden einige der populärsten kurz beschrieben. Bevor Fragen gestellt werden, es gibt viele gute Gründe "<tt>nn</tt>" zu verwenden :-) <sect1>Tin <p> Tin ist ein News Reader mit Unterstützung für Threads, der besonders einfach für neue Anwender gedacht ist. Er unterstützt "Kill Files" und "NOV Threading". Bei der Verwendung von INN liest er NOV .overview Dateien per Default und erstellt keine Index Dateien. Um Tin unter Linux zu übersetzen editiert man das Makefile und die Pfade zur News Software zu setzen, besonders den Pfad von inews). Anschließend genügt ein <tt>make linux</tt>, es sind keine speziellen Patches notwendig. Für News Threads startet man mit <tt>tin -u</tt> um die Indexdateien zu aktualisieren. Tin hat die Möglichkeit via NNTP zu lesen. Dazu übersetzt man mit "NNTP_ABLE" definiert. Das Ergebnis sind einmal <tt>tin</tt> für lokalen und einmal <tt>rtin</tt> für NNTP Zugriff. <tt>tin -r</tt> verhält sich dann genauso wie <tt>rtin</tt>. Iain Lea empfiehlt den folgenden crontab Eintrag. Dann braucht man nicht <tt>make daemon</tt> zu starten um tind zu erzeugen. <verb> # Datenbank der Bezugsverkettungen erzeugen 35 * * * * /usenet/bin/tind -u </verb> Vince Skahan hat <tt>tin</tt> über eine SLIP Anbindung als einen NNTP-basierten News Reader 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 <p> trn ist ein Abkömmling des "rn" News-Readers mit Thread Unterstützung. trn3.2 und neuer haben die nette Eigenschaft entweder das trn eigene Threading mit "mthreads" oder NOV, den Threader von INN zu verwenden. Zum Kompilieren startet man Configure und verwendet die generierten Default Einstellungen. Möglicherweise ist lib4.4.1 und bash1.13 notwendig, damit Configure erfolgreich durchläuft. Das newspak Paket auf SunSite enthält einsatzbereite Konfigurations Dateien um trn unter Linux einzusetzen. Es kann ziemlich unklug sein config.sh von trn von Hand zu editieren, es sei denn man macht etwas wirklich 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 bash1.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 (vorausgesetzt Configure läuft). Eine zukünftige Ausgabe des newspak wird eine config.sk für NNTP zusätzlich zu der für lokales Lesen beinhalten für alle die, die immer noch mit einer alten bash geschlagen sind :-) Vince Skahan hat <tt>trn</tt> über eine SLIP Anbindung als einen NNTP-basierten News-Reader 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 und die Artikel auf die Threads "gefädelt" werden. Es gibt Dutzende von Kommandozeilen Parametern für trn, um alle möglichen Dinge zu erreichen. Details finden sich in der Manual Seite von "trn". Eine einfache Möglichkeit, die gewünschten Parameter einfach zu setzen ist über eine Konfigurations Datei: <itemize> <item>Man erzeuge eine Datei mit allen Parametern unter <tt>˜/.trnrc</tt> <item><tt>export TRNINIT="˜/.trnrc</tt> </itemize> Das aktuelle newspak hat eine Kopie von Vince Skahans .trnrc Datei als Beispiel. trn3.2 und neuer unterstützen NOV oder mthreads für Threading, der Benutzer hat die Wahl. Demzufolge ist empfohlen, beim Übersetzen beide Threading Möglichkeiten zuzulassen (Configure fragt danach). Auswählen kann man zur Laufzeit mit <tt>trn -Zo</tt> für NOV und <tt>trn -Zt</tt> für mthreads. 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 crontab: <verb> # thread the trn database 35 * * * * /usenet/bin/mthreads all </verb> <sect1>NN <p> Das newspak Paket auf SunSite enthält funktionierende Konfigurationsdateien für nn6.4.18, die man an die richtige Stelle bringt und dann einfach <tt>make</tt> startet unter Linux. Sie arbeiten ebenfalls mit nn6.5. Nach dem Übersetzen sind die folgenden Schritte notwendig: <itemize> <item> - Starte das "inst" Programm für die Installation <item> - Initialisieren der Datenbank <item> - Starten von nnmaster </itemize> Details stehen in der nn Dokumentation. Übersetzen, Konfigurieren und Einsetzen von nn unter Linux unterscheidet sich in nichts von andere *nix Systemen, höchstens das man nnmaster eher über cron started, als das er als Dämon läuft, es macht auch keinen Unterschied. Unterstützung von "nn" ist so einfach, wie die folgenden crontab Einträge: <verb> # nnmaster starten, um "nn" Daten zu sammeln # (nicht noetig beim Einsatz von NOV und INN bei nn-6.5beta3) 25 * * * * /usenet/sw/nn/lib/nnmaster # Veraltete Artikel aus der nn Datenbank werfen # (nicht noetig 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> Vince Skahan hat etwas mit <tt>nn</tt> als NNTP-basierter News-Reader experimentiert. Bei dieser Konfiguration muß <tt>config.h</tt> leicht modifiziert werden. Die Kommentare in der Datei sollten aussagekräftig genug sein. Als NNTP-basierter News-Reader, nn startet 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 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 höchste empfohlen, da man CPU-Zeit spart und die Datenbank und die tatsächlichen Artikel sind immer abgeglichen. <sect1>Andere News Reader <p> Es folgt eine Liste weiterer News-Reader unter Linux ohne Anspruch auf Vollständigkeit. <itemize> <item>tass <item>xrn <item>gnus </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, Arjan de Vet Falls jemand vergessen wurde, so bitten wir um Entschuldigung. <sect>Frequently Asked Questions über das USENET (aus c.o.l.*) <p> <sect1>Warum kann ich keine Artikel in moderierte Gruppen posten ? <p> Vermutlich, weil der News Reader versucht über <tt>/bin/mail</tt> zu posten und es nicht mag. Ersetze das /bin/mail aus älteren SLS Distributionen mit der <tt>mailx-5.5.tar.gz</tt> Portierung einer neueren 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 irgend jemand (nicht eine Person, sondern System Software) auf dem Weg in die Öffentlichkeit löscht. Es ist sicherzustellen, das "checkgroups" sofort gestartet wird und dann immer, wenn der "checkgroups" Artikel alle paar Wochen in <tt>news.admin</tt> einläuft. <sect1>Warum scheine ich Probleme mit Zugriffsrechte zu haben ? <p> Es scheint nicht nur so :-) Überprüfe, ob die Zugriffsrechte korrekt sind und das 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> sollte <tt>news.news</tt> mit der Ausnahme von <tt>/usr/lib/news/setnewsids</tt>. 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 hast Du die <tt>sys</tt> Datei editiert und durcheinander gebracht. Vielleicht gibt es keine <tt>/var/spool/news/out.going</tt> Verzeichnishierarchie oder ähnliches. Vielleicht hast Du ein Paket installiert mit dem 'Performance' oder 'Cleanup' Release von CNews. Diese packen die Artikel in Pakete und benötigen <tt>newsrun</tt> um diese Batches lokal einzusortieren oder an andere Server zu füttern. Erzeuge keine News-Gruppen durch das Editieren der <tt>active</tt> oder <tt>sys</tt> Datei. 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 angenommen wird, daß es unter Linux Plug-and-Play ist und weil ich das SLS News Paket nicht auf die doppelte Größe aufblasen wollte und dann beide Versionen - nntp und nicht-nntp - der News-Reader und der News Transport Software zu pflegen habe. Außerdem wird beim Übersetzen lokale Information verwendet, die zur Laufzeit nicht durch eine Konfigurationsdatei ersetzt werden kann. <sect1>Warum beschwert sich doexpire (oder relaynews oder ...) mit "severe space shortage" obwohl ausreichend Platz vorhanden ist? <p> Weil es <tt>/etc/mtab</tt> nicht lesen kann, als Zugriffmodus wird 644 benötigt. Das kann passieren, wenn man ein gemountetes Filesystem von <tt>root</tt> unmounted und 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 hatten einen "kaputten" sed, der CNews regelmäßig in die ewigen Jagdgründe schickte. Falls die Software über einer alten SLS Distribution installiert wurde, dann sollte in <tt>/bin</tt> bzw. <tt>/usr/bin</tt> nur ein einziger moderner sed vorhanden sein. Seit dem 'Performance Release' im Februar 1993 muß außerdem <tt>newsrun</tt> regelmäßig zur Arbeit herangezogen werden, am besten über cron. Dieses feature hat auch schon einige Leute überrascht. <sect1>Können trn/tin/nn News Overview (NOV) anstelle der verschiedenen unabhängigen 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 dem Performance und Cleanup Release von CNews und verschiedenen News-Readern. Die Beta von nn6.5 die ich einsetze hat NOV Unterstützung und arbeitet erstklassig unter Linux ohne nnmaster(!). Auf <tt>uniwa.uwa.edu.au</tt> sollte eine Kopie zu finden sein. <sect1>Warum gibt es keine binäre Distribution von NNTP ? <p> Weil ein beachtlicher Anteil an lokaler Information einkompiliert werden muß, die nicht auto-magically zur Laufzeit bestimmt werden kann. Wer damit Probleme hat sollte eher INN versuchen als CNews plus NNTP selber zu bauen. <sect1>Wie konfiguriere ich NNTP um read/post über das Netzwerk zu erlauben ohne irgendwelche Artikel oder Datenbanken lokal halten zu müssen? <p> (mdw@sunsite.unc.edu (Matt Welsh)) <enum> <item>Hole die "reference implementation" von nntp und eine Kopie von rn aus einem Archiv, z.B. <tt><htmlurl url="ftp://ftp.uu.net/networking/news/nntp/nntp.1.5.11.tar.Z" name="ftp.uu.net:/networking/news/nntp/nntp.1.5.11.tar.Z"></tt> <item>Übersetze nntp wie folgt: <p> Kopiere <tt>common/conf.h.dist</tt> nach <tt>common/conf.h</tt>. <p> Editiere <tt>common/conf.h</tt> um verschiedene Optionen zu setzen. Die einzigen, die ich setzen mußte, waren: <p> DOMAIN: Definition löschen (z.B. ändern in <tt>#undef DOMAIN</tt>). <p> REALDOMAIN: Muß definiert sein. Es sucht nach der Domäne unter Verwendung der Libraries. <p> SERVER_FILE: Muß auf den Namen der Datei gesetzt sein, die den Hostnamen des News Servers enthält. Das ist z.B. die Maschine durch die News gelesen und gepostet werden. Ich verwende <tt>/usr/local/lib/news/server</tt>. <p> PASSFILE: Wenn der News Server zum Posten Passwort Authorisierung benötigt (also etwas wie Benutzername/Password), dann wird hier der Name der Datei hinterlegt, die die Benutzernamen und Passwörter enthalten (s.u.). Ich verwende <tt>/usr/local/lib/news/nntppass</tt>. <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. ACTIVE_FILE, NEWSGROUPS_FILE usw.) auch auf /usr/local/lib/news/... 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> Erzeuge einen Benutzer <tt>usenet</tt> wenn es noch nicht geschehen ist. Das Programm inews läuft unter dieser Kennung. Es wird lediglich die Benutzerkennung benötigt, ein Home Verzeichnis, eine Shell oder anderes ist nicht notwendig. Es genügt folgender Eintrag in <tt>/etc/passwd</tt>: <verb> usenet:*:13:1::/: </verb> Stelle sicher, daß die userid (hier "13") eindeutig ist. Die Gruppe kann irgend etwas sein, ich verwende <tt>daemon</tt> (gid 1). <item> Erzeuge 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: <verb> wonton.tc.cornell.edu </verb> <item> Erzeuge die <tt>PASSFILE</tt> Datei. Diese Datei enthält Zeilen der Form <verb> <server name> <username> <password> </verb> Nehmen wir an, der News Server (der aus SERVER_FILE) ist <tt>shoop.vpizza.com</tt> und zum Posten ist man als Benutzer <tt>news</tt> mit dem Passwort <tt>floof</tt> autorisiert. Dann steht in dem PASSFILE (ich verwende (I use /usr/local/lib/news/nntppass) die Zeile <verb> shoop.vpizza.com news floof </verb> <item>Schütze diese Datei und mach sie sicher! Das Inews Programm läuft als User <tt>usenet</tt>, also mache <tt>usenet</tt> zum Eigentümer dieses News Verzeichnisses und der <tt>nntppass</tt> Datei ebenfalls. <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> Dann kann niemand anderes diese Datei lesen. Nein, die Paßwörter in dieser Datei sind nicht verschlüsselt. <item>Jetzt gehe wieder in das nntp.1.5.11 Quellverzeichnis und starte <tt>make client</tt>. Hiermit wird die NNTP Version von inews erzeugt, welches das einzige Programm ist, welches der NNTP Klient verwendet. Als ich inews erzeugte war ein Bug in der Library. Der führte dazu, daß die Funktion <tt>uname()</tt> aus <tt>uname.c</tt> sich selbst in einer Endlosschleife selbst aufgerufen hat. Das sollte eigentlich behoben sein. Aber, falls inews zu hängen scheint und das System <em>extrem</em> langsam wird, dann 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 dann auch <tt>my_uname()</tt> aufrufen. Schick mir eine Mail, wenn dieses Problem auftauchen sollte. <verb> (Anm.des Autors - d.h. eine Mail an Matt, nicht an mich :-) ) </verb> <item>Starte <tt>make install_client</tt>. Das installiert die inews Software. Außerdem erzeuge einen Link von <tt>/usr/local/lib/news/inews</tt> nach <tt>/usr/local/bin/inews</tt>. Jetzt sollte ein fröhliches Posten (von Hand) möglich sein. Zum Testen kann man folgendes probieren. <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> Wenn alles funktioniert, dann sollte inews den Artikel posten. Du wirst es erfahren, da "test-responder" in <tt>misc.test</tt> der Adresse in Reply-To antworten werden. Aber bitte, schicke keine Test Artikel in eine echte Gruppe wie <tt>de.comp.os.linux.*</tt> :) </enum> </article>