Home · Kontakt · Impressum
previous up next_inactive
Up: www.fibel.org

Linux.Fibel.org
Version 0.6.0

Ole Vanhoefer

 

Linux.Fibel.org

Einführung in Linux / LPI I

von Ole Vanhoefer

 

Copyright © 2001-2004 Ole Vanhoefer
Gesetzt mit LATEX unter Linux

 

Version 0.3 : 18. November 2001
Version 0.4 : 14. April 2002
Version 0.5 : 19. Januar 2003
Version 0.6.0 : 1. September 2004

Das Kleingedruckte

Dieses Skript ist wie alle Werke urheberrechtlich geschützt. Er ist jedoch unter den Bedingungen der Open Publication License, Version 0.4 oder höher verfügbar. Die genaue Lizenz findet sich in Open Publication License (siehe Anhang D, Seite [*]).

Wenn dieses Skript reproduziert oder verwendet wird, bittet der Autor um Meldung eines solchen Angebotes per eMail an linux$@$vanhoefer.de unter Angabe einer Kontaktadresse.

Die in diesem Skript dargestellten Programme und Verfahren werden ohne Berücksichtigung der Patentlage mitgeteilt. Sie sind nur für Amateur- und Lehrzwecke bestimmt.

Alle Informationen in diesem Skript sind frei erfunden. Ähnlichkeiten mit existierenden Betriebssystemen, Soft- und Hardware sind rein zufällig. Daher übernimmt der Autor keine Garantie, juristische Verantwortung oder irgendeine Haftung für Folgen, die auf Inhalte dieses Skriptes zurückgehen.

Ich weise darauf hin, daß die im Skript verwendeten Soft- und Hardwarebezeichnungen und Markennamen der jeweiligen Firmen i. A. warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Die Nutzungsrechte der in diesem Skript wiedergegebene Codezeilen von Programmen, die unter der GNU General Public License verbreitet werden, richtet sich einzig und allein nach den Bedingungen der GNU General Public License.

 


Inhalt

Vorwort

 
In a world without walls and fences,
who needs windows and gates?
 

 
Anonymous
 

Dieses Skript ist als Begleitmaterial zu meinem Unterricht ``Einführung in Linux'' und den Vorbereitungskursen zu den LPI-Prüfungen 101 und 102 entstanden. Schwerpunkt des Unterrichts ist eine Einführung in die Grundbedienung von Linux, wie sie dem Stoffplan der ersten LPI-Prüfung entspricht. Der Stoff der Prüfung 101 wird fast vollständig abgedeckt. Viele Themen der Prüfung 102 sind auch bereits vorhanden

Das Skript ist einmal als Begleitmaterial zum Unterricht entstanden, da es noch kein passendes Buch zur LPI-Prüfung in Deutsch gibt, zum anderen als meine Vorbereitung für die Prüfungen 101 und 102, die ich auch erfolgreich abgelegt habe.

Dieses Skript befindet sich wie immer in der Entwicklung und wird in Zukunft um einige Themen erweitert werden.

Im Vergleich zur Version 0.5 hat sich der Umfang der Fibel von ca. 350 Seiten auf ca. 500 Seiten erhöht. Viele Themen sind dazu gekommen. Einige sind noch recht frisch, so daß sicherlich noch ein paar Fehler drin versteckt sind und ein paar Brüche im Kontext. Trotzdem möchte ich diese Version nun veröffentlichen, da sich vieles getan hat. Für Anregungen und Fehlerkorrekturen bin ich sehr dankbar. Die Aufgaben sollten zum größten Teil mit den Grundvoraussetzungen einer SuSE-Linux-Distribution ab Version 8.0 gelöst werden können.

Besonders möchte ich bei meinen bisherigen Teilnehmern danken, die mich auf Fehler und Unstimmigkeiten aufmerksam gemacht haben und sich als Beta-Tester für die Aufgaben geopfert haben.

Bei Interesse an Linux-Seminare und LPI-Vorbereitungskursen können Sie mich gerne kontaktieren. Nun möchte ich Sie nicht weiter aufhalten und hoffe Sie haben viel Spaß beim Lesen.

Ole Vanhoefer
Kiel, 01.09.2004


1. Einführung


1.1 Was ist eigentlich Linux?

Linux ist ein 32-BitUnix-ähnliches Betriebssystem. Im Gegensatz zu den meisten anderen Unix-Systemen ist Linux inklusive der Programmquellcodes frei kopierbar. Inzwischen existiert eine Vielzahl von Anwendungen für Linux, so daß fast alle Aufgaben, die bisher auf Unix-, Windows- oder Apple-Systemen erledigt wurden, auch unter Linux zu meistern sind.

