

	\documentclass[a4paper,11pt]{article}
	\usepackage{ngerman}
	\usepackage[latin1]{inputenc}
	\setlength\parskip{\medskipamount}
	\setlength\parindent{0pt}
	\begin{document}

	
 % leafnode
 % Copyright Johnny Graber
 % Lizenz: GFDL
 % 
 % $Name: $
 % $Revision: 1.1.2.11 $
 % $Source: /cvsroot/selflinux/tutorial/advanced/netzwerk_advanced/andere_dienste/newsserver/leafnode_intro/leafnode_intro,v $
 % SelfLinux-0.7.2
 %
 % Diese Datei ist Teil von SelfLinux http://www.selflinux.de
 %
 %%% $Id: leafnode_intro,v 1.1.2.11 2002/12/05 21:21:29 jgraber Exp $

	\title{Leafnode - ein Newsserver unter Linux}


	
	    \author{Johnny Graber}
	    %\url{mailto:selflinux@jgraber.ch}
    

	\maketitle

	
	
	%\ref{../index.tex}
	
		%\ref{andere_dienste1.tex}
		Internet
		%\ref{News.tex}
		News
		%\ref{News-Server.tex}
		Server
	\ref{leafnode}

    \par{Layout}
    Johnny Graber
	    %\url{mailto:selflinux@jgraber.ch}
    
    	\par{Lizenz}
	GFDL
 
	\tableofcontents{}

        
	\section{Einleitung} \label{d51e55}
        
 

  \subsection{Was ist News?} \label{d51e60}
        
   

 
  \par
  
News ist ein alter Dienst des Internets. Schon lange vor dem WWW wurden
kleine Textbotschaften ausgetauscht. Über das Usenet wurden und werden
auch heute noch diese Nachrichten einer grossen Masse von Leuten zugänglich
gemacht.
 

 
  \par
  
Das Usenet ist streng hierarchisch aufgebaut, was erst ein Zurechtfinden
darin ermöglicht. Damit man nicht von der Menge der Nachrichten erschlagen
wird, ist das Usenet in Gruppen unterteilt. Eine Gruppe in Deutsch wird
meistens mit {\bf de.*} beginnen. \linebreak 
Eine deutsche Linuxgruppe findet man z.B. unter {\bf de.comp.os.unix.linux.misc}.
Dabei steht {\bf de} für deutsch, {\bf comp} für Computer, {\bf os.unix} weil es um
Betriebssysteme auf Unixbasis geht und {\bf linux.misc}, also Verschiedenes zum 
Thema Linux, ist schliesslich unser Ziel. Durch diese feine Gliederung kann 
der Newsfluss einigermassen gebändigt werden.
 

 
  \par
  
Da so viele Leute im Usenet unterwegs sind, wird sehr viel Wert auf das
Einhalten von Regeln gelegt. Da diese Regeln den Umfang dieses Dokumentes
sprengen würden, erfolgt hier nur ein Verweis auf entsprechende Webseiten
oder Gruppen:
 

 \begin{list}{*}{}
  
	\item http://www.kirchwitz.de/\~{}amk/dni/usenet-einfuehrung
  
	\item http://www.kirchwitz.de/\~{}amk/dni/erste-schritte
  
	\item http://www.kirchwitz.de/\~{}amk/dni/erst-lesen-dann-schreiben
  
	\item de.newusers.infos
  
	\item de.newusers.questions
 \end{list}


\subsection{Warum einen eigenen Server?} \label{d51e118}
        
 


 
  \par
  
Es gibt viele Gründe, die für einen eigenen Server, und auch etliche, 
dagegen sprechen. In der heutigen Zeit spielt die Grösse des Datentransfers
oft keine wichtige Rolle mehr. Da außerdem immer mehr Newsreader unter Linux 
ohne
lokalen Newsserver zurecht kommen, könnte man darauf verzichten.
 

 
  \par
  
Ein lokaler Newsserver bietet aber Vorteile. Benutzen mehrere Leute
einen Computer und lesen in den gleichen Gruppen, müssen die Daten nur einmal
übertragen werden. Wenn man ganze Gruppen längere Zeit verfügbar haben will,
kann man dies nur bei einem eigenen Server einstellen (jeder Provider löscht 
nach
gewisser Zeit die News). \linebreak 
Ein weiterer Pluspunkt für einen eigenen Server ist natürlich der
Lernfaktor. Man erfährt nicht nur etwas mehr über das Usenet, sondern kommt
auch Linux näher.
 

 

