Gentoo Logo

Haftungsausschluss: Dieses Handbuch wurde durch eine neuere Version ersetzt und wird nicht länger gepflegt.


[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


4. Vorbereiten der Festplatte(n)

Inhalt:

4.a. Einführung in Block Devices

Block Devices

Wir werden einen guten Einblick in die Festplatten bezogenen Aspekte von Gentoo Linux und Linux im allgemeinen, inklusive Linux Dateisystemen, Partitionen und Block Devices erhalten. Dann, sobald Sie mit den mehr oder weniger komplizierten Eigenschaften von Festplatten und Dateisystemen vertraut sind, werden Sie durch den Prozess des Partitionierens und der Dateisystemerstellung für Ihre Gentoo Linux Installation geführt.

Zu Beginn werden wir Ihnen Block Devices vorstellen. Das berühmteste Block Device ist wahrscheinlich das, welches das erste IDE Laufwerk in einem Linux System repräsentiert, namentlich /dev/hda. Wenn Ihr System SCSI oder SATA Laufwerke verwendet, dann wäre Ihre erste Festplatte /dev/sda.

Das obige Block Device repräsentiert ein abstraktes Interface zur Festplatte. Benutzerprogramme können dieses Block Device benutzen, um Ihre Festplatte anzusprechen, ohne sich darum kümmern zu müssen, ob Ihre Festplatten IDE, SCSI oder irgendwas anderes sind. Das Programm kann den Speicherplatz auf der Festplatte einfach als eine Anhäufung von zusammenhängenden, beliebig zugreifbaren 512-Byte Blöcken ansprechen.

Partitionen

Obwohl es theoretisch möglich ist eine ganze Festplatte zu nutzen, um Ihr Linux System zu beherbergen, wird dies in der Praxis so gut wie nie gemacht. Stattdessen werden komplette Festplatten Block Devices in kleinere, besser verwaltbare Block Devices unterteilt. Auf den meisten Systemen werden sie Partitionen genannt. Andere Architekturen benutzen ähnliche Techniken, welche Slices genannt werden.

Es wird zwischen drei Partitionstypen unterschieden: primär, erweitert und logisch.

Eine primäre Partition ist eine Partition, deren Informationen im MBR (Master Boot Record) gespeichert sind. Da ein MBR sehr klein ist (512 Bytes), können nur vier primäre Partitionen definiert werden (zum Beispiel /dev/hda1 bis /dev/hda4).

Eine erweiterte Partition ist eine spezielle primäre Partition (was bedeutet, dass eine erweiterte Partition eine der vier möglichen primären Partitionen sein muss), welche mehrere Partitionen beinhaltet. Eine solche Partition existierte ursprünglich nicht, aber da vier Partitionen zu wenig sind, wurden sie erfunden, um das Format zu erweitern ohne die Rückwärtskompabilität zu verlieren.

Eine logische Partition ist eine Partition innerhalb einer erweiterten Partition. Ihre Definitionen sind nicht im MBR gespeichert, sondern in der erweiterten Partition.

Fortgeschrittenes Speichermanagement

Die x86 Installations CDs bieten Unterstützung für EVMS oder LVM2. EVMS oder LVM2 erlauben es Ihnen Ihr Partitionssetup flexibler zu gestalten. Während der Installationsanleitung konzentrieren wir uns auf "normale" Partitionen, es ist aber gut zu wissen, dass EVMS und LVM2 genauso unterstützt werden.

4.b. Erstellen eines Partitionsschemas

Standard Partitionsschema

Wenn Sie nicht daran interessiert sind ein Partitionsschema für Ihr System zu erstellen, können Sie das Partitionsschema verwenden, welches wir in diesem Handbuch benutzen:

Partition Dateisystem Größe Beschreibung
/dev/hda1 ext2 32M Boot Partition
/dev/hda2 (swap) 512M Swap Partition
/dev/hda3 ext3 Rest der Festplatte Root Partition

Wenn Sie daran interessiert sind zu erfahren, wie groß eine Partition sein sollte, oder auch wieviele Partitionen (oder Volumes) Sie benötigen, lesen Sie weiter. Anderenfalls fahren Sie nun Mit fdisk Ihre Festplatte partitionieren fort.

Wie viele und wie groß?

Die Anzahl an Partitionen hängt von Ihrer Umgebung ab. Wenn Sie z.B. eine Menge User haben, wollen Sie höchst wahrscheinlich Ihr /home separat halten, da es die Sicherheit erhöht und Backups einfacher macht. Wenn Sie Gentoo installieren um als Mailserver zu fungieren, sollten Sie /var separat halten, da alle Mails in /var gespeichert werden. Eine gute Wahl des Dateisystems maximiert dann zusätzlich die Performanz. Gameserver sollten ein separates /opt haben, da die meisten Gameserver dort installiert werden. Der Grund ist ähnlich wie bei /home:Sicherheit und Backups. Es liegt definitiv in Ihrem Interesse /usr groß zu behalten: es wird nicht nur die Mehrheit der Programme enthalten; der Portage Baum allein belegt etwa 500Mbyte, ohne die verschiedensten Quellen die darin gespeichert sind, mitzurechnen.

Wie Sie sehen können, hängt es sehr stark davon ab, was Sie erreichen wollen. Separate Partitionen oder Volumes haben folgende Vorteile:

  • Sie können das Filesystem mit der höchsten Performanz für jede Partition oder jedes Volume auswählen
  • Ihr System behält noch freien Speicherplatz, selbst wenn ein defektes Tool ununterbrochen Dateien auf eine Partition oder ein Volume schreibt
  • Falls nötig können Dateisystem Checks zeitlich verkürzt werden, in dem mehrere Checks parallel durchgeführt werden können (obwohl dieser Vorteil eher mit mehreren Festplatten als mit mehreren Partitionen zum Tragen kommt)
  • Die Sicherheit kann erhöht werden, indem Sie einige Partitionen oder Volumes read-only, nosuid (setuid bits werden ignoriert), noexec (executable bits werden ignoriert) etc. mounten.

Wie dem auch sei, mehrere Partitionen haben einen großen Nachteil: wenn sie nicht ordentlich konfiguriert werden, könnte das Resultat ein System sein, welches viel Speicherplatz auf der einen Partition und keinen auf einer anderen frei hat. Weiterhin gibt es ein 15 Partitionen Limit bei SCSI und SATA.

Als Beispiel zeigen wir Ihnen die Partitionierung einer 20GB Festplatte, welche in einem Notebook zu Demonstrationszwecken genutzt wird (inklusive Webserver, Mailserver, Gnome, ...):

Befehlsauflistung 2.1: Dateisystem Nutzung, Beispiel

$ df -h
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda5     ext3    509M  132M  351M  28% /
/dev/hda2     ext3    5.0G  3.0G  1.8G  63% /home
/dev/hda7     ext3    7.9G  6.2G  1.3G  83% /usr
/dev/hda8     ext3   1011M  483M  477M  51% /opt
/dev/hda9     ext3    2.0G  607M  1.3G  32% /var
/dev/hda1     ext2     51M   17M   31M  36% /boot
/dev/hda6     swap    516M   12M  504M   2% <not mounted>
(Unpartitionierter Speicherplatz für zukünftige Benutzung: 2 GB)

/usr ist ziemlich voll (83% used), aber sobald die ganze Software installiert ist, tendiert /usr nicht mehr dazu, allzuviel zu wachsen. Man könnte denken, der zugewiesene Speicherplatz für /var sei zuviel, aber Gentoo kompiliert alle Programme in /var/tmp/portage, daher sollten Sie für /var mindestens 1GB frei haben wenn Sie keine großen Programme installieren wollen und eine Größe von mindestens 3GB wenn Sie KDE und OpenOffice.org kompilieren möchten.

4.c. Partitionieren Ihrer Festplatte

Die folgenden Teile erklären, wie das bereits beschriebene Beispiel Partitionslayout erstellt wird:

Partition Beschreibung
/dev/hda1 Boot Partition
/dev/hda2 Swap Partition
/dev/hda3 Root Partition

Ändern Sie Ihr Partitionslayout nach Ihren eigenen Vorstellungen.

Die derzeitige Partitionstabelle ansehen

fdisk ist ein verbreitetes und mächtiges Tool um Ihre Festplatte in Partitionen zu teilen. Starten Sie fdisk für Ihre Festplatte (in unserem Beispiel benutzen wir /dev/hda):

Befehlsauflistung 3.1: Starten von fdisk

# fdisk /dev/hda

Sobald Sie in fdisk sind, werden Sie mit folgendem Prompt begrüßt:

Befehlsauflistung 3.2: fdisk Prompt

Command (m for help): 

Drücken Sie p um Ihre derzeitige Partitionstabelle anzeigen zu lassen:

Befehlsauflistung 3.3: Eine Beispiel Partitionstabelle

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help): 

Diese Festplatte beherbergt sieben Linux Dateisysteme (jedes mit einer dazugehörigen Partition, gelistet als "Linux") und auch eine Swap Partition (gelistet als "Linux swap").

Löschen aller Partitionen

Zuerst entfernen wir alle existierenden Partitionen von der Festplatte. Drücken Sie d um eine Partition zu löschen. Zum Beispiel um ein bestehendes /dev/hda1 zu löschen:

Befehlsauflistung 3.4: Löschen einer Partition

Command (m for help): d
Partition number (1-4): 1

Die Partition wurde zum Löschen markiert und wird nicht mehr angezeigt, wenn Sie p drücken. Sie wird aber nicht gelöscht, bis Ihre Änderungen gespeichert sind. Wenn Sie einen Fehler gemacht haben und ohne zu Speichern abbrechen wollen, drücken Sie umgehend q und Enter; Ihre Partition wird dann nicht gelöscht.

Angenommen, dass Sie wirklich alle Ihre Partitionen auf Ihrer Festplatte löschen wollen, drücken Sie noch einmal p um die Partitionstabelle anzuzeigen und dann d und die Nummer der Partition die Sie löschen wollen. Irgendwann werden Sie eine leere Partitionstabelle haben:

Befehlsauflistung 3.5: Eine leere Partitionstabelle

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Jetzt, da die Partitionstabelle im Speicher leer ist, sind wir vorbereitet, um die Partitionen zu erstellen. Wir werden ein Standard Partitionsschema benutzen, wie wir es zuvor angesprochen haben. Natürlich sollten Sie die Instruktionen nicht buchstäblich ausführen, wenn Sie ein anderes Partitions Schema verwenden wollen!