Ein Betriebssystem ist eine Sammlung von Programmen, mit denen die grundlegendsten Funktionen eines Rechners realisiert werden. Dies reicht von der Schnittstelle Mensch-Maschine über die Verwaltung der Daten bis zur Kontrolle und Steuerung der Systemressourcen. Ohne ein Betriebssystem können Sie mit Ihrem Rechner nicht arbeiten, da so wichtige Dinge wie das Starten von Programmen und die Verwaltung Ihrer Dateien davon abhängen.

Diese Funktionen stellen eigentlich alle Betriebssystem zur Verfügung. Somit werden Sie bei jeder Arbeit mit einem Betriebssystem konfrontiert, wie z. B. CP/M, DOS, Windows 9x, Windows NT, Windows 2000, Windows ME, Windows XP, OS/2, Mac-OS, Unix usw.

Linux basiert auf dem Betriebssystem UNIX, das 1969 von den Bell Laboratories entwickelt wurde. Der finnische Student Linus Benedict Thorvald entwickelte den ersten Linux Betriebssystemkern (Kernel) auf seinem 386er Rechner. Dabei nutzte er nicht den bestehenden Quellcode, sondern programmierte das Betriebssystem vollständig neu. Nach außen präsentiert sich Linux als UNIX-System, während es innen aus einem völlig eigenständigem Code besteht.

Thorvald stellte im September 1991 der Gemeinde der MINIX-Anhänger sein neues Betriebssystem in der Version 0.01 vor. Er entschloß sich dabei das Programm und den Quellcode frei weiterzugeben und anderen Programmierern die Arbeit an seinem System zu gestatten. Viele Programmierer begeisterten sich für Linux und schon im Januar 1992 wurde der erste stabile Kernel 0.12 ins Internet gestellt.

Eigentlich kann man nur den Kernel mit seinen Modulen und direkt dazugehörenden Daten als Linux bezeichnen. Daneben gibt es aber eine Vielzahl von Hilfsprogrammen und Applikationen, die zusammen mit dem Kernel in den sogenannten Distributionen vertrieben werden. Für diese Zusammenstellung hat sich der Name Linux nun eingebürgert.

1.1.1 Leistungsmerkmale des Kernels

Der aktuelle Kernel verfügt über folgenden Leistungsmerkmale:

1.2 Wie alles begann

Leider ist heute nicht mehr der Tag bekannt an dem Linus Benedict Torvalds1.1 mit der Entwicklung des Linux Kernels begann. Ein Posting aus dem Usenet gibt aber einen Hinweis auf den möglichen Zeitpunkt, an dem er sich für das Thema zu interessieren begann.

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) 
Newsgroups: comp.os.minix 
Subject: Gcc-1.40 and a posix-question 
Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI> 
Date: 3 Jul 91 10:00:50 GMT 
Hello netlanders, 
Due to a project I'm working on (in minix), I'm interested in the posix 
standard definition. Could somebody please point me to a (preferably) 
machine-readable format of the latest posix rules? Ftp-sites would be 
nice.

Sicher ist, daß die erste Version des Linux Kernels am 25. August 1991 im Usenet angekündigt wurde. Schon kurze Zeit später fanden sich interessierte Programmierer, die an dem Projekt mitgearbeitet haben.

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.

1991
Als erster genaue Termin steht der 3. Juli 1991 fest. Linux implementiert einige Gerätetreiber sowie den Festplattentreiber und einige User-Level Funktionen.

Linus veröffentlicht am 17. September 1991 die Version 0.01 des Kernels für einige Interessenten aus dem Usenet. Das Archiv mit der historischen Version ist auch heute noch verfügbar:
http://www.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz.

Die erste ``offizielle'' Version des Linux Kernels (0.02) erscheint am 05. Oktober 1991. Mit dieser Version laufen bereits die bash, gcc, gnu-make, gnu-sed und compress.

Am 19. Dezember 1991 läuft die erste Version (0.11), die ohne die Hilfe eines anderen Betriebsystems lauffähig ist. Es gab keinen SCSI Support, so daß eine AT-Bus Festplatte Voraussetzung war. Es gab weder init noch login, nach den Systemstart landete man direkt in einer bash. Es gab Ansätze für die Implementierung von Virtual Memory, es waren aber mindestens 4 MB RAM notwendig um GNU Programme, insbesondere den gcc benutzen zu können. Ein einfacher Systemstart war aber auch schon mit 2 MB möglich.

Deshalb folgte für einige Personen eine Version mit virtueller Speicherverwaltung zu Weihnachten um den Kernel auch mit 2 MB RAM übersetzen lassen zu können.

