Sie sind auf Seite 1von 48

freiesMagazin April 2009

Topthemen dieser Ausgabe

Openmoko – Free your phone Seite 4


Openmoko steht für offene Mobilkommunikation und hat das Ziel, eine offene Smartphoneplattform zu schaffen.
Bereits 2006 wurde das Openmoko-Projekt von der taiwanesischen Firma First International Computing (FIC)
vorgestellt. Heute sind bereits Lösungen zur Nutzung von Technologien wie Assisted GPS (AGPS) oder die Or-
tung mittels Handynetz (GSM) in Aussicht. Die unterschiedlichen verfügbaren Images bieten dem Nutzer bereits
jetzt eine große Auswahl. (weiterlesen)

Das Dateisystem ext4 Seite 11

Zweieinhalb Jahre nach seiner ersten Ankündigung ist das neue Dateisystem ext4 bereit für den breiten Einsatz.
Hier nun ein erster Blick auf seine Features und die Leistung des neuen Dateisystems. Außer Konkurrenz erfolgt
auch eine erste Geschwindigkeitsmessung von btrfs. (weiterlesen)

Programmieren in KBasic – Eine kurze Einführung Seite 21


Die Sprache KBasic ist eine leistungsfähige Programmiersprache, die einfach und intuitiv zu erlernen ist. Es ist
eine neue Programmiersprache ähnlich zu VB.NET und Visual Basic 6. KBasic ist 100 % syntaxkompatibel zu
VB6 und QBasic. Außerdem unterstützt KBasic VB.NET direkt durch Funktionen, ähnliche Objekte und Klassen.
Dabei ist es aber kein VB-Klon! Es handelt sich um eine voll funktionsfähige, objektorientierte Sprache, die die
modernen Programmiertechniken mit eigenen Objekten und Ereignissen unterstützt. Der Artikel soll eine kleine
Einführung in die Sprache geben. (weiterlesen)

© freiesMagazin GNU FDL Ausgabe 04/2009 ISSN 1867-7991


M AGAZIN

Editorial
Seid fruchtbar und mehret Euch . . .
Obschon dieses Bibelzitat (1. Buch Mose, Kapi- freiesMagazin war letzten Monat auch sehr Inhalt
tel 1, Vers 28) auch auf die heutige Zeit im Sinne gefragt, denn es gab gleich zwei Interviews
von „Make Love, Not War!“ zutrifft, wollen wir da- mit Dominik Wagenführ. Zum einen hat er Da- Linux allgemein
mit eher auf die Vermehrung im freiesMagazin- niel Schneider von der Linux-Seite Pinguin- Openmoko – Free your phone S. 4
Team hinweisen – auch wenn diese mehr in or- zubehör [2] Rede und Antwort gestanden. gNewSense – Das freie Ubuntu S. 8
ganisatorischer als biologischer Form war. freiesMagazin ist dort nicht allein zu Wort ge- Das Dateisystem ext4 S. 11
kommen, sondern es wurden auch andere Maga- Ein Tuz für den Kernel S. 18
Unserem Aufruf letzten Monat nach mehr Unter- zine wie Yalm oder Magdriva zu einigen Themen
stützung [1] sind zahlreiche Menschen gefolgt. befragt [3]. Zum anderen wurde Dominik Wagen- Software
Als Resultat konnten wir die zwei neuen Setzer führ von Mario Heide von pofacs.de [4] („Pod- Programmieren in KBasic S. 21
Ekkehard Hollmann und Dominik Honnef sowie cast für alternative Computersysteme“) befragt Installation von KBasic S. 26
die drei neuen Korrektoren Raoul Falk, Stephan und plauderte etwas aus dem Nähkästchen [5]. Datensammlung mit Tellico S. 29
Hochhaus und Karsten Schuldt gewinnen. Wir Kurztest: Etherpad S. 32
wünschen den Neuen viel Erfolg und hoffen, dass Wie in der letzten Ausgabe bei der Auswer-
sie Spaß bei uns haben werden! tung der freiesMagazin-Umfrage angekündigt, Community
haben wir die Artikelwunschliste der Leser ver- Linux-Unterstützung: DVD-Brenner- S. 34
Und so freudig die Nachricht auch ist, müssen öffentlicht [6]. Nach Bereichen sortiert finden Update
auch ein paar Tränen vergossen werden, denn Sie dort alle Themen, zu denen die Leser von Rückblende zur CeBit 2009 S. 37
Eva Drud hat als Gründerin von freiesMagazin freiesMagazin beziehungsweise die Umfrage- Rezension: Coding for Fun S. 38
das Team verlassen. Aufgrund zeitlicher Über- teilnehmer gerne etwas lesen würden. Wenn
schneidungen konnte sie leider nicht mehr wie Sie also als Autor bei freiesMagazin tätig wer- Magazin
bisher mitarbeiten und hat daher ihren Posten den wollen und noch nicht genau wissen, wor- Editorial S. 2
als „Chefin“ des Magazins freigegeben. Ihre Ar- über Sie etwas schreiben sollen, schauen Sie freiesMagazin-Programmierwettbewerb S. 41
beit übernimmt nun Dominik Wagenführ, der in doch einmal in die Wunschliste. Vielleicht fin- Leserbriefe S. 45
der Vergangenheit schon des öfteren die Redak- den Sie ein Thema, was Sie interessiert. Wenn Veranstaltungen S. 47
tionsaufgaben übernommen hatte. Das gesamte ja, schicken Sie uns Ihren Artikelentwurf an Konventionen S. 47
freiesMagazin-Team möchte sich bei Eva bedan- redaktion@freiesmagazin.de. Natürlich freuen Vorschau S. 47
ken – vor allem weil sie grundlegend dafür verant- wir uns auch immer über Artikel, die (noch) nicht Impressum S. 48
wortlich ist, dass es das Magazin überhaupt gibt. auf dieser Liste stehen.
Wir wünschen Dir alles Gute für die Zukunft!

© freiesMagazin GNU FDL Ausgabe 04/2009 2


M AGAZIN

Dem Wunsch nach mehr Artikeln zu Program-


miersprachen, Linux-Interna und Openmoko sind
wir diesen Monat sogar gleich nachgekommen.
Unsere drei Topthemen decken diese Gebiete ab,
aber natürlich finden Sie noch zahlreiche andere
Themen in dieser Ausgabe von freiesMagazin.

Und da das Thema Programmieren ganz oben


auf der Wunschliste vieler Leser stand, wollen wir
genau diese herausfordern. Aus diesem Grund
haben wir einen kleinen Programmierwettbewerb
gestartet, bei dem es darum geht, eine Künstli-
che Intelligenz (also das Verhalten des Compu-
tergegners) für ein simples Spiel zu programmie-
ren. Als kleiner Anreiz winkt dem Sieger mit dem
stärksten Programm ein 25-Euro-Gutschein [7].

Und nun wünschen wir Ihnen viel Spaß mit der


neuen Ausgabe
Ihre freiesMagazin-Redaktion

L INKS
[1] http://www.freiesmagazin.de/20090228-
freiesmagazin-sucht-mithilfe
[2] http://www.knetfeder.de/linux/
[3] http://www.freiesmagazin.de/090310-freies
magazin-im-interview
[4] http://www.pofacs.de/
[5] http://www.freiesmagazin.de/090312-freies
magazin-im-interview-2
[6] http://www.freiesmagazin.de/20090328-
artikelwunschliste-veroeffentlicht
[7] http://www.freiesmagazin.de/090401-pro
grammierwettbewerb-gestartet „Listen to Yourself“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/481

© freiesMagazin GNU FDL Ausgabe 04/2009 3


M OBIL

Openmoko – Free your phone von Florian Schweikert

penmoko [1] steht für offene Mobil- Hardware über WLAN und einen Grafikchip mit 3-D-

O kommunikation und hat das Ziel, ei-


ne offene Smartphoneplattform zu
schaffen. Bereits 2006 wurde das Openmoko-
Bei Openmoko ist nicht nur die Software frei ver-
fügbar, sondern auch die Schalt- und Gehäuse-
pläne [3].
Beschleunigung. Der auf 400 MHz getaktete
ARM-Prozessor stellt ausreichend Rechenleis-
tung zur Verfügung. Der interne Flashspeicher
Projekt von der taiwanesischen Firma First wurde auf 256 MB aufgestockt. Einige Schwach-
International Computing (FIC) [2] vorgestellt. Neo1973 punkte des Neo1973 wurden mit Einführung der
Heute sind bereits Lösungen zur Nutzung Das erste Modell Neo1973 (oder GTA01) [4] Freerunners nicht behoben. Beispielsweise un-
von Technologien wie Assisted GPS (AGPS) konnte ab Mitte 2007 bestellt werden, welches terstützt auch das GTA02 lediglich USB 1.1 und
oder die Ortung mittels Handynetz (GSM) in allerdings nur für Entwickler gedacht war. Das kann auch das mobile Breitbandinternet UMTS
Aussicht. Die unterschiedlichen verfügbaren Neo1973 verfügt über einen hochauflösenden nicht nutzen.
Images bieten dem Nutzer bereits jetzt eine 2,8-Zoll-Touchscreen und eine (recht langsame)
große Auswahl. 266-MHz-ARM-CPU [5] von Samsung, wie sie
auch in vielen anderen Smartphones zu finden
ist. Es bietet 128 MB RAM, aber nur 64 MB
internen Flashspeicher. Eine Besonderheit des
GTA01 war der GPS-Chip zur Positionsbestim-
mung, welcher zur damaligen Zeit keine Selbst-
verständlichkeit war. Dieses Modell hatte aller-
dings zunächst Probleme mit der Energieverwal-
tung, sodass eine lange Standbyzeit nicht mög-
lich war.

Neue Neo1973 sind inzwischen nicht mehr er-


hältlich, es werden aber immer wieder gebrauch-
te Geräte in Auktionshäusern gesichtet.

NeoFreerunner
Ein Jahr nach dem ersten Modell folgte mit dem
NeoFreerunner [6] ein Gerät, welches auch für
weniger erfahrene Linux-User interessant ist. Ne-
ben GPS, Beschleunigungssensoren und Lage-
Der Nachfolger des Neo1973.
sensor verfügt es im Gegensatz zum Neo1973
© Coolcat (GFDL)
Neo1973. © MookiE, Sean (GFDL)

© freiesMagazin GNU FDL Ausgabe 04/2009 4


M OBIL

Glossar GTA04
AGPS: GPS berechnet aus den Positionen von Satelliten und den Signallaufzeiten zur Erde die Position des Bis GTA03 erscheint, dauert es zwar noch ein
Empfängers. „Assisted Global Positioning System“ kann die Zeit bis zur ersten Positionsbestimmung verkür- wenig, dennoch wird schon über den Nachfol-
zen, indem es die Satellitenpositionen und Bahndaten über das Mobilfunknetz holt. ger nachgedacht. Das GTA04 [10] soll ähnliche
Edge: „Enhanced Data Rates for GSM Evolution“ verwendet statt der bei GPRS üblichen Frequenzmo- Features bieten wie der Vorgänger, es soll aber
dulation die effizientere Phasenmodulation. Dadurch erhöht sich die theoretische Übertragungsrate von auf einem anderen System-on-a-Chip (SoC) ba-
171,2 kbit/s auf maximal 473 kbit/s. Typischerweise erreicht ein Edge-fähiges Gerät 220 kbit/s. Die Weiter- sieren. Laut Vermutungen soll GTA04 3G und
entwicklung EDGE Evolution verringert die Latenz stark und hat eine theoretische Maximalübertragungsrate USB 2.0 unterstützen, auch die Wiedereinfüh-
von 1 MBit/s. Diese Entwicklung ist teilweise rückwärtskompatibel. rung eines Grafikchips ist möglich.

Als Flaschenhals erwies sich die Grafikeinheit, und können nicht mit normalen Stiften verwendet Andere Hardware
da sie zusammen mit dem microSD-Slot an werden. Die Software von Openmoko ist auf einigen wei-
einem zu schmalen Bus angeschlossen wur- teren Geräten [11] lauffähig, meistens funktio-
de. Somit ist es nicht möglich, Videos in vol- Von offizieller Seite gibt es allerdings nur we- niert sie dort jedoch nur eingeschränkt.
ler VGA-Auflösung mit annehmbarer Framerate nige konkrete Aussagen über das neue Modell.
abzuspielen. Ein anderes Problem sind GSM- Die Openmoko-Community hofft aber auf die ers- Die Dash Express (HXD8) Hardware [12] wur-
Störgeräusche, die bei Handynetzen mit schlech- te „endbenutzerfreundliche“ Version, wobei dafür de von Openmoko für die Firma Dash entwickelt
ter Netzabdeckung auftreten. noch an der Software gefeilt werden muss. und verwendet ähnliche Bauteile wie die Neo-
Smartphones.
GTA03
Noch in diesem Jahr sollte ein neues Gerät mit Software
GPRS-Beschleunigung Edge und einer Kame- Softwaremäßig lief bei Openmoko anfangs alles
ra folgen [7]. Der 3-D-Grafikchip sollte wieder sehr konfus ab. Ende 2006 wurde die erste Ver-
entfernt werden, wobei der 667-MHz-Samsung- sion des Openmoko-Betriebssystems veröffent-
Chip über integrierte Grafikbeschleunigung ver- licht, als Toolkit wurde GTK gewählt. Wegen der
fügt. Dass das GTA03 ein neues Gehäusedesign schwierigen manuellen Bedienung folgte bereits
bekommt, ist bereits fix. Wann es aber wirklich Anfang 2007 eine überarbeitete Version.
kommt, ist unklar, zumal die Entwicklung vorläu-
fig eingestellt wurde [8]. Parallel wurde Qtopia [13], die Distribution der
Firma Trolltech, die inzwischen von Nokia über-
Es wird vermutet, dass das GTA03 über einen nommen wurde, auf die Openmoko-Plattform
kapazitiven Touchscreen [9] verfügen wird, was portiert. Sie beherrscht zwar alle wichtigen
in Foren noch für Diskussionen sorgt. Kapazitive Grundfunktionen und verfügt über eine schnelle
Dash verwendet Openmoko-Hardware.
Touchscreens sind zwar äußerst robust, verfü- Oberfläche, da die GUI komplett im Framebuffer
© Ryan Grove (CC-BY-NC-SA)
gen aber über eine eingeschränkte Genauigkeit

© freiesMagazin GNU FDL Ausgabe 04/2009 5


M OBIL

läuft und kein „X Window System“ [14] ã Remoko [21] – Remoko meldet sich als
vorhanden ist, jedoch gibt es kaum Soft- Bluetooth-Eingabegerät und erzeugt Tasten-
ware für das System. kombinationen.
ã Black Sheep [22] – Leute, die schwer ein-
Später folgte wiederum das April/
schlafen, können nun auch am Neo Schafe
August-Software-Update (ASU) [15],
zählen.
welches Enlightment und Qtopia-
Programme einsetzt. Es stellte eine Ver-
In den folgenden Ausgaben von freiesMagazin
besserung dar, ließ aber noch Wünsche
werden genauere Vorstellungen folgen. Wer nicht
offen. Es verfügt zwar über eine große
so lange warten will, kann auch opkg.org [23]
Auswahl von installierbaren Paketen,
durchstöbern.
von denen aber nur wenige direkt nach
der Installation des Updates bereits vor-
handen sind.
Andere Images
Android
Numptyphysics’ Hauptmerkmal ist die Physik-Engine.
Die Zukunft? FSO! Ein anderes interessantes Projekt ist die Portie-
© Qole Tech (CC-BY)
Die Zukunft des Projektes liegt in der rung von Android [24]. Hierbei besteht das Pro-
in Python geschriebenen freesmartphone.org- Zum Einsatz kommt FSO in SHR, Debian, FYP blem darin, dass die Android-Plattform für neue-
Middleware FSO [16]. FSO ermöglicht eine ein- und weiteren Distributionen. re Generationen des ARM-Prozessors entwickelt
fache Verwendung der Hardware über dbus. So wurde. Die aktuelle Version des Port (beta3)
ist es möglich, dass sich GPS automatisch ein- Anwendungen kann Anrufe tätigen/empfangen, sich mit einem
bzw. ausschaltet wenn eine Anwendung darauf Eine Vorstellung aller Anwendungen würde den WLAN-Netz verbinden und den GPS-Chip nut-
zugreift. Außerdem können Technologien wie As- Rahmen dieses Artikels sprengen, deshalb wird zen. Die freie Navigationssoftware AndNav2 [25]
sisted GPS (AGPS) und Ähnliches zentral inte- sich auf auf eine Liste mit wenigen Highlights be- ist bereits vorinstalliert. Allerdings ist die GSM-
griert werden. Auch eine Ortung mittels Handy- schränkt: Verbindung teilweise instabil und es gibt Proble-
netz (GSM) ist inzwischen geplant. me mit GPRS und SMS. Über die Firma Koo-
ã TangoGPS [18] – Anzeigen von Straßenkar- lu [26] können bereits Geräte mit vorinstalliertem
Vor Kurzem erschien Milestone V [17]. Zu den Android erworben werden.
Neuerungen zählen stabileres GPRS, automati- ten und mehr.
sche Zeit- und Zeitzonenkonfiguration per GPS ã Mokomaze [19] – Einen Ball per Beschleuni- SHR
und die Integration von Beschleunigungungssen- gungssensoren durch ein Labyrinth navigie- Beim Stable Hybrid Release (SHR) [27] handelt
soren für Gestenerkennung. Außerdem wurde ren. sich es um ein von Bearstech [28] unterstütz-
eine Schnittstelle (API) für Personal Informati- ã Numptyphysics [20] – Das Ziel ist es, einen tes Community-Projekt. SHR war als Weiterfüh-
on Manager (PIM) integriert, diese ist allerdings Ball zu einem Stern zu befördern, indem man rung der GTK-basierenden Distribution gedacht.
noch experimentell. Objekte zeichnet. Inzwischen setzt SHR Enlightment und die FSO-

© freiesMagazin GNU FDL Ausgabe 04/2009 6


M OBIL

Middleware ein. Somit ist es mit den FSO-Demo- Fazit [15] http://wiki.openmoko.org/wiki/ASU
Images vergleichbar, wobei in SHR eigene Te- Hardwareseitig ist das NeoFreerunner ein recht [16] http://wiki.openmoko.org/wiki/FSO
lefonanwendungen einsetzt werden und nicht guter PDA mit GPS. Softwareseitig ist die La- [17] http://trac.freesmartphone.org/milestone/
Zhone, wie bei den FSO-Images. ge unklarer. Es gibt zwar interessante Software milestone5
für die Plattform, die verfügbaren Distributionen [18] http://www.tangogps.org/gps/cat/About
Debian
haben aber alle noch ihre kleinen und großen [19] http://mokomaze.projects.openmoko.org/
Da für die ARM-Architektur bereits eine Debian-
Schwächen, wobei das FSO-Framework bereits [20] http://numptyphysics.garage.maemo.org/
Quelle vorhanden ist, gab es frühzeitig einen
in Begriff ist, viele davon auszumerzen.
Debian-Installer für das Openmoko. [21] http://wiki.openmoko.org/wiki/ReMoko
Als OpenStreetMap-Mapper [32] (siehe auch [22] http://www.opkg.org/package_169.html
FYP
„OpenStreetMap – GoogleMaps-Klon oder doch [23] http://www.opkg.org/
FYP ist eine recht neue, auf Debian basierende
mehr?“, freiesMagazin 11/2008 [33]) ist das Ge- [24] http://www.android.com/about/
Distribution. Der Name stammt von dem Webfo-
rät hervorragend zu gebrauchen. Das GTA03 [25] http://www.andnav.org
rum FreeYourPhone [29]. FYP setzt als erste Dis-
wird sich wegen der integrierten 2MP Kamera
tribution (abgesehen vom FSO-Demo-Image) be- [26] http://www.koolu.com/
vermutlich noch besser fürs Mappen eignen.
reits Milestone V ein. Im Moment sucht der Ent- [27] http://wiki.openmoko.org/wiki/Stable_Hybrid_
wickler zusammen mit der Community eine voll L INKS Release
kompatible Kernelkonfiguration. [28] http://www.bearstech.com
[1] http://wiki.openmoko.org/wiki/Main_Page/de
[29] http://www.freeyourphone.de
Hackable [2] http://de.wikipedia.org/wiki/FIC
Hackable basiert wie FYP auf Debian, allerdings [30] http://wiki.openmoko.org/wiki/2007.2
[3] http://www.openmoko.com
wird hier die vom 2007.2er-Image [30] bekannte [31] http://wiki.openmoko.org/wiki/Gentoo
[4] http://wiki.openmoko.org/wiki/Neo_1973
GTK-Oberfläche verwendet. Wie auch SHR wird [32] http://www.openstreetmap.org
[5] http://de.wikipedia.org/wiki/ARM-Architektur
Hackable von Bearstech unterstützt. [33] http://www.freiesmagazin.de/freiesMagazin-2008-
[6] http://wiki.openmoko.org/wiki/Neo_FreeRunner
11
Ziel von Hackable ist, wie der Name schon ver- [7] http://wiki.openmoko.org/wiki/GTA03
muten lässt, ein System für Entwickler und Bast- [8] http://www.pro-linux.de/news/2009/14023.htm Autoreninformation
ler zu schaffen. [9] http://freeyourphone.de/portal_v1/viewtopic.php?
Florian Schweikert benutzt seit zwei
f=19&t=929
Gentoo Jahren Linux (Debian und Ubuntu).
[10] http://wiki.openmoko.org/wiki/GTA04
Da Gentoo [31] (bzw. gcc) bekanntlich auch auf Durch das Openmoko-Projekt ist
[11] http://wiki.openmoko.org/wiki/Supported_
ARM-Prozessoren lauffähig ist, ist es nicht über- er auf OpenStreetMap aufmerksam
devices
raschend, dass es bereits einen portage-overlay geworden. Vor allem sein Neo Free-
gibt. Allerdings gibt es kaum Erfahrungsberichte [12] http://wiki.openmoko.org/wiki/HXD8 runner hilft beim Kartografieren der
dazu. [13] http://qtopia.net/modules/devices/ Umgebung.
[14] http://de.wikipedia.org/wiki/X_Window_System

© freiesMagazin GNU FDL Ausgabe 04/2009 7


D ISTRIBUTION

gNewSense – Das freie Ubuntu von Benedikt Ahrens

as Projekt gNewSense [1] hat sich über Debian und Ubuntu in ähnlicher Weise auch Software, die von proprietärer Software ausge-

D zum Ziel gesetzt, eine GNU/Linux-


