Bevor mit der eigentlichen Konfigurationsarbeit begonnen werden kann muß
sichergestellt werden, daß das komplette Netzwerk-Paket vorhanden ist.
Das umfaßt eine aktuelle Kernelversion (1.0 oder neuer), die richtigen
Libraries, die TCP/IP Konfigurationsprogramme und -Dateien wie
z.B. /sbin/ifconfig
und /etc/hosts
, und schließlich
auch eine Reihe von Anwendungsprogrammen wie telnet
,
ftp
, rlogin
usw.
Wer ein komplettes Linux-System über einen Distributor bezogen hat, besitzt höchstwahrscheinlich schon alles, was er benötigt. Viele Linux-Distributionen sind von vorneherein mit den notwendigen Konfigurationsdateien, ausführbaren Programmen, Bibliotheken und Kernelversionen ausgestattet. Dann erübrigt es sich, sich die folgenden Dateien zu besorgen.
ACHTUNG: Es kann durchaus sein, daß sich manche Dateien an einer anderen als der in diesem HOWTO angegebenen Stelle im Verzeichnisbaum befinden.
Wer bereits die vollständige Netzwerk-Software besitzt, kann jetzt direkt zum Abschnitt Kernelkonfiguration weitergehen. Alle anderen sollten die folgenden Anweisungen befolgen.
Die Versionen 1.2.x des Linux-Kernels sind die stabilen Versionen, sie werden auch gerne als `Production Release' bezeichnet. Die Kernels 1.3.*, und allgemein alle Kernels mit ungerader zweiter Ziffer, sind Entwicklerversionen. Wer keine Lust hat, sich mit dem Einspielen von Patches und Neukompilieren von Kernels zu befassen, sollte bei den stabilen Versionen bleiben. Dennoch, gerade im Falle des Netzwerk-Codes kann ich nur jedem empfehlen, trotzdem den geringen Aufwand in Kauf zu nehmen und einen der aktuellen Releases zu verwenden, da gerade hier viele Veränderungen und vor allem Verbesserungen am Netzwerk-Code vorgenommen wurden. Es wird zwar immer und überall erwähnt, trotzdem: Wer einen neuen Kernel ausprobieren will, sollte eine aktuelle Sicherungskopie seines Systems besitzen, nur für den Fall das dabei etwas Schwerwiegendes daneben geht.
Die aktuelle Kernelversion kann gefunden werden auf
ftp.funet.fi:/pub/OS/Linux/PEOPLE/Linus/v1.2/linux-1.2.13.tar.gz
Es handelt sich um ein gezipptes TAR-Archiv, man benötigt deshalb das Programm gzip zum Wiederauspacken.
Zum Auspacken der Kernel-Quellcodes sollte man so vorgehen:
% cd /usr/src
% mv linux linux.old
% gzip -dc linux-1.2.13.tar.gz | tar xvf -
Im selben Verzeichnis befinden sich auch einige Dateien patch-1.2.1.gz ...
. Es handelt sich dabei um Patch-Dateien. Eine
Kernelversion 1.2.1 besagt z.B. daß es sich um die Version 1.2.0 mit dem
eingespielten Patch 1.2.1 handelt. Wenn sich also im Verzeichnis
Patch-Dateien befinden, deren Versionsnummer größer ist als die des
gegenwärtig installierten Kernels, so müssen alle diese
Patch-Dateien heruntergeladen und hintereinander eingespielt
werden. Dies geschieht jeweils mit dem Befehl
% cd /usr/src
% for patchfile in .../patch*
> do
> gzip -dc $patchfile | patch -p0 2>>patch.errs
> done
...
Die dabei erzeugte Datei patch.errs
muß dann nach dem Wort
fail
durchsucht werden. Taucht es nicht in dieser Datei auf,
ist der Patch einwandfrei abgelaufen. Andernfalls sollte man sich eine
Originale Kernelversion besorgen und die Patches einen nach dem anderen
einspielen, bis derjenige Patch gefunden ist, der den Fehler verursacht
hat. Erst wenn man nicht herausfinden kann, was schief gegangen ist,
kann man einen Fehlerbericht schreiben.
Es empfiehlt sich, mindestens die Version 4.4.2 der
libc
zu verwenden, da frühere Versionen einige Probleme mit
Subnet-Masken hatten.
Die aktuelle a.out-Version (libc-4.6.27) befindet sich auf:
sunsite.unc.edu:/pub/Linux/GCC/
Außerdem benötigt man mindestens folgende Dateien:
Vor der Installation der neuen libc-Version muß man unbedingt die Release-Notes release.libc-4.6.27 lesen. Außerdem sollten für libc-Versionen ab 4.6.26 mindestens GCC Version 2.6.2 und Kernelversionen ab 1.1.52 verwendet werden.
Auf jeden Fall wird das Paket der Hilfsprogramme zur Netzwerk-Konfigurierung benötigt. Die aktuelle Version bekommt man hier:
ftp.linux.org.uk:/pub/linux/Networking/PROGRAMS/NetTools/net-tools-1.2.0.tar.gz
Da sich der Netzwerk-Code im Kernel immer noch recht häufig ändert sind auch für diese Hilfsprogramme Anpassungen notwendig. Man muß sich deshalb die für den benutzten Kernel ausgewiesenen Pakete besorgen.
Die Dateinamen geben dabei die erste Versionsnummer des Kernels an, ab der die Programme funktionieren. Die richtige Datei ist also diejenige mit derselben oder der nächstkleineren Versionsnummer wie der benutzte Kernel.
Um die Hilfsprogramme zu kompilieren und installieren sollte man folgendes machen:
% cd /usr/src
% mkdir net-tools
% cd net-tools
% gzip -dc net-tools-1.2.0.tar.gz | tar xvf -
% make
Dadurch wird automatisch das Shell-Script Configure.sh
aufgerufen. Wenn der make-Prozeß erfolgreich beendet wird, beendet
% make install
die Installation.
Wer eine Kernel-Version vor 1.1.26 benutzt, sollte sich auch folgendes ansehen:
ftp.linux.org.uk:/pub/linux/Networking/PROGRAMS/Other/net032
In diesem Verzeichnis befinden sich drei Versionen der Netzwerk-Programme. Die folgende Tabelle zeigt, für welche Kernel-Versionen die jeweiligen Pakete gedacht sind:
net-0.32d-net3.tar.gz 1.1.12+
net-0.32b.tar.gz 1.1.4+
net-0.32.old.tar.gz vor 1.1.4
Die Pakete enthalten die wichtigsten Konfigurationsprogramme wie
ifconfig
, route
, netstat
usw. Deren Benutzung
wird später erläutert.
Selbstverständlich benötigt man auch eine Reihe von Applikationen, die
die Netzwerkfähigkeiten auch ausnutzen, wie z.B. telnet
,
ftp
oder finger
und ihre entsprechenden Dämonen.
Florian La Roche, (flla@stud.uni-sb.de
) hat eine sehr umfassende Distribution
dieser Programme zusammengestellt, die sowohl in Binärform wie auch als
Quellcode erhältlich ist. Die kompilierten TCP/IP-Applikationen und
einige beispielhafte Konfigurationsdateien befinden sich in:
ftp.funet.fi
/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-A-0.08.bin.tar.gz
/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-B-0.06.tar.gz
Es sollten jeweils die neuesten Versionen verwendet werden. Aber
unbedingt zunächst die Datei README
lesen um sicherzustellen,
daß das eigene System auch die notwendigen Voraussetzungen für die neue
Version erfüllt.
Die von Florian zusammengestellte Binär-Distribution (B-Datei) gibt es derzeit nicht mehr, deshalb müssen die Quellen selber kompiliert werden. Dies geschieht so:
% cd /usr/src
% gzip -dc NetKit-B-0.06.tar.gz | tar xpvlf -
% cd NetKit-B-0.06
Dann muß das Makefile
editiert und angepaßt werden. Die Datei
README
gibt hierzu Hinweise. Wichtig ist, daß die Variable
HAVE_SHADOW_PASSWORDS
richtig definiert wird.
Wer keine benutzt, sollte den entsprechenden Eintrag im Makefile durch
ein #
am Zeilenanfang auskommentieren. Der Rest sollte
nicht verändert werden müssen, deshalb genügt nun ein
% make
% make install
um die Installation abzuschließen.
Wichtiger Hinweis: Florian hat diese TAR-Archive
zusammengestellt und zur leichteren Installation mit den
net-tools-n.n.nn
auch ein vorkompiliertes Paket erstellt.
Leider hat er aber hierfür eine andere Verzeichnis-Struktur
zugrundegelegt als dies Alan bei der Zusammenstellung der
Installations-Scripte der net-tools tat. Dies bedeutet, daß man bei der
Installation besondere Vorsicht walten lassen sollte. Dies wird von
Florian demnächst angepaßt, so daß es auf Dauer kein Problem sein
wird. Aber bis dahin empfehle ich statt der oben angegebenen Prozedur
die folgende:
- Auspacken der Programme an einem sicheren Ort
% cd /usr/src
% mkdir NetKit
% cd NetKit
% gzip -dc NetKit-A-0.07.bin.tar.gz | tar xpvlf -
% gzip -dc NetKit-B-0.06.bin.tar.gz | tar xpvlf -
- Loeschen von Florians Versionen der erwaehnten Konfigurationsprogramme
% rm ./bin/hostname ./sbin/route ./sbin/ifconfig ./sbin/netstat
% rm ./usr/sbin/arp ./usr/sbin/rarp ./usr/sbin/slattach
- Kopieren der Programme in ihre endgueltigen Verzeichnisse
% cp -vrpd . /
Wer zusätzliche, im Alpha oder Beta Stadium befindlichen Code oder Treiber verwenden will oder muß, der noch nicht in der Standard-Distribution des Kernels mitaufgenommen wurde, muß die entsprechende Software separat besorgen und installieren. In den entsprechenden Abschnitten dieses HOWTO sind dazu genauere Angaben gemacht.