\subsection{Wieso gerade Leafnode?} \label{d51e132}
        
 


 
  \par
  
{\bf Leafnode} ist ein relativ einfach zu bedienender Newsserver.
{\bf Leafnode} verhält
sich gegenüber dem Newsserver des Providers wie ein Newsreader. Dadurch fallen
viele komplexe Kommandos und Einstellungen weg. \linebreak 
Dies fordert aber auch Kompromisse. So kann man z.B. keine eigenen Newsgroups
erstellen. Da dies von den meisten Benutzern aber eh nicht angestrebt wird,
stört es auch nicht. Wenn man dennoch darauf angewiesen ist, empfiehlt sich
der Newsserver {\bf INN}. 
 




\subsection{Vorarbeiten} \label{d51e156}
        
 


 
  \par
  
Aus Gründen der Sicherheit sollte {\bf leafnode} nicht als root
sondern als Benutzer
news laufen. Wenn news noch nicht existiert, muss dieser angelegt werden. Dies
geschieht am Besten über das entsprechende Tool der gewählten Distribution.
 

\section{Installation und Konfiguration} \label{d51e172}
        
 

 \subsection{Download} \label{d51e177}
        
 

 
  \par
  
Bevor man mit der Installation beginnen kann, muss man sich
{\bf leafnode} natürlich
zuerst einmal besorgen. Wenn keine aktuelle Version mit der Distributions-CD
mitgekommen ist, kann man Leafnode von http://www.leafnode.org herunterladen.
 

 
  \par
  
Wenn man {\bf leafnode} nicht über das distributionsspezifische
Installationstool
installieren kann, muss man dies halt von Hand machen. Es empfiehlt sich dabei
die Verwendung eines RPM-Paketes. \linebreak 
Es ist wichtig, dass ein zur Distribution gehörendes RPM heruntergeladen wird.
Wenn RPMs gemischt werden, kann dies zu grösseren Problemen führen. Ein RPM
für Mandrake wird kaum auf SuSE laufen. Dies ist darin begründet, dass die
Pfade zu Programmen und Diensten nicht gleich sind.
 

 



\subsection{Installieren} \label{d51e200}
        
 

 
  \par
  
Je nach grafischer Oberfläche für RPM erfolgt die Installation unterschiedlich.
Da dies keine Probleme bereitet, beschreibe ich hier den Weg über die Konsole.
 

 
  \par
  
Als erstes wechselt man mit cd in das Verzeichnis, indem das Leafnode RPM liegt.
Da {\bf rpm} nur als root funktioniert, wechselt man mit Hilfe von
{\bf su} den Benutzer.
Über den Befehl {\bf rpm -ihv leafnode.rpm} wird das Paket
installiert. leafnode.rpm
muss natürlich vorher durch den entsprechenden Namen ersetzt werden.
 

 
  \par
  
Hier währe ein ausführliches Beispiel. Es wird davon ausgegangen, das sich das
RPM-Packet im Verzeichnis download liegt:

  
   \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
cd download
    \end{scriptsize} \end{tt} \linebreak 
   \begin{tt} \begin{scriptsize} user@linux \~{}/download/ \$ 
su
    \end{scriptsize} \end{tt} \linebreak 
   \begin{tt} \begin{scriptsize} <passwort>\linebreak\end{scriptsize} \end{tt} \linebreak
    \begin{tt} \begin{scriptsize} root@linux \~{}/download/ \# 
rpm -ihv leafnode.rpm
    \end{scriptsize} \end{tt} \linebreak 
  
 
  \par
  
Wenn dies ohne Fehlermeldung funktioniert hat, ist
{\bf Leafnode}
nun installiert.
Damit ist es aber noch nicht getan. {\bf Leafnode} ist ein
Netzwerkdienst und muss
daher über ein Netzwerk - und sei es nur ein lokales - erreichbar sein. Da
alles, was mit Netzwerk zu tun hat, vom inetd (Internet Daemon) oder xinetd
(Weiterentwicklung von inetd) gestartet werden kann, muss leafnode noch dort
eingetragen werden.
 

 
  \par
  