Distribution zu schaffen, die die Frei-
heit der Benutzer als oberstes Ziel hat –
auf andere Distributionen, wie z. B. openSUSE,
zutreffen. Die folgenden Zeilen beziehen sich
ausschließlich auf Debian und Ubuntu.
hend produziert wurde, ist nicht frei. Das tg3-
Modul befindet sich – mitsamt Firmware – im
Original-Kernel [6].
auch wenn dadurch Komfort und Hardware-
Unterstützung eingeschränkt werden. Als Ba- Der Linux-Kernel Die Distributionen
sis wird dafür das Betriebssystem Ubuntu ge- Wie gehen die Distributionen mit dem offiziellen
Die meisten Rechnerkomponenten – CD-Lauf-
nutzt. Linux-Kernel um? Das Debian-Projekt fundiert
werke, Netzwerkkarten etc. – benötigen zur Kom-
auf einem strengen Vertrag [7], welcher Richtli-
munikation mit der Hauptplatine eine Software,
Über Debian und Ubuntu nien für die von Debian verteilte Software enthält
die auf einem Speicher in der Komponente selbst
(DFSG) [8]. Eine Abstimmung im Jahr 2006 [9]
Ein freies Ubuntu? Ist Ubuntu [2] denn nicht gelagert wird. Diese Software wird oft Firmwa-
zum Thema „unfreie Software im Linux-Kernel“
schon frei? Nein, Ubuntu ist nicht frei im Sin- re genannt. Bei den meisten Komponenten ist
ergab eine Befürwortung der Verteilung dieser
ne der Free Software Foundation (FSF) [3] (die die Firmware fest in der Komponente installiert.
unfreien Software. Die Kernaussage: Die Ver-
Richtlinien, nach denen die Freiheit eines Be- Bei anderen, insbesondere bei Netzwerkkarten,
wendbarkeit der Software ist wichtiger als die Er-
triebssystems von der FSF beurteilt wird, fin- wird die Firmware vom Gerätetreiber (d. h. vom
füllung des sozialen Vertrags und die Freiheit des
den sich auf der Webseite [4]), genauso we- Kernel-Modul) beim Laden des Moduls auf die
Benutzers.
nig wie Debian, das Fundament, auf welchem Komponente kopiert.
Ubuntu aufbaut. Das Ziel dieser Distributionen Doch nicht nur mit dem Linux-Kernel verteilen
ist es, so viel Hardware wie irgend möglich zu Um hier den Komfort des Benutzers zu erhöhen,
die Distributionen unfreie Software. Das Ubuntu-
unterstützen und damit dem Benutzer die Instal- wird die Firmware zu einigen Komponenten in
Paket linux-firmware liegt in der Sektion main
lation und Verwendung der eigenen Distribution den Linux-Kernel integriert. So z. B. die Firmwa-
und damit in der Sektion, die laut Ubuntu nur freie
einfach und komfortabel zu gestalten – es geht re zu Netzwerkkarten der Firma Broadcom, wel-
Software enthält. Dennoch liefert das Paket un-
schließlich um Marktanteile. Die Prinzipien frei- che durch den Treiber tg3 betrieben werden. Das
freie Firmware [10].
er Software bleiben dabei manchmal auf der klingt vernünftig, denn ohne die Firmware funk-
Strecke. Eine etwas laxe Einstellung zum The- tioniert die entsprechende Komponente oft nicht. Ein weiteres Beispiel: Jahrelang ignorierten
ma Freiheit lässt sich dabei in allen Bereichen Doch leider entspricht die meiste Firmware nicht Debian und Ubuntu die Tatsache, dass X.org
der Software-Herstellung diagnostizieren, ange- den Kriterien freier Software, da die Hersteller unfreie Software enthielt (Fehlerbericht von
fangen beim Linux-Kernel bis hin zum Verteilen ihren Quelltext nicht offengelegt haben. Als Bei- Debian [11], Entwicklerabstimmungen bei
der Software durch Debian und Ubuntu. spiel soll hier der Treiber tg3 dienen. Während Debian über den Umgang mit unfreier Soft-
der Treiber selbst frei und unter der GNU Gene- ware [12] [13], Fehlerbericht von Ubuntu (impor-
Hinweis: Es bleibt dem Leser überlassen, zu ral Public License lizenziert ist, benutzt er eine tiert von Debian) [14]). Bewusst wurde unfreie
untersuchen, ob die hier getroffenen Aussagen unfreie Firmware [5]. Software in der Sektion main belassen, um den

© freiesMagazin GNU FDL Ausgabe 04/2009 8


D ISTRIBUTION

Komfort und die Nutzbarkeit des Betriebssys- ã die Installation unfreier Software nicht zu er- sches Look and Feel, wie die Screenshots [20]
tems nicht einzuschränken. Dank einer neuen leichtern. zeigen. Der Live-Modus erlaubt das Testen der
Lizenz für die betroffene Software ist dieses Pro- Die zwei Ziele müssen kurz erläutert wer- Hardware – nicht unwichtig, denn durch das Ent-
blem mittlerweile aber behoben [15]. den. Zum ersten Punkt: Bei jeder nicht-trivialen fernen unfreier Treiber können einige Hardware-
Software-Sammlung ist es sehr schwer, die hun- Komponenten, die unter Ubuntu unterstützt wer-
Weiterhin erleichtern Debian und Ubuntu die In- den, nicht betrieben werden (siehe unten). Aus
stallation unfreier Software, z. B. durch die Be- derprozentige Freiheit jedes Programms sicher-
zustellen – jede Quelldatei muss auf ihre Lizenz dem Live-Modus heraus kann die Installation auf
reitstellung der Repositorys contrib und non-free der Festplatte gestartet werden. Anleitungen und
(Debian) bzw. restricted und multiverse (Ubuntu) hin überprüft werden. gNewSense entfernt je-
doch umgehend Software aus dem Angebot, so- Hilfen zu Installation und Verwaltung des Sys-
sowie durch eine graphische Oberfläche zur In- tems sind ebenfalls im Wiki [21] zu finden.
stallation proprietärer Treiber für Grafikkarten, bald deren Unfreiheit entdeckt wird, auch wenn
WLAN-Karten etc. (in Ubuntu unter der Benut- dadurch erhebliche Einschränkungen entstehen Welche Einschränkungen gibt es?
zeroberfläche GNOME im Menu „System » Admi- (so geschehen bei oben angesprochener unfrei-
Nach obigen Ausführungen ist es keine Über-
nistration“). Auch die Standardbrowser Iceweasel er Software in X.org [18]). Zum zweiten Punkt:
raschung, dass die Benutzung von gNewSense
(Debian) und Firefox (Ubuntu) bieten die Installa- Es bleibt natürlich in der Freiheit des Benutzers,
Einschränkungen mit sich bringt im Vergleich zu
tion unfreier Plugins an. unfreie Software zu installieren. Jedoch bietet
Ubuntu. Fehlende Unterstützung für viele WLAN-
gNewSense dazu keine Hilfe, wie z. B. die Bereit-
Karten, fehlendes GLX, kein Firefox, dies alles
stellung solcher Software oder von Anleitungen,
gNewSense – die Idee macht gNewSense nicht attraktiver für den Be-
wie unfreie Software installiert werden kann.
Das Projekt gNewSense hat sich zum Ziel nutzer. Um Enttäuschungen zu vermeiden, ist
gesetzt, eine GNU/Linux-Distribution zu schaf- Die Umsetzung es daher dringend empfohlen, sich vor einer
fen, die die Freiheit der Benutzer als obers- Zu diesem Zweck programmierten die Gründer Installation über die zu erwartende Hardware-
tes Ziel hat – auch wenn dadurch Komfort und Brian Brazil und Paul O’Malley den sogenann- Unterstützung und mitgelieferte Software zu in-
Hardware-Unterstützung eingeschränkt werden. ten „Builder“, eine Reihe von Skripten, die aus formieren. Hierzu sollte gNewSense im Live-
Handlungsgrundlage ist die Richtlinie der FSF Ubuntu die unfreien Elemente entfernen. Mit Hil- Modus von der CD gestartet werden. Hier kann
für freie Betriebssysteme [16]. Folgendes Zitat fe des Builders kann jeder Benutzer sich seine man Grafik, Sound, Netzwerkkarte etc. ohne Ri-
beschreibt das Ziel von gNewSense: „Note our eigene freie GNU/Linux-Distribution bauen. Ein siko testen. Da die Entfernung unfreier Firm-
goal is to produce a fully free distribution, not interessanter Spezialfall allerdings ist die bereits ware aus dem Kernel automatisiert erfolgt, gibt
to have as many features as possible“ [17]. (Auf vorbereitete Distribution – welche, wie das Pro- es keine präzise Liste von Rechnerkomponen-
Deutsch: „Beachte, dass es unser Ziel ist, eine jekt auch, gNewSense genannt wird – für die ten, die von gNewSense – im Vergleich zu
komplett freie Distribution zu erstellen, nicht, so eine Live-CD in Form eines ISO-Images bereit- Ubuntu – nicht unterstützt werden. Ausgangs-
viele Funktionen wie möglich zu haben.“) Konkret steht [19]. punkt für die Suche nach unterstützter Hardware
bedeutet dies, dass gNewSense versucht, . . . kann eine entsprechende Seite der FSF [22]
Die aktuelle Version gNewSense 2.1 basiert auf sein. Für weitere Informationen empfiehlt sich
ã nur freie Software im Sinne der FSF zu vertei-
Ubuntu 8.04.1 und bringt daher ein fast identi- der Besuch des gNewSense-Forums [23] oder
len und

© freiesMagazin GNU FDL Ausgabe 04/2009 9


D ISTRIBUTION

eine Anfrage auf der Mailingliste [24]. Im Allge- können so dazu gebracht werden, freie Trei- [15] http://www.fsf.org/news/thank-you-sgi
meinen nicht unterstützt werden WLAN-Karten, ber und Firmware für ihre Produkte bereitzu- [16] http://www.gnu.org/philosophy/free-system-
verschiedene LAN-Karten und Grafikkarten, für stellen und somit Transparenz und Innovation distribution-guidelines.html
die keine freien Treiber existieren. Im Vergleich auch in diesem Bereich der Software-Herstellung [17] http://www.gnewsense.org/Main/Features
zu Ubuntu fehlen selbstverständlich auch die zu ermöglichen. Doch auch den Mutterprojekten [18] http://wiki.gnewsense.org/Main/Broken3dApps
Software-Repositorys restricted und multiverse, Debian und Ubuntu von gNewSense kann man
[19] http://www.gnewsense.org/Mirrors/Mirrors
die Sektion universe ist hingegen standardmäßig durch den Einsatz von gNewSense signalisie-
[20] http://wiki.gnewsense.org/Screenshots/
aktiviert [25]. ren, dass man die Prinzipien und Verträge kon-
Screenshots
sequent einhalten will und mit faulen Ausnahmen
Warum dennoch gNewSense? nicht einverstanden ist. [21] http://wiki.gnewsense.org/
gNewSense ist eines der Betriebssysteme, die [22] http://www.fsf.org/resources/hw
von der FSF als frei eingestuft und aktiv unter- L INKS [23] http://wiki.gnewsense.org/index.php?n=
stützt werden [26]. Für das Betriebssystem stellt [1] http://www.gnewsense.org ForumMain.ForumMain
das GNU-Projekt eine modifizierte Version des [2] http://www.ubuntu.com [24] http://www.gnewsense.org/index.php?n=
Firefox-Browsers, Icecat [27] genannt, zur Verfü- Community.Community
[3] http://www.fsf.org
gung, die sehr einfach über die Paketverwaltung [25] http://www.gnewsense.org/Main/Features
[4] http://www.gnu.org/philosophy/free-system-
installiert werden kann. Icecat bietet die Instal-
distribution-guidelines.html [26] http://www.gnu.org/links/links.html#FreeGNU
lation ausschließlich freier Plugins an und wur- LinuxDistributions
de im Vergleich zu Firefox um einige Sicherheits- [5] http://www.broadcom.com/support/ethernet_nic/
driver-sla.php?driver=570x-Linux [27] http://www.gnu.org/software/gnuzilla/
funktionen erweitert. Einige der von gNewSense
nicht unterstützten Komponenten können durch [6] http://www.kernel.org [28] http://www.fsfla.org/svnwiki/selibre/linux-libre/
index
die Installation eines neuen Kernels des Pro- [7] http://www.debian.org/social_contract
jekts „Linux Libre“ [28] doch noch unterstützt wer- [8] http://www.debian.org/social_contract# [29] http://aligunduz.org/gNewSense/
den (vorbereitete Debian-Pakete bietet Ali Gun- guidelines
duz an [29]). So ermöglicht der aktuelle Kernel [9] http://www.debian.org/vote/2006/vote_007.en. Autoreninformation
2.6.28-libre dieses Projekts die Verwendung des html Benedikt Ahrens benutzt seit mehre-
tg3-Moduls ohne die unfreie Firmware. Auch eini- [10] https://bugs.launchpad.net/~gnewsense ren Jahren Debian und Ubuntu. Über
ge WLAN-Karten der Firma Atheros können mit [11] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug= die im Debian-Projekt andauernde
Hilfe der freien Module atk5 und atk8 (im Kernel 211765 Diskussion über den Umgang mit
2.6.28 enthalten) betrieben werden. [12] http://www.debian.org/vote/2004/vote_002 unfreier Firmware im Linux-Kernel
(„Binary Blobs“) entdeckte er gNew-
Durch die Benutzung von gNewSense kann man [13] http://www.debian.org/vote/2006/vote_007
Sense.
zeigen, dass einem die Freiheit der verwendeten [14] https://bugs.launchpad.net/debian/+bug/6765/
Software wirklich wichtig ist. Hardware-Hersteller comments/8

© freiesMagazin GNU FDL Ausgabe 04/2009 10


L INUX ALLGEMEIN

Das Dateisystem ext4 von Hans-Joachim Baader

weieinhalb Jahre nach seiner ersten dore Ts’o [4] mit dem neuen Dateisystem ext4. keit zusammenhängend. Davon können Medien-

Z Ankündigung ist das neue Dateisys-


tem ext4 [1] bereit für den breiten Ein-
satz. Hier nun ein erster Blick auf seine Featu-
Dieses sollte die Fähigkeit haben, ein bestehen-
des ext3-Dateisystem einzubinden und in ein
ext4-Dateisystem umzuwandeln. Abgesehen von
streams und Datenbanken profitieren.

Die Dateisystem-Größe von ext4 ist maximal


res und die Leistung des neuen Dateisystems. diesem Kompatibilitätsfeature waren die Entwick- 1 Exabyte. Einzelne Dateien sind bei Blöcken
Außer Konkurrenz erfolgt auch eine erste Ge- ler aber frei, beliebige Verbesserungen hinzuzu- von 4 KB (mehr ist aktuell nicht möglich) immer
schwindigkeitsmessung von btrfs. fügen. noch auf 16 TB beschränkt, was mit der Speiche-
rung von Blocknummern als 32-Bit-Zahl zu tun
Redaktioneller Hinweis: Der Artikel „Das Datei- Mit ext4 kommt auch eine neue Version des Jour- hat. Diese Begrenzung soll noch fallen.
system ext4“ erschien erstmals bei Pro-Linux [2] naling Block Device (jdb2). Auch hier soll die
und wird mit freundlicher Genehmigung des Au- neue Version dafür sorgen, dass die Originalver- Sollte einmal ein Dateisystem-Check nötig wer-
tors in freiesMagazin unter der GNU Free Docu- sion stabil gehalten werden kann. Knapp drei den, so müssen nur Blockgruppen geprüft wer-
mentation License [3] veröffentlicht. Monate nach der ersten Ankündigung wurden den, die auch allokiert sind. Das soll die Zeit für
ext4 und jdb2 in den Entwicklerkernel aufgenom- den Check stark reduzieren.
Einleitung men und in Linux 2.6.19 erstmals der Allgemein-
Aufgrund der Kompatibilität kann man ext3-
Seit Mitte des Jahres 2006 ist jedem klar, dass heit zur Verfügung gestellt, allerdings ausdrück-
Dateisysteme in ext4 umwandeln, ohne ein
das Dateisystem ext3 von Linux an Grenzen zu lich als experimentell markiert.
Backup mit Rücksicherung vornehmen zu müs-
stoßen beginnt. Die maximale Kapazität von ext3 sen.
ist abhängig von der Blockgröße höchstens 8 Ter- Eigenschaften von ext4
abyte, was in LVM- oder RAID-Konfigurationen ext4 bringt in der initialen Version hauptsäch- Anlegen und Betreiben von ext4
bereits seit einiger Zeit eine Einschränkung dar- lich Verbesserungen in Geschwindigkeit und Ska-
Ein ext4-Dateisystem wird analog zu ei-
stellen kann. Die derzeitige Auflösung von einer lierbarkeit gegenüber ext3. Dazu gehören ein
nem ext3-Dateisystem auf einem nahezu
Sekunde bei Datei-Zeitstempeln wird schon seit auf Extents beruhendes Format auf der Fest-
beliebigen Blockgerät mit dem Kommando
längerer Zeit als unbefriedigend angesehen. Die platte, 48-Bit-Blocknummern, Allokierung von
mkfs.ext4 [Devicename] oder mkfs -T ext4
Zeiten für das Prüfen bzw. Reparieren werden mehreren Blöcken in einem Schritt, mehr als
[Devicename] angelegt.
mit wachsender Größe eines Dateisystems im- 32000 Unterverzeichnisse pro Verzeichnis, Re-
mer weniger tolerierbar. servierung von Verzeichnis-Inodes, Zeitstempel Ein bestehendes ext3-Dateisystem kann man
mit Nanosekunden-Auflösung, Inode-Versionen, mit dem Kommando tune2fs -O extents
Statt die zur Lösung dieser Probleme kursieren- Prüfsummen für das Journal und persistente Prä- [Devicename] in ein ext4-Dateisystem konver-
den Patches in ext3 einzubauen und damit des- allokation. Letztere ermöglicht es, Platz für ei- tieren. Von diesem Zeitpunkt an werden neue
sen Stabilität und Kompatibilität zu gefährden, ne Datei im Voraus zu reservieren. Dieser Platz Dateien im Extent-Format angelegt, bestehende
begannen die Entwickler auf Initiative von Theo- bleibt reserviert und ist mit hoher Wahrscheinlich- bleiben jedoch unverändert. Das neue Datei-

© freiesMagazin GNU FDL Ausgabe 04/2009 11


L INUX ALLGEMEIN

system kann nicht mehr als ext3 eingebunden des Gegenteils ist anzunehmen, dass die von Die beiden rohen Protokolldateien des Bench-
werden, eine Konvertierung zurück ist also aus- den Entwicklern vorgegebenen Parameter opti- marks mit jeweils fünf Durchläufen stehen zum
geschlossen. Ein ext3-Dateisystem kann jedoch mal sind. Eine Option, die auf allen Dateisyste- Download zur Verfügung [6] [7]. Auch das Skript
als ext4 eingebunden werden. Es bleibt dennoch men sinnvoll ist, die sie anbieten, ist relatime diskbenchmark kann man herunterladen [8]. Es
ein ext3-System, bis es explizit konvertiert wird. oder gar noatime. Denn das Speichern der letz- ist offensichtlich noch verbesserungsfähig, so
ten Zugriffszeit einer Datei erzeugt viel I/O, und könnte man beispielsweise die Blockgrößen bei
Nach dem Anlegen kann das Dateisystem mit es gibt praktisch keine Anwendung, die diese Zeit dd und bonnie++ konfigurierbar machen.
mount [Devicename] [Einhängepunkt] ein- benutzt. In diesem Test wurde diese Option aller-
gebunden werden. Optional kann man den Typ dings nicht benutzt. Die nachfolgende Tabelle zeigt die Ergebnisse,
des Dateisystems mit -t ext4 angeben. Das wobei als redundant erachtete Werte, die bon-
dürfte jedoch meist unnötig sein, da das Datei- Ein erster Testlauf mit einem eigens erstell- nie++ lieferte, nicht betrachtet wurden. Der mar-
system automatisch erkannt wird. ten Skript erbrachte unbefriedigende Ergebnis- kierte Eintrag in jeder Zeile hebt den besten Wert
se. In diesem Lauf wurde jede Messung drei- hervor. In den Zeilen, in denen ext2 am besten
Nach dem Einbinden kann das Dateisystem wie mal gemacht und das Benchmarkprogramm bon- abschnitt, ist zusätzlich noch der Bestwert unter
jedes andere verwendet werden. Erweiterte At- nie++ [5] mit seinen Standardparametern ver- den Journal-Dateisystemen markiert.
tribute und Security-Labels sollten wie bei ext3 wendet. Die Ergebnisse zeigten große Schwan-
zur Verfügung stehen. Ein kurzer Test zeigt, dass kungen und erwiesen sich als unzureichend. Zu- Benchmarkergebnisse
sich auf Systemen, die die Option „große Datei- dem wurde das System nicht optimal ausgereizt. ext2 ext3 ext4
en verwenden“ nicht besitzen, Dateien von ma- Leider war es nicht möglich, die Schwankun- Dateisystem anlegen [s] 6,58 9,03 8,36
ximal 2 TB Größe erzeugen lassen. Der andere gen zu begrenzen, da das System während der Dateisystem einbinden [s] 0,56 0,89 0,58
Fall konnte leider nicht getestet werden. Benchmarks wechselnden anderen Lasten aus- Datei 8 GB lesen [MB/s] 61,6 62,3 66,4
gesetzt war. Ein Herunterfahren in Runlevel 1, Datei 8 GB schreiben 63,1 57,1 60,4
Benchmarks wie es oft bei Benchmarks praktiziert wird, kam [MB/s]
Seq. lesen [MB/s] 60,2 59,3 64,8
Durchführung nicht in Frage.
Seq. schreiben [MB/s] 60,0 55,6 58,3
Testrechner war ein AMD Phenom (4 Kerne) mit
Um die Messergebnisse abzusichern, wurde da- Seeks [1/s] 123 110 129
2,4 GHz und 4 GB RAM. Als Kernel kam Linux
her ein neuer Testlauf mit besseren Parametern Datei erzeugen [1/s] 844 69760 59872
2.6.28 in der 64-Bit-Version zum Einsatz. Für den
für bonnie++ durchgeführt und jede Messung Datei löschen [1/s] 1964 19777 19574
Test wurde ein logisches Volume von 20 GB Grö-
fünfmal wiederholt. Der ganze Test wurde spä- Datei 8 GB löschen [sys s] 0,235 0,534 0,457
ße auf einem RAID 1 angelegt.
ter mit weiteren fünf Läufen wiederholt. Wo nicht Datei 8 GB löschen 0,498 0,612 0,500
[min Ges s]
Auf besondere Optionen beim Erstellen und Ein- anders angegeben, wurde jeweils das beste Re-
Datei 8 GB löschen 9,588 7,596 7,029
binden der Dateisysteme wurde verzichtet. Zwar sultat der insgesamt 10 Läufe gewertet. Cache-
[max Ges s]
können diese durchaus Auswirkungen auf die Effekte wurden durch eine Dateigröße vom Dop-
Geschwindigkeit haben, aber bis zum Beweis pelten des Hauptspeichers ausgeschlossen.

