Gentoo Linux amd64 Handbuch: Gentoo installieren
Do not try to follow instructions directly from the Handbook:Parts namespace (WHICH THIS PAGE!), or any of its sub-pages. The Handbook:Parts is a meta handbook used for transcluding text into other Handbooks. Use the architecture-specific Handbooks found in the Handbook list for complete installation instructions.
Einleitung
Willkommen
Herzlich willkommen bei Gentoo. Sie sind dabei, in die Welt der Wahlmöglichkeiten und Performance einzusteigen. Bei Gentoo dreht sich vieles um Auswahlmöglichkeiten. Während der Installation von Gentoo wird Ihnen das mehrfach bewusst werden - Sie haben die Wahl, wie viele Pakete Sie selbst kompilieren, wie Sie Gentoo installieren, welchen Systemlogger Sie benutzen und vieles mehr.
Openness
Gentoo's premier tools are built from simple programming languages. Portage, Gentoo's package maintenance system, is written in Python. Ebuilds, which provide package definitions for Portage are written in bash. Our users are encouraged to review, modify, and enhance the source code for all parts of Gentoo.
By default, packages are only patched when necessary to fix bugs or provide interoperability within Gentoo. They are installed to the system by compiling source code provided by upstream projects into binary format (although support for precompiled binary packages is included too). Configuring Gentoo happens through text files.
For the above reasons and others: openness is built-in as a design principal.
Choice
Gentoo ist eine schnelle, moderne Metadistribution mit einem klaren und flexiblen Design. Gentoo ist auf einem Ökosystem freier Software gebaut und versteckt das, was unter der Haube steckt, nicht vor seinen Benutzern. Portage, das von Gentoo benutzte Paketmanagementsystem, ist in Python geschrieben, was bedeutet, dass Sie sich die Quelltexte einfach anschauen und nach Belieben verändern können. Gentoos Paketsystem benutzt den Quelltext (obwohl auch Unterstützung für vorkompilierte Pakete vorhanden ist) und die Konfiguration von Gentoo findet in normalen Textdateien statt. Mit anderen Worten: Offenheit überall.
When installing Gentoo, choice is made clear throughout the Handbook. System administrators can choose two fully supported init systems (Gentoo's own OpenRC and Freedesktop.org's systemd), partition structure for storage disk(s), what file systems to use on the disk(s), a target system profile, remove or add features on a global (system-wide) or package specific level via USE flags, bootloader, network management utility, and much, much more.
As a development philosophy, Gentoo's authors try to avoid forcing users onto a specific system profile or desktop environment. If something is offered in the GNU/Linux ecosystem, it's likely available in Gentoo. If not, then we'd love to see it so. For new package requests please file a bug report or create your own ebuild repository.
Power
Being a source-based operating system allows Gentoo to be ported onto new computer instruction set architectures and also allows all installed packages to be tuned. This strength surfaces another Gentoo design principal: power.
A system administrator who has successfully installed and customized Gentoo has compiled a tailored operating system from source code. The entire operating system can be tuned at a binary level via the mechanisms included in Portage's make.conf file. If so desired, adjustments can be made on a per-package basis, or a package group basis. In fact, entire sets of functionality can be added or removed using USE flags.
Es ist sehr wichtig, dass jeder versteht, dass Auswahlmöglichkeiten das sind, was Gentoo ausmacht. Wir versuchen, Benutzer nicht zu Dingen zu zwingen, die diese nicht möchten. Sollte das doch vorkommen, erstellen Sie bitte einen Bug Report.
Wie ist die Installation strukturiert
Die Installation von Gentoo kann als eine Prozedur von 10 Schritten gesehen werden, was den Kapiteln 2 bis 11 entspricht. Jeder Schritt führt zu einem bestimmten Ergebnis:
Schritt | Ergebnis |
---|---|
1 | Der Anwender befindet sich in einer funktionierenden Umgebung aus der Gentoo installiert werden kann. |
2 | Die Internetverbindung ist für die Gentoo-Installation vorbereitet. |
3 | Die Festplatten sind für die Gentoo-Installation vorbereitet. |
4 | Die Installationsumgebung ist vorbereitet und der Anwender ist bereit zum chroot in die neue Umgebung. |
5 | Die Kernpakete, die in allen Gentoo-Installationen gleich sind, sind installiert. |
6 | Der Linux-Kernel ist installiert. |
7 | Der Anwender hat die meisten Gentoo-Systemkonfigurationsdateien konfiguriert. |
8 | Die notwendigen System-Tools sind installiert. |
9 | Der gewählte Bootloader ist installiert und konfiguriert. |
10 | Die neu installierte Gentoo Linux Umgebung ist bereit entdeckt zu werden. |
Wenn Ihnen verschiedene Auswahlmöglichkeiten vorgestellt werden, geben wir unser Bestes, Ihnen die jeweiligen Vor- und Nachteile vorzustellen. Im weiteren Text wird zunächst eine Standardauswahl beschrieben (die im Titel durch "Standard:" gekennzeichnet ist), und anschließend die anderen Wahlmöglichkeiten (markiert durch "Alternativ:"). Die Standardauswahl ist nicht unbedingt das, was wir empfehlen. Es ist die Wahl, von der wir annehmen, dass die meisten Gentoo-Benutzer sie treffen werden.
Manchmal können Sie optionalen Schritten folgen. Solche Schritte sind als "Optional:" gekennzeichnet und nicht unbedingt notwendig, um Gentoo zu installieren. Dennoch können optionale Schritte von vorherigen Entscheidungen abhängen. Wir informieren Sie, wenn das passiert. Sowohl wenn Sie die Entscheidung treffen, als auch wenn der optionale Schritt beschrieben wird.
Installationsoptionen von Gentoo
Gentoo kann auf vielen verschiedenen Wegen installiert werden. Sie können ein offizielles Gentoo Installationsmedium wie unsere bootbaren ISO-Images herunterladen. Dieses Image kann auf einen USB-Stick kopiert oder aus dem Netzwerk gebootet werden. Alternativ können Sie Gentoo von einem nicht offiziellem Medium, wie zum Beispiel aus einer bereits installierten Distribution heraus oder von einem anderen, nicht von Gentoo herausgegebenen, bootbaren Datenträger (wie z.B. Knoppix) installieren.
Dieses Dokument beschreibt die Installation mit einem offiziellen Gentoo Installations-Datenträger, oder, in bestimmten Fällen, Netboot. Wir gehen davon aus, dass Sie die aktuellste Version eines jeden Pakets installieren wollen.
Für weitere Hilfe zu den anderen Installationsmöglichkeiten, einschließlich der Nutzung von nicht-Gentoo Boot-Medien, lesen Sie bitte unseren Leitfaden über alternative Installationsmethoden.
Wir bieten ebenfalls ein Gentoo Installation Tipps & Tricks-Dokument, das weitere nützliche Informationen enthält.
Probleme?
Wenn Sie ein Problem während der Installation (oder in der Dokumentation) entdecken, schauen Sie bitte in unserem Bug-Tracking-System, ob der Fehler bereits bekannt ist. Wenn nicht, erstellen Sie bitte einen Fehlerbericht, damit wir uns der Sache annehmen können. Haben Sie keine Angst vor den Entwicklern, denen Ihr Fehlerbericht zugeteilt wird -- für gewöhnlich essen sie keine Menschen.
Obwohl das Dokument, das Sie gerade lesen, architekturspezifisch ist, kann es Referenzen zu anderen Architekturen enthalten. Das liegt daran, dass viele Teile des Gentoo Handbuchs Textpassagen verwenden, die für alle Architekturen gleich sind (um doppelten Arbeitsaufwand zu vermeiden). Wir versuchen, solche Referenzen auf ein Minimum zu beschränken, um Missverständnisse zu vermeiden.
Wenn Sie sich nicht sicher sind, ob ein Problem ein Benutzerproblem ist (ein Fehler, den Sie trotz sorgfältiger Lektüre dieser Dokumentation machen) oder ein Softwareproblem (ein Fehler, den wir trotz sorgfältigen Tests der Installation/Dokumentation begangen haben) sollten Sie den Channel #gentoo-de (webchat) im irc.libera.chat Netz besuchen. Natürlich sind Sie auch sonst willkommen, da unser Chat-Channel alle Gentoo-Themen abdeckt.
Apropos, wenn Sie eine weitere Frage hinsichtlich Gentoo haben, werfen Sie zunächst einen Blick in den Artikel Häufig gestellte Fragen (FAQ) hier im Wiki. Sie können auch die FAQs in unserem Forum lesen.
Hardware-Anforderungen
Bevor wir loslegen, listen wir die Hardware-Anforderungen für eine erfolgreiche Gentoo-Installation auf Ihrem amd64-System auf.
Minimal CD | LiveDVD | |
---|---|---|
CPU | ||
Memory | ||
Disk space | ||
Swap space |
Gentoo Linux Installations-Medien
It is okay to use other, non-Gentoo installation media, although official media is recommended. Gentoo installation media ensures the necessary tools are around. When using non-Gentoo media, skip to Preparing the disks.
Minimal-Installations-CD
Die Gentoo Minimal-Installations-CD ist bootfähiges Image: eine vollständige Gentoo-Umgebung. Sie erlaubt es Ihnen, Linux von der CD oder von einem anderen Installationsmedium zu booten. Während des Bootvorgangs wird Ihre Hardware erkannt und die entsprechenden Treiber werden geladen. Das Image wird von den Gentoo-Entwicklern gepflegt und ermöglicht es Gentoo zu installieren, wenn eine aktive Internetverbindung verfügbar ist.
Die Minimal-Installations-CD heißt: install-amd64-minimal-<release>.iso.
Die gelegentlich erscheinende Gentoo LiveDVD
Gelegentlich wird ein spezielles DVD Image zusammengestellt, das zur Installation von Gentoo benutzt werden kann. Die Anweisungen in diesem Kapitel beziehen sich auf die Minimal-Installations-CD und können deshalb etwas von den erforderlichen Schritten beim Booten einer LiveDVD abweichen. Aber auch bei der LiveDVD (oder bei jeder anderen bootbaren Linux-Umgebung) können Sie einen Root-Prompt durch Ausführen von sudo su - oder sudo -i in einem Terminal erhalten.
Was sind bitte Stages?
Ein Stage3 Tar-Archiv (tarball) ist ein Archiv, das eine Profil-spezifische Gentoo Minimal-Umgebung enthält. Stage3 Tar-Archive sind dazu geeignet, die Gentoo-Installation mit den Anweisungen in diesem Handbuch durchzuführen. In der Vergangenheit beschrieb das Gentoo-Handbuch die Installation unter Verwendung eines von drei Stage Tar-Archiven. Gentoo stellt keine Stage1 und Stage2 Tar-Archive mehr zum Download bereit. Diese werden hauptsächlich intern und zum Bootstrappen von Gentoo auf neuen Architekturen verwendet.
Stage3 Tar-Archive können aus dem Verzeichnis releases/amd64/autobuilds/ von einem der offiziellen Gentoo Spiegel-Server (Mirror-Server) heruntergeladen werden. Stage3 Tar-Archive werden häufig aktualisiert und sind nicht auf den offiziellen Installations-Images enthalten.
Herunterladen
Herunterladen von Minimal-Installations-CDs
Die Standard-Installations-Medien, die Gentoo Linux verwendet, sind die Minimal-Installations-CDs. Sie enthalten eine bootfähige, sehr kleine Gentoo Linux-Umgebung mit allen wichtigen Tools für eine Gentoo Installation. Die CD-Images selbst können heruntergeladen werden von der Download Seite (empfohlen) oder manuell von einem der zahlreichen Gentoo Spiegel-Server (Mirrors).
Wenn Sie von einem Spiegel-Server herunterladen, finden Sie die Minimal-Installations-CDs wie folgt:
- Gehen Sie in das Verzeichnis releases/
- Gehen Sie in das Verzeichnis für die richtige Architektur, z.B. amd64/
- Gehen Sie in das Verzeichnis autobuilds/
- Für die Architekturen amd64 und x86: gehen Sie in das Verzeichnis current-install-amd64-minimal/ bzw. current-install-x86-minimal/. Für alle anderen Architekturen: gehen Sie in das Verzeichnis current-iso/.
Für einige Architekturen wie arm, mips oder s390 gibt es keine Minimal-Installations-CDs. Zurzeit unterstützt das Gentoo Release Engineering project nicht das Bauen von .iso Images für diese Architekturen.
In diesem Verzeichnis ist die Minimal-Installations-CD-Datei diejenige mit der Dateinamen-Endung .iso. Schauen Sie sich beispielsweise folgendes Listing an:
[DIR] hardened/ 05-Dec-2014 01:42 - [ ] install-amd64-minimal-20141204.iso 04-Dec-2014 21:04 208M [ ] install-amd64-minimal-20141204.iso.CONTENTS 04-Dec-2014 21:04 3.0K [ ] install-amd64-minimal-20141204.iso.DIGESTS 04-Dec-2014 21:04 740 [TXT] install-amd64-minimal-20141204.iso.DIGESTS.asc 05-Dec-2014 01:42 1.6K [ ] stage3-amd64-20141204.tar.bz2 04-Dec-2014 21:04 198M [ ] stage3-amd64-20141204.tar.bz2.CONTENTS 04-Dec-2014 21:04 4.6M [ ] stage3-amd64-20141204.tar.bz2.DIGESTS 04-Dec-2014 21:04 720 [TXT] stage3-amd64-20141204.tar.bz2.DIGESTS.asc 05-Dec-2014 01:42 1.5K
In dem obigen Beispiel ist die Datei install-amd64-minimal-20141204.iso die Minimal-Installations-CD. Wie Sie sehen, existieren aber auch noch weitere, zugehörige Dateien:
- Eine .CONTENTS-Datei, die eine Textdatei ist, die alle verfügbaren Dateien in der Minimal-Installations-CD auflistet. Diese Datei kann nützlich sein, um zu prüfen, ob bestimmte Firmwares oder Treiber auf der "Minimal-Installations-CD" vorhanden sind, ohne sie zuvor herunterzuladen.
- Eine .DIGESTS-Datei, die den Hash der ISO-Datei selbst beinhaltet, mit verschiedensten Hash-Formaten/Algorithmen. Diese Datei kann verwendet werden, um zu verifizieren, ob die heruntergeladene ISO-Datei korrupt ist oder nicht.
- Eine .DIGESTS.asc-Datei, die nicht nur den Hash der ISO-Datei (wie die .DIGESTS-Datei) beinhaltet, sondern auch eine kryptografische Signatur dieser. Diese kann sowohl dazu verwendet werden, um zu verifizieren, ob die heruntergeladene ISO-Datei korrupt ist oder nicht, als auch um zu verifizieren, dass der Download tatsächlich vom Gentoo Release-Engineering-Team bereitgestellt wurde und nicht manipuliert wurde.
Die weiteren verfügbaren Dateien in diesem Verzeichnis können Sie zunächst ignorieren; wir kommen später darauf zurück. Laden Sie die .iso-Datei herunter. Falls Sie den Download verifizieren wollen, auch die .DIGESTS.asc-Datei für die .iso-Datei. Die .CONTENTS-Datei müssen Sie nicht herunterladen, da wir im Folgenden nicht weiter darauf eingehen; die .DIGESTS-Datei enthält dieselben Informationen wie die .DIGESTS.asc-Datei, abgesehen von der zusätzlichen Signatur in der letzteren.
Verifikation der heruntergeladenen Dateien
Dies ist ein optionaler Schritt, der für die Installation von Gentoo Linux nicht notwendig ist. Er ist aber empfohlen, um sicherzustellen, dass die heruntergeladene Datei nicht korrupt ist und tatsächlich vom Gentoo Infrastruktur-Team stammt.
- Zunächst wird die kryptografische Signatur validiert, um sicherzustellen, dass die Installationsdatei vom Gentoo Release-Engineering-Team bereitgestellt wurde.
- Falls dem so ist, wird dann die Prüfsumme verifiziert, um sicherzustellen, dass die heruntergeladene Datei selbst nicht korrupt ist.
Microsoft Windows basierte Verifikation
Um die kryptografische Signatur zu verifizieren, können Sie Tools wie GPG4Win verwenden. Nach dessen Installation müssen Sie die öffentlichen Schlüssel des Gentoo Release-Engineering-Teams importieren. Die Liste der Schlüssel finden Sie auf der Signaturen-Seite. Sind diese importiert, können Sie die Signatur der Datei .DIGESTS.asc verifizieren.
Linux basierte Verifikation
Auf einem Linux-System ist die verbreitetste Methode zur Verifikation von kryptografischen Signaturen die Verwendung der Software app-crypt/gnupg. Wenn dieses Paket installiert ist, können Sie die folgenden Befehle verwenden, um die kryptografische Signatur der Datei .DIGESTS.asc zu prüfen.
Laden Sie zunächst die richtigen Schlüssel von der Signaturen-Seite herunter:
user $
gpg --keyserver hkps://keys.gentoo.org --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model gpg: depth: 0 valid: 3 signed: 20 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: depth: 1 valid: 20 signed: 12 trust: 9-, 0q, 0n, 9m, 2f, 0u gpg: next trustdb check due at 2018-09-15 gpg: Total number processed: 1 gpg: new signatures: 1
Alternativ können Sie das WKD verwenden, um die Schlüssel herunterzuladen:
user $
wget -O- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng | gpg --import
--2019-04-19 20:46:32-- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng Resolving gentoo.org (gentoo.org)... 89.16.167.134 Connecting to gentoo.org (gentoo.org)|89.16.167.134|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 35444 (35K) [application/octet-stream] Saving to: 'STDOUT' 0K .......... .......... .......... .... 100% 11.9M=0.003s 2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444] gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys gpg: /tmp/test2/trustdb.gpg: trustdb created gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys gpg: key BB572E0E2D182910: 1 bad signature gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: Total number processed: 2 gpg: imported: 2 gpg: no ultimately trusted keys found
Or if using official Gentoo release media, import the key from /usr/share/openpgp-keys/gentoo-release.asc (provided by sec-keys/openpgp-keys-gentoo-release):
user $
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
gpg: directory '/home/larry/.gnupg' created gpg: keybox '/home/larry/.gnupg/pubring.kbx' created gpg: key DB6B8C1F96D8BF6D: 2 signatures not checked due to missing keys gpg: /home/larry/.gnupg/trustdb.gpg: trustdb created gpg: key DB6B8C1F96D8BF6D: public key "Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>" imported gpg: key 9E6438C817072058: 3 signatures not checked due to missing keys gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: 1 signature not checked due to a missing key gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: key A13D0EF1914E7A72: 1 signature not checked due to a missing key gpg: key A13D0EF1914E7A72: public key "Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>" imported gpg: Total number processed: 4 gpg: imported: 4 gpg: no ultimately trusted keys found
Verifizieren Sie dann die kryptographische Signatur der Datei .DIGESTS.asc:
user $
gpg --verify install-amd64-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET gpg: using RSA key 0xBB572E0E2D182910 gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910
Um absolut sicher zu sein, dass alles richtig ist, verifizieren Sie den angezeigten Fingerabdruck gegen den Fingerabdruck auf der Gentoo-Signaturen-Seite.
Brennen einer CD
Da die ISO-Datei bisher nur heruntergeladen wurde, können wir damit die Gentoo Linux-Installation noch nicht beginnen. Die ISO-Datei muss noch auf eine CD gebrannt werden, von der dann gestartet wird. Dabei muss der Inhalt der ISO auf die CD gebrannt werden, nicht die Datei selbst. Im Folgenden werden einige verbreitete Methoden beschrieben, ausführlichere Anweisungen finden Sie in unserer FAQ zum Brennen einer ISO-Datei.
Brennen mit Microsoft Windows
Neuere Windows-Betriebssysteme ab Version 7 können ISO-Images sowohl mounten als auch auf optische Medien brennen, ohne dass weitere Software dafür erforderlich ist. Legen Sie einfach eine brennbares Medium in das Laufwerk ein, gehen Sie im Windows Explorer zu den heruntergeladenen ISO-Images, klicken Sie das ISO-Image mit der rechten Maustaste an und wählen Sie "Disk-Image brennen".
Brennen mit Linux
Das Programm cdrecord, das im Paket app-cdr/cdrtools enthalten ist, kann unter Linux ISO-Images brennen.
Um die ISO-Datei auf die CD zu brennen, die sich im Laufwerk /dev/sr0 befindet (/dev/sr0 ist das erste CD-Laufwerk im System - ersetzen Sie dieses ggf. durch das CD-Laufwerk, das Sie verwenden wollen):
user $
cdrecord dev=/dev/sr0 install-amd64-minimal-20141204.iso
Benutzer, die eine grafische Benutzeroberfläche vorziehen, können K3B verwenden, welches Teil des Pakets kde-apps/k3b ist. In K3B, wählen Sie Tools und dann CD-Image brennen.
Booten
This is a placeholder for architecture-specific booting information
Erweiterte Hardwarekonfiguration
Wenn das Installations-Medium bootet, versucht es alle Hardwaregeräte zu erkennen und die entsprechenden Kernelmodule zu laden. In den allermeisten Fällen funktioniert dies wunderbar. Dennoch kann es in einzelnen Fällen passieren, dass nicht alle benötigten Module automatisch geladen werden. Wenn die PCI-Autoerkennung einen Teil Ihres Systems nicht erkennt, müssen Sie die entsprechenden Kernelmodule manuell laden.
Im nächsten Beispiel versuchen wir das 8139too-Modul zu laden (Unterstützung für verschiedene Arten von Netzwerkkarten):
root #
modprobe 8139too
Optional: Benutzerkonten
Wenn Sie planen, anderen Leuten Zugriff auf Ihre Installation zu geben oder mit irssi ohne root-Rechte chatten möchten (aus Sicherheitsgründen), müssen Sie die notwendigen Benutzerkonten anlegen und das root-Passwort auf ein sicheres Passwort setzen.
Um das root-Passwort zu ändern benutzen Sie das passwd-Tool:
root #
passwd
New password: (Geben Sie das neue Passwort ein) Re-enter password: (Geben Sie das Passwort erneut ein)
Um ein Benutzerkonto zu erstellen, geben wir zunächst die Details zur Person ein, gefolgt vom zugehörigen Passwort. Wir benutzen useradd und passwd für diese Aufgaben.
Im nächsten Beispiel erstellen wir einen Benutzer namens john:
root #
useradd -m -G users john
root #
passwd john
New password: (Geben Sie das Passwort von john ein) Re-enter password: (Geben Sie erneut das Passwort von john ein)
Sie können vom (aktuellen) Benutzer root zum neu erstellten Benutzer mit su wechseln:
root #
su - john
Optional: Lesen der Dokumentation während der Installation
TTYs
Wenn Sie das Gentoo Handbuch während der Installation lesen wollen, stellen Sie sicher, dass Sie einen Benutzeraccount angelegt haben (siehe Optional: Benutzerkonten). Drücken Sie dann Alt+F2, um auf ein neues Terminal zu wechseln.
Sie können das Gentoo-Handbuch während der Installation mit links anschauen - natürlich erst, sobald Ihre Internetverbindung aufgesetzt ist.
user $
links https://wiki.gentoo.org/wiki/Handbook:Parts/de
Sie können auf Ihr Ausgangsterminal mittels Alt+F1 zurückwechseln.
When booted to the Gentoo minimal or Gentoo admin environments, seven TTYs will be available. They can be switched by pressing Alt then a function key between F1-F7. It can be useful to switch to a new terminal when waiting for job to complete, to open documentation, etc.
GNU Screen
Das Programm Screen ist auf offiziellen Gentoo Installationsmedien standardmäßig enthalten. Für den erfahrenen Linux Enthusiasten könnte es effizienter sein, screen zu benutzen, um sich die Installationsanleitung anzusehen, als die oben beschriebenen Multi-TTY-Methode.
Optional: Starten des SSH-Daemons
Wenn Sie anderen Benutzern während der Installation von Gentoo Zugriff auf Ihren Rechner geben wollen (vielleicht weil diese Sie bei der Installation von Gentoo unterstützen oder diese für Sie durchführen), müssen Sie ein Benutzerkonto für diese Person erstellen (wie zuvor beschrieben) und den SSH-Daemon starten.
Um den SSH-Daemon auf einer Maschine mit OpenRC Init-System zu starten, führen Sie folgenden Befehl aus:
root #
rc-service sshd start
Wenn Sie (oder ein anderer Benutzer) sich in das System einloggen, werden Sie eine Meldung sehen, dass der Host-Key für dieses System (anhand eines sogenannten Fingerprints) bestätigt werden muss. Dieses Verhalten ist typisch und zu erwarten bei dem erstmaligen Verbindungsaufbau zu einem SSH-Server. Wenn Ihr System aber später aufgesetzt ist und Sie sich dann in das neue System einloggen, wird Ihr SSH-Client Sie warnen, dass sich der Host-Key geändert hat. Aus der Sicht Ihres SSH-Clients loggen Sie sich in einen anderen Server ein (nämlich Ihr neu installiertes Gentoo-System anstelle der Live-Umgebung in der Sie sich gerade befinden). Wenn Sie dann diese Warnung erhalten, befolgen Sie die ausgegebenen Anweisungen, um den Host-Key auf dem Client-System zu ersetzen.
Um sshd nutzen zu können, müssen Sie zunächst das Netzwerk einrichten. Setzen Sie die Installation mit der Konfiguration des Netzwerks fort.
Automatische Netzwerk-Erkennung
Vielleicht funktioniert es einfach?
Wenn sich Ihr System in einem Ethernet-Netzwerk mit einem DHCP-Server befindet, ist es sehr wahrscheinlich, dass Ihr Netz bereits konfiguriert ist. Sie können nun die zahlreichen Netzwerktools auf dem Installationsmedium wie beispielsweise ssh, scp, ping, irssi, wget und links nutzen.
Ermitteln der Interface-Namen
ifconfig
Wenn das Netzwerk bereits konfiguriert wurde, zeigt Ihnen der Befehl ifconfig weitere Netzwerkschnittstellen neben lo an. In dem folgenden Beispiel erscheint eth0.
root #
ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
Als Folge des Wechsels zu predictable network interface names, kann sich der Interface-Name deutlich von der alten "eth0"-Namens-Konvention unterscheiden. Aktuelle Installations-Medien zeigen möglicherweise Namen an wie: eno0, ens1, oder enp5s0. Suchen Sie nach dem Interface in der Ausgabe von ifconfig, das eine IP-Adresse aus Ihrem lokalen Netwerk hat.
Wenn die Ausgabe von ifconfig keine Interfaces anzeigt, starten Sie das Kommando noch einmal mit der Option
-a
.
Mit dieser Option zeigt ifconfig alle vom System erkannten Interfaces, unabhängig davon, ob sie im Zustand "up" oder "down" sind. Wenn ifconfig -a keine Interfaces anzeigt, ist entweder die Hardware defekt oder der erforderliche Kernel-Treiber ist nicht geladen. Beide Fälle können nicht in diesem Handbuch besprochen werden. Bitte kontaktieren Sie #gentoo (webchat) für Hilfe.ip
Als Alternative zu ifconfig kann zur Anzeige von Interface-Namen das Kommando ip verwendet werden. Das folgende Beispiel zeigt die Ausgabe von ip addr. Die ausgegebenen Daten unterscheiden sich vom letzten Beispiel, weil das ip-Kommando auf einem anderen System eingegeben wurde:
root #
ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
Der Interface-Name in dem obigen Beispiel folgt hinter der Nummer - er ist eno1.
In dem Rest dieses Dokuments geht das Handbuch davon aus, dass das genutzte Netzwerk-Interface den Namen eth0 hat.
Optional: Konfiguration eines Proxies
Wenn Sie auf das Internet nur über einen Proxy-Server zugreifen können, müssen Sie während der Installation das System für die Verwendung des Proxy-Servers vorbereiten. Das ist aber recht einfach. Sie müssen dazu lediglich eine Variable mit den Informationen über den Proxy-Server setzen.
In den meisten Fällen können Sie den Hostnamen des Proxy-Servers in die Variable schreiben. Nehmen wir an, der Server ist proxy.gentoo.org und der Port ist 8080.
Zur Einrichtung eines HTTP-Proxies (für HTTP- und HTTPS-Traffic):
root #
export http_proxy="http://proxy.gentoo.org:8080"
Zur Einrichtung eines FTP-Proxies:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080"
Zur Einrichtung eines RSYNC-Proxies:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080"
Wenn der Proxy-Server einen Benutzernamen und Passwort erfordert, sollten Sie die folgende Syntax in der Variable verwenden:
http://username:password@proxy.gentoo.org:8080
Das Netzwerk testen
Dazu können Sie beispielsweise den DNS-Server Ihres Internetanbieters "anpingen". Die Adresse dieses Servers finden Sie in /etc/resolv.conf. Außerdem sollten Sie eine Webseite Ihrer Wahl "pingen". So stellen Sie sicher, dass Sie sowohl mit dem Internet verbunden sind, als auch, dass Ihre Namensauflösung korrekt funktioniert.
root #
ping -c 3 www.gentoo.org
Wenn Sie nun in der Lage sind, Ihr Netzwerk zu verwenden, dann können Sie den Rest dieses Kapitels überspringen und mit dem Vorbereiten der Festplatte(n) fortfahren. Wenn nicht, lesen Sie bitte weiter.
Automatische Netzwerk-Konfiguration
Wenn die Netzwerkverbindung nicht gleich zu Stande kommt, beinhalten einige Installationsmedien den Befehl net-setup (für normale und drahtlose Verbindungen) oder pppoe-setup (für ADSL-Verbindungen) bzw. pptp (für PPTP-Benutzer).
Wenn Ihr Installationsmedium das entsprechende Tool nicht enthält oder Ihre Netzwerkverbindung noch nicht funktioniert, so fahren Sie bitte mit folgendem Abschnitt fort: Manuelle Netzwerkkonfiguration.
- Nutzer von normalem Ethernet sollten hier fortfahren: Standard: Verwendung von net-setup
- ADSL-Benutzer sollten hier fortfahren: Alternativ: Verwendung von PPP
- PPTP-Benutzer sollten hier fortfahren: Alternativ: Verwendung von PPTP
Standard: Verwendung von net-setup
Der einfachste Weg die Netzwerkverbindung zu konfigurieren, falls die automatische Konfiguration fehlgeschlagen sein sollte, ist das Skript net-setup auszuführen:
root #
net-setup eth0
net-setup wird Ihnen einige Fragen bezüglich Ihrer Netzwerkumgebung stellen. Haben Sie alle Fragen beantwortet, sollten Sie eine funktionsfähige Netzwerkverbindung haben. Testen Sie Ihr Netzwerk wieder, wie oben beschrieben. Sollten die Tests funktionieren, so haben Sie es geschafft; Sie können nun mit der Installation von Gentoo fortfahren. Überspringen Sie den Rest dieses Kapitels und fahren Sie mit der Vorbereitung der Festplatte(n) fort.
Sollte Ihr Netzwerk nun immer noch nicht funktionieren, fahren Sie bitte mit Manuelle Netzwerkkonfiguration fort.
Alternativ: Verwendung von PPP
Für den Fall, dass Sie PPPoE benötigen, um eine Verbindung mit dem Internet herzustellen, bringt die Installations-CD (in jeder Version) das Tool ppp mit. Verwenden Sie das Skript pppoe-setup, um Ihre Verbindung zu konfigurieren. Sie werden nach der Netzwerkkarte gefragt, die mit Ihrem DSL-Modem verbunden ist, dem Benutzernamen und nach Ihrem Kennwort. Ferner geben Sie noch die IP-Adressen der DNS-Server des Providers ein und ob Sie eine Firewall benötigen oder nicht.
root #
pppoe-setup
root #
pppoe-start
Wenn etwas schief gehen sollte, überprüfen Sie bitte, ob Sie Ihren Benutzernamen und Ihr Passwort richtig eingegeben haben, indem Sie die Datei /etc/ppp/pap-secrets bzw. /etc/ppp/chap-secrets einsehen. Stellen Sie bitte auch sicher, dass Sie die richtige Netzwerkkarte verwenden. Wenn Ihre Netzwerkkarte im System nicht erkannt wird, müssen Sie das entsprechende Kernelmodul laden. In diesem Fall müssen Sie mit der Manuellen Konfiguration des Netzwerks fortfahren. Dort gehen wir näher auf das Laden der entsprechenden Kernelmodule ein.
Wenn alles funktioniert hat, dann fahren Sie mit dem nächsten Kapitel, Vorbereiten der Festplatte(n), fort.
Alternativ: Verwendung von PPTP
Wenn Sie PPTP-Unterstüzung benötigen, können Sie das Programm pptpclient, das Ihnen von der Installations-CD bereitgestellt wird, verwenden. Allerdings müssen Sie vorher sichergehen, dass Ihre Konfiguration korrekt ist. Dazu editieren Sie die Datei /etc/ppp/pap-secrets oder /etc/ppp/chap-secrets, so dass diese die korrekte Benutzername/Kennwort-Kombination beinhalten.
root #
nano -w /etc/ppp/chap-secrets
Wenn nötig, sollten Sie nun noch /etc/ppp/options.pptp anpassen:
root #
nano -w /etc/ppp/options.pptp
Nun geben Sie den Befehl pptp (mit den Optionen, die Sie in options.pptp setzen könnten) ein, um sich mit dem Server zu verbinden.
root #
pptp <server ipv4 address>
Wenn alles funktioniert hat, dann fahren Sie mit dem Vorbereiten der Festplatte(n) fort.
Manuelle Netzwerk-Konfiguration
Die richtigen Netzwerk-Kernelmodule laden
Wenn die Installations-CD bootet, versucht sie alle Hardwaregeräte zu erkennen und lädt automatisch die notwendigen Kernelmodule (Treiber). In den allermeisten Fällen funktioniert dies sehr gut. Allerdings kann es vorkommen, dass Kernelmodule nicht automatisch geladen werden, die für die Kommunikation mit der Netzwerk-Hardware benötigt werden.
Wenn net-setup oder pppoe-setup fehlschlagen, dann ist es möglich, dass Ihre Netzwerkkarte nicht sofort gefunden wurde. Das bedeutet, dass Sie das entsprechende Kernelmodul manuell laden müssen.
Verwenden Sie ls, um herauszufinden, welche Netzwerk-Kernelmodule von Gentoo bereitgestellt werden.
root #
ls /lib/modules/`uname -r`/kernel/drivers/net
Wenn Sie einen Treiber für Ihre Netzwerkkarte gefunden haben, laden Sie diesen mit modprobe. Zum Beispiel für das Modul pcnet32:
root #
modprobe pcnet32
Benutzen Sie ifconfig zum Prüfen, ob das Modul geladen wurde. Eine erkannte Netzwerkkarte würde in etwa diese Ausgabe ergeben (bedenken Sie, dass eth0 wieder nur ein Beispiel ist):
root #
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Wenn Sie stattdessen diesen Fehler erhalten, dann wurde Ihre Karte nicht erkannt.
root #
ifconfig eth0
eth0: error fetching interface information: Device not found
Die verfügbaren Netzwerkkarten in Ihrem System können über das /sys-Dateisystem aufgelistet werden:
root #
ls /sys/class/net
dummy0 eth0 lo sit0 tap0 wlan0
In obigem Beispiel wurden 6 Netzwerkkarten gefunden. Die Netzwerkkarte eth0 ist sehr wahrscheinlich die (kabelgebundene) Ethernet-Schnittstelle, wohingegen wlan0 die kabellose (WLAN) sein wird.
Wurde Ihre Netzwerkkarte erkannt, so können Sie nun erneut net-setup oder pppoe-setup ausprobieren (diese sollten nun funktionieren). Wir erklären Ihnen aber auch noch, wie man das Netzwerk manuell einrichtet.
Wählen Sie je nach Netzwerk-Setup einen der folgenden Abschnitte:
- Verwendung von DHCP für eine automatische IP-Vergabe
- Vorbereitung für drahtlosen Zugriff wenn Sie eine WLAN-Karte haben
- Verstehen der Netzwerk-Terminologie erklärt, was Sie über Netzwerke wissen müssen
- Verwendung von ifconfig und route erklärt, wie Sie Ihr Netzwerk manuell einrichten.
Verwendung von DHCP
DHCP (Dynamic Host Configuration Protocol) ermöglicht es die gesamte Netzwerkkonfiguration (IP-Adresse, Netzwerkmaske, Broadcast-Adresse, Gateway, DNS-Server etc.) dynamisch von einem Server zu beziehen. Das funktioniert logischerweise nur, wenn Sie einen DHCP-Server in Ihrem LAN haben oder Ihr Provider einen solchen Dienst anbietet. Benutzen Sie dhcpcd:
root #
dhcpcd eth0
Einige Netzwerkadministratoren erfordern es, dass der Host- und Domainname, die vom DHCP-Server angeboten werdden, vom System genutzt werden. In diesem Fall verwenden Sie:
root #
dhcpcd -HD eth0
Wenn das funktioniert (versuchen Sie einen Internet-Server zu pingen, z.B. Googles 8.8.8.8 oder Cloudflares 1.1.1.1), dann sind Sie fertig mit der Konfiguration des Netzwerks und können mit dem Vorbereiten der Festplatte(n) fortfahren.
Vorbereitung für drahtlosen Zugriff
Die Unterstützung für das Kommando iw kann architekturspezifisch sein. Wenn das Kommando nicht verfügbar ist, schauen Sie ob das Paket net-wireless/iw für die gewählte Architektur verfügbar ist. Das Kommando iw wird erst dann zur Verfügung stehen, wenn das Paket net-wireless/iw installiert ist.
Wenn Sie eine WLan-Karte (802.11) benutzen, müssen Sie Einstellungen zur Nutzung der Karte einrichten, bevor es weiter gehen kann. Um sich die aktuellen Einstellungen der Karte anzuschauen, benutzen Sie iw. iw zeigt Ihnen möglicherweise etwas wie dies:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
Um zu überprüfen, ob eine Verbindung besteht:
root #
iw dev wlp9s0 link
Not connected.
oder
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Einige drahtlose Netzwerkkarten benutzen einen Gerätenamen wie wlan0 oder ra0 anstelle von wlp9s0. Führen Sie ip link aus, um den korrekten Gerätenamen zu ermitteln.
Für die meisten Benutzer sind zum Herstellen einer Verbindung nur zwei Einstellungen notwendig: die ESSID (der Name des drahtlosen Netzes) und optional der WEP Key.
- Stellen Sie als erstes sicher, dass das Interface im Zustand "up" ist:
root #
ip link set dev wlp9s0 up
- Um eine Verbindung mit einem offenen Netzwerk mit Namen GentooNode herzustellen:
root #
iw dev wlp9s0 connect -w GentooNode
- Wenn das Netzwerk nicht offen, sondern mit WEP verschlüsselt ist, und Sie einen WEP-Schlüssel im hexadezimalen Format haben: schreiben Sie das Prefix
d:
vor den Schlüssel:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- Wenn Sie einen WEP-Schlüssel im ASCII-Format haben:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
Falls Ihr drahtloses Netzwerk WPA oder WPA2 benutzt, werden Sie wpa_supplicant verwenden müssen. Für weitere Informationen zur Konfiguration drahtloser Netzwerke unter Gentoo Linux, lesen Sie bitte das Kapitel Drahtlose Netzwerkfunktionalität des Gentoo Handbuchs.
Sie können Ihre Einstellungen nun nochmal mit iw dev wlp9s0 link überprüfen. Wenn Sie Ihr WLAN nun eingerichtet haben, können Sie mit der Konfiguration der IP-Optionen wie im nächsten Abschnitt Verstehen der Netzwerk-Terminologie fortfahren oder net-setup benutzen, wie vorhin beschrieben.
Verstehen der Netzwerk-Terminologie
Wenn Sie Ihre IP-Adresse, Broadcast-Adresse, Netzmaske und DNS-Server kennen, dann können Sie diesen Teil beruhigt überspringen. Fahren Sie in diesem Fall mit Benutzen von ifconfig und route fort.
Wenn alles obige fehlschlägt, müssen Sie Ihr Netzwerk manuell einrichten. Dies ist überhaupt nicht schwierig. Jedoch müssen Sie mit einiger Netzwerkterminologie vertraut sein, denn Sie werden diese benötigen, um Ihr Netzwerk zu Ihrer Zufriedenheit konfigurieren zu können. Nachdem Sie dies gelesen haben, werden Sie wissen, was ein Gateway ist, wozu eine Netzmaske dient, wie eine Broadcast-Adresse aufgebaut ist und warum Sie Nameserver benötigen.
In einem Netzwerk werden die Computer über Ihre IP-Adresse (Internet Protocol Address) identifiziert. Diese Adresse ist eine Kombination aus vier Nummern zwischen 0 und 255. Jedenfalls nehmen wir das so wahr. In Wirklichkeit ist eine IP-Adresse eine 32-Bit-Folge (Nullen und Einsen). Hier ein Beispiel:
IP Address (numbers): 192.168.0.2 IP Address (bits): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
Der Nachfolger von IPv4, IPv6, verwendet 128 Bit (Nullen und Einsen). In diesem Abschnitt betrachten wir aber nur IPv4-Adressen.
Solch eine IP-Adresse ist einmalig für einen Host (Computer) in allen angrenzenden Netzwerken (d.h. jeder Host, den Sie erreichen können, muss eine einzigartige IP-Adresse besitzen). Um zwischen Hosts innerhalb eines Netzwerkes und außerhalb eines Netzwerkes unterscheiden zu können, ist die IP-Adresse in zwei Teile eingeteilt: Einen Network-Abschnitt und einen Host-Abschnitt.
Diese Unterteilung wird mittels der Netzmaske beschrieben. Die Netzmaske ist eine Reihe von Einsen, gefolgt von einer Reihe von Nullen. Der Teil der IP-Adresse der den Einsen entspricht, ist der Netzwerkteil. Die Netzmaske kann wie eine IP-Adresse aufgeschrieben werden.
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Netmask: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host
In anderen Worten ist 192.168.0.14 ein Host in unserem Teilnetz, während 192.168.1.2 dies nicht ist.
Die Broadcast-Adresse ist eine IP-Adresse, die den gleichen Netzwerkteil wie unser Netzwerk hat, allerdings nur Einsen im Hostteil hat. Alle Computer in dem Teilnetz hören auf diese IP-Adresse. Diese Adresse ist zum Broadcasting eines Paketes an alle Computer gedacht, d.h. ein Paket wird an alle Computer im Netzwerk gleichzeitig geschickt.
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host
Um im Internet surfen zu können, müssen Sie wissen, welcher Host die Internetverbindung herstellt. Dieser Host wird Gateway genannt. Da dieser ein normaler Host ist, besitzt auch das Gateway eine normale IP-Adresse (z.B. 192.168.0.1).
Zuvor haben wir schon erwähnt, dass jeder Host eine eigene IP-Adresse besitzt. Um diesen Host aber mit einem Namen ansprechen zu können (anstatt einer IP-Adresse) benötigen Sie einen Dienst, der Namen (wie dev.gentoo.org) in IP-Adressen (wie 64.5.62.82) umwandelt. Dieser Dienst wird nameservice genannt. Um diesen Dienst nutzen zu können, müssen Sie die entsprechenden name server kennen. Diese werden in der Datei /etc/resolv.conf festgehalten.
In manchen Fällen trägt das Gateway ebenfalls die Rolle des Nameservers. Sonst müssen Sie den Nameserver des Providers angeben.
In der Zusammenfassung benötigen Sie also folgende Daten bevor Sie fortfahren:
Netzwerkbegriff | Beispiel |
---|---|
Ihre IP-Adresse | 192.168.0.2 |
Netzmaske | 255.255.255.0 |
Broadcast-Adresse | 192.168.0.255 |
Gateway | 192.168.0.1 |
Nameserver(s) | 195.130.130.5, 195.130.130.133 |
Verwendung von ifconfig und route
Mit Hilfe der Tools aus dem Paket sys-apps/net-tools kann das Netzwerk in folgenden drei Schritten manuell konfiguriert werden:
- Konfigurierern einer IP-Adresse mit der ifconfig Anweisung.
- Einrichten des Routings zum Gateway mit der route Anweisung.
- Definieren der Nameserver IP-Adressen in der Datei /etc/resolv.conf.
Um eine IP-Adresse zu konfigurieren, werden die IP-Adresse, die Broadcast-Adresse und die Netzmaske benötigt. Führen Sie den folgenden Befehl aus, wobei die Variable ${IP_ADDR} durch die IP-Adresse, ${BROADCAST} durch die Broadcast-Adresse und ${NETMASK} durch die Netzmaske ersetzt werden muss:
root #
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
Richten Sie das Routing mit route ein und ersetzen Sie dabei ${GATEWAY} durch die IP-Adresse des Gateways:
root #
route add default gw ${GATEWAY}
Öffnen Sie nun die Datei /etc/resolv.conf mit einem Text-Editor:
root #
nano -w /etc/resolv.conf
Tragen Sie den (oder die) Nameserver ein, wobei Sie das folgende Template verwenden können. Dabei sollten Sie ${NAMESERVER1} und ${NAMESERVER2} durch die IP-Adressen Ihres/Ihrer Nameserver(s) ersetzen. Ein oder mehrere Nameserver können konfiguriert werden.
/etc/resolv.conf
Default resolv.conf templatenameserver ${NAMESERVER1} nameserver ${NAMESERVER2}
Testen Sie nun Ihre Internetverbindung. "Pingen" Sie dazu einen Internetserver (wie Googles 8.8.8.8 oder Cloudflares 1.1.1.1) an. Wenn die Verbindung steht, können Sie mit dem Vorbereiten der Festplatte(n) fortfahren.
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:
Device-Typ | Standard Device-Name | Anmerkungen |
---|---|---|
SATA, SAS, SCSI, or USB flash | /dev/sda | Diese Device-Typen werden auf Hardware ab 2007 verwendet - und sind vermutlich die am häufigsten genutzten Device-Namen unter Linux. Diese Geräte werden als blockorientierter Speicher angeschlossen über den SATA bus, über SCSI und über USB. Beispielsweise wird die erste Partition des ersten SATA-Devices /dev/sda1 genannt. |
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, and 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.
Introduction to block devices
Block devices
Placeholder for introduction to block devices specific to that architecture
Designing a partition scheme
Placeholder for designing a partition scheme specific to that architecture
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 amd64 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. Nachfolgend eine nicht-vollständige Auswahl von verfügbaren Dateisystemen.
- 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."
- 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.
- 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 und zum Datenaustausch mit anderen Betriebssystemen (Microsoft Windows oder Apples macOS) verwendet. VFAT ist Voraussetzung für die Bootloader Firmware mancher Systeme (wie UEFI). Auf UEFI Systemen wird zum Booten eine EFI System Partition benötigt, die mit VFAT formatiert ist.
- NTFS
- This "New Technology" filesystem is the flagship filesystem of Microsoft Windows since Windows NT 3.1. Similarly to VFAT, 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 filesystem for most cases. It should only be used for interoperability/interchange 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 |
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 root-Partition () als ext4 zu formatieren (wie in dem Beispiel-Partitionsschema), würde man folgende Befehle verwenden:
root #
mkfs.ext4
Bei der Verwendung von 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.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
Zur Aktivierung der Swap-Partition verwenden Sie swapon:
root #
swapon
Erzeugen und aktivieren Sie jetzt die Swap-Partition mit den oben genannten Befehlen.
Einhängen der Root-Partition
Anwender, die ein Nicht-Gentoo Installationsmedium verwenden, müssen mit folgendem Befehl einen Mount-Point erzeugen:
root #
mkdir --parents /mnt/gentoo
Nachdem die Partitionen initialisiert wurden 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 /mnt/gentoo
Wenn sich /tmp/ auf einer separaten Partition befinden muss, ändern Sie die Berechtigungen nach dem Einhängen:
root #
chmod 1777 /mnt/gentoo/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.
Installation eines Stage Tar-Archivs
Datum und Uhrzeit einstellen
Bevor Sie mit der Installation von Gentoo beginnen, sollten Sie auf Ihrem System das korrekte Datum und die korrekte Uhrzeit einstellen. Eine fehlerhaft eingestellte System-Uhr kann zu merkwürdigen Fehlern mit der Installation führen: Basis-Systemdateien sollten mit akkuraten Zeitstempeln extrahiert werden. Da die webbasierten Dienste von Gentoo Sicherheitszertifikate verwenden, kann es sein, dass es nicht möglich ist, die Installationsdateien herunterzuladen, wenn die Systemuhr zu sehr verstellt ist.
Überprüfen Sie das System-Datum und die System-Uhrzeit mit dem Kommando date:
root #
date
Mo 3. Okt 13:16:22 CET 2022
Wenn Datum/Uhrzeit um mehr als ein paar Minuten abweichen, sollte sie mit einer der folgenden Methoden aktualisiert werden.
Automatisch
Die meisten Leser werden wünschen, dass ihr System die Zeit automatisch über einen Zeitserver aktualisiert.
Einige Motherboards verfügen nicht über eine Echtzeituhr (RTC), die auch bei ausgeschaltetem System eine relativ genaue Zeit angibt. Für diese Systeme ist es sehr wichtig, dass die Systemuhr bei jedem Systemstart und in regelmäßigen Abständen intern mit einem Zeitserver synchronisiert wird. Dies ist ebenso wichtig für Systeme, die zwar über eine RTC verfügen, bei denen aber die Batterie ausgefallen ist.
Die offiziellen Gentoo Live-Umgebungen enthalten das Programm ntpd. Es ist im Paket net-misc/ntp enthalten. ntpd kann verwendet werden, um die Systemzeit automatisch mit einem Zeitserver zu synchronisieren. Weiterhin ist eine ntpd-Konfigurationsdatei enthalten, die ntp.org als Zeit-Server konfiguriert. Damit Sie ntpd nutzen können, benötigen Sie eine funktionierende Netzanbindung mit Zugang zum Internet (siehe Konfiguration des Netzwerks). Bitte beachten Sie, dass ntpd möglicherweise nicht auf allen Architekturen verfügbar ist.
Eine automatische Zeit-Synchronisierung hat einen Preis. Der Zeit-Server (beispielsweise ntp.org) erhält Informationen über Ihr System, Ihre IP-Adresse und über einen Teil Ihrer Netzwerk-Struktur. Anwender, die sich um ihre Privatsphäre sorgen, sollten dies bedenken, bevor Sie ihre Systemuhr mit einem Zeit-Server synchronisieren
root #
ntpd -q -g
Manuell
Für Systeme, die keinen Zugang zu einem Zeitserver haben, kann auch der Befehl date verwendet werden, um die Systemuhr zu stellen. Dabei wird das folgende Format als Argument verwendet: MMDDhhmmYYYY
syntax (Month, Day, hour, minute and Year).
Die UTC-Zeit wird für alle Linux-Systeme empfohlen. Eine Zeitzone wird später bei der Installation definiert, wodurch die Uhr die lokale Zeit anzeigt.
Um beispielsweise das Datum auf den 27. November 2022, 13:39 Uhr einzustellen, geben Sie folgendes ein:
root #
date 112713392022
Auswahl eines Stage Tar-Archivs
Nicht jede Architektur hat eine Multilib-Option. Viele laufen nur mit nativem Code. Multilib wird am häufigsten auf amd64 angewendet.
Multilib (32 and 64-bit)
Die Wahl des richtigen Stage Tar-Archivs kann später im Installationsprozess erhebliche Mengen an Zeit einsparen, ganz besonders wenn der Zeitpunkt gekommen ist, für die Auswahl des System-Profils. Ein "multilib" Stage Tar-Archiv ermöglicht ein System mit 64- und 32-Bit Bibliotheken, wobei nach Möglichkeit die 64-Bit Bibliotheken verwendet werden. Falls dies nicht möglich sein sollte, können die 32-Bit Bibliotheken verwendet werden. Für die meisten Installationen ist dies eine hervorragende Wahl, weil sie große Flexibilität und Anpassungsmöglichkeiten für die Zukunft ermöglicht. Auch wer in der Lage sein möchte, einfach zwischen verschiedenen Profilen zu wechseln, sollte ein "multilib" Stage Tar-Archiv wählen.
Die meisten Anwender sollten die "advanced" Tar-Archiv Optionen NICHT verwenden. Sie sind für spezielle Software- oder Hardware-Konfigurationen gedacht.
No-multilib (nur 64-bit)
Die Wahl eines "no-multilib" Stage Tar-Archives ermöglicht die Installation einer reinen 64-Bit Linux-Umgebung. Bitte beachten Sie, dass einige Anwendungen wie Wine, die eine 32-Bit Umgebung benötigen, dann nicht laufen werden. Ein späterer Wechsel auf eine "multilib" Umgebung ist schwierig, jedoch nicht unmöglich.
Leser, die gerade erst mit Gentoo anfangen, sollten nicht einen no-multilib Tarball wählen, es sei denn, es ist absolut notwendig. Die Migration von einem "no-multilib" zu einem "multilib" System ist sehr schwierig und erfordert sehr gute Kenntnisse von Gentoo und der Low-Level Toolchain. Sogar für die Gentoo Toolchain Entwickler ist ein solcher Wechsel nicht ganz einfach. Anders ausgedrückt: gewöhnliche Anwender, die sich für "no-multilib" entscheiden, können nur durch eine Neu-Installation auf "multilib" wechseln.
OpenRC
OpenRC ist ein Abhängigkeits-basiertes Init-System. Nachdem der Kernel gebootet hat, ist es ist zuständig für das Starten von System-Diensten. OpenRC ist kompatibel mit dem vom System bereitgestellten Init-Programm, das normalerweise unter /sbin/init installiert ist. OpenRC wurde unter und für Gentoo entwickelt, aber es wird auch bei einigen anderen Linux-Distributionen und BSD-Systemen verwendet.
OpenRC funktioniert nicht als Ersatz für die /sbin/init Datei und ist 100% kompatibel mit Gentoo Init-Skripten. Das bedeutet, dass eine Lösung gefunden werden kann, um die Dutzenden von Daemons im Gentoo-Ebuild-Repositorium auszuführen.
systemd
systemd ist ein moderner SysV-style Init- und rc-Ersatz für Linux-Systeme. Mittlerweile wird es bei der Mehrzahl der Linux-Distibutionen als primäres Init-System verwendet. systemd wird von Gentoo vollständig unterstützt und funktioniert führ den vorgesehenen Zweck. Unglücklicherweise müssen die entsprechenden Abschnitte des Installationshandbuchs für systemd noch geschrieben werden oder sind noch in Arbeit. Wenn etwas im Handbuch für einen systemd-Installationspfad zu fehlen scheint lesen Sie den systemd Artikel bevor Sie um Unterstützung bitten.
Bei einem bestehenden Gentoo System ist es technisch möglich, zwischen OpenRC und systemd zu wechseln. Solche Wechsel sind jedoch aufwändig und können nicht im Rahmen dieses Installations-Handbuchs beschrieben werden. Bevor Sie einen Stage-Tarball herunterladen, entscheiden Sie, ob OpenRC oder systemd als Ziel-Init-System verwendet werden soll und laden Sie den entsprechenden Stage-Tarball herunter.
Stage Tar-Archiv herunterladen
Wechseln Sie in das Verzeichnis, in dem das Root-Dateisystem eingehängt ist (wahrscheinlich /mnt/gentoo):
root #
cd /mnt/gentoo
Browser mit grafischer Benutzeroberfläche
Wenn Sie einen Web-Browser mit grafischer Benutzeroberfläche verwenden: gehen Sie auf die Download Seite und kopieren Sie die URL des gewünschten Stage Tar-Archivs in die Zwischenablage (durch Drücken der rechten Maus-Taste und dann "Copy Link"). Gehen Sie dann in Ihr Terminal-Fenster, tippen Sie wget und kopieren Sie die URL aus der Zwischenablage. Drücken Sie Return, um den Download zu starten.
root #
wget <PASTED_STAGE_URL>
Textbasierte Browser
Wenn Sie lieber in einem Terminal-Fenster arbeiten, können Sie links verwenden, einen textbasierten, menügeführten Browser. Starten Sie links www-client/links und navigieren Sie zu der Gentoo Mirror-Seite:
root #
links https://www.gentoo.org/downloads/mirrors/
Um einen HTTP-Proxy mit links zu verwenden, übergeben Sie die URL mit der -http-proxy
Option:
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
Neben links gibt es auch den Browser lynx www-client/lynx. Wie links ist es ein nicht-grafischer Browser, aber er ist nicht menügesteuert.
root #
lynx https://www.gentoo.org/downloads/mirrors/
Wenn ein Proxy definiert werden muss, exportieren Sie die http_proxy und/ oder ftp_proxy Variablen:
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
Bitte wählen Sie in der Spiegel-Liste einen Spiegel in Ihrer Nähe. Für gewöhnlich genügen HTTP Spiegel, andere Protokolle stehen aber auch zur Verfügung. Gehen Sie in das Verzeichnis releases/amd64/autobuilds/. Dort werden alle verfügbaren Stage Tar-Archive angezeigt (sie können in Unterverzeichnissen gespeichert sein, benannt nach den einzelnen Sub-Architekturen). Wählen Sie eines aus und drücken Sie d zum Download.
Nachdem Sie das Stage Tar-Archiv erfolgreich heruntergeladen haben, können Sie die Integrität des Tar-Archivs verifizieren und den Inhalt validieren. Wie das geht, steht im folgenden Abschnitt.
Wenn Sie kein Interesse an einer Überprüfung und Validierung des Stage Tar-Archivs haben, können Sie jetzt q drücken, um den Browser zu beenden. Springen Sie danach zu dem Abschnitt Stage Tar-Archiv entpacken.
Überprüfung und Validierung
Die meisten Stages sind jetzt explizit mit dem Suffix des Init-Systemtyps (openrc oder systemd), obwohl diese bei einigen Architekturen noch fehlen können.
Wie bei der minimalen Installations-CDs stehen zusätzliche Downloads zur Verfügung, mit denen das Stage Tar-Archiv überprüft und validiert werden kann. Obwohl dieser Schritt übersprungen werden kann, können diese Downloads von Anwendern genutzt werden, die die Integrität des Stage Tar-Archivs sicherstellen wollen.
- Eine Datei .CONTENTS, die eine Liste aller Dateien im Stage Tar-Archiv enthält.
- Eine Datei .DIGESTS, die Prüfsummen des Stage Tar-Archivs von verschiedenen Algorithmen beinhaltet.
- Eine Datei .DIGESTS.asc, die wie die Datei .DIGESTS Prüfsummen des Stage Tar-Archivs von verschiedenen Algorithmen beinhaltet, allerdings zusätzlich kryptographisch signiert um sicherzustellen, dass es durch das Gentoo-Projekt zur Verfügung gestellt wurde.
Verwenden Sie openssl zum Berechnen einer Prüfsumme des Stage tar-Archivs und vergleichen Sie die Ausgabe mit den Prüfsummen, die in den Dateien .DIGESTS und .DIGESTS.asc stehen.
Zur Überprüfung der SHA512 Prüfsumme zum Beispiel:
root #
openssl dgst -r -sha512 stage3-amd64-<release>-<init>.tar.?(bz2|xz)
Eine weitere Möglichkeit ist die Verwendung des Befehls sha512sum:
root #
sha512sum stage3-amd64-<release>-<init>.tar.?(bz2|xz)
Zur Validierung der Whirlpool Prüfsumme:
root #
openssl dgst -r -whirlpool stage3-amd64-<release>-<init>.tar.?(bz2|xz)
Vergleichen Sie die Ausgabe dieser Befehle mit dem Wert der in den .DIGESTS(.asc) Dateien eingetragen ist. Die Werte müssen übereinstimmen, andernfalls ist möglicherweise die heruntergeladene Datei beschädigt (oder die DIGEST-Datei ist es).
Genau wie bei der ISO-Datei ist es ebenfalls möglich, die kryptographische Signatur der Datei .DIGESTS.asc mit gpg zu überprüfen, um sicherzustellen, dass die Prüfsummen nicht manipuliert wurden:
root #
gpg --verify stage3-amd64-<release>-<init>.tar.?(bz2|xz){.DIGESTS.asc,}
Die Fingerprints der OpenPGP Schlüssel, die zum Signieren der Release Medien verwendet werden, finden Sie auf der release media signatures Seite des Gentoo Webservers.
Stage Tar-Archiv entpacken
Entpacken Sie das heruntergeladene Stage Tar-Archiv auf dem System. Verwenden Sie das tar Werkzeug um fortzufahren:
root #
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Verifizieren Sie, dass Sie genau die oben angegebenen Optionen (xvpf
, --xattrs-include='*.*'
und --numeric-owner
) im Befehl verwenden. Das x
steht für extrahieren, das p
(preserve) für den Erhalt der Dateirechte und das f
(file) gibt an, dass wir das auszupackende Archiv aus einer Datei lesen wollen - und nicht von der Standardeingabe. --xattrs-include='*.*'
bedeutet, dass die erweiterten (extended) Attribute erhalten bleiben sollen. --numeric-owner
ist erforderlich um sicherzustellen, dass die User- und Gruppen IDs der extrahierten Dateien so gesetzt werden, wie vom Gentoo Release Team definiert (und zwar auch dann, wenn abenteuerlustige Anwender bei der Installation nicht die offiziellen Live-Umgebungen verwenden).
Nachdem nun das Stage Tar-Archiv ausgepackt ist, geht es weiter mit dem Schritt: Compiler-Optionen konfigurieren.
Compiler-Optionen konfigurieren
Einleitung
Um das System zu optimieren, können Variablen gesetzt werden, mit denen das Verhalten von Portage (Gentoos offiziellem Paket-Manager) beeinflusst wird. Diese Variablen können als Umgebungs-Variablen gesetzt werden (mit export), aber diese wären nicht permanent.
Technisch gesehen können Variablen über die Profil- oder rc-Dateien der Shell exportiert werden, was jedoch für die grundlegende Systemadministration nicht die beste Praxis ist.
Portage liest die Datei make.conf ein, wenn es läuft, was das Laufzeitverhalten abhängig von den in der Datei gespeicherten Werten verändert. Die Datei make.conf kann als die primäre Konfigurationsdatei für Portage angesehen werden, also behandeln Sie ihren Inhalt sorgfältig.
Eine kommentiere Auflistung aller Variablen kann unter /mnt/gentoo/usr/share/portage/make.conf.example gefunden werden. Zusätzliche Dokumentation zu make.conf finden Sie, indem Sie man 5 make.conf ausführen.
Für eine erfolgreiche Gentoo-Installation müssen nur die unten genannten Variablen gesetzt werden.
Starten Sie einen Editor, damit Sie die Werte der Optimierungs-Variablen, die wir im Folgenden besprechen werden, ändern können. In dieser Anleitung verwenden wir den Editor nano.
root #
nano -w /mnt/gentoo/etc/portage/make.conf
Anhand der Datei make.conf.example sollte die Syntax von make.conf erkennbar sein: Kommentar-Zeilen starten mit einem #
, andere Zeilen nutzen die VARIABLE="Wert"
Syntax. Im nächsten Abschnitt werden wir einige dieser Variablen besprechen.
CFLAGS und CXXFLAGS
In den Variablen CFLAGS und CXXFLAGS können Optimierungs-Optionen für den GCC C-Compiler und den GCC C++ Compiler definiert werden. Die in make.conf global definierten Optimierungs-Optionen gelten dann für die Installation aller Pakete. Um die maximal mögliche Performance jedes einzelnen Pakets zu erreichen, bräuchte man jedoch für jedes Programm andere Optionen - weil jedes Programm anders ist und anders optimiert werden muss. Dies ist jedoch nicht praktikabel - und deshalb werden die Optimierungs-Optionen global für alle Pakete in make.conf definiert.
In make.conf sollten Optimierungen definiert werden, mit denen ihr System schnell und stabil läuft. Definieren Sie hier keine experimentellen Werte. Zu viel Optimierung kann dazu führen, dass Programme nicht mehr gut laufen: sie stürzen ab, funktionieren nicht richtig, oder - noch schlimmer - berechnen falsche Ergebnisse.
In diesem Abschnitt werden wir nur die wichtigsten Optimierungs-Optionen erklären. Eine Übersicht über alle möglichen Optimierungs-Optionen finden Sie auf der GCC online documentation, auf der GCC man page (man gcc) und auf der GCC info Seite (info gcc). man und info sind jedoch nur auf einem fertig installierten Linux System verfügbar. Weiterhin enthält die Datei make.conf.example viele Beispiele und Informationen - bitte vergessen Sie nicht, sie zu lesen.
Eine wichtige Einstellung ist die
-march=
or -mtune=
Option, mit der der Name der Ziel-Architektur definiert wird. Mögliche Werte werden in der Datei make.conf.example beschrieben (als Kommentare). Ein häufig benutzter Wert ist native. Mit diesem Wert wählt der Compiler die Ziel-Architektur des Systems, auf dem er gerade läuft (also des Systems, das Sie gerade installieren).
Eine weitere wichtige Option ist -O
(ein großer Buchstabe O, keine Null), mit der die GCC Optimierungs-Klasse definiert wird. Mögliche Werte sind s (size, optimiert auf kleine Code-Größe), 0 (Null - keine Optimierungen), 1, 2 oder sogar 3 für Geschwindigkeits-Optimierung (wobei jede Klasse die Optimierungen der vorhergehenden Klasse und einige zusätzliche Optimierungen durchführt). -O2
ist der empfohlene Standard-Wert. Von -O3
ist bekannt, dass es Probleme geben wird, wenn es systemweit benutzt wird. Wir empfehlen deshalb, bei -O2
zu bleiben.
Eine weitere häufig genutzte Option ist -pipe
(verwende für die Kommunikation zwischen den verschiedenen Compiler-Stufen Pipes statt temporärer Dateien). Diese Option hat keine Auswirkungen auf den generierten Code, benötigt aber mehr Arbeitsspeicher. Auf Systemen mit wenig Arbeitsspeicher kann dies dazu führen, dass GCC vorzeitig abgeschossen wird. Wenn das passieren sollte, verwenden Sie diese Option nicht.
Die Verwendung von -fomit-frame-pointer
(die dazu führt, dass der Frame Pointer in Funktionen, die keinen Frame Pointer benötigen, nicht gesetzt wird) kann erhebliche Auswirkungen auf das Debugging von Programmen haben.
Wenn Sie die CFLAGS oder die CXXFLAGS Variable definieren, sollten Sie die verschiedenen Optimierungs-Optionen in einem Wert kombinieren. Die Standard-Werte in dem von Ihnen ausgepackten Stage Tar-Archiv sollten ausreichend sein. In der folgenden Box zeigen wir ein Beispiel:
# Compiler flags to set for all languages COMMON_FLAGS="-march=native -O2 -pipe" # Use the same settings for both variables CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}"
Ausgangspunkt für das Setzen der CFLAGS und alle weiteren Optimierungen sollte der Artikel Safe CFLAGS sein. Die dort gezeigten Einstellungen sind für die meisten Gentoo Anwender ausreichend. Wer sein System weiter optimieren möchte, findet in dem Artikel GCC optimization weitere Tipps und Informationen. Bitte bedenken Sie, dass manche der dort gezeigten Optimierungen Ihr System auch langsamer machen können oder zu merkwürdigen Fehlern bei der Installation führen können. Sofern Sie sich (noch) nicht gut mit Gentoo und der Toolchain auskennen: bleiben Sie lieber bei den "Safe CFLAGS" Einstellungen.
MAKEOPTS
Über die MAKEOPTS Variable kann man u.a. definieren, wie viele parallele Compiler-Jobs gestartet werden sollen, wenn ein Paket installiert wird. Eine gute Wahl ist der kleinere der folgenden Werte: Anzahl der Threads der CPU oder der gesamte System-RAM geteilt durch zwei GiB.
A good choice is the smaller of: the number of threads the CPU has, or the total amount of system RAM divided by 2 GiB.
Eine große Anzahl von Jobs benötigt auch entsprechenden Hauptspeicher (RAM). Eine guter Schätzwert sind mindestens 2 GiB RAM pro Job (
-j6
benötigt also mindestens 12 GiB RAM). Um zu verhindern, dass mehr RAM benötigt wird als vorhanden ist, sollten Sie die Anzahl der Jobs ggf. reduzieren und an das vorhandene RAM anpassen.Wenn mehrere Emerge-Jobs parallel laufen gelassen werden (
--jobs
), kann die Anzahl der resultierenden Jobs exponentiell ansteigen (bis zum Produkt von "make jobs" multipliziert mit "emerge jobs"). Dieses Wachstum kann kontrolliert werden durch den Einsatz einer lokalen distcc Konfiguration, die die Anzahl der Compiler-Aufrufe pro Host begrenzt.MAKEOPTS="-j2"
Search for MAKEOPTS in man 5 make.conf for more details.
Los geht's!
Passen Sie die Einstellungen in /mnt/gentoo/etc/portage/make.conf an Ihre persönlichen Wünsche an und speichern Sie die Datei. Anwender, die den Editor "nano" verwenden, können die Änderungen mit Ctrl+x speichern und beenden damit auch den Editor.
Weiter geht es mit dem Kapitel: Installation des Gentoo Basissystems.
Chrooten
Optional: Spiegelserver wählen
Distributionsdateien
Dieser Schritt kann übersprungen werden, wenn Sie ein Nicht-Gentoo Installationsmedium verwenden. Das Paket app-portage/mirrorselect kann später installiert werden (nach dem Schritt Betreten der neuen Umgebung). Die in diesem Abschnitt beschriebenen Aktionen können zu diesem Zeitpunkt nachgeholt werden.
Um den Quellcode zügig herunterzuladen, wird empfohlen, einen schnellen Spiegel auszuwählen. Portage schaut in der Datei make.conf nach der Variable GENTOO_MIRRORS und verwendet darin aufgelistete Spiegel. Es ist möglich, zur Gentoo Mirror-Liste zu surfen und nach einem Spiegel (oder mehreren Spiegeln) zu suchen, die nahe dem Systemstandort liegen (da diese meistens die schnellsten sind). Allerdings bieten wir ein nettes Tool namens mirrorselect, das den Benutzern ein schönes Interface zur Auswahl der benötigten Spiegel bietet. Gehen Sie einfach zu den Spiegeln der Wahl und drücken Sie die Leertaste um einen oder mehrere Spiegel auszuwählen.
root #
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Gentoo ebuild Repository
Eine zweiter wichtiger Schritt bei der Auswahl der Spiegel ist die Konfiguration des Gentoo ebuild Repository über die Datei /etc/portage/repos.conf/gentoo.conf. Diese Datei beinhaltet die Informationen, die zum Synchronisieren des Paket Repository erforderlich sind. Das Paket Repository ist die Sammlung der ebuilds und der zugehörigen Dateien, die all die Informationen enthalten, die Portage zum Download und zur Installation von Software-Paketen benötigt.
Das Repository kann in ein paar einfachen Schritten konfiguriert werden. Erzeugen Sie zuerst das Verzeichnis repos.conf, falls es noch nicht existiert:
root #
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
Kopieren Sie dann die von Portage bereitgestellte Gentoo Repository-Konfigurationsdatei in das (neu erstellte) Verzeichnis repos.conf:
root #
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Schauen Sie sich die Datei mit einem Texteditor oder mit dem cat-Befehl an. Die Datei sollte ein .ini-Format haben und ungefähr so aussehen:
/mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT] main-repo = gentoo [gentoo] location = /var/db/repos/gentoo sync-type = rsync sync-uri = rsync://rsync.gentoo.org/gentoo-portage auto-sync = yes sync-rsync-verify-jobs = 1 sync-rsync-verify-metamanifest = yes sync-rsync-verify-max-age = 24 sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc sync-openpgp-key-refresh-retry-count = 40 sync-openpgp-key-refresh-retry-overall-timeout = 1200 sync-openpgp-key-refresh-retry-delay-exp-base = 2 sync-openpgp-key-refresh-retry-delay-max = 60 sync-openpgp-key-refresh-retry-delay-mult = 4
Der hier gezeigte Standard-Wert der Variable sync-uri wählt den Ort des Spiegelservers basierend auf einer Rotation. Das hilft dabei, die Bandbreitenbelastung auf Gentoos Infrastruktur auszugleichen und hilft in Fällen, in denen ein bestimmter Spiegelserver offline ist. Es wird empfohlen, diese Standard-URI beizubehalten - sofern nicht ein lokaler, privater Portage Spiegel verwendet werden soll.
Die Spezifikation für die Portage Plugin Sync API finden Sie im Portage Sync Artikel.
DNS-Info kopieren
Eine Sache bleibt noch zu tun, bevor Sie die neue Umgebung betreten - und das ist das Kopieren der DNS-Informationen in der Datei /etc/resolv.conf. Dies ist notwendig um sicherzustellen, dass Netz-Verbindungen auch nach dem Betreten der neuen Umgebung noch funktionieren. /etc/resolv.conf enthält u.a. die IP-Adressen der Namensserver.
Zum Kopieren dieser Information ist es empfehlenswert, beim Befehl cp die Option --dereference
zu verwenden. Wenn /etc/resolv.conf ein symbolischer Link ist stellt dies sicher, dass die Zieldatei anstelle des symbolischen Links selbst kopiert wird. Andernfalls würde der symbolische Link auf eine nicht existierende Datei zeigen (weil das Link-Ziel höchstwahrscheinlich in der neuen Umgebung nicht verfügbar ist).
root #
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Notwendige Dateisysteme einhängen
In wenigen Augenblicken wird Linux root (/) auf den neuen Ort geändert werden. Um sicherzustellen, dass die neue Umgebung richtig funktioniert, müssen bestimmte Dateisysteme dort ebenfalls verfügbar gemacht werden.
Die Dateisysteme, die verfügbar gemacht werden müssen, sind:
- /proc/ ist ein ein Pseudo-Dateisystem. Dateien sehen aus wie gewöhnliche Dateien - ihre Inhalte werden jedoch on-the-fly generiert, sobald aus den Dateien gelesen wird. Auf diese Weise können Anwender und Programme aktuelle Status-Informationen des Kernels lesen.
- /sys/ ist ein Pseudo-Dateisystem, genauso wie /proc/. Einst war es dafür gedacht, /proc/ zu ersetzen. Es ist besser strukturiert als dieses.
- /dev/ ist ein gewöhnliches Dateisystem, das alle Gerätedateien enthält. Es wird teilweise vom Linux Device Manager verwaltet (normalerweise udev).
- /run/ ist ein temporäres Dateisystem für Dateien, die im laufenden Betrieb benötigt werden, die aber einen Reboot nicht überleben müssen. Beispiele sind PID-Dateien oder Locks.
/proc/ wird an /mnt/gentoo/proc/ eingehängt, wohingegen die anderen Dateisysteme über Bind-Mounts eingehängt werden. Letzteres bedeutet, dass beispielsweise /mnt/gentoo/sys/ in Wirklichkeit /sys/ ist (es ist lediglich ein zweiter Einstiegspunkt zum selben Dateisystem), wohingegen /mnt/gentoo/proc/ eine neue Einbindung (sozusagen eine neue Instanz) des Dateisystems ist.
root #
mount --types proc /proc /mnt/gentoo/proc
root #
mount --rbind /sys /mnt/gentoo/sys
root #
mount --make-rslave /mnt/gentoo/sys
root #
mount --rbind /dev /mnt/gentoo/dev
root #
mount --make-rslave /mnt/gentoo/dev
root #
mount --bind /run /mnt/gentoo/run
root #
mount --make-slave /mnt/gentoo/run
Die
--make-rslave
Operationen werden für die spätere systemd Unterstützung bei der Installation benötigt.Bei der Verwendung von Nicht-Gentoo Installationsmedien ist dies möglicherweise nicht ausreichend. Bei einigen Distributionen ist /dev/shm ein symbolischer Link zu /run/shm/, der nach einem chroot ungültig wird. Dies kann behoben werden, indem Sie /dev/shm/ im Voraus zu einem entsprechenden tmpfs mount machen:
root #
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
Stellen Sie zudem sicher, dass Mode 1777 gesetzt ist:
root #
chmod 1777 /dev/shm /run/shm
Betreten der neuen Umgebung
Nun, da alle Partitionen initialisiert sind und die Basis-Umgebung installiert ist, wird es Zeit, die neue Installationsumgebung durch chroot zu betreten. Das bedeutet, dass die Sitzung ihr Wurzelverzeichnis (/) von der aktuellen Installationsumgebung (Installations-CD oder anderes Installationsmedium) zum Installationssystem (nämlich die initialisierten Partitionen) ändert. Daher der Name change root oder chroot.
Dieses Chrooten erfolgt in drei Schritten:
- Das Wurzelverzeichnis wird mit Hilfe von chroot von / (auf dem Installationsmedium) auf /mnt/gentoo/ (auf den Partitionen) geändert.
- Einige Einstellungen (jene in /etc/profile) werden über den Befehl source neu in den Speicher geladen.
- Die primäre Eingabeaufforderung wird geändert, damit wir nicht vergessen, dass diese Sitzung innerhalb einer chroot-Umgebung läuft.
root #
chroot /mnt/gentoo /bin/bash
root #
source /etc/profile
root #
export PS1="(chroot) ${PS1}"
Von diesem Punkt an werden alle Aktionen direkt auf der neuen Gentoo Linux Umgebung ausgeführt. Natürlich sind wir noch lange nicht fertig - weshalb auch diese Installations-Anleitung noch einige Abschnitte und Kapitel bereit hält!
Wenn die Installation bei einem der ab hier folgenden Schritte unterbrochen werden sollte, sollte es möglich sein, ab dieser hier Stelle weiterzuarbeiten. Es ist nicht nötig, die Partitionen erneut zu erstellen! Mounten Sie die Root-Partition und führen Sie die oben beschriebenen Schritte ab DNS-Info kopieren erneut aus, um wieder in die neue Gentoo Linux Umgebung zu gelangen. Dieses Vorgehen ist ebenfalls sinnvoll, um Bootloader-Probleme zu beheben. Weitere Informationen erhalten Sie im chroot Artikel.
Portage konfigurieren
Ein Gentoo ebuild Repository Snapshot aus dem Web installieren
Der nächste Schritt besteht darin, einen Snapshot des Gentoo ebuild Repositorys zu installieren. Dieser Snapshot enthält eine Sammlung von Dateien, die Portage informiert über verfügbare Software-Titel (für die Installation), welche Profile der Administrator auswählen kann, Paket- oder Profil-spezifische News-Items, usw.
Die Verwendung von emerge-webrsync wird empfohlen für diejenigen, die hinter einer restriktiven Firewall sitzen (das Programm lädt den Snapshot über die Protokolle HTTP/FTP herunter) und für diejenigen, die Netzwerk-Bandbreite sparen wollen. Leser, die keine Einschränkungen durch Firewalls oder von der Netzwerk-Bandbreite haben, können zum nächsten Abschnitt springen.
Der folgende Befehl holt den neuesten Portage-Snapshot (den Gentoo tagesaktuell veröffentlicht) von einem der Gentoo-Spiegel und installiert ihn auf dem System.
root #
emerge-webrsync
Während dieser Operation könnte sich emerge-webrsync über das Fehlen von /var/db/repos/gentoo/ beschweren. Dies ist zu erwarten und kein Grund zur Sorge - das Tool wird das Verzeichnis anlegen.
Von diesem Punkt an könnte Portage erwähnen, dass bestimmte Updates empfehlenswert sind. Dies ist deshalb so, weil es möglicherweise neuere Versionen von Paketen gibt, die durch das Stage Tar-Archiv installiert wurden. Nach der Installation des Repository Snapshots weiß Portage nun von diesen neueren Versionen. Paket-Updates können im Augenblick bedenkenlos ignoriert werden. Die Updates können verzögert werden, bis die Gentoo Installation abgeschlossen ist.
Optional: Gentoo ebuild Repository aktualisieren
Es ist möglich, das Gentoo ebuild Repository mit emerge auf die neueste Version zu aktualisieren. Wenn Sie mit dem vorhergehenden Befehl emerge-webrsync einen aktuellen Snapshot installiert haben (Snapshots sind in der Regel nicht älter als 24 Stunden), ist dieser Schritt optional.
Angenommen Sie benötigen die neuesten Paket-Updates (bis zu 1 Stunde), dann benutzen Sie emerge --sync. Dieser Befehl nutzt das rsync Protokoll zur Aktualisierung des Gentoo ebuild Repository (welcher zuvor durch emerge-webrsync bezogen wurde) auf den aktuellsten Stand.
root #
emerge --sync
Auf langsamen Terminals, wie einigen Framebuffer- oder seriellen Konsolen, ist es empfehlenswert, die Option --quiet
zu nutzen, um den Vorgang zu beschleunigen:
root #
emerge --sync --quiet
News Items lesen
Wenn das Gentoo ebuild Repository auf das System synchronisiert wird, könnte Portage Hinweistexte wie im folgenden Beispiel ausgeben:
* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
News Items wurden als Kommunikationsmedium geschaffen, um den Benutzern wichtige Mitteilungen über das Gentoo ebuild Repository zukommen lassen zu können. Zur Verwaltung der Mitteilungen verwenden Sie eselect news. Die Anwendung eselect ist ein Gentoo-spezifisches Programm, das eine gemeinsame Verwaltungsschnittstelle für verschiedene System-Administrations-Aufgaben bietet. In diesem Fall wird eselect aufgefordert, das Modul news
zu verwenden.
Im Modul news
werden drei Operationen am meisten genutzt:
- Mit
list
wird eine Übersicht der verfügbaren News-Einträge angezeigt. - Mit
read
können die News-Einträge gelesen werden. - Mit
purge
lassen sich News-Einträge löschen, sobald sie gelesen wurden. Ein erneutes Einlesen erfolgt nicht.
root #
eselect news list
root #
eselect news read
Mehr Informationen zum News Reader sind über seine Manpage verfügbar:
root #
man news.eselect
Auswahl des richtigen Profils
Desktop profiles are not exclusively for desktop environments. They are still suitable for minimal window managers like i3 or sway.
Ein Profil (profile) ist wichtiger Baustein für jedes Gentoo System. Es definiert nicht nur Standardwerte für USE, CFLAGS und andere wichtige Variablen, sondern legt das System auch auf einen bestimmten Bereich von Paketversionen fest. Diese Einstellungen werden von den Gentoo Portage-Entwicklern gepflegt.
Um zu sehen, welches Profil das System momentan verwendet, können Sie eselect mit dem profile
Modul ausführen:
root #
eselect profile list
Available profile symlink targets: [1] default/linux/amd64/17.0 * [2] default/linux/amd64/17.0/desktop [3] default/linux/amd64/17.0/desktop/gnome [4] default/linux/amd64/17.0/desktop/kde
Die Ausgabe des Befehls ist nur ein Beispiel und kann sich im Laufe der Zeit ändern.
Wenn systemd verwendet wird, stellen Sie bitte sicher, dass der Profilname "systemd" enthält. Andernfalls stellen Sie bitte sicher, dass der Profilname nicht "systemd" enthält.
Wie man sieht, stehen für einige Architekturen Desktop-Unterprofile zur Verfügung.
Profil-Upgrades sind nicht einfach. Wenn Sie das initiale Profil auswählen, sollten Sie sicherstellen, dass es die selbe Versionsnummer hat, wie das Profil, das vom Stage3 Tar-Archiv installiert wurde (beispielsweise 17.0). Neue Profil-Versionen werden über News Items angekündigt, die detaillierte Migrationsanleitungen enthalten. Bitte lesen und folgen Sie diesen Migrationsanleitungen bevor Sie auf ein neues Profil wechseln.
Nach dem Betrachten der verfügbaren Profile für die amd64 Architektur kann der Benutzer ein anderes Profil für das System wählen:
root #
eselect profile set 2
This is a placeholder for architecture-specific profile information
Das
developer
Unterprofil ist eigens für die Gentoo Linux Entwicklung und nicht für die Nutzung durch gewöhnliche Benutzer gedacht.@world set updaten
An dieser Stelle sollte das @world set upgedatet werden, um Ihr System auf eine solide Basis zu stellen.
Der folgende Schritt ist erforderlich, damit Ihre Änderungen am Profil wirksam werden. Weiterhin werden alle Pakete aktualisiert, für die es nach dem Erstellungszeitpunkt des von Ihnen installierten Stage Tar-Archivs Updates oder Änderungen an den USE Flags gibt.
root #
emerge --ask --verbose --update --deep --newuse @world
Wenn Sie ein Profil für eine vollständige Desktop-Umgebung (wie KDE oder GNOME) gewählt haben, kann der obige emerge-Befehl recht lange dauern. Wer unter Zeitdruck steht, kann folgende 'Daumenregel' verwenden: je kürzer der Profil-Name, desto weniger umfangreich ist das @world set des Systems, desto weniger Pakete müssen installiert werden. Mit anderen Worten:
- die Wahl von
default/linux/amd64/17.0
führt zu wenigen Paketen, die upgedatet werden müssen, während - bei der Wahl von
default/linux/amd64/17.0/desktop/gnome/systemd
viele Pakete installiert werden müssen, weil ein Wechsel von OpenRC zu systemd stattfindet und die GNOME Desktop-Umgebung installiert werden muss.
USE Variable konfigurieren
USE ist eine der mächtigsten Variablen, die Gentoo seinen Benutzern bietet. Viele Programme können mit oder ohne optionale Unterstützung für bestimmte Dinge kompiliert werden. Beispielsweise können einige Programme mit GTK- oder Qt-Unterstützung kompiliert werden. Andere können mit oder ohne SSL-Unterstützung kompiliert werden. Einige Programme können sogar mit Framebuffer-Unterstützung (svgalib) anstelle von X11-Unterstützung (X-Server) kompiliert werden.
Die meisten Distributionen kompilieren ihre Pakete mit Unterstützung für möglichst viel. Dies erhöht die Größe der Programme und verlängert die Programmstartzeit, nicht zu erwähnen die enorme Menge von Abhängigkeiten. Mit Gentoo können die Benutzer definieren, mit welchen Optionen ein Paket kompiliert werden soll. Hier kommt USE ins Spiel.
In der Variablen USE definieren die Benutzer Schlüsselwörter, die auf Optionen beim Kompilieren abgebildet werden. Beispielsweise kompiliert ssl
SSL Unterstützung in die Programme, die das unterstützen. -X
entfernt X-Server-Unterstützung (beachten Sie das Minuszeichen am Anfang). gnome gtk -kde -qt5
kompiliert Programme mit GNOME und GTK+ Unterstützung, aber nicht mit KDE und Qt5 Unterstützung. Das führt zu einem System, das komplett für GNOME optimiert ist (vorausgesetzt die Architektur unterstützt es).
Die Standard-USE-Einstellungen befinden sich in den make.defaults Dateien des Gentoo-Profils, das das System verwendet. Gentoo benutzt ein (komplexes) Vererbungssystem für seine Profile, in das wir in dieser Phase nicht eintauchen wollen. Der einfachste Weg, die momentan aktiven USE Einstellungen zu überprüfen, ist emerge --info auszuführen und die Zeile auszuwählen, die mit USE beginnt:
root #
emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Das obige Beispiel ist verkürzt, die tatsächliche Liste der USE-Werte ist viel viel länger.
Eine vollständige Beschreibung der verfügbaren USE-Flags finden Sie auf dem System in der Datei /var/db/repos/gentoo/profiles/use.desc.
root #
less /var/db/repos/gentoo/profiles/use.desc
Innerhalb des Befehls less können Sie mit Hilfe der Tasten ↑ und ↓ scrollen. Zum Beenden drücken Sie q.
Als Beispiel zeigen wir die USE Einstellung für ein KDE-basiertes System mit DVD, ALSA und CD-Aufnahme Unterstützung:
root #
nano -w /etc/portage/make.conf
/etc/portage/make.conf
USE-Flags für ein KDE/Plasma-basiertes System mit Unterstützung für DVD, ALSA und CD-AufnahmeUSE="-gtk -gnome qt5 kde dvd alsa cdr"
Wenn ein USE Wert in /etc/portage/make.conf definiert wird, wird er zu der USE-Flag Liste des Systems hinzugefügt. USE-Flags auf dieser Liste können entfernt werden, indem ein - Minuszeichen vor den Wert gesetzt wird. Um beispielsweise die Unterstützung für X11 zu deaktivieren, kann -X
definiert werden:
/etc/portage/make.conf
Standard USE-Flags ignorierenUSE="-X acl alsa"
Obwohl es möglich ist, mit
-*
alle USE-Flags zu deaktivieren (mit Ausnahme der in make.conf definierten USE-Flags), raten wir mit Nachdruck davon ab. Die Entwickler von Ebuilds wählen bestimmte Default-USE-Flags in ebuilds um Konflikte zu vermeiden, die Sicherheit zu gewährleisten, Fehler zu vermeiden und aus vielen weiteren Gründen. Die Deaktivierung aller USE-Flags beeinträchtigt das Standard-Verhalten und kann zu schwerwiegenden Problemen führenCPU_FLAGS_*
Einige Architekturen (u.a. AMD64/X86, ARM, PPC) haben eine USE_EXPAND Variable namens CPU_FLAGS_ARCH (ersetzen Sie ARCH mit der für Sie relevanten Architektur).
Diese Variable wird genutzt, um beim Compilieren von Paketen spezifischen Assembler-Code oder andere intrinsische Funktionen einzubinden. Diese sind oft handgeschrieben oder optional. Bitte beachten Sie, dass es hierbei um etwas anderes geht, als den Compiler anzuweisen, optimierten Code für eine spezielle CPU oder für spezielle CPU-Funktionen zu generieren.
Users should set this variable in addition to configuring their COMMON_FLAGS as desired.
Zur Konfiguration sind folgende Schritte erforderlich:
root #
emerge --ask app-portage/cpuid2cpuflags
Wenn Sie neugierig sind, können Sie das Programm starten und sich die Ausgabe ansehen:
root #
cpuid2cpuflags
Kopieren Sie die Ausgabe des Programms nach package.use:
root #
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
VIDEO_CARDS
Die VIDEO_CARDS USE_EXPAND Variable sollte in Abhängigkeit von der verfügbaren GPU (den verfügbaren GPUs) konfiguriert werden. Das Vorgehen wird im Xorg guide beschrieben. Wenn nur auf einer Konsole gearbeitet werden soll, muss VIDEO_CARDS nicht gesetzt werden.
Optional: Die ACCEPT_LICENSE Variable konfigurieren
Die Lizenzen eines Gentoo Pakets werden in der LICENSE Variable im ebuild eingetragen. Die auf einem System erlaubten Lizenzen oder Gruppen von Lizenzen werden in den folgenden Dateien definiert:
- systemweit: im Profil
- systemweit: in /etc/portage/make.conf
- für einzelne Pakete: in /etc/portage/package.license.
Portage überprüft anhand von ACCEPT_LICENSE, welche Pakete installiert werden dürfen. Den derzeit systemweit gültigen Wert können Sie anzeigen mit:
user $
portageq envvar ACCEPT_LICENSE
@FREE
Optional kann die in den Profilen gesetzte systemweite Voreinstellung überschrieben werden in der Datei /etc/portage/make.conf:
/etc/portage/make.conf
Beispiel, wie erlaubte Lizenzen systemweit über ACCEPT_LICENSE definiert werden könnenACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"
Optional kann man die erlaubten Lizenzen für einzelne Pakete definieren, wie im folgenden Beispiel gezeigt wird:
/etc/portage/package.license
Beispiel, wie erlaubte Lizenzen für einzelne Pakete definiret werden könnenapp-arch/unrar unRAR sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE sys-firmware/intel-microcode intel-ucode
root #
mkdir /etc/portage/package.license
/etc/portage/package.license/kernel
Example how to accept licenses per-packageapp-arch/unrar unRAR sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE sys-firmware/intel-microcode intel-ucode
Die LICENSE Variable in den ebuilds ist nur eine Richtlinie für Gentoo Entwickler und Anwender. Die dort angegebenen Informationen sind NICHT rechtsverbindlich und es gibt keine Garantie, dass sie der Realität entsprechen. Verlassen Sie sich NICHT auf die LICENSE Variable, sondern überprüfen Sie die Lizenzbedingungen des Pakets selbst gründlich. Dies gilt auch für alle im Paket enthaltenen Dateien, die Sie nutzen.
Die folgende Tabelle zeigt die im Gentoo Repository definierten Lizenz-Gruppen. Die Lizenz-Gruppen werden vom Gentoo Licenses Projekt verwaltet.
Gruppen-Name | Beschreibung |
---|---|
@GPL-COMPATIBLE | GPL compatible licenses approved by the Free Software Foundation [a_license 1] |
@FSF-APPROVED | Free software licenses approved by the FSF (includes @GPL-COMPATIBLE) |
@OSI-APPROVED | Licenses approved by the Open Source Initiative [a_license 2] |
@MISC-FREE | Misc licenses that are probably free software, i.e. follow the Free Software Definition [a_license 3] but are not approved by either FSF or OSI |
@FREE-SOFTWARE | Combines @FSF-APPROVED, @OSI-APPROVED and @MISC-FREE |
@FSF-APPROVED-OTHER | FSF-approved licenses for "free documentation" and "works of practical use besides software and documentation" (including fonts) |
@MISC-FREE-DOCS | Misc licenses for free documents and other works (including fonts) that follow the free definition [a_license 4] but are NOT listed in @FSF-APPROVED-OTHER |
@FREE-DOCUMENTS | Combines @FSF-APPROVED-OTHER and @MISC-FREE-DOCS |
@FREE | Metaset of all licenses with the freedom to use, share, modify and share modifications. Combines @FREE-SOFTWARE and @FREE-DOCUMENTS |
@BINARY-REDISTRIBUTABLE | Licenses that at least permit free redistribution of the software in binary form. Includes @FREE |
@EULA | License agreements that try to take away your rights. These are more restrictive than "all-rights-reserved" or require explicit approval |
Zeitzone
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.
Wählen Sie die Zeitzone für das System. Schauen Sie nach den verfügbaren Zeitzonen in /usr/share/zoneinfo/.
root #
ls /usr/share/zoneinfo
Nehmen wir an, die gewünschte Zeitzone ist Europe/Brussels.
OpenRC
Wir schreiben den Namen der gewünschten Zeitzone in die Datei /etc/timezone.
root #
echo "Europe/Brussels" > /etc/timezone
Bitte vermeiden Sie die /usr/share/zoneinfo/Etc/GMT* Zeitzonen, da deren Namen nicht die erwarteten Zonen anzeigen. Beispielsweise ist GMT-8 in der Tat GMT+8.
Als Nächstes konfigurieren Sie das Paket sys-libs/timezone-data neu. Dies wird für uns abhängig vom Eintrag in der Datei /etc/timezone die Datei /etc/localtime aktualisieren. Die Datei /etc/localtime wird von der System C Bibliothek verwendet um zu erfassen in welcher Zeitzone sich das System befindet.
root #
emerge --config sys-libs/timezone-data
systemd
Wenn systemd verwendet wird, ist ein etwas anderes Vorgehen erforderlich. Ein symbolischer Link wird angelegt:
root #
ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime
Später, wenn das systemd am Laufen ist, können die Zeitzone und verwandte Einstellungen mit dem Programm timedatectl konfiguriert werden.
Locales konfigurieren
Dieser Abschnitt ist nicht erforderlich für Nutzer der "musl" libc. Anwender, die nicht wissen, was das bedeutet, sollten diesen Abschnitt durcharbeiten.
Locales erzeugen
Die meisten Benutzer werden nur ein oder zwei Locale auf ihrem System verwenden.
Locales geben nicht nur die Sprache an, mit der der Anwender mit dem System interagieren soll. Sie definieren auch die Regeln zum Sortieren von Zeichenketten, zur Anzeige von Datum und Zeit, usw. Locales sind 'case-sensitive' und müssen genau so geschrieben werden wie vorgegeben. Die Datei /usr/share/i18n/SUPPORTED enthält eine vollständige Liste aller verfügbaren Locales.
Locales, die auf einem System verfügbar sein sollen, müssen in der Datei /etc/locale.gen konfiguriert werden.
root #
nano -w /etc/locale.gen
Das folgende Beispiel zeigt Locales, um sowohl Englisch (Vereinigte Staaten), als auch Deutsch (Deutschland) mit den Zeichenkodierungen Latin-1 und UTF-8 zu erhalten:
/etc/locale.gen
Konfiguration von Locale und Zeichenkodierungenen_US ISO-8859-1 en_US.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE.UTF-8 UTF-8
Anwender aus Österreich oder aus der Schweiz können anstelle von (oder zusätzlich zu) "de_DE" wählen: "de_AT" oder "de_CH".
Wir empfehlen ausrücklich, mindestens ein UTF-8 Locale zu konfigurieren, weil einige Anwendungen sonst möglicherweise nicht korrekt gebaut werden können.
Der nächste Schritt ist, locale-gen auszuführen. Dieses Programm erzeugt alle Locales, die in der Datei /etc/locale.gen angegeben sind.
root #
locale-gen
Um zu überprüfen, ob die ausgewählten Locales jetzt verfügbar sind, führen Sie locale -a aus. Dieser Befehl muss die konfigurierten Locales anzeigen - ansonsten hat locale-gen nicht funktioniert.
On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.
Locale auswählen
Nachdem die Locales generiert wurden, ist es Zeit, die systemweiten Locale-Einstellungen zu setzen. Wir verwenden dafür wieder eselect, diesmal mit dem Modul locale
.
Mit eselect locale list werden die verfügbaren Locales angezeigt:
root #
eselect locale list
Verfügbare Locales für die LANG Variable: [1] C [2] C.utf8 [3] en_US [4] en_US.iso88591 [5] en_US.utf8 [6] de_DE [7] de_DE.iso88591 [8] de_DE.iso885915 [9] de_DE.utf8 [10] POSIX [ ] (free form)
Mit eselect locale set <WERT> kann die gewünschte Locale ausgewählt werden:
root #
eselect locale set 9
Manuell kann dies auch durch Anpassen der Datei /etc/env.d/02locale und für Systemd durch Anpassen der Datei /etc/locale.conf erreicht werden:
/etc/env.d/02locale
Manuelles Setzen der System-LocaleLANG="de_DE.UTF-8" LC_COLLATE="C.UTF-8"
Das Setzen der System-Locale verhindert Warnungen und Fehlermeldungen beim Kompilieren des Kernels und von Software in den folgenden Installationsschritten.
Laden Sie jetzt die Umgebung erneut, damit die Änderung der Locale-Einstellung in Ihrer Shell wirksam wird:
root #
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
Eine weiterführende Anleitung durch den Lokalisierungs-Prozess finden Sie im Lokalisierungs-Leitfaden und in der UTF-8-Anleitung.
Optional: Firmware und/oder Microcode installieren
Firmware
Bevor wir mit der Konfiguration des Kernels beginnen, ist es sinnvoll darauf hinzuweisen, dass einige Geräte zusätzliche Firmware benötigen, bevor sie funktionieren. Dies ist häufig bei Netzwerkkarten der Fall, insbesondere bei WLAN Interfaces - sowohl bei Desktop-Rechnern, als auch bei Notebooks. Auch moderne Video-Chips von Herstellern wie AMD, NVidia und Intel benötigen häufig externe Firmware-Dateien, um vollständig zu funktionieren. Die meiste Firmware für moderne Hardware befindet sich in dem Paket sys-kernel/linux-firmware. Auf Systemen mit Grafikkarten der genannten Hersteller ist es sinnvoll, dieses Paket zu installieren, bevor man den Kernel konfiguriert und kompiliert.
It is recommended to have the sys-kernel/linux-firmware package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:
root #
emerge --ask sys-kernel/linux-firmware
Installing certain firmware packages often requires accepting the associated firmware licenses. If necessary, visit the license handling section of the Handbook for help on accepting licenses.
It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.
Microcode
Neben Grafik- und Netzwerk-Hardware können auch CPUs Firmware-Updates benötigen. Dieser Typ von Firmware wird Microcode genannt. Manchmal sind aktuelle Versionen von Microcode erforderlich, um Stabilitätsprobleme, Sicherheitsprobleme oder andere Bugs in CPU-Hardware zu patchen.
Microcode Updates für AMD CPUs sind in dem bereits genannten Paket sys-kernel/linux-firmware enthalten. Microcode Updates für Intel CPUs sind in dem Paket sys-firmware/intel-microcode enthalten. Dieses muss zusätzlich installiert werden. Weitere Informationen finden Sie in dem Microcode article, in dem auch beschrieben wird, wie Microcode Updates auf der CPU aktiviert werden.
Kernel konfigurieren und Kompilieren
Jetzt ist es Zeit, die Kernel-Quellen zu konfigurieren und zu kompilieren. Dafür gibt es drei Ansätze:
Ranked from least involved to most involved:
- Der Kernel wird manuell konfiguriert und gebaut.
- Ein Tool namens genkernel wird verwendet, um den Linux Kernel automatisch zu bauen und zu installieren.
- Ein Distribution Kernel wird verwendet, um den Linux Kernel automatisch zu bauen und zu installieren. Dabei erfolgt die Installation genauso wie bei jedem anderen Gentoo-Paket.
Der Kern, um den alle Distributionen gebaut sind, ist der Linux Kernel. Er ist die Schicht zwischen den Benutzerprogrammen und der Systemhardware. Gentoo bietet seinen Benutzern verschiedene Kernel-Quellen. Eine komplette Liste mit einer Beschreibung finden Sie auf der Kernel Übersichtsseite.
Distribution kernels
Distribution Kernels are ebuilds that cover the complete process of unpacking, configuring, compiling, and installing the kernel. The primary advantage of this method is that the kernels are updated to new versions by the package manager as part of @world upgrade. This requires no more involvement than running an emerge command. Distribution kernels default to a configuration supporting the majority of hardware, however two mechanisms are offered for customization: savedconfig and config snippets. See the project page for more details on configuration.
Installing the correct installkernel package
Before using the distribution kernels, please verify that the correct installkernel package for the system has been installed. When using systemd-boot (formerly gummiboot) as the bootloader, install:
root #
emerge --ask sys-kernel/installkernel-systemd-boot
When using a traditional a /boot layout (e.g. GRUB, LILO, etc.), the gentoo variant should be installed by default. If in doubt:
root #
emerge --ask sys-kernel/installkernel-gentoo
Installing a distribution kernel
To build a kernel with Gentoo patches from source, type:
root #
emerge --ask sys-kernel/gentoo-kernel
System administrators who want to avoid compiling the kernel sources locally can instead use precompiled kernel images:
root #
emerge --ask sys-kernel/gentoo-kernel-bin
Upgrading and cleaning up
Once the kernel is installed, the package manager will automatically update it to newer versions. The previous versions will be kept until the package manager is requested to clean up stale packages. To reclaim disk space, stale packages can be trimmed by periodically running emerge with the --depclean
option:
root #
emerge --depclean
Alternatively, to specifically clean up old kernel versions:
root #
emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin
Post-install/upgrade tasks
Distribution kernels are capable of rebuilding kernel modules installed by other packages. linux-mod.eclass provides the dist-kernel
USE flag which controls a subslot dependency on virtual/dist-kernel.
Enabling this USE flag on packages like sys-fs/zfs and sys-fs/zfs-kmod allows them to automatically be rebuilt against a newly updated kernel and, if applicable, will re-generate the initramfs accordingly.
Manually rebuilding the initramfs
If required, manually trigger such rebuilds by, after a kernel upgrade, executing:
root #
emerge --ask @module-rebuild
If any kernel modules (e.g. ZFS) are needed at early boot, rebuild the initramfs afterward via:
root #
emerge --config sys-kernel/gentoo-kernel
root #
emerge --config sys-kernel/gentoo-kernel-bin
Installieren der Kernel-Quellen
This section is only relevant when using the following genkernel (hybrid) or manual kernel management approach.
When installing and compiling the kernel for amd64-based systems, Gentoo recommends the sys-kernel/gentoo-sources package.
Choose an appropriate kernel source and install it using emerge:
root #
emerge --ask sys-kernel/gentoo-sources
Dieser Befehl installiert die Quellen des Linux-Kernels in dem Verzeichnis /usr/src/. Im Namen des angelegten Unterverzeichnisses steht die Version des Linux-Kernels (beispielsweise /usr/src/linux-4.9.16-gentoo). Der emerge-Befehl erzeugt einen symbolischen Link /usr/src/linux auf dieses Verzeichnis, wenn das USE-Flag symlink
bei dem Paket gesetzt ist.
Es ist gute Praxis, einen Symlink /usr/src/linux auf das Verzeichnis mit dem Source-Code der Kernel-Version zeigen zu lassen, die auf dem System läuft. Dieser Symlink wird nicht automatisch erzeugt. Er kann jedoch einfach mit Hilfe des eselect Kernel Modules erzeugt werden.
Weitere Informationen über Zweck und Handhabung des Symlinks finden Sie unter Kernel/Upgrade.
Lassen Sie eine Liste der installierten Kernel anzeigen:
root #
eselect kernel list
Available kernel symlink targets: [1] linux-4.9.16-gentoo
Mit folgendem Befehl können Sie einen symbolischen Link namens linux anlegen:
root #
eselect kernel set 1
root #
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-4.9.16-gentoo
Alternative: Genkernel
Wenn eine manuelle Konfiguration für Sie zu abschreckend aussieht, könnten Sie genkernel in Erwägung ziehen. Dies wird den Kernel automatisch konfigurieren und bauen.
Genkernel provides a generic kernel configuration file, automatically generates the kernel, initramfs, and associated modules, and then installs the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.
Be informed: while using genkernel to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.
For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a predetermined kernel configuration that supports most generic hardware and automatically handles the make commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.
Binary redistributable software license group
If the linux-firmware package has been previously installed, then skip onward to the to the installation section.
As a prerequisite, due to the firwmare
USE flag being enabled by default for the sys-kernel/genkernel package, the package manager will also attempt to pull in the sys-kernel/linux-firmware package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.
This license group can be accepted system-wide for any package by adding the @BINARY-REDISTRIBUTABLE
as an ACCEPT_LICENSE value in the /etc/portage/make.conf file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a /etc/portage/package.license/linux-firmware file.
If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.
If in analysis paralysis, the following will do the trick:
root #
mkdir /etc/portage/package.license
/etc/portage/package.license/linux-firmware
Accept binary redistributable licenses for the linux-firmware packagesys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
Installation
Schauen wir uns nun an, wie man genkernel verwendet. Installieren Sie als erstes das Paket sys-kernel/genkernel:
root #
emerge --ask sys-kernel/genkernel
Generation
Kompilieren Sie jetzt die Kernel-Quellen, indem Sie genkernel all ausführen. Seien Sie sich aber bewusst, dass der Vorgang einige Zeit in Anspruch nehmen wird, da genkernel einen Kernel kompiliert, der fast alle Hardware unterstützt!
Wenn die Root-Partition (das Root-Volume) nicht ext4 als Dateisystem verwendet, könnte es notwendig sein, den Kernel manuell mit genkernel --menuconfig all zu konfigurieren. Hierbei müssen Sie Unterstützung für das Dateisystem der Boot-Partition direkt im Kernel (also nicht als Modul) hinzuzufügen. Benutzer von LVM2 werden vermutlich ebenfalls
--lvm
als Argument hinzufügen wollen.Users of LVM2 should add
--lvm
as an argument to the genkernel command below.root #
genkernel all
Wenn genkernel fertig ist, wird ein Kernel, ein voller Satz Module und ein initial ram filesystem (initramfs) erstellt worden sein. Wir verwenden den Kernel und die initrd bei der Konfiguration des Boot-Loader später in dieser Anleitung. Schreiben Sie sich die Namen des Kernels und der initrd auf, da Sie diese Information benötigen, wenn die Boot-Loader Konfigurationsdatei bearbeitet wird. Die initrd wird sofort nach dem Booten gestartet, um die automatische Hardware-Erkennung durchzuführen (wie bei der Installations-CD). Danach wird das "richtige" System gestartet.
root #
ls /boot/vmlinu* /boot/initramfs*
Manuelle Konfiguration
Einleitung
Einen Kernel manuell zu konfigurieren wird oft als die schwierigste Aufgabe gesehen, die ein Linux Benutzer jemals durchzuführen hat. Nichts ist weiter von der Wahrheit entfernt. Nach der Konfiguration einiger Kernel werden Sie sich nicht mehr daran erinnern, dass es jemals schwer war!
Eine Sache ist jedoch wahr: um einen Kernel manuell konfigurieren zu können, ist es wichtig, das System zu kennen. Die meisten Informationen erhalten Sie durch das Programm lspci, das im Paket sys-apps/pciutils enthalten ist.
root #
emerge --ask sys-apps/pciutils
root #
lspci
root #
lspci -v
Innerhalb der chroot-Umgebung können Sie jegliche pcilib-Warnung (wie pcilib: cannot open /sys/bus/pci/devices) ignorieren, die lspci auswerfen könnte.
Eine weitere Quelle von Systeminformationen ist lsmod. Diese Anweisung zeigt Ihnen, welche Kernel-Module die Installations-CD verwendet. Dies liefert gute Hinweise darauf, was im Kernel aktiviert werden sollte.
Gehen Sie in das Kernel Quellverzeichnis und führen Sie make menuconfig aus. Dies wird eine menübasierte Konfigurationsmaske starten.
root #
cd /usr/src/linux
root #
make menuconfig
Die Linux Kernel-Konfiguration hat viele, viele Abschnitte. Wir listen zunächst einige Optionen auf, die aktiviert werden müssen (ansonsten wird Gentoo nicht funktionieren, oder ohne zusätzliche Veränderungen nicht richtig funktionieren). Wir haben im Gentoo Wiki auch einen Gentoo Kernel-Konfigurationsleitfaden, der weiterhelfen könnte.
Aktivieren der benötigten Optionen
Bei Verwendung des Pakets sys-kernel/gentoo-sources wird dringend empfohlen, die Gentoo-spezifischen Konfigurations-Optionen zu aktivieren. Diese stellen sicher, dass eine Mindestmenge von Kernel-Funktionen vorhanden ist, die für das einwandfreie Funktionieren erforderlich ist:
Gentoo Linux ---> Generic Driver Options ---> [*] Gentoo Linux support [*] Linux dynamic and persistent device naming (userspace devfs) support [*] Select options required by Portage features Support for init systems, system and service managers ---> [*] OpenRC, runit and other script based systems and managers [*] systemd
Die Wahl für die letzten beiden Zeilen sollte natürlich von dem gewählten Init-System abhängen (OpenRC vs. systemd). Es ist kein Fehler, die Unterstützung für beide Init-Systeme zu aktivieren.
Wenn das Paket sys-kernel/vanilla-sources verwendet wird, gibt es die Auswahlmöglichkeiten für das Init-System nicht. Die Aktivierung der notwendigen Kernel-Optionen ist natürlich trotzdem möglich - aber eine Beschreibung würde den Rahmen dieses Handbuchs sprengen.
Enabling support for typical system components
Stellen Sie sicher, dass jeder Treiber, der zum Booten des Systems notwendig ist (wie z.B. SCSI-Controller, usw.), direkt in den Kernel kompiliert ist (nicht als Modul). Andernfalls wird das System nicht in der Lage sein, komplett zu booten.
Als Nächstes wählen Sie den genauen Prozessor-Typ. Es wird auch empfohlen, die MCE-Funktion zu aktivieren (wenn verfügbar), so dass Benutzer bei Hardwareproblemen benachrichtigt werden können. Auf einigen Architekturen (wie z.B. X86_64) werden diese Fehler nicht über dmesg, sondern auf /dev/mcelog ausgegeben. Dies erfordert das Paket app-admin/mcelog.
Wählen Sie auch Maintain a devtmpfs file system to mount at /dev, damit kritische Gerätedateien bereits früh im Boot-Prozess verfügbar sind (CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT):
Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Überprüfen Sie, dass SCSI disk Unterstützung aktiviert wurde (CONFIG_BLK_DEV_SD):
Device Drivers ---> SCSI device support ---> <*> SCSI disk support
Device Drivers ---> <*> Serial ATA and Parallel ATA drivers (libata) ---> [*] ATA ACPI Support [*] SATA Port Multiplier support <*> AHCI SATA support (ahci) [*] ATA BMDMA support [*] ATA SFF support (for legacy IDE and PATA) <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)
Verify basic NVMe support has been enabled:
Device Drivers ---> <*> NVM Express block device
Device Drivers ---> NVME Support ---> <*> NVM Express block device
It does not hurt to enable the following additional NVMe support:
[*] NVMe multipath support [*] NVMe hardware monitoring <M> NVM Express over Fabrics FC host driver <M> NVM Express over Fabrics TCP host driver <M> NVMe Target support [*] NVMe Target Passthrough support <M> NVMe loopback device support <M> NVMe over Fabrics FC target driver < > NVMe over Fabrics FC Transport Loopback Test driver (NEW) <M> NVMe over Fabrics TCP target support
Gehen Sie nun zu den Dateisystemen (File Systems) und aktivieren Sie die Dateisysteme, die auf dem System verwendet werden sollen. Kompilieren Sie das Dateisystem, das als Root-Dateisystem verwendet wird, nicht als Modul. Andernfalls wird das Gentoo-System möglicherweise nicht in der Lage sein, die Root-Partition einzuhängen. Wählen Sie ebenfalls Virtual memory und /proc file system. Wählen Sie eine oder mehrere der folgenden Optionen, die auf dem System benötigt werden (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, and CONFIG_TMPFS):
File systems ---> <*> Second extended fs support <*> The Extended 3 (ext3) filesystem <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support <*> Btrfs filesystem support DOS/FAT/NT Filesystems ---> <*> MSDOS fs support <*> VFAT (Windows-95) fs support Pseudo Filesystems ---> [*] /proc file system support [*] Tmpfs virtual memory file system support (former shm fs)
Wenn PPPoE für die Internetverbindung, oder ein Einwahl-Modem verwendet wird, aktivieren Sie die folgenden Optionen (CONFIG_PPP, CONFIG_PPP_ASYNC, and CONFIG_PPP_SYNC_TTY):
Device Drivers ---> Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
Die beiden Komprimierungsoptionen schaden nicht, werden aber auch nicht unbedingt benötigt. Ebenso wenig wie die PPP over Ethernet Option, die vielleicht nur von ppp benötigt wird, wenn 'kernel mode PPPoE' konfiguriert wird.
Vergessen Sie nicht, die Unterstützung von Netzwerkkarten (Ethernet oder Wireless-LAN) zu aktivieren.
Die meisten Systeme haben auch mehrere Prozessorkerne zur Verfügung. Daher ist es wichtig, Symmetric multi-processing support zu aktivieren (CONFIG_SMP):
Processor type and features ---> [*] Symmetric multi-processing support
In Mehrkernsystemen zählt jeder Kern als ein Prozessor.
Wenn Sie USB-Eingabegeräte (wie Tastatur oder Maus) oder andere USB-Geräte verwenden, vergessen Sie nicht, diese ebenfalls zu aktivieren (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):
Device Drivers ---> HID support ---> -*- HID bus support <*> Generic HID driver [*] Battery level reporting for HID devices USB HID support ---> <*> USB HID transport layer [*] USB support ---> <*> xHCI HCD (USB 3.0) support <*> EHCI HCD (USB 2.0) support <*> OHCI HCD (USB 1.1) support
Architecture specific kernel configurations
Placeholder for architecture-specific kernel build information
Compiling and installing
Placeholder for instructions for building and installing the kernel sources
Optional: initramfs bauen
In bestimmten Fällen ist es notwendig, ein initramfs zu bauen (initial ram-based file system). Der häufigste Grund dafür ist, dass wichtige System-Verzeichnisse (wie /usr/ oder /var/) auf separaten Partitionen liegen. Diese Partitionen können mit Hilfe der Werkzeuge, die im initramfs Verfügbar sind, eingehängt werden.
Ohne initramfs besteht ein Risiko, dass das System nicht richtig bootet, da Werkzeuge, die für das Einhängen der Dateisysteme verantwortlich sind, Informationen benötigen, die sich auf den noch nicht eingehängten Dateisystemen befinden. Ein initramfs zieht die notwendigen Dateien in ein Archiv, welches genutzt werden kann, nachdem der Kernel gebootet ist, aber noch bevor die Kontrolle an das Init-Tool übergeben wird. Skripte auf dem initramfs stellen dann sicher, dass die Partitionen richtig eingehängt sind, bevor das System mit dem Booten fortfährt.
Wenn genkernel verwendet wird, sollte es sowohl zum Bauen des Kernels, als auch zum Bauen von initramfs verwendet werden. Wenn genkernel lediglich zum Erzeugen von initramfs verwendet wird, ist es wichtig, die Option
--kernel-config=/path/to/kernel.config
an genkernel zu übergeben. Andernfalls kann es sein, dass das generierte initramfs nicht mit einem manuell erzeugten Kernel funktioniert. Bitte beachten Sie, dass manuell kompilierte Kernel über den Umfang dieses Handbuchs hinausgehen. Weitere Informationen finden Sie in dem kernel configuration Artikel.Um ein initramfs zu installieren, installieren Sie zunächst das Paket sys-kernel/dracut. Lassen Sie das Tool anschließend ein initramfs erzeugen:
root #
emerge --ask sys-kernel/dracut
root #
dracut --kver=4.9.16-gentoo
Das initramfs wird in /boot/ gespeichert. Die resultierende Datei kann einfach durch Auflisten der mit initramfs beginnenden Dateien gefunden werden:
root #
ls /boot/initramfs*
Gehen Sie nun zum Abschnitt Kernel-Module.
Kernel-Module
Konfigurieren der Module
Die Angabe von Kernel-Modulen für Hardware ist optional. In den meisten Fällen lädt udev Module für erkannte Hardware automatisch. Es schadet aber auch nichts, Kernel-Module anzugeben, die auch automatisch erkannt werden. Exotische Hardware benötigt manchmal Hilfe, damit die Treiber geladen werden.
Konfigurieren Sie die Module, die beim Booten automatisch geladen werden sollen, in /etc/modules-load.d/*.conf Dateien. In jeder Zeile wird ein Modul angegeben. Zusätzliche Optionen für die Module sollten in /etc/modprobe.d/*.conf Dateien konfiguriert werden.
Um alle verfügbaren Module anzuzeigen, können Sie den folgenden find Befehl ausführen. Vergessen Sie nicht, "<Kernelversion>" mit der Version des Kernels zu ersetzen, den Sie gerade kompiliert haben:
root #
find /lib/modules/<Kernelversion>/ -type f -iname '*.o' -or -iname '*.ko' | less
Force loading particular kernel modules
Um beispielsweise automatisch das Modul 3c59x.ko zu laden (ein Treiber für eine bestimmte 3Com Netzwerkkarten-Familie), editieren Sie die Datei /etc/modules-load.d/network.conf und fügen Sie den Modulnamen ein. Der genaue Dateiname in /etc/modules-load.d/ ist für den Loader unwichtig.
root #
mkdir -p /etc/modules-load.d
root #
nano -w /etc/modules-load.d/network.conf
Note that the module's .ko file suffix is insignificant to the loading mechanism and left out of the configuration file:
/etc/modules-load.d/network.conf
Laden des 3c59x Moduls erzwingen3c59x
Setzten Sie die Installation mit der Konfiguration des Systems fort.
Dateisystem-Konfiguration
Über fstab
Unter Linux müssen alle Partitionen, die im System genutzt werden, in /etc/fstab aufgelistet werden. Diese Datei beinhaltet die Mountpunkte ("Einhängepunkte") dieser Partitionen (wo sie im Dateisystem erscheinen), wie sie eingehängt werden sollen und mit welchen speziellen Optionen sie eingehängt werden sollen (automatisch einhängen oder nicht, dürfen Benutzer sie einhängen oder nicht, etc.)
Die fstab-Datei erstellen
Die Datei /etc/fstab verwendet eine tabellenartige Syntax. Jede Zeile besteht aus sechs Feldern, die jeweils durch Leerräume (Leerzeichen, Tabulatoren oder beides gemischt) getrennt sind. Jedes Feld hat seine eigene Bedeutung:
- Das erste Feld enthält eine Block-Gerätedatei oder ein Remote-Dateisystem, die/das eingehängt werden soll. Block-Gerätedateien können über mehrere verschiedene Arten angegeben werden: u.a. über den Dateinamen des Gerätedatei, über Dateisystem Labels und UUIDs oder über Partition Labels und UUIDs.
- Das zweite Feld definiert den Einhängepunkt, an dem die Partition eingehängt werden soll.
- Das dritte Feld enthält den Typ des Dateisystem (ext2, etxt3, ...)
- Im vierten Feld stehen die Einhänge-Optionen, die von mount genutzt werden, wenn es die Partition eingehängt. Da jedes Dateisystem seine eigenen Optionen hat, empfiehlt sich ein Blick in die Manpage (man mount), wo sich eine vollständige Liste findet. Mehrere Einhänge-Optionen werden mit Kommata getrennt.
- Das fünfte Feld wird von dump verwendet, um herauszufinden ob die Partition in einem Dump-Backup berücksichtigt werden soll. Dieser Eintrag kann üblicherweise auf
0
(null) belassen werden. - Das sechste Feld wird von fsck verwendet, um die Reihenfolge festzulegen, in der Dateisysteme nach einem unsauberen Neustart überprüft werden. Für das root-Dateisystem (/) sollte hier
1
stehen, für alle anderen Dateisysteme2
(oder0
, wenn eine Dateisystemprüfung nicht nötig ist.)
Die bei der Installation von Gentoo Linux installierte Datei /etc/fstab ist keine gültige fstab-Datei, sondern eine Vorlage, die von Ihnen ausgefüllt werden muss.
root #
nano -w /etc/fstab
Im Rest dieses Kapitels werden die Standard Block-Gerätedateien /dev/sd* als Partitions-Bezeichner verwendet.
Dateisystem Labels and UUIDs
Unabhängig davon, ob Sie MBR (BIOS) oder GPT Partitionstabellen verwenden, können Sie Dateisystem Labels und Dateisystem UUIDs nutzen. Diese Attribute können in /etc/fstab als Alternative zu den bisherigen Block-Gerätedateien (/dev/sd*) angegeben werden. Das Kommando blkid zeigt Ihnen die LABELs und UUIDs der Dateisysteme auf Ihrem System an. In der Datei /etc/fstab geben Sie diese mit dem Prefix "LABEL=" bzw. "UUID=" an. Anführungszeichen werden - im Gegensatz zu der Ausgabe von blkid - nicht verwendet.
root #
blkid
Wenn ein Dateisystem innerhalb einer Partition neu erstellt oder gelöscht wird, ändern sich die Dateisystem Labels und UUIDs - oder sie verschwinden ganz.
Um die Eindeutigkeit zu gewährleisten, sollten Anwender, die eine MBR Partitionstabelle verwenden, besser Dateisystem UUIDs als Dateisystem Labels in /etc/fstab verwenden.
UUIDs des Dateisystems auf einem LVM volume und von LVM Snapshots von diesem sind identisch. Deshalb sollten keine UUIDs zum Mounten von LVM volumes verwendet werden.
Partition Labels and UUIDs
Anwender, die eine GPT Partitionstabelle verwenden, haben eine 'robustere' Möglichkeit, um Partitionen in /etc/fstab anzugeben: Partition Labels und Partition UUIDs. Diese kennzeichnen Partitionen selbst, unabhängig von deren Inhalt oder dem Dateisystem, das dort angelegt ist. Sie ändern sich deshalb auch nicht, wenn der Inhalt der Partition gelöscht wird oder ein neues Dateisystem erstellt wird. Das Kommando blkid zeigt Ihnen die PARTLABELs und PARTUUIDs der Partitionen auf Ihrem System an. In der Datei /etc/fstab geben Sie diese mit dem Prefix "PARTLABEL=" bzw. "PARTUUID=" an. Anführungszeichen werden - im Gegensatz zu der Ausgabe von blkid - nicht verwendet.
root #
blkid
Der Name eines Block-Geräts hängt von mehreren Faktoren ab, u.a. von der Reihenfolge, in der der Kernel die Block-Geräte im frühen Boot-Prozess erkennt. Bei Systemen, die häufig gebootet werden und bei denen regelmäßig SATA Block-Geräte entfernt oder hinzugefügt werden, können sich die Namen der Block-Geräte nach einem Neustart ändern. Es ist deshalb riskant, die älteren Block-Gerätedateien (/dev/sd*N) zur Angabe von Partitionen in fstab zu verwenden. Wenn Sie stattdessen Partition UUIDs verwenden, ist garantiert, dass Linux das gewünschte Dateisystem verwendet - selbst wenn das Dateisystem später geändert wird.
Nichtsdestotrotz ist die Verwendung der hergebrachten Block-Gerätedateien eine einfache, geradlinige und für die meisten Anwender sinnvolle Methode. Wenn Sie einen komplexen Server mit vielen Festplatten haben oder wenn Sie die Hardware ihres Systems häufiger ändern werden, sollten Sie über die Verwendung von Partition UUIDs nachdenken.
Fügen Sie weitere Zeilen hinzu, so dass alle gewünschten Dateisysteme eingehängt werden. Wenn Sie ein CD-ROM Laufwerk haben, fügen Sie auch eine Regel hierfür hinzu.
Hier ist ein Beispiel für eine vollständige /etc/fstab Datei:
/etc/fstab
Beispiel: eine vollständige /etc/fstab DateiBitte passen Sie Formatierungs-Unterschiede und zusätzliche Partitionen vom Schritt "Vorbereiten der Festplatten" an none swap sw 0 0 / ext4 noatime 0 1 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
Bitte passen Sie Formatierungs-Unterschiede vom Schritt "Vorbereiten der Festplatten" an
When auto
im dritten Feld verwendet wird, "rät" mount den Typ des Dateisystems beim Einhängen. Dies wird empfohlen für Wechselmedien, da sie unterschiedliche Typen von Dateisystemen haben können. Die Option user
im vierten Feld ermöglicht es nicht-root Usern, CDs einzuhängen.
Um die Performance zu erhöhen, können die meisten Anwender die Option noatime
setzen. Dadurch wird in den Verwaltungsdaten von Dateien nicht mehr protokolliert, wann zum letzten Mal lesend auf sie zugegriffen wurde. Diese Option wird auch auf Maschinen mit SSDs empfohlen.
Es wird nicht empfohlen, die Mount-Option
discard
in /etc/fstab zu verwenden - weil es die Performance verringern kann. Stattdessen ist es besser, regelmäßig Block-Discards auszuführen. Dies kann über einen Job Scheduler wie cron oder mit einem Timer (systemd) erfolgen. Weitere Informationen finden Sie in dem Abschnitt Periodic fstrim jobs.Überprüfen Sie die Datei /etc/fstab noch einmal, speichern Sie sie und verlassen Sie den Editor.
Netzwerk-Konfiguration
Es ist wichtig zu beachten, dass die folgenden Abschnitte dem Leser helfen sollen, sein System schnell für die Teilnahme an einem lokalen Netzwerk einzurichten.
Für Systeme, auf denen OpenRC läuft, ist eine detailliertere Referenz für die Netzwerkeinrichtung im Abschnitt Erweiterte Netzwerkkonfiguration verfügbar, der gegen Ende des Handbuchs behandelt wird. Systeme mit spezielleren Netzwerkanforderungen müssen eventuell den Abschnitt überspringen und dann hierher zurückkehren, um mit dem Rest der Installation fortzufahren.
Für spezifischere Systemd-Netzwerkeinstellungen lesen Sie bitte den Netzwerkteil des systemd-Artikels.
Host- und Domänen-Konfiguration
Eine der Entscheidungen, die System-Administratoren treffen müssen, ist der Name ihres PCs. Auf den ersten Blick scheint dies einfach zu sein, aber viele Benutzer haben Schwierigkeiten, einen passenden Namen für den hostname zu finden. Um diesen Prozess zu beschleunigen, sei darauf hingewiesen, dass der Name später wieder geändert werden kann. In den folgenden Beispielen wird der Hostname "tux" in der Domäne "homenetwork" verwendet.
Set the hostname (OpenRC or systemd)
root #
echo tux > /etc/hostname
systemd
Auf systemd Systemen kann der Hostname mit dem Dienstprogramm hostnamectl gesetzt werden.
Um den Hostname auf "tux" zu setzen, würde man ausführen:
root #
hostnamectl hostname tux
Hilfe erhält man durch Ausführung von hostnamectl --help oder man 1 hostnamectl.
Netzwerk
Es gibt viele verschiedene Alternativen, mit denen das Netzwerk konfiguriert werden kann. Dieser Abschnitt behandelt nur ein paar davon. Wählen Sie die Methode, die am besten zu Ihren Anforderungen passt.
DHCP mit dhcpcd (bei allen Init-Systemen)
In den meisten LAN Netzen läuft ein DHCP Server. Wenn dies der Fall ist, wird empfohlen, das Programm dhcpcd zu verwenden, um eine IP-Adresse zu erhalten.
Zur Installation:
root #
emerge --ask net-misc/dhcpcd
Um den Service auf OpenRC Systemen zu aktivieren und danach zu starten:
root #
rc-update add dhcpcd default
root #
rc-service dhcpcd start
Um den Service auf systemd Systemen zu aktivieren und danach zu starten:
root #
systemctl enable --now dhcpcd
Nachdem diese Schritte durchgeführt wurden, sollte dhcpcd beim nächsten Systemstart eine IP Adresse vom DHCP Server erhalten. Weitere Details finden Sie im Dhcpcd Artikel.
netifrc (OpenRC)
Dieser Abschnitt beschreibt eine Netzwerk-Konfiguration mit Netifrc unter OpenRC. Für einfache Anschaltungen kann auch Dhcpcd verwendet werden.
Konfigurieren des Netzwerks
Bereits zu Beginn der Installation von Gentoo Linux wurde das Netzwerk konfiguriert. Diese Konfiguration betraf jedoch das Netzwerk der Live-Umgebung - und nicht das Netzwerk des neu installierten Systems. Wir werden jetzt die Netzwerk-Konfiguration für Ihr neu installiertes Linux-System erstellen.
Weitere Informationen über Netzwerke, insbesondere auch über fortgeschrittene Themen wie Bonding, Bridges, 802.1Q VLANs oder WLAN, finden Sie in dem Abschnitt Fortgeschrittene Netzwerk-Konfiguration.
Die Netzwerk-Konfiguration wird gespeichert in /etc/conf.d/net. Die Syntax ist unkompliziert, aber vielleicht etwas un-intuitiv. Aber keine Angst - wir werden alles erklären. Ein gut dokumentiertes Beispiel mit mehreren verschiedenen Konfigurationen finden Sie unter /usr/share/doc/netifrc-*/net.example.bz2.
Installieren Sie zuerst das Paket net-misc/netifrc:
root #
emerge --ask --noreplace net-misc/netifrc
Standardmäßig wird DHCP verwendet. Damit DHCP funktioniert, muss ein DHCP-Client installiert werden. Dies wird später im Abschnitt "Installation von erforderlichen System-Tools" beschrieben.
Wenn Sie kein DHCP verwenden wollen (statische IP-Adressen) oder wenn Sie spezielle DHCP-Optionen benötigen, dann editieren Sie jetzt die Datei /etc/conf.d/net:
root #
nano -w /etc/conf.d/net
Definieren Sie IP-Adresse und Routing in den beiden Variablen config_eth0 und routes_eth0.
Wir gehen davon aus, dass das Netzwerk-Interface "eth0" heißt. Bei Ihnen heißt das Netzwerk-Interface möglicherweise anders. Verwenden Sie im Folgenden statt "eth0" immer den Namen Ihres Netzwerk-Interfaces. Der Name des Netzwerk-Interfaces hängt ab vom gebooteten System und den Kernel-Optionen. Da Sie noch nicht von dem neu installierten System gebootet haben, können Sie den Namen des Netzwerk-Interfaces noch nicht wissen. Wenn das Installationsmedium aktuell ist, ist die Wahrscheinlichkeit hoch, dass das Netzwerk-Interface genauso heißen wird, wie in Ihrem jetzigen System, das von dem Installationsmedium gebootet wurde. Weitere Informationen finden Sie im Abschnitt Network interface naming.
/etc/conf.d/net
Konfiguration einer statischen IP-Adresseconfig_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" routes_eth0="default via 192.168.0.1"
Um DHCP zu verwenden, setzen Sie config_eth0:
/etc/conf.d/net
Konfiguration von DHCPconfig_eth0="dhcp"
Eine Liste zusätzlicher Konfigurations-Optionen finden Sie in /usr/share/doc/netifrc-*/net.example.bz2. Bitte lesen Sie auch die DHCP-Client man page, wenn besondere DHCP-Optionen gesetzt werden müssen.
Wenn das System mehrere Netzwerk-Interfaces hat, wiederholen Sie bitte die oben beschriebenen Schritte für alle Netzwerk-Interfaces (config_eth1, config_eth2 usw.) - falls diese Interfaces beim Booten initialisiert und aktiviert werden sollen.
Speichern Sie die Konfigurations-Datei und verlassen Sie den Editor.
Automatischer Start der Netzwerk-Interfaces beim Booten
Damit die Netzwerk-Interfaces beim Booten konfiguriert und aktiviert werden, müssen sie zum Runlevel 'default' hinzugefügt werden.
root #
cd /etc/init.d
root #
ln -s net.lo net.eth0
root #
rc-update add net.eth0 default
Wenn Ihr System mehrere Netzwerk-Interfaces hat, muss der vorherige Schritt für alle Netzwerk-Interfaces, die beim Booten konfiguriert und aktiviert werden sollen, wiederholt werden.
Wenn sich nach dem Booten herausstellen sollte, dass der gewählte Name für das Netzwerk-Interface verkehrt ist, führen Sie die folgenden Schritte aus, um das Problem zu beheben:
- Editieren Sie die Datei /etc/conf.d/net und ersetzen Sie den verkehrten Interface-Namen durch den korrekten Namen (beispielsweise
enp3s0
oderenp5s0
statteth0
). - Erstellen Sie den korrekten symbolischen Link (beispielsweise /etc/init.d/net.enp3s0).
- Entfernen Sie den alten (fehlerhaften) Link (rm /etc/init.d/net.eth0).
- Fügen Sie das neue Interface zum Runlevel 'default' hinzu
- Entfernen Sie das alte Interface vom Runlevel 'default': rc-update del net.eth0 default.
Die hosts Datei
Bitte editieren Sie die Datei /etc/hosts. Diese Datei muss auf jeden Fall einen korrekten Eintrag zu localhost enthalten. Weiterhin können Sie IP-Adressen und Hostnamen von wichtigen Hosts in ihrem eigenen Netzwerk eintragen. Letzteres ist jedoch nur notwendig, wenn Ihr Nameserver diese Informationen nicht liefern kann, wenn Sie gar keinen Nameserver verwenden, oder wenn Sie eine Namensauflösung für die Zeiten benötigen, in denen der Nameserver nicht verfügbar ist (z.B. beim Booten oder bei Netzstörungen).
root #
nano -w /etc/hosts
/etc/hosts
Zuordnung zwischen IP-Adressen und Hostnamen für lokale Namensauflösung# This defines the current system and must be set 127.0.0.1 tux.homenetwork tux localhost # Optional definition of extra systems on the network 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny
Speichern Sie die Datei und beenden Sie den Editor.
System-Konfiguration
Root Passwort
Setzen Sie das root-Passwort mit dem passwd Kommando:
root #
passwd
Der Linux User 'root' ist sehr mächtig! Wählen Sie deshalb bitte ein sicheres Passwort. Später werden wir einen "gewöhnlichen" User mit eingeschränkten Rechten anlegen, unter dem Sie alle normalen täglichen Arbeiten verrichten können.
Init- and Boot-Konfiguration
OpenRC
Wenn Gentoo mit OpenRC verwendet wird, werden die Dienste, die beim Booten oder Herunterfahren des Systems gestartet bzw. gestoppt werden, in der Datei /etc/rc.conf konfiguriert. Öffnen Sie diese Datei mit einem Editor, und erfreuen Sie sich an den vielen Kommentaren in der Datei. Überprüfen Sie alle Einstellungen und ändern Sie sie, falls gewünscht oder erforderlich.
root #
nano -w /etc/rc.conf
Editieren Sie als nächstes die Datei /etc/conf.d/keymaps und konfigurieren Sie Ihre Tastatur.
root #
nano -w /etc/conf.d/keymaps
Seien Sie vorsichtig bei der keymap Variable. Wenn Sie die falsche Tastatur konfigurieren, erhalten Sie merkwürdige Ergebnisse, wenn sie Texte auf der Tastatur tippen.
Editieren Sie zum Schluss die Datei /etc/conf.d/hwclock und konfigurieren Sie Ihre Hardware-Uhr.
root #
nano -w /etc/conf.d/hwclock
Wenn die Hardware-Uhr nicht unter der Zeitzone UTC laufen soll, sollten Sie clock="local"
in die Datei schreiben. Ansonsten kann es zu Zeitfehlern oder -sprüngen kommen.
systemd
Zunächst wird empfohlen, systemd-firstboot auszuführen, um verschiedene Komponenten des Systems für den ersten Start in die neue systemd-Umgebung korrekt einzustellen. Durch die Übergabe der folgenden Optionen wird der Benutzer aufgefordert, eine Locale, eine Zeitzone, einen Hostnamen, ein Root-Passwort und Root-Shell-Werte festzulegen. Außerdem wird der Installation eine zufällige Maschinen-ID zugewiesen:
root #
systemd-firstboot --prompt --setup-machine-id
Als Nächstes sollten Benutzer systemctl ausführen, um alle installierten Unit-Dateien auf die voreingestellten Richtwerte zurückzusetzen:
root #
systemctl preset-all
It's possible to run the full preset changes but this may reset any services which were already configured during the process:
root #
systemctl preset-all
Diese beiden Schritte sorgen für einen reibungslosen Übergang von der Live-Umgebung zum ersten Start der Installation.
Syslog Daemon
OpenRC
Einige Tools fehlen in dem Stage Tar-Archiv, weil es mehrere Pakete gibt, die die gleiche Funktionalität bereitstellen. Der Anwender kann wählen, welches dieser Pakete er installieren möchte.
Das erste Tool, bei dem eine Auswahl getroffen werden muss, ist der Syslog Daemon. UNIX und Linux bieten hervorragende Unterstützung für Logging. Falls notwendig, kann alles, was auf dem System passiert, in Log-Dateien protokolliert werden. Hierfür muss ein Syslog Daemon installiert werden, der die Protokoll-Nachrichten empfängt, sie ggf. filtert, und in Dateien schreibt - oder auf eine andere Art speichert oder weiterleitet.
Gentoo bietet verschiedene Syslog Daemons, unter anderem:
- app-admin/sysklogd - Das Paket beinhaltet das traditionelle Set von Syslog Diensten. Die mitgelieferte Standard-Konfiguration funktioniert ohne zusätzliche Konfigurationsarbeiten. Deshalb ist dieses Paket eine gute Wahl für Anfänger.
- app-admin/syslog-ng - Ein fortgeschrittener Syslog Daemon, der für fortgeschrittene Anwender gedacht ist, die das Logging feiner steuern und zusätzliche Funktionen nutzen wollen. Er benötigt zusätzliche Konfigurationsaufwand, wenn in mehr als eine Datei protokolliert werden soll.
- app-admin/metalog - Ein hochgradig konfigurierbarer Syslog Daemon.
Über Portage sind noch weitere Syslog Daemons verfügbar - die Anzahl der verfügbaren Pakete wächst ständig.
Wenn syslog-ng verwendet werden soll, wird empfohlen, auch das Paket logrotate zu installieren, weil syslog-ng keine Funktionen zum Rotieren und Löschen von Log-Dateien enthält. Neuere Versionen von sysklogd (>= 2.0) enthalten Logrotate-Funktionen.
Wenn Sie einen Syslog Daemon ausgewählt haben, installieren Sie ihn mit emerge. Wenn Sie OpenRC verwenden, fügen Sie ihn mit rc-update zum Runlevel "default" hinzu. Das folgende Beispiel installiert app-admin/sysklogd:
root #
emerge --ask app-admin/sysklogd
Unter OpenRC:
root #
rc-update add sysklogd default
systemd
Anwender, die systemd verwenden, können diesen Schritt überspringen - sofern sie nicht explizit einen Syslog Daemon verwenden wollen. Systemd enthält journald, das bereits Syslog-Funktionen bereitstellt.
See man journalctl for more details on using journalctl to query and review the systems logs.
For a number of reasons, such as the case of forwarding logs to a central host, it may be important to include redundant system logging mechanisms on a systemd-based system. This is a irregular occurrence for the handbook's typical audience and considered an advanced use case. It is therefore not covered by the handbook.
Optional: Cron Daemon
OpenRC
Die Installation eines Cron Daemons ist optional und wird nicht auf jedem System benötigt. Auf den meisten Systemen ist die Installation eines Cron Daemons jedoch sinnvoll.
Ein Cron Daemon führt Kommandos und Programme zu vordefinierten Zeiten aus. Er kann Kommandos oder Programme auch regelmäßig ausführen (beispielsweise täglich, wöchentlich oder monatlich).
All cron daemons support high levels of granularity for scheduled tasks, and generally include the ability to send an email or other form of notification if a scheduled task does not complete as expected.
Gentoo bietet verschiedene Cron Daemons an, unter anderem sys-process/bcron, sys-process/dcron, sys-process/fcron und sys-process/cronie. Die Installation erfolgt ähnlich wie bei dem Syslog Daemon. Das folgende Beispiel installiert sys-process/cronie:
- sys-process/cronie - cronie is based on the original cron and has security and configuration enhancements like the ability to use PAM and SELinux.
- sys-process/dcron - This lightweight cron daemon aims to be simple and secure, with just enough features to stay useful.
- sys-process/fcron - A command scheduler with extended capabilities over cron and anacron.
- sys-process/bcron - A younger cron system designed with secure operations in mind. To do this, the system is divided into several separate programs, each responsible for a separate task, with strictly controlled communications between parts.
cronie
The following example uses sys-process/cronie:
root #
emerge --ask sys-process/cronie
Unter OpenRC:
root #
rc-update add cronie default
Oder unter systemd:
root #
systemctl enable cronie
root #
rc-update add cronie default
Alternative: dcron
root #
emerge --ask sys-process/dcron
Wenn dcron verwendet wird, muss ein zusätzlicher Initialisierungs-Befehl ausgeführt werden:
root #
crontab /etc/crontab
Alternative: fcron
root #
emerge --ask sys-process/fcron
Wenn fcron verwendet werden soll, ist ein zusätzlicher Emerge-Aufruf erforderlich:
root #
emerge --config sys-process/fcron
Alternative: bcron
bcron is a younger cron agent with built-in privilege separation.
root #
emerge --ask sys-process/bcron
systemd
systemd erfordert keinen Cron Daemon, weil es bereits Timers enthält. Es ist aber trotzdem möglich, einen Cron Daemon laufen zu lassen.
Optional: Datei-Index
Mit Hilfe des Pakets sys-apps/mlocate kann man einen Index des Dateisystems erstellen und schnell nach Dateien suchen.
root #
emerge --ask sys-apps/mlocate
Optional: Remote Zugriff
Wenn Sie sich von Remote Systemen über SSH bei Ihrem neu installierten System anmelden wollen, muss sshd so konfiguriert werden, dass es beim Booten startet.
OpenRC
Um das sshd Init-Script unter OpenRC zum Runlevel "default" hinzufügen:
root #
rc-update add sshd default
Wenn Sie sich über die serielle Schnittstelle bei Ihrem neu installierten System anmelden wollen, muss agetty konfiguriert werden.
Unter OpenRC: entfernen Sie das Kommentar-Zeichen bei den Einträgen zur seriellen Konsole in /etc/inittab:
root #
nano -w /etc/inittab
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
systemd
Und unter systemd:
root #
systemctl enable sshd
Unter systemd, starten Sie:
root #
systemctl enable getty@tty1.service
Zeitsynchronisation
Es ist wichtig, die Systemuhr mit der aktuellen Zeit zu synchronisieren. Normalerweise wird dafür das NTP Protokoll und NTP Software verwendet. Es gibt andere Implementierungen des NTP Protokolls, beispielsweise Chrony.
Um beispielsweise Chrony zu installieren:
root #
emerge --ask net-misc/chrony
OpenRC
Unter OpenRC, starten Sie:
root #
rc-update add chronyd default
systemd
Unter systemd, starten Sie:
root #
systemctl enable chronyd
systemd Anwender können systemd-timesyncd verwenden, das im systemd Artikel beschrieben wird.
Dateisystem Tools
Es ist erforderlich, die zu den genutzten Dateisystemen gehörenden Dateisystem-Utilities zu installieren (diese werden benötigt für Wartungsaufgaben wie Überprüfung der Dateisysteme, um neue Dateisystem zu erstellen, usw.). Anmerkung: die Dateisystem-Utilities für das Dateisystem ext4 sind bereits installiert, weil sie zu dem @system set gehören.
Die folgende Tabelle zeigt, welche Pakete installiert werden müssen, wenn Sie das zugehörige Dateisystem verwenden:
Dateisystem | Paket |
---|---|
Ext4 | sys-fs/e2fsprogs |
XFS | sys-fs/xfsprogs |
ReiserFS | sys-fs/reiserfsprogs |
JFS | sys-fs/jfsutils |
VFAT (FAT32, ...) | sys-fs/dosfstools |
Btrfs | sys-fs/btrfs-progs |
ZFS | sys-fs/zfs |
Weitere Informationen zu Dateisystemen in Gentoo finden Sie im Artikel zu Dateisystemen.
Netzwerk Tools
Wenn das Netzwerk bereits im Abschnitt Konfiguration des Systems konfiguriert wurde und funktioniert, kann dieser Abschnitt 'Netzwerk Tools' übersprungen werden. In diesem Fall können Sie direkt zum Kapitel Konfiguration des Bootloaders springen.
Einen DHCP-Client installieren
Die Installation eines DHCP-Clients ist zwar optional, aber die überwiegende Mehrheit der Anwender benötigt einen DHCP-Client. Bitte installieren jetzt Sie einen DHCP-Client. Wenn dieser Schritt übersprungen wird, kann es passieren, dass Ihr System nach einem Neustart keine Verbindung mehr zu Ihrem Netzwerk aufbauen kann. In diesem Fall werden Sie vermutlich nicht in der Lage sein, einen DHCP-Client nachträglich zu installieren.
Damit Ihr System in der Lage ist, mit Hilfe der netifrc-Skripte automatisch eine IP-Adresse für Ihr(e) Netzwerk-Interface(s) zu erhalten, ist es notwendig, einen DHCP-Client zu installieren. Wir empfehlen die Installation des Pakets net-misc/dhcpcd, obwohl über das Gentoo ebuild Repository auch viele andere DHCP-Clients verfügbar sind:
root #
emerge --ask net-misc/dhcpcd
Weitere Informationen zu dhcpcd finden Sie in dem dhcpcd Artikel.
Optional: Einen PPPoE-Client installieren
Wenn PPP genutzt werden soll, um eine Verbindung zum Internet aufzubauen, sollten Sie das Paket net-dialup/ppp installieren.
root #
emerge --ask net-dialup/ppp
Optional: WLAN Tools installieren
Wenn das System mit WLANs (drahtlosen lokalen Netzwerken) verbunden werden soll, sollten Sie das Paket net-wireless/iw installieren für offene oder WEP Netze und/oder das Paket net-wireless/wpa_supplicant für WPA oder WPA2 Netze. iw ist auch ein nützliches Tools für Diagnose-Zwecke und zum Scannen von WLANs.
root #
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Als nächstes folgt das Kapitel Konfigurieren des Bootloaders.
Placeholder for architecture-specific bootloader installation
Neustart des Systems
Verlassen Sie die chroot-Umgebung und hängen Sie alle gemounteten Partitionen aus. Geben Sie dann den magischen Befehl ein, der den alles entscheidenden Test einleitet - reboot.
root #
exit
cdimage ~#
cd
cdimage ~#
umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#
umount -R /mnt/gentoo
cdimage ~#
reboot
Vergessen Sie nicht, das Installations-Medium zu entfernen. Andernfalls könnte erneut das Installations-Medium anstelle des neuen Gentoo Systems gebootet werden.
Nach dem Neustart in die neu installierte Gentoo Umgebung können Sie Ihre Installation mit dem Kapitel Abschluss der Gentoo Installation fertigstellen.
Benutzerverwaltung
Hinzufügen eines Benutzers für den täglichen Gebrauch
Arbeiten als root in einem Unix/Linux System ist gefährlich und sollte, wenn immer möglich, vermieden werden. Wir empfehlen daher nachdrücklich das Einrichten eines Benutzers für die täglichen Aufgaben.
Die Gruppen, denen ein Benutzer angehört, definieren, welche Aktivitäten der User ausführen kann. Die folgende Tabelle listet die wichtigsten Gruppen, die Sie vermutlich benutzen wollen:
Gruppe | Beschreibung |
---|---|
audio | Benutzer kann Audiogeräte benutzen. |
cdrom | Benutzer kann optische Laufwerke direkt benutzen. |
floppy | Benutzer kann Diskettenlaufwerke direkt benutzen. |
games | Benutzer darf Spiele ausführen. |
portage | Benutzer darf auf eingeschränkte Ressourcen von portage zugreifen. |
usb | Benutzer darf USB-Geräte benutzen. |
video | Benutzer darf Geräte zur Videoaufnahme benutzen und Hardwarebeschleunigung nutzen. |
wheel | Benutzer darf su benutzen. |
In unserem Beispiel erstellen wir einen Benutzer larry, der Mitglied der Gruppen wheel, users und audio werden soll. Loggen Sie sich dazu zunächst als root ein (nur root kann Benutzer erstellen) und führen Sie useradd aus:
Login:
root
Password: (Ihr root-Passwort)
root #
useradd -m -G users,wheel,audio -s /bin/bash larry
root #
passwd larry
Password: (Hier das Passwort für larry eintragen) Re-enter password: (Das Passwort zur Kontrolle noch einmal eingeben)
Wenn ein Benutzer eine bestimmte Aufgabe als root durchführen möchte, kann er den Befehl su - verwenden, um temporär Rechte als root zu erhalten. Alternativ können sudo (app-admin/sudo) oder doas (app-admin/doas) verwendet werden. Beide Varianten sind, wenn sie richtig konfiguriert sind, sehr sicher.
Aufräumen der Festplatte
Entfernen der Tar-Archive
Da nun die Gentoo Installation abgeschlossen ist und das System neu gestartet wurde, können Sie, sofern alles funktioniert, das heruntergeladene Stage Tar-Archiv von Ihrer Festplatte entfernen. Erinnern Sie sich daran, dass diese Datei in Ihr /-Verzeichnis heruntergeladen wurde?
root #
ls -la /stage3-*.tar.*
root #
rm /stage3-*.tar.*
Wie geht es weiter?
Gratulation! Sie haben jetzt ein funktionierendes Gentoo Linux-System. Aber wie geht es nun weiter? Es gibt viele Wege zu entdecken... Gentoo bietet seinen Benutzern viele Möglichkeiten und hat deshalb viele gut dokumentierte (und auch weniger gut dokumentierte) Eigenschaften, die hier im Wiki und in anderen Bereichen (siehe den folgenden Abschnitt Gentoo Online) erkundet werden können.
Zusätzliche Dokumentation
Wegen der vielen Wahlmöglichkeiten in Gentoo muss sich dieses Handbuch auf die wichtigsten Themen beschränken. Der Fokus liegt auf den Grundlagen, mit denen man ein Gentoo System installieren und zum Laufen bringen kann - und den grundlegenden Tätigkeiten zur Systemverwaltung. Dieses Handbuch enthält absichtlich keine Anleitungen zu graphischen Benutzeroberflächen, zum System-Hardening oder zu anderen wichtigen administrativen Aufgaben. Nichtsdestotrotz enthält dieses Handbuch weitere Abschnitte, mit denen Leser bei grundlegenden Aufgaben und Funktionen unterstützt werden sollen.
Leser sollten definitiv einen Blick in den nächsten Teil des Handbuchs werden: Arbeiten mit Gentoo. Dort wird erklärt, wie Sie Ihre Software aktuell halten und zusätzliche Software installieren können, was USE-Flags sind, und wie das Init-System OpenRC funktioniert. Er enthält viele weitere Informationen darüber, wie man ein Gentoo Linux System nach der Installation verwaltet.
Neben dem Handbuch sollten Anwender auch andere Teile des Wikis erkunden, in denen zusätzliche, von der Community erstellte Dokumentation zur Verfügung steht. Das Gentoo Wiki Team bietet eine Übersicht über die Dokumentation im Wiki an, in der Sie eine nach Kategorien sortierte Liste von Wiki Artikeln finden. Beispielsweise gibt es dort einen Link zum Lokalisierungsleitfaden, mit dem man das System noch etwas angenehmer einrichten kann (besonders hilfreich für diejenigen, für die Englisch nicht die Muttersprache ist).
Die meisten Benutzer, die den Anwendungsfall "Desktop-System" haben, werden eine graphische Benutzeroberfläche installieren, in der sie dann arbeiten können. Es gibt viele von der Community gepflegte 'Meta'-Artikel zu unterstützten Desktop environments (DEs) und Window-Managern (WMs). Leser sollten sich darüber bewusst sein, dass jede DE leicht unterschiedliche Schritte zur Installation benötigt.
Es gibt viele Meta-Artikel, in denen unsere Leser einen umfassenden Überblick über unter Gentoo verfügbare Software finden.
Gentoo Online
Bitte beachten Sie, dass für alle von Gentoo offiziell angebotenen Online Dienste Gentoos Code of Conduct (Verhaltenscodex) gilt. Die aktive Teilnahme an der Gentoo Community ist ein Privileg, kein Recht. Nutzer sollten sich darüber im Klaren sein, dass der "Code of Conduct" aus gutem Grund besteht.
Die meisten Gentoo Websites benötigen einen eigenen User Account, damit Sie Fragen stellen, Diskussionen eröffnen oder einen Bug melden können. Eine Ausnahme hiervon sind das bei Libera.Chat gehostete Internet Relay Chat (IRC) Netzwerk und die Mailing-Listen.
Forums und IRC
Jeder Anwender ist willkommen in unseren Gentoo-Foren oder in einem unserer Internet Relay Chat Channels. Es ist einfach, in den Foren zu suchen, ob ein Problem bereits entdeckt, besprochen und gelöst wurde (dies gilt sowohl für "Anfänger"-Probleme, als auch für Probleme von fortgeschrittenen Anwendern). Die Wahrscheinlichkeit, dass andere Anwender schon die gleichen Probleme hatten, ist erstaunlich hoch. Wir bitten Anwender, zuerst die Foren und das Wiki zu durchsuchen, bevor sie in den Gentoo Support Channels um Hilfe bitten.
Zum Suche in den Foren oder im Wiki können die dortigen Such-Maschinen verwendet werden. Es können aber auch die bekannten Suchmaschinen wie Google, Bing, DuckDuckGo genutzt werden. Bei Google kann man beispielsweise durch den Zusatz von "site:forums.gentoo.org" angeben, dass nur die Gentoo Foren nach den Suchbegriffen durchsucht werden sollen.
Mailing-Listen
Mehrere Mailing-Listen sind verfügbar für Community-Mitglieder, die lieber E-Mail für Support-Anfragen oder Feedback verwenden, als einen User Account bei den Foren oder bei IRC anzulegen. Anwender, die diesen Dienst nutzen wollen, müssen die Anleitungen befolgen, um die gewünschten Mailing-Listen zu abonnieren.
Bugs
Manchmal gibt es trotz Suche im Forum und Hilfe-Anfragen im Forum, in den Mailing-Listen und im IRC Channel keine Lösung für ein Problem. In vielen Fällen ist das ein Zeichen dafür, das ein Bug in der Gentoo Bugzilla Datenbank erstellt werden sollte.
Development guide
Leser, die gerne mehr über die Entwicklung von Gentoo erfahren möchten, können einen Blick auf den Development Guide werfen. Dieser Leitfaden enthält Anleitungen zum Schreiben von ebuilds und zur Arbeit mit eclasses. Weiterhin enthält er eine Beschreibung für viele Generelle Konzepte bei der Gentoo Entwicklung.
Abschließende Betrachtungen
Gentoo ist eine robuste, flexible und hervorragend gewartete Distribution. Die Entwickler-Community freut sich über Feedback darüber, wie man Gentoo zu einer noch besseren Distribution machen kann.
Zur Erinnerung: Feedback zu "diesem Handbuch" sollte den Richtlinien entsprechen, die am Anfang dieses Handbuchs besprochen wurden: Wie kann ich helfen, das Handbuch zu verbessern?
Wir sind sehr gespannt darauf, wie unsere Anwender Gentoo Linux installieren werden, um es an ihre persönlichen Anforderungen und Bedürfnisse anzupassen.
Warning: Display title "Gentoo Linux amd64 Handbuch: Gentoo installieren" overrides earlier display title "Handbuch:Parts/Full/Installation".