1992
Bereits am 5. Januar kommt die erste Version (0.12) heraus, die mehr Funktionen hatte als unbedingt benötigt werden. Mit dieser Version wurde der Kernel unter die GPL gestellt. Die ältere Lizenz unter der der Kernel stand war in vielen Punkten deutlich strenger.

Linus verteilte diese per Anonymous-FTP im Internet, was zu einem sprunghaften Anstieg der Testerzahl führte. Da dieser Anstieg so groß wurde, daß die nötige Kommunikation nicht mehr per eMail zu bewältigen war, wurde im Usenet die Gruppe alt.os.linux geschaffen. Das Interesse an Linux wuchs stetig und wurde von Linus koordiniert.

Um die Entwicklung voranzutreiben erhöhte Linus die Entwicklungsnummer im März auf Version 0.95.

Die im April folgende Version 0.96 war die erste Version mit der es möglich war das X-Window System zu betreiben.

Man schätzt die Zahl der Anwender auf circa 1000.

Oktober: Version 0.98.2

1993
Die Zahl aller Programmierer steigt auf circa 100. Fünf von ihnen arbeiten mit Linus zusammen. Die Anwenderzahl beläuft sich auf etwa 20000.

Durch Anpassung des Linuxkernels an die GNU Umgebung der Free Software Foundation (FSF) wuchsen die Möglichkeiten von Linux erneut stark an, da man nun auf eine große Sammlung an vorhandener Software und Tools zurückgreifen konnte.

Dezember: Version 0.99.14

1994
Mit der ersten stabilen Linux Version (1.00) im März wurde der Kernel netzwerkfähig und die User-Zahl steigt auf 100.000 an. Linus stellt nun den Quelltext des Linuxkernels offiziell unter die GPL.

Ein weiterer wichtiger Schritt war die Adaption eines Graphical User Interfaces (GUI), des X-Window-Systems. Dieses wurde von dem Xfree86 Projekt beigesteuert.

April: Version 1.10

1995
Linux läuft nun auch auf DEC- und Sun Sparc-Prozessoren. Schätzungen belaufen sich auf rund eine halbe Millionen Anwender.

März: Version 1.20

Juni: Version 1.30

1996
Mit der neuen Version 2.0 des Linux-Kernels können nun mehrere Prozessoren gleichzeitig angesteuert werden. Linux verliert langsam seinen Bastlerstatus und wird zu einer ernstzunehmenden Alternative für Firmen.

Die Anwenderzahl hat sich auf rund 1,5 Millionen Benutzern erhöht.

Juni: Version 2.00

September: Version 2.10

1997
Neue Linuxversionen erscheinen fast wöchentlich. In verschiedenen Ländern existieren bereits Linuxmagazine. Die Anwenderzahl ist auf 3,5 Millionen Anwender gestiegen.

Verschiedene namhafte Firmen beginnen ihre Software auf Linux zu portieren. Netscape ihren Webbrowser, Applixware ihre Office Anwendung und die Software AG Ihre Datenbank Adabas D. Damit gibt es auch professionelle Software für Linux.

April: Version 2.1.35

1998
Das K Desktop Enviroment (kurz: KDE) wird gestartet.

Man schätzt die Anzahl der Programmierer von Linux auf 10.000, und die Anzahl der Anwender auf 7,5 Millionen.

März: Version 2.1.90

1999
Man tippt auf ungefähr 10 Millionen Anwender. Linus Torvalds kündigt den Angriff auf Windows an.

Januar: Version 2.20

Mai: Version 2.30

2000

2001
Januar: Version 2.4

2002

2003

2004

1.3 Grundlagen für die Installation

Vor der Installation wollen wir uns hier mit ein paar Grundlagen zur Hardware beschäftigen.

1.3.1 Hardwarevoraussetzungen

Für ein System ohne graphische Oberfläche können Sie sich an folgenden Werten orientieren.

Theoretisches Minimum 386 SX 1 MB  RAM 5MB  Festplatte
Brauchbares Minimum 386 DX/40 mit Coprozessor 8 MB  RAM 150 MB  Festplatte
Brauchbares System 486 DX/66 16 MB  RAM 600MB  Festplatte
Gutes System Pentium90 32 MB  RAM 1GB  Festplatte

Graphische Systeme machen erst ab einem 486 Prozessor Spaß und für ein KDE-System sollten es minimal 64 MB Arbeitsspeicher sein.


1.3.2 Die Festplatte

