SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Entwicklung

Einführung

SliTaz bietet Entwicklungswerkzeuge zur Gestaltung von Webseiten, Bearbeitung von Kommandoprozeduren und Quellprogrammen. Bei http://www.slitaz.org/de/devel/ gibt es allgemeine Informationen über die Entwickler und über Möglichkeiten, einen Beitrag zu leisten.

Kommandoprozeduren

Kommandoprozeduren zu schreiben ist der einfachste Einstieg in die Programmierung, da man schnell Resultate sieht und die einzige Voraussetzung die Fähigkeit ist, ein Terminal zu öffnen und einen Texteditor wie Nano, Leafpad oder Geany benutzen zu können. Mit Kommandoprozeduren können viele Aufgaben in einem GNU/Linux-System ausgeführt werden, wie etwa Systeminitialisierung, Datensicherungen, sich wiederholende Aufgaben, Systeminformationen anzeigen, Dateien erzeugen oder modifizieren usw. In Kommandoprozeduren können Variablen, Funktionen oder Aufrufe zum Einbeziehen einer anderen Datei verwendet werden. Der Name von Kommandoprozeduren ist beliebig, aber die Verwendung der Endung .sh ist weit verbreitet.

Eine Kommandoprozedur erzeugen

Vor Erstellung einer neuen Kommandoprozedur muss entschieden werden, welcher Kommandointerpreter verwendet werden soll. In den meisten Kommandoprozeduren wird /bin/sh verwendet, da dies die Portabilität erhöht, aber es gibt auch Kommandoprozeduren, die /bin/bash voraussetzen, welches dann auf diesem System installiert sein muss. Damit eine Kommandoprozedur zum Ablauf gebracht werden kann, muss die Datei durch Ändern der Berechtigungen mit dem Kommando chmod ausführbar gemacht werden.

Mit den folgenden Kommandos wird eine Kommandoprozedur script.sh erzeugt und ausführbar gemacht:

 $ touch script.sh
 $ chmod +x script.sh

Diese ausführbare Datei muss nun aber noch mit Inhalt gefüllt werden. Die Datei kann mit dem Texteditor Nano (im Textmodus) oder mit dem Texteditor Beaver (im Grafikmodus) bearbeitet werden:

 $ nano script.sh
 Oder:
 $ beaver script.sh &

Es folgt ein Beispiel für eine Kommandoprozedur, die eine Variable NAME enthält und deren Inhalt für die Ausgabe mit dem Kommando echo benutzt:

#!/bin/sh
NAME="kayam"
echo "$NAME ist nett."

Nach Erstellung oder Änderung der Kommandoprozedur script.sh kann diese ausgeführt werden mit:

 $ ./script.sh 

Soweit diese kurze Einführung in Kommandoprozeduren. Über das Internet sind zahlreiche weitere Informationen über Kommandoprozeduren verfügbar.

Dialog

Mit dialog kann Konsolen eine grafische Oberfläche aufgesetzt werden. Dies wird z.B. von der SliTaz-Installationsprozedur genutzt. Die Konfigurationsdateien befinden sich im Verzeichnis /etc/dialogrc bzw. ~/dialogrc für jeden Benutzer. Es folgt ein einfaches Beispiel für den Einsatz von dialog von Konsole oder Terminal:

 $ dialog --title "Hello $USER" \
   --msgbox "Message made by dialog." 5 54 

In dem Verzeichnis sample im Quellcodeverzeichnis von dialog befinden sich zahlreiche Beispielprozeduren. Der Quellcode ist erhältlich bei http://invisible-island.net/dialog/dialog.html. Transferieren und entpacken mit:

 $ wget ftp://invisible-island.net/dialog/dialog.tar.gz
 $ tar xzf dialog.tar.gz

Beaver

Beaver ist ein einfacher und schneller Editor für Quellprogramme mit Syntaxhervorhebung. Die Einstellungen des Programms können über das Menü Bearbeiten geändert werden. Beaver kann über das Menü Entwicklung → Beaver Code Editor oder (in einem X-Terminal) mit dem Kommando

 $ beaver & 

gestartet werden.

Geany IDE

Geany ist eine integrierte Entwicklungsumgebung (IDE). Sie ist einfach und klein und bietet Syntaxhervorhebung, Reiter und Selbstvervollständigung.

Geany starten

Geany kann auf SliTaz mit

# tazpkg get-install geany

installiert werden.

Die Einstellungen können über das Menü Bearbeiten → Einstellungen geändert werden. Geany kann mit dem Kommando

$ geany &

gestartet werden.

Anmerkung: Bei der Übersetzung von Quellprogrammen gibt es die Möglichkeit, die Option enable-the-force in einer ./configure-Prozedur anzugeben, falls es nötig sein sollte, ein Jedi-Ritter zu werden!

Perl und Microperl - Perl-Programme erstellen und ausführen