Erstellen der Boot Partition

Zuerst erstellen wir eine kleine Boot Partition. Drücken Sie n um eine neue Partition zu erstellen, dann p um eine primäre Partition zu wählen, gefolgt von 1 für die erste primäre Partition. Wenn Sie nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Für den letzten Zylinder geben Sie +32M ein, um eine 32 MB große Partition zu erzeugen.

Befehlsauflistung 3.6: Erstellen der Boot Partition

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Enter Taste drücken)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Wenn Sie jetzt p drücken, sollten Sie die folgende Partitionstabelle sehen:

Befehlsauflistung 3.7: Erstellte Boot Partition

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux

Sie müssen diese Partition bootbar machen. Drücken Sie a um das bootable Flag auf dieser Partition zu aktivieren und wählen Sie 1. Wenn Sie wiederum p drücken, werden Sie feststellen, dass in der "Boot" Spalte ein * platziert ist.

Erstellen der Swap Partition

Nun erstellen Sie die Swap Partition. Dazu drücken Sie n um eine Partition zu erstellen, dann p um fdisk mitzuteilen, dass Sie eine primäre Partition anlegen möchten. Dann drücken Sie 2 um die zweite primäre Partition, dev/hda2 in unserem Fall, anzulegen. Wenn Sie nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Wenn Sie nach dem letzen Zylinder gefragt werden, tippen Sie +512M um eine Partition mit einer Größe von 512 MB zu erstellen. Nachdem Sie dies getan haben, müssen Sie mit t den Partitionstyp festlegen, 2 um die gerade angelegte Partition auszuwählen und dann 82 um den Partitionstyp als "Linux Swap" festzulegen. Nachdem Sie diese Schritte abgeschlossen haben, drücken Sie p und Sie erhalten eine Paritionstabelle, die dieser recht ähnlich schaut:

Befehlsauflistung 3.8: Partitionstabelle nach dem Erstellen der Swap Partition

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap

Erstellen der Root Partition

Zum Schluss müssen sie noch die Root Partition erstellen. Dazu drücken Sie n um eine Partition zu erstellen, dann p um fdisk mitzuteilen, dass Sie eine primäre Partition anlegen möchten. Dann drücken Sie 3 um die dritte primäre Partition, dev/hda3 in unserem Fall, anzulegen. Wenn Sie nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Wenn Sie nach dem letzten Zylinder gefragt werden, tippen Sie Enter um eine Partition zu erstellen, die den restlichen freien Platz belegt. Nachdem Sie diese Schritte abgeschlossen haben, drücken Sie p und Sie erhalten eine Paritionstabelle, die dieser recht ähnlich sieht:

Befehlsauflistung 3.9: Partitionstabelle nach dem Erstellen der Root Partition

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

Speichern der Partitionstabelle

Um die Partitionstablle zu speichern und fdisk zu verlassen, drücken Sie w.

Befehlsauflistung 3.10: Speichern und fdisk verlassen

Command (m for help): w

Nachdem Ihre Partitionen nun erstellt sind, können Sie mit dem Dateisysteme erstellen fortfahren.

4.d. Dateisysteme erstellen

Einführung

Nachdem Ihre Partitionen nun erstellt sind, ist es Zeit für diese Dateisysteme festzulegen. Wenn Sie sich keine Gedanken über das einzusetzende Dateisystem machen (möchten), gehen Sie zum Eine Partition mit einem Dateisystem formatieren Abschnitt vor, andernfalls lesen Sie weiter um etwas über verfügbare Dateisysteme zu lernen ...

Dateisysteme?

Der Linux Kernel unterstützt zahlreiche Dateisysteme. Wir erklären ext2, ext3, ReiserFS, XFS und JFS, da diese die unter Linux gebräuchlichsten Dateisysteme sind.

ext2 ist das erprobte und wahre Linux Dateisystem, unterstützt aber kein Metadaten Journaling, was bedeutet, dass routinemäßige Dateisystem Checks beim Booten sehr zeitaufwändig sein können. Es gibt mittlerweile eine Auswahl an journalisierenden Dateisystemen neuerer Generation, die die Konsistenzchecks sehr schnell erledigen und dadurch im Vergleich mit den nicht-journalisierenden Gegenstücken vorzuziehen sind. Jounalisierende Dateisysteme verhindern lange Verzögerungen beim Booten, wenn sich das Dateisystem in einem inkonsistenten Zustand befindet.

ext3 ist die journalisierende Version des ext2 Dateisystems, die Metadaten Journaling für schnelle Wiederherstellung sowie andere verbesserte Journaling Modi wie "full data" und "ordered data" Jornaling unterstützt. ext3 ist ein sehr gutes und verlässliches Dateisystem. Es hat eine zusätzliche B-Baum Indexierungsoption, die in fast allen Situationen hohe Performanz ermöglicht. Sie können diese Indexierung aktivieren, indem Sie -O dir_index zum mke2fs Befehl hinzufügen. Kurz gesagt: ext3 ist ein exzellentes Dateisystem.

ReiserFS ist ein B*-Baum basierendes Dateisystem mit einer guten Performanz und überholt sowohl ext2 und ext3 im Umgang mit kleinen Dateien (Dateien kleiner als 4k) oftmals mit einem Faktor von 10x-15x. ReiserFS skaliert extrem gut und hat Metadaten Journaling. Seit Kernel 2.4.18+ ist ReiserFS stabil und sowohl als Dateisystem für generelle Anwendungen, als auch für extreme Fälle wie große Dateisysteme, den Gebrauch mit vielen kleinen Dateien, den Gebrauch mit sehr großen Dateien und Verzeichnissen mit tausenden von Dateien brauchbar.

XFS ist ein Dateisytem mit Metadaten Journaling, das mit einem robusten Feature-Set kommt und auf Skalierbarkeit ausgelegt ist. Wir empfehlen den Einsatz dieses Dateisystems nur auf Linux Systemen mit High-End SCSI und/oder Fibre Channel Storage und einer redundaten Stromversorgung. Da XFS agressiv vom RAM gebraucht macht, können unsachgemäß designte Programme (solche die keine Vorsichtsmaßnahmen treffen, wenn Sie auf die Festplatte schreiben und davon gibt es einige) dazu führen, dass eine ganze Menge Daten verloren gehen, wenn das System unerwartet ausfällt.

JFS ist IBMs Hochleistungs Journaling Dateisystem. Es ist vor kurzem für den Produktionsbetrieb einsatzbereit geworden, aber über das noch keine aussagekräftigen Daten vorhanden sind, so dass seine allgemeine Stabilität an diesem Punkt weder positiv noch negativ kommentiert werden kann.

