注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Install/de/Portage

From Funtoo
< Install‎ | de
Revision as of 12:20, January 27, 2015 by Jubalh (talk | contribs) (completed)
Jump to navigation Jump to search


   Note

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, der Paketmanager für Funtoo Linux hat einen Befehl emerge welcher benutzt wird um Pakete aus ihrem Quellcode zu bauen und zu installieren. Dabei sorgt es auch dafür das alle Abhänigkeiten eines 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 du das Paket explizit, per Paketname installiert hast geht Portage davon aus, dass du es auch un Zukunft auf dem laufdenen Stand haben möchtest. Das Paket wird somit Teil deines Systems. world ist dabei ein sogenanntes Set. Dadruch das alle Pakete dem world Set hinzuguegt werden kannst du dein gesamtes System mit dem folgenden Kommando aktualisieren:

(chroot) # emerge --sync
(chroot) # emerge -auDN @world

Hierbei handelt es sich um den "offiziellen" Weg dein Funtoo Linux System zu aktualisieren. Zuerst aktualisieren wir den gesamten Portage tree. Im Portage tree befinden sich alle ebuilds, welches Skripte sind die emerge beschreiben was genau getan werden muss um ein Paket zu installieren. Bei Funtoo Linux wird der Tree in einem git repository gespeichert. Dies ist um einiges schneller als rsync. Danach sagen wir emerge dass das gesammte System (das world Set) aktualisiert werden soll. Hier eine Aufschlüsselung der verwendeten Optionen:

  • a - zeige uns was emerged werden soll, und frage (englisch: ask) uns ob wir einverstanden sind
  • u - aktualisiere (englisch: update) die Pakete, aber emerge sie nicht falls eine keine Aenderungen gibt
  • D - Beachte den kompletten Abhängigkeitsbaum beim aktualisieren. In anderen Worten: Mache ein "tiefes" (englisch: deep) Update
  • N - Aktualisiere alle Pakete welche ein neues (englisch: new) bzw. geänderte USE flags haben

Du solltest auch von Zeit zu Zeit die Option --with-bdeps=y mitübergeben. Das dient dazu auch alle build Abhängigkeiten zu aktualisieren.

Manchmal möchten wir auch ein Paket installieren es aber nicht zum world Set hinzufügen. Zum Beispiel wenn du das Paket nur temporär installieren möchtest, 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 gesammte System zu aktualisieren. Am besten vor dem ersten Neustart.

(chroot) # emerge --sync
(chroot) # emerge -auDN @world
   Important

emerge gibt manchmal wichtige Meldungen aus. Lies diese! Besonders nachdem zu perl oder python aktualisiert hast