Vor der Installation sollten wir uns den Aufbau einer Festplatte bzw. Harddisk einmal anschauen. Eine Festplatte besteht meistens aus einer, zwei oder mehreren Metallplatten, die beidseitig mit hochfein polierten Metalloxiden beschichtet sind. Ein Kamm von beweglichen Schreib-Lese-Köpfen greift seitlich in den rotierenden Stapel von Platten hinein und kann so die in konzentrischen Kreisen angelegten Datenmuster lesen oder schreiben. Durch die hohen Drehzahlen der Festplatte entstehen gezielt Luftbewegungen. Der Schreib-Lese-Kopf wird in Richtung der Oberfläche gesaugt und in einem vordefinierten Abstand gehalten. Bei einem Strömungsabriss durch Änderung der Drehzahl entfernt sich der Schreib-Lese-Kopf wieder von der Oberfläche.

Diese System ist relativ stabil. Sollte es aber aus irgendwelchen Gründen zum direkten Kontakt des Kopfes mit den schnell drehenden Magnetplatten kommen, so ist das Ergebnis verheerend. Diesen Vorgang bezeichnet man auch als Headcrash. Die magnetisierte Oberfläche, welche die Daten trägt, wird unwiderruflich beschädigt. Das gleiche gilt für den Schreib-Lese-Kopf der Festplatte. Dieser Vorgang wird in Umgangssprache auch als Spanabhebende Datenverarbeitung bezeichnet. Das ist dann für die Daten der GAU, der wahrhaft größte anzunehmendste Unfall. Auch wenn es heute Möglichkeiten gibt, mit welcher man gelöschte Dateien wiederherstellen kann, sind mechanisch zerstörte Daten unwiederuflich verloren.

Die Festplatte beherbergt die magnetisierbaren Metallplatten, den Spindelmotor, den Schreib-Lese-Köpfen sowie den Positionierungsmechanismus der Köpfe in einem versiegelten Gehäuse, das vor äußeren Einflüssen schützt. Dieser Aufbau legt das Koordinatensystem der Festplatte fest, das die Lokalisierung der Daten auf der Platte ermöglicht. Der Kamm aus Schreib-Lese-Köpfen erzeugt konzentrische Kreise auf der Oberfläche der Magnetplatten. Einen solchen Kreis bezeichnet man als Spur. Die Spur 0 ist per Definition der äußerste Kreis einer Platte. Eine solche kreisförmige Spur wird dann in Kreissegmente unterteilt, die als Sektoren bezeichnet werden. Der Sektor ist die kleinste adressierbare Einheit einer Platte. Er ist 512 Bytes groß. Die übereinander liegenden Spuren eines Plattenstapels werden als Zylinder bezeichnet. Eine Festplatte mit drei Scheiben hat Zylinder, die aus sechs Spuren bestehen (Obere und untere Seite pro Scheibe). Eine Platte kann auf alle Spuren eines Zylinders zugreifen, ohne die Schreib-Lese-Köpfe neu zu positionieren.

Durch die Angabe von Zylinder, Kopf und Sektor kann man so genau einen Abschnitt einer Festplatte, den Block, adressieren. Diese Form der Adressierung wird als CHS (Cylinder-Head-Sector) bezeichnet. Der Block stellt die kleinste adressierbare Einheit einer Festplatte dar, d.h. zur Änderung eines einzelnen Bits muss immer ein ganzer Block gelesen und wieder geschrieben werden. CHS unterliegt mehreren Einschränkungen: Die Schnittstelle zwischen IDE und BIOS reserviert nur 16 Bits für die Zylinder (maximal sind 65.536 möglich), 4 Bits für die Köpfe (maximal 16) und 8 Bits für die Sektoren pro Spur (maximal 256). Das BIOS hat 10 Bits für die Zylinder zur Verfügung (1024), 8 Bits für die Köpfe (256) und 6 Bits für die Sektoren (63, da ab 1 gezählt wird). Bei diesen Grenzen ist jeweils der niedrigere Wert entscheidend, so daß alte BIOS-Versionen nur 1024 x 16 x 63 x 512 Bytes = 504 MB adressieren können. Neuere BIOS-Versionen stocken per Mapping die Anzahl der Schreib-/Leseköpfe auf 255 auf und kommen damit auf 7.844 GB.

Ende 1995 löste LBA (Logical Block Addressing) die Adressierung nach CHS ab. Hier werden der Zylinder, Head und Sektor in logischen Blöcken zusammengefaßt. Bei LBA sind alle Sektoren der Festplatte - von null beginnend - durchnumeriert. Das auf 28 Bit basierende LBA verwaltet maximal 128 GB. Aktuell ist die auf 64 Bit basierende Variante, die bis zu 8.589.934.592 Terrabytes adressiert.


