» SelfLinux » Systemverwaltung » APT Howto » Abschnitt 6 SelfLinux-0.12.1
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter

SelfLinux-Logo
Dokument APT Howto  Autoren
 Formatierung
 GFDL
 

6 Das Arbeiten mit Quellpaketen


6.1 Herunterladen von Quellpaketen

In der Welt der freien Software ist es üblich, den Quellcode zu studieren oder auch Korrekturen an fehlerhaftem Code vorzunehmen. Um dieses zu tun, muss der Quellcode des Programms heruntergeladen werden. Das APT-System bietet eine einfache Möglichkeit, den Quellcode der vielen Programme der Distribution einschließlich aller für das Erstellen eines .deb des Programms nötigen Dateien zu beziehen.

Eine andere übliche Anwendung für Debian-Quellen ist es eine aktuellere Version eines Programms aus der Distribution unstable zum Beispiel in stable zu benutzen. Das Paket gegen stable zu kompilieren erzeugt ein Paket mit Abhängigkeiten, die auf die Pakete aus stable ausgerichtet sind.

Hierfür sollte der deb-src-Eintrag in Ihrer /etc/apt/sources.list auf unstable zeigen. Er sollte ausserdem aktiviert sein, d.h. eventuelle Kommentarzeichen vor der Zeile müssen entfernt werden (siehe Abschnitt  Die Datei /etc/apt/sources.list).

Um ein Quellpaket herunterzuladen, benutzen Sie folgendes Kommando:

root@linux # apt-get source Paketname

Drei Dateien werden daraufhin heruntergeladen: ein .orig.tar.gz, ein .dsc und ein .diff.gz. Im Falle von Paketen, die speziell für Debian erzeugt wurden, fällt das letzte weg und das erste hat kein orig im Namen.

Die Datei .dsc wird von dpkg-source benutzt, um das Quellpaket in das Verzeichnis Paketname-Version zu entpacken. In jedem heruntergeladenen Quellpaket befindet sich ein Verzeichnis debian/, welches die für das Bauen des .deb-Paketes nötigen Dateien enthält.

Um das Paket beim Herunterladen automatisch zu erzeugen, fügen Sie einfach -b zur Kommandozeile hinzu:

user@linux $ apt-get -b source Paketname

Wenn Sie sich dazu entscheiden, das Paket noch nicht beim Herunterladen zu erzeugen, können Sie dieses später nachholen mittels

user@linux $ dpkg-buildpackage -rfakeroot -uc -b

in dem Verzeichnis, welches für das Paket nach dem Herunterladen erstellt wurde. Um das zuvor erzeugte Paket zu installieren, muss man den Paketmanager direkt einsetzen:

root@linux # dpkg -i Datei.deb

Es besteht ein Unterschied zwischen der Methode apt-get source und den anderen Methoden von apt-get. Die source-Methode kann von normalen Benutzern ohne Root-Rechte benutzt werden. Die Dateien werden in das Verzeichnis heruntergeladen, aus dem das apt-get source Paket aufgerufen wurde.


6.2 Für das Kompilieren eines Quellpaketes nötige Pakete

Normalerweise müssen sich spezielle Bibliotheken auf dem System befinden, um ein Quellpaket zu kompilieren. Alle Quellpakete haben ein Feld mit Namen Build-Depends in ihrer Kontrolldatei, welches die Namen der zusätzlichen Pakete enthält, die für das Erzeugen des Paketes aus dem Quellcode nötig sind.

APT bietet eine einfache Möglichkeit diese Pakete herunterzuladen. Führen Sie einfach apt-get build-dep Paket aus, wobei Paket für den Namen des Pakets, welches Sie erzeugen wollen steht. Beispiel:

root@linux # apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev
libgnorba-dev
  libgpmg1-dev
0 packages upgraded, 7 newly installed, 0 to remove and 1  not upgraded.
Need to get 1069kB of archives. After unpacking 3514kB will be used.
Do you want to continue? [Y/n]

Die Pakete, die hier installiert werden, werden gebraucht, um gmc korrekt zu erzeugen. Beachten Sie jedoch, dass dieses Kommando sich nicht um das Quellpaket selbst kümmert, welches Sie bauen möchten. Sie müssen hierfür zusätzlich apt-get source ausführen.

Falls Sie nur feststellen möchten, welche Pakete zum Bau eines bestimmten Paketes benötigt werden, ist eine Variante des Kommandos apt-cache show (siehe  Informationen über Pakete), die neben anderer Information die Zeile Build-Depends aufführt, die ihrerseits die erforderlichen Pakete auflistet.

root@linux # apt-cache showsrc Paket


zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter