freiesMagazin Juni 2012

Topthemen dieser Ausgabe

Ubuntu und Kubuntu 12.04 LTS Seite 3 Als äußerst geschliffenes Produkt präsentiert sich das neue Ubuntu 12.04 LTS „Precise Pango- lin“, wie es sich für eine Distribution mit mehrjähriger Stabilitätsgarantie gehört. Der Artikel soll einen Überblick über die Neuerungen der beiden Version mit Unity und KDE als Desktopmana- ger geben. (weiterlesen)

Routino Seite 22 Kaum ein Gemeinschaftsprojekt hat in kurzer Zeit soviel Zuspruch und Unterstützung erhalten wie OpenStreetMap. Die weltweite Karte hat in vielen Ländern, darunter auch Deutschland, einen Detailreichtum erlangt, der kommerzielle Kartenanbieter schlecht aussehen lässt. Ein anderes, zunehmend interessantes Anwendungsgebiet ist die Navigation auf Basis der OSM- Daten. Im Wiki von OSM werden verschiedene Programme und Web-Seiten vorgestellt. Dieser Artikel greift ein Programm heraus, das etwas unglücklich im Wiki als „web-based router“ be- zeichnet wird: Routino. (weiterlesen)

Trine 2 Seite 28 Genau ein Jahr, nachdem das Erfolgsspiel Trine im Humble Frozenbyte Bundle erschienen ist, hat der finnische Spieleentwickler Frozenbyte den zweiten Teil für im April 2012 vorgestellt. Der Artikel wirft einen Blick auf Trine 2 und vergleicht ihn mit seinem Vorgän- ger. (weiterlesen)

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 ISSN 1867-7991 MAGAZIN

Editorial

Spielen unter Linux sicherlich ihre Vorteile, wie der Artikel zu Trine 2 Inhalt Linux allgemein Vor wenigen Tagen erschien das Humble Indie zeigt, kostet aber natürlich auch viel Know How Ubuntu und Kubuntu 12.04 LTS S. 3 Bundle V [1] und wirft damit wieder einmal die sowie natürlich Geld und noch mehr Zeit. Oder Frage nach Linux als Spieleplattform auf. reicht vielleicht schon eine Flash-Version? Natür- Der Mai im Kernelrückblick S. 11 lich handelt es sich um eine unfreie Lösung, aber Der Hintergrund: Das erste Humble Bundle er- es ist besser als gar keine Linux-Unterstützung. Anleitungen schien vor gut zwei Jahren im Mai 2010 und bot Objektorientierte Programmierung: Teil 4 – S. 13 fünf Spiele diverser unabhängiger Entwicklerfir- Man könnte also froh sein, dass die Macher von Strategie, wechsel Dich! men zum Selbstbestimmungspreis an. Die Be- Limbo sich zumindest ansatzweise angestrengt Cloud-Backup mit Bordmitteln S. 17 sonderheit: Die Spiele standen nicht nur wie ge- und die Linux-Nutzer auf ihrem Schirm haben. wöhnlich unter Windows zur Verfügung, sondern Die Frage ist, ob das stimmt. Und ebenfalls fragt Software ebenso unter Mac OS X und – was wesentlich man sich als Spieler unter Linux, ob man alles Routino S. 22 interessanter war – auch unter Linux. hinnehmen muss, was einem vorgesetzt wird, nur Trine 2 S. 28 weil man dankbar sein soll, nicht übersehen wor- Im Laufe der zwei Jahre gab es immer mehr Hum- den zu sein. Community ble Bundles (hier ein paar Statistiken [2]) in ver- Es gibt gewiss keine einfache Antwort auf die- Rezension: LPIC-1 – Sicher zur erfolgrei- S. 33 schiedenen Ausprägungen. Die letzten Monate se Fragen, aber zumindest zeigen die Spiele aus chen Linux-Zertifizierung häuften sich die Veröffentlichungen aber und die dem Humble Bundle immer wieder, dass es im- Qualität der Spiele sank etwas, sodass sich et- mer mehr Spielerhersteller gibt, die zumindest Magazin was Unmut breit machte. Als das letzte Humble von Linux gehört haben – auch wenn Tim Schae- Leserbriefe S. 35 Botanicula Bundle auch noch ein Spiel lieferte, fer im Ankündigungsvideo einen anderen Ein- Veranstaltungen S. 36 welches auf Adobe Air aufsetzt, welches unter druck vermittelt [3]. Vorschau S. 36 Linux schon seit längerem nicht mehr von Adobe Konventionen S. 36 gepflegt wird, fühlten sich die Linux-Anhänger Wie stehen Sie denn zu dem Thema? Ist der Impressum S. 37 doch etwas veralbert. Im neuesten Humble Bund- Linux-Desktop eine realistische Alternative zu le treiben die Macher das Ganze mit dem Spiel Windows, wenn es um Spiele geht? Und falls LINKS Limbo auf die Spitze: Denn effektiv wird Wine mit ja, reicht Wine aus oder sollte es mehr na- [1] http://www.humblebundle.com/ ausgeliefert, in dem Limbo dann läuft. tive Unterstützung seitens der Spielehersteller [2] http://cheesetalks.twolofbees.com/humble/ geben? Schreiben Sie uns Ihre Meinung unter Da stellt sich die Frage: Was erwarten Spieler un- [3] http://www.youtube.com/watch?v=zwANFc7D1 oder in den Kom- ter Linux von den Spieleherstellern? Muss es im- ac mentaren über den Link am Ende der Seite. mer eine native Version sein, die extra für Linux angepasst werden muss? Eine native Version hat Ihre freiesMagazin-Redaktion Das Editorial kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20122 DISTRIBUTION

Ubuntu und Kubuntu 12.04 LTS von Hans-Joachim Baader

ls äußerst geschliffenes Produkt präsentiert sich das neue Ubuntu A 12.04 LTS „Precise Pangolin“, wie es sich für eine Distribution mit mehrjähriger Stabilitätsgarantie gehört. Der Artikel soll einen Überblick über die Neuerungen der bei- den Version mit Unity und KDE als Desktop- manager geben.

Redaktioneller Hinweis: Der Artikel „Ubuntu und Kubuntu 12.04 LTS“ erschien erstmals bei Pro-Linux [1].

Vorwort Zwei Jahre nach Ubuntu 10.04 LTS [2] ist Ubuntu 12.04 LTS die nächste Version mit einer auf fünf Jahre ausgedehnten Unterstützung (Long Term Support, LTS). Diese fünf Jahre Unterstützung gelten jetzt ebenso für den Desktop, sowohl für Unity als auch für KDE und die meisten ande- ren Varianten. Die neue Version ist nach Anga- ben des Herstellers die bisher umfangreichste. Nicht nur viele neue Funktionen, sondern auch ei- ne verbesserte Qualitätssicherung sollen Ubuntu 12.04 LTS auszeichnen.

Die neue Version bringt, in aller Kürze zu- sammengefasst, den Kernel Linux 3.2.14, die Unity-Übersichtsseite mit Linsen. neuesten Versionen der Desktopumgebun- gen, viele neue bzw. aktualisierte Programme, ARM-basierte Geräte. Im Rahmen des Mögli- Wie immer sei angemerkt, dass es sich hier das Head-Up-Display (HUD) für Unity, Server- chen sollen die Änderungen genauer betrachtet nicht um einen Test der Hardwarekompatibilität Erweiterungen vor allem im Bereich Virtuali- werden. Dabei wird sich der Artikel auf die Desk- handelt. Es ist bekannt, dass Linux mehr Hard- sierung und Cloud, aber auch Varianten für topumgebungen Unity und KDE beschränken. ware unterstützt als jedes andere Betriebssys-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20123 DISTRIBUTION tem, und das überwiegend bereits im Standard- die grafische Installation. Durch Boot-Optionen Direkt nach der Definition der Partitionen beginnt Lieferumfang. Ein Test spezifischer Hardware wä- steht aber eine erweiterte Installation zur Verfü- der Installer mit der Partitionierung und der Instal- re zu viel Aufwand für wenig Nutzen. Falls man gung, mit der man weitgehende Kontrolle über lation der Pakete im Hintergrund. Ein Fortschritts- auf Probleme mit der Hardware stößt, stehen die den ganzen Vorgang hat. Auch die auf Laptops balken zeigt von hier an den Stand der Instal- Webseiten von Ubuntu zur Lösung bereit. zu empfehlende Option, die gesamte Festplatte lation an. Parallel dazu kann man die Zeitzone zu verschlüsseln, gibt es nur auf der Alternate- auswählen und danach das gewünschte Tastatur- Da eine Erprobung auf realer Hardware nicht das CD. Layout einstellen. Ziel des Artikels ist, werden für den Artikel zwei identische virtuelle Maschinen, 64 Bit, unter KVM Die Installation unterlag keinen sichtbaren Ände- Im letzten Schritt gibt man seinen Namen, Anmel- mit jeweils 768 MB RAM verwendet. rungen gegenüber der letzten Version. Standard- denamen, Passwort und den Computernamen mäßig wird nur eine einzige große Partition mit ein. Wenn zuvor bereits per DHCP ein Name Installation dem Dateisystem ext4 sowie eine Swap-Partition ermittelt werden konnte, wird dieser als Vorga- Ubuntu wird meist von einem Live-System aus, angelegt. Will man mehr Flexibilität, muss man be angezeigt. Wenn erkannt wird, dass die In- das als CD und umfangreichere DVD verfüg- „Etwas anderes“ auswählen, wodurch das Parti- stallation in einer virtuellen Maschine läuft, wird bar ist, installiert. Die DVD wurde gegenüber tionierungswerkzeug gestartet wird. Dort können dagegen der Name benutzer-virtual-machine vor- früheren Versionen deutlich verkleinert und ist die gängigen Dateisysteme einschließlich gegeben. Optional können Daten im Home- nur noch 1,5 GB groß, was das Herunterladen ausgewählt werden. Verzeichnis verschlüsselt werden. Während man erleichtert. Ferner ist eine Installation von der das Ende der Installa- Alternate-CD möglich, die im Textmodus läuft, tion abwartet, kann man aber wesentlich mehr Flexibilität als die grafische nun noch einige Tipps zu Installation besitzt. Ubuntu ansehen. Für Ubuntu 12.04 [3] werden nach wie vor 384 MB RAM für den Unity-Desktop als Mindest- Ausstattung anforderung angegeben [4]. Mehr ist allerdings Sowohl Ubuntu als auch besser. Auch für Kubuntu sollten es 512 MB RAM Kubuntu starten schnell, oder mehr sein. Xubuntu und die Server-Edition mindestens genauso sollten weiterhin mit 128 MB auskommen. schnell wie in der Vorver- sion. Wieder wurde das Hier soll nur die Installation von der Desktop- Aussehen des Desktops DVD kurz vorgestellt werden. Wer den Logical Vo- leicht modifiziert, unter Ku- lume Manager (LVM) verwenden will, muss zur buntu etwas mehr als unter textbasierten Installation von der DVD oder der Ubuntu. Alternate-CD wechseln, da diese Möglichkeit im grafischen Installer weiterhin fehlt. Die Alternate- X.org 7.6 mit dem X-Server Installation läuft ansonsten fast genauso ab wie Partitionierungswerkzeug. 1.11.3 und Mesa 8.0.2

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20124 DISTRIBUTION bilden die Basis für die grafische Oberflä- man, nachdem man als Root eingeloggt ist, ein gleichberechtigt neben Unity steht. Dennoch che einschließlich der 3-D-Beschleunigung. Der Passwort vergibt, ist auch das direkte Einloggen soll im nächsten Abschnitt auch KDE betrachtet Kernel 3.2.14 ist zwei Versionen neuer als in als Root möglich. werden, da es eines der wichtigsten Desktop- Ubuntu 11.10 und ein langfristig unterstützter Systeme für Linux ist. Kernel. Aus Benutzersicht bedeutet das eine Viel- Unity und KDE benötigen in der Standardinstalla- zahl zusätzlicher Treiber und viele Optimierun- tion mit einem geöffneten Terminal-Fenster jetzt In dieser Version wurde Unity wieder stark über- gen. Daneben enthält der Kernel viele neue Fea- fast gleich viel Speicher – etwa 380 MB RAM ein- arbeitet, poliert und zum krönenden Abschluss tures, die nur für Spezialisten von Interesse sind. schließlich der im Swap ausgelagerten Seiten. gebracht. Unter Unity arbeiten viele Komponen- Die Messung des Speicherverbrauchs der Desk- ten von GNOME 3. Das eigentliche Unity setzt ei- Für Entwickler stehen GCC 4.6.3, Python 2.7.3 tops kann jeweils nur ungefähre Werte ermitteln, ne Hardwarebeschleunigung der 3-D-Grafik vor- und 3.2.3, OpenJDK 6b24 und 7u3 und vieles die zudem in Abhängigkeit von der Hardware und aus und nutzt den Compositing-Manager Com- mehr bereit. anderen Faktoren schwanken. Aber als Anhalts- piz. Steht keine Hardwarebeschleunigung zur punkt sollten sie allemal genügen. Verfügung, wird automatisch Unity 2D genutzt, Die DNS-Auflösung wird jetzt von dem immer installierten dnsmasq übernommen, wovon sich Bei der Geschwindig- der Distributor eine schnellere Auflösung und keit lässt sich kein bessere VPN-Unterstützung verspricht. nennenswerter Unter- Serverseitig wurden die neue Metal as a Ser- schied zwischen den vice (MAAS) Infrastruktur [5] und der Juju Charm Desktops feststellen, Store eingeführt. OpenStack wurde auf die sofern genug RAM neueste Version Essex aktualisiert. Zentyal und vorhanden ist. Mit OpenMPI 1.5 für ARM wurden den Repositorys den hier verwendeten hinzugefügt. Das in Version 1.0 enthaltene KVM 768 MB RAM laufen erlaubt nun virtuelle Maschinen innerhalb von vir- die meisten Aktionen tuellen Maschinen. Damit können Instanzen, die flüssig. in einer Cloud laufen und somit bereits selbst vir- Unity tuelle Maschinen sind, eigene virtuelle Maschi- nen definieren. Unity ist das große Desktop-Thema für Wie gewohnt hat Root keinen direkten Zugang Ubuntu. Nachdem Ku- zum System, sondern die Benutzer der Gruppe buntu zum Gemein- sudo können über das Kommando sudo Befehle schaftsprojekt herun- als Root ausführen. Der Gruppenname sudo ist tergestuft wurde, gibt neu in dieser Version; der bisherige Gruppenna- es keine Desktopum- me admin funktioniert aber immer noch. Wenn gebung mehr, die ganz Das HUD mit Firefox.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20125 DISTRIBUTION das kaum vom normalen Unity zu unterscheiden ist. Zwar ist Unity 2D mit Qt implementiert und dürfte sich damit intern erheblich von Unity un- terscheiden, aber es nutzt sogar Grafikeffekte, wenn auch weniger als Unity.