© freiesMagazin GNU FDL Ausgabe 04/2009 12


L INUX ALLGEMEIN

Benchmarkergebnisse (Fort.) richtig großen Dateisystemen viel Zeit vergehen


xfs jfs reiser3 kann. Die Konkurrenten xfs, jfs und reiserfs ska-
Dateisystem anlegen [s] 0,28 0,49 0,81 lieren hier besser.
Dateisystem einbinden [s] 0,17 0,19 1,47
Datei 8 GB lesen [MB/s] 64,9 62,5 59,3
Datei 8 GB schreiben 61,1 56,3 54,5
[MB/s]
Seq. lesen [MB/s] 62,1 62,7 61,5
Seq. schreiben [MB/s] 55,0 54,6 52,4
Sequentielles Lesen von Daten.
Seeks [1/s] 116 116 133
Datei erzeugen [1/s] 3031 12213 18995
Datei löschen [1/s] 527 405 5328
Datei 8 GB löschen 0,284 0,0 1,267
[sys s]
Blockweises Lesen von Daten.
Datei 8 GB löschen 0,308 0,007 1,296
[min Ges s]
Datei 8 GB löschen 6,382 0,059 7,914
[max Ges s]

Auswertung Sequentielles Schreiben von Daten.

Ähnliche Ergebnisse sollten sich beim sequentiel-


len Lesen und Schreiben mit bonnie++ ergeben,
und in der Tat war es so. Auch hier war ext4 wie-
der in der Spitzengruppe.
Blockweises Schreiben von Daten.

Das Lesen und Schreiben von Dateien, blockwei-


se durchgeführt mit dd, ergab nur geringe Unter-
schiede, die weitgehend unter der Messgenauig-
Anlegen des Dateisystems.
keit lagen. Dass ext2 als einziges Dateisystem
Das Anlegen von Dateisystemen dauerte mit ohne Journal beim Schreiben die anderen ab-
ext4 ähnlich lang wie mit ext3. Soweit bekannt, hängte, war zu erwarten. ext3, jfs und reiserfs wa-
steigt diese Zeit bei ext2, ext3 und ext4 grund- ren beim Schreiben etwas langsamer. ext4 zeigte
sätzlich mit der Dateisystem-Größe, sodass bei eine sehr gute Leistung. Suchzeiten.

© freiesMagazin GNU FDL Ausgabe 04/2009 13


L INUX ALLGEMEIN

Die Zahl der Seeks pro Sekunde hing stark von tend sind, wurden die Dateien in späteren Läufen hier jfs, das überhaupt keine Zeit mit dem Lö-
den Parametern von bonnie++ ab. Die hier er- mit einer zufälligen, gleichverteilten Größe von 0 schen versäumte. ext4 schnitt im wahrsten Sinn
mittelten Werte wären jedoch im Einklang mit ei- bis 1999 Bytes erzeugt. Ob durch diese Wahl be- des Wortes besser ab als ext3. reiserfs erwies
ner mittleren Suchzeit der Festplatte von 8 ms, stimmte Dateisysteme begünstigt werden, konn- sich als langsamer.
in deren Nähe sich die meisten aktuellen Fest- te aus Zeitgründen nicht ermittelt werden. Das
platten bewegen. Der Unterschied von 20 % zwi- Ergebnis war, dass ext3 und ext4 deutlich in Füh- Für die Anwender ist interessanter, wie schnell
schen den Dateisystemen scheint daher bemer- rung lagen und die anderen Dateisysteme um ein der Systemaufruf zum Löschen der Datei zurück-
kenswert. Mehrfaches übertrafen. In der Praxis dürfte es je- kehrt. Die minimal gemessene Zeit war hier bei
doch nur wenige Anwendungen geben, in denen allen Dateisystemen nur geringfügig höher als
so viele Dateien erzeugt oder gelöscht werden, die Systemzeit. ext2 und ext3 stellten eine Aus-
dass diese Werte eine Rolle spielen. nahme dar, die vielleicht auf eine zu geringe
Zahl von Messungen zurückzuführen ist. Ein sehr
Es wurde der Wert für das sequentielle Erzeugen merkwürdigen Phänomen zeigte sich darin, dass
von Dateien verwendet. Beim zufällig verteilten das Löschen bisweilen erheblich länger dauerte,
Erzeugen von Dateien waren alle Dateisysteme mitunter mehr als zwanzigmal so lang wie im mi-
ein wenig langsamer. jfs allerdings war um Faktor nimalen Fall. Das deckte sich mit früheren Be-
10 langsamer als beim sequentiellen Erzeugen. obachtungen am Dateisystem ext3. Lediglich jfs
konnte bei keinem solchen Ausreißer ertappt wer-
Erzeugen von Dateien.
den. Die Ursache des Problems könnte im Kernel
unterhalb der Dateisystem-Ebene liegen, da alle
Dateisysteme betroffen waren (ob jfs eine Aus-
nahme darstellt, kann noch nicht als sicher gel-
ten). Entwickler von Echtzeit-Anwendungen soll-
ten sich über dieses Verhalten im Klaren sein und
einen Workaround vorsehen.

Zusammenfassend kann man sagen, dass ext4


Löschen von Dateien mit 8 GB Größe. im Rahmen der Messgenauigkeit in fast je-
Löschen von Dateien. Beim Löschen von Dateien von 8 GB Größe gab der Hinsicht schneller als ext3 ist und zu den
es erhebliche Schwankungen bei der benötigten schnellsten Linux-Dateisystemen gehört. Da die
Auch das Erzeugen und Löschen von Dateien Geschwindigkeit aber um weniger als 20 % über
Gesamtzeit. Angegeben ist daher in der Tabelle
hing stark von den Parametern ab. Im ersten der von ext3 liegt, werden Benutzer im Falle ei-
als Erstes die reine Systemzeit, die wesentlich
Durchlauf wurden die Standardwerte verwendet, ner Umstellung von ext3 auf ext4 von der höhe-
weniger Varianz zeigte. Diese ist auch im Dia-
bei denen bonnie++ mit Dateigrößen von 0 ar- ren Geschwindigkeit nichts bemerken.
gramm dargestellt. Bemerkenswert verhielt sich
beitet. Da leere Dateien in der Praxis unbedeu-

© freiesMagazin GNU FDL Ausgabe 04/2009 14


L INUX ALLGEMEIN

Dateisystemprüfung -f Fehler erkannt wurden. Die Prüfung mit Repa- Die ermittelte Zeit für die Dateisystemprüfung
ext4 soll auch die Zeit für die Dateisystemprüfung ratur dauerte trotzdem nicht länger als der fehler- zeigte in frappierender Weise, welche Verbesse-
deutlich reduzieren. Um dies zu prüfen und zu freie Fall. Dass bei dieser Reparatur, die die Kon- rungen in ext4 erzielt wurden. Das neue Datei-
quantifizieren, wurde folgendes Szenario einge- sistenz des Dateisystems wieder herstellt, nor- system war bei dieser Partitionsgröße stets um
richtet: Das Dateisystem wurde wieder in einer malerweise Daten verloren gehen, sollte bekannt mindestens das 30-fache schneller als ext3. Lan-
Größe von 20 GB angelegt und eingebunden. Da sein. Wichtige Daten müssen immer mit einem ge Wartezeiten durch eine ungeplante Dateisy-
es nicht sinnvoll ist, ein leeres Dateisystem zu Backup gesichert werden. stemprüfung dürften damit der Vergangenheit an-
prüfen, wurde das Dateisystem mit knapp 20 GB gehören. Wir vermuten jedoch, dass in weniger
Dateimüll gefüllt. Das war die Gelegenheit, die Weitere Ergebnisse mit ext3 und ext4 günstigen Fällen größere Teile von ext4 geprüft
Geschwindigkeit eines annähernd realistischen ext3 ext4 werden müssen und die Lage dann nicht ganz
Kopiervorgangs zu messen. Danach wurde das 20 GB kopieren [MB/s] 24,1 26,3 so rosig aussieht. Getestet wurde das aber nicht.
Dateisystem ausgehängt. Volles Dateisystem einbinden [s] 0,122 0,186 Auch in anderer Hinsicht stellten die ermittelten
Volles Dateisystem aushängen [s] 0,006 0,110 Werte einen Optimalfall dar. Die Metadaten des
Nun wurde nochmals gemessen, wie lan- fsck -f [s] 60,3 1,9 Dateisystems dürften nämlich jeweils bereits im
ge das Dateisystem zum Einbinden benötig- Cache von Linux gewesen sein. Bei einem Neu-
te. Auch das nachfolgende umount wurde ge- Dieser Test konnte aus Zeitgründen nur einmal start könnte die Dateisystemprüfung deutlich län-
messen. Das Dateisystem war damit bereit durchgeführt werden, daher sollten die Werte ger dauern.
für den interessanten Teil, die Dateisystemprü- nicht zu genau genommen werden. Beim Kopie-
fung mit dem Programm fsck (File System ren war zu erwarten, dass der Durchsatz höchs- Die Optionen zur automatischen Konsistenzprü-
Check). Dieser wurde ohne spezielle Optionen tens halb so hoch sein würde wie beim sequen- fung des Dateisystems, die mit tune2fs anseh-
durchgeführt. Schließlich wurde mit debugfs -v tiellen Lesen oder Schreiben, denn Quelle und und änderbar sind, sind übrigens bei ext4 noch
/dev/mapper/vg0-test das Dateisystem auf Ziel befanden sich auf derselben Festplatte. Tat- genauso vorhanden wie bei ext3. Genaueres
„dirty“ gesetzt. Ein nachfolgendes e2fsck be- sächlich lag der gemessene Wert etwas nied- kann man im Artikel „Dateisystem-Tuning“ von
gann auch ohne die Option -f eine Dateisystem- riger, was wohl auf das Anlegen von Dateien, Pro-Linux [9] nachlesen.
prüfung. Deren Zeit wurde ebenfalls gemessen. Suchvorgänge und andere Dateioperationen zu-
rückzuführen ist, die zum rekursiven Kopieren da- Weitere Themen
Zum Abschluss wurde das Dateisystem beschä- zugehören. ext4 zeigte sich auch hier schneller
Defragmentierung
digt: als ext3.
Jedes Dateisystem kann im Laufe der Zeit frag-
# dd if=/dev/zero of=/dev/mapper/y Beim Einbinden waren beide Dateisysteme merk- mentieren. Das bedeutet, dass Dateien nicht
vg0-test count=100 seek=1024 würdigerweise schneller als im ersten Test. Mög- mehr kontinuierlich auf der Platte gespeichert
licherweise waren die meisten Metadaten bereits werden und dadurch die Zeit zum Lesen
Diese zugegebenermaßen wenig subtile Metho- im Cache, sodass der Messwert nicht allzu viel der Datei ansteigen kann. Die meisten Linux-
de führte zu dem beabsichtigten Ergebnis, dass Aussagekraft hat. Gleiches gilt für das Aushän- Dateisysteme besitzen Algorithmen, um Frag-
bei einer anschließenden Prüfung mit e2fsck gen, das keine nennenswerte Zeit benötigte. mentierung so gut wie möglich zu vermeiden,

© freiesMagazin GNU FDL Ausgabe 04/2009 15


L INUX ALLGEMEIN

sodass kaum ein Anwender jemals eine Leis- # mke2fs -b 4096 -O journal_dev y Auf die Eigenschaften von btrfs soll hier nicht wei-
tungseinbuße durch Fragmentierung verspürt. /dev/sdd1 ter eingegangen werden. Eine solche Betrach-
Dementsprechend sind Werkzeuge zur Defrag- # tune2fs -J device=/dev/sdd1 y tung könnte Gegenstand eines späteren Artikels
mentierung dünn gesät. Für ext4 ist dennoch /dev/sdc1 sein. Hier soll es nur um die Grundfunktionen und
eine Online-Defragmentierung vorgesehen. Ein deren Geschwindigkeit gehen.
Programm namens e4defrag ist offenbar in Ar- Booten von ext4
beit [10]. Über die Zusammenarbeit der Bootloader liegen Die Testbedingungen waren die gleichen wie
mit Ausnahme von GRUB [12] noch keine Infor- beim ursprünglichen Test. Erfreulicherweise lief
Für die wenigen Benutzer, die jemals eine De- mationen vor. Für die alte Version von GRUB 0.9x der Test ohne erkennbare Probleme durch. Auch
fragmentierung benötigen werden, bietet der Arti- gibt es eine Implementierung von ext4, die im für diesen Test, der mit 10 Läufen durchgeführt
kel „Defragment Ubuntu, Fedora, ext3, ext4“ [11] Rahmen eines „Summer of Code“-Projekts von wurde, stehen die Rohdaten zur Auswertung zur
eine kleine Übersicht über Methoden und Pro- openSUSE entwickelt wurde [13]. Es ist unklar, Verfügung [16]. Hier zunächst die gleiche Tabelle
gramme. ob und wann diese Modifikation in das offizielle wie oben für btrfs:
Projekt einzieht.
Externes Journal Benchmarkergebnisse
Wie bei ext3 kann man bei ext4 die Geschwin- btrfs
Für die Nachfolgeversion GRUB 2 gibt es noch
digkeit etwas steigern, wenn man das Journal Dateisystem anlegen [s] 0,40
keine offizielle Unterstützung, aber es wird daran
auf ein separates Gerät legt: beispielsweise ein Dateisystem einbinden [s] 0,11
gearbeitet. Die Entwicklerversion 1.97 von GRUB
Dateisystem auf /dev/sdc1 mit einer Blockgrö- soll von ext4 booten können [14]. Datei 8 GB lesen [MB/s] 65,2
ße von 4096, dessen Journal auf /dev/sdd1 Datei 8 GB schreiben [MB/s] 60,5
liegt. Die vorhandenen Nutzdaten auf /dev/sdc1 Seq. lesen [MB/s] 66,4
btrfs, der neue Herausforderer
bleiben hierbei erhalten. Seq. schreiben [MB/s] 59,7
Kurz vor Fertigstellung des Artikels wurde
Seeks [1/s] 173
Zunächst ist sicherzustellen, dass das Dateisys- btrfs [15], das neue Dateisystem von Chris Ma- Datei erzeugen [1/s] 32808
tem nicht eingebunden ist: son, nicht nur in den offiziellen Kernel aufgenom- Datei löschen [1/s] 20843
men, sondern erschien auch in einer neuen Ver- Datei 8 GB löschen [sys s] 0,786
# umount /dev/sdc1 sion 0.17, die sich zusammen mit den zugehö- Datei 8 GB löschen [min Ges s] 0,950
rigen Tools problemlos kompilieren und installie- Datei 8 GB löschen [max Ges s] 1,173
Nun kann man das bestehende Journal entfer- ren ließ. Dies war Anlass genug, die Stabilität des
nen, danach das externe Jornal auf /dev/sdd1 Testsystems zu riskieren und auch für btrfs eini- btrfs konnte durch die Bank sehr gute, teilwei-
mit der gleichen Blockgröße anlegen und zuletzt ge Benchmarkergebnisse zu ermitteln. Da btrfs se sogar Spitzenwerte erzielen. Das Anlegen
das Journal, das nun extern ist, wieder hinzufü- noch mindestens ein halbes Jahr von der Fertig- eines Dateisystems ging nur bei xfs schneller.
gen: stellung entfernt ist, sollte man die folgenden Re- Beim Einbinden setzte sich btrfs an die Spitze
sultate mit Vorsicht genießen. vor xfs und jfs. Beim Lesen und Schreiben mit
# tune2fs -O ˆhas_journal /dev/sdc1
dd verpasste es knapp den ersten Platz, beim

© freiesMagazin GNU FDL Ausgabe 04/2009 16


L INUX ALLGEMEIN

vergleichbaren Test mit bonnie++ war es jedoch Unklar ist zur Zeit noch, wie sich ext4 mit den [13] http://code.google.com/p/grub4ext4/
unter den Journal-Dateisystemen das schnellste. aufkommenden SSD-Festplatten verhält. Doch [14] http://grub.enbug.org/CurrentStatus
Mit 173 Seeks pro Sekunde deklassierte es die bleibt den Entwicklern noch viel Zeit für entspre- [15] http://btrfs.wiki.kernel.org/
Konkurrenz. Beim Erzeugen von Dateien war es chende Optimierungen. Auch ist ext4 noch nicht
[16] http://www.pro-linux.de/berichte/ext4/btrfs.txt
nur halb so schnell wie ext3 und ext4, was aber fertig, sondern wird im Gegensatz zu ext3 wohl
immer noch für den dritten Platz genügte. Beim noch einige weitere Features erhalten. Autoreninformation
Löschen hingegen konnte es ext3 und ext4 leicht
überbieten. Das Löschen einer großen Datei wur- Vorsicht ist geboten, wenn eine Interoperabilität Hans-Joachim Baader befasst sich
de in rund einer Sekunde erledigt, was zwar deut- mit anderen Betriebssystemen notwendig ist, bei- seit 1993 mit Linux. 1994 schloss er
lich langsamer war als die anderen, aber keine spielsweise über virtuelle Maschinen. Da es eine sein Informatikstudium erfolgreich ab
Ausreißer nach oben zeigte. Weile dauern dürfte, bis ext4-Implementationen und machte die Softwareentwicklung
für die anderen Systeme bereitstehen, sollte man zum Beruf. Seit 1995 arbeitet er
Zum jetzigen Zeitpunkt sind die Ergebnisse von in diesem Fall von ext4 Abstand nehmen. freiberuflich. Daneben ist er einer der
btrfs fast schon sensationell. Bis die endgültige Betreiber von Pro-Linux.de.
Version von btrfs erscheint, kann jedoch noch L INKS
viel passieren. Zum einen kann die Leistung op- [1] http://ext4.wiki.kernel.org/
timiert werden, zum anderen könnte das Hinzu- [2] http://www.pro-linux.de/berichte/ext4/ext4.html
fügen der noch fehlenden Features auch dazu [3] http://www.gnu.org/copyleft/fdl.html
führen, dass sich die Algorithmen verlangsamen. [4] http://www.pro-linux.de/news/2006/9900.html
Ein endgültiges Urteil kann noch nicht gefällt wer-
[5] http://www.coker.com.au/bonnie++/
den.
[6] http://www.pro-linux.de/berichte/ext4/ext4-
ergebnis1.txt
Fazit
[7] http://www.pro-linux.de/berichte/ext4/ext4-
Mit ext4 ist es den Entwicklern gelungen, das
ergebnis2.txt
Dateisystem ext3 ins nächste Jahrzehnt zu be-
[8] http://www.pro-linux.de/berichte/ext4/diskbench
fördern. Bei leicht gesteigerter Geschwindigkeit
mark
der normalen Dateioperationen bringt ext4 das
Ende der meisten relevanten Größenbeschrän- [9] http://www.pro-linux.de/work/tuning/fs-tuning.
html
kungen, beschleunigte Dateisystemprüfung, ei-
ne effizientere Verwaltung und andere Verbesse- [10] http://article.gmane.org/gmane.linux.file-systems/
rungen. Dabei werden keine grundlegend neuen 24133
Konzepte eingeführt, sondern auf Bewährtes auf- [11] http://sharevm.wordpress.com/2008/12/16/
435/ „Compiling“ © by Randall Munroe
gebaut, das bereits aus anderen Dateisystemen
[12] http://www.gnu.org/software/grub/ (CC-BY-NC-2.5), http://xkcd.com/303
bekannt war.

© freiesMagazin GNU FDL Ausgabe 04/2009 17


L INUX ALLGEMEIN

Ein Tuz für den Kernel von Mathias Menzer

asis aller Distributionen ist der Linux- SquashFS [6], ein komprimierendes Read-only-

B Kernel, der fortwährend weiterentwi-


ckelt wird. Welche Geräte in einem
halben Jahr unterstützt werden und welche
Dateisystem für den Einsatz z. B. auf Live-CDs.
eCryptfs [7] ist an sich nichts Neues, bislang wur-
den damit jedoch nur die Inhalte von Dateien ver-
Funktionen neu hinzukommen, erfährt man, schlüsselt. Ab jetzt können auch die Dateinamen
wenn man den aktuellen Entwickler-Kernel im mit dem dateisystemweiten Schlüssel chiffriert
Auge behält. werden. Konsistente Backups eines Dateisys-
tems sind nur möglich, wenn während der Erstel-
Ein Tuz für den Kernel lung der Sicherung keine Schreibvorgänge dar-
Am 23. März, fast genau drei Monate nach auf durchgeführt werden. Eine passende Funk-
dem Weihnachtskernel (siehe „Kernel-Rückblick“, tion hierzu konnte Linux bislang nicht aufweisen,
freiesMagazin 01/2009 [1]), wurde der Kernel mit „Filesystem freeze“ können nun von einge-
2.6.29 veröffentlicht [2], der diesmal im Zeichen hängten Dateisystemen vollständige und konsis-
tente Sicherungen oder Replikate im laufenden Tuz, Linux-Maskottchen auf Zeit.
des Teufels steht. Das ist jedoch nicht spirituell,
Betrieb erstellt werden. ext4 [8] kann nun mit ei- © Andrew McGown und Josh Bush
sondern sehr weltlich zu verstehen – Tux räumt
nem „no journal mode“ aufwarten, bei dem eine (CC-BY-SA)
für die neue Version seinen Platz als Maskott-
chen und überlässt diesen dem Tasmanischen kleine Leistungsteigerung durch den Verzicht auf Systems bemerkbar macht. RCU ist ein Mecha-
Beutelteufel Tuz. Diese Aktion soll auf die Bedro- ein Journal erkauft wird, auch unter der höheren nismus, der verhindert, dass zeitgleiche Lese-
hung dieser Tierart durch die Krankheit „Devil Fa- Gefahr eines Datenverlustes im Fehlerfall. und Schreibvorgänge auf den Speicher stattfin-
cial Tumor Disease“ [3] aufmerksam machen. den. Sie müssen so gesteuert werden, dass
Wer gern mit großen Multiprozessorsystemen ar- ein Lesevorgang entweder den ursprünglichen
Obwohl dies eine der augenscheinlichsten Ände- beitet, wird sich darüber freuen, dass der Ker- Speicherinhalt liest, oder den, der nach einem
rungen darstellt, sind die anderen Neuerungen nel nun bis zu 4096 Prozessoren von Haus aus Schreibvorgang vorliegt. Das Auslesen von Da-
doch von größerer Bedeutung. So legt „Kernel unterstützt. Damit derartige Systeme auch mög- ten, die gerade in den Speicher geschrieben wer-
Modesetting“ den Grundstein für einen flacker- lichst performant arbeiten, wurde das klassische den und eventuell unvollständig sind, kann zu
freien Startvorgang und damit den Startbild- RCU (Read-Copy-Update) überarbeitet und ver- schweren Fehlern führen und soll durch RCU un-
schirm Plymouth [4], der schon in Ubuntu 9.10 wendet nun hierarchische Strukturen, die eine terbunden werden.
Einzug halten könnte. Mit btrfs [5] ist nun ein bessere Skalierbarkeit erlauben. Ursprünglich für
neues, auf Leistung getrimmtes Dateisystem mit Rechner mit 16 bis 32 CPUs entwickelt, ist es für Neuzugang im Linux-Kernel ist WiMAX [9], ein
am Start, das sich allerdings noch in der Ent- moderne Multiprozessorsysteme nicht mehr ge- Standard für Breitband-Funk nach IEEE-802.16.
wicklung befindet und daher nicht für den pro- eignet, da die verwendeten Strukturen so groß Der Stack stammt von Intel und wurde auch
duktiven Einsatz geeignet ist. Fertig ist dagegen werden, dass es sich bei der Leistung des gleich mit einem Treiber für deren WiMax/