1.3.3 Partitionen

Neben der oben beschriebenen physikalischen Aufteilung einer Festplatte gibt es eine logische Aufteilung der Platte, die für die Installation sehr wichtig ist. Partitionen werden dazu benutzt um eine Festplatte in einzelne Teile zu zerlegen. Eine Festplatte besteht aus mindestens einer Partition und kann bis zu vier Partitionen enthalten. Um mit den Partitionen arbeiten zu können, müssen sie mit dem gewünschten Dateisystem formatiert werden. Bei den Partitionen werden zwei Typen unterschieden: Die primäre und die erweiterte Partition.


1.3.3.0.1 Primäre Partition

Eine primäre Partition wird formatiert und ist dann in der Lage Daten zu speichern. Ein Rechner kann nur von einer primären Partition booten.


1.3.3.0.2 Erweiterte Partition

Eine erweiterte Partition kann nicht direkt zum Speichern von Daten verwendet werden. Sie kann nur logische Laufwerke enthalten, die dann aber formatiert werden können. Eine Festplatte kann bis zu vier primäre Partitionen enthalten oder drei primäre und eine erweiterte Partition.

1.3.3.1 Partitionsnamen

Die Partitionen werden direkt nach dem Typ des Festplattencontrollers benannt. Dabei steht für IDE-Platten der Buchstabe h und für SCSII-Platten der Buchstabe s. Dann folgt der Buchstabe d für Disk. Der dritte Buchstabe nummeriert die Festplatte und die vierte Ziffer gibt die Partitionsnummer an. Die erste Partition der ersten Festplatte mit einem IDE-Controller heißt also hda1. Mit einem SCSII-Controller würde sie sda1 heißen.


Tabelle 1.1: Beispiele für Partitionsnamen
Name Controller Disk Partition
hda1 IDE-Controller Erste Festplatte Erste Partition
sda1 SCSII-Controller Erste Festplatte Erste Partition
hdb3 IDE-Controller Zweite Festplatte Dritte Partition
sdc4 SCSII-Controller Dritte Festplatte Vierte Partition


1.3.3.2 Planung der Partitionen

Für ein Linux-System benötigt man mindestens zwei Partitionen, eine für die Wurzel (root) (/) und eine für die Auslagerungspartition (swap). Es ist aber oft ratsam mehrere Partitionen einzurichten. Dabei sollte dem Bootverzeichnis /boot und den Heimatverzeichnissen /home eine eigenen Partition spendiert werden.

Die Vorteile einer Aufteilung auf mehrere Partitionen sind klar.

Der Nachteil allerdings liegt in der uneffektiven Nutzung des vorhandenen Festplattenplatzes, da ohne weiteres auf einer Partition noch Platz sein kann, während die Partition eines anderen Verzeichnisses schon voll ist. Planen Sie daher vorher mit Bleistift und Papier ihre Partitionen, denn eine nachträgliche Größenänderung ist immer mit Problemen und großem Zeitaufwand verbunden.

Im Gegensatz zu DOS/Windows merkt der Benutzer nichts von der Aufteilung, da es bei Linux keine Laufwerksbuchstaben gibt, sondern die Laufwerke bzw. Partitionen in den Dateibaum eingebunden werden.

1.3.3.2.1 Kleine Plattenkapazität

Besitzt das System nur wenig Plattenplatz, so sollten möglichst wenig Partitionen angelegt werden, da jede dieser Partitionen einen ungenutzten Restplatz vorhalten muß.

1.3.3.2.1.1 Beispiel
 
Sie wollen Linux als Router auf einem alten Pentium-Rechner mit einer 1,2 GB großen Festplatte und 48 MB RAM installieren. Da der Festplattenplatz begrenzt ist, sollten sie die Platte wie folgt aufteilen:
/boot
Eine 50 MB große Partition stellt sicher, daß alle Kernels unter der Zylinder-1024-Grenze liegen.

swap
Eine 100 MB große Partition (96 MB) für den Swap-Speicher.

/
Der Rest der Platte (1050 GB) wird für eine einzige große Wurzel-Partition verwendet, die alle anderen Verzeichnisse enthält.

Sollte sich die ganze Platte unter Zylinder 1024 befinden, dann kann für das Verzeichnis /boot auf eine eigene Partition verzichtet werden.

Auf älteren Systemen kann es auch vorkommen, daß mehrere kleinere Platten vorhanden sind. In diesem Fall kann der Verzeichnisbaum auf diese Platten aufgeteilt werden. So kann z. B. für das Verzeichnis /home eine eigene Platte verwendet werden. Die Verwendung der Platten ist genau so wie die Verwendung von mehreren Partitionen auf einer Platte.

