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.

(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.

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…

Bis Sie an einer Root-Eingabeaufforderung stehen.

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 eth0Und gehen die Optionen nach Bedarf durch:









Jetzt sind Sie wieder an der Root-Eingabeaufforderung, wie vorgeschlagen, möchten Sie vielleicht nur überprüfen, ob Ihr Netzwerk in Ordnung ist.
ifconfig
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.orgJetzt 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.com3.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:
passwdUnd starten Sie sshd:
/etc/init.d/sshd startHost-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.

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/hdaSie 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
printSie 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/hda3Und lassen Sie uns Swap für unsere Installationsumgebung aktivieren:
swapon /dev/hda2Und das Dateisystem einhängen, auf dem wir installieren werden.
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot3.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.
dateThu Aug 30 13:58:36 UTC 2007Was zu diesem Zeitpunkt, als ich es tat, ein wenig falsch war, also korrigieren Sie es so:
date 083013542007Jetzt 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
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.bz2Es 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.bz2Entpacken Sie den Portage-Snapshot.
tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usrSie 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.confWir 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
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/netDanach 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 --syncWenn 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/keymapsJetzt 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/localtimeSetzen 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/clockTIMEZONE="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-sourcesWir 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.6Der 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.6Suchen 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 allDas 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 allund 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/fstabVorausgesetzt, 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 default3.10 Installieren von Systemdiensten
emerge syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default3.11 Bootloader
emerge bootloaderDies 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/hda3.12 Abschluss und Neustart
rc-update add sshd default
passwdUnd 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
rebootNatü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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.