Je nach Verwendung von {\bf inetd} oder {\bf xinetd} 
muss für die weitere Installation
die entsprechende Anleitung verwendet werden.
 

 
  \par
  
Nach der entsprechenden Konfiguration kann zur Kontrolle über
{\bf telnet} eine
Verbindung zu leafnode aufgebaut werden.

  
   \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
telnet localhost nntp
    \end{scriptsize} \end{tt} \linebreak 
   \begin{tt} \begin{scriptsize} Trying 127.0.0.1...\end{scriptsize} \end{tt} \linebreak
   \linebreak\begin{tt} \begin{scriptsize} Connected to localhost.localdomain (127.0.0.1).\end{scriptsize} \end{tt} \linebreak
   \linebreak\begin{tt} \begin{scriptsize} Escape character is '^]'.\end{scriptsize} \end{tt} \linebreak
   \linebreak\begin{tt} \begin{scriptsize} 200 Leafnode NNTP Daemon, version 1.9.19 running at jgraber.ch\end{scriptsize} \end{tt} \linebreak
  

Wenn eine solche Meldung kommt, hat es geklappt. Bei Fehlermeldungen sollte
man als erstes nachsehen, ob alle genannten Dateien news gehören.
 





\subsection{inetd} \label{d51e283}
        
 

 
  \par
  
Wenn die Distribution {\bf inetd} verwendet, müssen wir die Datei
/etc/inetd.conf
bearbeiten. In dieser Datei sollte es bereits einen auskommentierten Eintrag
für nntp geben. Diese Zeile muss gesucht und das \# am Zeilenanfang entfernt
werden. Die entsprechende Zeile sollte danach so aussehen (Pfade sind
natürlich wieder anzupassen):

  \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
/etc/inetd.conf
   \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
   
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
   
   \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

Nachdem diese Änderung gespeichert wurde, hat {\bf inetd} diese 
aber noch nicht übernommen. Erst mit der Eingabe von

  
    \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
killall -HUP inetd
    \end{scriptsize} \end{tt} \linebreak 
  

als root wird das Konfigurationsfile neu eingelesen.
 



\subsection{xinetd} \label{d51e313}
        
 

 
  \par
  
xinetd ist, wie wir gleich bemerken werden, komplett anders aufgebaut als inetd.
Wir wechseln ins Verzeichnis /etc/xinetd.d und finden dort je nach RPM-Paket
bereits eine Datei mit Namen leafnode. Diese Datei sollte so aussehen:
 

  \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
/etc/xinetd.d/leafnode
   \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
    
service nntp
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = news
        server          = /usr/sbin/leafnode
        log_on_failure  += USERID
}
# End of nntp   
    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

 
  \par
  
Ist diese Datei nicht vorhanden, muss sie manuell erstellt werden.
 

 
  \par
  
Damit die Konfigurationsdatei neu eingelesen wird, muss nachher dieses
Kommando ausgeführt werden:

  
    \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
/etc/init.d/xinetd reload
    \end{scriptsize} \end{tt} \linebreak 
  
 




\subsection{Konfiguration Leafnode} \label{d51e345}
        
 

 
  \par
  
Konfiguriert wird Leafnode über die Datei /etc/leafnode/config.
 

  \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
/etc/leafnode/config
   \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
   

## This is the NNTP server leafnode fetches its news from.
## You need read and post access to it. Mandatory.
server = <servername>

## Unread discussion threads will be deleted after this many days if
## you don't define special expire times. Mandatory.
expire = 20

##
## All the following parameters are optional
##

## I have free access to my news server. If you don't have, comment out
## the following two lines and change them accordingly.
#username = <benutzername>
#password = <passwort>
   
   \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

 
  \par
  
Wie wir sehen, ist das Config-File sehr gut dokumentiert. Für Leafnode sind
eigentlich nur die ersten 2 Parameter notwendig: server und expire.
 

 
  \par
  
Bei server muss \verb+<+servername\verb+>+ durch den entsprechenden Server ausgetauscht
werden.
expire definiert die Aufbewahrungszeit der Newsartikel. Vorgegeben sind 20 Tage,