© freiesMagazin GNU FDL Ausgabe 04/2009 18


L INUX ALLGEMEIN

WiFi Link 5x50 Karten versehen. Der „Wireless den reihenweisen Verlust von Daten, darunter Systemen zu betreiben, wurden von Torvalds mit
Access Point Mode“ ist eine Anpassung des bemerkenswert viele Konfigurationsdateien von der Aussage, dass man dann auch direkt zu
mac80211-Stacks und ermöglicht den Betrieb KDE und GNOME, die nach dem Absturz schlicht ext2 zurückkehren könne, abgetan. Generell ist
als Access Point in Verbindung mit hostapd [10]. leer waren und entsprechende Probleme verur- Torvalds von dem Prinzip, Daten verzögert auf
Dies kann allerdings nur mittels cfg80211 [11] sacht haben. ext4-Entwickler Ted Ts’o weist den den Datenträger zu schreiben, wenig angetan,
eingerichtet werden, zudem muss die verwende- Fehler den beiden Desktopumgebungen zu, die da dies die Gefahr erhöhe, dass Dateien beschä-
te Hardware und deren Treiber dies unterstützen. offensichtlich sehr viele Dateien im gleichzeiti- digt werden.
gen Schreibzugriff hatten. Als Lösung empfiehlt
Auch mit neuen Treibern kann der aktuelle er künftig das Schreiben in eine neue Datei und Xen und der Kernel
Kernel aufwarten. Zu nennen sind zum Bei- das anschließende Verschieben auf den Original- Stirbt Xen [22] aus? Eine Mail an die Linux-
spiel die WLAN-Treiber rt2860 und rt2870 für Dateinamen und weist auf die Funktion fsync() Kernel-Mailingliste [23], mit der eigentlich um
Ralink-Karten, für Realteks rtl8187se-Chip oder hin. Einige Patches, die das Problem entschärfen die Aufnahme von Patches für die Xen-Dom0-
für Airgos AGNX00 Chips. Die kleinen OLED- sollen, wurden bereits eingebracht, werden sich Unterstützung geworben wurde, löste eine Dis-
Displays von Asus-Notebooks können nun über aber erst in 2.6.30 wiederfinden [17] [18] [19]. kussion aus, ob überhaupt noch Xen-Patches
einen Treiber angesprochen werden. Mit dem
im Linux-Kernel gepflegt werden sollen [24]. Die
openPOWERLINK-Stack [12], einer Umsetzung Generell entspricht dieses Prinzip jedoch dem
Virtualisierungslösung der Wahl ist mittlerweile
von CANopen [13] über Ethernet, steht nun ein POSIX-Standard [20]. Dieser gibt für den Fall,
KVM [25], zumindest für die Kernel-Entwickler.
Kommunikationsprotokoll zur Verfügung, das in dass das System nicht sauber heruntergefahren
KVM integriere sich besser in den Kernel, da
der Automatisierungstechnik verwendet wird. wird, jedoch lediglich an, dass der Zustand da-
er keinen eigenen Hypervisor brauche, sondern
nach „undefiniert“ ist. So besteht in nächster Zeit
Diese Übersicht stellt nur einen Auszug der um- die Komponenten des Kernels selbst nutze. Da-
noch Klärungsbedarf, inwieweit Optimierungen
fangreichen Änderungen dar, mit denen 2.6.29 gegen steht, dass KVM nur mit Prozessoren,
an der Basis des Systems althergebrachte Vor-
aufwartet. Eine vollständige Auflistung liefert die die AMD-V oder Intels VT-Technologie aufweisen,
gehensweisen umwerfen dürfen oder auf die Ent-
englischsprachige Seite KerneNewbies.org [14]. genutzt werden kann.
wicklung und Anforderungen der übrigen System-
komponenten und Anwendungen Rücksicht neh- Derzeit unterstützt der Kernel nur DomU, womit
Ärger um Ext4 men müssen. der Betrieb als Gast ermöglicht wird. Nativer Ein-
Kaum nutzt die erste Distribution ext4 als satz als Host erfordert Dom0-Unterstützung, die
Standard-Dateisystem, schon gibt es Ärger [15]: Zwischenzeitlich wurde das Thema nach ei-
vom Xen-Hypervisor zwingend benötigt wird. Die
Das um bis zu 60 Sekunden verzögerte Schrei- ner Mail von Jesper Krogh zu Performance-
Patches für Dom0 werden auch bei der aktuel-
ben von Daten auf die Festplatte, auch als Einbußen bei ext3 [21] wieder aufgerollt und
len Xen-Version 3.3 nur für den Kernel 2.6.18
„Allocate-on-flush“ [16] bekannt, sollte eigent- auch Linus Torvalds meldete sich zu Wort.
geliefert, der jedoch schon etwas älter ist und
lich die Systemleistung steigern und beim Ener- Wiederum musste Ts’o den „Allocate-on-flush“-
aktuelle Treiber missen lässt. Die fortschreiten-
giesparen helfen. Bei Abstürzen der Alpha- Mechanismus und deren Vorteile verteidigen.
de Entwicklung des Kernels könnte, sollten keine
Versionen von Ubuntu 9.04 sorgte es jedoch für Sein Vorschlag, ext4 vorerst nur auf einzelnen
Dom0-Patches für aktuellere Kernel-Versionen

© freiesMagazin GNU FDL Ausgabe 04/2009 19


L INUX ALLGEMEIN

zur Verfügung stehen, zum Verlust von Marktan- [4] https://blueprints.launchpad.net/ubuntu/+spec/ [25] http://de.wikipedia.org/wiki/Kernel-based_Virtual_
teilen bei Xen führen, spätestens wenn der Ker- plymouth Machine
nel 2.6.18 nicht mehr auf aktueller Hardware lauf- [5] http://de.wikipedia.org/wiki/Btrfs [26] http://de.wikipedia.org/wiki/Netfilter
fähig ist. [6] http://de.wikipedia.org/wiki/Squashfs [27] http://www.pro-linux.de/news/2009/13956.html
[7] https://launchpad.net/ecryptfs
Nachfolger für netfilter [8] http://de.wikipedia.org/wiki/Ext4
Autoreninformation
Der im Kernel integrierte Paketfilter netfilter [26] [9] http://de.wikipedia.org/wiki/WiMAX Mathias Menzer wirft gerne einen
bekommt einen Nachfolger. Dieser wird nfta-
[10] http://hostap.epitest.fi/hostapd/ Blick auf die Kernel-Entwicklung, um
bles [27] heißen und wirft einige der alten Kon-
[11] http://linuxwireless.org/en/developers/Documenta mehr über die Funktion von Linux zu
zepte über den Haufen. Die Kernel-Komponente
tion/cfg80211 erfahren und seine Mitmenschen mit
soll ohne Sperren auskommen und erheb-
[12] http://openpowerlink.sourceforge.net/ seltsamen Begriffen und unverständli-
lich weniger Quellcode benötigen. Die Erzeu-
[13] http://de.wikipedia.org/wiki/CANopen chen Abkürzungen nerven zu können.
gung von Regeln erfolgt durch die Userspace-
Komponente, die über eine an iptables ange- [14] http://kernelnewbies.org/Linux_2_6_29
lehnte Syntax gesteuert wird. Dahinter verbirgt [15] https://bugs.launchpad.net/ubuntu/+source/linux/
sich jedoch ein Parser, der eine Prüfung der Re- +bug/317781
geln vornimmt, bevor er sie an das Kernelmodul [16] http://en.wikipedia.org/wiki/Allocate-on-flush
weiterreicht und dieses damit von derlei Aufga- [17] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
ben entlastet. Weiterhin spricht für nftables, dass git;a=commit;h=3bf3342f394d72ed2ec7e77b5b
es komplett protokollunabhängig ist, flexibler und 39e1b50fad8284
auch schneller als netfilter sein soll. netfilter [18] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
dient seit acht Jahren als Basis für Firewall- git;a=commit;h=6645f8c3bc3cdaa7de4aaa3d34d
Funktionalitäten in Linux-Systemen. Es regelt 40c2e8e5f09ae
die Weitergabe von Paketen zwischen Netzwerk- [19] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
schnittstellen und den Eingangs- und Ausgangs- git;a=commit;h=dbc85aa9f11d8c13c15527d43a
warteschlangen. iptables ist die Bedienkompo- 3def8d7beffdc8
nente, mit der netfilter gesteuert wird. [20] http://de.wikipedia.org/wiki/Portable_Operating_
L INKS System_Interface
[21] http://www.linux-magazin.de/news/linus_
[1] http://www.freiesmagazin.de/freiesMagazin-2009-
torvalds_schimpft_ueber_ext_3_und_ext_4
01
[22] http://de.wikipedia.org/wiki/Xen
[2] http://lkml.org/lkml/2009/3/23/449
[23] http://lkml.org/lkml/2009/2/27/411
[3] http://de.wikipedia.org/wiki/Beutelteufel#Die_ „Egg Drop Failure“ © by Randall Munroe
[24] http://www.heise.de/open/artikel/134016
Bedrohung_durch_DFTD (CC-BY-NC-2.5), http://xkcd.com/510

© freiesMagazin GNU FDL Ausgabe 04/2009 20


P ROGRAMMIERUNG

Programmieren in KBasic – Eine kurze Einführung von Bernd Noetscher

ie Sprache KBasic [1] ist eine leis-

D tungsfähige Programmiersprache,
die einfach und intuitiv zu erlernen ist.
Es ist eine neue Programmiersprache ähnlich
zu VB.NET und Visual Basic 6 [2]. KBasic
ist 100 % syntaxkompatibel zu VB6 und QBa-
sic. Außerdem unterstützt KBasic VB.NET di-
rekt durch Funktionen, ähnliche Objekte und
Klassen. Dabei ist es aber kein VB-Klon! Es
handelt sich um eine voll funktionsfähige ob-
jektorientierte Sprache [3], die die modernen
Programmiertechniken mit eigenen Objekten
und Ereignissen unterstützt. Der Artikel soll
eine kleine Einführung in die Sprache geben.

Redaktioneller Hinweis: Der Artikel „Program-


mieren in KBasic“ erschien erstmals bei Pro-
Linux [4] und wird mit freundlicher Genehmigung
des Autors in freiesMagazin unter der GNU Free
Documentation License [5] veröffentlicht.

Einleitung
KBasic ist eine Multi-Plattform-Programmier-
sprache für Mac, Windows und Linux, sodass
fast die gesamte API auf allen Plattformen und
Betriebssystemen gleich ist. Mit KBasic kann
man moderne objektorientierte Anwendungen er-
stellen, z. B. mit Zugriff auf SQL-Datenbanken Beispielformular mit Radio-Buttons.
und das Internet. KBasic ist in englischer und
Programmieren mit KBasic
deutscher Sprache verfügbar. KBasic nutzt Qt Genauso wie in VB6 ist es möglich, im globalen
Ein Programm in KBasic besteht aus einer
als Toolkit für die plattformübergreifenden Funk- Namensraum globale Funktionen, Variablen und
oder mehreren Klassen, Modulen, Formularen
tionen. Konstanten zu deklarieren.
oder einfach nur Funktionen oder Prozeduren.

© freiesMagazin GNU FDL Ausgabe 04/2009 21


P ROGRAMMIERUNG

Des Weiteren sind die einfachen Datentypen wei- 2. Erstellung des Programms mittels des Quell- ã die Bestimmung des Verhaltens der Steuer-
testgehend gleich. Bevor man mit dem Program- texteditor und Formulardesigners. elemente und
mieren loslegen kann, ist es sinnvoll, dass man 3. Abspeichern des Programms. ã die Festlegung der Beziehung zwischen der
ein grundlegendes Verständnis über Computer- 4. Ausführen des Programms, um es zu testen. Benutzerschnittstelle und dem Rest des Pro-
programme hat. gramms.
5. Fehler korrigieren.
Ein Computerprogramm ist eine Liste von Anwei- 6. Zurück zu Schritt 2. Zusätzlich zu den grafischen Möglichkeiten, kann
sungen, die dem Computer sagt, was er tun soll. man mit KBasic noch neue Programmelemente
Die meisten Schritte im Entwicklungsprozess
Der Computer folgt diesen Anweisungen oder Be- erstellen. In KBasic gibt es folgende Programm-
wiederholen sich immer wieder, da Fehler ent-
fehlen, Schritt für Schritt, bis er das Ende des elemente:
deckt und korrigiert werden.
Programms erreicht hat. Jede Zeile eines Com-
Programmelemente
puterprogramms ist für gewöhnlich ein Befehl, Ist Programmieren schwierig? Projekt Es enthält u. a. Klassen, Module
den der Computer ausführt. Jeder Befehl erledigt Ja und nein. Es ist einfach, kleine Program- und Formulare.
nur eine kleine Aufgabe, wie z. B. Zahlen addie- me in KBasic zu schreiben. Die KBasic- Formular Dies sind die Oberflächen des
ren oder einen Text auf dem Bildschirm ausge- Programmiersprache ist logisch, der englischen Programms mit dem zugehörigen
ben. Computer verstehen kein Deutsch oder Eng- Sprache ähnlich und einfach zu verstehen. Mit Ereigniscode.
lisch; sie verstehen auch keine andere menschli- ein wenig Übung kann man einfache und nütz- Klassen/Module Dies sind die Programmteile. Klas-
che Sprache. Computer verstehen nur eine Spra- sen können Methoden und andere
liche Programme schreiben. Alles, was man
Anweisungen enthalten.
che: Maschinensprache. Diese besteht nur aus braucht, ist Zeit.
Prozeduren Diese werden benutzt, um Pro-
zwei Zahlen: 0 und 1. Aber Programmierspra-
gramme zu strukturieren.
chen wie KBasic erlauben Programmierern, Pro- Die Entwicklungsumgebung
gramme mit einer englisch-ähnlichen Sprache zu
Die Entwicklungsumgebung von KBasic ent- Reaktionen auf Ereignisse
entwickeln. Dort gibt es einen Übersetzer, der
hält u. a. Menüleisten, Werkzeugleisten, ein Pro- Eine typische KBasic-Anwendung besteht aus
diese englisch-ähnliche Sprache in Maschinen-
jektübersichtsfenster, einen Quelltexteditor und Formularen, Modulen, Klassen und anderen Ob-
sprache übersetzt, sodass der Computer die Pro-
einen Formulardesigner. jekten, die man zu einer Einheit verbindet. For-
gramme verstehen kann.
mulare und deren Steuerelemente, das Ändern
Man kann KBasic für die schnelle Entwicklung
Ein Computerprogramm besteht aus Entwick- von Daten in einem Feld oder das Anklicken ei-
von grafischen Anwendungen verwenden (Ra-
lungsschritten, wie beim Schreiben eines Be- nes Befehlssymbols durch den Benutzer entspre-
pid Application Development – RAD). Der For-
richts oder einer Geschichte. Die folgenden Zei- chen Ereignissen. Man kann die Reaktion auf
mulardesigner ermöglicht per Drag & Drop und
len sollen diese Schritte verdeutlichen: ein Ereignis steuern, indem man diesem Ereig-
Mausklick
nis KBasic-Anweisungen zuordnet.
1. Entwurf des Programmkonzepts und der Bild-
ã den Entwurf der Benutzeroberfläche eines
schirmmasken, wie sie auf dem Bildschirm KBasic ist objektorientiert. Objektorientierte Pro-
Programms,
aussehen könnten. grammierung ist eines der wichtigsten Konzepte

© freiesMagazin GNU FDL Ausgabe 04/2009 22


P ROGRAMMIERUNG

