Difference between revisions of "De:HOWTO: The Complete Portage Guide"

From Sabayon Wiki
Jump to: navigation, search
m (zurück hinzugefügt)
(No difference)

Revision as of 12:43, 21 June 2010

i18n: ca de en es fr
<-- Zurück

Vorwort

TODO: Glossar etc.

Installieren von Programmen

Um ein einzelnes Programm zu installieren, muss in einer Root-Konsole emerge <Paketname> eingegeben werden, wobei <Paketname> für den exakten Namen des Paketes steht.

Oft ist dies jedoch nicht die beste/einfachste/am besten funktionierende Methode. In diesem Artikel werden die Einzelheiten des Paketsystems besprochen.

Die nächsten zwei Absätze enthalten Installationsmethoden, die nur in seltenen Fällen empfohlen wird! Generell sollte der Paketmanager benutzt werden!

Windowsprogramme

Um ein Windows-Programm mittels WINE zu installieren, muss in einem Terminal (nicht als root) wine /Pfad/zur/Installationsdatei.exe eingegeben werden. Bei der Eingabe des Pfades muss dabei beachtet werden, dass Leerzeichen ein Backslash vorangestellt werden muss ('\ '). Alternativ kann der ganze Pfad in Anführungszeichen gesetzt werden.

Installation aus Quellcodes

Die folgenden Schritte zur Installation sind relativ universell und funktionieren nicht immer, für viele Fälle gelten andere Schritte, die sie entweder mit Google oder etwas herumprobieren herausfinden können.

  1. Sie laden den Quellcode mittels wget (im Terminal) oder Firefox herunter.
  2. Sie extrahieren die Dateien (oft als .tar.gz oder .tar.bz2 vorhanden) entweder mit tar (im Terminal) oder mittels Ark oder File-roller.
  3. Sie kopieren den Ordner mit den Dateien nach /usr/local/src, entweder mit cp -R(in einem Root-Terminal) oder mit Konqueror oder Nautilus (ebenfalls als Root).
  4. Lesen sie sich die README und INSTALL in dem Verzeichnis in /usr/local/src durch.
  5. Wechseln sie mit cd /usr/local/src/Paketname in das erstellte Verzeichnis (Paketname durch den Namen des Verzeichnisses ersetzen).
  6. Wenn in der README oder INSTALL nicht anders angegeben, führen sie, wenn ein configure-Skript existiert, dieses mit ./configure aus. Wenn nicht, lassen sie mittels autoconf eines generieren (dies wird vor allem für Versionen aus CVS oder SVN benötigt). Sollte autoconf fehlschlagen, führen Sie erst libtoolize && autoreconf und dann rm configure && autoconf aus.
  7. Wenn in der README oder INSTALL nicht anders angegeben, und eine Datei 'Makefile' existiert, führen sie nun zum Installieren make && make install aus.
  8. Das Programm sollte nun benutzbar sein.

Dieser Weg ist kompliziert und kann zu Konflikten zwischen verschiedenen Paketen führen, die bevorzugte Methode ist deswegen generell die Benutzung von Portage / emerge:

Portage

Portage ist ein sog. Paketmanagementsystem, mithilfe dessen unter Sabayon und Gentoo Pakete installiert, geupdatet und deinstalliert werden. Portage besteht aus dem Paketbaum ("portage tree"), in dem die Programminformationen als sogenannte Ebuilds verwaltet werden, aus dem Programm "emerge", mit dem Programme (de)installiert werden können, den Konfigurationsdateien von Portage sowie externen Tools für Portage/emerge.

Der "Portage tree" ist eine Kopie der zentralen Paketdatenbank (Repository) in /usr/portage. Wenn Software durch "emerge" installiert wird, wird dieser durchsucht. Wenn ein passendes Paket gefunden wird, werden die Abhängigkeiten des Pakets berechnet, der Quellcode für das Paket und alle Abhängigkeiten heruntergeladen und auf dem Computer kompiliert/installiert.

Ebuilds

Ein Ebuild ist ein Skriptformat (als Bash-Skript realisiert), mit dem als Interface zu Portage paketspezifisch Befehle an emerge gegeben werden. Über einen Ebuild kann die entsprechende Software automatisch kompiliert und installiert werden.

Jede Version jedes Programmes in der Paketdatenbank hat ein eigenes Ebuild-Skript.

