Handbuch:X86/Installation/Festplatten

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Installation/Disks and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎தமிழ் • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
X86 Handbuch
Installation
Über die Installation
Auswahl des Mediums
Konfiguration des Netzwerks
Vorbereiten der Festplatte(n)
Installation des Stage Archivs
Installation des Basissystems
Konfiguration des Kernels
Konfiguration des Systems
Installation der Tools
Konfiguration des Bootloaders
Abschluss
Arbeiten mit Gentoo
Portage-Einführung
USE-Flags
Portage-Features
Initskript-System
Umgebungsvariablen
Arbeiten mit Portage
Dateien und Verzeichnisse
Variablen
Mischen von Softwarezweigen
Zusätzliche Tools
Eigener Portage-Tree
Erweiterte Portage-Features
Netzwerk-Konfiguration
Zu Beginn
Fortgeschrittene Konfiguration
Modulare Vernetzung
Drahtlose Netzwerke
Funktionalität hinzufügen
Dynamisches Management


Einführung in blockorientierte Geräte

Blockorientierte Geräte

Schauen wir uns die Festplatten-spezifischen Aspekte von Gentoo Linux und Linux im Allgemeinen an - insbesondere blockorientierte Geräte (Block Devices), Partitionen und Linux Dateisysteme. Wenn Sie die Vor- und Nachteile von Festplatten verstanden haben, können Sie Partitionen und Dateisysteme für die Installation erstellen.

Zu Beginn schauen wir uns blockorientierte Geräte an. SCSI- und SATA-Laufwerke haben Device-Namen wie: /dev/sda, /dev/sdb, /dev/sdc usw. Modernere Rechner können PCI-Express basierte NVMe Solid-State-Disks haben, die Device-Namen haben wie: /dev/nvme0n1, /dev/nvme0n2 usw.

Die folgende Tabelle soll Lesern dabei helfen herauszufinden, wo bestimmte Arten von blockorientierten Geräten zu finden sind:

Geräte-Typ Standard Geräte-name Anmerkungen
SATA, SAS, SCSI, oder USB flash /dev/sda Found on hardware from roughly 2007 until the present, this device handle is perhaps the most commonly used in Linux. These types of devices can be connected via the SATA bus, SCSI, USB bus as block storage. As example, the first partition on the first SATA device is called /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 The latest in solid state technology, NVMe drives are connected to the PCI Express bus and have the fastest transfer block speeds on the market. Systems from around 2014 and newer may have support for NVMe hardware. The first partition on the first NVMe device is called /dev/nvme0n1p1.
MMC, eMMC, und SD /dev/mmcblk0 embedded MMC devices, SD cards, and other types of memory cards can be useful for data storage. That said, many systems may not permit booting from these types of devices. It is suggested to not use these devices for active Linux installations; rather consider using them to transfer files, which is their design goal. Alternatively they could be useful for short-term backups.

Die oben genannten blockorientierten Geräte repräsentieren eine abstrakte Schnittstelle zur Festplatte. Benutzerprogramme können diese Block Devices nutzen, um mit der Festplatte zu interagieren, ohne sich darum sorgen zu müssen, ob die Festplatten über SATA, SCSI oder etwas anderem angebunden sind. Das Programm kann den Speicher auf der Festplatte einfach als eine Anhäufung zusammenhängender 4096-Byte (4k) Blöcke mit wahlfreiem Zugriff ansprechen.



Partitionstabellen

Obwohl es theoretisch möglich wäre, eine vollständige und unpartitionierte Festplatte für die Unterbringung eines Linux Systems zu nutzen (beispielsweise um ein btrfs RAID zu erzeugen), wird das in der Praxis selten gemacht. Statt dessen teilt man das Festplatten Block Device in kleinere, besser verwaltbare Block Devices auf. Auf x86 Systemen nennt man diese Partitionen. Derzeit gibt es zwei verschiedene Standard Partitionierungs-Technologien: MBR (manchmal aus "DOS Disklabel" genannt) und GPT. Diese hängen zusammen mit den beiden Boot-Typen: BIOS und UEFI.

GUID Partitionstabelle (GPT)

Das GUID Partition Table (GPT) Setup (auch "GPT disklabel" genannt) verwendet 64-Bit Kennzeichner für die Partitionen. Der Ort, an dem die Partitions-Informationen gespeichert werden, ist außerdem viel größer, als die 512 Bytes der MBR Partitionstabelle ("DOS disklabel"). Dies bedeutet, dass es praktisch kein Limit für die Anzahl der Partitionen gibt. Darüber hinaus wird die Größe einer Partition durch ein viel größeres Limit begrenzt (fast 8 ZiB - ja, Zebibytes).

Wenn die Software-Schnittstelle zwischen dem Betriebssystem und der Firmware UEFI ist (statt BIOS), ist GPT fast schon zwingend erforderlich, weil mit MBR (DOS disklabel) Kompatibilitäts-Probleme entstehen werden.

