GISLive Build: Unterschied zwischen den Versionen

Aus FOSSGIS Wiki
Zur Navigation springenZur Suche springen
Zeile 61: Zeile 61:
  openoffice.org
  openoffice.org


==externe Daten/Programme hinzufügen==
==externe Demo-Daten/Programme hinzufügen==
 
==Live-System anpassen==
==Live-System anpassen==
==zusätzliches Debian-Repository einbinden==
==zusätzliches Debian-Repository einbinden==

Version vom 24. Januar 2010, 10:59 Uhr

allgemeine Informationen

Die GISLive-Skripte setzen auf dem Debian-Live-Projekt auf. Damit ist es möglich, automatisiert (also völlig ohne Interaktion) ein auf Debian-Linux basierendes LiveSystem zu erstellen. Ablaufsteuerung und Anpassung des zu erstellenden Systems wird über Shell-Skripte realisiert.

technische Voraussetzungen

Hardware

Der Bauvorgang ist sehr Ressourcen-hungrig. 2 GByte RAM und 20 GByte Festplattenplatz stellen schätzungsweise die Mindestanforderung an den "Build-Server" dar. Allgemein kann man sagen, dass mehr RAM, höhere Prozessorleistung und schneller Plattenzugriff usw. dafür sorgen können, dass die Bauzeit sich deutlich verkürzt (Spanne: mehr als 1h bis zu unter 30min). Selbst mehrere Prozessoren können insbesondere für die Erstellung des speziellen Live-Dateisystems parallel genutzt werden.

Software

Es ist sehr zu empfehlen, dass das Betriebssystem für den Bauvorgang exakt dem Zielsystem auf DVD entspricht (auch wenn das wohl nicht zwingend so sein muss). Zur Zeit wäre dies ein Debian Lenny (32bit, 2.6.26-i686 Kernel). Zusätzlich zur Debian-Standardinstallation sollten u.a. folgende Pakete installiert sein:

  • subversion - zum Aus- und Einchecken der GISLive-Skripte
  • live-helper - Basisskripte
  • syslinux - für die Erstellung eines Angepassten Bootloaders
  • curl - für interne Prüfroutinen
  • sudo
    • Sehr häufig während des Bauvorgangs benötigt man Root-Rechte. Dazu rufen die Skripte an mancher Stelle die Befehle mit einem vorangestellten sudo auf. Der Nutzer, der die Bauskripte startet, sollte also über einen entsprechenden Eintrag in /etc/sudoers verfügen.
  • vim ... oder einen anderen guten Editor

Sehr zu empfehlen ist die Verwendung einer eigenen virtuellen Maschine für den Bauvorgang.

Bau-Skripte und Binärdaten

Die für den Bau benötigten Dateien sind in zwei große Gruppen aufgeteilt:

  • die eigentlichen Bauskripte, inklusive einem Großteil der Konfigurationsdateien und der graphischen Elemente
  • Binärdaten in Form von Beispiel-Geodaten oder Zusatzprogrammen (= das AF-Paket; af = additional files).

Beide Datenpakete müssen für den Bau vorhanden und eingerichtet sein. Die Skripte liegen in einem passwortgeschützten SVN-Verzeichnis auf dem FOSSGIS-Server (derzeit kann ein Zugang dafür bei Lars beantragt werden). Das AF-Paket liegt ebenfalls in einem geschützten Verzeichnis unter http://www.fossgis.de/gislive/afpkg/ .

Paketquellen, Debian-Repository

Alle zum Bau benötigten Debian-Pakete werden automatisch aus dem eingestellten Repository gezogen. Sehr zu empfehlen ist die Einrichtung eines lokalen Debian-Spiegels, wenngleich dies etwas aufwändig einzurichten ist. Der Geschwindigkeitsvorteil ist enorm, da nicht jedes Paket erst aus dem Internet geladen werden muss. Binärpakete werden zwar nach dem ersten Bauvorgang lokal zwischengespeichert ("gecached"), bei den Quellpaketen funktioniert dies allerdings noch nicht. Ausdrücklich gewarnt werden muss vor dem Einsatz von Werkzeugen, wie z.B. apt-cacher. Die Debian-Live-Skripte haben in der unter Lenny verfügbaren Version noch Probleme damit.

Kurzanleitung

Einrichtung

  • Bau-Skripte aus dem SVN ziehen: (bei Problemen bitte an Lars wenden)
# Beispiel fuer aktuelle FOSSGIS-Workshop-DVD
svn co http://www.fossgis.de/svn/gislive/branches/se_workshops
  • passendes AF-Paket vom FOSSGIS-Server laden und auf dem lokalen Build-Server entpacken:
  • ins Skriptverzeichnis wechseln
  • Konfigurationsskript für lokale Anpassungen kopieren (die lokal veränderte setenv.sh ist danach nicht ins SVN zurückzuschreiben!!):
cp setenv.sh-dist setenv.sh
  • Anpassen von setenv.sh (insbes. GL_BUILD_DIR und GL_AF_DIR; Datei ist gut dokumentiert!)
    • Im buildDir wird der Bauvorgang ausgeführt und darin landet auch die finale ISO-Datei. Hier wird der meiste Plattenplatz gebraucht!!
    • das afDir bezeichnet den Ort, an dem das oben erwähnte AF-Paket entpackt wurde
    • die mRepo-Variable sollte auf ein Debian-Repository in eurer Nähe zeigen (oder auf einen lokalen Repository-Spiegel in eurem Netz)
    • die restlichen Variablen müssen nicht unbedingt verändert werden

Ist dies geschehen, sollte der Aufruf ./setenv.sh im Skript-Verzeichnis eigentlich fehlerlos durchlaufen und eine neue Subshell starten, die am veränderte Shellprompt zu erkennen ist:

# Skript-Aufruf:
./setenv.sh
# Shell-Prompt im Build-Environment:
GISLiveEnv:~$

Das setenv-Skript unterstützt die Einrichtung des Buildservers, indem es einige Prüfroutinen durchführt, die zum Beispiel auf fehlerhafte Verzeichnisverweise oder nicht installierte Pakete hinweisen.

Bauvorgang starten

In der Subshell wird der Bauvorgang wie folgt gestartet:

gl_build [-a|-b|-f]
  • für Testversionen kann man -a (AlphaVersion) oder -b (Beta-) angeben
  • bei -f (endgültige Finalversion) wird zusätzlich ein Quelltext-Paket gebaut (Achtung! sehr zeitintensiv!)

Paketauswahl

Sollen weitere Pakete aus dem Standardrepository oder aus den zusätzlichen Repositories ins LiveSystem aufgenommen werden, so ist die Datei gl_edition/templates/additional_debpackages der richtige Ort dafür. Um den Überblick nicht zu verlieren, sollte für jeden Workshop dort eine eigene Liste angelegt werden (Kommentare mit "Doppel-Raute"!!). Bsp:

## mein Workshop:
qgis
qgis-plugin-grass
openoffice.org

externe Demo-Daten/Programme hinzufügen

Live-System anpassen

zusätzliches Debian-Repository einbinden

Die aktuellen Versionen (Stand: 1/2010) nutzen für GIS-Pakete standardmäßig das "gfoss.it"-Repository (http://debian.gfoss.it) sowie die selbstgebauten Pakete unseres Vereins-Repositories (http://www.fossgis.de/gislive/debian). Sind zusätzliche Repositories nötig, so können diese in der Datei gl_edition/templates/additional_repositories eingetragen werden (Format: wie in /etc/apt/sources.list üblich).

FAQ