Gentoo Installation · 11 min read · Feb 06, 2026

Der perfekte Server - Gentoo 2007.0 - Seite 3

4 Auf den neuesten Stand bringen

Willkommen zurück für diejenigen, die das Gentoo-Handbuch befolgt haben, um das Basissystem zu installieren.

4.1 Anmeldung im neuen System

ssh [email protected]

Sie sehen wahrscheinlich etwas wie dies:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNUNG: DIE IDENTIFIKATION DES REMOTE-HOSTS HAT SICH GEÄNDERT!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ES IST MÖGLICH, DASS JEMAND ETWAS BÖSES TUT!
Jemand könnte gerade jetzt Ihr Gespräch belauschen (Man-in-the-Middle-Angriff)! 
Es ist auch möglich, dass der RSA-Hostschlüssel gerade geändert wurde.
Der Fingerabdruck für den RSA-Schlüssel, der vom Remote-Host gesendet wurde, ist
13:13:39:99:9b:ea:81:72:2c:20:d2:f5:d2:0f:bd:ac.
Bitte kontaktieren Sie Ihren Systemadministrator.
Fügen Sie den richtigen Hostschlüssel in /home/rachel/.ssh/known_hosts hinzu, um diese Nachricht loszuwerden.
Störender Schlüssel in /home/rachel/.ssh/known_hosts:23
Der RSA-Hostschlüssel für server1.example.com hat sich geändert und Sie haben eine strenge Überprüfung angefordert.
Die Überprüfung des Hostschlüssels ist fehlgeschlagen.

Das liegt daran, dass das installierte System seine eigenen Hostschlüssel generiert hat, die nicht mit denen des Installationssystems übereinstimmen. Sie müssen nur den Hostschlüssel von Ihrem lokalen SSH entfernen. Für fast jedes Unix sollte dies funktionieren:

vi ~/.ssh/known_hosts   
/server1.example.com   
dd:x

Jetzt sind wir als root in unserem neuen grundlegenden Gentoo-System angemeldet.

Überprüfen Sie, ob Ihr Hostname richtig konfiguriert ist:

hostname -f

Es sollte Ihren vollqualifizierten Domainnamen zurückgeben, z.B. server1.example.com.

4.2 Optional: Installieren Sie alle Software auf einmal

Von Natur aus benötigt Gentoo im Vergleich zu binären Distributionen relativ lange, um neue Software zu installieren. Dies kann frustrierend sein, wenn man einem Howto wie diesem folgt, da man ein paar Befehle eingibt und dann die Daumen drehen muss, während etwas und seine Abhängigkeiten von Grund auf neu erstellt werden; wiederhole ad nauseum. Sie mussten es bereits tun, wenn Sie diese Anweisungen für die Basiseinrichtung befolgt haben.

Aus diesem Grund habe ich die Befehle hier gesammelt, um den ersten Softwareaufbau von allem, was in der Perfekten Einrichtung Konfiguration verwendet wird, durchzuführen, damit Sie das alles auf einmal erledigen können. Im Gegensatz zu einigen Distributionen startet Gentoo keine neuen Dienste automatisch, installiert sie nicht in Runlevels oder führt keine Nachkonfiguration durch, die Benutzereingaben erfordert, sodass wir es anstoßen können, um die gesamte Software zu erstellen, und später zurückkommen und die Konfiguration vornehmen können.

Wenn Sie es auf diese Weise tun möchten, geben Sie jetzt einfach das Skript unten ein. (Sie können es einfach in Ihre Bash-Befehlszeile kopieren und einfügen). Dann, während Sie den Rest des Howtos durchgehen, überspringen Sie die Befehle, die in Fettdruck angegeben sind.

# Deinstallieren von ssmtp
emerge --unmerge ssmtp
# Postfix als Standard-MTA festlegen
mkdir -p /etc/portage/profile
echo 'virtual/mta mail-mta/postfix' >> /etc/portage/profile/virtuals
# USE-Flags festlegen
echo 'USE="apache2 bzip2 idn jpeg png tiff tk truetype xml"' >> /etc/make.conf
echo 'LINGUAS="en"' >> /etc/make.conf
echo 'net-dns/bind resolvconf' >> /etc/portage/package.use
echo 'mail-mta/postfix sasl' >> /etc/portage/package.use
echo 'dev-libs/cyrus-sasl authdaemond urandom' >> /etc/portage/package.use
echo 'net-mail/courier-imap fam' >> /etc/portage/package.use
echo 'www-servers/apache doc mpm-prefork' >> /etc/portage/package.use
echo 'dev-lang/php bcmath bzip2 calendar ctype curl exif filter ftp gd hash imap json mhash mysql mysqli pcntl pdo posix sharedmem simplexml snmp soap sockets spell sqlite tidy tokenizer wddx xmlreader xmlrpc xmlwriter xsl zip' >> /etc/portage/package.use
echo 'net-ftp/proftpd -ipv6' >> /etc/portage/package.use
# Pakete entmaskieren
echo 'dev-php5/pecl-imagick ~*' >> /etc/portage/package.keywords
echo 'dev-php5/pecl-memcache ~*' >> /etc/portage/package.keywords
echo 'dev-libs/pslib ~*' >> /etc/portage/package.keywords
echo 'dev-php5/pecl-ps ~*' >> /etc/portage/package.keywords
# Pakete zur Weltdatei hinzufügen
echo 'app-admin/sudo' >> /var/lib/portage/world
echo 'app-admin/webalizer' >> /var/lib/portage/world
echo 'app-arch/unzip' >> /var/lib/portage/world
echo 'app-arch/zip' >> /var/lib/portage/world
echo 'app-editors/vim' >> /var/lib/portage/world
echo 'app-portage/gentoolkit' >> /var/lib/portage/world
echo 'dev-db/mysql' >> /var/lib/portage/world
echo 'dev-lang/php' >> /var/lib/portage/world
echo 'dev-php/PEAR-PEAR' >> /var/lib/portage/world
echo 'dev-php5/pecl-imagick' >> /var/lib/portage/world
echo 'dev-php5/pecl-memcache' >> /var/lib/portage/world
echo 'dev-php5/pecl-ps' >> /var/lib/portage/world
echo 'dev-tcltk/expect' >> /var/lib/portage/world
echo 'mail-filter/procmail' >> /var/lib/portage/world
echo 'mail-mta/postfix' >> /var/lib/portage/world
echo 'net-dns/bind' >> /var/lib/portage/world
echo 'net-ftp/ncftp' >> /var/lib/portage/world
echo 'net-ftp/proftpd' >> /var/lib/portage/world
echo 'net-mail/courier-imap' >> /var/lib/portage/world
echo 'net-mail/fetchmail' >> /var/lib/portage/world
echo 'net-misc/netkit-telnetd' >> /var/lib/portage/world
echo 'net-misc/ntp' >> /var/lib/portage/world
echo 'sys-fs/quota' >> /var/lib/portage/world
echo 'www-servers/apache' >> /var/lib/portage/world

Fügen Sie dies ebenfalls ein, wenn Sie ISPConfig ausführen möchten:

echo 'dev-db/mysql latin1' >> /etc/portage/package.use
echo 'app-shells/smrsh' >> /var/lib/portage/world
echo 'dev-perl/HTML-Parser' >> /var/lib/portage/world
echo 'dev-perl/Net-DNS' >> /var/lib/portage/world
echo 'net-firewall/iptables' >> /var/lib/portage/world
echo 'virtual/perl-DB_File' >> /var/lib/portage/world

Und fügen Sie dies ein, wenn Sie einige X-Anwendungen remote ausführen müssen (z.B.: VMWare Tools vmware-toolbox Dialog und fetchmailconf).

echo 'x11-apps/xauth' >> /var/lib/portage/world
echo 'x11-libs/libXi' >> /var/lib/portage/world

Aktualisieren Sie jetzt Portage, da die neue Version von Portage das Verhalten unterstützt, das wir ausnutzen.

Tatsächlich wird es, selbst wenn Sie diesen Schritt überspringen, später bei der vollständigen Aktualisierung richtig durchgeführt, da es zuerst Portage installiert und dann stoppt und sich mit der neuen Version neu startet. Aber Sie erhalten keine genaue Liste dessen, was passieren wird, wenn Sie –ask verwenden, wie es das spätere Beispiel tut. Daher dient dieser Schritt wirklich der Vermeidung von Verwirrung.

emerge --ask --verbose --newuse portage

Danach wird es Sie warnen, dass einige Konfigurationsdateien geändert wurden, und Sie auffordern, diese Änderungen zu genehmigen.

Gerade Portage aktualisiert

dispatch-conf
>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge: 

Da wir hier nur Portage selbst aktualisiert haben, sollten Sie in der Lage sein, alle Änderungen zu akzeptieren, indem Sie für jede Datei, die es Ihnen anbietet, u für “use new” auswählen.

4.3 Das erste Update

Wir haben während der Installation ein emerge –sync durchgeführt, daher müssen wir wahrscheinlich nicht sofort ein weiteres durchführen, also gehen wir sofort zum Update über.

Wir möchten einige globale USE-Flags festlegen. Ich habe versucht, dies größtenteils zu vermeiden zugunsten von paket-spezifischen Flags, aber wir benötigen ein paar globale. Oder es macht die Dinge einfacher. Denken Sie daran, wenn Sie den optionalen Schritt 4.2 oben durchgeführt haben, müssen Sie die folgenden Befehle, die in Fettdruck angezeigt werden, nicht eingeben. Nehmen Sie sie einfach als erklärend.

grep USE /etc/make.conf

Wenn bereits eine USE-Variable in dieser Datei festgelegt ist, müssen Sie die Datei bearbeiten und sicherstellen, dass die folgenden Flags hinzugefügt werden. Wenn nicht, führen Sie einfach diesen Befehl aus:

echo 'USE="apache2 bzip2 idn jpeg png tiff tk truetype xml"' >> /etc/make.conf

Und jetzt können wir tatsächlich das Update durchführen.

emerge --ask --verbose --newuse --deep world

Die –ask –verbose zeigt an, welche Pakete es installieren oder aktualisieren wird, mit ihren ausgewählten USE-Flags. Sie sind völlig optional, sie sollen Ihnen nur zeigen, was Sie gleich tun werden, bevor Sie es tun. Die –newuse –deep sagt, dass alles neu gebaut werden soll, dessen USE-Flags sich geändert haben, sowie alles, was veraltet ist. ( –deep gibt an, dass Sie alles, einschließlich Abhängigkeiten, aktualisieren möchten, anstatt nur Ihre Hauptpakete.)

Wenn Sie die Eingabetaste drücken (oder Ja eingeben), wird Ihr System auf den neuesten Stand gebracht. Dies wird wahrscheinlich eine Weile dauern.

Wenn Sie Schritt 4.2 gefolgt sind, um den vollständigen Perfekten Setup Softwareaufbau im Voraus einzurichten, werden jetzt alle Perfekten Setup Software und ihre Abhängigkeiten heruntergeladen, kompiliert und installiert sowie die fälligen Updates für das Basissystem; irgendwo zwischen 150 und 190 Paketen insgesamt werden entweder neu erstellt oder neu aufgebaut. Portage wird sich beschweren, dass Sie seine Weltdatei manuell geändert haben, aber es wird weitermachen und das System so machen, wie die Weltdatei es angibt; d.h.: die neue Software installieren. Gehen Sie zum Abendessen oder sehen Sie sich einen Film an; oder gehen Sie ins Bett. Das wird eine Weile dauern.

Wenn das endlich fertig ist, sehen Sie etwas wie dies:

Fertig großes Update

dispatch-conf

Für jede Konfigurationsdatei, die geändert wurde, werden Ihnen die Unterschiede angezeigt, und Sie erhalten diese Optionen:

>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge: 

Da dies ein brandneues System ist, möchten Sie wahrscheinlich die Änderungen für die meisten von ihnen einfach akzeptieren (indem Sie u für “use new” drücken). Diejenigen, die Sie so belassen möchten, wie sie sind, drücken Sie z für “zap new”. Diese werden wahrscheinlich sein, weil wir sie zuvor bearbeitet haben:

  • /etc/conf.d/clock
  • /etc/conf.d/hostname
  • /etc/conf.d/keymaps

Wenn Sie –deep bei einem Gentoo-Upgrade verwenden, ist es eine gute Praxis, dies danach zu tun:

revdep-rebuild

Sie müssen dies wahrscheinlich nicht zu diesem Zeitpunkt oder in den meisten Fällen, aber es ist gut, damit vertraut zu werden. Was es tut, ist sicherzustellen, dass die Software, die auf Ihrem System installiert ist, weiterhin binärkompatibel mit den Bibliotheken ist, von denen sie abhängt, und wenn nicht, wird sie neu installiert (was natürlich bedeutet, dass sie gegen die neue Version der Bibliothek neu aufgebaut wird). Sie müssen dies im Allgemeinen nur tun, wenn eine wichtige Bibliothek auf eine Hauptversionsnummer aktualisiert wird. Manchmal wird Portage Sie dennoch dazu auffordern, dies für eine bestimmte Bibliothek zu tun. Sie können diesem Befehl eine Paketkennung geben und es wird, falls erforderlich, alles neu aufbauen, was davon abhängt; daher der Name, der kurz für “Reverse-Dependency-Rebuild” steht. An sich wird es einfach alles überprüfen. (Es gibt wahrscheinlich kein Äquivalent dazu in binären Distributionen, da Updates für eine bestimmte Version in der Regel keine Bibliotheken umfassen, die auf eine Version aktualisiert werden, die die binäre Kompatibilität mit ihren Abhängigkeiten bricht. Stattdessen werden ältere Versionen nach Bedarf gepatcht und die neuen Versionen, die die binäre Kompatibilität brechen würden, werden bis zur nächsten Hauptversion zurückgehalten.)

Da dies ein ziemlich großes Update ist, werde ich jetzt neu starten, nur um sicherzustellen, dass alles noch in Ordnung ist. Dies ist im Grunde optional. Wenn Sie nicht neu starten, geben Sie ein,

source /etc/profile

Dies ist, um Änderungen an der Umgebung zu berücksichtigen. Unter diesen ist fast sicher ein gcc-Upgrade.

Und da openssh aktualisiert wurde,

/etc/init.d/sshd restart

Für den Rest von Ihnen, bis nach dem Neustart.

4.4 VMWare Tools

Offtopic, aber wahrscheinlich notwendig und nicht offensichtlich

Um VMWare Tools in Gentoo zu installieren, müssen Sie jetzt den Kernel neu kompilieren (da der VMWare Tools-Installer sich beschweren wird, wenn der aktuelle Kernel mit einer früheren Version von gcc als dem System, das jetzt vorhanden ist, erstellt wurde, und gcc wurde gerade aktualisiert).

Die genkernel-Optionen stellen sicher, dass alles neu kompiliert wird, aber die vorherige Kernel-Konfiguration beibehalten wird, falls Sie zuvor andere Änderungen vorgenommen haben.

genkernel --clean --no-mrproper all   
reboot

Wenn es wieder hochkommt, tun Sie Folgendes, wenn Sie VMWare Workstation verwenden:

emerge --ask --verbose vmware-workstation-tools

Dies wird Sie weiter auffordern. Wenn Sie eine andere Version von VMWare ausführen, wie VMWare Server oder VMWare Fusion, tun Sie einfach Folgendes:

mkdir /etc/init.d/rc{0,1,2,3,4,5,6}.d

In diesem Fall, wenn Sie gefragt werden, befinden sich Ihre Init-Skripte in /etc/init.d und Ihre rc0.d bis rc6.d Verzeichnisse befinden sich ebenfalls in /etc/init.d. Der VMWare Tools-Installer wird diese als Standard erkennen und anbieten. Die rc n.d Verzeichnisse werden nichts tun, sie sind nur da, weil der VMWare-Installer sie möchte. Sie können sie danach entfernen.