Die größte Änderung in dieser Version von Uni- ty ist natürlich das Head-Up-Display (HUD). Es funktioniert tatsächlich so wie angekündigt [6] und stellt eine echte Innovation und Bereiche- rung dar. Die Funktionsweise ist, dass nach ei- nem kurzen Drücken der Alt -Taste eine Einga- bemaske erscheint, die eine Suchfunktion für die Menüpunkte der Anwendung implementiert. Sie unterstützt die inkrementelle Suche, d. h. mit je- der eingegebenen Taste wird das Ergebnis ver- feinert. Das System führt eine unscharfe Suche durch und zeigt alle passenden Menüpunkte un- mittelbar an. Daraus kann man schnell den ge- wünschten auswählen.

Das System ist lernfähig und stellt die Menüein- träge ganz oben dar, die man am häufigsten ge- wählt hat. Neben der aktiven Anwendung werden auch Systemaktionen in die Auswahl einbezogen, so dass man auch schnell Funktionen erreichen kann, die in den System-Menüs liegen. Will man das HUD loswerden, ohne einen Eintrag auszu- Tradition: So kann Unity nach einigen Änderungen aussehen. wählen, muss man noch einmal Alt drücken. zeigen nützliche Informationen an, z. B. wievie- angewandt, dass sie nützlich sind und nicht stö- Die größte optische Änderung von Unity ist in le Fenster einer Anwendung offen sind und ob ren. Es sind solche eher kleinen Details, die die dieser Version, dass der Starter immer sichtbar sie aktiviert sind. Zudem ist der Programmstart Arbeit angenehm machen. bleibt. Es lässt sich auch konfigurieren, dass der an animierten Icons zu erkennen. Optisch ver- Die in der letzten Version eingeführten „Linsen“ Starter wie früher ausgeblendet wird, wenn er bindet der Starter also Nützliches und Ange- sind im Wesentlichen gleich geblieben. Die Start- gerade nicht benötigt wird. Die Icons im Starter nehmes. Und endlich einmal werden Effekte so seite (Dash) enthält eine allgemeine Suche, da-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20126 DISTRIBUTION neben gibt es noch Linsen für Anwendungen, den Anwendungen getrennte und in das Pa- Der Desktop ist natürlich nicht Unity allein. Dateien, Musik und Videos. Die Suchergebnis- nel verlegte Anwendungsmenü nicht zusagt, der Ubuntu hat nun GNOME 3.4 integriert, und se beziehen auch Musik und Videos aus dem kann das Paket indicator-appmenu entfernen wer will, kann den originalen GNOME-Desktop Ubuntu One Online-Shop ein. – damit hört aber anscheinend auch das HUD durch die Installation der GNOME-Shell oder des auf zu funktionieren. Bevor man also alles um- GNOME-Panels („klassisches“ GNOME) wieder Richtig konfigurierbar ist Unity auch weiterhin biegt, sei aber noch gesagt, dass die Änderun- herstellen. Das GNOME-Mailprogramm Evolu- nicht. Die schon erwähnte Einstellung des Star- gen für kleine Bildschirme durchaus sinnvoll sind. tion wurde allerdings durch Mozilla Thunder- ters, immer oder nur bei Bedarf sichtbar zu sein, So sparen sie durchaus Platz, auf entsprechen- bird 12 ersetzt, der wie Firefox eine Integration ist die einzige direkt zugängliche, und in die Sys- den Geräten sollte man sie vielleicht besser bei- in den Starter und das Menü aufweist. temeinstellungen integriert. Einiges mehr kann behalten. man über Compiz konfigurieren. Dazu muss man Als Webbrowser ist jetzt Firefox 12 dabei. Das CompizConfig nachinstallieren. Für noch mehr Erweiterungen von Unity gibt es in geringem Standard-Office-Paket ist LibreOffice 3.5.2.2. Konfigurierbarkeit sollte man auch dconf-tools Umfang – zusätzliche Linsen und Indikator- Installiert sind auch Inkscape 0.48.3.1, GIMP installieren. Allerdings ist besonders letzteres Applets sind teilweise aus externen Repositorys 2.6.12, Shotwell 0.12.2, Pitivi 0.15.0, sowie Programm eher für Experten. Leicht zu benutzen verfügbar. Nicht vorgesehen ist dagegen eine die GNOME-Anwendungen Empathy, Gwibber ist dagegen das neue MyUnity. Es erlaubt aller- Sitzungsverwaltung, da die dings auch nur eine begrenzte Zahl von Einstel- Entwickler dafür keine Not- lungen, darunter die Auswahl von Themes. Wei- wendigkeit sahen. Diese tere Eingriffsmöglichkeiten bieten die Indikator- Entscheidung ist zumin- Applets [7]. dest für Desktops und Lap- Die drei größten Kritikpunkte an Unity, neben tops einigermaßen fragwür- den begrenzten Einstellmöglichkeiten, dürften dig. die Scroll-Indikatoren anstelle der Scrollbalken, Das globale Menü, so- die Anordnung der Fenster-Buttons links und fern man es beibehält, das globale Menü sein. Für die Anordnung der funktioniert ebenso mit Fenster-Buttons ist kein guter Grund ersichtlich, KDE-Anwendungen. Auch und wer sich nicht daran gewöhnen will, kann das HUD spielt mit KDE- Programmen zusam- $ gconftool-2 --set /apps/metacity/y general/button_layout --type stringy men, so dass sich KDE- "menu:minimize,maximize,close" Anwendungen sehr gut in Unity integrieren und eingeben, und der Spuk ist vorbei. Die norma- fast keinen Unterschied len Scrollbalken lassen sich mit einer Compiz- zu GNOME-Anwendungen Einstellung wieder herstellen, und wem das von aufweisen. Das Software Center.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20127 DISTRIBUTION und Totem. Der Remote-Desktop-Client Vinagre wurde durch Remmina 1.0.0 ersetzt.

Das Software-Center, das Hauptwerkzeug zur In- stallation und Verwaltung von Paketen, nicht je- doch zum Einspielen von Updates, wurde wei- ter verbessert. Das Programm startet mit einem Werbebanner (für Anwendungen aus dem Repo- sitory) sowie Listen von neuen und bestbewer- teten Anwendungen. Gegenüber der Vorversion gibt es nun die Möglichkeit, sich Empfehlungen geben zu lassen. Um diese zu erhalten, muss das Programm allerdings von Zeit zu Zeit eine Liste der installierten Anwendungen an Canoni- cal senden. Diese Option muss daher von Hand eingeschaltet werden.

Wenn man ein proprietäres Programm ein- kauft, kann man jetzt auch mit Paypal zahlen. Man kann eigene Anwendungen in ein Web- Verzeichnis hochladen und mit anderen gemein- sam nutzen. Die Detailbeschreibung einer An- wendung kann nun mehrere Screenshots oder Videos enthalten. Außerdem wird es leicht mög- lich sein, mehrere Versionen eines Programmes zu installieren, da das Ubuntu-Backports-Projekt künftig verstärkt neue Versionen von Program- men bereitstellen soll. Hierzu ist das Reposito- Desktop von Kubuntu. ry precise-backports standardmäßig aktiviert. Für die neueren Versionen gibt es aber von anderem schneller und stabiler sein als Version Bedeutungslosigkeit zu bescheinigen, denn er Ubuntu keine Updates und keinen Support. 4.7. So wurde die Display-Engine des Datei- besitzt keine Plug-ins und keine der fortgeschrit- manager Dolphin unter diesem Aspekt überar- tenen Funktionen von Firefox. KDE (SC) beitet. Der Standard-Browser ist Rekonq, jetzt Als Musik-Player vorinstalliert ist Amarok 2.5, In Kubuntu [8] wurde KDE SC auf die Ver- in Version 0.9.1. Man braucht kein Prophet zu das jetzt an den Amazon-MP3-Shop angebun- sion 4.8.2 aktualisiert. Diese Version soll unter sein, um Rekonq ähnlich wie Konqueror völlige den ist. OwnCloud wurde erweitert und bringt

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20128 DISTRIBUTION

Programm Muon-Paketverwaltung Multimedia im Browser und auf dem wird man fündig. Ganz schön Desktop viel Verwirrung für ein Pro- Firefox ist jetzt in Version 12 enthalten. Mehre- gramm, das man mühelos durch re Plug-ins zum Abspielen von Videos in freien Software-Center hätte erset- Formaten sind vorinstalliert. Die vorinstallierte Er- zen können. Das Software- weiterung Ubuntu Firefox Modifications hat Ver- Center zieht zwar zahlreiche sion 2.0.2 erreicht. Darin ist der Plugin-Finder- GTK/GNOME-Bibliotheken nach Service enthalten, mit dem sich komfortabel pas- sich und wurde deshalb von den sende Plug-ins finden und installieren lassen soll- Kubuntu-Entwicklern nicht aufge- ten, wenn man beispielsweise ein Video in einer nommen, aber diese Bibliothe- Webseite abspielen will. Das funktionierte bei mir ken benötigt man in der Regel in keinem Fall, was aber auch in der letzten Ver- sowieso irgendwann. sion schon so war. Damit sich GTK-Anwendungen So funktionieren ohne weiteres Zutun Videos gut in KDE integrieren, wurde bei einigen Anbietern (z. B. tagesschau.de), bei Oxygen-GTK 3 installiert. Die anderen nicht (heute.de). Flash ist wiederum Standard-Büroanwendung ist ein anderes Thema. Standardmäßig ist kein Die Paketverwaltung Muon. auch unter KDE LibreOffice, je- Flash-Player vorinstalliert, so dass sich kein doch steht Calligra 2.4 in den Flash-Video abspielen lässt. Man muss also von Repositorys zur Verfügung. Ebenfalls steht Tele- jetzt unter anderem einen Streaming-Musik- Hand ein Flash-Plug-in für Firefox installieren, pathy für Instant Messaging zur Verfügung, das player mit. dabei hat man die Wahl zwischen dem frei- auf Wunsch das vorinstallierte Kopete ersetzt. knotify4, dem man in der letzten Version en Lightspark (browser-plugin-lightspark) und noch übermäßigen Ressoucenverbrauch an- Kubuntu hat an alle Benutzer gedacht, die die dem Adobe Flash Player. Im Endeffekt bleibt nur lasten musste, wurde offenbar korrigiert und Leistung ihres KDE maximieren wollen und bie- letzterer, da Lightspark nach wie vor bei vielen verhält sich jetzt unauffällig. Die Paketver- tet ein Paket kubuntu-low-fat-settings an, das Videos versagt. Die Alternative zu Flash, das waltung Muon wurde laut den Entwicklern einige Dienste entfernt und somit Speicher spart. WebM-Format, sollte in Firefox seit Version 4 schneller und robuster, und die zugehöri- Außerdem kann man mittels des experimentel- kaum Probleme bereiten und im Großen und ge „Muon-Aktualisierungsverwaltung“ wurde len Pakets kde-window-manager-gles eine An- Ganzen funktionieren. überarbeitet. Leider findet die vereinfachte passung von KWin an OpenGL ES ausprobieren. Das gleiche Bild zeigt sich unter KDE, auch wenn Oberfläche Muon-Programmverwaltung bei OpenGL ES stellt wie OpenGL 3-D-Hardwarebe- dort Rekonq statt Firefox zum Einsatz kommt. weitem nicht alles, so die unten erwähn- schleunigung für die Effekte von KWin bereit, soll ten Pakete kubuntu-low-fat-settings und aber, da es sich um eine Untermenge handelt, In den bekannten Anwendungen Rhythmbox, kde-window-manager-gles. Nur mit dem kompatibler sein. das jetzt wieder Banshee in der Standardinstal-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20129 DISTRIBUTION lation ersetzt hat, und Totem sollte bei standard- Optimal ist das alles nicht, aber immerhin besser der Hinsicht sehen lassen, wird aber mit Sicher- mäßig nicht unterstützten Formaten eine Dialog- als in der Version 11.10. heit nicht jeden zufriedenstellen. Aber ob Uni- box erscheinen, die eine Suche nach passen- ty, KDE, GNOME, Xfce, LXDE oder eine ande- den GStreamer-Plug-ins ermöglicht und sie in- Fazit re Oberfläche, ist letztlich jedem Benutzer selbst stalliert. Wenn Ubuntu mehr als ein Paket findet, Ubuntu hat es geschafft, mit dem Ende des Zwei- überlassen. Das System bleibt in jedem Fall das- das geeignet ist, kann man auswählen, welches jahreszyklus eine ausgereifte, stabile und in viel- selbe. installiert werden soll. Beim MP3-Format sind facher Hinsicht attraktive Distribution zu produzie- LINKS das beispielsweise ein Fluendo-Plug-in und eine ren. Während ich die Ubuntu-Versionen, die zwi- GStreamer-Plug-in-Sammlung. Es ist zu empfeh- schen zwei LTS-Versionen liegen, mittlerweile als [1] http://www.pro-linux.de/artikel/2/1567/ubuntu- len, das Fluendo-Plug-in zu ignorieren, so dass reine Betaversionen ansehe, gilt das für die LTS- und-kubuntu-1204-lts.html das FFmpeg-Plug-in installiert wird. Versionen nicht. Diese sind stabil und ausgereift, [2] http://www.freiesmagazin.de/freiesMagazin-2010- wobei etwaige anfängliche Probleme unvermeid- 06 Die Erkennung der benötigten Formate funktio- lich sind, aber nachträglich noch behoben wer- [3] https://help.ubuntu.com/12.04/ niert in manchen Fällen, in manchen leider nicht. den. Und mit Version 12.04 LTS steht zweifellos [4] https://wiki.ubuntu.com/PrecisePangolin/ Es kann also unter Umständen nötig sein, wei- die beste Ubuntu-Version bisher zur Verfügung. ReleaseNotes/UbuntuDesktop tere GStreamer-Pakete von Hand zu installieren, Sicher hat es Mark Shuttleworth durchaus ernst [5] http://www.pro-linux.de/news/1/18238/canonical- beispielsweise für das MPEG2-Format. gemeint, als er die intensivierte Qualitätssiche- bringt-metal-as-a-service-maas.html Unter KDE funktioniert das im Prinzip genau- rung vor kurzem hervorhob [9]. Allen Benutzern, [6] http://www.pro-linux.de/news/1/17957/head-up- so. Amarok ist der Standard-Audioplayer. Ama- von Einsteigern bis zu erfahrenen Anwendern display-revolutioniert-menues-in-ubuntu-1204. rok oder Dragonplayer erkennen fehlende Plug- und Entwicklern, kann Ubuntu 12.04 empfohlen html ins und starten die Paketverwaltung, um danach werden. Normale Benutzer sollten immer bei ei- [7] http://wiki.ubuntuusers.de/Unity/FAQ zu suchen. Es kann jedoch passieren, dass beim ner LTS-Version bleiben, da diese die beste Sta- [8] http://www.kubuntu.org/ ersten Installationslauf nicht alle benötigten Plug- bilität bietet. Dabei ist es bedarfsweise möglich [9] http://www.pro-linux.de/news/1/18289/ubuntu- ins installiert wurden – womöglich erkennen die und relativ einfach, veraltete Software-Versionen 1210-soll-quantal-quetzal-heissen.html Programme immer nur eine fehlende Komponen- durch neuere zu ersetzen. te nach der anderen. In einem Fall waren sage Die Wahl des Desktop-Systems bleibt weiterhin und schreibe drei Startversuche nötig, bis alle eine Geschmacksfrage. Mit Unity hat Ubuntu Autoreninformation Plug-ins vorhanden waren. zwar eine klare Präferenz gesetzt, schließt aber Hans-Joachim Baader (Webseite) Im Dateimanager Dolphin fehlt weiterhin eine Da- Alternativen nicht aus. Die Entwicklung von Uni- befasst sich seit 1993 mit Linux und ist teizuordnung von Dateien mit dem Suffix .flv. ty hatte kommerzielle Hintergründe, die durchaus einer der Betreiber von Pro-Linux.de. Wenn man diese mit „Öffnen mit. . . “ hinzufügt, nachvollziehbar sind, denn es geht schließlich kann man z. B. Dragonplayer als Programm ein- um die Verbreitung von Ubuntu auf verschiedens- tragen, dann läuft alles rund. Insgesamt ist der ten Gerätetypen und somit um Einnahmequellen Test zur Multimedia-Integration knapp bestanden. für Canonical. Das Ergebnis kann sich jetzt in je- Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 10 KERNEL