der letzten Jahre und hat sich auf breiter Linie schiedene Werte berechnen, diese vergleichen ã benutzerdefinierter Datentyp (Type ... End
durchgesetzt. Dort tauchen Begriffe auf wie und je nach Ergebnis des Vergleichs unterschied- Type)
ã das Überschreiben von Klassenprozeduren liche Operationen mit den Werten ausführen. ã benutzerdefinierte Aufzählung (Enum ...
und das dynamische Suchen nach Prozedu- Hier eine Beispieldeklaration einer Variablen: End Enum)
ren, Dim myName As String Mathematik steckt auch drin
ã die Erweiterung einer Klasse, um eine Unter- KBasic unterstützt alle VB6-Operatoren und dar-
klasse zu erzeugen, Zuweisungsanweisungen weisen einen Wert
über hinaus noch einige mehr. Zum Addieren
ã Variablen einer Klasse oder Objekts oder oder Ausdruck einer Variablen zu. Sie enthalten
benutzt man Plus (+), zum Subtrahieren Minus
immer ein Gleichheitszeichen (=). Das folgende
ã Prozedur einer Klasse oder Objekts. (-). Division und Multiplikation werden mit Geteilt
Beispiel weist den Rückgabewert der InputBox-
(/) und Mal (*) durchgeführt. Das folgende Bei-
Installation Funktion der Variablen yourName zu:
spiel gibt „Hallo Welt“ aus, was zuvor aus „Hal-
Die Installation der KBasic-Entwicklungsumge- lo “ und „Welt“ während des Programmablaufs er-
Dim yourName As String
bung ist in einem eigenen Artikel „Installation von stellt wurde:
yourName = InputBox("What is your y
KBasic“ auf Seite 26 beschrieben.
name?") Dim s As String
Einfaches Programmbeispiel: Hallo Welt MsgBox "Your name is " & yourName s = "Hallo " + "Welt"
Jetzt soll sich einem allgegenwärtigen Favoriten PRINT s
zugewendet werden, einem sehr einfachen Pro- Wenn man den obigen Quelltext eingibt und das
Programm startet, wird man aufgefordert seinen
gramm: „Hallo Welt“. Dieses Beispiel gibt den Where do you want to go?
Text „Hallo Welt!“ auf dem Bildschirm aus. Dazu Namen einzugeben. Nach der Eingabe wird die-
ser Name wie eingegeben auf dem Bildschirm In einem Programm werden die einzelnen Anwei-
gibt man folgende Programmzeile in ein neues sungen in Abhängigkeit von Bedingungen und
Quelltextfenster in KBasic ein. Dafür klickt man angezeigt.
Zuständen ausgeführt. Um Zustände und Be-
im Menü auf „Datei » Neu » Neue Datei“ und spei- dingungen abzufragen gibt es spezielle Befeh-
Hell oder Dunkel?
chert diese unter einem neuen Namen: le. Die Befehle, die Entscheidungen und Schlei-
Datentypen beschreiben die Art der gespeicher-
ten Daten. Neben dem Namen muss eine Varia- fen in KBasic steuern, werden als Kontrollstruktu-
Print "Hallo Welt!" ren bezeichnet. Die am häufigsten verwendeten
ble auch einen Typ haben. KBasic unterstützt vie-
le VB6-Datentypen und darüber hinaus noch vie- Kontrollstrukturen in KBasic sind Entscheidungs-
Aller Anfang ist leicht strukturen und Schleifenstrukturen.
le mehr. Mögliche Typen sind:
Im Folgenden werden wesentliche Bestandteile
der Programmiersprache KBasic vorgestellt. ã einer der einfachen Datentypen (z. B. Double Ja oder Nein
für Zahlen oder String für Texte) Entscheidungsstrukturen enthalten bedingte An-
Häufig ist es erforderlich, beim Ausführen von ã Name einer Klasse (ob benutzerdefinierte weisungen, die überprüfen, ob eine Bedingung
Berechnungen mit KBasic Werte vorübergehend Klasse oder KBasic-Klasse) True oder False ist, und legen dann eine oder
zwischenzuspeichern. Man möchte z. B. ver-

© freiesMagazin GNU FDL Ausgabe 04/2009 23


P ROGRAMMIERUNG

mehrere Anweisungen fest, die in Abhängigkeit


vom Ergebnis der Überprüfung ausgeführt wer-
den sollen. Wenn die Bedingung den Wert True
hat, werden die Anweisungen nach Then ausge-
führt, die Anweisungen nach Else werden über-
sprungen. Wenn aber die Bedingung den Wert
False hat, werden hingegen nur die Anweisun-
gen nach Else ausgeführt:

Dim witzig As Boolean = True

If witzig Then
Print "Lachen :-)"
Else
Print "...langweilig!"
End If

Wie oft denn noch?


Einige Schleifen wiederholen Anweisungen, bis
eine Bedingung dem Wert False entspricht, an-
dere, bis eine Bedingung dem Wert True ent-
spricht. Es gibt weiterhin Schleifen, die Anwei-
sungen für jedes Objekt in einer Auflistung oder
mit einer festgelegten Anzahl an Wiederholun-
gen ausführen.

For ... Next wird verwendet, wenn genau be-


kannt ist wie oft Anweisungen wiederholt werden
Eine Klassendefinition in KBasic.
sollen:
Gruppendynamik
Dim i As Integer speichern und zu trennen. Eine Prozedur enthält
Wenn Programme größer werden, wird es auch
bestimmte Anweisungen, die logisch zusammen-
schwieriger, sie zu überschauen und zu verwal-
For i = 0 To 11 gehören. Das folgende Beispiel enthält eine Pro-
ten. Eine Möglichkeit, dem entgegenzuwirken,
Print "wiederhole"+ i zedur, die einen Wert zurück gibt, der aus einer
ist, die Quelltexte zu unterteilen, d. h. verschie-
Next Division ermittelt wurde:
dene Quelltexte in verschiedenen Prozeduren zu

© freiesMagazin GNU FDL Ausgabe 04/2009 24


P ROGRAMMIERUNG

Function divide(dividend As y mittels Inherits kann stattdessen von einer Befehle verwenden möchte, die man von VB6
Double,divisor As Double) As Double beliebigen Klasse geerbt werden. Die Deklara- oder Qbasic her kennt, wie z. B. GoSub oder Zei-
Return dividend / divisor tion einer Klasse besteht aus dem Klassenna- lennummern, so kann man dies auch in KBasic
End Function men und dem Namen der Elternklasse, von der tun. Das folgende Beispiel stellt ein altes QBasic-
die Klasse erbt. Die neue Klasse enthält Kon- Programm dar:
Print divide(18, 9) struktoren und Destruktor-Prozeduren, Klassen-
variablen und Klassenprozeduren, Instanzvaria- OPTION VERYOLDBASIC
Schöne neue Welt: Objekte und Klassen blen und Instanzprozeduren, Klasseneigenschaf- DIM b AS INTEGER
Eine weitere Möglichkeit, den Quelltext zu struk- ten und natürlich Klassenkonstanten der Eltern- b = 45
turieren, besteht darin, dass man Objekte und klasse. Um eine Klasse zu verwenden, benötigt GOTO bernd
Klassen verwendet, um komplexe Sachverhalte man ein Objekt der Klasse. b = 99999
darzustellen. Die Objekte und Klassen in KBasic bernd:
sind ein komplexes Thema, welches hier kurz vor- Class auto PRINT b
gestellt wird. Objekte werden anhand einer Klas- Public s As String L INKS
se erstellt. Eine Klasse enthält die Anweisungen [1] http://www.kbasic.de/
und Datendefinitionen, die ein Objekt beinhalten Sub fahre()
[2] http://de.wikipedia.org/wiki/Visual_Basic
soll. Durch Objekte und Klassen ist es erst mög- Print "fahre ..."
End Sub [3] http://de.wikipedia.org/wiki/Objektorientierte_
lich einfach und schnell komplexe und wiederver-
Programmierung
wendbare Softwaremodule zu schreiben. Sub haltan()
Print "halte an ..." [4] http://www.pro-linux.de/work/kbasic/kbasic-
Um ein Objekt zu erstellen und zu benutzen, End Sub tutorial.html
braucht man eine Variable. Eine Variable, die ein End Class [5] http://www.gnu.org/copyleft/fdl.html
Objekt beinhalten soll, zu deklarieren, erzeugt [6] http://www.kbasic.com/doku.php?id=source_
noch nicht das Objekt selbst. Die Variable ist ent- Dim audi As New auto ’ erstelle y codes
weder nur eine Referenz auf irgendein Objekt neues Objekt anhand auto
oder nichts. Um tatsächlich ein Objekt zu erzeu- Dim bmw As New auto ’ erstelle y Autoreninformation
gen, muss man das Schlüsselwort New benutzen. neues Objekt anhand auto Bernd Noetscher ist der Entwickler
von KBasic. Sein Ziel ist es, Neulingen
Eine Klasse enthält kein Hauptprogramm, son- audi.fahre den Einstieg in die Programmierwelt
dern nur Deklarationen und Prozeduren. Man audi.haltan möglichst einfach zu machen. Dafür
führt nicht eine Klasse, sondern die darin ent- bmw.fahre arbeitet er seit 2000 an der Program-
haltenen Prozeduren als Reaktion auf Ereignisse
miersprache.
aus oder man ruft diese Prozeduren direkt auf. Goto QBasic
Eine Klasse zu definieren ist einfach. Normaler- KBasic ist nicht nur eine Programmiersprache,
weise erbt jede Klasse von der Klasse Object, sondern gleich drei. Wenn man alte BASIC-

© freiesMagazin GNU FDL Ausgabe 04/2009 25


P ROGRAMMIERUNG

Installation von KBasic von Dominik Wagenführ

a in dem Bericht „Programmieren in Für 64-Bit-Nutzer werden die Instal-

D KBasic – eine kurze Einführung“ auf


Seite 21 keine Installationsanleitung
vorkommt, soll diese in einem eigenen Artikel
lation von „getlibs“ [6] und die Instal-
lation der 32-Bit-Bibliotheken empfoh-
len:
nachgereicht werden. Zusätzlich wird auch
genauer auf die Lizenz von KBasic eingegan- # getlibs libqt3-mt y
gen. libqt4-webkit libphonon4 y
libqt4-svg libqt4-sql y
Die Lizenz libsqlite3-0
KBasics Quellcode für die Integrierte Entwick- Hohe Speicherlast beim Kompilieren mit vier Prozessen.
lungsumgebung (IDE), den Compiler und die Vir- natürlich auch verkaufen, muss sie aber unter der Nun kann man (auch als 64-Bit-Nutzer) die 32-
tuelle Maschine (VM) wird laut Lizenzseite [1] un- GPLv3 lizenzieren [4]. Bit-Installationsdatei herunterladen, muss diese
ter der GNU General Public License v3 [2] veröf- vor dem Start aber noch ausführbar machen:
fentlicht. Installation von KBasic
$ wget http://www.kbasic.com/y
Hinweis: Die Installation wurde unter Ubuntu
Da KBasic-Programme in der Open-Source- installer_kbasic_professional_y
8.10 32-Bit (in VirtualBox) und in Ubuntu 8.10 64-
Version immer auch die KBasic-VM benötigen, linux.bin
Bit getestet.
um ausgeführt werden zu können, dürfen laut $ chmod +x installer_kbasic_y
Autor Bernd Noetscher mit der GPL-Version von Installation der vorkompilierten Version professional_linux.bin
KBasic selbst wiederum nur Programme erstellt Auf der Downloadseite von KBasic [5] findet man $ ./installer_kbasic_professional_y
werden, die der GPL unterliegen. Diese Aussa- eine vorkompilierte Version von KBasic für ein 32- linux.bin
ge deckt sich mit der FAQ der Free Software Bit-Linux. Eine 64-Bit-Version gibt es dato noch
Den letzten Befehl muss man mit Root-Rechten
Foundation [3], wenn der GPL-lizenzierte Inter- nicht, diese soll aber mit Version 1.90 in einigen
ausführen, wenn man die Software global (z. B.
preter oder die GPL-lizenzierte VM Teile von sich Wochen folgen. KBasic setzt die Installation fol-
in /opt) installieren möchte.
oder anderen GPL-lizenzierten Programmen in gender Pakete voraus:
das Endprogramm einbindet. Bei der Installation wird ein Starter zur IDE auf
ã libqt3-mt
ã libqt4-webkit dem Desktop angelegt. Hier findet man ebenfalls
Wer Closed-Source- beziehungsweise nicht-
einen Uninstaller, den man auch manuell über
GPL-kompatible Programme mit KBasic entwi- ã libphonon4
die Datei
ckeln will, benötigt daher eine kommerzielle Li- ã libqt4-svg
zenz von KBasic. Mit der Open-Source-Version $ ./uninstaller
ã libqt4-sql
von KBasic erstellte Programme darf man
ã libsqlite3-0

© freiesMagazin GNU FDL Ausgabe 04/2009 26


P ROGRAMMIERUNG

im KBasic-Installationsverzeichnis anstoßen $ wget http://www.kbasic.com/kbasicy sed -i -e ’s,ˆ#define IDE,//#define y


kann. _linux_sourcecode.tar.gz IDE,g’ ../kbshared/define.h
$ mkdir kbasic sed -i -e ’s,ˆ#define RUN,//#define y
Hinweis: Der Installer hat ein Problem, wenn $ tar -xzf kbasic_linux_sourcecodey RUN,g’ ../kbshared/define.h
sich der kompilierte Quellcode von KBasic in .tar.gz -C kbasic rm kbc
einem benachbarten Verzeichnis befindet. Da $ cd kbasic cp -a ../kbshared kbc
man das Deinstallationsverzeichnis nicht ändern aclocal
kann, muss man vorher die manuell kompilier- Um das komplette KBasic (Compiler, IDE und automake -a
te Version in einen anderen Ordner oder auf ei- VM) kompilieren zu können, benötigt man noch autoconf
ne andere Platte verschieben. (Oder man ent- ein – leider nicht mitgeliefertes – Skript. Dieses ./configure --prefix=/usr sysconfdir=/etc
zieht dem Quellcode-Verzeichnis kurzzeitig die soll erst in Version 1.89 integriert werden. Das y
Ausführrechte.) Skript findet man zwar auf der KBasic-Webseite, CXXFLAGS="-O2 -g0 -w"
die dortige Version hat aber leider ein paar Pro- cp -f /usr/bin/libtool .
Installation aus dem Quellcode bleme. Daher wird eine leicht abgewandelte Va- make
Da KBasic unter der GPLv3 veröffentlich wird, ist riante benutzt, welche auch von unserem Ser- cd ..
der Quellcode des Programmes auf der Websei- ver [8] heruntergeladen werden kann:
te verfügbar [7]. Ein damit erstelltes Programm cd kbide
muss wieder unter der GPLv3 veröffentlicht wer- #!/bin/bash
sed -i -e ’s,ˆ#define KBC,//#define y
den. Wer Closed-Source-Projekte mit KBasic cd kbrun
KBC,g’ ../kbshared/define.h
umsetzen will, benötigt eine kostenpflichtige Li- sed -i -e ’s,ˆ#define KBC,//#define y
sed -i -e ’s,ˆ//#define IDE,#define y
zenz (siehe Abschnitt „Die Lizenz“ oben). KBC,g’ ../kbshared/define.h
IDE,g’ ../kbshared/define.h
sed -i -e ’s,ˆ#define IDE,//#define y
sed -i -e ’s,ˆ#define RUN,//#define y
Vor dem Kompilieren benötigt man einige Pakete IDE,g’ ../kbshared/define.h
RUN,g’ ../kbshared/define.h
(mitsamt aller Abhängigkeiten), die für die Gene- sed -i -e ’s,ˆ//#define RUN,#define y
rm moc*
rierung wichtig sind: RUN,g’ ../kbshared/define.h
qmake kbide.pro
ã build-essential(bzw. ein C++-Compiler) rm moc*
make
qmake kbrun.pro
ã automake cd ..
make
ã libtool cd .. Den Inhalt fügt man in einen Texteditor
ã libqt4-dev ein und speichert das Ganze als Datei
ã libphonon-dev cd kbc kbasic-build.sh im Ordner kbasic ab.
sed -i -e ’s,ˆ//#define KBC,#define y
Danach kann man den Quellcode von der Web-
KBC,g’ ../kbshared/define.h Geändert wurde am Skript hauptsächlich die Op-
seite herunterladen und entpacken:
tion -j4 hinter den make-Aufrufen. Über diese
Option werden vier parallele gcc-Kompilierungen

© freiesMagazin GNU FDL Ausgabe 04/2009 27


P ROGRAMMIERUNG

gestartet (siehe „Mehrkern-Prozessoren mit ma- Hinweis: Auf einem 64-Bit-System klappt die Ge- Da KBasic aber Open Source ist, kann man
ke ausnutzen“, freiesMagazin 03/2008 [9]). Das nerierung auf diese Art leider immer noch nicht, den Quellcode natürlich nach Belieben an-
ist vor allem bei Mehrkernsystemen sinnvoll, da zahlreiche Fehler der Art passen und diese zwei Fenster entfernen
hat aber leider den Nachteil, dass jeder gcc- (kbide/_mainwindow.cpp enthält hierbei den
Prozess etwa 400 MB Speicher verbraucht. Star- stack.h:104: Fehler: Typumwandlung relevanten Part). Für Version 1.89 hat Bernd
tet man also diese vier Prozesse, werden bis zu von »memory_variable2*« nach Noetscher bereits eine Anpassung versprochen.
1,6 GB gleichzeitig benötigt – neben dem Spei- »t_integer« verliert Genauigkeit
cher, den das Betriebssystem braucht. Da heu- L INKS
gemeldet werden. Dies soll sich, wie oben bereits
tige Standard-Rechner noch nicht alle über eine [1] http://www.kbasic.com/doku.php?id=kbasic_s_
erwähnt, mit Version 1.90 von KBasic ändern. license
so große Menge an Speicher verfügen, ist die Op-
tion sehr gutgläubig vom Skript-Autor eingebaut Die KBasic-IDE kann über [2] http://www.gnu.org/licenses/gpl.html
worden und wurde daher wieder entfernt. Dann [3] http://www.gnu.org/licenses/gpl-faq.html#
dauert die Kompilierung gegebenenfalls länger, $ ./kbide/kbide IfInterpreterIsGPL
aber zumindest friert das System beim Kompilie- [4] http://www.gnu.org/licenses/gpl-faq.html#
ren nicht plötzlich ein, weil sämtlicher Speicher gestartet werden. Man erhält dann aber gege- GPLCommercially
belegt ist. Wer genügend Speicher und mehr Ker- benenfalls einige Warnhinweise mit der Meldung
[5] http://kbasic.de/download.html
ne im System hat, kann das -j4 wieder einfügen. „Could not read from ...“. Diese kann man ge-
[6] http://wiki.ubuntuusers.de/getlibs
Daneben wurde noch der Pfad für libtool geän- trost ignorieren, da die Datei kbasic.config bei
der Quelltext-Version nicht mitgeliefert, und da- [7] http://www.kbasic.com/doku.php?id=source_
dert, da ein %_bindir unter Linux-Systemen kei-
codes
nen Erfolg verspricht. her auch nicht gefunden wird.
[8] http://www.freiesmagazin.de/system/files/kbasic-
Das Skript hat noch ein weiteres großes Problem: Der IDE-Start build.sh
Wenn bei irgendeinem Schritt ein Fehler auftritt, [9] http://www.freiesmagazin.de/freiesMagazin-2008-
Nach dem Start der IDE wird man in der Version
hält die Generierung nicht an, sondern macht 03
1.87 von zwei Fenstern begrüßt. Das erste in-
einfach weiter. Dadurch werden Fehler bei der formiert über die GPL-Lizenz der Linux-Version.
Generierung gegebenenfalls übersehen oder es Autoreninformation
Dies ist zwar sinnvoll, ein einmaliges Einblenden
werden massig Fehlermeldungen ausgegeben, würde aber reichen. Das zweite Fenster ist da- Dominik Wagenführ ist Software-
die nur Folgefehler sind. nach etwas verwirrend, da plötzlich behauptet entwickler und programmiert auch
wird, KBasic sei keine Freie Software, obwohl in seiner Freizeit. KBasic steht zwar
Wenn man den zuletzt genannten Punkt ignoriert,
ein Schritt zuvor über die GPL informiert wurde. nicht auf seiner Lernliste, aber er
muss man das Skript noch ausführbar machen
Da es dennoch einen Knopf „Use GPL Version“ findet, dass der andere KBasic-Artikel
und kann die Generierung starten:
gibt, ist dies höchstwahrscheinlich nur ein kleines ohne Installation oder Lizenzerklä-

$ chmod +x build.sh Überbleibsel der Windows-Version. rung nur halb so viel wert ist.

$ ./build.sh

© freiesMagazin GNU FDL Ausgabe 04/2009 28


DATENVERWALTUNG

Datensammlung mit Tellico von Dominik Wagenführ

er Mensch ist ein Jäger und Samm- sind gegebenenfalls einige Menüpunkte im Pro- In auf Debian basierenden Distributionen kann

D ler. Waren es vor einigen Jahren noch


Briefmarken und Kronkorken, sind es
heute eher DVDs und Computerspiele. Damit
gramm nicht übersetzt, wenn man die optionalen
KDE-Sprachpakete nicht selbst installiert.
man die Abhängigkeiten auch über den Befehl

# apt-get build-dep tellico


man die Übersicht nicht verliert, gibt es ver- Installation
schiedene Helfer, solche Sammlungen zu ka- mit apt-get installieren.
Über die Paketverwaltung
tegorisieren [1]. Tellico [2] ist ein solches Hel- Tellico ist eigentlich in allen Distributionen als vor- Nach der Installation obiger Pakete und dem
ferlein. Das KDE-Programm hat dabei auch kompiliertes Paket enthalten und kann über das Download des Tellico-Quellcodes entpackt man
zahlreiche Sammlungen vordefiniert. Paket tellico installiert werden. Dabei werden, das Tar-Archiv und führt in dem entpackten Ord-
wie oben erwähnt, auch KDE-Bibliotheken mit in- ner den bekannten Dreisatz zum Kompilieren
Einleitung stalliert. aus:
Tellico ist ein KDE-Programm für die Verwaltung
von Sammlungen und wird von Robby Stephen- Programm selbst kompilieren $ ./configure
son entwickelt. Es gibt verschiedene vordefinier- Wer möchte, kann sich die allerneueste Ver- $ make
te Sammlungen wie z. B. für Computerspiele, Fil- sion als Quellcode von der Webseite herunterla- # make install
me, Bücher, Musik, Briefmarken und vieles mehr. den [3]. Zur Zeit ist Version 1.3.5 aktuell. Um Tel-
Für diesen Artikel soll eine eigene Sammlung an- lico zu kompilieren, benötigt man folgende Ent- Anstelle des make install kann auch
gelegt werden. Und was läge näher, als die Arti- wicklerpakete (samt aller Abhängigkeiten): checkinstall genutzt werden, wenn das zuge-
kel aus freiesMagazin zu kategorisieren? hörige Paket vorher installiert wurde. checkinstall
ã build-essential (enthält C++-Compiler und sorgt dafür, dass alle Dateien in ein Paket ge-
diverse Werkzeuge) packt werden und später wieder leicht über die
ã libqt3-mt-dev Paketverwaltung entfernt werden können.
Die Symbole zur Erstellung neuer Einträge ã kdelibs4-dev
Achtung: Bei der Installation müssen die fol-
(links), zur Bearbeitung der Datenfelder (mittig ã libexempi-dev
genden alten Tellico-Pakete vorher manuell dein-
links), zur Berichtserstellung (mittig rechts) und ã libpoppler-qt-dev stalliert werden: tellico, tellico-data und tellico-
für die Filterung (ganz rechts). ã libtag1-dev scripts.
Wer Tellico im GNOME-Desktop einsetzt, sei vor- ã libyaz3-dev
gewarnt, dass der erste Start des Programms im- Auf die Installation der Pakete für die CDDB-
Erstellung der Sammlung
mer etwas länger dauert. Dies liegt daran, dass Unterstützung und die Interaktion mit KOrgani- Konzepterarbeitung
Tellico KDE-Bibliotheken benötigt, die erst in den zer wurde verzichtet, da diese sehr viele KDE4- Bevor man eine neue Sammlung anlegt, sollte
Speicher geladen werden müssen. Zusätzlich Bibliotheken nachinstallieren müssten. man sich klar darüber werden, welche Informa-

© freiesMagazin GNU FDL Ausgabe 04/2009 29


DATENVERWALTUNG

tionen man speichern will und welchen Datentyp aber bereits. Unter „Beschreibung“ ergänzt man Auswahlmöglichkeiten „2009; 2008“) und der Sei-
die Information haben soll. eine sinnvolle kurze Beschreibung des Datenfel- te vor.
Die Sammlungen lassen sich natürlich auch im- des, z. B. „Titel des Artikels“. Einen „Standard-
mer leicht erweitern, aber so spart man sich eine wert“ gibt es nicht. Bei den Formatierungsoptio- Da man sicher auch daran interessiert ist, wel-
spätere Ergänzung einzelner Datenfelder. nen kann man „Als Titel formatieren“ stehen las- che Artikel in einer bestimmten Ausgabe erschie-
sen. Dies sorgt dafür, dass in der Anzeige spä- nen sind, muss man hierfür ein besonderes Feld
Für die freiesMagazin-Artikel sind folgende Infor- ter, bis auf bestimmte und unbestimmte Artikel anlegen. Man erstellt einen neuen Eintrag mit
mationen interessant: und einige weitere Wörter, alles groß geschrie- dem Titel „Ausgabe“. Als Typ stellt man „Ab-
ã Titel (Text) - Diese Information enthält den Ti- ben wird. Bei den Feld-Optionen sollte nichts ak- hängig“ ein. Die Beschreibung ist „freiesMagazin
tel des Artikels. tiviert werden. %{Monat}/%{Jahr}“. Eine Gruppierung muss logi-
scherweise erlaubt sein. Die Syntax „%{FELDBE-
ã Autor (Text) - Wer hat den Artikel geschrie- Als Nächstes wird über die Schaltleiste „Neu“ auf ZEICHNUNG}“ holt sich damit den Inhalt dieses
ben?
der linken Seite ein neuer Eintrag erstellt. Als „Ti- Feldes und zeigt ihn ausgewertet an.
ã Monat (Auswahl) - In welchem Monat er- tel“ trägt man „Autor“ ein und ergänzt eine gute
schien der Artikel? Beschreibung. Die Formatierung sollte man auf Es gibt daneben noch weitere Datentypen wie
ã Jahr (Auswahl) - Und in welchem Jahr? „Als Namen formatieren“ umstellen. Dies sorgt Checkboxen, Bewertungen (mit Sternen), Bilder,
ã Seite (Nummer) - Die Seite, auf der der Artikel dafür, dass eine Eingabe wie „Max Mustermann“ Tabellen, URLs und mehr.
beginnt. immer als „Mustermann, Max“ angezeigt wird.
Daten eingeben
Die „automatische Vervollständigung“ ist sinnvoll,
Sammlung erstellen Man sollte bei der Reihenfolge der erstellten Da-
da es sicher Autoren gibt, die mehrere Artikel ver-
Zuerst öffnet man Tellico über den Menüpunkt tenfelder beachten, dass diese immer abwech-
fasst haben. Auch „Mehrere Einträge erlauben“
„Büro » Tellico“. Über „Datei » Neu » Neue benut- selnd von rechts nach links und von oben nach
sollte man aktivieren, da Artikel von zwei oder
zerdefinierte Sammlung“ erstellt man eine neue unten in zwei Spalten im Eingabefenster aufge-
mehr Autoren verfasst sein können. Mehrfachein-
Sammlung. Da das Ergebnis sehr leer aussieht, teilt werden. Die Reihenfolge kann man bei der
träge kann man später bei der Eingabe per Se-
sollte man obige ausgearbeiteten Datenfelder Bearbeitung der Datenfelder jederzeit ändern.
mikolon trennen. Eine „Gruppierung“ sollte man
hinzufügen. Dazu wählt man „Sammlung » Da- auch erlauben, um sich alle Artikel eines Autors Um einen Neueintrag zu tätigen, wählt man
tenfelder der Sammlung“ oder klickt auf das zu- auflisten lassen zu können. „Sammlung » Neuer Eintrag“ oder klickt das Icon
gehörige Symbol mit dem Zettel und dem Stift mit dem leeren Eintragsfeld (links neben dem
darauf. Danach fügt man den Monat mit Typ „Auswahl“
Icon mit dem Stift) an.
hinzu. Die Auswahlmöglichkeiten schreibt man je-
Es gibt immer einen vordefinierten Eintrag „Ti- weils durch ein Semikolon separiert in das Feld In dem erscheinenden Dialog füllt man alle Fel-
tel“, der sich zwar nicht entfernen, dafür aber „Erlaubte Werte“, also „01; 02; 03; 04; 05; 06; 07; der aus und wählt „Speichere Eintrag“. Über
umbenennen lässt. In diesem Fall passen die 08; 09; 10; 11; 12“. Alle anderen Felder lässt man „Neuer Eintrag“ kann man weitere Einträge täti-
Feld-Eigenschaften „Titel“, „Typ“ und „Kategorie“ leer. Identisch geht man mit dem Jahr (mit den gen.

© freiesMagazin GNU FDL Ausgabe 04/2009 30


DATENVERWALTUNG

Leiste oben auf das dialog, über den man verwalten kann, wem man
Feld mit dem klei- z. B. eine DVD ausgeliehen hat. Auch ein Daten-
nen Dreieck. Wählt abgleich mit verschiedenen Anbietern wie Ama-
man z. B. „Autor “ zon oder Internet Movie Database sind ohne Wei-
aus, sieht man in der teres möglich. Dies hilft vor allem bei der Eingabe
linken Fensterhälfte von Büchern, Filmen oder anderen Medien, die
eine Liste aller Auto- eine eindeutige Kennung haben. In den Einstel-
ren mit der Anzahl lungen findet man eine ganze Reihe an weiteren
der Artikel in Klam- Optionen.
mern hinter dem Na-
men. Ein Klick auf Insgesamt ist Tellico ein sehr sinnvoller Helfer bei
das „Plus“ vor dem der Verwaltung von Daten. Es ersetzt zwar keine
Alle Einträge in der Übersicht. Eintrag listet alle Arti- komplexe Datenbank, für die ein Privatanwender
kel auf. Klickt man nur auf den Autor, und derjeni- aber meistens sowieso keine Verwendung hat.
Ansicht und Gruppierung ge hat mehr als einen Artikel verfasst, wird in der Nicht-KDE-Nutzer könnte stören, dass das Pro-
rechten unteren Fensterhälfte jeder Artikel mit gramm auf Qt basiert, die Integration in GNOME
Ansichtseinstellungen
ist aber gut genug. Wer darüber hinwegsieht, er-
Auf der rechten oberen Seite im Tellico-Fenster einem Icon dargestellt. Durch eine Mehrfachaus-
hält ein praktisches Programm zur Sammlungs-
sieht man alle aktuellen Einträge. Am Anfang ist wahl (per Strg oder Shift ) kann man so auch
verwaltung.
nur die Spalte „Titel“ sichtbar. Für die anderen mehrere Datensätze auf einmal bearbeiten.
Datenfelder klickt man mit der rechten Taste auf L INKS
Filter
die Leiste „Titel“ und kreuzt die gewünschten Ein-
Neben der Sortierung und Gruppierung kann [1] http://wiki.ubuntuusers.de/Medienverwaltung
träge an. Durch einen Klick auf eine Spalte sor-
man Einträge auch herausfiltern. Man muss da- [2] http://periapsis.org/tellico/
tiert man die Sammlung nach dem gewünschten
für nur in das Feld rechts neben dem weißen X [3] http://periapsis.org/tellico/download/
Feld.
einen Suchbegriff eingeben, und schon werden
Klickt man einen Eintrag an, erscheint rechts un- die Einträge gefiltert. Durch einen Klick auf den Autoreninformation
ten eine Übersicht mit allen Inhalten der Datenfel- Trichter kann man die Ergebnisse aber noch viel
genauer filtern. Dominik Wagenführ ist Redakteur
der.
bei freiesMagazin und verwaltet
Gruppierung Fazit alle seit 2006 verfassten Artikel des
Auf der linken Seite sieht man die Sortierung Magazins in einer Tellico-Datenbank.
Tellico hat noch mehr zu bieten. So kann man
nach Gruppen. Um eine Gruppe auszuwählen Auf diese Art findet er leicht Autoren
komplette Berichte aus den eigenen Sammlun-
(alle Datenfelder mit der Eigenschaft „Erlaube und Artikel vergangener Ausgaben.
gen erstellen, als HTML speichern oder gleich
Gruppierung“ zählen dazu), klickt man in der ausdrucken. Daneben gibt es noch einen Ausleih-

© freiesMagazin GNU FDL Ausgabe 04/2009 31


T EXTEDITOR

Kurztest: Etherpad von Mathias Menzer

o vielseitig Emacs, vi, Nano und Co einen Delete-Knopf sucht man vergebens. Sol- dem man ihnen kurz und bündig die URL in

S auch sein mögen – wollen mehrere


Personen gleichzeitig an einem Text
arbeiten, sehen die alten Haudegen schnell
che Möglichkeiten sind erst für die kostenpflich-
tige Version vorgesehen, die jedoch noch nicht
angeboten wird. Hier sollen dann auch weitere
den Chat kopiert oder diese auf anderem We-
ge bekannt gibt. Apropos Chat: Eine Chatfunk-
tion existiert ebenfalls, sodass für die gemein-
alt aus. Während Google Text & Tabellen Sicherheitsfunktionen hinzukommen. Welche ge- same Sitzung auch nicht mehr auf zusätzliche
(auch Google Docs genannt) eine grundlegen- nau, wird jedoch nicht angegeben. Anwendungen zurückgegriffen werden muss. Die
de Zusammenarbeit über das Internet ermög- verschiedenen Personen
licht, ist eine gleichzeitige Bearbeitung aus- werden mit unterschied-
geschlossen, da die Aktualisierungsinterval- lichen Farben versehen,
le zu lang sind. somit sind die geschrie-
benen Texte jeweils zu-
Etherpad [1] dagegen erlaubt eine gemeinsame ordenbar. Auch die Chat-
Sitzung und Bearbeitung nahezu in Echtzeit. Ein Nachrichten folgen der
neues Pad kann ohne vorherige Anmeldung er- Farbgebung.
stellt werden. Dies geschieht zum einen durch
einen Klick auf „Create new pad“ auf der Startsei- Weitere Hilfsmittel las-
te, wodurch Etherpad einen zufälligen Verzeich- sen sich in den Optio-
nispfad (z. B.: http://etherpad.com/HDYuPGyh37) nen einschalten, zum
erzeugt. Zum anderen kann man die Pfadbe- Beispiel eine Nummerie-
zeichnung hinter dem Host- und Domain-Teil der rung der Zeilen oder der
URL selbst vorgeben (z. B.: http://etherpad.com/ Zeilenumbruch. Syntax-
freiesMagazin). Existiert diese URL noch nicht, Highlighting gibt es bis-
so bietet Etherpad an, sie zu erstellen. Eine Be- lang nur für JavaScript.
nutzeranmeldung existiert nicht. Jeder, der die Formatierungen sind
exakte URL kennt, kann auf sie zugreifen und Etherpad als reinem Text-
den Inhalt des Pads verändern. Um den größten editor fremd, Überschrif-
Schaden zu verhindern, lassen sich Revisionen ten und Formatierungen
erstellen, auf deren Stand man das Pad zurück- Dieser Artikel entstand in Etherpad, wenn auch der Autor nur seine müssen somit irgendwie
setzen kann. Änderungen, die in der Zwischen- Arbeit auf mehrere Rechner verteilte. anders markiert werden.
zeit vorgenommen wurden, sind dann natürlich Etherpad verträgt bis zu sieben Anwender an Eine Rechtschreibprüfung ist ebenfalls nicht vor-
dahin. Die Revisionen lassen sich betrachten, je- einem Pad. Diese können entweder über eine handen. Diese Aufgabe kann jedoch der Web-
doch nicht löschen. Dies gilt auch für das Pad, Einladungs-E-Mail hinzugerufen werden, oder in- browser übernehmen, wenn er zur Kontrolle der

© freiesMagazin GNU FDL Ausgabe 04/2009 32


T EXTEDITOR

Orthografie in Text-Eingabefeldern angewiesen darin, dass eben keine eigene Anwendung au- L INKS
wurde. ßer einem Webbrowser benötigt wird und da- [1] http://etherpad.com/
mit die Hürden für den Einstieg sehr niedrig lie- [2] http://gobby.0x539.de/
Fazit gen. Auch die Installation eines Server entfällt,
Etherpad erfüllt seinen Job, und das gut. Das zudem nutzt Etherpad keine eigenen Protokol- Autoreninformation
gemeinschaftliche Arbeiten an einem Text läuft le und Ports, womit auch Anwender hinter einer
angenehm flüssig. Die Verzögerung, bis die an- Firewall oder einem Web-Proxy nicht von vorne- Mathias Menzer bearbeitet oft
deren die eigenen Eingaben zu sehen bekom- herein ausgeschlossen werden. Einen faden Bei- und gerne Texte mit Freunden
men, liegt weit unter einer Sekunde. Das Inter- geschmack hinterlässt die Speicherung der Inhal- und Kollegen. Werkzeuge, die dies
face ist übersichtlich gehalten und intuitiv be- te und der Revisionen auf unbestimmte Zeit. Da- ermöglichen, sind ihm da immer
dienbar – auch aufgrund der eher eingeschränk- rüber, firmeninterne oder sonstige sensitive Tex- willkommen.
ten Optionen. Ein Vorteil gegenüber eingeses- te mit Etherpad zu bearbeiten, sollte man nicht
senen Anwendungen wie z. B. Gobby [2] liegt einmal nachdenken.

„Keeping Time“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/389

© freiesMagazin GNU FDL Ausgabe 04/2009 33


S ERVICE

Linux-Herstellerunterstützung: DVD-Brenner-Update von Dominik Wagenführ

uch wenn ein Update des DVD- tet hat. Zusätzlich wurde sich bei der Anfrage und als Produktmodell den gewünschten DVD-

A Laufwerks eher selten vorgenommen


wird, kann es mitunter hilfreich sein.
Durch eine neue Firmware werden mehr Me-
nur auf ein bestimmtes aktuelles DVD-Modell be-
schränkt.
Brenner, kann man das Formular nicht einfach
abschicken. Obwohl es nur um eine simple tech-
nische Anfrage geht, muss man sehr detaillierte
dien unterstützt und gegebenenfalls neue Folgende Frage wurde, soweit möglich, an alle Informationen zu Mainboard, Grafikkarte, Prozes-
Funktionen freigeschaltet. Schön wäre es Hersteller gestellt: sor, Arbeitsspeicher und anderem angeben. In-
da natürlich, wenn man das Ganze bequem teressant ist auch, dass man eine Produktseri-
unter Linux durchführen könnte. Die Frage Guten Tag, ennummer oder ein Kaufdatum für das noch gar
ist, inwieweit man bei diesem Vorhaben von nicht erstandene Gerät angeben soll. Asus rech-
den Herstellern unterstützt wird. Ein kleiner ich würde gerne einen DVD-Brenner net wohl nicht damit, dass sich jemand vorab in-
Service-Check soll es zeigen. von Ihnen kaufen, verstehe es aber formieren möchte. Für einen normalen Benutzer,
so, dass man ein Firmware-Update der den PC nicht selbst zusammengebaut hat, ist
Das Thema „DVD-Brenner-Update unter Linux“ nur per Windows einspielen kann. Da die Beantwortung der geforderten Angaben ein
kam in einem Thread im ubuntuusers-Forum ich das Betriebssystem nicht habe, Ding der Unmöglichkeit.
auf [1]. Es erstaunte mich, dass es anscheinend sondern Linux nutze, wie kann ich
echt keinen DVD-Hersteller zu geben scheint, sonst Ihren Brenner updaten? Aus diesem Grund wurde die Formularanfra-
der Linux direkt unterstützt bzw. schlimmer noch, Vielen Dank im Voraus für eine ge verworfen und direkt eine E-Mail an das
dass alle wirklich ein installiertes Windows vor- Antwort Marketing-Team von Asus [4] geschickt. Eine Ant-
aussetzen. wort auf die Anfrage steht aber bis heute noch
Dominik Wagenführ aus.
Der Test
Die Anfrage wurde in den meisten Fällen am LiteOn
Für den Test wurden die bekanntesten DVD-
9. Januar (einem Freitagabend) getätigt, sodass Über die Lite-On-Webseite [5] gelangt man sehr
Hersteller ausgesucht, um den Vergleich etwas
mit einer Antwort frühestens am darauffolgenden schnell zur technischen Kontaktadresse, die für
einzuschränken. Dabei wurde sich auf die Web-
Montag gerechnet werden konnte. optische Laufwerke (ODD) zuständig ist. Da die
seite begeben und versucht mit einer Technik-
fachkraft oder einen Marketing-Berater Kontakt Seite komplett in Deutsch gehalten ist, wurde die
Die Ergebnisse E-Mail auch in Deutsch verschickt.
aufzunehmen. Aufgrund rechtlicher Gründe wer-
den die Antworten der Hersteller – falls es diese Asus
Am Dienstag, den 13. Januar, kam die Bitte um
gab – nicht zitiert, sondern nur sinngemäß wie- Der Kontakt über die Asus-Seite [2] ist nicht ge-
eine englische Anfrage, der ich auch nachgekom-
dergegeben. Es sei darauf hingewiesen, dass ei- rade leicht. Man findet die Kontaktseite für den
men bin, auch wenn sicher einige Anwender an
ne Antwort auch vom persönlichen Wissen des technischen Service [3] zwar schnell, stellt man
dieser Stelle aufgeschmissen wären. Die Antwort
Angestellten abhängt, der die Anfrage beantwor- als Produkttyp aber „optische Archivierung“ ein

© freiesMagazin GNU FDL Ausgabe 04/2009 34


S ERVICE

auf die zweite, englische E-Mail landete am Mon- Die Antwort kam am Dienstagabend und war lei- Samsung
tag, den 19. Januar, im Posteingang. der negativ, da die DVD-Brenner von Pioneer nur Auf der Seite vom Samsung findet man das Kon-
unter Windows aktualisiert werden können. taktformular [16] zwar mit zwei Klicks, leider war
Das Resultat war der höfliche Hinweis, dass Lauf- es in Firefox 3.0.4 und Opera 9.60 Beta 1 nicht
werke von Lite-On keine Firmware-Updates unter Plextor bedienbar, da es kein Eingabefeld für das zwin-
Linux unterstützten und dass Microsoft Windows Plextor scheint keine deutsche Kundschaft zu gend erforderliche Modell gab. Dies lag wahr-
hierfür empfohlen wird. mögen, denn wenn man die deutsche Seite an- scheinlich an einem weißen Flash-Banner, wel-
wählt, wird man nur zu Plextor Europe [10] um- ches vor dem Eingabefeld lag.
Enttäuschend, aber auch so zu erwarten. geleitet, die komplett in Englisch gehalten ist. In-
gesamt scheint die Webseite auch nicht sehr ak- Nach der Installation von Ubuntu Intrepid und
LG
tuell zu sein, stehen doch auf der Kontaktsei- Opera 9.63 bzw. Firefox 3.0.6 konnte die Sei-
Auch der Kontakt auf der LG-Webseite [6] konn-
te [11] noch Urlaubsdaten von 2007. Davon ab- te korrekt angezeigt werden, die Auswahl des
te schnell hergestellt werden, das Kontaktformu-
gesehen gelangt man hierüber an das Kontakt- DVD-Modells umfasst aber leider eine vordefi-
lar [7] ist in Deutsch gehalten.
formular [12], welches dann wieder in Deutsch nierte Liste mit älteren Modellen. Etwas nega-
Im Gegensatz zu den anderen Herstellern wur- ausgefüllt werden kann. tiv ist, dass Samsung bei der Kontaktaufnahme
de die Anfrage morgens am 9. Januar verschickt auch Straße, Telefonnummer oder Postleitzahl er-
Die Anfrage wurde am Mittwoch, den 14. Janu- fragen möchte, die Felder können aber auch mit
und bereits kurz nach Mittag am gleichen Tag traf
ar, beantwortet. Zwar unterstützt Plextor Linux einem „-“ gefüllt werden.
eine Antwort ein. Leider war diese wie im Fall
nicht selbst, aber immerhin wurde auf eine
von Lite-On negativ, da nur Windows-basierende
Webseite [13] mit mehr Informationen verwie- Die Anfrage wurde aufgrund der obigen Pro-
Betriebssysteme unterstützt werden. Für Linux
sen. Hierüber gelangt man auf eine Zwischen- bleme nachträglich am Samstag, den 7. Febru-
konnte leider kein Support gegeben werden.
seite für Linux/Unix [14], auf der man er- ar 2009, getätigt. Die vielversprechende Antwort
Pioneer fährt, dass Jörg Schilling (u.a. Entwickler von traf am 11. Februar ein.
Pioneer hat, was den reinen Service-Ablauf cdrecord) eine Firmware-Update-Software für
Linux bereithält [15]. Auf dem FTP-Server fin- Der Hotline-Mitarbeiter kannte die exakte Ant-
angeht, am Besten abgeschnitten. Über die
det man im Ordner firmware/plextor die Ver- wort zwar nicht, hat die Anfrage aber an wis-
Pioneer-Webseite [8] gelangt man über den
sion pxupdate-1.39-i686-pc-linux-gnu von sende Kollegen weitergeleitet. Zusätzlich hat er
„Support“- und dann den „Hotline“-Link zum Kon-
Ende 2004. als Umgehungsmöglichkeit die Verwendung ei-
taktformular [9].
ner Windows-Live-CD empfohlen und dabei auf
Wenn man die Anfrage erstellt hat, erhält man ne- Ob das Programm seinen Dienst wirklich tut, einen unbestimmten Artikel in der c’t hinge-
ben einer Eingangsbestätigung (im Übrigen die konnte aufgrund fehlender Hardware nicht getes- wiesen. Darüber hinaus ist das Stichwort „PE-
einzige im Test) auch eine URL, auf der man den tet werden. Es ist aber erfreulich, dass Plextor Builder“ gefallen.
ganzen Kontakt nachvollziehen und eine Anfrage auf ein privates Projekt verweist und so Linux-
Nutzern die Möglichkeit gibt, ein Update in ihrem Wenn man die Stichworte in eine Suchmaschine
gegebenenfalls verbessern kann.
Betriebssystem durchzuführen. eingibt, landet man sehr schnell auf der Seite von

© freiesMagazin GNU FDL Ausgabe 04/2009 35


S ERVICE

Barts PE Builder [17], mit dem man von einer Fazit [8] http://www.pioneer.de/
bestehenden Windows-XP-CD ein Live-System Der Test war an und für sich etwas gemein, [9] http://www.pioneer-hotline.de/
erstellen kann. Als Nachfolger davon wurde Vi- da bereits im Vorfeld bekannt war, dass nur [10] http://www.plextor-europe.com/
staPE [18] erstellt, welches für das neue Sys- wenige Hersteller – wenn überhaupt – ein
[11] http://www.plextor-europe.com/technicalservices/
tem Windows Vista geeignet ist. Die Projektseite Firmware-Update unter Linux unterstützen. Es support/contact_support.asp?choice=Contact%
von heise zu diesem Thema [19] hält auch eini- überrascht daher nicht, dass fast alle Antworten 20support
ge Links parat, besonders die Seite für den PE auf ein Windows-Betriebssystem verweisen. Ein-
[12] http://plextor-sup.quicksupportlink.com/callform/
Builder [20]. zige Ausnahme ist Plextor, die zwar selbst keine pages/callform.asp?c_id=12
Linux-Unterstützung anbieten, aber zumindest
Die Erstellung solch einer Live-CD ist aber sicher [13] http://www.plextor.be/technicalservices/
auf ein Community-Projekt verweisen. Die Ant-
technology/linux.asp?choice=Linux%20support
nicht Teil dieses Artikels, eine gültige Windows- wort des Samsung-Mitarbeiters war auch vielver-
Lizenz samt CD wird hierfür leider auch voraus- [14] http://www.plextor.be/technicalservices/
sprechend, da die Möglichkeiten einer Windows-
gesetzt, sodass sich der Nutzen für reine Linux- downloads/firmw_prog.asp?choice=Upgrade%
Live-CD aufgezeigt wurden. Leider benötigt man
Nutzer in Grenzen hält. 20programs
dazu aber eine Windows-CD mit gültiger Lizenz.
[15] ftp://ftp.berlios.de/pub/cdrecord/
Sony NEC Wer seinen DVD-Brenner bzw. fast jedes opti- [16] http://support.samsung.de/common/contactus_
Sony NEC setzt stark auf Flash und JavaScript. sche Laufwerk mit einer neuen Firmware aktua- formular.aspx?SITE_ID=6&PROD_ID=964
Von der Hauptseite [21] gelangt man über „Sup- lisieren möchte, ist in den meisten Fällen auf [17] http://nu2german.de/pebuilder319.shtml
port » Kontakt“ auf die Kontaktseite und das Windows angewiesen, denn selbst eine DOS- [18] http://vistape.net/
Online-Kontaktformular [22]. Aufgrund ähnlicher Diskette bzw. -CD hilft in keinem Fall weiter. [19] http://www.heise.de/ct/projekte/pebuilder/
Probleme wie bei Samsung oben konnte die An- Zumindest hat keiner der Hersteller diese Op- [20] http://www.heise.de/ct/projekte/pebuilder/
frage erst am 7. Februar getätigt werden. tion vorgeschlagen. Man würde sich hier definitiv pebuilder2008.shtml
mehr Alternativen wünschen.
Die Antwort kam am abends am 13. Februar mit [21] http://www.sony.de/
dem Hinweis, dass Sony Deutschland keine Infor- L INKS [22] http://www.sony.de/article/id/1069862791363
mationen zu den Sony-Nec-Optiarc-Geräten be- [23] http://www.sony-optiarc.eu/de/contact.html
[1] http://forum.ubuntuusers.de/topic/gibt-es-dvd-
sitzt. Ich solle es doch bei den Kollegen versu- brenner-die-nicht-windows-fuer-ei/
chen [23]. Autoreninformation
[2] http://www.asus.de
Das habe ich am Morgen des 17. Februar auch [3] http://vip.asus.com/eservice/techserv.aspx? Dominik Wagenführ interessiert
getan. Ob die Nachricht abgeschickt wurde, ist SLanguage=de-de sich sehr für die Linux-Unterstützung
ungewiss, da nach dem Klick auf „Senden“ kei- [4] http://www.asus.de/legal.aspx diverser Hardwaregeräte und wollte
nerlei Bestätigung gekommen ist und nur das [5] http://www.liteonit.eu/de/ mit diesem Test einigen Herstellern
komplette Formular geleert wurde. [6] http://de.lge.com/ auf den Zahn fühlen.

[7] http://de.lge.com/support/contact_gcsc.jsp

© freiesMagazin GNU FDL Ausgabe 04/2009 36


V ERANSTALTUNG

Rückblende zur CeBit 2009 von Matthias Kietzke

wischen dem 3. und 8. März war Han- Internet. Letzteres wurde mit dem Schlagwort Natürlich war auch Ubuntu mit einem eige-

Z nover wieder die alljährliche Pilger-


stätte für IT-Interessierte, denn die
CeBIT [1] fand wie jedes Jahr statt. Dement-
„Webciety“ [4] (abgeleitet von Society) versehen,
welches einen eigenen Fokus in Halle 6 bildete.
Zu sehen waren Aussteller, die sich mit Blogs,
nen Stand vertreten [5] und verteilte flei-
ßig Installations-CDs. Sogar die Merchandising-
Artikel verkauften sich gut und auch eine Viel-
sprechend gut besucht waren die Hallen. Communities, Twitter, Wikis und dergleichen be- zahl an älteren Besuchern hat sich für die Dis-
schäftigen. Ergänzend wurde ein umfangreiches tribution begeistern können, merkte Christopher
Nach einem ruhigen Dienstag stellten viele Aus- Vortragsprogramm mit einem bunten Themenmix Grebs vom Ubuntu-Stand an. Die gesteigerte Be-
steller einen deutlichen Besucheransturm am auf der Webciety-eigenen Bühne geboten. kanntheit und Akzeptanz von Linux, Ubuntu und
Mittwoch fest. Wirklich große Innovationen wur- freier Software allgemein ist deutlich zu merken.
den im Vorfeld nicht angekündigt. Daher konzen- Ebenso aktiv ging es gleich nebenan im Dem Forum Open Source wurde sogar ein Open-
trierte sich alles auf die bereits im Vorjahr ange-
Linux-Park zu, welcher dieses Jahr in „Fo- Coffee (eine eigene Kaffeelounge) an die Seite
deuteten Themen Green IT [2], Open-Source- rum Open Source“ umbenannt wurde. Dadurch gestellt, um mit Besuchern bei einer Tasse Kaf-
Software [3] sowie mobiles und interaktives unterstreicht die Messe den weiter gefassten fee zu diskutieren.
Fokus, da auch der Be-
griff Open Source mittlerwei- L INKS
le salonfähig geworden ist [1] http://www.cebit.de/
und nicht nur linuxnahe Soft- [2] http://www.cebit.de/greenit_d
ware präsentiert wurde. Un-
[3] http://www.cebit.de/opensource_d
ter den Ausstellern befanden
[4] http://www.cebit.de/webciety_d
sich unter anderem Open-
Office.org, welche Version 3 [5] http://verein.ubuntu-de.org/content/cebit-2009
ihrer Officesuite demonstrier-
te, KDE und GNOME, Blen- Autoreninformation
der und Mozilla sowie Dru- Matthias Kietzke beschäftigt sich
pal, die jeweils ihre Projek- seit Jahren mit freier Software. Er
te anhand von Live-Demos besuchte am 4. März die CeBit und
und Gesprächen vorstellten. interessierte sich besonders für das
Es gab aber auch kommerzi- Forum Open Source.
elle Anbieter wie SugarCRM,
AncudIT oder Linux New Me-
dia, die ihre jeweiligen Diens-
te anboten.
Open Source war auf der CeBIT ein großes Thema.

© freiesMagazin GNU FDL Ausgabe 04/2009 37


B UCHREZENSION

Rezension: Coding for Fun – IT-Geschichte zum Nachprogrammieren von Raoul Falk

olmeringer möchte, dass der Leser sches Wissen. Hier wird auch die eigentliche Ziel- BASIC und Assembler

W allen Ernstes Spaß mit dem Compu-


ter hat. Dies ist kein Widerspruch.
Mit dem nötigen mathematischen und tech-
gruppe bereits deutlich: Ohne Interesse an Ma-
thematik und Technik wird man an diesem Werk
wohl keine Freude haben, obwohl der Titel und
Die Zeitreise beginnt mit der Sprache BASIC.
Hierzu bedient man sich zunächst eines virtuel-
len DOS, welches man zuvor z. B. mit Virtual-
nischen Hintergrundwissen ausgerüstet, tritt die jungen Menschen auf dem Cover vielleicht Box angelegt hat. Dabei erlernt man spielerisch
der Leser eine Reise durch die Geschich- den Eindruck eines jugendfreundlichen Buches das GOTO-Prinzip und bekommt als Belohnung
te der Programmierung an und stößt dabei vermitteln. So wird der Leser bereits im ersten einen großen Happen Nostalgie und ein Erfolgs-
auf ungewöhnliche, nostalgische, lehrreiche Abschnitt mit vermeintlichen Schreckgespens- erlebnis. Als Nächstes kann man mit dem Emu-
oder auch einfach nur unterhaltsame Pro- tern aus der theoretischen Informatik wie der lator x64 die alten Zeiten wieder richtig aufle-
gramme, die stets zum Nachahmen und Mit- Turing-Maschine, der Turing-Vollständigkeit oder ben lassen und mit dem legendären Commodo-
machen einladen. dem Gödelschen Unvollständigkeitssatz konfron- re 64 samt eingebautem BASIC-Interpreter Re-
tiert. Die Erläuterungen sind – gemessen an der troluft schnuppern. Vorgestellt werden hierbei ei-
Allgemeines Kürze der Ausführungen – aber schlüssig, lo- ne Laufschrift und eine grafische Spielerei mit
Zum Lieferumfang des über 500 Seiten star- gisch und meistens auch für Hobbyisten nach- geometrischen Figuren, anhand derer man den
ken Softcover-Buches gehört eine umfangreiche vollziehbar, wobei im gesamten Buch auf mathe- Umgang mit zählenden Schleifen lernt.
Begleit-DVD, die alles Nötige beinhaltet, um die matischen Formalismus wohlwollend verzichtet
vorgestellten Programme selbst auszuprobieren wird. Der Gebrauch von einschlägigen Program- Wer sich schon immer einmal mit seiner CPU
und weiterzuentwickeln. Auf der DVD befinden men zur Virtualisierung wird dringend empfohlen unterhalten wollte, erhält eine kleine Einführung
sich u. a. Quelltexte, vorkompilierte Programm- und ist im Anhang des Buches freundlicherweise in die Assembler-Programmierung. Auch hier
beispiele, hilfreiche Werkzeuge für die Erstel- genau beschrieben, sodass hier keine Vorkennt- nutzt man wieder eine virtuelle DOS-Maschine
lung von Diskettenabbildern, FreeDOS und die nisse nötig sind. Die Gratwanderung zwischen und einen mitgelieferten grafischen Debugger na-
Desktop-CD von Ubuntu. Letztere entspricht in Einsteigerfreundlichkeit und Anspruch versucht mens AFD, der es ermöglicht, Schritt für Schritt
der ersten Auflage leider noch der Version 7.10, der Autor durch Kenntlichmachung von einzelnen einzelne Befehle auszuführen. Dabei hält die
sodass man mittlerweile lieber eine aktuellere Abschnitten zu meistern. Es werden Abschnitte mehrfach geteilte Ansicht den Anwender stets
Version installieren sollte. Es sei noch angemerkt, für Kenner mit einem Pacman und Abschnitte für auf dem Laufenden was den Stack, die nächsten
dass einige mitgelieferte Programme als EXE Könner, etwas humoristisch, mit einem Geist ge- Befehle und die Register angeht.
vorliegen, und dass eine fehlerfrei Ausführung kennzeichnet. So kann man getrost mal einen
Abschnitt überspringen, dem man sich nicht ge- Wer den letzten Satz nicht vollständig verstanden
mit Wine nicht immer garantiert ist.
wappnet fühlt, um an späterer Stelle noch einmal hat, ist genau auf dem richtigen Wissensstand für
Neben den vielen anschaulichen Beispielen zu zurückzukommen. Der Auflockerung dienen zwi- dieses Kapitel. Die wichtigsten Befehle und Re-
nahezu jedem Programmierparadigma, vermit- schendurch immer wieder Abschnitte über die ge- gister werden erklärt, wobei die Erläuterung des
telt der Autor zunächst unabdingbares theoreti- schichtliche Entwicklung. Stacks, dessen Verständnis unabdingbar ist, lei-

© freiesMagazin GNU FDL Ausgabe 04/2009 38


B UCHREZENSION

der kaum angerissen wird. Es sind also Vorkennt- und weitere Schandtaten begehen. Auf alle Fälle hand eines kleinen Java-Programms vorgestellt
nisse oder die Bereitschaft, sich über das Buch ein sehr unterhaltsames Spiel, das trotz der ein- werden, welches ein einfaches Fraktal mit er-
hinaus mit diesem Thema zu beschäftigen, nötig. deutigen Ziele des Protagonisten pädagogisch staunlich wenig Code erzeugt. Könner werden
wertvoll ist, da man beina- auch eingeladen, ihre eigenen Visualisierungen
he zwangsläufig langjäh- mit Java zu realisieren. Was zunächst wie eine
rige virtuelle Haftstrafen Spielerei wirkt, ist in der Realität die Grundlage
antreten muss. Für Gra- dafür, naturgegebene Strukturen in Programmen
fikinteressierte ist dem nachzubilden und aus der heutigen Informatik
Buch auch eine Anleitung nicht mehr wegzudenken.
für das Programm Blen-
der sowie ein Programm- Betriebssysteme – Vergessene Legen-
beispiel in Java3D beige- den
geben.
Beim Thema Betriebssysteme wird etwas wei-
ter ausgeholt. Mit einem flüssig zu lesenden
Das Apfelmänn- Abriss über die Geschichte erhält man Einbli-
chen und das cke in längst vergessene Kapitel, insbesondere
Chaos der GUI-Historie. Oberflächen wie Smalltalk 80,
Besondere Erwähnung GEM (zum Ausprobieren auf der DVD mitgelie-
gebührt dem Abschnitt fert) oder das Echtzeitsystem QNX werden vor-
über Fraktale. Neben der gestellt. Über den C64 bis zu modernen Linux-
durchaus lesenswerten Distributionen (als Beispiel wird Ubuntu vorge-
Der Debugger AFD in Aktion.
Erklärung dieser Muster stellt) erhält man einen Überblick über die Ent-
Spiele und bunte Landschaften mit Selbstähnlichkeiten und Skaleninvarianzen, wicklung von Betriebssystemen und der Pro-
wird auf das Programm Xaos verwiesen, wel- grammiersprachen, die mit den Systemen ein-
Selbstverständlich kommen die von so vielen
hergingen. Besonders anschaulich ist ein in Ja-
Menschen geliebten Computerspiele nicht zu ches man als Mathematik- und/oder Kunstfreund
va implementierter Netzgraph, der die Verwandt-
kurz. Der erste Halt ist der Klassiker Pong. Wäh- nicht auslassen sollte. Xaos kann über das Pa-
schaftsbeziehungen zwischen den Prorgammier-
rend die Urfassung noch in Hardware realisiert ket xaos installiert werden, alternativ kann man
sprachen verdeutlicht.
war, wird der komplette Quellcode als Java- auch die neueste Version kostenfrei direkt von
Projekt für die Entwicklungsumgebung Eclipse der Projektseite [1] herunterladen. Es bietet sehr
zur Verfügung gestellt. Etwas verruchter wird es aufschlussreiche Präsentationen und eine ver-
KI – Ist Skynet möglich?
beim Spiel „Hack The Game V. 1.21“. In die- blüffende Zoom-Funktion für die angezeigten Der Traum vom denkenden Rechner ist noch äl-
sem kann man seine kriminelle Energie entladen Fraktale. Dies schafft einen nahtlosen Übergang ter als die Informatik. Dieses Kapitel bringt dem
und Daten von fremden Hosts stehlen, löschen zu rekursiven Programmen, die beispielhaft an- Leser die unterschiedlichen Ansätze näher, mit

© freiesMagazin GNU FDL Ausgabe 04/2009 39


B UCHREZENSION

denen man versucht, schwache oder gar starke Programmieren lernen wenn sich Leser finden würden, die das Buch als
künstliche Intelligenzen zu erzeugen. Die Simu- Der letzte Abschnitt ist eine Einführung in die Sammlung von Anregungen verstehen.“
lation von neuronalen Netzen wird unter ande- BASIC-Programmierung mit Hilfe der unfreien
rem anhand des Programms MemBrain erklärt. Erfahrenen Linux-Benutzern könnte noch negativ
Entwicklungsumgebung VB Express von Micro-
Mit diesem kann man beispielsweise einem Sys- auffallen, dass von den 573 Seiten stolze 182 auf
soft. Anhand eines Ameisenvolkes kann man
tem aus nur sechs Neuronen Wissen antrainie- den Anhang fallen, der Anleitungen zur Installa-
spielerisch mit der Umgebung und der Sprache
ren, welches auf Abfrage auch korrekt wiederge- tion von VirtualBox, Xen, FreeDOS, Ubuntu, Java
vertraut werden. Praktischerweise liegt das um-
geben wird. Mit einer solchen assoziativen Spei- und weiterer Software enthält. Für weitere Infor-
fassende Buch „Visual Basic 2005“ als HTML-
cherung erhält man sogar Antworten auf Fragen, mationen und Leseproben bietet sich ein Besuch
Version bei, sodass man sich tiefgründig mit der
die dem System nie explizit beigebracht wurden. der Seite des Verlages [2] an.
Sprache auseinandersetzen kann.
Die Antwort lässt sich nicht vorhersehen. Damit
funktioniert MemBrain analog zum menschlichen Buchinformationen
Fazit Titel Coding for Fun – IT-Geschichte zum
Verstand: Wissen wir etwas nicht, so versuchen
Wolmeringer überzeugt mit einer guten Auswahl Nachprogrammieren
wir Schlüsse zu ziehen. Hier ist also sehr viel
seiner Beispiele und mit einem sehr flüssigen Autor Gottfried Wolmeringer
Spielraum für weiterführende Experimente mit
Schreibstil. Man lässt sich gern mit auf die Rei- Verlag Galileo Computing, 2008
diesem Programm. Eine andere Herangehens-
se nehmen und möchte alles ausprobieren und Umfang 573 Seiten, Broschiert mit DVD
weise bieten die vorgestellten Programmierspra-
verstehen. Dies wird aber leider nicht jedem ge- ISBN 978-3-8362-1116-1
chen Smalltalk, Lisp und Prolog. Letztere gibt
lingen. Die Materie ist durchaus anspruchsvoll Preis 24,90 Euro
beispielsweise die Möglichkeit, eine Wissensba-
und nicht immer einsteigerfreundlich. Für den
sis mit allgemein gehaltenen Aussagen zu schrei-
ambitionierten Einsteiger, der bereits wenigstens L INKS
ben, anhand derer dann konkrete Fragen an das
eine moderne Programmiersprache in Grundzü-
Programm gestellt werden können. Hierbei er- [1] http://sourceforge.net/projects/xaos
gen verstanden hat, bieten sich Herausforderun-
geben sich allerdings keine unvorhersehbaren [2] http://www.galileocomputing.de/katalog/buecher/
gen, die ihn stets fordern. Experten der Pro-
Antworten, da z. B. durch Rekursion oder Back- titel/gp/titelID-1628
grammierung finden zumindest spannende Bei-
tracking so lange Aussagen abgeleitet werden,
spiele in ungewohnten Gefilden, die ihnen viel-
bis eine verlässliche Antwort gefunden ist oder Autoreninformation
leicht bis dato verborgen blieben. Anfänger kön-
bis die Unmöglichkeit einer verlässlichen Antwort
nen angesichts der Fülle an thematisch völlig un- Raoul Falk ist Korrektor für
bewiesen ist. Anschaulich dargestellt: Wenn ich
terschiedlichen Kapiteln leicht den Überblick ver- freiesMagazin, interessiert sich
nur weiß, dass die Straße immer glatt ist, wenn
lieren. Auch die Tatsache, dass die Kapitel nie er- für Programmiertechniken und schaut
sie kälter als 0 °C ist, kann ich stets bejahen,
schöpfende Ausführungen enthalten, tragen hier- Entwicklungsumgebungen gerne
dass die Straße glatt ist, wenn es friert. Anderer-
zu bei. Man darf aber nicht vergessen, dass das unter die Haube.
seits kann ich nicht mit Sicherheit sagen ob es
Buch nicht den Anspruch hat, ein Lehrbuch zu
friert, nur weil die Straße glatt ist.
sein. Dazu treffend im Vorwort: „Es wäre schön,

© freiesMagazin GNU FDL Ausgabe 04/2009 40


M AGAZIN

freiesMagazin-Programmierwettbewerb
ie Auswertung der freiesMagazin- den sich verschiedenfarbige Steine und Bomben. Beim „Einlösen“ der Steine verschwinden diese

D Umfrage letzten Monat hat gezeigt,


dass sich sehr viele Leser Program-
mierthemen wünschen. Man kann (mit et-
Durch das Tauschen zweier benachbarter Steine
muss man mindestens drei gleichartige in eine
Reihe bringen, sodass diese verschwinden und
wieder vom Konto eines Spielers.

Zusätzlich gibt es noch Bomben mit den Wer-


was gutem Willen) aus diesem Wunsch auch Punkte bringen. Sind diese Punktekonten weit ten 1-5. Reiht man von diesen mindestens drei
ablesen, dass es da draußen sehr viele genug aufgefüllt, erleidet der Gegner Schaden. aneinander (die Zahlwerte müssen nicht iden-
(Hobby-)Programmierer gibt. Und gegebenen- Durch die Aneinandereihung von Bomben kann tisch sein), erleidet der Gegner Schaden in Höhe
falls gibt es sogar welche, die nach etwas Pro- man auch direkten Schaden verursachen. der Summe aller Werte der zusammengefügten
grammierarbeit lechzen. All diese wollen wir Bomben.
diesen Monat ansprechen – und damit auch Wurden zwei Steine getauscht, werden alle
gleichartigen Steine mit einer zusammenhängen- Die Spielsteine erscheinen dabei nicht komplett
gleich alle Leser befriedigen. Als Ansporn
den Länge (waagerecht oder senkrecht) von min- zufällig auf dem Spielfeld, sondern werden mit
gibt es auch eine Kleinigkeit zu gewinnen.
destens drei Steinen vom Spielfeld entfernt und folgenden Wahrscheinlichkeiten berechnet:
Die grobe Idee einem Spieler gut geschrieben oder verursachen
Schaden. In den Spalten, in denen es nun freie Die Wahrscheinlichkeiten
Die Programmieraufgabe ist prinzipiell sehr ein- Stein Wahrscheinlichkeit
Stellen gibt, rutschen alle Steine nach unten. Da-
fach gestrickt. Es geht darum, für ein sehr jeder farbige Stein 0.18
nach fallen von oben neue Steine herab und fül-
simples Zwei-Personen-Spiel die künstliche In- je Bombenwert 0.02
len das Spielfeld wieder auf.
telligenz (KI) [1], d. h. den computergesteuerten
Spieler, zu erstellen. Diese soll nach Übergabe Die Spielsteine Das heißt, dass überhaupt eine Bombe auf ei-
einiger Daten die (in den Augen des Program- Wie erwähnt, gibt es verschiedenfarbige Spiel- nem Feld erscheint, hat eine Wahrscheinlichkeit
mierers) beste Zugmöglichkeit herausfinden. Auf steine: grün, gelb, rot, blau und lila. Diese haben von 0.1 und ist damit fast halb so wahrscheinlich
diese Art spielen zwei künstliche Intelligenzen ge- die folgende Bedeutung: wie für einen farbigen Stein.
geneinander. Der Programmierer mit der besten,
d. h. dominierensten KI (siehe unten für genaue Die Spielsteine Die Spieler
Kriterien), gewinnt den Wettbewerb. Farbe Bedeutung Jeder der beiden Spieler
grün sammelt man mindestens 15 Steine, erleidet der Gegner 3 Schaden hat eine bestimmte Anzahl
Das Spiel gelb sammelt man mindestens 15 Steine, erleidet der Gegner 6 Schaden von Lebenspunkten (Stan-
Zuerst soll das Spielprinzip erklärt werden. Die rot sammelt man mindestens 15 Steine, erleidet der Gegner 10 Schaden dard: 30) und einen Schild
Idee wurde dabei nicht von uns entwickelt, son- lila sammelt man mindestens 15 Steine, ist man ein zweites Mal an der (Standard: 15). Erleidet der
dern stammt aus dem Spiel „Bejeweled“, wel- Reihe Spieler durch gegnerische
ches mit der Neuauflage „Puzzle-Quest“ [2] wie- blau lädt den Schild eines Spielers wieder auf Angriffe Schaden, wird zu-
der auflebte. Auf einem 10x10-Spielfeld befin- erst der Schild reduziert.

© freiesMagazin GNU FDL Ausgabe 04/2009 41


M AGAZIN

Wenn dieser Wert auf 0 gesunken ist, werden Beispiel Die drei lilafarbenen Steine werden seinem Kon-
die Lebenspunkte abgezogen. Erreichen diese 0, Um das Spielprinzip besser zu verdeutlichen, soll to gut geschrieben und verschwinden. Alle dar-
hat der Spieler verloren. Durch das Aneinander- ein Beispielzug durchgeführt werden. Die Aus- überliegenden Steine rutschen ein Feld nach un-
reihen blauer Steine kann man den Schild aber gangsbasis ist dabei das folgende Spielfeld: ten, was oben eine Lücke entstehen lässt, wel-
bis zur Maximalzahl 15 wieder aufladen. che durch neue Steine aufgefüllt wird:
(9,9)
Dazu hat jeder Spieler ein Konto für rote, gelbe
3 5 1 3 5 1
und grüne Steine. Ab einem bestimmten Wert
(Standard: 15) werden diese automatisch in geg-
nerischen Schaden umgesetzt und verschwin-
den wieder vom Konto.
1 1
In der Regel sind die zwei Spieler immer abwech-
selnd an der Reihe. Sammelt ein Spieler aber
eine bestimmte Anzahl lilafarbener Steine (Stan-
dard: 15), ist er erneut am Zug. 5 5 2 2
Beste Taktik 3 5 5 3
Zu entscheiden, was die beste Taktik ist, ist Ih-
3 4 4
re Aufgabe. Die Referenzimplementierung (siehe
1 1
unten) stellt eine sehr simple KI zur Verfügung.
Diese tauscht einfach so lange Steine, bis gleich- (0,0)
3 1 1
artige nebeneinander liegen und sieht das als
günstigen bzw. gültigen Zug an. Dieses Vorge- Die Zählung der Spielfeldindizes beginnt typisch Im nächsten Zug böte es sich für den zweiten
hen ist natürlich sehr dumm. für C++ (Referenzimplementierung) bei 0, so- Spieler an, Feld (2,2) mit (3,2) zu tauschen, da-
dass die x- und y-Werte von 0 bis 9 laufen. mit der erste Spieler 10 Punkte (5 + 4 + 1) Scha-
Ein erster Fortschritt wäre es, wenn aus al- den erleidet.
len gültigen Tauschmöglichkeiten die ausgewählt Der Spieler, der an der Reihe ist, hat verschie-
wird, die dem Spieler den meisten Gewinn be- dene Möglichkeiten, einen gültigen Zug durch- Referenzimplementierung
ziehungsweise dem Gegenspieler den meisten zuführen. Er kann z. B. Feld (0,8) mit (0,9) tau- Damit niemand denkt, der Sieger würde später
Schaden bringt. Oder anders: Vorrangig Bomben schen, was drei blaue Steine horizontal zusam- im Geheimen von uns gekürt, wird die Spielme-
zu sammeln, ist meist sehr sinnvoll. ;) menfügt, oder (6,7) mit (5,7), was drei rote Steine chanik unter der GPLv3 [3] auf unserer Webseite
vertikal aneinanderreiht. Die Referenz-KI tauscht veröffentlicht (per FTP [4] oder per HTTP [5]). Die
Daneben gibt es noch andere taktische Möglich- aber die Felder (1,0) mit (1,1), um drei lilafarbene Implementierung geschah dabei mittels C++ und
keiten, die Sie aber selbst ausknobeln dürfen. Steine zusammenzufügen. befindet sich im Verzeichnis fm-game.

© freiesMagazin GNU FDL Ausgabe 04/2009 42


M AGAZIN

Daneben wurde auch, wie oben bereits erwähnt, gegeneinander antreten. In einem Programm- falls mit einer kleinen Anleitung zum Übersetzen),
eine einfache KI programmiert, die sich im Ord- durchlauf gibt es zwei Partien mit dem gleichen und nicht nur eine Binärdatei eingereicht wird.
ner fm-ai befindet („ai“ steht für den englischen Startspielfeld. Zuerst hat KI 1 den ersten Zug. Der Quellcode muss dabei einer freien Lizenz [6]
Ausdruck „artificial intelligence“). Nachdem das Ergebnis der ersten Partie auf unterliegen.
dem Bildschirm ausgeben wird, muss der Benut-
Möchte man das Spiel und die KI kompilieren, be- zer eine Taste drücken. Dann startet die zweite Hinweis: Wer möchte, kann auch gerne den
nötigt man einen C++-Compiler, den man am ein- Partie, wobei KI 2 den ersten Zug hat. Code der Referenz-KI benutzen und erweitern.
fachsten über das Paket build-essential instal- Damit fällt der Einstieg vielleicht etwas leichter.
liert. Danach kann man aus dem entpackten Ver- Hinweis: Startet man das Spiel mit der gleichen
zeichnis wettbewerb einfach ein KI für KI 1 und KI 2, sollte sich bei einem deter- Welche Sprache (also Deutsch oder Englisch)
ministischem Algorithmus, d. h. keine Zufallsent- im Programm selbst für Kommentare und Be-
make scheidungen, ein symmetrisches Ergebnis erge- zeichnungen benutzt wird, ist dem Programmie-
ben. Sprich, wenn Spieler 1 im ersten Spiel ge- rer überlassen. Kommentare sollte es aber ge-
aufrufen, was alle C++-Dateien in Binärcode um- ben. ;)
winnt, muss Spieler 2 im zweiten Spiel gewinnen
wandelt.
und umgekehrt.
Schnittstelle
Wettbewerb starten Um eine einfache Schnittstelle zu gewährleisten,
Wer sich selbst ein Spielfeld generieren möchte,
Um einen neuen Wettbewerb zu starten, müssen werden die Daten zwischen Spielmechanik und
kann dies über
zwei KIs fm-ai1.bin und fm-ai2.bin im Ord- KI über Dateien ausgetauscht. Die Spielmecha-
ner (gegebenenfalls auch nur als Link) existie- ./fm-game.bin DATEINAME create nik schreibt dabei die folgenden Dateien:
ren. Dazu benötigt man noch ein vorberechnetes
Spielfeld (hier: beispielfeld.dat). ã player.dat enthält die Daten des Spielers.
erzeugen und dann das Spiel per
In jeder Zeile steht je ein Wert mit der folgen-
Hinweis: Das Beispiel umfasst dabei ein Spiel- ./fm-game.bin DATEINAME den Bedeutung:
feld der Größe 10x1000, relevant, also spielbar, – Lebenspunkte
sind die letzten 10 Zeilen. Die Größe von 1000 mit diesem Feld starten. – Schild
Zeilen sorgt aber dafür, dass das Spielfeld in je- – rote Punkte
dem Spieldurchgang nicht mit zufälligen Steinen Teilnahmebedingungen – gelbe Punkte
von oben aufgefüllt wird, sondern vorberechnete Sprache
Steine benutzt werden. So hat jede KI die glei- – grüne Punkte
Welche Programmier- oder Skriptsprache für die
chen Chancen. – lilafarbene Punkte
KI benutzt wird, ist egal. Das Skript bzw. das Pro-
gramm sollte sich aber relativ einfach auf einem ã opponent.dat enthält die Daten des Geg-
Die zwei KIs lässt man per ners, auf die man gerne zugreifen kann. Der
„normalen“ Linux-System (genauer Ubuntu 8.10)
ausführen bzw. kompilieren lassen. Es wird zwin- Dateinhalt ist dabei identisch zu oben.
./fm-game.bin beispielfeld.dat
gend vorausgesetzt, dass der Code (gegebenen-

© freiesMagazin GNU FDL Ausgabe 04/2009 43


M AGAZIN

ã gamefield.dat enthält das 10x10 Spielfeld, das Feld (1,0) mit dem Feld (1,1) tauschen. Fel- tet werden, gibt es vielleicht auch eine Verlänge-
wobei nur die ersten hundert Zeichen (der Art der müssen dabei immer benachbart sein und rung bis zum 24. Mai 2009. Der Sieger wird dann
„R“, „Y“, „G“, „B“, „L“, „1“ - „5“) relevant sind. auch der Index 9 sollte nicht überschritten wer- in der Juniausgabe von freiesMagazin mitgeteilt.
(Natürlich sollten in der Datei exakt 100 Zei- den. Sollte also eine Sprache benutzt werden,
chen drinstehen. ;)) Der erste Wert (linke obe- die bei 1 anfängt zu zählen, sollte beim Schrei- Wie oben erwähnt gibt es als Ansporn auch ei-
re Ecke) hat dabei den Index (0,9), der zwei- ben der Datei daran gedacht werden. ne Kleinigkeit zu gewinnen: einen Gutschein im
te (1,9) etc. bis hin zum letzten Wert (untere Wert von 25 Euro für den Online-Handel Bookzil-
rechte Ecke) mit dem Index (9,0). Laufzeit la.de [7]. Es wurde sich für diesen Händler ent-
Die Laufzeit der KI sollte eine Minute pro Zug schieden, da durch den Verkauf der Bücher 5 %
Das oben dargestellte erste Beispielfeld würde nicht überschreiten. Da das Spiel aber sehr ein- des Erlöses an die Free Software Foundation Eu-
daher im Textformat so aussehen: fach gehalten ist und durch die „Zufallskompo- rope [8] gespendet werden. Diese Unterstützung
R B B 3 G G 5 B 1 G nente“ nicht unendlich weit in die Zukunft berech- Freier Software wollen wir natürlich auch unter-
B G Y Y L Y L G R L net werden kann, sollte die Laufzeit eigentlich ge- stützen.
L B L R L 1 R G G B ring ausfallen.
Wir wünschen allen Teilnehmern viel Erfolg und
G L G L R R Y B R B
Sonstiges freuen uns über zahlreiche Programme, die dann
G Y R Y B R G L B G
Bei Fragen zur Implementierung (also nicht zur zum Duell gegeneinander antreten.
B B Y Y G B R Y B Y
Umsetzung, sondern nur zu den Randbedingun-
5 R 5 B R 2 R Y G R L INKS
gen), steht die freiesMagazin-Redaktion unter
Y G Y G B R L 3 R B
redaktion@freiesmagazin.de natürlich gerne zur [1] http://de.wikipedia.org/wiki/Künstliche_Intelligenz
3 L R 4 R G B R G B
Verfügung. [2] http://www.puzzle-quest.com/
L B L 1 L 1 B G R L
[3] http://www.gnu.org/licenses/gpl.html
Ein Hinweis noch: Es bringt nichts, seine KI auf
Im Normalfall sollte das KI-Programm 0 als Wert [4] ftp://ftp.freiesmagazin.de/2009/freiesMagazin-
die Datei beispielfeld.dat hin zu optimieren,
zurückgeben, im Fehlerfall irgendetwas ungleich 2009-04-wettbewerb.tar.gz
da für den späteren Wettbewerb 100 neue Spiel-
0. Zusätzlich muss das Programm eine Datei [5] http://freiesmagazin.de/ftp/2009/freiesMagazin-
felder berechnet werden. :)
result.dat mit den Daten der zu tauschenden 2009-04-wettbewerb.tar.gz
Felder enthalten: Wichtig: Jeder Teilnehmer darf nur ein Pro- [6] http://www.opensource.org/licenses/alphabeti
gramm einreichen. Natürlich darf er aber seine KI cal
FELD_1_X FELD_1_Y FELD_2_X FELD_2_Y
bis zum Stichtag gerne mehrfach nachbessern. [7] http://www.bookzilla.de/
So würde zum Beispiel der Inhalt [8] http://www.fsfeurope.org/
Siegerehrung
1 0 1 1 Der Stichtag für Wettbewerbsende ist der 10. Mai
2009. Sollte die Resonanz bis dahin extrem posi-
tiv ausfallen und wir mit Programmen überschüt-