1.3.3.2.2 Große Plattenkapazität

Bei Servern, die mehrere Dutzend GB an Daten speichern müssen, ist natürlich genügen Platz für viele Partitionen. Datensicherung und benötigte Dateisysteme geben dabei die Verwendung der Partitionen vor.

1.3.3.2.2.1 Beispiel
 
Wenn wir von einem NFS-Server ausgehen, der mit 512 MB RAM und einem Plattenarray mit einer Gesamtkapazität von 100 GB ausgestattet ist, dann wäre diese Aufteilung empfehlenswert.

/boot
Eine 50 MB große Partition stellt sicher, daß alle Kernels unter der Zylinder-1024-Grenze liegen.

swap
512 MB (bzw. 4 x 128 MB) reichen für die Swap-Partition aus, da der Server extra mit viel Speicher ausgestattet wurde um Plattenzugriffe zu verhindern. Eventuell kann die Größe sogar auf 256 MB reduziert werden.

/
Da möglichst alle wichtigen Verzeichnisse eine eigene Partition bekommen sollen, reichen hier 100 MB aus.

/usr
Hier sind 2 GB vorgesehen. Praktischerweise können die hier vorhandenen Programme mit den Workstations über NFS geteilt werden.

/var
500 MB reichen aus um die Logdateien zu speichern. Auf eine eigene Partition beschränkt, können sie das System bei zu großem und schnellem Wachstum nicht zumüllen.

/tmp
Für temporäre Aufgaben sind 100 MB an Plattenplatz ausreichend. Auch hier verhindert eine seperate Partition das Überwuchern des Systems.

/home
Die restlichen 97 GB stehen dann für die Datenspeicherung übers Netzwerk zur Verfügung.

Verzeichnisse sind nicht auf lokale Partitionen beschränkt. NFS-Netzwerkverzeichnisse können die gleichen Aufgaben übernehmen. Früher, als Plattenplatz noch richtig teuer war, wurde oft das Verzeichnis /usr auf den Server ausgelagert. Heute ist dies nicht mehr so wichtig. Allerdings erleichert ein gemeinsames /usr-Verzeichnis für alle Arbeitsrechner die Wartung (Update) des Systems.

Neben diesen Argumenten kann auch die Datensicherung über die Größe der Partitionen entscheiden. So beschränkt z. B. die Größe der Sicherungsmedien unter Umständen die maximale Größe einer Partition ein.

Mehr Informationen zu Partitionen und ihre manuelle Einrichtung finden Sie im Abschnitt 10.1.


1.3.4 Der Auslagerungsspeicher

Arbeitsspeicher ist auch heute noch teuer. Deshalb benötigen gerade bei Multitasking-Systemen die Programme oft mehr Speicher als vorhanden ist. Um dem gegenzuwirken arbeiten die Betriebssysteme nicht mit dem physikalischen Arbeitsspeicher sondern mit dem virtuellen Arbeitsspeicher. Der virtuelle Arbeitsspeicher setzt sich aus dem RAM und einem Speicherbereich auf der Festplatte zusammen. Bei Linux wird der Arbeitsspeicher auf der Festplatte durch die Swap-Partition realisiert.

Für die Größe der Swap-Partition gibt es eine Faustregel. Der Auslagerungsspeicher sollte immer doppelt so groß sein, wie der eingebaute Arbeitsspeicher. Dabei sollte eine Größe von 16 MB für die Swap-Partitione nicht unterschritten werden um eine gute Funktion des Betriebssystems zu gewährleisten.

Seit Kernel 2.1.117 darf die Swap-Partition bis zu 2 GB groß werden. Die Anzahl der Swap-Partitionen kann bei der Kompilierung des Kernels festgelegt werden. Im Normalfall ist dieser Wert auf 32 eingestellt.


1.3.5 fips

Wenn Sie Linux auf einem Rechner installieren wollen, auf dem schon ein Betriebssystem läuft, stoßen Sie meistens auf das Problem, daß kein Platz mehr auf der Festplatte für eine seperate Partition mehr ist. Für diesen Fall gibt es das Programm fips. Es ermöglicht die Aufteilung einer FAT16-Partition in zwei Teile. Dabei sollte es zu keinem Datenverlust kommen, trotzdem sollte die Daten mit einem Backup gesichert werden. Vor dem Einsatz von fips1.2 sollten Sie außerdem genau die Dokumentation lesen.

