Gentoo Logo

[ << ] [ < ] [ 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 Vor- und Nachteilen 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 Laufwerk in einem Linux System repräsentiert, namentlich /dev/sda. SCSI- und Serial-ATA-Laufwerke erhalten beide Namen mit /dev/sd*; selbst IDE-Laufwerke werden mit dem neuen libata-Framework im Kernel mit einem /dev/sd* Namen versehen. Wenn Sie noch das alte Geräte-Framework verwenden wird Ihr erstes IDE-Laufwerk /dev/hda sein.

Das obige Block Device repräsentiert eine abstrakte Schnittstelle zur Festplatte. Benutzerprogramme können dieses Block Device benutzen, um Ihre Festplatte anzusprechen, ohne sich darum zu kümmern, ob Ihre Festplatten IDE, SCSI oder irgendetwas 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 genant. Andere Architekturen benutzen ähnliche Techniken, welche Slices genannt werden.

Die erste Partition auf der ersten SCSI Festplatte ist /dev/sda1, die zweite /dev/sda2 und so weiter.

Die dritte Partition auf SUN Systemen ist als ein spezielles "Whole Disk" Slice vorgesehen. Diese Partition muss kein Dateisystem enthalten.

Wenn Sie an das DOS Partitionsschema gewöhnt sind, sollten Sie beachten, dass SUN Disklabels keine "Primären" und "Erweiterten" Partitionen haben. Anstelle dessen sind pro Festplatte 8 Partitionen möglich, die dritte ist als "Whole Disk" reserviert.

4.b. Erstellung eines Partitionsschemas

Standard Partitionsschema

Wenn Sie nicht daran interessiert sind ein Partitionsschema für Ihr System zu erstellen liefert Ihnen die folgende Tabelle einen passenden Anfangspunkt für die meisten Systeme.

Beachten Sie, dass eine separate /boot Partition für SPARC nicht generell empfohlen ist, da dies die Bootloader Konfiguration erschwert.

Partition Dateisystem Größe Mount-Punkt Beschreibung
/dev/sda1 ext4 <2 GB / Root-Partition. Für SPARC64-Systeme mit älteren OBP-Versionen muss diese kleiner als 2 GB und die erste Partition auf der Festplatte sein.
/dev/sda2 swap 512 MB none Swap-Partition. Zum Bootstrappen und für größere Compile-Vorgänge. Ein Minimum von 512 MB RAM (inklusive Swap) ist erforderlich.
/dev/sda3 none Whole disk none Whole Disk Partition. (Benötigt auf SPARC Systemen.)
/dev/sda4 ext4 mindestens 2 GB /usr /usr Partition. Programme werden hier installiert. Per default wird diese Partition auch für Portage Daten genutzt, die etwa 500 MB, ohne Quellpakete, belegen.
/dev/sda5 ext4 mindestens 1 GB /var /var Partition. Wird genutzt für von Programmen erstellten Daten. Per default benutzt Portage diese Partition als temporären Speicher während des Kompilierens. Größere Anwendungen wie Mozilla und OpenOffice.org können mehr als 1 GB temporären Speicher während des Kompilierens benötigen.
/dev/sda6 ext4 Restlicher Platz /home /home Partition. Platz für die Home-Verzeichnisse der Benutzer.

4.c. Benutzung von fdisk zur Partitionierung Ihrer Festplatte

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

Partition Beschreibung
/dev/sda1 /
/dev/sda2 swap
/dev/sda3 whole disk slice
/dev/sda4 /usr
/dev/sda5 /var
/dev/sda6 /home

Passen Sie das Partitionslayout an Ihre Vorstellungen an. Beachten Sie, dass die Root-Partition bei älteren Systemen vollständig innerhalb der 2 GB des Laufwerks sein muss. Es gibt weiterhin ein 15 Partitionen Limit bei SCSI und SATA.

Starten von fdisk

Starten Sie fdisk mit Ihrer Festplatte als Argument.

Befehlsauflistung 3.1: Starten von fdisk

# fdisk /dev/sda

Sie sollten vom fdisk Prompt begrüßt werden:

Befehlsauflistung 3.2: Der fdisk Prompt

Command (m for help):

Um die verfügbaren Partitionen anzuzeigen, drücken Sie p:

Befehlsauflistung 3.3: Auflisten verfügbarer Partitionen

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Beachten Sie das Sun Disk Label in der Ausgabe. Wenn dieses fehlt, benutzt die Festplatte die DOS-Partitionierung, nicht die Sun Partitionierung. In diesem Fall benutzen Sie s um sicherzustellen, dass die Festplatte eine Sun-Partitionstabelle hat.

Befehlsauflistung 3.4: Erstellen eines Sun Disklabel

Command (m for help): s
Building a new sun disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Drive type
   ?   auto configure
   0   custom (with hardware detected defaults)
   a   Quantum ProDrive 80S
   b   Quantum ProDrive 105S
   c   CDC Wren IV 94171-344
   d   IBM DPES-31080
   e   IBM DORS-32160
   f   IBM DNES-318350
   g   SEAGATE ST34371
   h   SUN0104
   i   SUN0207
   j   SUN0327
   k   SUN0340
   l   SUN0424
   m   SUN0535
   n   SUN0669
   o   SUN1.0G
   p   SUN1.05
   q   SUN1.3G
   r   SUN2.1G
   s   IOMEGA Jaz
Select type (? for auto, 0 for custom): 0
Heads (1-1024, default 64):
Using default value 64
Sectors/track (1-1024, default 32):
Using default value 32
Cylinders (1-65535, default 8635):
Using default value 8635
Alternate cylinders (0-65535, default 2):
Using default value 2
Physical cylinders (0-65535, default 8637):
Using default value 8637
Rotation speed (rpm) (1-100000, default 5400): 10000
Interleave factor (1-32, default 1):
Using default value 1
Extra sectors per cylinder (0-32, default 0):
Using default value 0

Sie finden Korrekte Werte in der Dokumentation zu Ihrem Laufwerk. Die 'auto configure' Option funktioniert im Normalfall nicht.

Löschen existierender Partitionen

Es ist nun Zeit alle existierenden Partitionen zu löschen. Dazu geben Sie d ein und drücken Enter. Sie werden dann nach einer Partitionsnummer gefragt, die Sie löschen möchten. Um eine bereits existierende /dev/sda1 zu löschen, würden Sie folgendes eingeben:

Befehlsauflistung 3.5: Löschen einer Partition

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

Nachfolgend gehen wir davon aus, dass Sie alle existierenden Partitionen löschen möchten. Drücken Sie p um sich alle verfügbaren Partitionen anzeigen zu lassen und d um eine davon zu löschen. Wenn Sie glauben einen Fehler gemacht zu haben, drücken Sie sofort q. fdisk ändert die Partitionstabelle nicht sofort, behält aber die Änderungen im Speicher. Nur wenn Sie w drücken werden Ihre vorgenommenen Änderungen auch gespeichert.

Nachdem Sie alle Partitionen gelöscht haben, sollte Ihre Partitionstabelle ähnlich wie folgende aussehen:

Befehlsauflistung 3.6: Ansicht einer leeren Partitionstabelle

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

Device Flag    Start       End    Blocks   Id  System
/dev/sda3             0      8635   8842240    5  Whole disk

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 drücken Sie 1 um die Partition zu erstellen. Wenn Sie nach dem letzten Zylinder gefragt werden, geben Sie +512M ein, um eine Partition in der Größe von 512 MB zu erstellen. Stellen Sie sicher, dass die Root-Partition vollständig innerhalb der ersten 2 GB des Laufwerkes liegt.

Befehlsauflistung 3.7: Erstellen einer Root Partition

Command (m for help): n
Partition number (1-8): 1
First cylinder (0-8635): (press Enter)
Last cylinder or +size or +sizeM or +sizeK (0-8635, default 8635): +512M

Wenn Sie nun p eingeben sehen Sie das folgende Partitionslayout:

Befehlsauflistung 3.8: Anzeige des Partitionslayout

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda3             0      8635   8842240    5  Whole disk

Erstellen einer Swap-Partition

Nun erstellen Sie die Swap-Partition. Dazu drücken Sie n um eine Partition zu erstellen, dann 2 um die zweite Partition, dev/sda2 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 +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 und dann 82 um den Partitionstyp als "Linux Swap" festzulegen. Nachdem Sie diese Schritte abgeschlossen haben, drücken Sie p und Sie erhalten eine Partitionstabelle, die dieser recht ähnlich schaut:

Befehlsauflistung 3.9: Auflistung verfügbarer Partitionen

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk

Erstellen der /usr, /var und /home Partitionen

Zum Schluss müssen sie noch die /usr, /var und /home Partitionen erstellen. Wie vorhin drücken Sie n um eine Partition zu erstellen, dann drücken Sie 4 um die dritte Partition, dev/sda4 in unserem Fall, anzulegen. Wenn Sie nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Wenn Sie nach dem letzten Zylinder gefragt werden, geben Sie +2048M ein, um eine 2 GB große Partition zu erstellen, Wiederholen Sie diesen Schritt für sda5 und sda6, jeweils mit den gewünschten Größen. Sie erhalten eine Partitionstabelle, die dieser recht ähnlich sieht:

Befehlsauflistung 3.10: Auflistung der vollständigen Partitionstabelle

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Speichern und fdisk beenden

Um Ihre Partitionstablle zu sichern und fdisk zu beenden, geben Sie w ein:

Befehlsauflistung 3.11: Speichern und Beenden von fdisk

Command (m for help): w

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

4.d. Erstellen der Dateisysteme

Einleitung

Jetzt sind Ihre Partitionen erstellt, so dass es nun an der Zeit ist Dateisysteme anzulegen. Wenn Sie mit dem zufrieden sind, was wir Ihnen vorschlagen, dann fahren Sie mit Dateisystem auf einer Partition anlegen fort. Wenn nicht, lesen Sie weiter, um ein wenig mehr über Dateisysteme zu lernen ...

Dateisysteme

Verschiedene Dateisysteme sind verfügbar, einige sind als stabil auf der SPARC-Architektur bekannt. Zum Beispiel sind ext2, ext3 und ext4 als gut funktionierend bekannt. Andere Dateisysteme funktionieren eventuell nicht korrekt.

ext2 ist das erprobte und wahre Linux Dateisystem, unterstützt aber keine Metadaten-Journalisierung, was bedeutet, dass routinemäßige Überprüfungen des Dateisystem beim Booten ziemlich 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. Wenn Sie vorhaben, Gentoo auf einer sehr kleinen Platte (weniger als 4GB) zu installieren, dann müssen Sie ext2 anweisen, genügend Inodes zu reservieren, wenn Sie das Dateisystem erstellen. Die Applikation mke2fs verwendet die Einstellung "bytes-per-inode", um zu berechnen, wie viele Inodes ein Dateisystem haben sollte. Durch Verwenden von mke2fs -T small /dev/<device> vervierfacht sich die Anzahl an Inodes für ein gegebenes Dateisystem in der Regel, da sich die "bytes-per-inode" von 16kB auf 4kB pro Inode reduzieren. Sie können dies noch weiter tunen durch Verwenden von mke2fs -i <Verhältnis> /dev/<device>.

ext3 ist die journalisierte Version des ext2-Dateisystem. Es liefert Metadaten-Journalisierung für schnelle Wiederherstellung, sowie andere verbesserte Journalisierungs-Modi wie "Full Data"- und "Ordered Data"-Journalisierung. Es verwendet einen HTree-Index der in fast allen Situation zu einer hohen Performance führt. Kurz, ext3 ist ein sehr gutes und verlässliches Dateisystem. Wenn Sie vorhaben, Gentoo auf einer sehr kleinen Platte (weniger als 4GB) zu installieren, dann müssen Sie ext2 anweisen, genügend Inodes zu reservieren, wenn Sie das Dateisystem erstellen. Die Applikation mke2fs verwendet die Einstellung "bytes-per-inode", um zu berechnen, wie viele Inodes ein Dateisystem haben sollte. Durch Verwenden von mke2fs -j -T small /dev/<device> vervierfacht sich die Anzahl an Inodes für ein gegebenes Dateisystem in der Regel, da sich die "bytes-per-inode" von 16kB auf 4kB pro Inode reduzieren. Sie können dies noch weiter tunen durch Verwenden von mke2fs -j -i <Verhältnis> /dev/<device>.

ext4 ist ein Dateisystem, das basierend auf ext3 erstellt wurde und neue Features sowie Performance-Verbesserungen mit sich bringt. Zusätzlich wurden Größenbeschränkungen entfernt und nur mäßige Änderungen am Format auf der Platte vorgenommen. ext4 unterstützt Laufwerke mit einer Größe von bis zu 1 EB und eine maximale Dateigröße von 16 TB. Anstelle der klassischen Bitmap-Block-Allokation von ext2/3, verwendet ext4 Extents, die die Performance bei großen Dateien verbessert und Fragmentierung reduziert. Ext4 bietet zudem ausgeklügeltere Blockallokationsalgorithmen (verzögerte Allokation und Multiblock-Allokation), was es dem Dateisystemtreiber erlaubt, das Layout der Daten auf der Platte zu optimieren. Das ext4-Dateisystem ist ein Kompromiss zwischen produktionssnaher Code-Stabilität und dem Wunsch, Erweiterungen zu einem fast ein Jahrzehnt altem Dateisystem einzuführen. Ext4 ist das empfohlene universell einsetzbare Dateisystem für alle Plattformen.

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 Befehl
ext2 mkfs.ext2
ext3 mkfs.ext3
ext4 mkfs.ext4

Um zum Beispiel die Root Partition (/dev/sda1 in unserem Beispiel) als ext2 und die /usr, /var, und /home Partitionen (/dev/sda4, 5 und 6 in unserem Beispiel) als ext3 zu erstellen, benutzen Sie:

Befehlsauflistung 4.1: Eine Partition mit einem Dateisystem formatieren

# mkfs.ext2 /dev/sda1
# mkfs.ext4 /dev/sda4
# mkfs.ext4 /dev/sda5
# mkfs.ext4 /dev/sda6

Aktivieren der Swap-Partition

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

Befehlsauflistung 4.2: Erstellen der Swap Signatur

# mkswap /dev/sda2

Um die Swap-Partition zu aktivieren, benutzen Sie swapon:

Befehlsauflistung 4.3: Aktivieren der Swap-Partition

# swapon /dev/sda2

Erstellen und aktivieren Sie jetzt Ihre Swap-Partition mit den eben augelisteten Befehlen.

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 die Boot-Partition:

Befehlsauflistung 5.1: Mounten von Partitionen

# mount /dev/sda1 /mnt/gentoo
# mkdir /mnt/gentoo/usr
# mount /dev/sda4 /mnt/gentoo/usr
# mkdir /mnt/gentoo/var
# mount /dev/sda5 /mnt/gentoo/var
# mkdir /mnt/gentoo/home
# mount /dev/sda6 /mnt/gentoo/home

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 Installationsdateien fort.


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


Drucken

Alles ansehen

Seite aktualisiert 23. Februar 2013

Die Originalversion dieses Dokuments wurde zuletzt am 23. Januar 2014 aktualisiert

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

Grant Goodyear
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

Xavier Neys
Bearbeiter

Joshua Saddler
Bearbeiter

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.