Gentoo Installation · 10 min read · Feb 06, 2026

Der perfekte Server - Gentoo 2007.0 - Seite 2

3 Das Basissystem

3.1 Booten von der Installations-CD

Legen Sie Ihre Gentoo Minimal Install CD in Ihr System ein und booten Sie davon. Sie können einige Optionen im Bootloader einstellen, aber wenn Sie es einfach so lassen, wird es fortfahren und Linux von selbst booten.

Gentoo Install Bootloader

(Es wird standardmäßig eine Framebuffer-Konsole verwendet, aber im Interesse kleinerer Screenshots habe ich die Option geändert, um VGA zu verwenden, indem ich F1 gedrückt habe und den gentoo-nofb-Kernel ausgewählt habe.)

Eine Menge Text wird über den Bildschirm scrollen, während der Kernel bootet und die Installations-CD Ihre Hardware erkennt. Dann erhalten Sie eine Auswahl der Tastaturbelegung.

Gentoo Install Keymap Select

Wenn Sie eine US-Tastatur verwenden, können Sie es einfach so lassen oder die Eingabetaste drücken, und dieser Hinweis wird mit dieser Auswahl ablaufen. Ich lebe in Großbritannien, also möchte ich die UK-Tastaturbelegung.

Mehr Text scrollt nach oben…

Gentoo Installer still booting

Bis Sie an einer Root-Eingabeaufforderung stehen.

Gentoo Installer at root prompt

Die Wahrscheinlichkeit ist groß, dass es während der Erkennung einen DHCP-Server gefunden hat und Sie bereits mit dem Internet verbunden sind. Wir möchten jedoch sofort unsere eigene IP-Adresse angeben, also tippen wir,

net-setup eth0

Und gehen die Optionen nach Bedarf durch:

net-setup 1

net-setup 2

net-setup 3

net-setup 4

net-setup 5

net-setup 6

net-setup 7

net-setup 8

net-setup 9

Jetzt sind Sie wieder an der Root-Eingabeaufforderung, wie vorgeschlagen, möchten Sie vielleicht nur überprüfen, ob Ihr Netzwerk in Ordnung ist.

ifconfig

net-setup complete

Und alle anderen Befehle, die Sie ausführen möchten, um sich zu vergewissern, dass Sie eine Internetverbindung haben. Zum Beispiel (aus dem Gentoo-Handbuch):

ping -c 3 www.gentoo.org

Jetzt setzen Sie vorübergehend Ihren Hostnamen. Wir werden dies später zurücklesen, um einige spätere Phasen der Installation zu automatisieren.

hostname server1.example.com

3.2 Anmeldung in der Installationsumgebung aus der Ferne

Setzen Sie das Root-Passwort. Dies ist nur für das Installationssystem, nicht für das endgültig installierte System:

passwd

Und starten Sie sshd:

/etc/init.d/sshd start

Host-Schlüssel werden erstellt und der sshd-Daemon wird gestartet. Jetzt können Sie sich vom Komfort Ihres gewohnten Terminalprogramms auf Ihrem eigenen Computer in das Installationssystem einloggen. Offensichtlich können Sie diesen Schritt auch auslassen und weiterhin die Konsole verwenden, wenn Sie es bevorzugen oder müssen.

ssh [email protected]

Offensichtlich funktioniert das nur, wenn server1.example.com auf Ihrem System aufgelöst wird.

First remote login

3.3 Einrichten des Systemlaufwerks

Dieser Teil wird wahrscheinlich sehr unterschiedlich auf anderen Architekturen sein. Konsultieren Sie das Gentoo-Handbuch, wenn Sie nicht auf x86 oder amd64 sind oder wenn Sie etwas anderes als das standardmäßige Layout, das im x86-Handbuch vorgeschlagen wird, tun möchten.

Um die Festplatte zu partitionieren, verwenden Sie parted. Wir werden einfach direkt einsteigen und das vorgeschlagene Gentoo-Partitionsschema einrichten, und parted ermöglicht es uns, dies auf eine Weise zu tun, die in Textform prägnant dargestellt werden kann:

parted /dev/hda

Sie erhalten eine (parted) Eingabeaufforderung. Geben Sie an dieser Eingabeaufforderung die folgenden Befehle ein:

mklabel msdos  
mkpartfs primary ext2 0 32  
mkpartfs primary linux-swap 32 545  
mkpart primary 545 -0  
set 1 boot on  
print

Sie sollten etwas sehen wie:

Disk /dev/hda: 5906MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  32.9MB  32.9MB  primary  ext2         boot 
 2      32.9MB  545MB   512MB   primary  linux-swap        
 3      545MB   5906MB  5361MB  primary                    
(parted) 