Die mächtige Sprache Perl steht auf SliTaz über die Programme perl und microperl zur Verfügung. Microperl ist eine stromlinienförmige Version von perl, die aus den offiziellen Quellen übersetzt wurde. Perl-Programme, die mit Microperl laufen, sind kompatibel mit der Vollversion von Perl. Eine der Stärken von Perl ist seine Portabilität: Es kann auf jedem System eingesetzt werden und da es ein Interpreter ist, wird ein Perl-Programm nicht übersetzt, sondern direkt zum Ablauf gebracht. Auf der SliTaz-„LiveCD“ sind Perl und Microperl standardmäßig nicht installiert. Sie können in ein eigenes ISO-Abbild gebracht oder mit der Paketverwaltung installiert werden. Zur Beachtung: Microperl ist nur 1 MB groß und enthält keine Module:

 # tazpkg install perl
 oder:
 # tazpkg install microperl

Hallo Welt! - Beispiel

Diese Prozedur soll „Hallo Welt!“ ausgeben. Die Datei hello.pl wird erzeugt, ausführbar gemacht und mit Beaver bearbeitet. Diese Datei hat zwar die Endung .pl, kann aber beliebig (auch ohne die Endung .pl) benannt werden.

 $ touch hello.pl
 $ chmod +x hello.pl
 $ beaver hello.pl &

Die erste Zeile einer Perl-Prozedur enthält den Pfadnamen des Perl-Interpreters, normalerweise /usr/bin/perl. Zur Ausgabe von Text dient die Anweisung print. Perl unterscheidet zwischen Groß- und Kleinschreibung. Jede Anweisungszeile sollte mit einem Semikolon beendet werden. Hier das Beispiel:

#!/usr/bin/perl
#
print "Hallo Welt!\n";

Ausführen mit:

 $ ./hello.pl 

CGI-Prozeduren und Perl

CGI-Prozeduren sind dazu vorgesehen, dynamisch aufgebaute Webseiten anzuzeigen. Perl zusammen mit dem Web-Server LightTPD ermöglicht die Nutzung von CGI-Prozeduren über „public space“ oder virtuelle Hosts. Perl ist konform mit Web 2.0 und kann xHTML-Seiten erzeugen. Wenn auf SliTaz in Perl geschriebene CGI-Prozeduren genutzt werden sollen, muss Perl oder Microperl installiert und der Web-Server LightTPD konfiguriert sein. Standardmäßig können Kommandoprozeduren (mit der Endung .sh) in dem Verzeichnis cgi-bin abgelegt werden.

Bei geeigneter Konfigurierung des Web-Servers können CGI-Prozeduren im Verzeichnis $HOME/Public/cgi-bin mit den Endungen .pl oder .cgi abgelegt werden und lokal oder von ferne angesehen werden. Beispiel für eine CGI-Prozedur in Perl:

#!/usr/bin/perl
#
print "content-type : text/html\n\n";
print "Hallo Welt!\n";

Python

Die Programmiersprache Python ist als Paket verfügbar. Zusammen mit dem Web-Server LightTPD können damit CGI-Anwendungen realisiert werden, wenn der Web-Server sorgfältig konfiguriert ist. Die offiziellen Mercurial-Depots von SliTaz sind Python-CGI-Anwendungen, passend zu einem zuverlässigen und robusten Produkt.

Python kann auf SliTaz mit

 # tazpkg get-install python 

installiert werden.

Ruby

Die Programmiersprache Ruby ist als Paket verfügbar. Ruby ist (Zitat von der offiziellen Internetpräsenz): “A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write”. Ruby behandelt Ausnahmen („exceptions“), unterstützt objektorientierte Programmierung (OOP), automatische Speicherverwaltung und ist in hohem Maße portabel.

Ruby kann auf SliTaz mit

 # tazpkg get-install ruby 

installiert werden.

Toolchain - Bibliotheken, C-Übersetzer und weitere Werkzeuge

Zur Übersetzung von Quellprogrammen werden mindestens die Basiswerkzeuge Binutils, Glibc, C-Übersetzer, „Kernel headers“ und Make benötigt. Mit diesem Werkzeugkasten erzeugen die SliTaz-Entwickler das ganze System aus dem Quellcode.

Toolchain mit allen benötigten Paketen kann auf SliTaz mit

 # tazpkg get-install slitaz-toolchain 

installiert werden.

Damit können dann Basisanwendungen im Textmodus problemlos mit dem Kommandointerpreter „Busybox Ash“ übersetzt werden, wohingegen einige andere Pakete Bash benötigen. GNU Bash und andere Entwicklungswerkzeuge wie Flex, M4, Bison und Pkg-config sind als Pakete verfügbar. Das Paket pkg-config kann z.B. mit

 $ tazpkg search pkg-config 

gesucht werden.

Wenn Quellprogramme übersetzt werden sollen, die die Ncurses-Bibliothek benötigen, muss das Paket ncurses-dev installiert werden. Das Paket ncurses enthält auch einige kleine Programme wie tic und tac:

 $ tazpkg search ncurses