Wählen Sie “VMWare Tools installieren” in VMWare selbst.

mount /dev/cdrom /mnt/cdrom   
cd ~   
tar --extract --verbose --gzip --file /mnt/cdrom/VM*.tar.gz

Sie müssen den VMWare Tools-Installer an der Systemkonsole der virtuellen Maschine ausführen, nicht remote. Der Installer selbst wird Sie daran erinnern, wenn Sie mich ignorieren. :-)


cd vmware-tools-distrib   
./vmware-install.pl

Und folgen Sie den Aufforderungen. Es ist bekannt, dass derzeit die vmhgfs- und die vmxnet-Module nicht gebaut werden, aber alles andere sollte in Ordnung sein.

Und stellen Sie sicher, dass es beim nächsten Neustart automatisch hochkommt.

rc-update add vmware-tools default

Um die VMWare Toolbox zu verwenden, müssen Sie einige ihrer Abhängigkeiten erstellen. Es ist eine X11-Anwendung, also entweder benötigen Sie eine Desktop-Umgebung auf der Box selbst (die wir für Perfekte Einrichtung wahrscheinlich nicht haben) oder Sie möchten Folgendes tun:

vi /etc/ssh/sshd_config

Suchen Sie die Zeile, die “X11Forwarding” enthält, und stellen Sie sicher, dass sie nicht auskommentiert ist und auf “ja” gesetzt ist.

/etc/init.d/sshd restart

Und installieren Sie die minimalen X11-Abhängigkeiten, die benötigt werden.

emerge --ask --verbose libXi xauth

Melden Sie sich mit X11-Weiterleitung von Ihrem Remote-Computer an und führen Sie es aus, und setzen Sie, was Sie setzen müssen. Es gibt wirklich keinen anderen Weg, um notwendige Dinge wie die Synchronisation mit der RTC des Hosts (sehr notwendig auf VMWare Server, insbesondere auf AMD-Hosts) zu tun und um Dinge wie Snapshots zu ermöglichen.

ssh -X [email protected]   
vmware-toolbox

Sie möchten möglicherweise neu starten, um sicherzustellen, dass alles funktioniert.

update-modules force   
reboot

4.5 Zukünftige, routinemäßige Updates

Der typische Workflow ist,

emerge --sync   
emerge -avND world   
# (kurze Form von emerge --ask --verbose --newuse --deep world)

Wenn die aufgelisteten Upgrades sinnvoll erscheinen, drücken Sie die Eingabetaste, um es fortzusetzen. Möglicherweise werden Sie am Ende aufgefordert, dass Konfigurationsdateien aktualisiert wurden, wie oben; in diesem Fall führen Sie aus,

dispatch-conf

Und wenn Sie aufgefordert werden oder im Zweifel sind,

revdep-rebuild

Es schadet nicht, das zu tun, wenn es nicht notwendig ist. Es wird einfach eine Weile nachdenken und Ihnen sagen, dass es nichts gibt, das neu installiert werden muss.

Denken Sie daran, nach dem Upgrade der Dienste neu zu starten. (Im Gegensatz zu Ubuntu und vermutlich Debian wird es das nicht für Sie tun.)

Es ist sinnvoll, dies etwa einmal pro Woche zu tun, dann kommen die Änderungen schrittweise und in kleinen Häppchen und sind normalerweise in wenigen Minuten abgeschlossen. Im Gegensatz dazu kann es sehr schmerzhaft sein, ein lange überfälliges Upgrade auf einem Gentoo-System durchzuführen. Wir haben gerade das Äquivalent dazu oben getan, indem wir die Maschine auf den neuesten Stand von der neuesten Stage3-Version gebracht haben, die zum Zeitpunkt des ersten Schreibens schon eine Weile her war. Und das war von einem brandneuen, leeren System. Stellen Sie sich vor, wenn Sie eine Reihe von Diensten und Benutzern haben, die laufen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.