Geben Sie quit ein, um zu beenden und die Änderungen zu speichern.

Wir haben bereits die ext2- und Swap-Dateisysteme auf den Partitionen 1 und 2 erstellt, also wollen wir nur das ext3-Dateisystem auf Partition 3 erstellen.

mke2fs -j /dev/hda3

Und lassen Sie uns Swap für unsere Installationsumgebung aktivieren:

swapon /dev/hda2

Und das Dateisystem einhängen, auf dem wir installieren werden.

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

3.4 Den Weg für Stage 3 vorbereiten

Bestätigen Sie, dass Datum und Uhrzeit für Ihr System korrekt sind. Wenn sie es nicht sind, kann es später verwirrend werden.

date
Thu Aug 30 13:58:36 UTC 2007

Was zu diesem Zeitpunkt, als ich es tat, ein wenig falsch war, also korrigieren Sie es so:

date 083013542007

Jetzt müssen wir das Stage 3 Tarball und den Portage-Snapshot herunterladen. Anstatt mit Links oder Lynx herumzuspielen, verwenden wir einfach ein paar Befehle:

mirrorselect --interactive --output > /tmp/mirror

mirrorselect - download mirrors

Wählen Sie die für Sie geeigneten Mirrors aus und wählen Sie OK. Wenn Sie das Programm verlassen, wird eine Zeile in /tmp/mirror mit Ihren Auswahlmöglichkeiten geschrieben. Wir wollen nur den ersten, also:

source /tmp/mirror   
MIRRORS=($GENTOO_MIRRORS)   
MIRROR=${MIRRORS[0]}   
cd /mnt/gentoo   
wget ${MIRROR}releases/x86/current/stages/stage3-$(arch)-2007.0.tar.bz2 \   
|| wget ${MIRROR}releases/x86/current/stages/stage3-x86-2007.0.tar.bz2   
wget ${MIRROR}snapshots/portage-latest.tar.bz2

Es gibt tatsächlich keinen failsafe Weg, um die architekturspezifischen Teile der obigen stage3-URL zu bestimmen, also konsultieren Sie das Gentoo-Handbuch, wenn Sie nicht auf x86 sind.

Entpacken Sie das Stage-Tarball.

tar --extract --verbose --bzip2 --preserve-permissions --file stage3-*.tar.bz2

Entpacken Sie den Portage-Snapshot.

tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usr

Sie können diese Downloads jetzt löschen, wenn Sie wenig Speicherplatz haben.

rm portage* stage*

Jetzt werde ich etwas fast Häretisches für die Gentoo-Community tun und etc/make.conf in Ruhe lassen! Das ist die Datei, in der Dinge wie die CFLAGS eingerichtet werden, und wo Sie sie so optimal einstellen können, wie Sie möchten. Ich werde sie nicht anfassen. Sie sollten sie zumindest auf Plausibilität überprüfen. Wenn sie verrückt ist, haben Sie möglicherweise die falsche Stage-Datei heruntergeladen. Insbesondere wird auf x86 standardmäßig das Flag -mtune=i686 gesetzt, selbst auf der einfachen x86 stage3-Datei, was unangemessen sein kann, wenn Sie auf alter Hardware installieren. Aber indem wir $(arch) verwenden, hoffen wir, solche Probleme zu vermeiden.

vi /mnt/gentoo/etc/make.conf

Wir werden nur einige Informationen hinzufügen, die wir benötigen. Zuerst die Mirrors, von denen Gentoo sich selbst herunterladen wird. Wir haben die Download-Mirrors bereits einmal abgerufen, also um zu vermeiden, sie erneut auszuwählen, nehmen wir diese Auswahl und fügen eine Auswahl für den rsync-Mirror hinzu.

cat /tmp/mirror >> /mnt/gentoo/etc/make.conf   
mirrorselect --interactive --rsync --output >> /mnt/gentoo/etc/make.conf

mirrorselect - rsync mirrors

Jetzt werden wir einige Dinge in /mnt/gentoo kopieren, um in es zu chrooten und die Installation fortzusetzen. Wir werden auch die aktuelle Netzwerkkonfiguration kopieren, damit das installierte System dasselbe hat. Dieses kleine Skript wird die aktuelle Konfiguration von eth0 in das neuere /etc/conf.d/net-Format schreiben.