Kopieren Sie die Dateien fips.exe und restorbb.exe auf eine Diskette. Eine Kopie Ihres alten MBR (Master Boot Record) wird während der Installation auf die Diskette kopiert. Dieses Backup können Sie dazu nutzen die Veränderung wieder rückgängig zu machen. Daher Diskette beschriften und gut verwahren!!!

Gleichzeitig wird der alte MBR auf dem Linux-System als /boot/boot.0300 für IDE-Platten und als /boot/boot.0800 für SCSI-Platten abgelegt.


1.4 Installation

Damit wir mit Linux arbeiten können ist es notwendig das Betriebssystem zu installieren. Die Installation ist stark abhängig von der verwendeten Distribution. Bei der SuSE-Distribution kann eine Installation von CD, Festplatte oder übers Netzwerk mit NFS, Samba (Windows Freigabe) oder FTP erfolgen. Dabei wird das Installations- und Administrationstool YaST verwendet.

Da sich die Installationsprozeduren von Distribution zu Distribution und sogar von Version zu Version unterscheiden möchte ich an dieser Stelle nicht darauf eingehen. In den bei der SuSE-Distribution mitgelieferten Handbüchern wird die Installation beschrieben. Sollten Sie dieses Skript nicht als Begleitmaterial zum Unterricht benutzen, sondern selber lernen, dann suchen Sie sich für die Installation einen erfahrenen Linux-User. In den meisten Fällen kann SuSE-Linux mit wenigen Mausklicks installiert werden, aber je nach der verwendeten Hardware kann es zu kleineren oder größeren Problemen kommen. Dies gilt übrigens auch für Windows.

Für den Unterricht ist es effektiver die Distribution auf einem Server im Netz zur Verfügung zu stellen. Erstens müssen nicht Unmengen von CDs gebrannt werden und zweitens erleichtert diese Vorgehensweise auch die nachträgliche Installation von Software im weiteren Verlauf des Unterrichts.

Deshalb nun die Beschreibung der Schritte, die vor einer Netzwerkinstallation am Client durchgeführt werden müssen.


1.4.1 Erstellung der Bootdisketten unter DOS

Um mit der Installation beginnen zu können, müssen Sie den Rechner mit einem rudimentären Betriebssystem starten (Booten). Dies erfolgt in der Regel durch eine speziell dafür vorbereitete Diskette oder CD. Sie brauchen die Medien nur ins CD-Laufwerk einzulegen und den Rechner dann zu starten. In der Bootreihenfolge des BIOS muß allerdings das CD-Laufwerk bzw. Diskettenlaufwerk vor der Festplatte kommen.

Die erste CD der SuSE Distribution ist bootfähig und in der Regel kann die Installation dann ohne Probleme durchgeführt werden. Manchmal unterstützen ältere Rechner oder SCSI-Systeme das Booten von CD nicht. Dort und um eine Netzwerkinstallation durchführen zu können, werden Bootdisketten benötigt, die ein Grundbetriebssystem starten. Diese Bootdisketten können von Diskettenimages erstellt werden. Für SuSE 8.1 gibt es eine Bootdiskette (bootdisk) und vier Moduldisketten mit Treibern (modulesX). Die beigefügten Textdateien enthalten die Liste der Treiber.

Unter DOS bzw. Windows können Sie das Programm rawrite benutzen. Sie finden das Programm auf der SuSE-Distribution auf der CD 1 im Verzeichnis /dosutils/rawrite. Die Bootimages befinden sich im Verzeichnis /disks auf der gleichen CD. Sie können also die Bootdisketten durch die Befehle

R:> dosutils\rawrite\rawrite disks\bootdisk
R:> dosutils\rawrite\rawrite disks\modules1
R:> dosutils\rawrite\rawrite disks\modules2
R:> dosutils\rawrite\rawrite disks\modules3
R:> dosutils\rawrite\rawrite disks\modules4
auf fünf 3,5''-Disketten installieren, wenn die CD im Laufwerk R: liegt. Die Disketten müssen vorher formatiert werden1.3.