GPT nutzt die Vorteile von Prüfsummen und Redundanz. Es verwendet CRC32 Prüfsummen, um Fehler in den Kopfdaten und in den Partitionseinträgen zu erkennen. Weiterhin gibt es eine Kopie der GPT am Ende der Festplatte. Diese Backup Partitionstabelle kann verwendet werden, um eine beschädigte Primär-GPT am Anfang der Festplatte wiederherzustellen.

Wichtig
Es gibt ein paar Warnhinweise zu GPT:
  • GPT bei kann bei BIOS-basierten Computern verwendet werden. In diesem Fall kann aber keine Dual-Boot-Konfiguration mit Microsoft Windows Betriebssystemen eingerichtet werden. Der Grund ist, dass Microsoft Windows im UEFI-Modus bootet, wenn es eine GPT Partitionstabelle erkennt.
  • Manche ältere Motherboards mit fehlerhafter Firmware können Probleme beim Booten haben, wenn sie für den BIOS/CSM/Legacy Boot-Modus konfiguriert sind, aber auf der Festplatte eine GPT Partitionstabelle finden.

Master Boot Record (MBR) oder DOS Boot-Sector

Der Master Boot Record Boot-Sektor (auch "DOS Boot-Sektor" oder "DOS Disklabel" genannt) wurde im Jahr 1983 mit PC DOS 2.x eingeführt. MBR verwendet 32-Bit Kennzeichner für den Start der Sektoren und die Länge der Partitionen. Drei Partitions-Typen werden unterstützt: primär, erweitert und logisch. Primäre Partitionen speichern ihre Informationen im Master Boot Record selbst - ein sehr kleiner Bereich (meist 512 Bytes) ganz am Anfang der Festplatte. Aufgrund des geringen Platzes werden nur vier Primäre Partitionen unterstützt (beispielsweise /dev/sda1 bis /dev/sda4).

Um mehr als vier Partitionen zu unterstützen, kann eine der primären Partitionen in dem MBR als erweitert markiert werden. Diese Partition kann dann zusätzliche logische Partitionen beinhalten (Partitionen in einer Partition).

Wichtig
Obwohl MBR Partitionstabellen von den meisten Mainboard Herstellern noch unterstützt werden, gelten sie und die damit verbundenen Einschränkungen als veraltet. Sofern Sie nicht mit Hardware arbeiten, die von 2010 oder früher ist, sollten Sie Ihre Festplatte mit einer GUID Partititionstabelle partitionieren. Leser, die MBR Partitionstabellen verwenden müssen, sollten Folgendes beachten:
  • Die meisten Mainboards von 2010 oder später betrachten die Verwendung des MBR Boot-Sektors als veraltet (unterstützt, aber nicht optimal).
  • Da MBR Partitionstabellen 32-Bit Zeiger verwenden, können mit ihnen keine Speicherbereiche adressiert werden, die größer als 2 TiB sind.
  • Sofern keine "Erweiterte Partition" erstellt wird, unterstützen MBR Partitionstabellen maximal 4 Partitionen.
  • Von MBR Partitionstabellen gibt es kein Backup auf der Festplatte. Wenn etwas die MBR Partitionstabelle (versehentlich) überschreibt, sind die Partitions-Informationen verloren.
Trotz all dieser Nachteile werden MBR und die BIOS Boot-Methode immer noch häufig in virtualisierten Cloud-Umgebungen wie AWS verwendet.

Die Autoren dieses Handbuchs empfehlen - wann immer möglich - GPT für Gentoo Installationen zu verwenden.

Fortgeschrittene Speicherlösungen

Die x86 Installations-CDs bieten Unterstützung für den Logical Volume Manager (LVM). LVM erhöht die Flexibilität, die man mit "normalem" Partitionieren erreichen kann. So können Partitionen und Festplatten in "Volume Groups" zusammengefasst werden, "RAID Groups" können definiert werden, oder Caches auf schnellen SSDs können für langsame Festplatten eingerichtet werden. Während der folgenden Installationsanleitung konzentrieren wir uns auf "normale" Partitionen. Es ist dennoch gut zu wissen, dass auch LVM unterstützt wird. Weitere Informationen finden Sie in dem LVM Artikel. Bitte beachten Sie: Gentoo Linux unterstützt LVM, aber der Umgang mit LVM würde den Rahmen dieses Handbuchs sprengen.

Standard-Partitionsschema

In dem Rest dieses Handbuchs werden wir zwei Fälle besprechen und erklären: 1) GPT Partitionstabelle und UEFI-Boot und 2) MBR Partitionstabelle und BIOS-Boot (veraltet). Obwohl es möglich ist zu mischen, würde dies über den Rahmen dieses Handbuchs hinausgehen. Wie bereits geschrieben, sollten Installationen auf moderner Hardware eine GPT Partitionstabelle und UEFI-Boot verwenden. Als Ausnahme von dieser Regel gelten virtualisierte (Cloud-) Umgebungen, bei denen immer noch häufig eine MBR Partitionstabelle und BIOS-Boot verwendet werden.

Wir werden das folgende Partitionsschema als einfaches Beispiel verwenden:

Partition Dateisystem Größe Beschreibung
/dev/sda2 fat32 (UEFI) oder ext2 (BIOS) 256M Boot/EFI System Partition
/dev/sda2 (swap) RAM Größe * 2 Swap Partition
/dev/sda3 ext4 Rest der Festplatte Root Partition

Fortgeschrittene, denen diese Informationen ausreichen, können die folgenden Abschnitte überspringen und direkt zur Partitionierung weitergehen.

Sowohl fdisk, als auch parted sind Partitionierungs-Tools. fdisk ist sehr bekannt, stabil und die erste Wahl für Arbeiten an MBR Partitionstabellen. parted war eines der ersten Block Device Management-Programme, das auch mit GPT Partitionstabellen umgehen konnte. Im Folgenden wird fdisk verwendet, weil es ein besseres textbasiertes Benutzer-Interface hat.

Bevor wir zu den Anweisungen zur Erstellung kommen, beschreiben die ersten Abschnitte im Detail, wie Partitionsschemas erstellt werden können und was die häufigsten Fallstricke sind.

Ein Partitionsschema entwerfen

Wie viele Partitionen und wie groß?

Bei dem Design des Partitionsschemas sollten die Anforderungen an das System und an die Dateisysteme berücksichtigt werden. Wenn es viele Nutzer gibt, ist eine eigene Partition /home/ ratsam, da diese die Sicherheit erhöht und Backups und andere Wartungsarbeiten vereinfacht. Wenn Gentoo installiert wird, um als Mailserver zu dienen, dann sollte es eine eigene Partition /var/ geben, weil alle Mails im Verzeichnis /var/ gespeichert werden. Spiele-Server werden eine eigene Partition /opt/ besitzen, da die meiste Spiele-Server-Software dort installiert wird. Der Grund für diese Empfehlungen ist ähnlich wie für das /home/ Verzeichnis: Sicherheit, Backups und Wartung.

Bei den meisten Gentoo-Installationen sollten /usr/ und /var/ relativ groß sein. In /usr werden die Mehrzahl der Anwendungen und auch der Linux Kernel Quellcode gespeichert (unter /usr/src). Standardmäßig enthält /var/ das Gentoo ebuild Repository (unter /var/db/repos/gentoo), das alleine schon rund 650 MiB Plattenplatz benötigt. Diese Größenabschätzung enthält noch nicht den benötigten Plattenplatz für die Verzeichnisse /var/cache/distfiles und /var/cache/binpkgs, die sich im Laufe der Zeit mit Source-Code Dateien und (optional) mit Binärpaketen füllen werden - je nachdem, wann und wie sie dem System hinzugefügt werden.

Die Anzahl und Größe der Partitionen hängt vom Abwägen der Vor- und Nachteile und der Auswahl der besten Lösung für einen gegebenen Anwendungsfall ab. Separate Partitionen oder Volumes haben folgende Vorteile:

  • Sie können das performanteste Dateisystem für jede Partition oder jedes Volume wählen.
  • Dem Gesamtsystem kann der freie Speicherplatz nicht ausgehen, wenn ein fehlerhaftes Tool kontinuierlich Dateien auf eine Partition oder ein Volume schreibt.
  • Falls nötig, kann die Zeit für Dateisystemüberprüfungen reduziert werden, da mehrere Überprüfungen gleichzeitig durchgeführt werden können. (Dieser Vorteil kommt aber eher bei mehreren Festplatten, als bei mehreren Partitionen auf einer Festplatte zum Tragen.)
  • Sie können die Sicherheit erhöhen, indem Sie einige Partitionen oder Volumes "read-only", nosuid (setuid Flags werden ignoriert), noexec (executable Flags werden ignoriert) etc. einbinden.


Viele separate Partitionen können aber auch Nachteile haben:

  • Wenn diese schlecht an das System angepasst sind, kann es sein, dass eine Partition voll ist und auf einer anderen Partition noch viel freier Platz verfügbar ist.
  • Eine separate Partition für /usr/ kann es erforderlich machen, dass beim Booten ein initramfs verwendet wird, welches diese Partitionen vor der Ausführung anderer Boot-Skripte mountet. Das Erzeugen und Betreiben eines initramsfs ist nicht Teil dieses Handbuchs. Wir empfehlen Anfängern, für /usr/ keine eigene Partition zu verwenden.
  • Es gibt ein Limit von maximal 15 Partitionen für SCSI und SATA - es sei denn, der Datenträger nutzt GPT-Labels.
Notiz
Wenn Sie systemd verwenden wollen, muss /usr/ beim Booten verfügbar sein - entweder als Teil des Root-Dateisystems oder mit Hilfe eines initramfs gemountet.

Was ist mit dem Swap-Speicher?

Es gibt keine perfekte Größe für den Swap-Speicher. Der Zweck von Swap-Speicher ist, Festplattenspeicherplatz für den Kernel bereitzuhalten, wenn der interne Speicher (RAM) knapp wird. Der Swap-Speicher erlaubt dem Kernel, Speicherseiten, auf die vermutlich nicht bald zugegriffen wird, auf die Platte auszulagern (Swap oder Page-Out). Dadurch kann Arbeitsspeicher im RAM für den aktuell laufenden Prozess freigemacht werden. Werden die auf die Festplatte ausgelagerten Speicherseiten (Pages) jedoch plötzlich benötigt, müssen diese Seiten wieder zurück in den Arbeitsspeicher geladen werden (Page-In). Dies dauert jedoch erheblich länger, als wenn die Daten direkt aus dem RAM gelesen werden könnten (da Festplatten verglichen mit Arbeitsspeicher sehr langsam sind).