Dieses Ebuilt-Skript wird von emerge verwendet, um Abhängigkeiten zu berechnen, die Dateien herunterzuladen (und evtl. zu patchen), entsprechend den USE-Flags zu konfigurieren, zu kompilieren und eine abgesicherte Installation (Sandkastenprinzip, standardmäßig in /var/tmp/portage/<Ebuild-Name>/image/) auszuführen. Wenn diese Schritte erfolgreich ausgeführt wurden, werden die Dateien des Pakets in das laufende System kopiert.

Auch wenn der größte Anteil der Ebuilds Programme aus den Quellcodes installiert, gibt es auch Ebuilds, die fertig kompilierte Programme (Binaries), Dokumentation oder Daten wie zum Beispiel Schriftarten enthalten, oder sogenannte "Metabuilds", die lediglich die Installation von anderen Paketen auslösen (zum Beispiel die Metabuilds für KDE oder Gnome, die jeweils sehr viele Pakete gleichzeitig installieren).

Für eine Anleitung zum Erstellen von Ebuilds lesen Sie sich bitte Gentoo Development Guide: Quickstart Ebuild Guide und Gentoo Development Guide durch.

Emerge

Das Kommandozeilenprogramm emerge ist das Herz von Portage. Das Programm ist sehr komplex und besitzt zahlreiche Einstellungsmöglichkeiten, was es zu dem wichtigsten Programm macht, um die Funktionen von Portage aus der Kommandozeile heraus zu benutzen. Es wurde in der Programmiersprache Python geschrieben.

Das Programm berechnet verwaltet Abhängigkeiten, es führt Ebuilds aus und verwaltet den lokalen "Portage tree" und die Datenbank mit den installierten Programmen. Die Compileroptionen können über die Variable CFLAGS verändert werden, basierend auf der vorhandenen Hardware und gewünschter Optimierung. Dadurch, dass der Installationsprozess zum größten Teil in einem "Sandkasten" abläuft (siehe Abschnitt zu Ebuilds), wird der Computer vor den Programmen, die das Ebuild ausführt, geschützt und die resultierenden Dateien werden nur bei komplett erfolgreicher Kompilierung installiert.

Was emerge als Abhängigkeiten installiert, wird durch die sogenannten USE-Flags definiert: Sie entscheiden, welche Funktionen eines Programmes bei einer Installation oder Aktualisierung installiert werden und lassen so eine feine Anpassung an die eigenen Wünsche zu. Emerge kann auch dazu benutzt werden, binäre (=vorkompilierte) Programme zu installieren, wobei dies wohl nicht die Kraft von Portage ausnutzt, da Optimierungen, die beim Kompilieren angewandt werden können, hier größtenteils entfallen.

Grundlagen

Die meisten der folgenden Flags/Optionen können miteinander gemischt werden. Emerge funktioniert als Root am besten. Für mehr Informationen lesen Sie sich die entsprechende Manpage durch (man emerge).

Synchronisieren von Portage / Aktualisieren der Paketdatenbank

emerge --sync

Dieser Befehl aktualisiert den Portage-Tree durch Synchronisieren mit den Online-Servern. Sie wollen normalerweise diesen Befehl vor jeglicher Installation von Paketen ausführen, damit immer die neusten Daten benutzt werden. Um alle Overlays zu aktualisieren, führen Sie

layman -S

aus. Mehr dazu in #Overlays & layman.

Installieren von Paketen

 # emerge <Paketname>  

oder

 # emerge =Paketkategorie/Paketname-Version  


(=Paketkategorie/Paketname-Version ist auch bekannt als: gültige Paketbezeichnung [eng.: valid package atom])

Befehl zum installieren oder aktualisieren / Installation einer Vorgängerversion

 # emerge -u <Paketname>  

oder

 # emerge -u =Paketkategorie/Paketname-Version  

Dieser Befehl aktualisiert ein Paket zu der stabilsten Version, nicht zwangsläufig zur neusten.

Es gibt mehr als 11000 Pakete in Portage. Unten abgebildet sind einige gültige Paketbezeichnungen, die installiert werden können.

   * www-client/mozilla-firefox-3.6.3-r11
   * net-fs/samba-3.5.2-r1
   * media-video/mplayer-1.0_rc4_p20100213-r1
   * app-emulation/wine-1.1.43
   * media-gfx/inkscape-0.47


Pakete können auch auf folgender Internetseite angesehen werden:

http://packages.gentoo.org/ (offiziell)

oder

http://gentoo-portage.com/

Natürlich kannst du auch nur den Paketnamen angeben, z.B.: mozilla-firefox, samba, mplayer, wine oder inkscape.

<-- Zurück