© freiesMagazin GNU FDL Ausgabe 04/2009 44


L ESERBRIEFE

Leserbriefe
Für Leserbriefe steht unsere E-Mailadresse freiesMagazin: Vielen Dank für den Vorschlag. verschwimmen. Zusätzlich haben ausgedruckte
redaktion@freiesmagazin.de zur Verfügung – wir Das Wiki klingt definitiv interessant. Vor allem für Artikel dadurch eine höhere Qualität.
freuen uns über Lob, Kritik und Anregungen zum Mitarbeiter, die mit SVN gar nicht umgehen kön- Sollte es in einem PDF-Viewer wider Er-
Magazin. nen, ist dies definitiv eine Alternative, die wir im warten Probleme mit den neuen Grafi-
Hinterkopf behalten werden. Da wir die Idee der ken geben, schreiben Sie uns bitte an
An dieser Stelle möchten wir alle Leser ausdrücklich
kollaborativen Arbeit für sehr sinnvoll halten, ver- redaktion@freiesmagazin.de, sodass wir der Sa-
ermuntern, uns auch zu schreiben, was nicht so gut
öffentlichen wir Ihren Tipp auch im Magazin. che nachgehen können.
gefällt. Wir bekommen sehr viel Lob (was uns natür-
lich freut), aber vor allem durch Kritik und neue Ideen Qualität der Grafiken PDF-Versand per E-Mail
können wir uns verbessern. Mir ist ins Auge gefallen, dass freiesMagazin als Besteht die Möglichkeit, dass man monatlich die
einziges [Magazin] in LATEX erstellt wird. [. . . ] Mir Ausgabe als PDF zugesandt bekommt? Und zu
Leserbriefe und Anmerkungen ist aufgefallen, dass die runden Bögen um die welchem Datum erscheint denn in der Regel die
LATEX-Code gemeinsam bearbeiten orangen Autoreninformationskästchen als png- neue Ausgabe? Torsten Metz
Ich lese, Ihr sucht Mitarbeiter, die LATEX-Code Bild (also Rastergrafik) eingebunden sind. [. . . ]
bearbeiten, der in einem SVN-Repository liegt. Ich verstehe nicht, wie es dazu kommt, dass freiesMagazin: Der Aufwand eines Newsletters
Vielleicht interessiert Euch Latexki [1]. Das ist Sie möglichst nur ein Grafikformat verwenden ist, vor allem was die Datenschutzrichtlinien in
ein Wiki für LATEX-Dokumente und wird seit eini- wollen? Ich hatte nie ein Problem mit: PDF, wo Bezug auf die Speicherung der E-Mailadresse
gen Jahren benutzt, um gemeinsam Vorlesungs- mit wenig Aufwand möglich, sonst halt PNG. angeht, für eine kleine Redaktion wie unsere ein-
mitschriebe zu koordinieren [2]. Die Dateien lie- Dominik Kreutzmann fach zu hoch. Wenn Sie den RSS-Feed aber
gen in einem SVN-Repository und können auch abonnieren, sind sowohl PDF- als auch HTML-
per SVN bearbeitet werden (für reguläre Mitarbei- freiesMagazin: Vielen Dank für Ihre Anmerkung. Version dort direkt verlinkt und können durch
ter). Für Leute, die SVN scheuen und kein LATEX In der Tat war es für uns bisher einfacher, nur einen einzigen Klick aufgerufen werden. Eine
selbst installieren wollen, gibt es ein Webinter- ein Grafikformat zu verwenden, da wir so kei- neue Ausgabe von freiesMagazin erscheint im-
face. ne Unterscheidung zwischen PDF-Magazin und mer am ersten Sonntag in einem Monat.
Das Wiki macht eigentlich nichts anderes als die HTML-Ausgabe machen mussten. Da die sta-
Dokumente auf dem Server mit pdflatex zu tischen Inhalte wie Autorenkästchen, Lupe etc. Korrekturen und Fehler
bauen – [eigene] Makros sollten daher kein Pro- aber sowieso nicht in der HTML-Version zu fin- World of Goo – Die Bälle sind los,
blem sein. Und man sieht das Dokument nach den sind, haben wir diese Grafiken wie von Ihnen freiesMagazin 03/2009 [3]
jeder Änderung per Web-Interface auch wirklich vorgeschlagen, auf PDF (also Vektorgrafiken) Ein paar Leser fanden es nicht gut, dass im
neu generiert als PDF. Das Bearbeiten passiert umgestellt. „World of Goo“-Artikel nirgends steht, dass es
dabei allerdings im LATEX-Code. Für alle Leser bedeutet das, dass die statischen sich nicht um ein Open-Source-Spiel handelt,
Joachim Breitner Grafiken nun wesentlich deutlicher und schär- sondern die Quellen verschlossen sind. In der Tat
fer erscheinen und auch beim Zoomen nicht

© freiesMagazin GNU FDL Ausgabe 04/2009 45


L ESERBRIEFE

wurde versäumt, dieses Manko explizit zu erwäh- Da viele Ankündigungen (Interviews, Artikel- system, in dem es fast egal ist, wie die Rechte
nen, was hiermit nachgeholt wird. wunschliste, Programmierwettbewerb etc.) aber sitzen, da eben nur eine Person daran arbeitet.
exklusiv im freiesMagazin-Feed zu finden sind, Selbst auf privaten Mehrplatzsystemen würden
An der Stelle betonen wir aber auch noch einmal, geben wir vielleicht doch einen Anreiz, den Feed sich andere Nutzer nicht unbedingt daran stören,
dass in freiesMagazin Themen zu Linux, Open zu abonnieren. dass der Standardnutzer mit der ID 1000 (der
Source und Freier Software zu finden sind. Dies meist auch das Root-Passwort besitzt) auf die
ist kein einschließendes Und! Wir werden auch in Der zweite Fehler ist uns selbst aufgefallen. Wir Dateien zugreifen kann.
Zukunft über proprietäre oder kommerzielle Pro- haben für jedes Ergebnis als Anzahl der Teilneh-
jekte berichten, wenn diese unter Linux aus der mer die Summe aller Antworten genommen. Da- Im Normalfall sollten die Besitzrechte von Datei-
Menge der Freien Software herausragen. durch wurden bei den Fragen, bei denen man en, die in einem globalen Ordner liegen, damit
mehrere Antworten (also auch keine) ankreuzen alle Benutzer darauf zugreifen können, immer an
LXDE im Test, freiesMagazin 03/2009 [3] konnte, die Teilnehmer, die nichts angekreuzt ha- root übergeben werden.
„Doch wie schafft Xfce es, einen derart schnel- ben, vernachlässigt. Hier sind wir fälschlicherwei-
len Desktop zu bauen, der ein aktuelles Linux se davon ausgegangen, dass diese die Frage L INKS
endlich mal so schnell werden lässt wie ein gar nicht bearbeitet haben. Die Folge davon ist [1] http://latexki.nomeata.de/
Windows XP?“ glücklicherweise nicht schlimm. Alle Prozentzah- [2] http://mitschriebwiki.nomeata.de/
len liegen so zwar ein klein wenig (wenige Pro- [3] http://www.freiesmagazin.de/freiesMagazin-2009-
Natürlich sollte das LXDE heißen, da sich im Ar-
zentpunkte) zu hoch, die Reihenfolge der Platzie- 03
tikel vorher über die Größe von Xfce beschwert
rung ändert sich aber nicht. So sind auch unsere
wurde.
Schlussfolgerungen der Ergebnisse nach wie vor
Auswertung der Umfrage, freiesMagazin korrekt.
03/2009 [3]
Songbird installieren, freiesMagazin
Zwei Korrekturen müssen wir zur Auswertung der
03/2009 [3]
freiesMagazin-Umfrage nachreichen.
Marian Sigler merkte an, dass die Übergabe der
Zum einen haben mehrere Leser angemerkt, Besitzrechte an den Benutzer root zwingend not-
dass unser Schluss für die geringe Nutzung des wendig sei, wenn man Songbird für alle Benut-
RSS-Feeds von freiesMagazin falsch ist. Da die zer installieren will. Wenn man die Besitzrechte
Ankündigung einer neuen Ausgabe auch auf an- ließe, könnte der Benutzer 1000 in den Dateien
deren Portalen wie Pro-Linux oder Ikhaya von rumschreiben und damit anderen Benutzern jeg-
ubuntuusers.de veröffentlicht wird, landet die An- lichen Code unterschieben. „Stove Ownership“ © by Randall Munroe
kündigung auch in deren RSS-Feeds. Aus dem (CC-BY-NC-2.5), http://xkcd.com/418
Natürlich sind die Anmerkungen korrekt, es
Grund sehen es viele Leser als unnötig an, auch
kommt aber auch auf das System des Benutzers Die Redaktion behält sich vor, Leserbriefe gegebe-
noch den freiesMagazin-Feed zu abonnieren.
an. Die Mehrheit der Nutzer hat ein Einzelplatz- nenfalls zu kürzen.

