[ << ]
[ < ]
[ 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 wir 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 x86-Systemen werden
diese Partitionen genannt.
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/sda1 bis /dev/sda4).
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ärtskompatibilitä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.
Fortgeschrittene Speicherung
Die x86-Installations-CDs bieten Unterstützung für EVMS oder
LVM2. EVMS oder LVM2 erlauben es Ihnen Ihr Partitionssetup flexibler zu
gestalten. Innerhalb dieser Installationsanleitung konzentrieren wir uns auf
"normale" Partitionen, es ist aber gut zu wissen, dass EVMS und LVM2 genauso
unterstützt werden.
4.b. Erstellung 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/sda1 |
ext2 |
32M |
Boot Partition |
| /dev/sda2 |
(swap) |
512M |
Swap-Partition |
| /dev/sda3 |
ext3 |
Rest der Festplatte |
Root Partition |
Wenn Sie daran interessiert sind zu erfahren, wie groß eine Partition sein
sollte, oder auch wie viele Partitionen (oder Volumes) Sie benötigen, lesen
Sie weiter. Anderenfalls fahren Sie nun mit dem Partitionieren Ihrer Festplatte 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 Performance. Gameserver sollten ein separates /opt haben, da
die meisten Server für Spiele 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 Performance 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.
Jedoch, 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. Es gibt weiterhin ein Limit von 15 Partitionen 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: Dateisystemnutzung, Beispiel
$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext3 509M 132M 351M 28% /
/dev/sda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/sda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/sda8 ext3 1011M 483M 477M 51% /opt
/dev/sda9 ext3 2.0G 607M 1.3G 32% /var
/dev/sda1 ext2 51M 17M 31M 36% /boot
/dev/sda6 swap 516M 12M 504M 2% <not mounted>
/usr ist ziemlich voll (83% used), aber sobald die ganze Software
installiert ist, tendiert /usr nicht mehr dazu allzuviel zu
wachsen. Die Zuweisung von einigen Gigabyte Festplattenspeicher für
/var erscheint exzessiv, Sie sollten aber daran denken, dass
Portage diese Partition standardmäßig zur Kompilierung von Paketen verwendet.
Wenn Sie /var eine etwas angemessenere Größe, wie z.B. 1GB,
zuweisen möchten, müssen Sie die PORTAGE_TMPDIR Variable in
/etc/make.conf auf eine Partition mit genügend freiem
Speicherplatz verweisen lassen, damit genug freier Speicher auch für extrem
große Pakete wie OpenOffice vorhanden ist.
4.c. Partitionierung Ihrer Festplatte
Die folgenden Teile erklären, wie das bereits beschriebene Beispiel
Partitionslayout erstellt wird:
| Partition |
Beschreibung |
| /dev/sda1 |
Boot-Partition |
| /dev/sda2 |
Swap-Partition |
| /dev/sda3 |
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/sda):
Befehlsauflistung
3.2: Starten von fdisk
# fdisk /dev/sda
Sobald Sie in fdisk sind, werden Sie mit folgendem Prompt begrüßt:
Befehlsauflistung
3.3: fdisk Prompt
Command (m for help):
Drücken Sie p um Ihr derzeitige Partitionstabelle anzeigen zu lassen:
Befehlsauflistung
3.4: Eine Beispiel Partitionstabelle
Command (m for help): p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 49 264600 82 Linux swap
/dev/sda3 50 70 158760 83 Linux
/dev/sda4 71 2184 15981840 5 Extended
/dev/sda5 71 209 1050808+ 83 Linux
/dev/sda6 210 348 1050808+ 83 Linux
/dev/sda7 349 626 2101648+ 83 Linux
/dev/sda8 627 904 2101648+ 83 Linux
/dev/sda9 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/sda1 zu löschen:
Befehlsauflistung
3.5: 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 all 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.6: Eine leere Partitionstabelle
Disk /dev/sda: 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 Partitionsschema verwenden wollen!
Erstellung 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 Partition mit gesetztem bootable-Flag zu
erzeugen.
Befehlsauflistung
3.7: 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):
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.8: Erstellte Boot-Partition
Command (m for help): p
Disk /dev/sda: 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/sda1 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/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, 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 Partitionstabelle, die dieser recht ähnlich
sieht:
Befehlsauflistung
3.9: Partitionstabelle nach dem Erstellen der Swap-Partition
Command (m for help): p
Disk /dev/sda: 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/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 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/sda3 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.10: Partitionstabelle nach dem Erstellen der Root-Partition
Command (m for help): p
Disk /dev/sda: 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/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 81 506520 82 Linux swap
/dev/sda3 82 3876 28690200 83 Linux
Speichern der Partitionstabelle
Um die Partitionstabelle zu speichern und fdisk zu verlassen, drücken Sie
w.
Befehlsauflistung
3.11: Speichern und verlassen 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
Nun da Ihre Partitionen erstellt sind ist es Zeit auf diesen ein Dateisystem
einzurichten. 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 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. Dies geschieht mit mke2fs -T small /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. Dies
geschieht mit mke2fs -j -T small /dev/<device>.
JFS ist IBMs journalisiertes Hochgeschwindigkeits-Dateisystem. JFS ist
schlankes, schnelles und verläßliches B+Tree basierendes Dateisystem mit guter
Performance in zahlreichen Situationen.
ReiserFS ist ein auf B+-Trees basierendes Dateisystem mit einer insgesamt
guten Performance, besonders wenn mit vielen sehr kleinen Dateien, zur Last von
mehr CPU-Zyklen, gearbeitet wird. ReiserFS hat den Anschein weniger gepflegt zu
werden als andere Dateisysteme.
XFS ist ein Dateisystem mit Metadaten-Journalisierung, es liefert einen
robusten Satz von Features und ist auf Skalierbarkeit optimiert. XFS scheint
weniger robust zu sein bei verschiedenen Hardware-Problemen.
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/sda1 in unserem Beispiel) als ext2 und
die Root-Partition (/dev/sda3 in unserem Beispiel) als ext3 (wie in
unserem Beispiel) zu formatieren, führen Sie folgende Kommandos aus:
Befehlsauflistung
4.12: Eine Partition mit einem Dateisystem formatieren
# mke2fs /dev/sda1
# mke2fs -j /dev/sda3
Erstellen Sie nun die Dateisysteme auf Ihren neu erstellten Partitionen (oder
logischen Volumes).
Aktivieren der Swap-Partition
mkswap ist der Befehl, mit dem Sie die Swap-Partition initialisieren:
Befehlsauflistung
4.13: Erstellen der Swap-Signatur
# mkswap /dev/sda2
Um die Swap-Partition zu aktivieren, benutzen Sie swapon:
Befehlsauflistung
4.14: Aktivieren der Swap-Partition
# swapon /dev/sda2
Erstellen und aktivieren Sie jetzt Ihre Swap-Partition mit den gerade erwähnten
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 boot-
Partition:
Befehlsauflistung
5.15: Mounten von Partitionen
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
|
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 (eine virtuelle Schnittstelle zum
Kernel) auf /proc mounten. Zunächst müssen wir jedoch alle
Dateien auf der Partition ablegen.
Fahren Sie mit der Installation der Gentoo
Installationdateien fort.
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert.
|