was aber beliebig geändert werden kann. Man sollte aber beachten, dass mehr Tage
mehr Postings bedeuten und diese wiederum mehr Platz beanspruchen.
 

 
  \par
  
Falls der Newsserver eine Identifizierung durchführen will, muss das \# vor
username und passwort entfernt und die entsprechenden Werte eingetragen werden.
 

 
  \par
  
Da das Passwort im Klartext vorliegt, muss nach dem Ändern die Datei auf den
Benutzer news übertragen werden.
 

  
    \begin{tt} \begin{scriptsize} root@linux /etc/leafnode// \# 
chmod 600 config
    \end{scriptsize} \end{tt} \linebreak 

    \begin{tt} \begin{scriptsize} root@linux /etc/leafnode// \# 
chown news config
    \end{scriptsize} \end{tt} \linebreak 

    \begin{tt} \begin{scriptsize} root@linux /etc/leafnode// \# 
chgrp news config
    \end{scriptsize} \end{tt} \linebreak 

    \begin{tt} \begin{scriptsize} root@linux /etc/leafnode// \# 
ll
    \end{scriptsize} \end{tt} \linebreak 

   \begin{tt} \begin{scriptsize} -rw---------\verb+  +\verb+  +1 news\verb+  +\verb+  + news\verb+  +\verb+  +\verb+  +\verb+  + 4468 Dez 26 17:34 config\end{scriptsize} \end{tt} \linebreak
  



\subsection{Feinabstimmung von Leafnode} \label{d51e393}
        
 

 
  \par
  
Wer mit Leafnode in der Standardkonfiguration nicht zufrieden ist, kann bei
der Feinabstimmung noch viel erreichen. Dazu öffnet man wieder die Datei
/etc/leafnode/config.
 

 
  \par
  
Wenn man ein wenig tiefer nachschaut als wir es oben getan haben, findet man
noch eine grosse Anzahl von Variablen. Auf die wichtigsten gehe ich hier nun
ein:

 
  \par
  
hostname = \verb+<+Domain in der MID, die von {\bf leafnode} angehängt
wird\verb+>+
 

 
  \par
  
maxfetch = n  \linebreak 
Maximal n Postings pro Group auf einmal abholen
 

 
  \par
  
initialfetch = n  \linebreak 
Beim abonnieren einer Newsgroup nur n Postings abholen
 

 
  \par
  
maxcrosspost = n  \linebreak 
Nur Postings abholen, die in max. n Groups gepostet werden
 

 
  \par
  
maxage = n  \linebreak 
Nur Postings die nicht älter als n Tage sind abholen
 

 
  \par
  
maxlines = n  \linebreak 
Nur Postings mit max. n Zeilen Länge abholen
 

 
  \par
  
maxbytes = n  \linebreak 
Nur Postings bis zu einer Größe von n Bytes abholen
 

 
  \par
  
timeoutshort = n  \linebreak 
Wenn versehentlich eine Group geöffnet wurde, nur n Tage diese
Gruppe abholen. Default sind 2 Tage
 

 
  \par
  
timeoutlong = n  \linebreak 
wenn eine Gruppe n Tage nicht mehr gelesen wurde, werden keine
News aus dieser Gruppe mehr abgeholt
 
 


 
Wie oben schon erwähnt muss an diesen Variablen nichts geändert werden. Sie
dienen nur zur Feinabstimmung und die Default-Werte sind für die meisten
Benutzer in Ordnung.
 

 
\subsection{fetchnews und texpire} \label{d51e454}
        
 

 
  \par
  
{\bf fetchnews} und {\bf texpire} sind zwei Programme
für den Unterhalt von {\bf leafnode}. Ohne
die beiden ist {\bf leafnode} relativ nutzlos.
 

 
  \par
  
{\bf fetchnews} dient, wie der Name verrät, zum Herunterladen der 
News. Der erstmalige
Aufruf von {\bf fetchnews} lädt die Liste der Newsgroups vom Server 