© freiesMagazin GNU FDL Ausgabe 04/2009 46


M AGAZIN

Veranstaltungskalender
Messen
Veranstaltung Ort Datum Eintritt Link
Linuxwochen Krems 15.04.09 frei http://linuxwochen.at
Linuxwochen Wien 16.04.-18.04.09 - http://linuxwochen.at
Linuxwochen Linz 23.04.-25.04.09 - http://linuxwochen.at
Skolelinux Arbeitstreffen Gütersloh 24.04.-26.04.09 frei http://wiki.skolelinux.de/Roadmap2009
Grazer Linux Tage Graz 25.04.09 frei http://www.linuxtage.at
Schwabacher Linuxtage Schwabach 25.04.-26.04.09 frei http://lusc.de

(Alle Angaben ohne Gewähr!)

Sie kennen eine Linux-Messe, welche noch nicht auf der Liste zu finden ist? Dann schreiben Sie eine E-Mail mit den Informationen zu Datum und Ort an
rfischer@freiesmagazin.de.

Konventionen
An einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung. Diese sind hier zusammengefasst:
$: Shell-Prompt
#: Prompt einer Root-Shell – Ubuntu-Nutzer können hier auch einfach in einer normalen Shell ein „sudo“ vor die Befehle setzen.
y: Kennzeichnet einen aus satztechnischen Gründen eingefügten Zeilenumbruch, der nicht eingegeben werden soll.
~: Abkürzung für das eigene Benutzerverzeichnis /home/BENUTZERNAME
: Kennzeichnet einen Link, der auf eine englischsprachige Seite führt.
: Öffnet eine höher aufgelöste Version der Abbildung in einem Browserfenster.

Vorschau
freiesMagazin erscheint immer am ersten Sonntag eines Monats. Die Mai-Ausgabe wird voraussichtlich am 3. Mai unter anderem mit folgenden Themen
veröffentlicht:
ã Virtualisierung mit Proxmox VE
ã Debian GNU/Linux 5.0 „Lenny“ – Der Zustand der Distribution
ã Kennwortgedächtnis auslagern mit KeePassX
Es kann leider vorkommen, dass wir aus internen Gründen angekündigte Artikel verschieben müssen. Wir bitten dafür um Verständnis.

© freiesMagazin GNU FDL Ausgabe 04/2009 47


M AGAZIN

Impressum ISSN 1867-7991


freiesMagazin erscheint als PDF und HTML einmal monatlich. Erscheinungsdatum: 5. April 2009
Redaktionsschluss für die Mai-Ausgabe: 22. April 2009

Kontakt Autoren dieser Ausgabe


E-Mail redaktion@freiesmagazin.de Benedikt Ahrens info@freiesmagazin.de S.8
Postanschrift freiesMagazin Hans-Joachim Baader info@freiesmagazin.de S.11
c/o Dominik Wagenführ Raoul Falk rfalk@freiesmagazin.de S.38
Beethovenstr. 9/1 Matthias Kietzke mkietzke@freiesmagazin.de S.37
71277 Rutesheim Mathias Menzer mmenzer@freiesmagazin.de S.18, S.32
Webpräsenz http://www.freiesmagazin.de Bernd Noetscher info@freiesmagazin.de S.21
Florian Schweikert info@freiesmagazin.de S.4
freiesMagazin-Team (Teamaufschlüsselung) Dominik Wagenführ dwagenfuehr@freiesmagazin.de S.26, S.29, S.34
Raoul Falk rfalk@freiesmagazin.de
Stephan Hochhaus shochhaus@freiesmagazin.de Veranstaltungen
Ekkehard Hollmann ehollmann@freiesmagazin.de Ronny Fischer rfischer@freiesmagazin.de
Dominik Honnef dhonnef@freiesmagazin.de
Mathias Menzer mmenzer@freiesmagazin.de Logo-Design
Thorsten Schmidt tschmidt@freiesmagazin.de Arne Weinberg aweinberg@freiesmagazin.de
Karsten Schuldt kschuldt@freiesmagazin.de Lizenz GNU FDL
Dominik Wagenführ dwagenfuehr@freiesmagazin.de
(Verantwortlicher Redakteur)

Dieses Magazin wurde mit LATEX erstellt. Mit vollem Namen gekennzeichnete Beiträge geben nicht notwendigerweise die Meinung der Redaktion wieder. Wenn Sie
freiesMagazin ausdrucken möchten, dann denken Sie bitte an die Umwelt und drucken Sie nur im Notfall. Die Bäume werden es Ihnen danken. ;-)

Soweit nicht anders angegeben, stehen alle Artikel und Beiträge in freiesMagazin unter der GNU-Lizenz für freie Dokumentation (FDL). Das Copyright liegt
beim jeweiligen Autor. freiesMagazin unterliegt als Gesamtwerk ebenso der GNU-Lizenz für freie Dokumentation (FDL) mit Ausnahme von Beiträgen, die unter
einer anderen Lizenz hierin veröffentlicht werden. Das Copyright liegt bei Eva Drud. Es wird die Erlaubnis gewährt, das Werk/die Werke (ohne unveränderliche
Abschnitte, ohne vordere und ohne hintere Umschlagtexte) unter den Bestimmungen der GNU Free Documentation License, Version 1.2 oder jeder späteren
Version, veröffentlicht von der Free Software Foundation, zu kopieren, zu verteilen und/oder zu modifizieren. Die xkcd-Comics stehen separat unter der Creative
Commons-Lizenz CC-BY-NC 2.5. Das Copyright liegt bei Randall Munroe.

© freiesMagazin GNU FDL Ausgabe 04/2009 48