Difference between revisions of "Install/de/Portage"

(started. now have to eat lunch haha)
 
(completed)
Line 2: Line 2:
 
{{InstallPart|an introduction to Portage}}
 
{{InstallPart|an introduction to Portage}}
 
</noinclude>
 
</noinclude>
=== Einfuehrung in Portage ===
+
=== Einführung in Portage ===
Portage, der Paketmanager fuer Funtoo Linux hat einen Befehl <code>emerge</code> welcher benutzt wird um Pakete aus ihrem Quellcode zu bauen und zu installieren.
+
Portage, der Paketmanager für Funtoo Linux hat einen Befehl <code>emerge</code> 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:
 +
 
 +
<console>
 +
(chroot) # ##i##emerge paketname
 +
</console>
 +
 
 +
Wenn ein Paket auf diese Weise installiert wird, speichert Portage den Paketnamen in der Datei  <code>/var/lib/portage/world</code> 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. <code>world</code> ist dabei ein sogenanntes Set. Dadruch das alle Pakete dem <code>world</code> Set hinzuguegt werden kannst du dein gesamtes System mit dem folgenden Kommando aktualisieren:
 +
 
 +
<console>
 +
(chroot) # ##i##emerge --sync
 +
(chroot) # ##i##emerge -auDN @world
 +
</console>
 +
 
 +
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 <code>world</code> Set) aktualisiert werden soll.
 +
Hier eine Aufschlüsselung der verwendeten Optionen:
 +
 
 +
* '''<code>a</code>''' - zeige uns was emerged werden soll, und frage (englisch: ask) uns ob wir einverstanden sind
 +
* '''<code>u</code>''' - aktualisiere (englisch: update) die Pakete, aber emerge sie nicht falls eine keine Aenderungen gibt
 +
* '''<code>D</code>''' - Beachte den kompletten Abhängigkeitsbaum beim aktualisieren. In anderen Worten: Mache ein "tiefes" (englisch: deep) Update
 +
* '''<code>N</code>''' - Aktualisiere alle Pakete welche ein neues (englisch: new) bzw. geänderte USE flags haben
 +
 
 +
Du solltest auch von Zeit zu Zeit die Option <code>--with-bdeps=y</code> mitübergeben. Das dient dazu auch alle build Abhängigkeiten zu aktualisieren.
 +
 
 +
Manchmal möchten wir auch ein Paket installieren es aber nicht zum <code>world</code> 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 <code>emerge</code> folgendermaß en aufgerufen:
 +
 
 +
<console>
 +
(chroot) # ##i##emerge -1 paketname
 +
</console>
 +
 
 +
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.
 +
 
 +
<console>
 +
(chroot) # ##i##emerge --sync
 +
(chroot) # ##i##emerge -auDN @world
 +
</console>
 +
 
 +
{{fancyimportant|1=
 +
<code>emerge</code> gibt manchmal wichtige Meldungen aus. Lies diese! Besonders nachdem zu perl oder python aktualisiert hast}}

Revision as of 12:20, January 27, 2015


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