Wenn auf einem System keine speicherintensiven Anwendungen ausgeführt werden oder das System viel RAM zur Verfügung hat, benötigt es vermutlich nicht viel Swap-Speicher. Wenn jedoch der Ruhezustand "Hibernation" verwendet werden soll, wird der Swap-Speicher verwendet, um den gesamten Inhalt des Hauptspeichers (RAM) zu sichern (dieser Ruhezustand wird bei Desktop- und Laptop-Systemen häufiger verwendet, als bei Servern). Wenn das System den Ruhezustand "Hibernation" unterstützen soll, muss der Swap-Speicher so groß wie oder größer als der Hauptspeicher (RAM) sein.

Als generelle Regel gilt: der Swap-Speicher sollte zwei Mal so groß sein wie der Arbeitsspeicher (RAM). Auf Systemen mit mehreren (rotierenden) Festplatten ist es sinnvoll, eine Swap-Partition auf jeder Festplatte einzurichten, damit Schreib-/Lese-Operationen parallel ausgeführt werden können. Je schneller auf einen Festplatte zugegriffen werden kann, desto schneller wird das System arbeiten, wenn auf Swap-Speicher zugegriffen werden muss. Wenn zwischen rotierenden Festplatten und SSDs gewählt werden kann, ist es aus Performance-Sicht besser, den Swap-Speicher auf die SSD zu legen. Alternativ zu Swap-Partitionen können auch Swap-Dateien verwendet werden; dies ist hauptsächlich interessant bei Systemen mit sehr geringem Festplatten-Platz.


Was ist die EFI System-Partition (ESP)?

Wenn Sie Gentoo auf einem System installieren, das UEFI zum Booten des Betriebssystems verwendet (statt des BIOS), ist es wichtig, dass eine EFI System-Partition (ESP) erzeugt wird. Die folgenden Anweisungen enthalten die erforderlichen Hinweise, um eine ESP zu erzeugen. Eine EFI System-Partition ist nicht erforderlich, wenn im BIOS/Legacy-Modus gebootet werden soll.

Die EFI System-Partition muss eine FAT Variante sein (derartige Dateisysteme werden auf Linux Systemen oft als vfat angezeigt). Die offizielle UEFI Spezifikation deutet darauf hin, dass FAT12-, FAT16- oder FAT32-Dateisysteme von der UEFI Firmware akzeptiert werden, wobei für die ESP FAT32 empfohlen wird. Nach dem Partitionieren sollten Sie die ESP entsprechend formatieren:

root #mkfs.fat -F 32 /dev/sda2
Wichtig
Wenn die ESP nicht mit einer FAT-Variante formatiert wird, wird die UEFI Firmware Ihres Systems den Bootloader (oder den Linux Kernel) nicht finden und wahrscheinlich nicht in der Lage sein, das Betriebssystem zu booten!


Was ist die BIOS Boot-Partition?

Eine BIOS Boot-Partition ist nur notwendig, wenn eine GPT Partitionstabelle mit GRUB2 im BIOS/Legacy Boot-Modus verwendet wird. Sie ist nicht notwendig, wenn im EFI/UEFI-Modus gebootet werden soll. Sie ist ebenfalls nicht notwendig, wenn eine MBR Partitionstabelle verwendet wird. Sie ist eine sehr kleine Partition (1 bis 2 MB), in der Bootloader wie GRUB2 zusätzliche Daten ablegen können, die nicht in den zugeordneten Speicher passen (einige hundert Bytes im Fall des MBR) und die nirgendwo anders gespeichert werden können. In diesem Handbuch werden wir keine BIOS Boot-Partition verwenden.


Partitionieren des Laufwerks mit GPT für UEFI

Die folgenden Abschnitte erklären, wie das Beispiel Partitionslayout für eine GPT / UEFI-Boot Installation mit fdisk erstellt werden kann. Das Beispiel Partitionslayout wurde bereits früher erwähnt:

Partition Beschreibung
/dev/sda2 EFI System (und boot)
/dev/sda2 Swap Partition
/dev/sda3 Root Partition

Passen Sie das Partitionslayout nach Ihren persönlichen Bedürfnissen an.

Anzeigen des Partitionslayouts

fdisk ist ein beliebtes und leistungsstarkes Tool zum Aufteilen eine Festplatte in Partitionen. Starten Sie fdisk mit der Festplatte (in unserem Beispiel verwenden wir /dev/sda):

root #fdisk /dev/sda

Verwenden Sie die p-Taste, um die aktuelle Konfiguration der Partitionen anzuzeigen:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 21AAD8CF-DB67-0F43-9374-416C7A4E31EA
 