Der Mai im Kernelrückblick von Mathias Menzer

asis aller Distributionen ist der Linux- ben worden war. Dies blieb dann allerdings die Auf der Grafik-Seite braucht sich Linux 3.4 auch Kernel, der fortwährend weiterent- letzte Entwicklerversion, denn anstelle eines -rc8 nicht zu verstecken. Die neuen Kepler-Chips (Ge- B wickelt wird. Welche Geräte in einem gab Torvalds den Kernel 3.4 frei [3]. Er konnte Force 600 Serie) aus dem Hause NVIDIA wer- halben Jahr unterstützt werden und welche noch die Korrektur eines Fehlers mit dem Lin- den fast von Beginn an von dem freien Treiber Funktionen neu hinzukommen, erfährt man, ker [4], der beim Kompilieren und Linken von x86- „Nouveau“ unterstützt, wenn auch noch ohne die wenn man den aktuellen Entwickler-Kernel im spezifischen Code auftritt, vorweisen. 3-D-Beschleunigung. Auch mit Radeon 7xxx und Auge behält. den Grafikeinheiten der Trinity-Prozessoren kann Die Neuerungen von Linux 3.4 Nouveau nun umgehen. Daneben wurde der Trei- Entwicklung von Linux 3.4 Mit nur 63 Tagen Entwicklungsdauer zählt Linux ber aus dem Staging-Bereich entlassen und wird Zusammen mit der letzten Ausgabe von 3.4 zu den am Kernel-Versionen, die ihren Ent- als tauglich für den breiten Einsatz angesehen. freiesMagazin gab es die sechste Entwickler- wicklungszyklus im Schnelldurchlauf hinter sich Weiterhin wird nun auch die Grafikkomponente version des Kernels 3.4 [1]. Diese Version hat- gebracht haben. Linux 3.0 kommt mit 64 Ta- von Intels GMA500-Chipsatz unterstützt, wenn te durchweg Fehlerkorrekturen im Programm, gen dicht heran, doch der aktuellste Kernel war dies im Moment auch nur als experimentell anzu- wenn man von Änderungen am Controller für die schneller. Dies tut den enthaltenen Neuerungen sehen ist. GMA500 oder „Medfield“ ist eine Platt- USB-2.0-Schnittstelle des Tegra-Chipsatzes aus jedoch keinen Abbruch. form, die für den Einsatz in Smartphones vorge- dem Hause NVIDIA absieht. Hier wurde der Trei- sehen ist. ber für das Power Management so angepasst, Btrfs wird derzeit noch nicht für den Einsatz in dass er den von anderen USB-Treiber bekann- produktiven Umgebungen empfohlen, doch die Ein kleines Highlight stellt die neue x32-ABI dar. ten Spezifikationen entspricht. Somit können Entwicklung bewegt sich mit großen Schritten in Dies ist eine Schnittstelle für die Ausführung von Entwickler künftig Standard- anstelle von Treiber- eben jene Richtung. Nicht die Sicherheit, son- 32-Bit-Anwendungen in einer 64-Bit-Umgebung. spezifischen Methoden nutzen und gleichzeitig dern die Rettung von Daten aus einem zerstör- Zwar existieren hierfür mit x86_64 und i386 be- bleibt der Treiber ohne größere Nacharbeit kom- ten Dateisystem hat das neue Werkzeug „btrfs- reits passende Schnittstellen, jedoch verspricht patibel zu den laufenden Änderungen an den restore“ zum Ziel. Metadaten, also Informationen x32 eine bessere Leistung, dafür jedoch müssen USB-Kernkomponenten. rund um die eigentlichen zu speichernden Da- Programme speziell für die Verwendung mit x32 ten herum, können nun in bis zu 64 KB großen kompiliert werden. Die Änderungen am -rc7 [2] waren wieder sehr Blöcken abgelegt werden, bislang waren maxi- überschaubar. Die herausstechendste Änderung mal 4 KB möglich. Im Ergebnis soll hier weni- Bei Gerätetreibern wird dies schon länger so ge- war die Rücknahme einer Behelfslösung für ein ger Fragmentierung auftreten, was sich auch bes- handhabt, nun kommt „Autoprobing“, die automa- Problem zwischen dem i2c-Datenbus und dem ser auf die Leistung auswirkt. Verbesserungen in tische Erkennung bestimmter Voraussetzungen freie Grafiktreiber Nouveau. Sie war als Quel- der Fehlerbehandlung, Btrfs gibt dem Nutzer nun für einen Treiber, auch für Module zum Einsatz, le anderer Probleme erkannt worden und konn- aussagekräftige Fehlermeldungen aus und ver- die die verschiedenen Erweiterungen des Pro- te wieder entfernt werden, da das ursprüngliche setzt sich selbst in einen Nur-Lesen-Modus, run- zessors betreffen. Dies soll dafür sorgen, dass Problem zwischenzeitlich auf Seiten i2c beho- den das ganze ab. künftig auch wirklich alle Module verfügbar und

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 11 KERNEL geladen sind, die für die Nutzung der vorhande- nutzen, dass nur überprüfte Firmware genutzt nige Xeon-Plattformen angepasst. Verschiedene nen CPU-Erweiterungen benötigt werden. wird, wie dies zum Beispiel ChromeOS bereits AMD-bezogene Treiber und auch andere Herstel- vormacht. Als kleine Anekdote hierzu: Ein Mit- ler und Architekturen werden noch im Kernel 3.5 In den Bereich der Sicherheit läuft das neue Si- arbeiter des Online-TV-Dienstes Netflix [6] bat folgen. cherheitsmodul „Yama“. Es ermöglicht bestimm- um die Aufnahme der Erweiterung in den Kernel Einen ersten Überblick über die tatsächlich zu te Beschränkungen, die der Kernel mit seinen mit dem Hinweis auf Unterhaltungsgeräte, die mit erwartenden Neuerung des kommenden Linux- Kernkomponenten nicht umsetzen kann. Derzeit Linux betrieben werden [7]. betrifft dies Funktionen rund um den Systemauf- Kernels wird es jedoch frühestens in der Juli- ruf ptrace – Yama verhindert hier, dass Prozes- Diese Liste ist bei weitem nicht komplett. Eine Ausgabe von freiesMagazin geben. sehr ausführliche, jedoch in Englisch verfasste se auf den Speicherbereich und Statusinforma- LINKS tionen anderer Prozesse zugreifen können. Seite über alle neuen Funktionen und Treiber bie- tet KernelNewbies.org [8]. [1] https://lwn.net/Articles/496079/ Wer einen Blick darauf werfen möchte, wie sich [2] https://lkml.org/lkml/2012/5/12/60 Änderungen am Kernel oder Eigenentwicklungen Das Merge Window für Linux 3.5 war zu Re- [3] https://lkml.org/lkml/2012/5/20/126 auf die Systemleistung auswirken, dem steht der daktionsschluss noch offen. Insofern muss es [4] https://de.wikipedia.org/wiki/Linker_(Computer Leistungsmesser „“ zur Verfügung. Die Aus- noch nichts bedeuten, dass bislang kaum Än- programm) wertung dessen Ausgaben wird nun etwas einfa- derungen für das Dateisystem Btrfs in die Ent- [5] https://de.wikipedia.org/wiki/Device_Mapper wicklerversion des Kernels aufgenommen wur- cher, da Reports nun mittels einer auf GTK2 ba- [6] https://de.wikipedia.org/wiki/Netflix den. Anders dagegen sieht es bei den Netzwerk- sierenden Bedienoberfläche betrachtet werden [7] https://lwn.net/Articles/459422/ Dateisystemen NFS und CIFS aus – hier fin- können. Die Oberfläche ist allerdings noch aus- [8] http://kernelnewbies.org/Linux_3.4 baufähig. det sich bereits eine Vielzahl an Korrekturen in der Liste der eingegangenen Patches. Auch Mancher mag nicht sicher sein, ob „dm-verity“ tat- der Nouveau-Treiber weist bislang hauptsächlich Autoreninformation sächlich im Interesse der Linux-Anwender liegt. Fehlerkorrekturen auf. Eine theoretisch kleine- Diese Erweiterung für den [5] er- re Umstellung der Schnittstelle eines Treibers Mathias Menzer (Webseite) hält möglicht gesicherte, nicht beschreibbare Datei- für die Fehlerkontrolle von Arbeitsspeichermodu- einen Blick auf die Entwicklung des systeme, deren Inhalt mittels kryptografischer len (EDAC) dürfte ein wenig Staub aufwirbeln. Linux-Kernels und erfährt frühzeitig Prüfsummen verifiziert wird. So wird bei jedem Hier müssen in nächster Zeit viele Treiber an- Details über interessante Funktionen. Lesezugriff sichergestellt, dass die Information gepasst werden, die auf diese Komponente auf- auch die ist, die irgendwann einmal hineinge- bauen, was eine Vielzahl an zu ändernden Da- legt wurde. Dies ließe sich zum Beispiel zur Ab- teien im Kernel-Tree bedeutet. Konkret wurden sicherung von Unterhaltungshardware insofern bislang die Treiber für Intels i3/i5/i7- sowie ei- Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 12 PROGRAMMIERUNG

Objektorientierte Programmierung: Teil 4 – Strategie, wechsel Dich! von Dominik Wagenführ

er Begriff der objektorientierten Pro- Hierfür gibt es natürlich auch ein Entwurfsmus- libbot immer libstrategy nutzt. Würde man grammierung (kurz OOP [1]) existiert ter, welches sich Zustandsmuster nennt [3]. Das nun von den konkreten Strategien direkt auf Bot D schon eine ganze Weile. Wer zuvor Zustandsmuster besteht aus Zuständen (im Bei- zugreifen, hätte man auch eine Abhängigkeit von prozedural programmiert hat, erwischt sich spiel also den Strategien) und aus Zustandsüber- libstrategy zu libbot und damit eine zykli- beim Übergang zu OOP öfters dabei, wie er gängen, welche einen Zustand in einen anderen sche Paketabhängigkeit geschaffen, was in den die früheren Funktionen einfach mit einer überführen. seltensten Fällen gut endet. Klasse umgibt und dies als objektorientierte Hinweis: Das Beispiel ist natürlich extrem verein- Programmierung verkauft. Diese Artikelreihe Um dieses Problem zu lösen, hilft das Dependen- facht. Man stelle sich aber vor, Strategie 1 und soll an einem einfachen Beispiel zeigen, was cy Inversion Principle [4]. Hier könnte man ein In- 2 müssten komplizierte Berechnungen durchfüh- man in diesem Fall besser machen könnte. terface IBot unter die Klasse Bot legen, welches ren. Diese eins zu eins in Strategie 3 nachzubil- die Strategien nutzen könnte. Natürlich ist die Ab- Bevor man im Artikel fortfährt, sollte man sich den, wäre wegen Code-Redundanz unsinnig. hängigkeit immer noch zyklisch, wenn IBot im den vorherigen Teil der Reihe durchgelesen ha- libbot Design Paket liegt. Man könnte das Interface al- ben (siehe freiesMagazin 05/2012 [2]). Die essentiellen Fragen für das Design sind: so in libstrategy auslagern, aber das passt kontextuell nicht mehr in das Strategie-Paket. Ein Eine neue Strategie 1. Wie kommen die konkreten Strategien an die einzelnes Paket mit dem Interface ist aber eben- Von den drei bisher verwendeten Strategien war anderen konkreten Strategien, zu denen sie so übertrieben. eine dabei, deren Verhalten sehr ähnlich zu den wechseln sollen? Was ist also die Lösung? Ganz simpel: Eine Na- anderen beiden war. Zur Erinnerung die drei Bot- 2. Wie können sie dem Bot diese neue Strategie mensänderung. Wieso heißt das Interface IBot? Strategien: geschickt unterschieben? Es soll eigentlich nur eine Schnittstelle anbieten, 1. Immer annehmen Frage 1 ist leicht zu beantworten: Sie nutzen ein- damit Strategien den umliegenden Kontext verän- 2. Immer ablehnen fach die StrategyFactory, um die neue konkre- dern können. Vor allem ist nicht gesagt, dass in ferner Zukunft niemand die Strategien auch an- 3. Annahme, wenn größer gleich 200. Wenn drei- te Strategie zu erstellen. Dafür müssen sie aber ders als für einen Bot einsetzen will. mal nacheinander kleiner 200, dann immer natürlich auch wissen, zu welcher Strategie sie Ablehnung; wenn dreimal nacheinander grö- wechseln wollen. Aus dem Grund ist die Integration des Interfa- ßer als 700, dann immer Annahme. Hinweis: Es gibt hier auch andere Ansätze, dass ces in das Paket libstrategy korrekt, der Name z.B. der Kontext (im Beispiel die Klasse Bot) alle sollte aber IStrategyContext lauten und die Bei der dritten Strategie ist es also so, dass man Strategien einmal als Instanz hält und diese her- Klasse sollte nur eine Operation setStrategy ab einem gewissen Punkt zu Strategie 1 oder 2 ausgeben kann, sodass ein Wechsel möglich ist. besitzen. wechselt. Es wäre gut, wenn diese Strategie al- so dem Bot eine neue Strategie unterschiebt, an- Frage 2 ist etwas schwieriger zu beantwor- Dennoch fehlt etwas: Die konkreten Strate- statt Strategie 1 und 2 intern nachzubilden. ten. Bisher war es so, dass im Paketdiagramm gien müssen auch an den Kontext kommen,

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 13 PROGRAMMIERUNG