#!/bin/bash
cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf
echo "HOSTNAME=\"$(hostname -f)\"" > /mnt/gentoo/etc/conf.d/hostname
eth0=$(ifconfig eth0 | grep "inet addr")
ip=$(echo $eth0 | cut -f2 -d' ' | cut -f2 -d:)
broadcast=$(echo $eth0 | cut -f3 -d' ' | cut -f2 -d:)
netmask=$(echo $eth0 | cut -f 4 -d' ' | cut -f2 -d:)
gw=$(route -n | grep -e '^0.0.0.0' | unexpand -a | cut -f3)
nservers=$(grep -e '^nameserver' /etc/resolv.conf | cut -f2 -d' ')
sdomains=$(grep -e '^search' /etc/resolv.conf | cut -f2- -d' ')
echo 'modules=( "ifconfig" )' > /mnt/gentoo/etc/conf.d/net
echo "config_eth0=( \"${ip} netmask ${netmask} broadcast ${broadcast}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "routes_eth0=( \"default via ${gw}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "dns_domain_eth0=\"$(hostname -d)\"" >> /mnt/gentoo/etc/conf.d/net
echo "dns_servers_eth0=\"${nservers}\"" >> /mnt/gentoo/etc/conf.d/net
if [ -n "$sdomains" ] ; then echo "dns_search_eth0=\"${sdomains}\"" ; fi >> /mnt/gentoo/etc/conf.d/net

Danach sollte /mnt/gentoo/etc/conf.d/net so aussehen, natürlich mit den richtigen Werten.

modules=( "ifconfig" )
config_eth0=( "192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255" )
routes_eth0=( "default via 192.168.1.1" )
dns_domain_eth0="example.com"
dns_servers_eth0="192.168.1.1"

Die Verwendung dieses Formats bewirkt, dass das Gentoo-Netzwerkinitialisierungsskript die darin enthaltenen Daten verwendet, um ein neues /etc/resolv.conf zu schreiben, sowie das Netzwerk selbst einzurichten, sodass es in Zukunft nur noch eine Datei gibt, die korrekt gehalten werden muss. (Wir haben die /etc/resolv.conf des Installationssystems nur für die Verwendung innerhalb der chroot-Umgebung kopiert, bis wir das installierte System booten.)

Nachdem wir das erledigt haben, können wir die Vorbereitungen für chroot abschließen und hineingehen.

3.5 Optional: Vorübergehende Installation von vim in die Stage3-Umgebung

Das Gentoo Stage 3-System hat kein vi. Stattdessen ist die Standardpraxis, den enthaltenen Editor nano zu verwenden. Wenn Sie wirklich lieber vi hätten, tun Sie jetzt Folgendes:

VIM=$(which vim)   
VIMDIR=$(dirname ${VIM})   
cp --dereference ${VIM} /mnt/gentoo${VIM}   
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

(Die Bibliotheken, von denen es abhängt, sind bereits vorhanden.)

Die weiteren Anweisungen gehen jedoch davon aus, dass Sie dies nicht getan haben. Wenn Sie es getan haben, sind Sie klug genug, um den gewünschten Befehl zu ersetzen.

3.6 Eintritt in die chroot Stage3-Umgebung

mount -t proc none /mnt/gentoo/proc   
mount -o bind /dev /mnt/gentoo/dev   
chroot /mnt/gentoo /bin/bash   
env-update   
source /etc/profile   
export PS1="(chroot) $PS1"

Jetzt sind wir in der chrooted Umgebung, wir werden Portage auf den aktuellen Stand bringen.

emerge --sync

Wenn Sie sich um die Verwendung der Konsole der Maschine kümmern, möchten Sie möglicherweise die Tastaturbelegung in /etc/conf.d/keymaps festlegen. Andernfalls können Sie es auch so lassen.

nano --nowrap /etc/conf.d/keymaps

Jetzt setzen wir unsere Zeitzone. Überprüfen Sie den Inhalt von /usr/share/zoneinfo, um zu sehen, welche Zeitzone zu verwenden ist. (Wir werden USE oder das standardmäßige make.profile nicht ändern.) Zum Beispiel,

cp /usr/share/zoneinfo/Europe/London /etc/localtime

Setzen Sie die Zeitzone in /etc/conf.d/clock. Setzen Sie einfach die TIMEZONE-Variable auf die Datei, die Sie zuvor nach /etc/localtime kopiert haben. Zum Beispiel,

nano --nowrap /etc/conf.d/clock
TIMEZONE="Europe/London"

(Vergessen Sie nicht, die Zeile zu entkommentieren.)

Möglicherweise müssen Sie CLOCK auf local setzen. Normalerweise tut man das nicht, aber es ist allgemein erforderlich, wenn Sie in VMWare installieren und möglicherweise in anderen virtuellen Umgebungen.

3.7 Installieren des Kernels

emerge gentoo-sources

Wir werden einfach eine genkernel-Installation durchführen, um den Standard-Gentoo-Kernel zu installieren. Dies ist teilweise aus Gründen der Einfachheit für dieses Howto. Wenn Sie sich mit dem Erstellen Ihrer eigenen Kernel wohlfühlen, tun Sie dies gemäß den Hinweisen im Gentoo-Handbuch in Kapitel 7.

emerge genkernel   
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

Der zweite Befehl kopiert die Konfiguration des Kernels der Installationsdiskette, um unser aktueller Kernel zu sein. Wenn wir so weit gekommen sind, ist es eine faire Wette, dass diese Kernelkonfiguration für uns funktioniert.

Hier können wir etwas abkürzen und uns einen komplizierteren Schritt später sparen. Wir möchten die Quota-Unterstützung zur Kernelkonfiguration hinzufügen. Was wir hier tun werden, ist, es zur Konfigurationsvorlagendatei hinzuzufügen, die genkernel verwendet, damit wir die Änderung nicht verlieren, wenn wir den Kernel aktualisieren.

nano --nowrap /usr/share/genkernel/x86/kernel-config-2.6

Suchen Sie nach # CONFIG QUOTA is not set und ändern Sie es in Folgendes (fügen Sie die beiden nachfolgenden Zeilen hinzu):

CONFIG_QUOTA=y 
# CONFIG_QFMT_V1 is not set 
CONFIG_QFMT_V2=y 

Dann können wir fortfahren:

genkernel all

Das kann eine Weile dauern. Es wird Unterstützung für alles aufgebaut. Ich habe gesagt, dass dies ein generischer Gentoo-Build sein wird.

Hinweis: Wenn Sie auf eine SCSI- oder SATA-Festplatte installieren, ist es am besten, an dieser Stelle stattdessen zu tun,

genkernel --menuconfig all

und den entsprechenden Low-Level-Treiber für das SCSI- oder SATA-Interface auszuwählen, an das Ihr Systemlaufwerk angeschlossen ist, um in den monolithischen Kernel kompiliert zu werden, anstatt als Modul. Ich glaube, es sollte funktionieren, wenn Sie dies nicht tun (indem Sie das Treibermodul von der initrd laden, genau wie die Installationsdiskette), aber im Moment scheint es nicht zu funktionieren.

3.8 Einrichten von Dateisystemen

nano --nowrap /etc/fstab

Vorausgesetzt, Sie befinden sich auf demselben Partitionsschema wie ich, d.h. diesem Leitfaden folgend, ersetzen Sie /dev/BOOT durch /dev/hda1; /dev/ROOT durch /dev/hda3; und /dev/SWAP durch /dev/hda2. Die geänderte Datei sollte so aussehen:

[...]  
#                                             
# HINWEIS: Wenn Ihre BOOT-Partition ReiserFS ist, fügen Sie die Option notail zu opts hinzu.
/dev/hda1               /boot           ext2            noauto,noatime  1 2  
/dev/hda3               /               ext3            noatime         0 1  
/dev/hda2               none            swap            sw              0 0  
/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0  
#/dev/fd0               /mnt/floppy     auto            noauto          0 0  
[...]  

3.9 Netzwerk beim Booten starten.

rc-update add net.eth0 default   
rc-update add hostname default

3.10 Installieren von Systemdiensten

emerge syslog-ng vixie-cron   
rc-update add syslog-ng default   
rc-update add vixie-cron default

3.11 Bootloader

emerge bootloader

Dies wird den Standard-Bootloader für Ihre Architektur installieren. Die folgenden Annahmen gelten für x86 oder amd64 und dass dieser Bootloader grub ist. Da dies eine ultra-generic PC-Installation ist, werden wir schummeln und es einfach schreiben. Wenn der Rest dieses Leitfadens zu Ihrem System passt, sollte dies auch so sein; andernfalls konsultieren Sie das Gentoo-Handbuch, Kapitel 10.

echo -e "default 0\ntimeout 5\n\ntitle=GentooLinux\nroot (hd0,0)" > /boot/grub/grub.conf   
echo "kernel `ls /boot/kernel*` root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" >> /boot/grub/grub.conf   
echo "initrd `ls /boot/initramfs*`" >> /boot/grub/grub.conf   
grep --invert-match rootfs /proc/mounts > /etc/mtab   
grub-install --no-floppy /dev/hda

3.12 Abschluss und Neustart

rc-update add sshd default   
passwd

Und geben Sie root ein Passwort. So können wir uns danach einloggen, ohne zur Konsole gehen zu müssen. Vorausgesetzt, alles hat funktioniert.

Verlassen Sie das chroot und starten Sie neu.

exit   
cd   
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo   
reboot

Natürlich müssen Sie möglicherweise die CD aus dem Laufwerk entfernen. Dies hängt davon ab, wie Ihre Boot-Reihenfolge ist; aber Sie können sie genauso gut loswerden; sie wird nicht mehr benötigt.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.