Eine Partition mit einem Dateisystem formatieren

Um ein Dateisystem auf einer Partition oder einem Volume zu erstellen, gibt es für jedes Dateisystem Tools:

Dateisystem Kommando
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Um die Boot Partition (/dev/hda1 in unserem Beispiel) als ext2 und die Root Partition (/dev/hda3 in unserem Beispiel) als ext3 (wie in unserem Beispiel) zu formatieren, führen Sie folgende Kommandos aus:

Befehlsauflistung 4.1: Eine Partition mit einem Dateisystem formatieren

# mke2fs /dev/hda1
# mke2fs -j /dev/hda3

Erstellen Sie nun die Dateisysteme auf Ihren neu erstellten Partionen (oder logischen Volumes).

Aktivieren der Swap Partition

mkswap ist das Kommando, mit dem Sie die Swap Partition initialisieren:

Befehlsauflistung 4.2: Erstellen der Swap Signatur

# mkswap /dev/hda2

Um die Swap Partition zu aktivieren, benutzen Sie swapon:

Befehlsauflistung 4.3: Aktivieren der Swap Partition

# swapon /dev/hda2

Erstellen und aktivieren Sie jetzt Ihre Swap Partition mit den gerade erwähnten Kommandos.

4.e. Mounten

Nachdem Ihre Partitionen nun initialisiert sind und ein Dateisystem beinhalten, ist es an der Zeit diese Partitionen zu mounten. Benutzen Sie das mount Kommando. Vergessen Sie nicht die notwendigen Mount Verzeichnisse für jede erstellte Partition anzulegen. Als Beispiel mounten wir die root und boot Partition:

Warnung: Aufgrund eines Fehlers im e2fsprogs Paket, müssen Sie explizie angeben, wann Sie ein ext3 Dateisystem mounten wollen. Dies machen Sie mit dem mount -t ext3 Kommando.

Befehlsauflistung 5.1: Mounten von Partitionen

# mount /dev/hda3 /mnt/gentoo
(Für eine ext3 Partition:)
# mount -t ext3 /dev/hda3 /mnt/gentoo

# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

Notiz: Wenn Sie /tmp auf eine separate Partition legen möchten, stellen Sie sicher, dass Sie die Berechtigungen nach dem Mounten ändern: chmod 1777 /mnt/gentoo/tmp. Dies gilt auch für /var/tmp.

Sie müssen auch noch das proc Dateisystem (ein virtuelles Interface zum Kernel) auf /proc mounten. Zunächst müssen wir jedoch alle Dateien auf der Partition ablegen.

Fahren Sie mit der Installation der Gentoo Installations Dateien fort.


[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 2. August 2005

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Um Gentoo installieren zu können, müssen Sie die benötigten Partitionen erstellen. Dieses Kapitel beschreibt, wie Sie eine Festplatte für die zukünftige Benutzung partitionieren.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Entwickler

Tavis Ormandy
Gentoo Alpha Entwickler

Jason Huebel
Gentoo AMD64 Entwickler

Guy Martin
Gentoo HPPA Entwickler

Pieter Van den Abeele
Gentoo PPC Entwickler

Joe Kallar
Gentoo SPARC Entwickler

John P. Davis
Bearbeiter

Pierre-Henri Jondot
Bearbeiter

Eric Stockbridge
Bearbeiter

Rajiv Manglani
Bearbeiter

Jungmin Seo
Bearbeiter

Stoyan Zhekov
Bearbeiter

Jared Hudson
Bearbeiter

Colin Morey
Bearbeiter

Jorge Paulo
Bearbeiter

Carl Anderson
Bearbeiter

Jon Portnoy
Bearbeiter

Zack Gilburd
Bearbeiter

Jack Morgan
Bearbeiter

Benny Chuang
Bearbeiter

Erwin
Bearbeiter

Joshua Kinard
Bearbeiter

Tobias Scherbaum
Bearbeiter

Grant Goodyear
Korrektor

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

Lars Weiler
Mitarbeiter

Tobias Scherbaum
Übersetzer

Jens Schittenhelm
Übersetzer

Patrick Sudowe
Übersetzer

Torsten Veller
Übersetzer

Michael Frey
Übersetzer

Markus Nigbur
Übersetzer

Boris Ruppert
Übersetzer

Jan Hendrik Grahl
Übersetzer

Christian Hartmann
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.