Device        Start      End  Sectors  Size Type
/dev/sda1      2048   526335   524288  256M EFI System
/dev/sda2    526336  2623487  2097152    1G Linux swap
/dev/sda3   2623488 19400703 16777216    8G Linux filesystem
/dev/sda4  19400704 60549086 41148383 19.6G Linux filesystem

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

Erzeugen eines neuen Disklabels / Löschen aller Partitionen

Drücken Sie g, um eine neue GPT Partitionstabelle auf der Festplatte zu erstellen. Dies wird alle existierenden Partitionen löschen.

Command (m for help):g
Created a new GPT disklabel (GUID: 87EA4497-2722-DF43-A954-368E46AE5C5F).

Wenn es bereits eine GPT Partitionstabelle gibt (siehe Ausgabe der Taste p weiter oben), können Sie alternativ die einzelnen Partitionen der Reihe nach löschen. Drücken Sie d um eine Partition zu löschen. Zum Löschen einer vorhandenen Partition /dev/sda1:

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

Die Partition ist nun zum Löschen vorgemerkt. Sie taucht nicht länger auf, wenn die Liste der der Partitionen ausgegeben wird (p). Sie wird jedoch nicht gelöscht, solange die Änderungen nicht gespeichert werden. Dies erlaubt dem Benutzer, die Operation abzubrechen, falls ein Fehler passiert ist - in diesem Fall drücken Sie umgehend q gefolgt von Enter. Die bisherige Partition wird dann nicht gelöscht.

Drücken Sie wiederholt p, um die Partitionsliste anzuzeigen, gefolgt von d und der Nummer der zu löschenden Partition. Schließlich wird die Partitionstabelle leer sein:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 87EA4497-2722-DF43-A954-368E46AE5C5F

Jetzt, da die Partitionstabelle im Speicher leer ist, sind wir bereit die Partitionen zu erstellen.

Erstellen der EFI System-Partition (ESP)

Erstellen Sie zunächst eine kleine EFI System-Partition, die später unter /boot gemountet werden wird. Drücken Sie n für neue Partition, gefolgt von 1, um die erste Partition zu wählen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, stellen Sie sicher, dass die Partition bei 2048 beginnt (dies wird möglicherweise für den Bootloader benötigt) und drücken Sie Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +256M ein, um eine 256 MB große Partition zu erstellen:

Command (m for help):n
Partition number (1-128, default 1): 1
First sector (2048-60549086, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549086, default 60549086): +256M
 
Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB.

Markieren Sie die Partition als EFI System-Partition:

Command (m for help):t
Selected partition 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.

Erstellen der Swap-Partition

Erstellen Sie als nächstes die Swap-Partition. Drücken Sie n für neue Partition, dann 2, um die zweite Partition (/dev/sda2) zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +4G ein (oder jede andere Größe, die Sie als Swap-Speicherplatz benötigen), um eine 4 GB große Partition zu erstellen.

Command (m for help):n
Partition number (2-128, default 2): 
First sector (526336-60549086, default 526336): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549086, default 60549086): +4G
 
Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.

Nachdem dies erledigt ist, drücken Sie t um den Partitionstyp einzustellen, 2 um die gerade erzeugte Partition auszuwählen und geben Sie 19 ein, um den Partitionstyp auf "Linux Swap" zu setzen.

Command (m for help):t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): 19
 
Changed type of partition 'Linux filesystem' to 'Linux swap'.

Erstellen der Root-Partition

Um schließlich die Root-Partition zu erstellen, drücken Sie ein weiteres Mal n, um eine neue Partition zu erstellen. Drücken Sie 3 um die dritte Partition /dev/sda3 zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden bestätigen Sie nochmals die Voreinstellung durch Enter, um den bisher noch frei verbliebenen restlichen Festplattenanteil dafür zu verwenden. Nachdem Sie diese Schritte abgeschlossen haben, sollte die Eingabe von p eine Partitionstabelle ausgeben, die der folgenden ähnlich sehen sollte:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 87EA4497-2722-DF43-A954-368E46AE5C5F
 
Device       Start      End  Sectors  Size Type
/dev/sda1     2048   526335   524288  256M EFI System
/dev/sda2   526336  8914943  8388608    4G Linux swap
/dev/sda3  8914944 60549086 51634143 24.6G Linux filesystem

Speichern des Partitionslayouts

Um die Partitionstabelle zu speichern und fdisk zu beenden, drücken Sie w.

Command (m for help):w

Nachdem die Partitionen erstellt wurden, ist es jetzt Zeit, Dateisysteme darauf anzulegen.

Partitionieren des Laufwerks mit MBR für BIOS / Legacy-Boot

Die folgenden Abschnitte erklären, wie das Beispiel Partitionslayout für eine MBR / BIOS-Boot Installation erstellt werden kann. Das Beispiel Partitionslayout wurde bereits früher erwähnt:

Partition Description
/dev/sda2 Boot partition
/dev/sda2 Swap partition
/dev/sda3 Root partition

Passen Sie das Partitionslayout nach Ihren persönlichen Bedürfnissen an.

Anzeigen des aktuellen Partitionslayouts

