Ein Build-chroot für Debian Source Packages erstellen

Es kommt immer mal wieder vor, dass man auf seinem Debian System ein neues Paket installieren möchte, dessen Compile Parameter für den eigenen Zweck angepasst werden müssen. Debian macht es einem einfach, die Sourcepakete selbst zu compilen. Wer zum Compilen jedoch nicht sein System mit im späteren Betrieb unnötigen Build Dependencies verunreinigen möchte, kann sich dazu einfach ein Chroot erstellen, in dem er die Pakete bauen kann und es bei Bedarf danach einfach wieder entsorgt.

Schritt 1:

Ein paar Dependencies sind nötig – können anschließend jedoch wieder entfernt werden.

 apt-get install debootstrap
Schritt 2:

Als Beispieldistribution verwende ich wheezy. Für eine andere einfach wheezy durch den Namen der Distribution ersetzten, z.B. unstable oder sid.

 cd /usr/src
 sudo mkdir build-system-wheezy
 sudo debootstrap wheezy ./build-system-wheezy http://http.debian.net/debian/
Schritt 3:

Konfiguration des chroots. Das chroot wird später wie ein eigenständiges Debiansystem verwendet, daher müssen grundlegende Einstellungen, wie z.B. Mountpoints und Debian mirrors in /etc/apt/sources.list vorgenommen werden:

 sudo cp /etc/apt/sources.list build-system-wheezy/etc/apt/sources.list
Schritt 4:

Mountpoints setzen und ins Chroot einsteigen

 sudo mount proc /usr/src/build-system-wheezy/proc -t proc
 sudo mount sysfs /usr/src/build-system-wheezy/sys -t sysfs
 sudo cp /proc/mounts /usr/src/build-system-wheezy/etc/mtab

 sudo chroot ./build-system-wheezy /bin/bash

Wir befinden uns jetzt im Chroot und können hier nach belieben Pakete installieren und uns austoben ohne Auswirkung auf das Hauptsystem. Um wieder ins Hauptsystem zurückzukehren, reicht ein einfaches exit.

Zunächst bringen wir apt auf den aktuellsten Stand, da wir ja /etc/apt/sources.list vom Hauptsystem kopiert hatten. Ausserdem installieren wir einige grundsätzliche Pakete, die wir zum bauen von Paketen benötigen.

 apt-get update
 apt-get install build-essential

Jetzt kann es losgehen. Weiter gehts in Part 2: Debian Source Paket mit eigenen Parametern kompilieren

1 thought on Ein Build-chroot für Debian Source Packages erstellen

  1. Pingback Debian Source Paket mit eigenen Parametern kompilieren | kef's blog

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.