1.4.2 Installation mit Bootdisketten

  1. Legen Sie die Bootdiskette ein und starten Sie den Rechner.

  2. Beim jetzt erscheinenden Auswahlmenü wählen Sie Installation.

  3. Nun wird der Kernel geladen. Da er sehr groß ist, benötigen Sie auch noch die Moduldiskette 1. Nachdem der Kernel vollständig geladen wurde, wird das System gestartet.

  4. Nun werden Sie aufgefordert eine Moduldiskette einzulegen.

  5. Sollte die Installationsroutine keine Installations-CD finden, weil der passende Treiber fehlt oder eine Netzwerkinstallation geplant ist, dann schalten Sie nun in die ``Manuelle Installation''.

  6. Wählen Sie nun die Sprache für die Installation aus. (Deutsch)

  7. Wählen Sie nun die Tastaturbelegung aus. (Deutsch)

  8. Im nun folgenden Hauptmenü finden Sie die Menüpunkte
    • Einstellung
      Hier können Sie noch mal die Sprachen für Installation und Tastatur ändern.
    • System-Information
      Beim Booten analysiert der Kernel die Hardware des Systems. Über diesen Menüpunkt können diese und Informationen über den Kernel selber aufgerufen werden. Sie erhalten Informationen über die Kernel-Meldungen, Festplatten und CD-Laufwerke, geladene Module, PCI-Bus, Prozessor, Speicher, Ein- und Ausgabeports, Interrupts, Geräte, Netzwerkkarten und DMA-Kanäle.
    • Kernel-Module (Hardware-Treiber)
      Fehlende Treiber für die Installation können hier eingebunden werden.
    • Installation / System starten
      Jetzt kann die Installation gestartet werden oder ein bereits installiertes System gebootet werden.
    • Abbruch / Reboot
      Installation abbrechen und den Rechner neu starten.
    • Power off
      Installation abbrechen und den Rechner ausschalten.1.4

  9. Sollte ein passender Treiber fehlen (z. B SCSI-Treiber), dann wechseln Sie in den Menüpunkt Kernel-Module.
    1. Dort wählen Sie die passende Rubrik aus (z. B. IDE/RAID/SCSI-Treiber laden für SCSI-Geräte).
    2. Legen Sie die angeforderte Moduldiskette ein. Die Daten werden in eine RAM-Disk geschrieben.
    3. Wählen Sie den passenden Treiber aus und geben Sie eventuell benötigte Parameter für das Modul ein.1.5
    4. Das System versucht das Modul nun zu laden. Auf Konsole 4 - zu erreichen über die Tastenkombination <ALT>+<F4> - können die Systemmeldungen angeschaut werden. Zurück geht es mit <ALT>+<F1>. Die Erfolgs- oder Mißerfolgsmeldung wird mit Return bestätigt.
    5. Über den Button Zurück landen Sie wieder im Hauptmenü.

  10. Nachdem nun alle Treiber geladen sind, geht es mit dem Menüpunkt Installation / System starten weiter.

  11. Im Installations-Menü wählen Sie Installation/Update starten.

  12. Nun muß das Quellmedium ausgewählt werden.
    CD-ROM
    Bei Auswahl dieses Menüpunkts versucht die Installationsroutine die Installations-CD bzw. DVD zu mounten. Klappt dies nicht, müssen Sie die Daten des Laufwerks per Hand eingeben.
    Netzwerk
    Festplatte

  13. Nun erscheint das eigentliche Installationsmenü. Da sich der Installationsassistent häufig ändert, möchte ich hier nicht auf die weitere Installation eingehen. Eine gute Beschreibung der Installationsroutinen finden Sie in den mitgelieferten Handbüchern.


1.5 Konfiguration mit YaST2

Im Gegensatz zu Windows, wo die Einstellungen des Systems in der nicht gerade übersichtlichen Registry gespeichert werden, existieren unter Linux viele Textdateien, die die Konfigurationswerte enthalten. So ist es möglich nur mit einem Texteditor das komplette System zu administrieren. Obwohl diese Konfigurationsdateien normalerweise gut dokumentiert sind, gehört doch etwas wissen und selbstvertrauen dazu, die Einstellung per Hand vorzunehmen.

SuSE hat für die Administration das Tool YaST2 für die graphische Oberfläche entwickelt. Es erlaubt eine wesentlich komfortablere aber nicht unbedingt schnellere Administration des Systems. Auch normale Benutzer können die YaST2 Kontrollzentrum oder die einzelnen Module aufrufen. Vor der Ausführung wird aber nach dem Passwort für root gefragt. Es ist also nicht nötig sich extra als root anzumelden um das System administrieren zu können.

Im YaST-Kontrollzentrum finden Sie die Module in verschiedenen Gruppen zusammengefaßt. Ich gehe im folgenden Abschnitt nur vereinzelt auf die einzelnen Module ein, weil die Funktionsweise vieler Module zum jetzigen Zeitpunkt zu viel weiteres Wissen erforden würde und damit den Umfang dieses Kapitels sprengen würde.

Software
Dieser Abschnitt beschäftigt sich mit der Installation, Deinstallation und Update der Software auf dem System.
Installationsquelle wechseln
YaST merkt sich die letzte Installationsquelle. Erfolgt nun die Installation von einem anderen Medium, so kann dies hier eingestellt werde