Starten Sie fdisk mit der Festplatte (in unserem Beispiel verwenden wir /dev/sda):

root #fdisk /dev/sda

Verwenden Sie die p-Taste, um die aktuelle Konfiguration der Partitionen anzuzeigen:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 21AAD8CF-DB67-0F43-9374-416C7A4E31EA
 
Device        Start      End  Sectors  Size Type
/dev/sda1      2048   526335   524288  256M EFI System
/dev/sda2    526336  2623487  2097152    1G Linux swap
/dev/sda3   2623488 19400703 16777216    8G Linux filesystem
/dev/sda4  19400704 60549086 41148383 19.6G Linux filesystem

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

Erzeugen eines neuen Disklabels / Löschen aller Partitionen

Drücken Sie o, um eine neue MBR Partitionstabelle (im Folgenden auch "DOS disklabel" genannt) auf der Festplatte zu erstellen. Dies wird alle existierenden Partitionen löschen.

Command (m for help):o
Created a new DOS disklabel with disk identifier 0xe04e67c4.
The device contains 'gpt' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Wenn bereits eine MBR Partitionstabelle existiert (siehe Ausgabe der Taste p weiter oben), können Sie alternativ die einzelnen Partitionen der Reihe nach löschen. Drücken Sie d um eine Partition zu löschen. Zum Löschen einer vorhandenen Partition /dev/sda1:

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

Die Partition ist nun zum Löschen vorgemerkt. Sie taucht nicht länger auf, wenn die Liste der der Partitionen ausgegeben wird (p). Sie wird jedoch nicht gelöscht, solange die Änderungen nicht gespeichert werden. Dies erlaubt dem Benutzer, die Operation abzubrechen, falls ein Fehler passiert ist - in diesem Fall drücken Sie umgehend q gefolgt von Enter. Die bisherige Partition wird dann nicht gelöscht.

Drücken Sie wiederholt p, um die Partitionsliste anzuzeigen, gefolgt von d und der Nummer der zu löschenden Partition. Schließlich wird die Partitionstabelle leer sein:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4

Jetzt sind wir bereit die Partitionen zu erstellen.

Erstellen der Boot-Partition

Erstellen Sie zunächst eine kleine Partition, die später unter /boot gemountet werden wird. Drücken Sie n für neue Partition, gefolgt von p für eine primäre Partition und 1, um die erste primäre Partition zu wählen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, stellen Sie sicher, dass die Partition bei 2048 beginnt (dies wird möglicherweise für den Bootloader benötigt) und drücken Sie Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +256M ein, um eine 256 MB große Partition zu erstellen:

Command (m for help):n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-60549119, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549119, default 60549119): +256M
 
Created a new partition 1 of type 'Linux' and of size 256 MiB.

Erstellen der Swap-Partition

Erstellen Sie als nächstes die Swap-Partition. Drücken Sie n für neue Partition, gefolgt von p für eine primäre Partition und dann 2, um die zweite primäre Partition (/dev/sda2) zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden geben Sie +4G ein (oder jede andere Größe, die Sie als Swap-Speicherplatz benötigen), um eine 4 GB große Partition zu erstellen.

Command (m for help):n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (526336-60549119, default 526336): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549119, default 60549119): +4G
 
Created a new partition 2 of type 'Linux' and of size 4 GiB.

Nachdem dies erledigt ist, drücken Sie t um den Partitionstyp einzustellen, 2 um die gerade erzeugte Partition auszuwählen und geben Sie 82 ein, um den Partitionstyp auf "Linux Swap" zu setzen.

Command (m for help):t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Erstellen der Root-Partition

Um schließlich die Root-Partition zu erstellen, drücken Sie ein weiteres Mal n, um eine neue Partition zu erstellen. Drücken Sie p und 3, um die dritte primäre Partition /dev/sda3 zu erstellen. Wenn Sie aufgefordert werden den ersten Sektor einzugeben, bestätigen Sie die Voreinstellung durch Enter. Wenn Sie nach dem letzten Sektor gefragt werden bestätigen Sie nochmals die Voreinstellung durch Enter, um den bisher noch frei verbliebenen restlichen Festplattenanteil dafür zu verwenden. Nachdem Sie diese Schritte abgeschlossen haben, sollte die Eingabe von p eine Partitionstabelle ausgeben, die der folgenden ähnlich sehen sollte:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4
 
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048   526335   524288  256M 83 Linux
/dev/sda2        526336  8914943  8388608    4G 82 Linux swap / Solaris
/dev/sda3       8914944 60549119 51634176 24.6G 83 Linux

Speichern des Partitionslayouts

Um die Partitionstabelle zu speichern und fdisk zu beenden, drücken Sie w.

Command (m for help):w

Nachdem die Partitionen erstellt wurden, ist es jetzt Zeit, Dateisysteme darauf anzulegen.



Erstellen von Dateisystemen

Einleitung

Nachdem die Partitionen angelegt wurden, ist es an der Zeit, Dateisysteme darauf anzulegen. Im nächsten Abschnitt werden die unterschiedlichen Dateisysteme beschrieben, die Linux unterstützt. Leser, die bereits wissen, welches Dateisystem sie verwenden wollen, können bei Dateisystem auf einer Partition anlegen fortfahren. Alle anderen sollten weiterlesen, um mehr über die verfügbaren Dateisysteme zu erfahren ...

Dateisysteme

Linux unterstützt mehrere Dutzend Dateisysteme, wobei allerdings viele davon für ganz spezielle Anwendungszwecke optimiert sind. Nur einige Dateisysteme gelten als stabil auf der x86 Architektur. Es ist ratsam, sich über Dateisysteme und deren Unterstützungsgrad zu informieren, damit Sie nicht für wichtige Partitionen ein eher experimentelles Dateisystem wählen. ext4 ist das empfohlene all-round Dateisystem für alle Plattformen.

btrfs
Ein "next-generation" Dateisystem, das moderne Features wie Snapshots, Selbst-Heilung mit Hilfe von Checksums, transparente Komprimierung, Subvolumes und integriertes RAID enthält. Kernel älter als 5.4.y enthalten Fehler, die zu "Filesystem corruption" führen können. Solche Kernel sollten keinesfalls auf Produktibsystemen eingesetzt werden. Das englische Original dieses Handbuchs beschreibt die Fehler folgendermaßen: "Kernels prior to 5.4.y are not guaranteed to be safe to use with btrfs in production because fixes for serious issues are only present in the more recent releases of the LTS kernel branches. Filesystem corruption issues are common on older kernel branches, with anything older than 4.4.y being especially unsafe and prone to corruption. Corruption is more likely on older kernels (than 5.4.y) when compression is enabled. RAID 5/6 and quota groups unsafe on all versions of btrfs. Furthermore, btrfs can counter-intuitively fail filesystem operations with ENOSPC when df reports free space due to internal fragmentation (free space pinned by DATA + SYSTEM chunks, but needed in METADATA chunks). Additionally, a single 4K reference to a 128M extent inside btrfs can cause free space to be present, but unavailable for allocations. This can also cause btrfs to return ENOSPC when free space is reported by df. Installing sys-fs/btrfsmaintenance and configuring the scripts to run periodically can help to reduce the possibility of ENOSPC issues by rebalancing btrfs, but it will not eliminate the risk of ENOSPC when free space is present. Some workloads will never hit ENOSPC while others will. If the risk of ENOSPC in production is unacceptable, you should use something else. If using btrfs, be certain to avoid configurations known to have issues. With the exception of ENOSPC, information on the issues present in btrfs in the latest kernel branches is available at the btrfs wiki status page."
ext2
Das ist das erprobte und wahre Linux Dateisystem - aber es hat kein Metadaten-Journaling. Dies bedeutet, dass routinemäßige ext2 Dateisystemüberprüfungen beim Systemstart viel Zeit kosten können. Mittlerweile gibt es eine gute Auswahl an Journaling-Dateisystemen, die sehr schnell auf Konsistenz überprüft werden können und deshalb gegenüber ihren Nicht-Journaling-Ausführungen im Allgemeinen bevorzugt werden. Journaling-Dateisysteme verhindern lange Verzögerungen wenn das System gebootet ist und es passiert, dass das Dateisystem in einem inkonsistenten Zustand ist.
ext3
Die Journaling-Version des Dateisystems ext2. Es bietet Metadaten-Journaling für schnelle Wiederherstellung zusätzlich zu anderen Journaling-Modi wie Full-Data- und Ordered-Data-Journaling. Es verwendet einen H-Baum (Htree) Index der hohe Leistung in fast allen Situationen ermöglicht. Kurz gesagt, ext3 ist ein sehr gutes und verlässliches Dateisystem.
ext4
Ursprünglich als Abspaltung von ext3 entstanden, bringt ext4 neue Funktionen, Leistungsverbesserungen und den Wegfall der Größenbeschränkungen durch moderate Änderungen des On-Disk-Formats. Es kann Datenträger mit bis zu 1 EB und mit Dateigrößen von bis zu 16 TB verwalten. Anstelle der klassischen ext2/3 Bitmap-Block-Allokation nutzt ext4 Extents, die die Performance bei großen Dateien verbessern und Fragmentierung reduzieren. ext4 bietet zusätzlich ausgereiftere Block-Allokation-Algorithmen (Zeitverzögerte Allokation und mehrfache Preallokation), die es dem Dateisystemtreiber ermöglichen, das Layout der Daten auf der Festplatte zu optimieren. Es ist das empfohlene Allzweck-Dateisystem für jede Plattform.
f2fs
The Flash-Friendly File System was originally created by Samsung for the use with NAND flash memory. As of Q2, 2016, this filesystem is still considered immature, but it is a decent choice when installing Gentoo to microSD cards, USB drives, or other flash-based storage devices.
JFS
Das Hochleistungs-Journaling-Dateisystem von IBM. JFS ist ein schlankes, schnelles und verlässliches B+-Baum basiertes Dateisystem mit guter Performance unter verschiedensten Gegebenheiten.
ReiserFS
Ein B+-Baum basiertes Journaling-Dateisystem mit einer guten Allgemeinleistung, besonders im Umgang mit winzigen Dateien für den Preis von höherer CPU-Auslastung. ReiserFS version 3 is included in the mainline Linux kernel, but is not recommended to be used when initially installing a Gentoo system. Newer versions of the ReiserFS filesystem exist, however they require additional patching of the mainline kernel to be utilized.
XFS
Ein Dateisystem mit Metadaten-Journaling, das mit einer Reihe robuster Fähigkeiten daherkommt und für Skalierbarkeit optimiert ist. XFS scheint gegenüber unterschiedlichen Hardwareproblemen weniger fehlertolerant zu sein, aber es wird kontinuierlich weiterentwickelt und um moderne Features erweitert.
VFAT
Auch als FAT32 bekannt, wird von Linux unterstützt, aber unterstützt keine Standard UNIX Berechtigungen. Es wird vor allem aus Kompatibilitätsgründen zu anderen Betriebssystemen (Microsoft Windows oder Apple's OSX) verwendet. VFAT ist Voraussetzung für die Bootloader Firmware mancher Systeme (wie UEFI).
NTFS
This "New Technology" filesystem is the flagship filesystem of Microsoft Windows since Windows NT 3.1. Similar to VFAT above it does not store UNIX permission settings or extended attributes necessary for BSD or Linux to function properly, therefore it should not be used as a root filesystem. It should only be used for interoperability with Microsoft Windows systems (note the emphasis on only).

Dateisystem auf einer Partition anlegen

Dateisysteme können mit Hilfe von Programmen auf einer Partition oder auf einem Datenträger angelegt werden. Die folgende Tabelle zeigt, welchen Befehl Sie für welches Dateisystem benötigen. Um weitere Informationen zu einem Dateisystem zu erhalten, können Sie auf den Namen des Dateisystems klicken.

Dateisystem Befehl zum Anlegen Teil der Minimal CD? Gentoo Paket
btrfs mkfs.btrfs Yes sys-fs/btrfs-progs
ext2 mkfs.ext2 Yes sys-fs/e2fsprogs
ext3 mkfs.ext3 Yes sys-fs/e2fsprogs
ext4 mkfs.ext4 Yes sys-fs/e2fsprogs
f2fs mkfs.f2fs Yes sys-fs/f2fs-tools
jfs mkfs.jfs Yes sys-fs/jfsutils
reiserfs mkfs.reiserfs Yes sys-fs/reiserfsprogs
xfs mkfs.xfs Yes sys-fs/xfsprogs
vfat mkfs.vfat Yes sys-fs/dosfstools
NTFS mkfs.ntfs Yes sys-fs/ntfs3g

Um beispielsweise die EFI System-Partition (/dev/sda2) als FAT32 und die root-Partition (/dev/sda4) als ext4 zu formatieren (wie in dem Beispiel-Partitionsschema), würde man folgende Befehle verwenden:

root #mkfs.vfat -F 32 /dev/sda2
root #mkfs.ext4 /dev/sda4

Bei der Verwendung von ext2, ext3 oder ext4 auf kleinen Partitionen (kleiner als 8 GiB), sollte das Dateisystem mit den passenden Optionen erstellt werden, um genügend Inodes zu reservieren. Dies kann mit einer der folgenden Anweisungen erfolgen:

root #mkfs.ext2 -T small /dev/<device>
root #mkfs.ext3 -T small /dev/<device>
root #mkfs.ext4 -T small /dev/<device>

Dies vervierfacht die Zahl der Inodes für ein angegebenes Dateisystem in der Regel, da es dessen "bytes-per-inode" (Bytes pro Inode) von 16 kB auf 4 kB pro Inode reduziert.

Erzeugen Sie nun die Dateisysteme auf den zuvor erzeugten Partitionen (oder logischen Laufwerken).

Aktivieren der Swap-Partition

mkswap ist der Befehl der verwendet wird um Swap-Partitionen zu initialisieren:

root #mkswap /dev/sda3

Zur Aktivierung der Swap-Partition verwenden Sie swapon:

root #swapon /dev/sda3

Erzeugen und aktivieren Sie jetzt die Swap-Partition mit den oben genannten Befehlen.

Einhängen der Root-Partition

Nun, da die Partitionen initialisiert sind und ein Dateisystem beinhalten, ist es an der Zeit, diese einzuhängen. Verwenden Sie den Befehl mount, aber vergessen Sie nicht die notwendigen Einhänge-Verzeichnisse für jede Partition zu erzeugen. Als Beispiel hängen wir die Root-Partition ein:

root #mount /dev/sda4 /mnt/gentoo
Notiz
Wenn sich /tmp/ auf einer separaten Partition befinden muss, ändern Sie die Berechtigungen nach dem Einhängen:
root #chmod 1777 /mnt/gentoo/tmp
Dies gilt ebenfalls für /var/tmp.

In der Anleitung wird später das Dateisystem proc (eine virtuelle Schnittstelle zum Kernel) zusammen mit anderen Kernel Pseudo-Dateisystemen eingehängt. Zunächst installieren wir jedoch die Gentoo Installationsdateien.