entsprechen im vorliegenden Fall den drei kon- kreten Strategien. Als Zustandsübergang funktio- niert die Methode acceptOffer, wobei der jewei- lige Übergang aus dem Zustand variable her- aus an eine Bedingung geknüpft ist:

 Liegt der übergebene Wert zwischen 200 und 700 (inklusive), bleibt man in dem Zustand und setzt die Zählwerte mNumDeclineInRow und mNumAcceptInRow zurück.

 Ist der Wert kleiner als 200 und hat man schon dreimal abgelehnt, geht man in den Zustand decline über.

 Ist der Wert größer als 700 und hat man schon dreimal angenommen, geht man in den Zu- stand accept über.

Die Zustände accept und decline können dann nur noch durch das Spielende verlassen werden. Achtung: Der Zustandsautomat hat eine kleine Unschärfe und ist der Einfachheit halber nicht ein- hunderprozentig korrekt dargestellt. So fehlt näm- lich die eigentliche Aktion des Zählens, wie oft ein Angebot abgelehnt oder angenommen wur- de. Wenn man es sehr genau nehmen würde, dann müsste man hierfür Zwischenzustände ein- bauen, deren einzige Aufgabe es wäre, die jewei- lige Anzahl an Ablehnungen bzw. Annahmen zu zählen. Sie wechseln nach dem Zählen ohne Zu- Das Interface IStrategyContext und deren Nutzer. standsübergang direkt in den nächsten Zustand, also an den Nutzer der jeweiligen Strategie. Dies Generalisierungen gibt. Dies ist dann auch der der eben von der Anzahl abhängt. geschieht am besten, indem die Basisklasse Grund, wieso das Interface IStrategy der Basis- Klassenaufteilung unter den Strategien den Kontext IStrategy klasse BaseStrategy weichen muss. Jetzt fehlt Klasse: IStrategyContex Context verwaltet und bei Bedarf an die nur noch die Beschreibung der Zustände. Diese Benötigt: –

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 14 PROGRAMMIERUNG

Verantwort.: Interface für Nutzer von Strategi- Klasse: StrategyFactory Implementierung en, um neue Strategien zu setzen Benötigt: BaseStrategy Die potentielle zyklische Abhängigkeit von IStrategyContext zu BaseStrategy lässt sich Verantwort.: lässt neue Strategien anmelden Klasse: BaseStrategy leicht durch Vorwärtsdeklarationen lösen. Man und erstellt diese auf Zuruf Benötigt: IStrategyContext kann in C++ sogar noch einen Schritt weiterge- Verantwort.: Basisklasse für die konkreten hen und in BaseStrategy mit einer Vorwärts- Klasse: Bot Strategien, um ein Angebot anzu- deklaration auf IStrategyContext auskommen. nehmen oder abzulehnen. Basisklasse: IStrategyContex Der Grund ist, dass BaseStrategy das Interface Merkt sich den Kontext, in dem es Benötigt: BaseStrategy nie selbst nutzt, sondern nur verwaltet. Und da- benutzt wird. Verantwort.: zählt die angenommenen Punkte für muss es nur den Namen kennen, nicht den eigentlichen Code, der dahintersteckt. Hinweis: Hier muss man aufpassen, dass es Klasse: Game nicht zu einer zyklischen Abhängigkeit kommt. Die C++-Implementierung der obigen Klassen Benötigt: StrategyFactory, Bot Da IStrategyContex aber nur ein Interface ist, kann als Archiv heruntergeladen werden: oop7- muss es nicht BaseStrategy selbst, sondern nur Verantwort.: erstellt den Bot und setzt die von beispiel.tar.gz. den Namen kennen. der Fabrik erzeugte Strategie; liest die Benutzereingabe und Abschluss Klasse: AcceptStrategy fragt Bot nach Annahme oder Ab- Die vier Teile zur objektorientierten Programmie- rung sollten einen kleinen Einblick geben, wie Basisklasse: BaseStrategy lehnung man aus einem einfachen Problem etwas desi- Benötigt: – Abhängigkeiten gntechnisch extrem kompliziertes machen kann. Verantwort.: nimmt ein Angebot immer an Natürlich nicht, damit es niemand mehr versteht, Es gibt nun zwar mehr Abhängigkeiten, aber es sondern damit die Lösung auch für die Zukunft Klasse: DeclineStrategy handelt sich dabei immer nur um zusätzliche leicht erweiterbar und wartbar ist. Und in der Re- Basisklasse: BaseStrategy Abhängigkeiten zu einem Interface, welche sehr gel hilft ein gutes Design dem Verständnis. Benötigt: – leichtgewichtig sind. Wie im ersten Teil erwähnt, gibt es zu einer Auf- Verantwort.: lehnt ein Angebot immer ab IStrategy Ebenso sind durch die Ersetzung von gabe aber immer mehrere Lösungen. Und so durch die Basisklasse BaseStrategy keine neu- Klasse: VariableStrategy gibt es für das gestellte Problem natürlich auch en Abhängigkeiten entstanden. Basisklasse: BaseStrategy mehrere Designentscheidungen in die eine oder Benötigt: StrategyFactory, Vor- und Nachteile andere Richtung. Vorrangig sollten in der Rei- he aber verschiedene Design-Prinzipien und Ent- IStrategyContex Nachteile ergeben sich keine aus der Lösung. wurfsmuster vorgestellt werden. Verantwort.: entscheidet variabel, ob ein Ange- Der Vorteil ist, dass die Strategien nun ineinader bot abgelehnt oder angenommen wechseln können und diese vor allem bei kom- Man sollte sich auch im Klaren darüber wird plexeren Strategien wieder verwendbar sind. sein, dass eine sture Entwicklung nach dem

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 15 PROGRAMMIERUNG

ren Code“, mitp-Verlag 2009, ISBN 978- 3826655487 [8]

LINKS [1] https://de.wikipedia.org/wiki/Objektorientierte_ Programmierung [2] http://www.freiesmagazin.de/freiesMagazin-2012- 05 [3] https://de.wikipedia.org/wiki/Zustand_(Entwurfs muster) [4] https://de.wikipedia.org/wiki/Dependency_ Inversion_Principle [5] http://www.amazon.de/Patterns-Elements- Reusable-Object-Oriented-Software/dp/ 0201633612/ [6] http://www.amazon.de/Entwurfsmuster- Elemente-wiederverwendbarer-objektorientierter- Software/dp/3827321999/ [7] http://www.amazon.de/Head-First-Design- Patterns-Freeman/dp/0596007124/ Zustandsautomat mit der variablen Strategie als Start-Strategie. [8] http://www.amazon.de/Clean-Code-Refactoring- Patterns-Techniken/dp/3826655486/ Motto „Erst das Design, dann die Implementie- Object-Oriented Software“, Addison-Wesley rung” selten funktioniert. In der Regel erkennt 1994, ISBN 978-0201633610 [5] Autoreninformation man während der Implementierung, dass man  E. Gamma, R. Helm, R. Johnson und im Design etwas falsch gemacht hat, etwas fehlt J. Vlissides: „Entwurfsmuster: Elemente Dominik Wagenführ (Webseite) ist oder einfach gar nicht in der benutzten Sprache wiederverwendbarer objektorientierter Soft- C++-Software-Entwickler und hat zu realisieren ist. Daher sollte das Design zwar ware“, Addison-Wesley 2004, ISBN 978- täglich mit Software-Design zu tun. zuerst entstehen, während der Umsetzung aber 3827321992 [6] iterativ angepasst werden. Dabei muss er sich immer Gedanken  E. & E. Freeman, B. Bates und K. Sierra: machen, dass seine Software auch „Head First Design Patterns“, O’Reilly Media in Zukunft wart- und erweiterbar bleibt. Literatur 2004, ISBN 978-0596007126 [7] R. C. Martin: „Clean Code - Refactoring, E. Gamma, R. Helm, R. Johnson und J. Vlis-   Patterns, Testen und Techniken für saube- sides: „Design Patterns. Elements of Reusable Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 16 DATENSICHERUNG

Cloud-Backup mit Bordmitteln von Hauke Goos-Habermann

iemand will „Backup“, alle wollen nur Anschlüsse mit guten Upload-Raten sind im- mit der jeweiligen Paketverwaltung eingespielt „Restore“. Natürlich kommt man als mer noch Mangelware. werden. N Nutzer nicht um das Thema „Backup“ herum, will man seine Daten nicht unnötig Dieser Artikel beschreibt eine Lösung, die alle EncFS aufs Spiel setzen. Neben den klassischen oben genannten Punkte abdeckt und zudem mit Den Part des Verschlüsslers spielt die FUSE- Möglichkeiten, Daten lokal – auf externen den Werkzeugen von halbwegs modernen Distri- Erweiterung EncFS [1]. EncFS wird als normaler Festplatten oder einem Netzwerkspeicher – butionen zu realisieren ist. Benutzer, nicht als Root, verwendet und benötigt zu sichern, könnte man auf die Idee kommen, lediglich zwei Verzeichnisse. Das eine enthält die eine Sicherung in das Internet vorzunehmen. Vorbereitungen verschlüsselten Daten, das andere die transpa- Sogenannte „Cloud-Backup“-Lösungen gibt Für die „Cloud-Backup“-Lösung „Marke Eigen- rent entschlüsselten. Die Dateien und Verzeich- es viele, doch möchte man seine persönli- bau“ benötigt man auf dem eigenen Rech- nisse im entschlüsselten Verzeichnis sind rein chen Daten vielleicht nicht unbedingt einem ner die Pakete encfs, bup, git und rsync. virtuell und werden also nicht auf die Festplatte Dienstleister anvertrauen, von dem man nicht Der Rechner im Internet benötigt das Paket geschrieben. Änderungen, die im entschlüssel- genau weiß, was dieser mit den Daten anstellt. rsync neben der Möglichkeit, sich dort ein- ten Verzeichnis durchgeführt werden, werden Außerdem sollte man eine solche Lösung kei- zuloggen und Dateien beziehungsweise Ver- automatisch als verschlüsselte Gegenstücke nesfalls als Ersatz für normale Backups, son- zeichnisse abzulegen. Die Pakete können im anderen Verzeichnis abgebildet. Neben den dern als Ergänzung sehen.

Möchte man dennoch dieses Wagnis auf sich nehmen, so sollte man von einer solchen Lösung Folgendes erwarten:

 Die Daten sollten lokal verschlüsselt werden, damit keine sensiblen Informationen nach au- ßen gelangen.

 Dateien sollten versioniert werden, um ein „Zu- rückspringen“ zu bestimmten vorherigen Zu- ständen zu ermöglichen.

 Die Backups sollten platzsparend gesichert werden.

 Das Hochladen der Backups sollte band- breitenschonend erfolgen, denn Internet- Entschlüsseltes und verschlüsseltes EncFS-Verzeichnis.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 17 DATENSICHERUNG

Dateiinhalten werden auch die Datei- und Ver- gesicherten Daten auf der Festplatte abgelegt. das eigene Heimatverzeichnis in bup zu sichern, zeichnisnamen verschlüsselt, sodass es für Aus Anwendersicht kann man sich bup als Da- könnte man folgenden Einzeiler verwenden: einen Unbefugten, der Zugriff auf das verschlüs- tenbank vorstellen, die Daten besonders effizient selte Verzeichnis erhält, nur sehr schwer ist, speichert. Gerade diese Effizienz ist wichtig, da- $ tar cv ~ | bup -d /tmp/b split -ny "tar-Test" Rückschlüsse auf den tatsächlichen Inhalt zu zie- mit nur ein Minimum an Daten an den Rechner hen. im Internet übertragen werden muss. Diese Methode hat den Vorteil, dass auch Zu- Zum Anlegen der beiden Verzeichnisse und Intern verwendet bup Strukturen des Versions- griffsrechte sowie Benutzer- und Gruppenzuge- grundlegenden Konfiguration von EncFS reicht verwaltungssystems git (z. B. das git packfile hörigkeiten gesichert werden, hat aber auch den folgender Einzeiler, der im Verzeichnis des ak- format) und bietet ein wahres Füllhorn an Funk- Nachteil, dass man nicht gezielt auf einzelne Da- tuellen Benutzers das Verzeichnis v für die ver- tionen [3]: Den Zugriff auf den Datenbestand via teien der Sicherung zurückgreifen kann. Mit -n schlüsselten Daten und e für die entschlüsselten Webbrowser oder als FUSE-Modul, die Möglich- wird hierbei der Name des Backup-Satzes ange- anlegt: keit, mit git-Programmen auf die bup-Daten zu- geben. Für regelmäßige Backups (und der Ord- zugreifen und die Sicherung der Datenintegrität $ encfs ~/v ~/e nung wegen) empfielt es sich, für verschiedene mittels PAR2 [4]. Aufgaben eigene Backup-Sätze zu verwenden Bei der Frage „Bitte wählen Sie eine der folgen- bup-Repository erstellen (z. B. konfig für /etc oder meins für ~). Für die den Optionen“ kann man einfach p für den vor- Bevor man mit bup arbeiten kann, muss man ein Effizienz von bup ist es allerdings unerheblich, konfigurierten Paranoia-Modus wählen und da- bup-Repository erstellen. bup legt hierbei stan- wieviele Backups ein Backup-Satz enthält, da im- nach einen möglichst komplizierten Passsatz an- dardmäßig seine Daten unter ~/.bup, also im mer nur Differenzen zu allen zuvor in bup gesi- geben. Anschließend befindet sich unter v die jeweiligen Heimatverzeichnis des aktiven Benut- cherten Daten gespeichert werden. Konfigurationsdatei .encfs*.xml mit Einstellun- zers, ab. Möchte man den Pfad ändern, so ge- gen zum angelegten EncFS. schieht dies über den Parameter -d . Als Möchte man auf einzelne Dateien in bup über ersten Test kann man mittels des folgenden Be- FUSE [5], den integrierten Webserver oder das Ein späteres Mounten erfolgt über dasselbe Kom- fehls ein temporäres bup-Archiv (für den Produk- Kommandozeilenwerkzeug zugreifen können, so mando. Möchte man das EncFS wieder aushän- tivbetrieb muss natürlich ein anderes Verzeichnis geschieht die Sicherung über: gen, so macht man dies mit: gewählt werden) anlegen: $ bup -d /tmp/b index ~ $ fusermount -u ~/e $ bup -d /tmp/b init $ bup -d /tmp/b save -n "datei-Testy " ~ bup Daten an bup senden Die Software bup [2] löst gleich zwei Proble- Bup sieht zwei verschiedene Arten vor, wie Da- Die erste Zeile legt eine Liste aller zu sichernden me. Zum einen archiviert bup alle übergebe- ten zum Speichern eingereicht werden können. Dateien und Verzeichnisse an, die zweite sichert nen Daten und ermöglicht deren Wiederherstel- Über das Kommando split können beliebige diese anschließend in der bup-Datenbank. Diese lung. Zum anderen werden bei jedem Speicher- Datenströme (z. B. die Ausgabe von tar oder Variante hat aber (derzeit) den Nachteil, dass kei- vorgang nur die Änderungen zu bereits in bup dd) in bup umgeleitet werden. Um beispielsweise ne Dateirechte gesichert werden.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 18 DATENSICHERUNG