herunter. Ist
dies getan, besorgt er die Newsartikel. Da diese Arbeit je nach Server und 
Gruppe
länger dauern kann, bietet {\bf fetchnews} die Option
{\bf -v} zur Anzeige der aktuellen
Arbeit. {\bf -v} steht für verbose (ausführlich) und kann durch die
Anzahl {\bf -v}s
gesteigert werden.

  
    \begin{tt} \begin{scriptsize} root@linux /etc/leafnode// \# 
fetchnews -vvv
    \end{scriptsize} \end{tt} \linebreak 
  

liefert eine angenehm ausführliche Liste.
 

 
  \par
  
{\bf texpire} dient zum Löschen veralteter News. Die News werden
von {\bf leafnode} solange
aufbewahrt, wie in /etc/leafnode/config unter expire eingestellt ist. Ist diese
Zeit überschritten, werden die News von {\bf leafnode} intern
entsprechend markiert und
beim nächsten ausführen von {\bf texpire} gelöscht.
 

 
  \par
  
Der Datenmenge in den Newsgroups entsprechend häufig muss
{\bf texpire} ausgeführt
werden. Wenn nur wenig gepostet wird, nutzt das tägliche
{\bf texpire} nicht sehr viel.
Bei einer grossen Flut von Nachrichten wird man aber mit einem wöchentlichen
{\bf texpire} auch nicht glücklich. Nach einigen Versuchen wird man

aber einen für
sich passenden Rhythmus finden.
 

\section{Einrichten des Newsreaders} \label{d51e533}
        

 

 
  \par
  
Wenn {\bf leafnode} richtig konfiguriert wurde und
{\bf fetchnews} die Liste mit Gruppen geholt
hat, kann man zum Einrichten des Newsreaders übergehen. Da es unzählige
Newsreader gibt, beschränke ich mich hier nur auf die grundlegenden
Einstellungen. Für detaillierte Informationen zum selber benutzten Reader
empfiehlt sich ein Blick in die dazugehörende Hilfe.
 

 
  \par
  
Meist wird der Newsreader unter Einstellungen die Newsserver verwalten. Dort
fügt man einen neuen Server hinzu. Ins Feld für die Serveradresse kann man
localhost oder 127.0.0.1 eingeben (beide Angaben führen zum gleichen Ergebnis).
Als Port sollte man 119 verwenden, da {\bf inedt/xinetd} darauf auf 


Verbindungen zu
{\bf leafnode} warten.
 

 
  \par
  
Nach dem erfolgreichen Erfassen des Servers muss man die Gruppenliste holen.
Diese kommt nun nicht vom Newsserver des Providers, sondern von 
{\bf leafnode} (der
diese mit {\bf fetchnews} vom Provider geholt hatte). Da so eine
Liste mehrere MB gross
sein kann, ist man sehr froh, wenn diese nur einmal übertragen werden muss.
 

 
  \par
  
Der Newsreader liest diese Liste ein, und man kann mit dem Abonnieren der 
Gruppen
beginnen. Nun weiss der Reader was wir lesen wollen, allerdings hat 
{\bf leafnode}
davon noch nichts mitbekommen. Wenn man eine der gerade abonnierten Gruppen
öffnet, sieht man einen Beitrag mit Titel ''Leafnode placeholder for group
\verb+<+gruppenname\verb+>+''. Nun muss man diesen Beitrag öffnen und findet eine kurze
Erklärung über den Sinn dieses Postings. Durch das lesen dieses Postings hat
{\bf leafnode} erfahren, dass wir uns für diese Gruppe 
interessieren. Beim nächsten
Aufruf von {\bf fetchnews} wird er uns die dazugehörigen Postings
holen.
 

 
  \par
  
Wenn man sich eine Übersicht über die von {\bf leafnode} betreuten
Gruppen holen will,
sollte in den meisten Fällen folgender Befehl genügen:
 

 
  \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
