The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Install/de/Portage
This is a template that is used as part of the Installation instructions which covers: an introduction to Portage. Templates are being used to allow multiple variant install guides that use most of the same re-usable parts.
Einführung in Portage
Portage ist der Paketmanager für Funtoo Linux. Um Pakete aus ihrem Quellcode zu bauen und zu installieren, benutzt man den Befehl emerge
. Dieser Befehl sorgt neben der Installation auch dafür, dass alle Abhängigkeiten für die Installation des Pakets aufgelöst werden.
emerge wird folgerndermaßen aufgerufen:
(chroot) # emerge paketname
Wenn ein Paket auf diese Weise installiert wird, speichert Portage den Paketnamen in der Datei /var/lib/portage/world
ab. Da das Paket explizit, per Paketname installiert wurde, geht Portage davon aus, dass es auch in Zukunft auf dem aktuellen Stand gehalten werden soll.
Das Paket wird somit Teil des Systems. world
ist dabei ein sogenanntes Set. Dadurch, dass alle Pakete dem world
Set hinzugefügt werden, kann man das gesamte System wie folgt aktualisieren:
Zuerst aktualisiert man den gesamten Portage tree, in welchem sich alle verfügbaren Pakete als sogenannte ebuilds befinden. Ebuilds sind Skripte, die dem Tool emerge beschreiben, was genau getan werden muss, um ein Paket zu installieren. Bei Funtoo Linux wird der Portage Tree in einem git Repository gespeichert. Dieses ist um einiges schneller als das in Gentoo standardmäßig verwendete rsync.
(chroot) # emerge --sync
Anschließend kann man das gesamte System (das world
Set) mit folgendem Befehl aktualisieren:
(chroot) # emerge -auDN @world
Hier eine Aufschlüsselung der verwendeten Optionen:
a
- (englisch: ask) bevor die Aktion durchgeführt wird, werden die einzelnen anstehenden Updates angezeigt, und man muss die Aktion nochmals bestätigenu
- (englisch: update) führt Updates für Pakete durch, für die es eine neue Version im Portage Tree gibtD
- (englisch: deep) beachtet den kompletten Abhängigkeitsbaum beim aktualisierenN
- (englisch: new) baut alle Pakte, die ein neues bzw. geänderte USE flag haben
Von Zeit zu Zeit sollte man die Option --with-bdeps=y
übergeben. Dieses dient dazu auch alle build Abhängigkeiten zu aktualisieren, welche nicht explizit im world
Set aufgeführt sind.
Manchmal möchte man auch ein Paket installieren, es aber nicht zum world
Set hinzufügen. Zum Beispiel wenn man das Paket nur temporär installieren möchte, oder das Paket nur eine Abhängigkeit eines anderen ist. In diesem Fall wird emerge
folgendermaßen aufgerufen:
(chroot) # emerge -1 paketname
Fortgeschrittene Benutzer, und alle die es werden wollen, sollten für weitere Informationen die Emerge wiki Seite lesen.
Aktualisieren von world
Jetzt ist eine gute Zeit um das gesamte System zu aktualisieren. Am besten vor dem ersten Neustart.
(chroot) # emerge --sync (chroot) # emerge -auDN @world
emerge
gibt manchmal wichtige Meldungen aus. Diese sollten in jedem Fall gelesen werden! Besonders nachdem man perl oder python aktualisiert hat