Daten aus bup herausbekommen $ bup -d /tmp/b join c9242bd6bb9cfd9c285f01ebb0dcdacf0c620038 | tar xv Das Ablegen von Daten in bup ist relativ einfach. Doch wie kommt man an die Daten wieder her- Auf einzelne Dateien in bup kann man mittels des benötigt zusätzlich zum Namen des Backup- an? Kommandos fuse via beliebiger Dateimanager Satzes auch noch das Datum der Siche- lesend zugreifen: rung. Möchte man die letzte Sicherung Da bup intern die git-Struktur verwendet, bei der wiederherstellen, so lautet das Datum jedes Backup über eine eindeutige „CommitID“ $ mkdir /tmp/mountpunkt latest. auffindbar ist, wird für das Wiederherstellen ei- $ bup -d /tmp/b fuse /tmp/mountpunkt nes Datenstromes ebendiese Nummer benötigt. Zum Auflisten aller Sicherungszeitpunkte Möchte man dem FUSE-Modul beim Arbeiten zu- Zum Auflisten dieser Nummern für das oben des Backup-Satzes datei-Test dient: angelegte tar-Backup dient das git-Programm sehen, so erweitert man den Aufruf nach fuse selbst: noch um -f. Anschließend kann man im Datei- $ bup -d /tmp/b ls datei-Test | y manager /tmp/mountpunkt als Adresse ange- sort -r $ GIT_DIR="/tmp/b" git log "tar-y ben und Dateien aus dem Archiv heraus kopie- Test" ren. Der folgende Einzeiler stellt schließlich alle Datei- Um den Zugriff über FUSE zu beenden und bup en und Verzeichnisse aus datei-Test vom Da- aus dem Verzeichnis auszuhängen, genügt: tum 2012-04-23-171250 im aktuellen Verzeich- nis wieder her: $ fusermount -u /tmp/mountpunkt $ bup -d /tmp/b restore "/datei-y Der Zugriff über den Webbrowser geschieht ähn- Test/2012-04-23-171250/" lich:

$ bup -d /tmp/b web

Der bup-Webserver lauscht nun an Port 8080 und nimmt Verbindungen entgegen. Im Browser gibt man in der Adresszeile http://127.0.0.1:8080 an und kann dann Das git-Protokoll mit erfolgten Sicherungen. Dateien aus bup herunterladen. Den Server be- endet man nach getaner Arbeit über die Tasten- Jede Sicherung wird im git-Protokoll mit Com- kombination Strg + C . mitID, dem Ersteller des Backups sowie dem Zeit- punkt der Sicherung vermerkt. Zum Auslesen Von der Kommandozeile kann man natürlich dient das Kommando join, dem die CommitID auch seine Backups wiederherstellen. Hierzu übergebenen wird: dient das bup-Kommando restore. Dieses bup-Archiv via FUSE gemountet.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 19 DATENSICHERUNG

Und jetzt alle zusammen Oder auf Dateiebene: Daten wiederherstellen Das Wiederherstellen eines Datenstromes an- Bis auf rsync, das den Transfer der Daten vom $ encfsBupBackup filesIn "datei- y hand seiner CommitID geschieht unspektakulär eigenen Rechner zum Server im Internet über- Test2" ~ nimmt, wurden alle Komponenten vorgestellt. via: Jetzt kommt es nur noch auf das Zusammenspiel Das Einhängen vor dem Sichern und anschlie- $ encfsBupBackup pipeOut an. In der Theorie soll das bup-Repository in ßende Aushängen übernimmt wiederum das c9242bd6bb9cfd9c285f01ebb0dcdacf0c620038 EncFS abgelegt und dieses verschlüsselte bup- Skript. | tar xv Archiv wiederum hochgeladen werden. Status abfragen Dateien können folgendermaßen zurückgesi- Zur weiteren Vereinfachung enthält encfsBup- Um die Sache zu vereinfachen, habe ich das chert werden: Skript encfsBupBackup (Download unter [6]) ge- Backup Funktionen, um den Status des bup- schrieben, das diese einzelnen Schritte zusam- Archives abzufragen. $ encfsBupBackup filesOut "datei-y menfasst und für den Benutzer vereinfacht. Da- Neben den Protokollen, die git/bup mitbringen, Test2" "2012-04-23-171250" mit das Skript einfach genutzt werden kann, legt encfsBupBackup ein Eigenes an, das die Na- Der Zugriff via FUSE und Webserver geschieht sollte man es in ein Verzeichnis, das im Pfad men der Backup-Sätze und die CommitID einer über: für ausführbare Dateien (z. B. /usr/local/bin) jeden Sicherung enthält. Dieses kann man sich aufgelistet ist, ablegen und mittels chmod +x anzeigen lassen mit: $ encfsBupBackup fuse /tmp/ encfsBupBackup y ausführbar machen. mountpunkt $ encfsBupBackup lsLog Beim ersten Aufruf von encfsBupBackup bzw. über: wird eine Vorlage für die Konfigurationsdatei Um nur die Namen aller Backup-Sätze zu bekom- ~/encfsBupBackup.rc angelegt, die man dann men, verwendet man: $ encfsBupBackup web mit einem Editor anpassen muss. Neben den $ encfsBupBackup lsBackups Verzeichnissen für EncFS und das bup-Archiv Was tun wenn’s klemmt? sind das EncFS-Password für das automati- Für die Auflistung der CommitIDs aus dem In seltenen Fällen kann es vorkommen, dass ei- sche Mounten, sowie die Zugangsdaten für den Backup-Satz tar-Test2 dient folgender Einzei- ne Wiederherstellung aufgrund angeblich fehlen- Internet-Server anzugeben. ler: der Dateien nicht vorgenommen werden kann. Dies ist aber kein Grund zur Panik, denn nach Daten sichern $ encfsBupBackup lsCommits "tar-y dem Entschlüsseln des bup-EncFS-Archives Das Anlegen von EncFS und bup-Repository Test2" funktioniert die Wiederherstellung tadellos. übernimmt encfsBupBackup, sodass man gleich mit dem Sichern von Daten beginnen kann: Die Sicherungsdaten ermittelt man mittels: Um die Entschlüsselung vorzunehmen, verwen- det man folgendes Kommando: $ tar cv ~ | encfsBupBackup pipeIn y $ encfsBupBackup lsDates "datei-y "tar-Test2" Test2" $ encfsBupBackup decrypt

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 20 DATENSICHERUNG

Nachfolgende Wiederherstellungsaktionen wer- jedem Abholen oder Senden von E-Mails aller- [3] http://zoranzaric.de/bup-cda.pdf den nun aus dem (temporär) entschlüsselten Ar- dings nur wenig. Daher macht das Sichern von [4] http://de.wikipedia.org/wiki/PAR2 chiv vorgenommen. Für das Löschen des unge- kompletten Zuständen wenig Sinn. Eine intelli- [5] http://fuse.sourceforge.net schützten Archivs gibt es: gente Lösung, die jeweils nur die Differenz spei- [6] http://sourceforge.net/projects/dodger-tools/files/ chert, mir aber das Zurücksetzen der Postfächer scripts/encfsBupBackup $ encfsBupBackup rmDecrypt auf den Zustand eines beliebigen Datums er- laubt, musste her. Nachdem ich ein Skript er- Zum Überprüfen der Datenintegrität dient: stellt hatte, das den kompletten E-Mail-Backup- Autoreninformation $ encfsBupBackup fsck Vorgang mit den vorgestellten Werkzeugen ab- deckte, wollte ich auch weitere Daten effizient si- Hauke Goos-Habermann (Webseite) Hoch damit chern. So kam es zu der Entwicklung des Skrip- arbeitet freiberuflich als Entwickler Damit aus dem lokalen Backup auch ein „Cloud- tes encfsBupBackup, mit dem ich beliebige Da- und Trainer für Linux und Open Backup“ wird, muss es natürlich noch hochgela- ten durch kurze Skripte sichern lassen kann. Ne- Source Software. Er ist zudem den werden. Dies erledigt: ben den E-Mail-Postfächern sichere ich nun al- Hauptentwickler des Softwarevertei- lungssystems m23 und weiterer OSS $ encfsBupBackup upload le wichtigen Dateien und Dokumente sowie den Entwicklungszweig von m23 nebst Datenbank sowie Mitorganisator der Kieler Open Source und Linux Tage. Warum das Ganze? mittels encfsBupBackup. Meine Motivation war anfangs das Sichern von Quellen: LINKS Thunderbird-Postfächern, bei denen die E-Mails jeweils in großen Dateien zusammenfasst wer- [1] http://www.arg0.net/encfs Diesen Artikel kommentieren den. Innerhalb dieser Dateien verändert sich bei [2] https://github.com/apenwarr/bup

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

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 21 NAVIGATION

Routino von Uwe Steinmann

aum ein Gemeinschaftsprojekt hat in kurzer Zeit soviel Zuspruch und Un- K terstützung erhalten wie OpenStreet- Map (siehe „OpenStreetMap – Eine virtuel- le Welt gedeiht“, freiesMagazin 03/2012 [1]). Die weltweite Karte hat in vielen Ländern, darunter auch Deutschland, einen Detailreich- tum erlangt, der kommerzielle Kartenanbieter schlecht aussehen lässt. Ein anderes, zuneh- mend interessantes Anwendungsgebiet ist die Navigation auf Basis der OSM-Daten. Im Wiki von OSM [2] werden verschiedene Pro- gramme und Web-Seiten vorgestellt. Dieser Artikel greift ein Programm heraus, das etwas unglücklich im Wiki als „web-based router“ bezeichnet wird: Routino [3].