\$ ls -l /var/spool/news/interesting.groups/
   \end{scriptsize} \end{tt} \linebreak 
  \begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 27 16:53 de.comp.os.unix.apps.gnome\end{scriptsize} \end{tt} \linebreak
  \linebreak\begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 27 16:53 de.comp.os.unix.apps.kde\end{scriptsize} \end{tt} \linebreak
  \linebreak\begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 27 16:53 de.comp.os.unix.apps.misc\end{scriptsize} \end{tt} \linebreak
  \linebreak\begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 26 17:54 de.comp.os.unix.linux.infos\end{scriptsize} \end{tt} \linebreak
  \linebreak\begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 26 17:54 de.comp.os.unix.linux.misc\end{scriptsize} \end{tt} \linebreak
  \linebreak\begin{tt} \begin{scriptsize} -rw-rw-r--\verb+  +1 news\verb+  + news\verb+  + 0 Dez 27 13:24 de.comp.os.unix.linux.moderated\end{scriptsize} \end{tt} \linebreak
 


 
  \par
  
Die darin aufgelisteten Gruppen hat man abonniert, und
{\bf leafnode} kümmert sich darum.
 


\section{Automatisieren von Aufgaben} \label{d51e617}
        

 

 \subsection{Alte News löschen} \label{d51e622}
        

  

  
  \par
  
Man kann {\bf texpire} zwar manuell aufrufen, doch ist dies auf die

Dauer mühsam. Da
Linux viele Dinge für einen automatisch machen kann, soll es doch auch die alten
News löschen.
  

  
  \par
  
Mit Hilfe von {\bf Cron} müssen wir uns nur einmal ein paar Minuten

Zeit nehmen und dann
klappt dies automatisch. Da bisher immer news alles machen sollte, soll er nun
auch
wieder zum Zuge kommen. Als root führen wir folgenden Befehl aus:
  

  
    \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
crontab -u news -e
    \end{scriptsize} \end{tt} \linebreak 
  

  
  \par
  
Dieser Befehl öffnet die bestehende crontab von news zum Editieren. Darin fügen
wir auf der nächsten freien Zeile folgendes hinzu:
  

  \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
crontab von news
   \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
   
0 20 * * * /usr/sbin/texpire
   
   \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

  
  \par
  
Damit wird jeden Tag um 20 Uhr der Befehl /usr/sbin/texpire ausgeführt. Da wir
uns
in der Crontab von news befinden, müssen wir den Benutzer nicht noch explizit
angeben.
  

  

  \par
  	  
Hinweis zu {\bf vi}: \linebreak 
Standardmässig wird der Editor VI verwendet. Wer sich damit nicht auskennt,
bekommt
hier eine kleine Erklärung: \linebreak 
Um zu editieren, müssen wir über {\bf Insert}
 in den Schreibmodus wechseln.
Nach dem Editieren wechseln wir mit {\bf ESC}
 in den Kommandomodus. Der Befehl {\bf :wq}
speichert die Änderung und schliesst {\bf vi}.


  \par
  
Weitere Informationen findet man im Kapitel Editoren 
hier 
bei SelfLinux.


 


 \subsection{Automatisch News holen} \label{d51e696}
        

  

  
  \par
  
Um fetchnews automatisch ausführen zu lassen, empfiehlt sich die Datei
/etc/ppp/ip-up. ip-up wird jedes Mal nach dem Aufbau einer Dial-up
Verbindung ausgeführt.
  

  
  \par
  
Dieser Datei müssen nur die folgenden 2 Zeile hinzugefügt werden, und schon 
sollte es
funktionieren:
  

  \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
/etc/ppp/ip-up
   \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
   
# neue News von Newsserver holen
/usr/sbin/fetchnews
   
   \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

  \subsubsection{Leafnode und Standleitungen} \label{d51e716}
        
   

   
  \par
  
Wenn man über eine Standleitung oder eine Flatrate permanent eine Verbindung 
zum
Internet hat, so wird man nur wenig Freude an ip-up haben. Da macht
{\bf Cron} schon
mehr Sinn. Also editieren wir nochmals als root die crontab von news:
   

   
     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
crontab -u news -e
     \end{scriptsize} \end{tt} \linebreak 
   

   
  \par
  
Nun können wir dort eintragen, wann fetchnews ausgeführt werden soll. Durch
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
crontab von news
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
    
15 * * * * /usr/sbin/fetchnews
    
    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

   
  \par
  
wird fetchnews jeweils um x:15 ausgeführt.(Also 12:15, 13:15, 14:15 usw). Wenn
dies nicht genügt, können natürlich noch weitere Einträge gemacht werden.
   
  
 


	\ref{inhalt.tex}


	\end{document}
	