Grundsätzlich gilt: Wie hoch die Qualität der ge- fundenen Routen ist, hängt stark von der Genau- igkeit und Vollständigkeit des Datenmaterials ab. Hier gilt für OSM noch immer: Ländliche Gebie- te sind oft ungenügend erfasst, Städte und Bal- lungszentren dagegen so gut, dass selbst geeig- Mit dem Rollstuhl durch den Wuppertaler Zoo. nete Wege für beispielsweise Rollstuhlfahrer ge- funden werden. Die Daten sind das Eine, darüber Installation herunterladen kann. Eine Installationsanleitung hinaus ist aber auch passende Software für das Die Installation von Routino ist besonders ein- aus den Quellen der Software findet man eben- Routing notwendig. Routino ist so eine Software, fach unter . In der testing-Distribution falls dort [6]. Im Folgenden wird jedoch von der die neben der Web-Schnittstelle auch ohne die- ist die aktuelle Version 2.2 enthalten. Kon- Installation der Debian-Pakete ausgegangen. se auskommt und beispielsweise aus Marble [4] kret findet man zwei Pakete vor: Den Router Nach der Installation (bei der möglicherwei- heraus verwendet werden kann. Mit Routino und selbst (routino) und eine grafische Oberfläche se noch weitere Pakete installiert werden, den OSM-Daten ergeben sich Möglichkeiten, die (routino-www), die schlicht aber sehr funktional um Abhängigkeiten aufzulösen) kann die Web- sonst kaum zu finden sind, beispielsweise eine ist. Beides findet man auch in der Download- Schnittstelle unter http://localhost/routino Rollstuhlroute durch den Wuppertaler Zoo. datei, die man von der Routino-Homepage [5] eingesehen werden. Im Unterschied zur Original-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 22 NAVIGATION version zeigt diese als Kartenausschnitt die ge- planetsplitter ist ein Programm aus der Routino- Der erste Test samte Erde (und nicht nur Großbritannien) und Distribution, das die eigentliche Erzeugung der Das Routino-Web-Frontend ist in eine linke Spal- bietet die OSM Cycle Map als alternative Karten- Datenbank übernimmt. Während das Programm te mit dem Bedienpanel und eine rechte Spalte darstellung an. läuft, wird ständig der aktuelle Status ausgege- mit der Karte aufgeteilt. Zunächst sollte man in ben. Bei einem Aufruf als cronjob ist es daher der Karte auf Deutschland zoomen, weil das Rou- Ein Routing kann aber noch nicht stattfinden, weil ratsam, den Parameter --loggable zu verwen- ting aufgrund der erstellten Datenbank nur dort noch eine geeignete Datenbank mit dem Karten- den und die Ausgaben in eine Datei zu schreiben. funktionieren kann. material fehlt. Routino nutzt nicht die OSM-Daten planetsplitter --help listet alle verfügbaren direkt, sondern konvertiert die Daten zunächst Optionen auf. In dem Bedienpanel befinden sich auf dem Rei- in ein eigenes, optimiertes Format. Die etwa 20 ter „Options“ alle Einstellmöglichkeiten, allen vor- GB unkomprimierte OSM-Daten für Deutschland Auf einem Server mit einem Intel XEON 2.4 GHz an die Festlegung von Start- und Zielpunkt in der schrumpfen somit auf etwa 800 MB, die sich über mit vier Kernen sowie 8 GB RAM dauert die Da- Rubrik „Waypoints“. Ein Klick auf das Symbol mit vier Dateien verteilen. tenbankerzeugung etwa eine Stunde. der „1“ befördert es in die Mitte der Karte und setzt die Startposition. Danach lässt es sich belie- Das Ergebnis liegt in dem Verzeichnis data und Erstellung der Routino-Datenbank big auf der Karte verschieben. Analog setzt man besteht aus den vier Dateien Der Download, das Dekomprimieren der Da- so den Zielpunkt für das Symbol mit der „2“. Alle ten und die Erzeugung der Routino-Datenbank de-nodes.mem weiteren Einstellungen sind für einen ersten Test für Deutschland kann durch das folgende Shell- de-relations.mem irrelevant, sodass ein Klick auf einen der Knöpfe Skript erfolgen. Auf den Seiten von Geofrabrik [7] de-segments.mem „Shortest“ oder „Quickest“ am unteren Rand des finden sich weitere kleinere aber auch größere de-ways.mem Bedienpanels das Routing startet. Das Ergebnis Bereiche der Welt. erscheint daraufhin als grüne oder blaue Linie in Routino un- #!/bin/sh der Karte und im Bedien-Panel wird auf den Rei- ter Debian wget http://download.geofabrik.de/osm/europe/germany.osm.bz2 ter „Results“ umgeschaltet. Kürzere Strecken bis [ -f germany.osm ] && rm germany.osm erwartet die- zu einigen Kilometern sind in der Regel in weni- mkdir -p data se vier Da- ger als einer Sekunde berechnet. Die Verzöge- [ -d data ] && rm -f data/* teien oh- rung liegt eher in der grafischen Darstellung als pbzip2 -d germany.osm.bz2 ne das Prä- im eigentlichen Routing. planetsplitter --dir=data --prefix=de germany.osm fix de- in dem Ver- Anpassung der Einstellungen Listing 1: create.sh zeichnis Die zuvor berechnete Route war für die Fahrt Zum Entpacken der Daten wird pbzip2 verwen- /var/lib/routino/data. Sie sollten also dort- mit einem Auto erstellt worden. Routino kennt det, das mehrere Prozessoren nutzen und so- hin kopiert werden (dafür sind Root-Rechte er- jedoch zahlreiche weitere Profile, die andere mit auf Mehrprozessorsystemen deutlich schnel- forderlich). Damit ist bereits alles für einen ers- Fortbewegungsmittel beschreiben. Auch eigene ler entpacken kann. Die Standardvariante bzip2 ten Test vorbereitet, der bequem über die Web- Profile sind möglich, erfordern aber Änderun- kann aber ebenso verwendet werden. Schnittstelle erfolgen kann. gen an den Konfigurationsdateien, die über das

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 23 NAVIGATION

Die „Highway Preferences“ und „Property Prefe- rences“ erlauben besonders weitreichende Ein- stellmöglichkeiten, erfordern aber auch behutsa- men Umgang. Hier geht es um eine Gewich- tung der Straßentypen im allgemeinen. Das führt mitunter zu Wegführungen, die nicht sofort ein- leuchtend sind. Dazu ein Beispiel: Als Fußgän- ger steht man oft vor der Entscheidung zwischen dem etwas kürzeren Weg an der Hauptstraße entlang oder dem längeren Weg durch den Park oder Wald. Hier ein geeignetes Maß zu finden ist sehr subjektiv. Über die „Highway Preferences“ ist dies durch höhere Gewichtung der größeren oder kleineren Straßen und Wege möglich. Das führt mitunter dazu, dass selbst bei Berechnung der kürzesten Route eine längere Route gewählt wird, die dafür aber „durchs Grüne“ geht. Verdeut- licht wird dies später nochmal, wenn die Integra- tion in Marble vorgestellt wird.

Die „Speed Limits“ dürften auch ohne Erklärung einleuchten. Zwei Hinweise seien aber erlaubt. Fußweg vom Jungfernstieg in Hamburg zum Englischen Garten in München. Wenn es eine Geschwindigkeitsbegrenzung in den OSM-Daten gibt („maxspeed“), dann wird Web-Frontend nicht ausgeführt werden können. Straßenbenutzung („access“). Der Fahrzeugtyp diese auch berücksichtigt. Die Geschwindigkeits- Dennoch bleiben viele Einstellparameter, die auf verändert auch die weiteren Einstellungen in den begrenzungen sind wirklich nur vom Straßentyp dem Reiter „Options“ in den Rubriken „Transport anderen Rubriken. Er wählt somit eine sinnvol- abhängig und nicht etwa davon, wo diese Straße Type“, „Highway Preferences“, „Speed Limits“, le Voreinstellung, die jedoch danach verändert verläuft. Auf einer „Primary road“ rast man dann „Property Preferences“ und „Other Restrictions“ werden kann. So dürfen Fußgänger die Einbahn- auch schon mal mit voreingestellten 96 km/h zu finden sind. straßen natürlich in beiden Richtungen begehen, durch eine Ortschaft. Die veranschlagte Fahrdau- Die wichtigste Einstellung ist der Fahrzeugtyp Fahrräder jedoch nicht (sofern dies nicht ohnehin er ist also mit Vorsicht zu interpretieren. in der Rubrik „Transport Type“. Die Datenbank in den OSM-Daten erlaubt ist). Möchte man sich wurde bereits für die möglichen Fortbewegungs- über diese Beschränkung hinwegsetzen, dann Hinter „Property Preferences“ verbergen sich möglichkeiten erstellt und berücksichtigt Ab- kann die Option „Obey oneway“ explizit abge- weitere nützliche Einstellungen zur Beinflussung sperrungen („barriers“) oder die Erlaubnis zur wählt werden. des Routings. „Bicycle Route“ und „Walking

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 24 NAVIGATION

Route“ berücksichtigen beispielsweise die Rela- geeignet sind (Text-Dateien im CSV-Format und Wege zwischen Koordinatenpunkten finden. Dar- tionen vom Typ „route“ in den OSM-Daten, um GPX-Dateien). in liegt die eigentliche Stärke der Software. Al- Rad- und Wanderwege zu priorisieren. Für ei- le Einstellmöglichkeiten der Web-Oberfläche kön- Der dritte Reiter „Data“ im Bedienpanel ist wirk- ne Radtour kann es durchaus sinnvoll sein, den nen über Optionen an Routino übergeben wer- lich nur für diejenigen gedacht, die tiefer in Wert für „Bicycle Route“ auf 90 % zu setzen, um den. Ein auf das Notwendige reduzierter Aufruf die Eigenheiten des Routers absteigen möchten. sich vorwiegend auf ausgewiesenen Radwegen wäre der Folgende: Wenn man selbst für OSM Daten einträgt, dann fortzubewegen. ist dies aber durchaus eine sehr hilfreiche Dar- $ routino-router --dir=/var/lib/y Eine Warnung sei abschließend noch erlaubt. stellung des Datenbestands, um letztlich auch routino/data --transport=motorcar y --shortest --lon1=7.48679 --lat1 Einzelne Prozentwerte bis auf 100% hochzuset- Fehler in den OSM-Daten zu finden. y =51.37733 --lon2=7.49537 --lat2 zen, kann mitunter sehr unerwartete und we- y Zwischenhalte =51.37761 --output-html nig brauchbare Ergebnisse liefern. Insbesonde- re dann, wenn Routino gezwungen ist, Wege zu Es bleibt abschließend zum Frontend nur noch Die Option --output-html könnte noch entfal- benutzen, die nicht flächendeckend erfasst sind, zu erwähnen, dass auch bis zu sieben Zwischen- len, allerdings werden dann gleich fünf Datei- z.B. die besagten Rad- und Wanderwege. Da ge- halte eingetragen werden können. Hinter dem en, statt nur einer (shortest.html) im aktuel- rät die Fahrradtour schnell zur Deutschlandtour, Start- und Zielpunkt befinden sich sechs Icons. len Verzeichnis abgelegt: Eben die Dateien, die wenn Zwischenstücke einer vermeintlich kurzen Über das Plus-Zeichen kann ein weiterer Zwi- auch über die Web-Oberfläche eingesehen wer- Route nicht berücksichtigt werden, weil sie nicht schenhalt hinter dem aktuellen Zwischenhalt ein- den können. In Debian wird der Router im Übri- als Radweg ausgewiesen sind und Routino riesi- getragen werden. Die einzelnen Positionen wer- gen in routino-router umbenannt, weil der Name ge Umwege daher für geeigneter hält. Der Fehler den daraufhin neu nummeriert. Routino selbst router zu generisch ist. Bei der Standarddistribu- liegt selten in Routino, sondern oft in den unvoll- kann bis zu 99 Positionen berücksichtigen, das tion ist also der Programmname router zu ver- ständigen OSM-Daten oder eben den extrem ge- Web-Frontend begrenzt dies auf neun. Dass Zwi- wenden. wählten Einstellungen. schenhalte wieder entfernt und in der Reihen- folge verändert werden können, ist fast schon Für deutsche Fahranweisungen bietet sich der selbstverständlich. Darstellung der Ergebnisse Parameter --language=de an. Das Ergebnis einer Routenberechnung ist recht Routino auf der Kommandozeile Auf dem oben beschriebenen Rechner braucht umfangreich. Da ist zunächst die Darstellung der Das bisher Gesagte suggeriert eine Web- der folgende Aufruf Wegstrecke in der Karte. Die einzelnen Fahrtrich- Applikation mit etwas angestaubter Oberflä- tungsänderungen sind zudem im Bedienpanel che und auf den Wiki-Seiten von OSM findet $ routino-router --dir=/var/lib/y gelistet. Ein Klick auf einen Eintrag kennzeichnet man Routino leider in einem Vergleich unter- routino/data --transport=motorcar y die Position in der Karte und gibt eine Fahranwei- schiedlicher „Route services with public instan- --shortest --lon1=10.01364 --lat1y sung aus. Darüber hinaus werden weitere Datei- ces“. Tatsächlich ist Routino aber ein schlankes =54.02590 --lon2=10.40675 --lat2y en erzeugt, die sowohl für die Anzeige im Brow- und in klassischer Unix-Philosophie entwickel- =47.67908 --language=en --output-y ser (HTML) als auch für eine Weiterverarbeitung tes Kommandozeilen-Programm, das eines kann: html

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 25 NAVIGATION

sich weitreichende Genutzt wird diese Schnittstelle beispielsweise in Anwendungsgebiete. einer Umkreissuche zur Ermittlung des nächstge- Wer in PHP program- legenen Restaurants zum aktuellen Standort [9]. miert und sich nicht Die Suche selbst sortiert die gefundenen Restau- selbst um die pas- rants zunächst nach der kürzesten Luftliniendi- senden Optionen auf stanz. Für die ersten sechs Treffer wird jedoch der Kommandozeile die Entfernung mit dem Auto zusätzlich ermittelt kümmern möchte, der und ausgegeben. Diese Entfernung basiert auf sollte sich das PEAR- der von Routino ermittelten Fahrstrecke. Paket Routino-Router der MMK GmbH an- Marble schauen [8]. Mit weni- Das KDE-Programm Marble [4] kann ebenfalls gen Zeilen PHP-Code Gebrauch von Routino machen. Unter Debian ist lässt sich der Router nichts weiter notwendig als die Installation des starten und man be- Programms. In der ebenfalls zweigeteilten Dar- kommt ein Ergebnis- stellung in Marble gibt es im linken Bereich einen Objekt mit allen Ab- Reiter „Routing“. Sofern Routino von Marble er- Routing mit Routino in Marble. biegepunkten. kannt wurde, findet man unten auf dem Reiter ein Auswahlmenü der möglichen Router, z.B. auch etwa 3,5 Sek. Berechnet wird eine Strecke über addPosition(51.359673, y Route stammt von OpenRouteService. Was be- schlagt, eine durchaus akzeptable Zeit. :-) Die 7.479866); reits oben erwähnt wurde, zeigt sich hier ganz 3.134 Gehanweisungen sollten man allerdings $router->addPosition(51.377397, y deutlich: Der Weg von Punkt B zu Punkt C ver- 7.487869); besser nicht in Papierform mitnehmen. läuft bei Routino durch den Wald und ist damit $router->setHighwayMaxspeed(' y sicher länger als der vorgeschlagene Weg von motorway', 50); PHP-Schnittstelle OpenRouteService über die Hauptstraße vom $result = $router->run(); Was manchen Anwendern wie die Steinzeit des print_r($result); Typ „secondary“. Auch auf dem Weg von Punkt Computer-Zeitalters vorkommt, ist für den Web- print_r($result->getTotals()); D zu Punkt E verlässt Routino die Straße vom Programmierer ein Segen. Gemeint sind Kom- ?> Typ „tertiary“ sobald als möglich und wählt den mandozeilenprogramme, die sich leicht in Web- Zickzack-Kurs durch das Wohngebiet. Auch hier Anwendungen nutzen lassen. Daraus ergeben Listing 2: routing.php wird der offensichtlich längere Weg gewählt. Die

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 26 NAVIGATION

Abneigung Routinos für größere Straßen bei Länge der Strecke, sowie deren gpx-Datei zum ten hängt hauptsächlich von der Qualität der der Fußgängernavigation liegt in den reduzier- Download. OSM-Daten und passenden Einstellungen für ten Prozentwerten für Straßen dieses Typs (ein- das Routing ab. Letztlich macht es aber vor al- sehbar in den „Highway Preferences“ der Web- Ein paar Eigenheiten lem viel Spaß, mit Routino zu „spielen“ und die Oberfläche). Marble erlaubt hier keine Änderung Das Routino Web-Frontend erlaubt ein Zoom bis eigene Umgebung zu erkunden. der voreingestellten Werte. Sie müssten direkt in zur Stufe 16. In der höchsten Stufe fällt auf, dass LINKS den Konfigurationsdateien von Routino erfolgen berechnete Routen nicht immer genau auf We- (/usr/share/routino/profiles.xml) oder gen liegen. Bei sehr nahe aneinander liegenden [1] http://www.freiesmagazin.de/freiesMagazin-2012- 03 besser durch Angabe einer eigenen Profildatei Wegen kann es auch schwierig werden, den ge- beim Aufruf des Routers (Option --profiles). nauen Weg zu ermitteln. Der Grund liegt in einer [2] http://wiki.openstreetmap.org/wiki/Routing Optimierung der Datenbank, die seit Version 2.2 [3] http://www.routino.org Zu guter Letzt greift. Knoten auf Wegen, die weniger als 5 Me- [4] http://edu.kde.org/marble/ Routen in guter Qualität berechnen kann Routino. ter von der geradlinigen Verbindung abweichen, [5] http://www.routino.org/download/ Nicht minder interessant ist aber auch die Nut- werden nicht mehr berücksichtigt. Dies reduziert [6] http://www.routino.org/documentation/installation. zung als Testwerkzeug für die eigenen Beiträge die Datenbankgröße um etwa ein Drittel und ver- html zu OSM. Die Berechnung bekannter Wegführun- kürzt die Zeit für das Routing geringfügig. Der [7] http://www.geofabrik.de/ gen durch Routino offenbart oft Überraschungen, Preis sind etwas ungenauere Wegführungen, die [8] http://www.mmk-hagen.de/produkte-services/ die bei näherer Betrachtung auf unzureichendes für die Navigation aber unerheblich sind. download.html Mapping zurückzuführen sind. Schranken („bar- [9] http://www.gastlicheswestfalen.de/nc/umkreissu Die ermittelten Wegzeiten waren schon Thema. rier“), denen die Passierbarkeit durch Fußgän- che.html Man könnte auch behaupten, die vorhergesag- ger fehlt, Einbahnstraßen, die von Fahrradfah- [10] http://www.openrouteservice.org/ rern beidseitig befahren werden dürfen, die Rou- ten Zeiten sind innerstädtisch hoffnungslos opti- tino aber umständlich umfährt, weil dies nicht aus mistisch. Das liegt nicht nur an den Höchstge- schwindigkeiten, die aus dem Straßentyp ermit- den OSM-Daten hervorgeht, fehlerhafte Abbiege- Autoreninformation vorschriften oder sogar fehlende Verbindungen telt werden, sondern auch daran, dass andere zwischen Wegen fallen schnell auf. Faktoren, beispielsweise Ampeln, keine Berück- Uwe Steinmann ist Debian- sichtigung finden. Das aktuelle Verkehrsaufkom- Entwickler und Geschäftsführer Eine zweite Anwendung ist das gezielte Erstellen men wird ohnehin nicht berücksichtigt, aber das der MMK GmbH in Hagen. Er ist von gpx-Dateien und das Ausmessen von Stre- ist bei einem Offline-Router auch nicht oberste Maintainer des Debian-Pakets und cken. Gelegentlich benötigt man im Vorfeld eine Priorität. entwickelt Web-Anwendungen, die gpx-Datei einer anstehenden Wanderung oder auch Routino nutzen. Fahrradtour. Eventuell möchte man auch nur wis- Fazit sen, auf welche Streckenlänge man sich einlässt. Routino ist schnell, hat viele Einstellmöglichkei- Mit genügend Zwischenhalten schickt man Rou- ten und lässt sich in vielen Anwendungsszenari- tino genau auf den geplanten Weg und erhält die en einbinden. Die Qualität der gefundenen Rou- Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 27 SPIELE

Trine 2 von Dominik Wagenführ

enau ein Jahr, nachdem das Er- Mit von der Partie Nach wie vor haben die drei Helden unterschied- folgsspiel Trine (siehe freiesMagazin Der Artikel könnte sicherlich etwas kürzer aus- liche Fähigkeiten, die sie in der Regel gemein- G 07/2011 [1]) im Humble Frozenbyte fallen, wenn man einfach schreibt, dass Trine 2 sam einsetzen müssen, um das Spiel meistern Bundle erschienen ist [2], hat der finnische wie Trine ist, nur etwas aufpolierter. Damit wä- zu können. So kann Amadeus Kisten und Lei- Spieleentwickler Frozenbyte [3] den zweiten ren aber wohl der Autor, der Spielehersteller und tern herbeizaubern und diese schweben lassen. Teil für Linux im April 2012 vorgestellt. Der Ar- auch die Lesergemeinde etwas enttäuscht, da- Pontius versteht es, mit seinem Schild zu blocken tikel wirft einen Blick auf Trine 2 [4] und ver- her folgt eine etwas genauere Darstellung der Un- und sein Hammerangriff teilt ordentlich Schaden gleicht ihn mit seinem Vorgänger. terschiede der beiden Spiele. aus. Zoya schließlich beherrscht den Fernkampf mit Pfeil und Bogen und kann athletisch elegant Hinweis: Wir danken Frozenbyte für die Be- Wie schon beim ersten Teil sind der Zauberer an ihrem Enterhaken durch die Gegend schwin- reitstellung eines Rezensionsexemplares von Amadeus, der Krieger Pontius und die Diebin Zo- gen. Trine 2. ya mit von der Partie. Alle drei werden am Anfang des Spiels vom Trine zusam- Neu ist, dass der Zauberer Amadeus nun auch mengeführt, da eine dunkle Gegner schweben lassen und durch die Gegend Macht das Königreich be- bewegen kann. Ein Kritikpunkt, den die Entwick- droht und nur die drei Hel- ler aus Teil 1 mitgenommen haben. Leider ist die den etwas dagegen ausrich- fliegenden Plattform, auf der Amadeus höher ge- ten können. legene Areale erreichen konnte, verschwunden. Pontius kann mit seinem Hammer nun nicht nur Die Einführung der Charak- zuschlagen, sondern diesen auch weitwurfmäßig tere wird sehr gut in ein klei- in Gegnerhorden schleudern. Dafür kann er kei- nes Tutorial eingebettet. Wer ne Steine und Kisten mehr aufheben und werfen. Trine kennt, freut sich, die Daneben ist das Flammenschwert aus Teil 1 ei- drei Gestalten wieder zu se- nem Frostschild gewichen. hen und findet sich auch sofort wieder in die intuiti- Für die Diebin Zoya hat sich wenig verändert. Die ve Steuerung ein. Wer Trine Feuerpfeile wurden nur durch Frostpfeile ergänzt, noch nie gespielt hat, hat ansonsten bleibt alles beim Alten. innerhalb weniger Sekunden erlernt, wie die Figuren mit ih- Spielart wie zuvor rer Umwelt agieren können. Spielerisch unterscheidet sich Trine 2 gar nicht Über ihre Hintergründe wird vom Vorgänger. Nach wie vor muss man einen Im Wald fängt wieder alles an. aber wenig erzählt. Weg vom Anfang eines Levels bis zum Ende

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 28 SPIELE

Luftblasen ersetzen die schwebende Plattform aus Trine 1. Ob der Frosch nicht nur Äpfel frisst? finden. Dabei nutzt man Blätter und Pilze zum Checkpoints, wird man komplett wiederbelebt Ebenfalls verschwunden ist der Energiebalken Hüpfen, schwingt sich mit dem Enterhaken über und kann das Spiel auch mit dem gerade dahin- aus dem ersten Teil. Egal wie viel man zaubert Abgründe und giftige Wolken, legt Hebel um, um geschiedenen Charakter fortsetzen. oder welche Waffen man einsetzt, es gibt keine diverse Maschinerien in Gang zu setzen und ver- Begrenzung mehr. Dies macht das Spiel ein klei- Die Gesundheitsphiolen aus Trine 1 sind damit sucht sich dabei auch noch gegen den einen nes bisschen einfacher, ändert aber nicht viel am komplett verschwunden, was aber kein Problem oder anderen Gegner zur Wehr zu setzen. eigentlichen Spielverhalten. darstellt, da die Checkpoints wirklich sehr fair im Sterben kann man in Trine 2 ebenfalls nicht. Er- Spiel verteilt sind. Von Vorteil ist, dass man sich Einzig die Erfahrungsphiolen sind geblieben. Die- leidet ein Charakter zu viel Schaden oder stürzt selbst in einem Kampf nur über einen Checkpoint se liegen zum einen im Level verstreut, werden er in einen Abgrund, verschwindet er zwar, man bewegen muss und die Gesundheit komplett wie- zum anderen aber auch von besiegten Gegnern kann aber von einer nahe gelegenen Stelle mit der aufgefüllt wird. Besiegte Gegner hinterlassen hinterlassen. Hat man genügend Erfahrung ge- einem der anderen beiden Charaktere weiterma- dennoch ab und zu Herzen, die die Gesundheit sammelt, steigt man ein Erfahrungslevel auf und chen. Startet man gar von einem der zahlreichen wieder auffüllen. erhält einen Erfahrungspunkt. Diese Punkte kann

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 29 SPIELE man dann für Spezialeigenschaften der drei Hel- Gegenstände in den Kisten, findet man jetzt „nur“ Synchronisation wesentlich besser ist als die den einsetzen. Amadeus kann mehr Kisten her- noch Konzeptzeichnungen und Gedichte darin. englische Sprachausgabe. Irgendwie passen die beizaubern, Zoya kann mehr Pfeile schießen und Diese haben keinerlei spielerischen Mehrwert, englischen Stimmen nicht so recht zu den Cha- Pontius darf seinen Hammer werfen. sondern sollen nur das Auge und ggf. auch das rakteren, wie ich sie mir vorstelle, wobei dies aber Ohr erfreuen. sicherlich Geschmackssache ist. Immerhin kann Ein Gimmick ist ebenfalls in der Grundart zum man beim Spielstart wählen, in welcher Sprache Vorgänger gleich geblieben: In jedem der drei- Der Märchenonkel erzählt Trine 2 erscheinen soll. zehn Levels sind zwei Truhen versteckt. Diese Sehr schön anzuhören sind wieder einmal die befinden sich meist an entlegenen Orten, die Sprecher des Spiels. Auch wenn die Dialoge Die Geschichte von Trine 2 ist gar nicht so man nicht ohne Weiteres erreicht. Der Inhalt der nicht übermäßig vorkommen, leitet eine nette Er- schlecht, auch wenn man nach der Hälfte des Truhen unterscheidet sich aber sehr stark vom zählerstimme jedes Level ein und am Anfang Spiels bereits dahinter kommt, was das Ge- ersten Teil – und dies ist auch einer der weni- unterhalten sich auch die drei Charaktere ab heimnis des Spiels ist. Grob zusammengefasst gen Kritikpunkte. Lagen in Trine 1 noch hilfreiche und an. Interessant dabei ist, dass die deutsche ruft der Trine die drei Helden zusammen, weil

Selbst im Höllenfeuer gibt es versteckte Truhen. Riesige Höhlen im Schnee warten mit Rätseln auf.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 30 SPIELE

fleischfressende Pflanzen und Goblins das Kö- Gewölbe bewegt, die farbenfrohen Pflanzen im noch durch den großartigen Soundtrack von Ari nigreich bedrohen. Auf der Suche nach der Quel- Wald betrachtet, das Baumhaus einer Hexe er- Pulkkinen, der bereits im ersten Teil für die mu- le des Übels stößt man alsbald auf zwei Prinzes- kundet oder unter Wasser eine Runde fischen sikalische Unterstützung sorgte. Jedes Level hat sinen, die dann auch den Kern der Geschichte geht – jedes Level wird extrem stimmungsvoll eine eigene Melodie und auch in den Kämpfen ausmachen. Wie gesagt, sehr tiefgehend ist die in Szene gesetzt und die Licht- und Schatten- passt sich die Musik an. Dabei handelt sich um Geschichte nicht, aber Trine ist auch kein Rollen- spiele beeindrucken sehr. Im Gegensatz zum wirklich abwechslungsreiche Sounds, die nie- spiel, sondern vorrangig ein physikbasiertes Ge- ersten Teil wird durch Kameraschwenks und mals langweilen oder gar stören. schicklichkeitsspiel. -einstellungen der Pseudo-3-D-Effekt noch etwas verstärkt. Nach wie vor ist Trine 2 ein 2-D-Spiel, Immer noch Einheitsgegner Da wo die Story hinkt, reißt es die Grafik wie- sodass kein Charakter in die Tiefe laufen kann. Ein Manko des ersten Trines waren die doch der heraus. Wie schon bei Trine 1 spielen die Dennoch wird dieser Eindruck vermittelt, man recht generischen und immer wieder gleichen Entwickler von Frozenbyte mit Farben und Licht. läuft z.B. auf einem breiten Weg oder überquert auftauchenden Gegner. Trine 2 hat sich in der Dabei ist es egal, ob man sich durch düstere einen Fluss, der irgendwo in der Ferne beginnt. Hinsicht ein stark verbessert. Die Rolle der Ske- lette aus Teil 1 werden nun von Goblins übernom- Die Grafik hat etwas ihren men, die bei jedem Kampf gleich mehrfach über Preis, da bei höchster Auf- die Gruppe herfallen. Dabei gibt es verschiede- lösung (1920x1200), höchs- ne Exemplare, vom Speerträger über den Bogen- ten Grafikeinstellungen und schützen und den Flammerspucker bis hin zum Extreme Anti-Aliasing auch mehrarmigen Derwisch. eine Grafikkarte der neue- ren Generation (NVIDIA Ge- Für etwas mehr Abwechslung sorgen andere force 460GTS) ordentlich Gegner wie fleischfressende Pflanzen, Echsen, zu arbeiten hat, um alles riesige Spinnen oder Trolle, deren Kampfstrate- ruckelfrei darstellen zu kön- gie aber immer die gleiche ist und bei denen man nen. Mit moderateren Ein- sich nicht so groß anstrengen muss, um sie zu stellungen läuft das Spiel besiegen. Etwas spannender sind da schon die aber sicherlich auch unter Kämpfe gegen die Zwischen- oder Endgegner, älteren Grafikkarten, sieht die in Form riesiger Schlangen, Monsterkraken dann aber natürlich nicht oder Drachen daherkommen. so schön aus. Eine 3-D- Beschleunigung ist aber Fazit wahrscheinlich Pflicht. Insgesamt ist Trine 2 ein sehr guter Nachfolger von Trine und vor allem wieder ein sehr gutes Stimmungsvoll untermalt natives Linux-Spiel. Andere Entwicklerstudios, Strand, Wellen, Sonnenaufgang und Regenbogen. Was will man wird das Spielgeschehen die die Linux-Kompatibilität durch geschlossene mehr?

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 31 SPIELE

fast fehlerfrei. Es gab weder Sound- Für die Zukunft ist auch ein Expansion Pack ge- noch Grafikprobleme. Nur an ei- plant, welches sechs weitere Levels beinhaltet, ner Stelle verabschiedete sich das neue Gegner mitbringt und so für einige Stun- Spiel komplett und stürzte ab. den Spielspaß sorgen soll. Wann es soweit ist, Durch die automatische Speicher- ist noch nicht ganz klar, ebenso wenig wie der funktion in jedem Level war das Preis, aber es existieren bereits ein paar Videos aber nicht ganz so tragisch. Wer dazu [7] [8] [9]. sich vorab über eventuelle Pro- LINKS bleme informieren will, findet im Frozenbyte-Forum eine gute An- [1] http://www.freiesmagazin.de/freiesMagazin-2011- laufstelle [5]. 07 [2] http://www.deesaster.org/blog/index.php? Zu kaufen gibt es Trine 2 in zwei /archives/1647 Versionen. Die Standard Edition für [3] http://frozenbyte.com/ 14,99 US-Dollar (ca. 12 Euro) lie- [4] http://www.trine2.com/ fert das Spiel ganz normal zum [5] http://frozenbyte.com/board/viewforum.php?f= Download über den Humble Store, 22 Auch mit Drachen bekommt man es zu tun. den manch einer von den Humble [6] http://www.youtube.com/watch?v=cRe7sYWrN Bundles schon kennt. Die Collec- No Systeme wie Adobe Air (welches unter Linux tor’s Edition für 24,99 US-Dollar (ca. 20 Euro) [7] http://www.youtube.com/watch?v=baqLZkjR- nicht einmal mehr weiterentwickelt wird) sicher- enthält neben dem Spiel auch noch ein digitia- 6w stellen wollen, können sich daran ein Beispiel les Artbook mit zahlreichen Konzeptzeichnungen [8] http://www.youtube.com/watch?v=rD_b- nehmen. (die man zum Teil auch in den Truhen im Spiel j7u7q4 findet) und den sehr guten Soundtrack von Ari Der Wiederspielwert ist bei Trine 2 auch gege- [9] http://www.youtube.com/watch?v=pZyoVMHfS Pulkkinen, den man sich auch nach dem Spiel ben. Vor allem die Trophäen, die man im Spiel Vc noch ohne Probleme anhören kann. Die Bezah- erreichen kann, geben einen Anreiz, das Spiel lung geschieht über PayPal, Amazon Payments oder einzelne Passagen noch einmal zu spielen. oder Google Checkout. Autoreninformation So erhält man Trophäen, wenn man viele Objek- Dominik Wagenführ (Webseite) te stapelt und sich auf die Spitze des Objektber- Wer sich immer noch nicht sicher ist, ob das Spiel spielt sehr gerne, wenn es seine ges stellt, wenn man ein paar Sekunden auf einer etwas für den eigenen Geschmack ist, kann sich Freizeit zulässt. Planke im Wind surft, mit der Diebin am Enterha- bei YouTube einen kurzen Trailer anschauen, der ken Saltos schlägt und vieles mehr. zeigt, wie sich Trine 2 spielt [6]. Im Video wird Die Version von Trine 2, die dem Test zugrunde auch der Online-Multiplayer-Modus gezeigt, der lag, war immer noch als Beta tituliert, lief aber für das Review nicht getestet wurde. Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 32 REZENSION

Rezension: LPIC-1 – Sicher zur erfolgreichen Linux-Zertifizierung von Michael Niedermair

as Prüfungsvorbereitungsbuch für die 108 (Grundlegende Systemdienste), 109 (Netz- Kritik LPIC-1 ist jetzt neu in der dritten Aufla- Grundlagen), 110 (Sicherheit) und ein Bereich Das Buch soll den Leser optimal auf die LPIC1- D ge erschienen und deckt die aktuellen mit 112 Übungsfragen (mit Lösungen). Zertifizierung vorbereiten und ist dafür sehr gut Lernziele 3.5 (Stand 2012) des Linux Profes- geeignet. Der theoretische Inhalt wird gut und sional Institute (LPI) ab. Abgeschlossen wird es mit dem Index, der elf Seiten umfasst, und anschließend fünf Seiten mit praxisnah vermittelt und deckt die aktuellen Prü- fungsinhalte ab. Man merkt deutlich, dass der Au- Redaktioneller Hinweis: Wir danken dem Ver- Werbung. tor sehr viel Erfahrung hat und sich mit dem The- lag Galileo Computing für die Bereitstellung ei- ma sehr gut auskennt. nes Rezensionsexemplars. Wie liest es sich? Die zwei Bereiche des Buches sind genau so auf- Die Übungsfragen sind sehr gut gestellt und de- Das Buch hat sich zum Ziel gesetzt, den Leser geteilt, dass diese die Inhalte der jeweiligen LPI- cken das Lernfeld entsprechend ab. Sehr gut auf die Prüfungen 101 und 102 vorzubereiten, Prüfung abdecken. Jeder Teilbereich wird einge- ist auch die Darstellung der Lösung der Fragen. die notwendig sind, um das LPIC1-Zertifikat (Ju- leitet mit der Beschreibung des entsprechenden Hier wird nicht nur die richtige Antwort gegeben, nior Level Linux Certification) zu erhalten. Der Inhalts gemäß der Prüfungsinhalte und was der sondern sehr gut erläutert, warum die anderen Autor Harald Maaßen ist langjähriger Dozent Leser hier lernen wird. Danach erfolgt die theore- Antworten falsch sind. Für die einzelnen Topic- und Berater im Linux-Umfeld und leitet Zertifizie- tische Erläuterung, die mit Beispielen, Komman- Bereiche hätte ich mir aber ein paar Verständ- rungsprüfungen für das LPI. doaufrufen und Ausgaben durchmischt ist. nisfragen am Ende gewünscht, so dass der Le- ser nach jedem Topic-Bereich selbst überprüfen Was steht drin? Die einzelnen Bereiche lassen sich gut lesen und werden optisch durch ein „Daumenkino“ un- kann, ob er den Lernstoff verstanden hat. Das Buch ist in zwei große Bereiche geglie- terstützt. Die Länge ist dabei gut ausgewogen dert, einmal für die erste Prüfung 101 und Der Index ist ausreichend und meist findet man zwischen Vermittlung des Lernstoffes und Bereit- einmal für die zweite Prüfung 102. Jeder die- die entsprechende Stelle sehr schnell. Bei man- schaft, den Lernstoff an einem Stück durch zu ser Bereiche ist in die LPI-Topics unterteilt, für chen Einträgen wäre jedoch eine „fette“ Markie- arbeiten. die Prüfung 101 die Topics 101 (Systemarchi- rung des Haupteintrages wünschenswert. tektur), 102 (Linux-Installation und Paketverwal- Zwischendurch sind immer wieder „Prüfungs- Buchinformationen tung), 103 (GNU- und Unix-Kommandos), 104 tipps“ eingestreut. Titel LPIC-1 – Sicher zur erfolgreichen Linux- (Geräte, Linux-Dateisysteme, Filesystem Hierar- Zertifizierung chy Standard) und ein Bereich mit 120 Übungs- Die Fragen, die jeden Bereich abschließen, sind Autor Harald Maaßen fragen (mit Lösungen). vom Aufbau (nur eine Antwort ist richtig, mehrere Antworten sind richtig und freie Antwort) genau Verlag Galileo Computing Der zweite Bereich hat die Topics 105 (Shells, wie die eigentliche Prüfung und testen den Lern- Umfang 545+5 Seiten Skripte und Datenverwaltung), 106 (Oberflächen stoff komplett ab. Danach folgt die Lösung, wobei ISBN 978-3-8362-1780-4 Preis 34,90 Euro und Desktops), 107 (Administrative Aufgaben), jede Antwort ausführlich erläutert wird.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 33 REZENSION

Das Buch erscheint als Softcover-Version mit DVD und Daumenkino für die einzelnen Berei- che. Das Preis-Leistungs-Verhältnis ist gut. Die DVD enthält das Openbook Linux-Handbuch und einen Prüfungssimulator, der einem zusätzlich hilft, den gelernten Stoff zu testen.

Das Buch gefällt mit sehr gut und ich werde es meinen Schülerinnen und Schülern empfehlen. Wünschenswert wäre es, dass demnächst das Buch als Openbook erscheint.

LINKS

[1] http://www.galileocomputing.de/katalog/buecher/ titel/gp/titelID-2653 [2] http://www.lpice.eu/de/lpi-zertifizierungsinhalte. html [3] http://www.lpice.eu/de/lpi-zertifizierungsinhalte/ pruefung-101-lernziele.html [4] http://www.lpice.eu/de/lpi-zertifizierungsinhalte/ pruefung-102-lernziele.html

Autoreninformation

Michael Niedermair ist Lehrer an der Münchener IT-Schule und unterrichtet seit 2005 Linux. Die Schule hat seither mehrere hundert Schüler erfolgreich zur LPIC1-Zertifizierung geführt.

„Permanence“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/910/ Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 34 LESERBRIEFE

Leserbriefe

Für Leserbriefe steht unsere E-Mailadresse mMn vielleicht etwas zu wenig auf die Nachtei- zur Verfügung – wir le von Singletons [1] eingegangen, aber das ist freuen uns über Lob, Kritik und Anregungen zum Ansichtssache. Magazin. Jedenfalls finde ich die Artikelserie gut und habe An dieser Stelle möchten wir alle Leser ausdrücklich sie auch meinen Studenten empfohlen als ich zu ermuntern, uns auch zu schreiben, was nicht so gut nem ähnlichen Thema [2] eine Saalübung gehal- gefällt. Wir bekommen sehr viel Lob (was uns natür- ten habe. lich freut), aber vor allem durch Kritik und neue Ideen können wir uns verbessern. Vielen Dank also dafür und weiter so! Christian (Kommentar) Leserbriefe und Anmerkungen In der Tat bin ich auch kein so großer Freund Python-Zusammenfassung von Singletons, aber von prozeduralen Code aus Ich wollte mal anfragen, ob es möglich sei, kommend hin zu etwas OOP ist es ein guter Zwi- dass Sie eine erneute Zusammenfassung der schenschritt. Auf die Probleme der Nebenläufig- Python-Kapitel durchführen und veröffentlichen. keit habe ich ja hingewiesen und es gibt natürlich Ich selber war sehr glücklich über die letzte Zu- noch viele weitere. Ich setze das Pattern daher sammenfassung, da sie einem das Zusammen- auch eher selten ein. (In einer Überarbeitung des kratzen der Informationen aus den vorigen Ma- Codes hätte ich das Singleton wohl wieder ent- gazinen erspart. Dominic K. fernt und dann lieber ein Interface unter meine Factory gesetzt.) Ja, es wird wieder so eine Zusammenfassung geben, der Autor Daniel Nögel wollte damit aber Also Danke noch einmal und ich hoffe, der letzte noch warten, bis er einen klaren Schnitt ziehen Teil wird ebenso interessant. kann. Wann dies der Fall ist, ist nicht klar, es soll- Dominik Wagenführ te aber nicht mehr allzu lange bis zur nächsten Python-Sonderausgabe dauern. LINKS Dominik Wagenführ [1] http://www.christian-rehn.de/tag/singleton/ „Manual Override“ © by Randall Munroe [2] http://www.christian-rehn.de/2012/05/12/wie- (CC-BY-NC-2.5), http://xkcd.com/912/ Objektorientierte Programmierung man-software-entwirft/ Leider lese ich viel zu wenig in freiesMagazin. Die Redaktion behält sich vor, Leserbriefe gegebe- Die Artikelserie zur OOP hat mich dazu ge- nenfalls zu kürzen. Redaktionelle Ergänzungen fin- bracht, wieder reinzuschauen. Tendenziell wird Die Leserbriefe kommentieren den sich in eckigen Klammern.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 35 MAGAZIN

Veranstaltungskalender Messen Veranstaltung Ort Datum Eintritt Link GPN12 Karlsruhe 07.06.–10.06.2012 frei https://entropia.de/GPN12/ Hackathon Karlsruhe 16.06.–17.06.2012 frei http://www.nerd-zone.com/hackathon/ 13. Libre Software Meeting Genf 07.07.–12.07.2012 frei http://2012.rmll.info/ Linuxbierwanderung Diksmuide 12.08.–19.08.2012 frei http://lbw2012.tuxera.be/ YAPC::Europe Frankfurt am Main 20.08.–22.08.2012 – http://act.yapc.eu/ye2012/ FrOSCon Sankt Augustin 25.08.–26.08.2012 – http://www.froscon.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 .

Vorschau freiesMagazin erscheint immer am ersten Sonntag eines Monats. Die Juli-Ausgabe wird voraussichtlich am 1. Juli unter anderem mit folgenden Themen veröffentlicht:

 Perl-Tutorial 7 Es kann leider vorkommen, dass wir aus internen Gründen angekündigte Artikel verschieben müssen. Wir bitten dafür um Verständnis.

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.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 36 MAGAZIN

Impressum ISSN 1867-7991 freiesMagazin erscheint als PDF, EPUB und HTML einmal monatlich. Erscheinungsdatum: 3. Juni 2012

Redaktion Kontakt Dominik Honnef Matthias Sitte E-Mail Dominik Wagenführ (Verantwortlicher Redakteur) Postanschrift freiesMagazin c/o Dominik Wagenführ Satz und Layout Beethovenstr. 9/1 Andreas Breitbach Holger Dinkel 71277 Rutesheim Dominik Frey Tobias Kempfer Webpräsenz http://www.freiesmagazin.de/ Nico Maikowski Ralph Pavenstädt Stefan Wiehler Autoren dieser Ausgabe Hans-Joachim Baader S. 3 Korrektur Hauke Goos-Habermann S. 17 Daniel Braun Frank Brungräber Mathias Menzer S. 11 Vicki Ebeling Stefan Fangmeier Michael Niedermair S. 33 Mathias Menzer Christian Schnell Uwe Steinmann S. 22 Karsten Schuldt Toni Zimmer Dominik Wagenführ S. 13, S. 28 Veranstaltungen Ronny Fischer

Logo-Design Arne Weinberg (CC-BY-SA 3.0 Unported)

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, Beiträge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 3.0 Unported. Das Copyright liegt beim jeweiligen Autor. freiesMagazin unterliegt als Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 3.0 Unported mit Ausnahme der Inhalte, die unter einer anderen Lizenz hierin veröffentlicht werden. Das Copyright liegt bei Dominik Wagenführ. Es wird erlaubt, das Werk/die Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren, zu verteilen und/oder zu modifizieren. Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 2.5 Generic. Das Copyright liegt bei Randall Munroe.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2012 37