freies magazin nov. 2010

54
freiesMagazin November 2010 Topthemen dieser Ausgabe Python-Programmierung: Teil 2 – Tiefere Einblicke Seite 12 Im vorherigen Teil der Python-Reihe aus freiesMagazin 10/2010 wurden erste Erfahrungen mit mathema- tischen Operatoren, Zeichenketten und for-Schleifen gesammelt. Im zweiten Teil sollen nun besonders Listen in Python betrachtet werden. Mit if und while werden aber auch zwei weitere Kontrollstrukturen vorgestellt. (weiterlesen) Frogatto – Ein Retroheld im Froschgewand Seite 26 Komplex gerenderte Grafiken, hohe Auflösungen, rasante Verfolgungsjagden und einen Inhalt, der dem Spieler das Maximum an Konzentration abverlangt und ihm die Nerven zerfetzt – das sind die Inhalte, die man vom wenig aussagekräftigen Titel Frogatto keinesfalls zu erwarten hat. Das Spiel hat aber durchaus andere erwähnenswerte Eigenschaften und einen besonde- ren, eigenen Charme. Beides sorgt letztendlich dafür, dass das Spiel näher unter die Lupe genommen werden sollte, um sich kein übereiltes Fehlurteil zu erlauben. (weiterlesen) Auf dem Tablet serviert – Das WeTab ist massenverfügbar Seite 31 Seit dem 19. September 2010 ist das Tablet der Firma WeTab GmbH nun bei Amazon und im Vertrieb der Kette Mediamarkt in Deutschland erhältlich. Die WeTab GmbH ist ein Joint Venture der 4tiitoo AG und der Neofonie GmbH. Unter dem Dach der Gesellschaft werden Produkte beider Unternehmen als Gesamtlösung zusammengeführt und vermarktet. Wesentlicher Bestandteil dabei ist der Tablet-Computer WeTab und dazugehörige Software- Komponenten. (weiterlesen) © freiesMagazin GNU FDL Ausgabe 11/2010 ISSN 1867-7991

Upload: john-doe

Post on 09-Mar-2016

229 views

Category:

Documents


1 download

DESCRIPTION

Python-Programmierung: Teil 2 – Tiefere Einblicke

TRANSCRIPT

  • freiesMagazin November 2010

    Topthemen dieser Ausgabe

    Python-Programmierung: Teil 2 Tiefere Einblicke Seite 12Im vorherigen Teil der Python-Reihe aus freiesMagazin 10/2010 wurden erste Erfahrungen mit mathema-tischen Operatoren, Zeichenketten und for-Schleifen gesammelt. Im zweiten Teil sollen nun besondersListen in Python betrachtet werden. Mit if und while werden aber auch zwei weitere Kontrollstrukturenvorgestellt. (weiterlesen)

    Frogatto Ein Retroheld im Froschgewand Seite 26Komplex gerenderte Grafiken, hohe Auflsungen, rasante Verfolgungsjagden und einen Inhalt,der dem Spieler das Maximum an Konzentration abverlangt und ihm die Nerven zerfetzt dassind die Inhalte, die man vom wenig aussagekrftigen Titel Frogatto keinesfalls zu erwartenhat. Das Spiel hat aber durchaus andere erwhnenswerte Eigenschaften und einen besonde-ren, eigenen Charme. Beides sorgt letztendlich dafr, dass das Spiel nher unter die Lupegenommen werden sollte, um sich kein bereiltes Fehlurteil zu erlauben. (weiterlesen)

    Auf dem Tablet serviert Das WeTab ist massenverfgbar Seite 31Seit dem 19. September 2010 ist das Tablet der Firma WeTab GmbH nun bei Amazonund im Vertrieb der Kette Mediamarkt in Deutschland erhltlich. Die WeTab GmbH ist einJoint Venture der 4tiitoo AG und der Neofonie GmbH. Unter dem Dach der Gesellschaftwerden Produkte beider Unternehmen als Gesamtlsung zusammengefhrt und vermarktet.Wesentlicher Bestandteil dabei ist der Tablet-Computer WeTab und dazugehrige Software-Komponenten. (weiterlesen)

    freiesMagazin GNU FDL Ausgabe 11/2010 ISSN 1867-7991

  • MAGAZIN

    Editorial

    Wettbewerb ahoi!

    Dritter Programmierwettbewerb ge-startetWer auf der Webseite von freiesMagazin mitliest,hat es schon gesehen: Am 13. Oktober 2010 ha-ben wir den dritten Programmierwettbewerb ge-startet [1]. Das Thema ist dieses Mal prinzipielletwas einfacher als beim zweiten Wettbewerb, daes ein simples Fangspiel ist, welches man alsTeilnehmer umsetzen soll.

    Als Besonderheit haben wir den Wettbewerb bi-lingual umgesetzt und bieten sowohl eine deut-sche [2] als auch eine englische Anleitung [3] an,welche die Spielregeln erklren. Wir haben dieHoffnung, dass wir damit etwas mehr Teilnehmeranziehen als bei den vorherigen Wettbewerben.Geholfen hat uns dabei das Full Circle Magazine,welches in ihrer Ausgabe 42 einen Bericht berden Wettbewerb verffentlichte [4].

    Der Einsendeschluss ist im brigen der 19. De-zember 2010. Zu gewinnen gibt es wie immerGutscheine fr Bookzilla oder Amazon, die abernur einen kleinen Anreiz darstellen sollen. Primrsoll es den Teilnehmern um den Spa am Pro-grammieren gehen und nicht um den schndenMammon.

    nderungen in der RedaktionAus dem freiesMagazin-Team gibt es auch et-was Neues zu berichten: Leider verlie Dominik

    Honnef Anfang des Monats das Team. Seit an-derthalb Jahren war er bei freiesMagazin ttig,einen Groteil dieser Zeit davon in der Redaktion.Wir danken Dominik fr seine tatkrftige Unter-sttzung, Anregungen und Verbesserungen undwnschen ihm natrlich alles Gute fr die Zu-kunft.

    Da die Redaktion so aber nur aus zwei Leu-ten bestehen wrde, was vor allem bei Abstim-mungen eher schlecht ist, haben wir uns einenwrdigen Nachfolger ins Redaktionsteam geholt:Frank Brungrber, der bisher mit fr die Korrekturverantwortlich war, untersttzt uns nun und hltKontakt zu Autoren und Lesern. Damit ist das Tri-umvirat wieder komplett.

    Und nun wnschen wir Ihnen viel Spa mit derneuen Ausgabe.

    Ihre freiesMagazin-Redaktion

    LINKS[1] http://www.freiesmagazin.de/20101013-dritter-

    freiesmagazin-programmierwettbewerb-gestartet[2] http://www.freiesmagazin.de/dritter_programmier

    wettbewerb[3] http://www.freiesmagazin.de/third_programming_

    contest[4] http://www.freiesmagazin.de/20101031-full-

    circle-magazine-berichtet-ueber-freiesmagazin-programmierwettbewerb

    Inhalt

    Linux allgemeinUbuntu 10.10 S. 3Der Oktober im Kernelrckblick S. 10

    AnleitungenPython-Programmierung: Teil 2 S. 12

    SoftwareZentyal 2.0 S. 19Frogatto S. 26

    HardwareDas WeTab ist massenverfgbar S. 31

    CommunityRezension: Network Hacking S. 37Rckblick: Ubucon 2010 in Leipzig S. 38

    MagazinfreiesMagazin-Programmierwettbewerb S. 42Editorial S. 2Leserbriefe S. 51Veranstaltungen S. 53Vorschau S. 53Konventionen S. 53Impressum S. 54

    Das Editorial kommentieren

    freiesMagazin GNU FDL Ausgabe 11/2010 2

  • DISTRIBUTION

    Ubuntu 10.10 von Hans-Joachim Baader

    Am 10. Oktober 2010 wurde Ubuntu10.10 freigegeben. Dieser Artikel gibteinen berblick ber die Neuerungenmit besonderem Augenmerk auf den Desk-top.

    Redaktioneller Hinweis: Der Artikel Ubuntu10.10 erschien erstmals bei Pro-Linux [1] unterder GNU Free Documentation License [2].

    VorwortPlanmig wie jedes halbe Jahr erschien dieneue Version der Linux-Distribution Ubuntu. DieTatsache, dass die neue Ubuntu-Version Mave-rick Meerkat planmig auf den Oktober 2010fiel und demnach die Versionsnummer 10.10tragen wrde, bewog Canonical dazu, PerfectTen zum Thema zu machen und den genauenVerffentlichungstermin auf den ungewhnlichenSonntag, den 10.10.2010 zu legen. Die Verffent-lichung fand exakt am 10.10.10 um 10:10:10 UhrUTC statt; genau zu dieser Zeit wurde auch dieE-Mail mit der Ankndigung der Verffentlichungabgesandt. Das Zahlenspiel setzt sich durch An-spielungen auf die sechsbndige Trilogie Per An-halter durch die Galaxis [3] von Douglas Adamsfort, in der die Zahl 42 eine zentrale Rolle spielt.Die Binrdarstellung dieser Zahl lautet 101010.

    Im Gegensatz zum Vorgnger Ubuntu 10.04 (sie-he Ubuntu 10.04, freiesMagazin 06/2010 [4])ist die neue Version keine mit lngerfristigemSupport. Sie wird in allen Varianten 18 Monate

    mit Sicherheits- und anderen wichtigen Updatesversorgt. Ein Update ohne Neuinstallation vonder Version 10.04 LTS wird offiziell untersttzt.

    Ubuntu erscheint in mehreren Varianten, de-ren Hauptunterschied in den Installationsmedi-en und dem vorinstallierten Software-Umfangliegt. Die von Canonical herausgegebenen Va-rianten sind jedoch die Desktop-Edition mitGNOME als Oberflche, die Server-Edition unddie Netbook-Edition. Die weiteren offiziell unter-sttzten Varianten sind Kubuntu, Xubuntu, Edu-buntu, Ubuntu Studio und Mythbuntu. Dieser Ar-tikel beschrnkt sich auf Ubuntu und Kubuntu.

    Da der Text keinen Test der Hardwarekompatibi-litt behandeln soll, wird auf die Erprobung aufrealer Hardware verzichtet. Stattdessen werdenzwei identische virtuelle Maschinen, 64 Bit, unterKVM mit jeweils 768 MB RAM verwendet.

    InstallationUbuntu wird meist von einem Live-System aus,das als CD und umfangreichere DVD verfgbarist, installiert. Ferner ist eine Installation von derAlternate-CD, mglich, die im Textmodus luft,aber wesentlich mehr Flexibilitt als die grafischeInstallation besitzt.

    Fr Ubuntu 10.10 werden nach wie vor 256 MBRAM fr den GNOME-Desktop als Mindestanfor-derung angegeben. Mit 512 MB und mehr luftdas System allerdings wesentlich besser. Kubun-tu ist aufgrund des greren Speicherbedarfs

    von KDE mit weniger als 512 MB RAM fast nichtzu benutzen aber wer den Rechner intensivnutzt, sollte bei den heutigen Speicherpreisenlieber gleich in 4 bis 8 GB RAM und ein 64-Bit-System investieren, sodass reichlich Platz frdie Anwendungen ist. Xubuntu und die Server-Edition sollten weiterhin mit 128 MB auskommen.

    Fr die Live-CDs sind ebenfalls mindestens256 MB erforderlich. Aber auch hier ist das Sys-tem mit 256 MB sehr langsam. Der in der Vor-version benutzte komprimierte Swap-Bereich hatsich offenbar nicht bewhrt; jedenfalls ist jetzt kei-ner mehr vorhanden. Die Oberflche des Live-Systems ist in Englisch mit nur wenigen deut-schen Einsprengseln gehalten, auch wenn manDeutsch als Sprache vor dem Start ausgewhlthat. Man kann natrlich die deutsche Sprachun-tersttzung herunterladen, wenn man eine Netz-verbindung hat, aber die ist beim nchsten Startdes Live-Systems wieder weg.

    An dieser Stelle soll nur die Installation vonder Desktop-CD kurz vorgestellt werden. Zuempfehlen ist allerdings die textbasierte Instal-lation von der Alternate-CD, da in der Desktop-Variante nach wie vor die Mglichkeit fehlt, denLogical Volume Manager (LVM) zu verwenden.Die Alternate-Installation luft fast genauso abwie bei der grafischen Installation. Durch Boot-Optionen steht aber eine erweiterte Installationzur Verfgung, mit der man weitgehend Kontrolleber den ganzen Vorgang hat.

    freiesMagazin GNU FDL Ausgabe 11/2010 3

  • DISTRIBUTION

    Die grafische Installation wurde etwas umgestellt,um die Partitionierung und Paketinstallation par-allel zur Abfrage der letzten Daten vornehmen zuknnen. Daher sind die ersten Schritte die Aus-wahl der Sprache, die Einstellung einiger Optio-nen (die neue Option, ein Update schon whrendder Installation vorzunehmen, wenn eine Netzver-bindung besteht, und die Auswahl von unfreienPaketrepositorys) und die Partitionierung. Whltman hier die Standardoption, ist die Partitionie-rung mit zwei Klicks erledigt. Es ist nun auchmglich, Treiber whrend der Installation hinzu-zufgen.

    Sprachauswahl.

    Will man die Partitionen manuell einstellen, lerntman einen Nachteil der umgestellten Installa-tion kennen. Die Tastaturbelegung ist nmlichimmer noch Englisch, da die Eingabe des ge-wnschten Tastatur-Layouts erst spter erfolgt.Da man die meisten Aktionen mit der Maus er-ledigt, macht sich das hauptschlich bei der Ein-gabe von Mount-Pfaden bemerkbar, wenn mandie Taste / finden muss. Ein weiterer Nach-teil der neuen Installation ist, dass es nach Ab-schluss der Partitionierung kein Zurck mehr gibt.Will man sich anders entscheiden, muss mandas System zurcksetzen und noch einmal von

    vorne anfangen. Somitfhrt die neue Installa-tion zu zwei Verschlech-terungen fr einen kaumnennenswerten Zeitge-winn. Die zustzliche Ar-beit hierfr htte Canoni-cal besser in Optionenwie LVM oder die Ver-schlsselung der gesam-ten Festplatte investiert,die weiterhin nur auf derAlternate-CD zur Verf-gung stehen.

    Von diesen Makeln ab-gesehen funktioniert diePartitionierung korrekt.Als Dateisystem ist ext4(siehe Das Dateisys-tem ext4, freiesMagazin04/2009 [5]) voreingestellt.

    Alternativ stehen ext3, ext2 und alle anderenJournaling-Dateisysteme zur Verfgung. Auchbtrfs ist mglich, das seit Kurzem offiziell sta-bil ist. Allerdings warnte Michael Kofler davor,dass es durchaus noch Ungereimtheiten gebenkann [6]. Whlt man ext4 oder btrfs als Dateisys-tem der Bootpartition, wird man darauf hingewie-sen, dass der Bootloader das nicht untersttzt.

    Zeitzonenauswahl.

    Auch an das Einrichten mindestens einer Swap-Partition wird man gegebenenfalls erinnert undes wird gewarnt, wenn die Rootpartition zu kleinfr die Installation ist. Dabei warnt das Programmaber auch, wenn man die Root-Partition kleinmacht und eine separate, ausreichend groePartition fr /usr anlegt. Das kann das Toolnicht erkennen, was aber nicht schlimm ist, daman trotzdem fortsetzen kann.

    Direkt nach der Definition der Partitionen be-ginnt der Installer mit der Partitionierung und der

    freiesMagazin GNU FDL Ausgabe 11/2010 4

  • DISTRIBUTION

    Tastenbelegung.

    Installation der Pakete im Hintergrund. Ein Fort-schrittsbalken zeigt ab diesem Zeitpunkt denStand der Installation an. Parallel dazu kann mandie Zeitzone, die man verwenden mchte, aus-whlen und danach das gewnschte Tastatur-layout einstellen.

    Im letzten Schritt gibt man seinen Namen, Anmel-denamen, Passwort und den Computernamenein. Wenn zuvor bereits per DHCP ein Name er-mittelt werden konnte, wird dieser als Vorgabeangezeigt. Wenn erkannt wird, dass die Instal-lation in einer virtuellen Maschine luft, wird da-gegen der Name benutzer-virtual-machine vor-gegeben. Man kann nun angeben, dass Datenim Home-Verzeichnis verschlsselt werden sol-len. Die Auswahl von Bootloader-Optionen wur-de dagegen gestrichen. Whrend man das Endeder Installation abwartet, kann man noch einigeTipps zu Ubuntu ansehen.

    Name und Passwort.

    Am Ende der Installation kam es im Test inzwei Fllen zu einem Absturz des Installations-programms. Irgendein Python-Plug-in verbrauch-te vermutlich zu viel Speicher, sodass der Kernelanfing, Prozesse zu killen und schlielich auchden Installer erwischte. Das installierte Systemwar danach nicht bootfhig. Es ist unklar, unterwelchen Bedingungen das Problem auftritt, denneine Wiederholung der Installation klappte.

    Laufender Betrieb

    Einige bedeutende nderungen, die fr alleDesktops gleichermaen gelten, sind der ak-tualisierte Linux-Kernel auf Basis von Version2.6.35.4 und die neue Schriftart Ubuntu [7].Ohne die neue Schrift wren berhaupt kei-ne bedeutenden nderungen an den DesktopsGNOME und KDE auszumachen. Aber natrlichgab es kleinere Erweiterungen der Funktionalitt.

    Tipps whrend der Installation.

    Wie gewohnt hat Root keinen direkten Zugangzum System. Zugang zum Root-Account ist aberber das Kommando sudo vorhanden. Damitkann man jeden beliebigen Befehl ausfhren,nachdem man sein eigenes Passwort eingege-ben hat. Wenn man, nachdem man als Root ein-geloggt ist, ein Passwort vergibt, ist auch das di-rekte Root-Login mglich.

    Der GNOME-Desktop bentigt mit einem Termi-nalfenster ohne weitere offene Programme et-wa 220 MB, nachdem in der Vorversion noch320 MB gemessen wurden. Davon wird ein Teilmit der Zeit in den Swap ausgelagert. Dies ent-spricht wieder ungefhr frheren Versionen. KDEbentigt etwa 390 MB und scheint mit wach-sender Laufzeit mehr zu belegen. So ist KDEin 512 MB RAM subjektiv auch deutlich trgerals GNOME. Anwendungen bentigen generelllnger zum Starten, unabhngig von ihrer Gr-

    freiesMagazin GNU FDL Ausgabe 11/2010 5

  • DISTRIBUTION

    e. Beispielsweise bentigte der maximal 30 MBgroe OpenOffice.org Writer beim ersten Startunter KDE 20 Sekunden, unter GNOME nur 10.Nach Beenden und erneutem Start waren es un-ter KDE noch 4 Sekunden, unter GNOME 2. Abetwa 768 MB RAM sind beide Systeme wiedergleichauf. KDE sollte man also, wie schon gesagt,besser nicht nutzen, wenn man nur 512 MB RAModer weniger zur Verfgung hat. Auch das Ab-schalten vieler Effekte in KDE ist ratsam, da siedurch ihre eingebauten Verzgerungen die Arbeitbehindern.

    Den Speicherverbrauch der Desktops zu messenist nicht einfach. Schwankungen von 20 MB undmehr nach oben und unten sind mglich, je nachdem Zeitpunkt der Messung. Dies erklrt sich teil-weise daraus, dass manche Programme bei ih-rem Start einen oder mehrere Dienste starten.Diese Dienste werden bei Nichtbenutzung nacheiniger Zeit teilweise wieder beendet. Bei den obi-gen Angaben wurde daher der ungefhre Mittel-wert ermittelt.

    Die neue Version 2.32.0 von GNOME [8] bringtden Benutzern das gewohnte Erscheinungs-bild ohne bse berraschungen. Der E-Mail-Client Evolution wurde auf die Version vonGNOME 2.30.3 aktualisiert, die viel schnel-ler als die Version in Ubuntu 10.04 LTS seinsoll. Die Foto-Verwaltung obliegt nun Shotwell,das F-Spot in der Standardinstallation ablst.Der Twitter-Client Gwibber wurde an die letz-ten nderungen des Twitter-Authentifizierungangepasst. Der Sound-Indikator enthlt

    Shotwell auf dem GNOME-Desktop.

    Steuerelemente fr das Abspielen von Musik.Obwohl der Standard-Browser von GNOME Epi-phany ist, bleibt es unter Ubuntu bei Firefox, jetztin Version 3.6.10 (inzwischen aktualisiert auf3.6.11). Als Office-Suite ist OpenOffice.org 3.2.1installiert.

    Der Online-Dienst Ubuntu One wurde besser inden Desktop integriert. Registrierung und Anmel-dung wurden erneuert. Im Dateimanager Nauti-lus wurde die Verwaltung der Einstellungen zurSynchronisation von Ordnern verbessert und dieGeschwindigkeit der Synchronisation gesteigert.

    freiesMagazin GNU FDL Ausgabe 11/2010 6

  • DISTRIBUTION

    Im Ubuntu One Music Store kann man Links aufMusik fr andere Benutzer zugnglich machen.

    Version 4.5.1 von KDE [9] soll zum einen gegen-ber KDE 4.4 mehr Stabilitt und Feinschliff, zumanderen einige neue Funktionen bringen. Neudabei sind der Caching-Mechanismus Kshared-DataCache, ein einheitliches Aussehen desBenachrichtigungsbereichs auch zwischen ver-schiedenen Programmen und Toolkits, die Benut-zung der Webkit-Engine in Konqueror, ein neu-er Platzierungsmodus (KWin-Tiling) im Window-Manager,eine optionale Nutzung von PulseAudioin Phonon und Verbesserungen in zahlreichenAnwendungen. Auch unter KDE wird Open-Office.org genutzt.

    Als Webbrowser kommt die Neuentwicklung Re-konq 0.6.1 zum Einsatz, die die Webkit-Enginenutzt und laut den Entwicklern den verfgbarenBildschirmplatz optimieren soll. Das Programmerinnert mit seinem auf einen einzelnen Buttonreduzierten Men entschieden an Chrome. Re-konq verfgt ber Funktionen wie Zoom, privatenModus und Entwicklerfunktionen, lsst jedocheine detaillierte Kontrolle ber JavaScript- undCookie-Einstellungen, Plug-ins und Erweiterun-gen vermissen. Ohne Funktionen, die annherndan die Mchtigkeit von Firefox oder Konquerorherankommen, drfte er bald genauso vergessensein wie Arora, von dem man auch nichts mehrhrt.

    Schlimm sind neben der Tatsache, dass der Da-teibetrachter Okular bei jeder PDF-Datei abstrz-te, auch die neuen Icons in der Systemleiste.

    Eine Schere als Symbol fr die Zwischenabla-ge geht einfach gar nicht. Und das Symbol frden Network Manager soll wohl eine Ethernet-Buchse zeigen, was aber kaum erkennbar ist.Gegenber den frheren Icons ist die Wahl der

    Rekonq auf dem KDE-Desktop.

    jetzigen Icons schlecht. Nach einer lngeren Sit-zung funktionierte zudem das Herunterfahrennicht mehr.

    Multimedia im Browser und auf demDesktopAuf der berarbeiteten Startseite von Firefoxist weiter Google die Standard-Suchmaschine.Auch die Bezeichnung in der About-Box MozillaFirefox fr Ubuntu canonical 1.0 ist geblieben.

    Mehrere Plug-ins zum Abspielen von Videos infreien Formaten sind vorinstalliert WebM [10]gehrt noch nicht dazu.

    Firefox enthlt die vorinstallierte ErweiterungUbuntu Firefox Modifications jetztin Version 0.9rc2. Darin ist derbereits bekannte Plug-in-Finder-Service enthalten. Will man bei-spielsweise ein Video in einer Web-seite abspielen, lassen sich kom-fortabel passende Plug-ins findenund installieren. Mit Flash gehtdas so nicht. In der 64-Bit-Versionist klar, dass das Adobe-Flash-Plug-in nicht zur Verfgung steht.Warum Ubuntu hier aber nicht dasGnash-Plug-in anbietet, ist rtsel-haft, denn es funktioniert mit denmeisten Flash-Videos gut. Mankann es manuell aus dem Paketmozilla-plugin-gnash installieren.

    Auch in den bekannten Anwen-dungen RhythmBox und Totem lieen sichGStreamer-Plug-ins, die die standardmig nichtuntersttzbaren Formate kennen, wie gewohntproblemlos installieren. Fast jedes Audio- undVideo-Format lie sich damit abspielen.

    Unter KDE ist Amarok der Standard-Audioplayer.MP3- und andere Audiodateien lassen sich oh-ne weiteres abspielen. Der Standard-Videoplayerist Dragonplayer. In diesem funktioniert zu-nchst einmal gar nichts. Leider konnten sich

    freiesMagazin GNU FDL Ausgabe 11/2010 7

  • DISTRIBUTION

    die Entwickler immer noch nicht dazu bewe-gen, dieses Nichtfunktionieren mit einer Meldungzu kommentieren. Erst wenn man das Paketlibxine1-ffmpeg installiert, kann man Videos inallen gngigen Formaten abspielen. Alternativkann man andere Player wie z. B. smplayer in-stallieren, mit denen ebenfalls alles funktioniert.Im Dateimanager Dolphin fehlt weiterhin eine Da-teizuordnung von Dateien mit dem Suffix .flv.

    Paketverwaltung und UpdatesDas Hauptprogramm zur Paketverwaltung ist dasweiter verbesserte Software-Center, das es wei-terhin nur unter GNOME gibt. Es ist in der Arteines Anwendungsstores aufgebaut, verwaltetaber auch die installierten Anwendungen. In derKategorie-Ansicht gibt es nun auch Unterkate-gorien. Die fr diesen Bereich verfgbare Soft-ware wird dann als Liste angezeigt. Mit der Su-che kann man die Auswahl weiter einschrnken.Klickt man ein Softwarepaket in der Liste an, er-hlt man Buttons zum Installieren (bei installier-ten Paketen einen zum Entfernen) und einen Linkzum Aufrufen der Webseite. Ferner werden eineBeschreibung, ein Screenshot und weitere Infor-mationen angezeigt.

    Die bisher fehlenden Funktionen fr die Verwal-tung der Paketquellen wurden hinzugefgt. Da-mit ist das Software-Center zwar immer nochkein vollstndiger Ersatz fr Synaptic, aber esenthlt alle Funktionen, die von weniger tech-nischen Anwendern bentigt werden. Zudemwurde es poliert und enthlt zwei neue Bereichefr vorgestellte und neu hinzugekommene An-

    wendungen. Nun kann sich auch kostenpflichtigeSoftware im Software Center befinden. Zur Zeitist nur ein einziges solches Paket vorhanden,der Fluendo DVD Player (siehe Im Test: Flu-endo DVD Player, freiesMagazin 10/2010 [11]).Es sollen aber im Laufe der Zeit mehr werden.

    Software-Center in Ubuntu.

    Ferner kann man sich die Historie der Paketin-stallationen ansehen. Das Programm kann jetztauch Plug-ins nutzen. Technische Einzelheitenwerden standardmig vor den Benutzern ver-borgen.

    Das Software-Center macht es nun auch einfach,Erweiterungen zu Programmen zu finden. Kenntdas Center solche Erweiterungen, werden sie in

    der Detailansicht angezeigt und knnen durchSetzen eines Hkchens zusammen mit dem Pro-gramm oder zustzlich installiert werden.

    Die offiziellen Repositorys von Ubuntu 10.10sind weiterhin main, universe, multiverse

    und restricted. Letzteres istdas Archiv, in dem sich unter-sttzte, aber unfreie Paketebefinden. Darunter befindensich die Grafikkarten-Treiberz. B. von NVIDIA, Firmware-Pakete und Treiber, die nichtunter vollstndig freien Lizen-zen stehen. Sie knnen vonUbuntu grundstzlich nichtso wie die anderen Paketeuntersttzt werden, da derQuellcode teilweise nicht zu-gnglich ist.

    Im Gegensatz zu main wirdSoftware, die im Repositoryuniverse zu finden ist, nichtoffiziell untersttzt. Die Soft-warepakete in universe sindfrei, whrend jene in multiver-

    se unfrei sind. Daneben existiert noch das Repo-sitory partner, das kostenlos erhltliche Softwarevon Partnerunternehmen beherbergt.

    Unter KDE wird weiterhin KPackageKit zum Ver-walten und Aktualisieren von Software verwen-det. Im Gegensatz zum Software-Center ist eseine umfassende Lsung wie Synaptic. Im Ver-gleich zur letzten Version scheint sich kaum et-

    freiesMagazin GNU FDL Ausgabe 11/2010 8

  • DISTRIBUTION

    was gendert zu haben, lediglich im Hintergrundwird nun QApt Batch statt install-package ver-wendet. Aus Benutzersicht ndert das nichts undso gelten die damaligen Kritikpunkte weiterhin.Die Auswahl der Funktionen Software findenund entfernen, Softwareaktualisierungen undEinstellungen htte leicht in einem Men erfol-gen knnen, anstatt so viel Platz auf dem Bild-schirm zu verschwenden. Die Kombination vonSuchbegriffen, Filtern und Bereichsauswahl wirktweiterhin unlogisch und nicht intuitiv. Die Ober-flche von KPackageKit wirkt immer noch wieein schlechter Prototyp. Die zugrundeliegendenFunktionen scheinen dagegen einwandfrei zu ar-beiten.

    KPackageKit in Kubuntu.

    FazitUbuntu 10.10 ist eine gelungene Distribution,die sich nicht sehr von der Vorgngerversionunterscheidet. Als grte nderungen sind die

    neue grafische Installation und die neue Schrift-art Ubuntu zu nennen. Dabei erweist sich ge-rade die genderte Installation als nicht ausge-goren und lsst den Wunsch aufkommen, derHersteller htte seine Prioritten anders gesetzt.Auch die neue Schriftart wird nicht unbedingt denGeschmack jedes Benutzers treffen, aber es ste-hen ja Alternativen zur Verfgung.

    Schriften, wie auch die Optik des Desktops undder Icons, sind nun einmal Geschmackssacheund gehen daher natrlich nicht in die Bewer-tung ein. Abgesehen vom Installer gibt es ander GNOME-Variante von Ubuntu daher nicht vielauszusetzen. Unterm Strich gilt also fr Ubuntuwie fr die meisten freien Programme: Die neues-te Version ist meist die beste.

    Wer dagegen KDE unter Ubuntu (bzw. Kubuntu)nutzen mchte, sollte erstens noch einige Wo-chen warten, bis die grbsten Probleme beseitigtsind, und zweitens sich darauf einstellen, einigeder installierten Programme durch andere zu er-setzen. Dies mag fr die anderen Varianten ge-nauso gelten, aber unter KDE waren Problemeeher auffllig. Es wre nun bertrieben, von un-benutzbar oder hnlichem zu sprechen. Rekonqals Standard-Browser und KPackageKit als Pa-ketverwaltung sind vielleicht auch in Ordnung frgeringere Ansprche; wer Alternativen will, kannsie installieren. Der Absturz in Okular ist dagegenrgerlich.

    LINKS[1] http://www.pro-linux.de/artikel/2/1468/ubuntu-

    1010.html

    [2] http://www.gnu.org/copyleft/fdl.html[3] http://de.wikipedia.org/wiki/Per_Anhalter_durch_

    die_Galaxis[4] http://www.freiesmagazin.de/freiesMagazin-2010-

    06[5] http://www.freiesmagazin.de/freiesMagazin-2009-

    04[6] http://www.pro-linux.de/artikel/2/1456/btrfs-linux-

    dateisystem-der-zukunft.html[7] http://www.pro-linux.de/news/1/16230/ubuntu-

    schriftart-soll-neue-qualitaetsmassstaebe-setzen.html

    [8] http://www.pro-linux.de/news/1/16219/gnome-232-veroeffentlicht.html

    [9] http://www.pro-linux.de/news/1/16022/kde-sc-450-mit-neuen-funktionen-freigegeben.html

    [10] http://www.pro-linux.de/news/1/15793/optimierung-von-webm-hat-begonnen.html

    [11] http://www.freiesmagazin.de/freiesMagazin-2010-10

    Autoreninformation

    Hans-Joachim Baader befasst sichseit 1993 mit Linux. 1994 schloss ersein Informatikstudium erfolgreich ab,machte die Softwareentwicklung zumBeruf und ist einer der Betreiber vonPro-Linux.de.

    Diesen Artikel kommentieren

    freiesMagazin GNU FDL Ausgabe 11/2010 9

  • LINUX ALLGEMEIN

    Der Oktober im Kernelrckblick von Mathias Menzer

    B asis aller Distributionen ist der Linux-Kernel, der fortwhrend weiterent-wickelt wird. Welche Gerte in einemhalben Jahr untersttzt werden und welcheFunktionen neu hinzukommen, erfhrt man,wenn man den aktuellen Entwickler-Kernel imAuge behlt.

    Der Weg zum Kernel 2.6.36Zwei Vorabversionen waren noch notwendig, be-vor Torvalds den Kernel 2.6.36 endgltig verf-fentlichen konnte. Der -rc7 [1] brachte auer demHoffnungsschimmer eines baldigen finalen Re-leases hauptschlich kleinere Korrekturen, zumTeil im Bereich der Grafik-Komponente DRM (Di-rect Rendering Manager [2]), jedoch auch amDateisystem xfs.

    Mit dem -rc8 [3] bekam der neue Kernel dannauch seinen Namen Flesh-Eating Bats withFangs (Fleischfressende Fledermuse mit Rei-zhnen). Anscheinend hatte eine Fledermausmit siebeneinhalb Zentimeter langen Zhnen(three-inch-long fangs), die sich in sein Hausverirrt hatte, Torvalds entsprechend beeindruckt,um ein eigenes Kernel-Release gewidmet zu be-kommen [4]. Auer Aktualisierungen der Doku-mentation fr den Treiber e1000e und dessen l-teren Bruder e1000 finden sich kleinere Korrek-turen quer durch den ganzen Kernel. Der Schrittzu 2.6.36 war ebenfalls in erster Linie von letzten,kleinen Korrekturen begleitet [5].

    Was bringt 2.6.36?Die erste neue Funktion von 2.6.36 wurde gleichwieder deaktiviert. fanotify stellt eine Schnitt-stelle bereit, die Benachrichtigungen ber nde-rungen am Dateisystem an Anwendungen undProzesse versenden kann (siehe Der August imKernelrckblick, freiesMagazin 09/2010 [6]) undlangfristig das seit fnf Jahren erprobte inotifyersetzen soll. Allerdings dauern die Diskussio-nen unter den Entwicklern ber die letztendlicheAusgestaltung der ABI [7] noch an, weshalb mansich letztlich dazu entschloss, diese Funktion vor-erst ruhen zu lassen.

    Nicht abgeschaltet wurden dagegen die Verbes-serungen an Workqueue. Diese Funktion ver-waltet Funktionsaufrufe fr den Kernel und stelltsie zur spteren Ausfhrung in eine Warteschlan-ge. Die bisherige Gestaltung von Workqueue er-zeugte durch eine fehlende Kontrollfunktion teil-weise mehr Warteschlangen als Prozessorenoder Kerne im System zur Verfgung stehen undfhrte dazu, dass sich deren Prozesse gegensei-tig im Weg standen. Ein neuer Pool-Manager solldies knftig verhindern und gleichzeitig Codetei-le ablsen, die fr Spezialflle entwickelt wurden,die durch die alte Workqueue-Implementierungnicht behandelt werden konnten.

    Eine eigentlich ungeliebte Komponente ist derOut-Of-Memory-Killer (OOM). Anders als dermartialische Name vermuten lsst, handelt essich hierbei jedoch nicht um ein wahllos marodie-

    rendes Unterprogramm, sondern mehr um einemeist still im Hintergrund wartende Komponen-te, die im Falle eines vollstndig belegten virtu-ellen Speichers Prozesse beendet, um den fort-laufenden Betrieb des Systems zu gewhrleis-ten. Hin und wieder trifft OOM eine schlechteWahl und opfert eigentlich hilfreiche Prozesse,sodass der durchgehende Betrieb mit Einschrn-kungen oder gar Instabilitt erkauft wird. Die Al-gorithmen zur Auswahl der zu opfernden Prozes-se wurden von dem bei Google beschftigtenEntwickler David Rientjes verfeinert, der seinenderungen nun nach mehreren Anlufen in denstabilen Kernel-Zweig einbringen konnte. Eben-falls auf Situationen mit Speicherengpssen aus-gerichtet ist eine weitere Verbesserung: Steht nurnoch wenig Speicher zur Verfgung und es erfol-gen gleichzeitig Schreibzugriffe auf ein sehr lang-sames Medium wie z. B. eine langsame USB-Festplatte, kann es zum vlligen Stillstand desSystems aus Anwendersicht kommen. Der Intel-Entwickler Wu Fengguang fhrte eine berpr-fung ein, ob scheinbar belegte Speicherbereichein einer solchen Situation bereinigt werden kn-nen ohne die Ttigkeit des Kernel Swap Deamon(kswapd) zu behindern, und verringert dadurchdie Wahrscheinlichkeit, dass solche Flle auftre-ten.

    Der in 2.6.35 hinzugekommene Kernel-DebuggerKDB lsst sich nun auch aus einer graphischenUmgebung heraus nutzen, indem mittels der Tas-tenkombination Sysreq-g [8] die KDB-Konsole

    freiesMagazin GNU FDL Ausgabe 11/2010 10

  • LINUX ALLGEMEIN

    aufgerufen wird. Hierzu wird Kernel Mode Set-ting (KMS) genutzt, jedoch derzeit nur fr Grafik-Chipstze von Intel.

    Zu den bereits untersttzten Architekturenkommt nun die von Tilera entwickelte Tile64 [9]hinzu. Deren Prozessoren besitzen mehrere Ker-ne nmlich 64 Stck die in einer schachbrett-artigen Struktur auf dem Prozessor-Die angeord-net sind, ber eigene L1- und L2-Caches verf-gen und sich zusammen verschiedene Schnitt-stellen wie Gigabit-Ethernet und PCIe sowie vierDDR2-Speichercontroller teilen. Obwohl die Pro-zessoren nur bis 900 MHz getaktet werden, solldieser Aufbau eine sehr hohe Rechenleistung mitguter Energieeffizienz kombinieren.

    Um die neuen Funktionen von Intels Corei3/i5-Reihe mit integrierter Grafik besser nut-zen zu knnen, wurde Intelligent Power Sha-ring implementiert. Hierbei wird die innerhalbder Leistungs- und Temperaturgrenzen der CPUmaximal mgliche Leistung zwischen CPU undGrafik-Komponente so ausbalanciert, dass sichdas Gesamtsystem innerhalb der TDP (ThermalDesign Power), ein Grenzwert fr die maximalmgliche Wrmeabfuhr eines Systems, bewegt.

    Lange schon wird AppArmor, ein von eini-gen Distributoren bereits ausgiebig genutztesWerkzeug zur rollenbasierten Umsetzung vonZugriffbeschrnkungen (Mandatory Access Con-trol [10]) gepflegt und weiterentwickelt. Nun folg-ten die Kernel-Entwickler den Nutzern und nah-men AppArmor in den offiziellen Kernel auf.

    Neben diesen Neuerungen wurden viele wei-tere Verbesserungen vorgenommen, so kannFS-Cache nun neben NFS und AFS auch aufdas Netzwerk-Dateisystem CIFS aufsetzen unddessen Daten fr schnellere Zugriffe zwischen-speichern. Verschiedene Treiber kamen hinzuund die Speicherverwaltung des Virtualisierungs-Werkzeugs KVM wurde berarbeitet. Wie immerliefert die englischsprachige Seite Kernel New-bies [11] einen ausfhrlichen berblick.

    Entwicklung von 2.6.37 gestartetBereits am 1. November stellte Torvalds 2.6.37-rc1 [12] zur Verfgung. Er hebt hervor, dassnun die Kernkomponenten auf den Big KernelLock (BKL) verzichten, ein zunehmend ungelieb-ter Mechanismus zum Verhindern gleichzeitigerZugriffe auf den Kernel. Es sei nun mglich, denKernel selbst ohne Untersttzung fr BKL zukompilieren, trotzdem nutzen noch einige Treiberund Systeme diesen Locking-Mechanismus wiezum Beispiel die V4L-Umgebung, die fr Video-Aufnahme und -Wiedergabe genutzt wird.

    Die Freigabe der neuen Vorabversion nahm Tor-valds vom aktuellen Linux Kernel Summit [13]in Cambridge vor, der sich die diesjhrige LinuxPlumbers Conference [14] direkt anschliet. Daviele der Hauptentwickler auf diesen beiden Ver-anstaltungen zu finden sind, drften sich die n-derungen in dieser Woche in Grenzen halten.Absprachen, strategische Entscheidungen undauch die Koordinierung mit anderen Projektenund Komponenten rund um Linux stehen hier ersteinmal im Vordergrund.

    LINKS[1] http://lkml.org/lkml/2010/10/6/406[2] http://de.wikipedia.org/wiki/Direct_Rendering_

    Manager[3] http://git.kernel.org/?p=linux/kernel/git/torvalds/

    linux-2.6.git;a=commitdiff;h=cd07202cc8262e1669edff0d97715f3dd9260917

    [4] http://torvalds-family.blogspot.com/2010/10/early-halloween-guest.html

    [5] http://lkml.org/lkml/2010/10/20/409[6] http://www.freiesmagazin.de/freiesMagazin-2010-

    09[7] http://de.wikipedia.org/wiki/Binrschnittstelle[8] http://de.wikipedia.org/wiki/Systemabfrage-Taste[9] http://en.wikipedia.org/wiki/TILE64

    [10] http://de.wikipedia.org/wiki/Mandatory_Access_Control

    [11] http://kernelnewbies.org/Linux_2_6_36[12] http://lkml.org/lkml/2010/11/1/82[13] https://events.linuxfoundation.org/events/linux-

    kernel-summit[14] http://www.linuxplumbersconf.org/2010/

    Autoreninformation

    Mathias Menzer wirft gerne einenBlick auf die Kernel-Entwicklung, ummehr ber die Funktion von Linux zuerfahren.

    Diesen Artikel kommentieren

    freiesMagazin GNU FDL Ausgabe 11/2010 11

  • PROGRAMMIERUNG

    Python-Programmierung: Teil 2 Tiefere Einblicke von Daniel Ngel

    Im vorherigen Teil der Python-Reihe(freiesMagazin 10/2010 [1]) wurden ersteErfahrungen mit mathematischen Opera-toren, Zeichenketten und for-Schleifen ge-sammelt. Im zweiten Teil sollen nun beson-ders Listen in Python betrachtet werden. Mitif und while werden aber auch zwei weitereKontrollstrukturen vorgestellt.

    Korrekturen und Ergnzungen

    Im ersten Teil wurde bereits angesprochen, dassmanche Spracheigenschaften von Python sichab Version 3.x gendert haben. Dazu gehreninsbesondere die Zeichenketten. Erst ab 3.x ar-beitet Python immer mit Unicode-Zeichenketten.Davor muss die Verwendung von Unicode bei derErstellung von Zeichenketten erzwungen werden.Unterbleibt dies, knnen schnell schwer zu ermit-telnde Probleme auftreten. Auch Zeichenkettenaus Dateien und anderen Quellen sollten so frhwie mglich in Unicode umgewandelt werden. AbPython 3 muss sich der Entwickler darum nichtmehr kmmern.

    Eine Unicode-Zeichenkette wird in Python 2.xdurch das Voranstellen eines u vor die Zeichen-kette oder den Aufruf der Funktion unicode() er-stellt [2] [3] [4]:

    u"Ich bin ein Unicode-String"unicode("Auch ich werde eine yUnicode-Zeichenkette")

    "Bei Python-Versionen < 3 bin ich yein normaler Byte-String"

    Ein weiterer Unterschied zu Python 3.x, der imletzten Teil verschwiegen wurde, ist die Verwen-dung von print. Erst ab Python 3 wird print alsFunktion verwendet und muss wie folgt aufgeru-fen werden:

    >>> print("Hallo Welt")

    Vor Python 3 wurde print als Statement imple-mentiert:

    >>> print "Hallo Welt"

    Hinweis: Wie schon im ersten Teil verein-bart, werden Zeilen, die mit >>> beginnen,direkt in die interaktive Konsole von Python

    Eine Auswahl von Operatoren in PythonOperator Typ Funktion+, -, *, / Mathematisch Addition, Subtraktion, Multiplikation,

    Division** Mathematisch Potenzierung, = Vergleich kleiner als, grer als, kleiner als

    oder gleich, grer als oder gleich== Vergleich gleich!= Vergleich ungleich= Zuweisung weist einen Wert zuin Listen-Operator/

    Mitgliedschaftstesttestet, ob der rechte Operand Mit-glied im linken Operanden ist

    and Bool. Operator Konjunktion, logisches Undor Bool. Operator Disjunktion, logisches Odernot Bool. Operator Negation, logische Verneinung

    eingegeben dann natrlich ohnedie spitzen Klammern.

    Die genauen Unterschiede sollenhier weiter keine Rolle spielen.Wichtig ist nur: Nutzer von Python3.x verwenden print als Funktion(mit Klammern), Nutzer von Py-thon 2.x verwenden print ohneKlammern.

    Da heute noch zumeist Python 2.xverwendet wird und viele Bibliothe-ken fr Python 3.x noch nicht an-gepasst wurden, werden ab die-sem zweiten Teil die hier genann-

    ten Ergnzungen bercksichtigt. Allen Zeichen-ketten wird von nun an also ein u vorangestellt,um Unicode-Zeichenketten zu erzeugen. Benut-zereingaben werden im Folgenden mit der Funk-tion unicode() ebenfalls in Unicode umgewan-delt. Nutzer von Python 3.x mssen das voran-gestellte u und die Funktion unicode() jeweilsauslassen in 3.x wird ja ohnehin immer mit Uni-code gearbeitet.

    OperatorenBevor nun in den nchsten Abschnitten if- undwhile-Blcke behandelt werden, sollen zuerst ei-nige Operatoren besprochen werden. Operato-ren sind vereinfacht gesagt (mathematische)Vorschriften, durch die aus zwei Objekten einneues Objekt gebildet wird.

    freiesMagazin GNU FDL Ausgabe 11/2010 12

  • PROGRAMMIERUNG

    Die blichen mathematischen Operatoren sind si-cher ebenso bekannt wie die Vergleichsoperato-ren. Fr Verwunderung sorgt vielleicht der Divi-sionsoperator: / liefert bis Python 3 ganzzahligeErgebnisse, wenn nicht explizit Fliekommazah-len dividiert werden. Erst ab Python 3 gibt dieserOperator Fliekommazahlen zurck, wenn dasErgebnis keine natrliche Zahl ist.

    Auch auf den Unterschied des Vergleichsopera-tors == und des Zuweisungsoperators = soll hin-gewiesen werden: x == 3 liefert abhngig von xentweder True oder False zurck. x = 3 dahin-gegen weist x den Wert 3 zu. Gerade bei Anfn-gern ist das eine beliebte Fehlerquelle.

    Der in-Operator kommt bei allen iterierbaren Ob-jekten (also besonders Listen) zur Geltung: Mitihm lsst sich in Erfahrung bringen, ob ein be-stimmter Eintrag in einer Liste vorhanden ist.

    Die Booleschen Operatoren [5] and und or die-nen zur Verknpfung mehrere Wahrheitswerte.Der Ausdruck 3 < 5 and 3 < 2 ist offensicht-lich falsch, der Ausdruck 3 < 5 or 3 < 2 dahin-gegen wahr. Der Operator not dreht einen Wahr-heitswert schlicht um: Der Ausdruck 3 < 5 andnot 3 < 2 ist also ebenfalls wahr.

    Eine vollstndige bersicht der Operatoren in Py-thon findet sich unter anderem im kostenlos ver-fgbaren Buch A Byte of Python [6].

    if-Anweisungif-Blcke bieten die Mglichkeit, das Ausfhreneines bestimmten Code-Teiles von einer oder

    mehreren Bedingungen abhngig zu machen.

    In dem Kopf des if-Blockes wird die Bedingungfr die Ausfhrung definiert, also beispielsweise:

    1 number = 52 if number > 3:3 print u"Zahl groesser als 3"

    Bei der Definition derartiger Bedingungen sindbesonders vergleichende Operatoren wichtig. ImKopf eines if-Blockes knnen durch boole-sche Operatoren verknpft eine ganze Reihederartiger Vergleiche aneinandergereiht werden:

    1 number = 202 if number > 10 and number < 40:3 print u"Zahl liegt zwischen y

    10 und 40"

    Durch den Operator and mssen beide Verglei-che wahr sein, damit der if-Rumpf ausgefhrtund die Meldung ausgegeben wird. Verwendetman dahingegen den Operator or, muss nur ei-ne der Bedingungen wahr sein:

    1 good_looking = False2 rich = True3 if good_looking == True or rich y

    == True:4 print u"Heirate mich!"

    Hier wird die Meldung Heirate mich! ausgege-ben, wenn die Variable good_looking oder dieVariable rich True ist (oder beide). In Zeile 3werden die Variablen dazu mit True verglichen.

    Dieser Vergleich mit True ist eigentlich immer un-ntig. blich und schner zu lesen ist folgendeSchreibweise:

    1 if good_looking or rich:2 print u"Heirate mich!"

    Am Ende dieses Abschnitt soll noch kurz auf dieMglichkeit eingegangen werden, mehrere Even-tualitten mit if abzudecken:

    1 if number < 10:2 print u"Kleiner 10"3 elif number < 20:4 print u"Kleiner 20"5 else:6 print u"Groesser oder gleich y

    20"

    Das Schlsselwort elif steht fr else if undgelangt immer dann zur Ausfhrung, wenn dievorherige if-Bedingung nicht erfllt war. Mitelif knnen ebenso wie mit if eine Vielzahlvon Bedingungen definiert werden.

    Wre number beispielsweise 3, wre die Bedin-gung in Zeile 1 wahr und Zeile 2 kme zur Aus-fhrung. Wre number aber 11, wre die Bedin-gung in Zeile 1 nicht erfllt und der Interpreterwrde die Bedingung in Zeile 3 prfen. Da die-se in diesem Fall wahr wre, kme Zeile 4 zurAusfhrung. Wre number aber nun 40 und ent-sprechend keine der beiden Bedingungen wahr,kme Zeile 6 zur Ausfhrung: Das Schlsselwortelse ist also immer dann (und nur dann) vonBedeutung, wenn keine der vorherigen if oderelif-Bedingungen erfllt wurde.

    freiesMagazin GNU FDL Ausgabe 11/2010 13

  • PROGRAMMIERUNG

    while-SchleifeEine weitere wichtige Kontrollstruktur in Pythonist die while-Schleife. So lange die im Schleifen-kopf definierten Bedingungen wahr sind, wird derSchleifenrumpf ausgefhrt. Ein sehr einfachesBeispiel ist folgende Endlosschleife:

    1 while True:2 raw_input(u"Wie war Ihr Name y

    noch gleich?")

    Da die Bedingung True immer wahr ist, wird dieSchleife nie enden. Durch die TastenkombinationStrg + C kann die Ausfhrung des Programmsaber beendet werden.

    Sinnvoller ist eine derartige Schleife natrlich,wenn eine Abbruchbedingung definiert wird.Denkbar wre hier beispielsweise das Sammelnvon Namen, bis der Benutzer das Programmdurch die Eingabe von exit beendet.

    1 names = []2 running = True3 while running:4 user_input = unicode(y

    raw_input(u"Geben Sie einen yNamen ein oder exit zum yBeenden > "))

    5 if user_input == u"exit":6 running = False7 else:8 names.append(user_input)9 print u"Sie haben folgende Namen y

    eingegeben:"10 print names

    Wichtig ist hier die Funktion unicode(): Sie wan-delt in Python 2.x die Eingabe des Benutzers inUnicode um. Da in Python 3.x von Haus aus mitUnicode-Zeichenketten gearbeitet wird, gibt esdiese Funktion dort nicht mehr.

    Hinweis: Nutzer von Python 3 verwenden stattraw_input lediglich input.

    Zwischenfazit: KontrollstrukturenBisher wurde folgende Kontrollstrukturen behan-delt: if, for und while. Fr diese Strukturen gilt:

    Jede Kontrollstruktur besteht aus einem Kopf,der die Ausfhrungsbedingungen definiert undeinem Rumpf, der ausgefhrt werden soll.

    Der Kopf einer Kontrollstruktur wird immer miteinem Doppelpunkt abgeschlossen.

    Der Rumpf einer Kontrollstruktur muss immerum eine Ebene eingerckt werden.

    Die Einrckungen mssen immer gleichmigsein.

    Vier verschiedene Namen werden eingegeben.

    Kontrollstrukturen knnen natrlich auch ver-schachtelt werden. Folgendes Beispiel veran-schaulicht dies:

    1 if username == u"Bernd":2 if password == u"xy":3 print u"Alles ok"4 else:5 print u"Password falsch"6 else:7 print u"Benutzername falsch"

    Der innere if-Block muss also insgesamt eineEbene eingerckt werden er gehrt ja zumRumpf des ueren if-Blockes. Der Rumpf desinneren if-Blockes muss um zwei Ebenen einge-rckt werden.

    Jede Verschachtelungsebene muss also durchEinrckung von der vorherigen Ebene getrenntwerden.

    Weitere Informationen ber Kontrollstrukturen fin-den sich in der Python-Dokumentation [7].

    ListenIn Teil 1 dieser Einfhrung wur-de mit der Funktion range()eine Liste von 0 bis 9 gene-riert. Hier soll nun abschlie-end nher auf Listen einge-gangen werden. Bei Listen han-delt es sich um einen Datentyp,der beliebige andere Datenty-pen verwalten kann (sogar ge-mischt) gewissermaen also

    freiesMagazin GNU FDL Ausgabe 11/2010 14

  • PROGRAMMIERUNG

    ein Aktenschrank fr Zeichenketten, Zahlen undalle mglichen anderen Objekte, die in Pythonvorkommen (sogar Listen lassen sich in Listenablegen, so dass verschachtelte Listen mglichsind) [8].

    Listen werden in Python mit eckigen Klammern([ und ]) gekennzeichnet. Sie sind sehr leicht zuerstellen:

    1 >>> persons = []2 >>> type(persons)3 4 >>> persons = list()5 >>> type(persons)6 7 >>>persons = [u"Peter", u"Hermanny

    ", u"Simon"]

    In Zeile 1 wird eine leere Liste erstellt und anden Namen persons gebunden. In Zeile 2 wirdmit der Funktion type() der Typ des Objektes,welches an persons gebunden ist, ausgegeben.Wie erwartet, handelt es sich dabei um eine Lis-te. Zeile 4 zeigt die Erzeugung mittels der Funk-tion list(). Das Ergebnis ist das gleiche. In Zei-le 7 sieht man, dass man in Python eine Listedirekt befllen kann. Es werden die drei Unicode-Zeichenketten Peter, Hermann und Simon in dieListe eingetragen.

    Wie schon in Teil 1 gezeigt wurde, lsst sichsehr einfach ber Listen iterieren. Listen habenaber auch zustzliche Methoden, die sehr ntz-lich sein knnen.

    1 >>> persons = [u"Peter", u"yHermann", u"Simon"]

    2 >>> persons.append(u"Carla")3 >>> persons.append(u"Hermann")4 >>> persons5 [uPeter, uHermann, uSimon, yuCarla, uHermann ]

    6 >>> persons.remove(u"Hermann")7 >>> persons8 [uPeter, uSimon, uCarla, uy

    Hermann ]

    Mit der Methode append() kann ein weiterer Ein-trag angehngt werden, wie man in den Zeilen2 und 3 sehen kann. Zeile 5 zeigt das Ergebnis:Die beiden Unicode-Objekte Carla und Hermanwurden in der Reihenfolge der append-Aufrufe andie Liste angefgt.

    Analog dazu lassen sich Eintrge mit der Metho-de remove() entfernen (Zeile 6). Hierbei solltebeachtet werden, dass jeweils nur das erste Vor-kommen von Hermann entfernt wird. Gibt es meh-rere gleichlautende Eintrge, muss remove()auch mehrfach ausgefhrt werden, etwa wiefolgt:

    1 >>> persons = [u"Peter", u"yHermann", u"Hermann"]

    2 >>> while u"Hermann" in persons:3 >>> persons.remove(u"Hermanny

    ")4 >>> print persons5 [Peter]

    Wichtig hierbei: Da die Zeichenketten Hermann inder Liste Unicode-Objekte sind, sollte auch alsSuch-Zeichenkette ein Unicode-Objekt angege-ben werden, um Fehler zu vermeiden. Wird ver-sucht, einen Eintrag zu entfernen, der gar nicht inder Liste vorhanden ist (etwa Heidi), kommt eszu einer Fehlermeldung hier als Beispiel in derinteraktiven Python-Konsole:

    1 >>> persons = [u"Peter", u"yHermann", u"Simon"]

    2 >>> persons.append(u"Carla")3 >>> persons.remove(u"Hermann")4 >>> print persons5 [uPeter, uSimon, uCarla]6 >>> persons.remove(u"Heidi")7 Traceback (most recent call last)y

    :8 File "", line 1, in 9 ValueError: list.remove(x): x noty

    in list

    Nach den Vernderungen der Liste in den Zei-len 1 bis 3 ist in Zeile 5 noch alles in Ord-nung: Hermann wurde aus der Liste gelscht,Carla hinzugefgt. Der Versuch, Heidi zu ent-fernen scheitert: Dieser Eintrag ist in der Listegar nicht vorhanden. Die Zeilen 7-9 zeigen dieReaktion des Python-Interpreters darauf. In ei-nem spteren Teil dieser Reihe werden Python-Fehler (meist Exceptions genannt) nher behan-delt. Hier soll zunchst gezeigt werden, wie vordem Lschen eines Eintrages berprft werdenkann, ob er sich berhaupt in der Liste befindet:

    freiesMagazin GNU FDL Ausgabe 11/2010 15

  • PROGRAMMIERUNG

    if u"Heidi" in persons:persons.remove(u"Heidi")

    Nun wird mit dem Operator in geprft, ob der Ein-trag Heidi berhaupt in der Liste existiert. Sehrschn zu sehen ist dabei, wie intuitiv und natr-lich Python sein kann.

    Listen-IndizesBeim Umgang mit Listen sollte man wissen, dassPython die Listeneintrge mit einem sogenann-ten Index verwaltet. Jedem Listeneintrag wirdmit 0 beginnend eine eindeutige Zahl zugewie-sen. Der erste Eintrag wird also mit 0 angespro-chen, der zweite Eintrag mit 1 usw. So ist es sehrleicht, auf einzelne Eintrge zuzugreifen:

    >>> letters = [u"a", u"b", u"c"]>>> letters[1]u"b"

    Damit wird der zweite Listeneintrag ausgelesen der erste Listeneintrag hat ja den Index 0. Sollvon hinten gezhlt werden, wird einfach ein nega-tiver Index angegeben:

    >>> letters[-3]u"a"

    Weitere Listen-MethodenDie gerade besprochenen Indizes spielen auchbei bestimmten Methoden von Listen eine Rolle:So gibt es mit insert() und pop() die Mglich-keit, Eintrge an einer bestimmten Stelle der Lis-te einzufgen oder zu entfernen:

    1 >>> letters = [u"a", u"c", u"e"]2 >>> letters.insert(1, u"b")3 >>> letters4 [u"a", u"b", u"c", u"e"]5 >>> letters.insert(3, u"d")6 >>> letters7 [u"a", u"b", u"c", u"d", u"e"]8 >>> letters.pop()9 u"e"10 >>> letters11 [u"a", u"b", u"c", u"d"]12 >>> letters.pop(2)13 u"c"14 >>> letters15 [u"a", u"b", u"d"]

    In Zeile 2 wird mit der insert()-Methode ban die richtige Stelle der Liste befrdert, in Zei-le 5 wird mit d analog verfahren. Zu beachtenist hier, dass der erste Parameter der insert()-Methode immer die gewnschte Position im In-dex der Liste angibt (daher muss erneut von 0gezhlt werden), der zweite Parameter beinhal-tet das einzufgende Objekt. pop() lscht dasletzte Element aus einer Liste und gibt dieses zu-rck. Alternativ kann auch ein bestimmter Eintragaus einer Liste gelscht werden dazu wird derentsprechende Index als Parameter angegeben.

    SlicingSehr wichtig fr Listen ist auch das Slicing alsodas Zerschneiden. Mit dem slicing-Operatorknnen einzelne Elemente oder Ausschnitte vonListen ausgelesen werden. Der Operator siehtdabei wie folgt aus:

    [von:bis]

    von steht dabei fr den Eintrag der Liste, bei demdas Zerschneiden beginnen soll es wird von 0gezhlt. bis steht fr den Listeneintrag, vor demdas Zerschneiden endet:

    >>> li = [u"a", u"b", u"c", u"d", uy"e"]>>> li[0:3][u"a", u"b", u"c"]>>> li[2:5][u"c", u"d", u"e"]

    Es ist auch mglich, das Ende des Schnittes vomEnde der Liste aus zu definieren indem ein ne-gatives Vorzeichen gewhlt wird:

    >>> li[0:-1][u"a", u"b", u"c", u"d"]>>> li[0:-2][u"a", u"b", u"c" ]>>> li[1:-2][u"b", u"c"]

    Abkrzen erlaubtSoll der erste Schnitt gleich am Anfang der Lis-te gesetzt werden, muss nicht nicht immer 0 alsStartpunkt gesetzt werden:

    >>> li = [u"a", u"b", u"c", u"d", uy"e"]>>> li[:3]

    gibt wie gewnscht [u"a", u"b", u"c"] zu-rck. Auch beim zweiten Schnitt kann abgekrzt

    freiesMagazin GNU FDL Ausgabe 11/2010 16

  • PROGRAMMIERUNG

    werden: Soll dieser hinter dem letzten Listenele-ment erfolgen, wird ebenfalls keine Angabe ge-macht:

    >>> li[2:][u"c", u"d", u"e"]

    Es ist nicht schwer zu erraten, was der Ausdruck

    >>> li[:]

    folglich bewirken muss.

    Listen durch Slices verndernBisher wurde nur lesend auf verschiedene Listen-Indizes zugegriffen: Die Ursprungsliste wurde da-bei jedoch nie verndert. Mit dem Zuweisungs-operator lassen sich aber auch einzelne Indizesberschreiben oder ganze Bereiche einfgen:

    1 >>> li = [u"a", u"b", u"c"]2 >>> li[2] = u"e"3 >>> li4 [ua, ub, ue]5 >>> li[2:2] = [u"c", u"d"]6 >>> li7 [ua, ub, uc, ud, ue]8 >>> li[3:] = [1, 2, 3]9 >>> li10 [ua, ub, uc, 1, 2, 3]

    Hier wird zunchst eine Liste mit den Buchsta-ben a bis c erstellt. Der dritte Eintrag der Lis-te, wird in Zeile 2 durch e ersetzt. In Zeile 4 istzu sehen, dass die Liste li dadurch verndertwurde. In Zeile 5 werden zwischen b und e zwei

    weitere Listenelemente eingefgt: Durch den Sli-ce [2:2] wird der Schnitt direkt vor dem drit-ten Listenelement gesetzt (Index 2), so dass dieBuchstabenreihenfolge wieder stimmt. In Zeile 8ist schlielich zu sehen, wie ein ganzer Slice derListe berschrieben wird.

    Es ist sehr zu empfehlen, das Slicing und die an-deren hier vorgestellten Methoden und Funktio-nen in der interaktiven Python-Konsole ein wenigzu erproben. Auch die Python-Dokumentationkann wertvolle Hinweise zum Umgang mit Listenliefern [9].

    Ein kleines BeispielDas folgende Beispiel setzt einige der hier erlern-ten Techniken ein.

    1 #!/usr/bin/env python2 # coding: utf-834 allowed_tries = 55 counter = 167 users = [u"Karl", u"Willi", u"Joey

    "]8 passwords = [u"karl123", u"y

    willi456", u"joe789"]910 while counter allowed_tries:27 print u"Sie haben es zu y

    oft versucht!"

    Listing 1: beispiel.py

    Hinweis: Benutzer von Python 3.0 verwendenanstatt raw_input() schlicht input().

    In den Zeilen 7 und 8 werden zwei Listen defi-niert: users beinhaltet die verschiedenen Benut-zer, passwords deren Passworte. Dabei gehrenimmer die Listeneintrge mit dem selben Index-Wert zusammen (also Karl und karl123 etc.).

    Die Schleife in diesem Beispiel wird hchstensfnfmal ausgefhrt nach fnf Durchlufen hatcounter den Wert 6, so dass die Bedingung derwhile-Schleife nicht mehr wahr ist.

    freiesMagazin GNU FDL Ausgabe 11/2010 17

  • PROGRAMMIERUNG

    In Zeile 14 wird geprft, ob der Benutzernamenicht in der Liste vorkommt in diesem Fall wirddie Fehlermeldung in Zeile 15 ausgegeben undder Zhler in Zeile 24 um 1 erhht. Anderen-falls (ab Zeile 16) wird zunchst mit der Metho-de index() die Position des Benutzernamens inder Liste users ermittelt. In Zeile 18 wird das da-zugehrige Passwort mit dem vom Benutzer ein-gegebenen Passwort verglichen. Stimmen beideberein, wird in Zeile 19 eine Meldung ausgege-ben und die Schleife in Zeile 20 mit dem neuenSchlsselwort break abgebrochen.

    Im nchsten Teil dieser Reihe wird auf einebesondere Art der Ersetzung in Zeichenketten(String Substitution) sowie Module und Funktio-nen eingegangen.

    LINKS

    [1] http://www.freiesmagazin.de/freiesMagazin-2010-10

    [2] http://docs.python.org/howto/unicode.html[3] http://wiki.python-forum.de/Von%20Umlauten,

    %20Unicode%20und%20Encodings[4] http://wiki.python.de/User%20Group%20M%C3%

    BCnchen?action=AttachFile&do=view&target=unicode-folien.pdf

    [5] http://de.wikipedia.org/wiki/Boolesche_Algebra[6] http://abop-german.berlios.de/read/operators.

    html[7] http://docs.python.org/py3k/reference/compound_

    stmts.html[8] http://docs.python.org/faq/design.html#how-are-

    lists-implemented

    [9] http://docs.python.org/tutorial/datastructures.html#more-on-lists

    Autoreninformation

    Daniel Ngel beschftigt sich seitdrei Jahren mit Python. Ihn ber-zeugt besonders die intuitive Syntaxund die Vielzahl der untersttztenBibliotheken, die Python auf demLinux-Desktop zu einem wahrenMultitalent machen.

    Diesen Artikel kommentieren

    Still No Sleep by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/776

    freiesMagazin GNU FDL Ausgabe 11/2010 18

  • NETZWERK

    Zentyal 2.0: Eine Linux-Alternative zum Windows Small Business Server von Jos Antonio Calvo

    D ie Software Zentyal [1] stellt eine kos-tengnstige Alternative dar, um vieleNetzwerk-Anwendungen eines kleinenoder mittleren Unternehmens (KMU) [2] zubetreiben. Dieser Artikel bietet einen prakti-schen Ansatz zur Einfhrung in die Arbeit mitZentyal.

    Redaktioneller Hinweis: Der Artikel wurde vonThorsten Schmidt aus dem Englischen bersetzt.

    Vorab ein berblick auf die Einsatzmglichkei-ten von Zentyal : Die Software kann als Gatewayden Zugang zum Internet steuern, grundstzli-che Netzwerkdienste wie auch Dienste rund umKommunikation und kollaboratives Arbeiten be-reitstellen sowie das eigene Netzwerk vor Bedro-hungen aus externen Netzwerken schtzen. Da-bei wird die Administration von Zentyal ber ei-ne Web-Oberflche bewerkstelligt. Zentyal setztauf einen hohen Grad an Integration der verschie-denen angebotenen Netzwerkdienste. Zustzlichstellt Zentyal eine gesteigerte Automatisierungder meisten typischen Aufgaben whrend derKonfiguration eines SMB-Servers bereit.

    Als Gateway kann Zentyal, wie schon kurz an-gerissen, den Zugang zum Internet regeln, in-dem der Netzwerkverkehr zwischen verschiede-nen DSL-Verbindungen ausbalanciert wird. Eserlaubt zudem Traffic-Shaping mittels QoS [3],um bestimmte Protokolle oder Rechner zu priori-sieren. Der vorhandene HTTP-Proxy kann eben-

    falls genutzt werden, um den Bandbreitenver-brauch zu verringern.

    Mit dem Unified Threat Management (UTM [4])knnen viele der Sicherheitsanforderungen ei-nes KMUs bewltigt werden; dazu gehren: Fire-wall, Intrusion Detection System, sicherer Zu-gang ber VPN, Web-Inhaltsfilter, Antiviruslsun-gen etc.

    Login am Administrationspanel.

    Das von Zentyal bereitgestellte Netzwerk-Infrastruktur-Profil umfasst DHCP-, DNS-, NTP-und FTP-Server. Auch eine eigene Zertifizie-rungsstelle (Certification Authority [5]) bringtZentyal mit, um die Zertifikate der verschiedenenNetzwerkdienste zu verwalten. Darber hinaussteht mit dem HTTP-Server ein Dienst bereit,der es erlaubt, verschiedene virtuelle Domainsauszuliefern.

    Als Office-Server bietet Zentyal, neben der typi-schen Verzeichnisverwaltung ber Gruppen undNutzer zur Authentifikation von Clients, auch

    verschiedene Formen des Dateiaustausches an:Datei- und Druckerfreigaben, Kalender und Kon-takte, Aufgaben etc. Auerdem verfgt Zentyalber ein Modul zur Sicherung von Daten, sowohllokal als auch aus der Ferne.

    Schlielich kann Zentyal als Kommunikationsser-ver genutzt werden: Das Aufbauen einer kom-pletten E-Mail-Infrastruktur mit Webmailer undAntispam und Antivirus ist mglich. Auch einServer zur Bereitstellung von Instant-Messaging-Diensten ist ebenso vorhanden wie eine VoIP [6]PBX [7], um Anrufe zu Mobiltelefonen und in-ternationalen Telefonnummern ber einen SIP-Provider [8] herzustellen.

    InstallationWill man Zentyal auf einem Server ohne vorhan-denes Betriebssystem installieren oder ein schonvorhandenes ersetzen, ist es am einfachsten,sich die ISO-Datei von der Zentyal-Webseite [9]herunterzuladen. Natrlich lsst sich die ISO-Datei auch in einer virtuellen Maschine auspro-bieren.

    Wird die Installation auf einem realen Serverdurchgefhrt, so hat man die Wahl zwischenzwei Installationsmodi: dem einfachen und demExpertenmodus. Der einzige Unterschied zwi-schen den beiden Verfahren liegt in der Art undWeise, wie die Partitionierung abluft. Im einfa-chen Modus wird das Aufteilen der Festplatte au-tomatisch erledigt, hier wird LVM [10] verwendet,

    freiesMagazin GNU FDL Ausgabe 11/2010 19

  • NETZWERK

    um eine flexible Einteilung von Festplatten undPartitionen zu ermglichen. Der Expertenmoduserlaubt einem hingegen, das Partitionierungsche-ma manuell festzulegen, was ntzlich ist, wennman nicht die ganze Festplatte verwenden mch-te oder ein spezielles Partitionierungsschema be-ntigt, zum Beispiel fr den Fall eines Software-RAIDs [11].

    Da der Zentyal-Installationsassistent auf Ubuntubasiert, sollten die einzelnen Installationsschritteallen bekannt sein, die schon einmal ein Ubuntu-System installiert haben. Whrend des Installati-onsvorgangs werden Fragen zu den Sprachein-stellungen, dem Tastaturlayout und den Netz-werkeinstellungen gestellt (benutzt man DHCP,sollte die Konfiguration automatisch klappen).Auch nach dem zu verwendenen Namen desRechners wird genauso gefragt wie nach Benut-zernamen und Passwort, die dem Benutzer sp-ter den Zugang zum System ber Konsole oderSSH, aber auch ber das Webinterface von Zen-tyal erlauben.

    Nach abgeschlossener Installation des Basissys-tems folgt die Installation verschiedener Zentyal-Komponenten. Hier gilt es zu entscheiden, wel-che Funktionen man von Zentyal bentigt: Es be-steht die Mglichkeit, zwischen einzelnen Grup-pen auszuwhlen, die bestimmte Funktionenbereitstellen, z. B. Gateway, Infrastruktur, UTM(Unified Threat Management [12]), Office oderKommunikation. Aber auch die Auswahl einzel-ner, spezieller Module ist mglich (z. B. Firewall,E-Mail, Filesharing usw.).

    Sollte man sich fr die Installation von allen Mo-dulen entscheiden, ist es wichtig im Hinterkopfzu behalten, dass dabei eine nicht unwesentli-che Zahl an Diensten zum Einsatz kommt. Ei-ne entsprechende Gre des Arbeitsspeichers(mindestens 1 GB) und zustzliche eine CPU mitzwei oder mehr Kernen wird empfohlen, wennman Funktionen wie das Filtern von E-Mails, An-tivirus oder IDS (Intrusion Detection System [13])benutzen will.

    Nach erfolgreicher Installation und dem erstenZugriff auf das Zentyal-Interface wird einem miteiner Reihe von Konfigurationsassistenten beimweiteren Einrichten geholfen dabei sind es ge-nau jene Module, die man zuvor whrend derInstallation ausgewhlt hat. Hier wird zum Bei-spiel nach einer virtuellen Domain gefragt, so-dass jeder hinzukommende Benutzer seine eige-ne E-Mail-Adresse in dieser Domain bekommt.Zentyal bietet also einen Server, der mit seinenStandardeinstellungen fast von Beginn an vollfunktionstchtig ist und nur wenige Einstellungennachtrglich bentigt.

    Konfiguration des NetzwerksIst die Installation beendet, bekommt man deneinfachen Zugriff auf das Zentyal-System berdie Web-Oberflche zur Administration. Hier-zu startet man einfach seinen Webbrowserund gibt die IP-Adresse des Servers ein. Da-nach erscheint Zentyals Anmeldebildschirm: Frden Zugang sind hier, wie zu erwarten, derBenutzername und das Passwort einzugeben.

    Mchte man die Web-Oberflche als Startsei-te im Browser angeben, so lautet die Adressehttps://zentyal-ip-address/.

    Nach dem ersten erfolgreichen Anmelden zeigtsich dem Benutzer das Zentyal-Dashboard. Hierbekommt man einen schnellen berblick auf denStatus des Systems und den dort laufendenDiensten. Dabei prsentiert jede Dashboardkom-ponente Informationen ber jeweils einen laufen-den Dienst: Zum Beispiel wird angezeigt, welcheBenutzer gerade ber VPN verbunden sind oderden Fileserver nutzen. Jede dieser Dashboard-komponenten kann auf der Bedienoberflche ver-schoben, entfernt oder neu hinzugefgt werden,sodass man das Dashboard seinen Vorstellun-gen entsprechend gestalten kann.

    Vom Men System aus auf der rechten Seitesind grundstzliche Wartungsaufgaben auf demRechner mglich: Das ndern von Einstellungenwie Passwrter, Hostnamen, Spracheinstellun-gen, Zeitzone, Herunterfahren und Neustart. Vonhier aus hat man auch den Zugriff auf das in Zen-tyal integrierte Backup-Verwaltungswerkzeug, zufinden unter Datensicherung auf der linken Sei-te.

    Bevor irgendein Dienst konfiguriert wird, ist eswichtig zu wissen, dass alle gemachten nderun-gen erst dann wirksam werden, sobald der Benut-zer sie auch speichert. Um auf nicht gespeicher-te nderungen hinzuweisen, wechselt die Schalt-flche nderungen speichern in der rechtenoberen Ecke der Weboberflche von grn nachrot.

    freiesMagazin GNU FDL Ausgabe 11/2010 20

  • NETZWERK

    Das Dashboard bietet den Blick auf Status und Dienste des Systems.

    Im nchsten Schritt geht es an die Konfigurationdes Netzwerkes. Um hier die Einstellungen zu n-dern, navigiert man zu NetzwerkSchnittstel-len. Jede physische Netzwerkschnittstelle wirdals neuer Reiter dargestellt. Sieht man diese Ein-stellungen zum ersten Mal, so hat Zentyal die

    whrend der Installa-tion benutzte Konfigura-tion hier importiert. Dasheit, der Administratorhat whrend der Instal-lation die Werte fr dieIP-Adresse und die Netz-werkmaske festgelegtoder aber auch angewie-sen, DHCP oder PPPoEzu benutzen.

    Fr den Fall, dass maneine Netzwerkkarte zueinem Switch verbin-den will, der VLAN [14](802.1q) [15] untersttzt,muss die Option Virtu-elles Lan (802.1q) ge-whlt werden. Von nunan ist es mglich, virtu-elle Netzwerkschnittstel-len mit einer den Bedrf-nissen entsprechendenVLAN-Nummer zu erstel-len.

    Will man weiterhin mehrals eine IP-Adresse einer

    Netzwerkkarte zuordnen, sollte diese Adresseauch dem Virtual Interface-Table zugewiesenwerden. Diese Auflistung findet man unter denReitern.

    Wichtig bei all dem ist, dass man sich des Unter-schieds zwischen externen und internen Schnitt-

    stellen bewusst ist. Grundstzlich sollte man al-le Netzwerkschnittstellen als extern markieren,sobald sie direkt mit dem Router verbunden sind,der den Zugang zum Internet herstellt. Und um-gekehrt sollte man all die Netzwerkschnittstellenals intern markieren, die eine Verbindung mitdem lokalen Netzwerk herstellen. Hlt man dieseEinstellungen bei der Konfiguration der Dienstedurch, erlaubt man Zentyal die Anwendung strik-ter Sicherheitsmanahmen: Eingehender Netz-werkwerkverkehr ber eine externe Netzwerk-schnittstelle wird nun als unsicher eingeschtztund diesem wird nicht der Zugriff auf das lokaleNetzwerk und auf Zentyals Dienste gewhrt.

    Weiter geht es mit der Konfiguration des Name-servers, den Zentyal benutzen wird. Um das zutun, navigiert man als erstes zum Eintrag Netz-werkDNS. Wie schon whrend der Konfigura-tion der Netzwerkschnittstellen hat Zentyal auchhier eine der zuvor bei der Installation verge-benen Werte bereits zugeordnet. Fr den Falldas man eine statische Route vergeben mchte,kann man sie im Bereich NetzwerkStatischeRouten hinzufgen.

    Im nchsten Schritt mchte man vielleicht denRouter konfigurieren, der dem System den Zu-gang zum Internet gewhrt. Um das zu erreichen,bewegt man sich zu NetzwerkGateways hier findet man wieder die whrend der Installa-tion importierten Werte. Wie man sehen kann, istes mglich, mehr als einen Router an dieser Stel-le zu konfigurieren. Diese Option steht in engerVerbindung zu einem anderen, mchtigen Fea-

    freiesMagazin GNU FDL Ausgabe 11/2010 21

  • NETZWERK

    ture von Zentyal : die Untersttzung des Traffic-Balancing von ausgehendem Netzwerkverkehr.Folglich bedeutet dies, dass man den Netzwerk-verkehr zwischen den verschiedenen Routernausbalancieren kann, was die Verlsslichkeit undAusfallsicherheit des Netzwerks steigert. Fgtman hier einen weiteren Router hinzu, sollte mandie IP-Adresse und die Netzwerkschnittstelle, dieden Zugang zum Router gewhrt, gleich mit an-geben. Der Parameter Gewichtung, einstellbarber die gleichnamige Schaltflche, ist nur dannsinnvoll, wenn man das eben erwhnte Traffic-Balancing zwischen mehreren Routern plant. Derjeweilige Wert vermittelt dem System, wie vieleNetzwerkpakete durch den jeweiligen Router inRelation zum anderen Router gesendet werden.

    Wie schon gesagt, muss man, um einen Nut-zen aus dem Traffic-Balancing ziehen zu kn-nen, mehr als einen Router zum Einsatz brin-gen. Zustzlich muss die Funktion auch unterNetzwerkNetzverkehr verteilen aktiviert wer-den. Ein weiterer wichtiger Aspekt dieser Funk-tion besteht in der Mglichkeit, eine bestimmteArt des Netzverkehrs auf ein bestimmtes Gate-way zu routen zum Beispiel kann man eine derbeiden Verbindungen exklusiv fr VoIP-Verkehrreservieren. Die Multigateway Regeln helfen da-bei, den Verkehr sowohl wie blich ber Quell-und Zieladresse als auch ber Quell- und Ziel-port zu steuern.

    Eine der wichtigsten Neuigkeiten in Zentyal 2.0besteht in der Option, einen Server zu betreiben und zwar im transparenten Bridge-Modus zwi-

    schen Zugang zum Internet gewhrenden Routerund lokalem Netzwerk. Auf die Art ist es nicht not-wendig die Adressen auf Seiten der Clients oderdes Servers neu zu setzen bzw. zu verndern.

    Konfiguration der FirewallIm Bereich FirewallPaketfilter findet mansechs Sektionen, um die Firewall zu konfigu-rieren. Um eine bestimmte Regel hinzuzufgen,sollte man die Quell- und die Ziel-IP-Adresse so-wie auch das betreffende Protokoll kennen. Hatman erst einmal diese Informationen, kann manim nchsten Schritt die Konfiguration in einer dersechs Sektionen beginnen.

    Filterregeln der Firewall.

    Innerhalb von FirewallFilterregeln fr das in-terne Netzwerk zu Zentyal hat man die Mglich-keit, Regeln fr die Rechner im internen Netz-werk festzulegen, die den Zugriff auf die Dien-ste des Zentyal-Servers verbieten oder erlauben.In der Grundeinstellung wird dabei das interneNetzwerk als sicher bewertet und so erlaubt Zen-tyal den Zugriff auf die auf dem Server konfigu-

    rierten Dienste. Wenn man nun, das nur als Bei-spiel, den Zugriff per SSH auf einen bestimm-ten Rechner im internen Netzwerk nicht erlau-ben will, fgt man eine neue Regel mit der Quell-IP-Adresse hinzu, der man den Zugriff verbietenmchte, whlt danach als Dienst ssh aus undklickt auf Verbieten.

    Im Bereich FirewallFilterregeln fr das inter-ne Netzwerk fgt man Regeln hinzu, die festle-gen, ob die Rechner des internen Netzwerkesauf das Internet zugreifen drfen und ob die-se den Zugang zu verschiedenen internen Netz-werken haben. Im Ausgangszustand nach der

    Installation besitzen die in-ternen Rechner den Zu-griff auf das Internet, aberes ist natrlich mglich,restriktive Regeln anzu-wenden, die beispielswei-se nur bestimmte Artenvon Netzwerkverkehr er-lauben.

    Die nchsten beiden Sek-tionen sind FirewallFilteregeln vom externen

    Netzwerk zu Zentyal und FirewallFilterre-geln vom externen Netzwerk auf das interneNetzwerk . Wie man sehen kann, sind diese Sek-tionen mit Warnhinweisen versehen, um deutlichzu machen, dass falsche Regeleinstellungen inbeiden Sektionen die Sicherheit des Systemsbeeintrchtigen knnen. Die meisten Nutzer wer-den in den genannten Sektionen selten oder nie

    freiesMagazin GNU FDL Ausgabe 11/2010 22

  • NETZWERK

    Einstellungen vornehmen falls das aber malnotwendig wird, sollte man wissen, was man tut.

    In der letzten Sektion, die vor allem fr er-fahrene Benutzer gedacht ist, wird einem er-mglicht zu sehen, welche Regeln von denverschiedenen Zentyal-Diensten automatischhinzugefgt werden. Hier ist auch der Be-reich, um diese Regeln auszuschalten undum andere, speziellere Regeln einzustellen.Dazu fgt man die neuen IP-Tables-Regelnber einen Editor der Wahl in die Datei/etc/ebox/hooks/firewall.postserviceein.

    Verwaltung von Benutzern undGruppenEs ist zwingend erforderlich, dass ein in Orga-nisationen und KMUs eingesetzter Server dieOption mitbringt, Benutzer und Gruppen in effi-zienter Weise zu verwalten so knnte es not-wendig sein, den Zugriff auf bestimmte Ressour-cen einzuschrnken oder bestimmten Gruppenbesondere Rechte zu gewhren oder zu entzie-hen. Zentyal benutzt hierzu einen LDAP-Server,der die dazu notwendigen Informationen zu denGruppen und Nutzern speichert. Dies erlaubt ei-ne zentrale Handhabung der Gruppen und Nut-zer im Netzwerk durch eine einzige Datenbank.

    Einer der Vorteile in der Nutzung von LDAP-Servern besteht in der Option, um denselbenVerzeichnisdienst herum eine Reihe von Diens-ten anordnen zu knnen, die eine Authentifizie-rung verlangen. Zu den Zentyal-Modulen, die

    LDAP nutzen, gehren der Datei-Server, Mail, In-stant Messaging, die Verwaltung von Kalendern,Adressbchern etc.

    Einen neuen Benutzer hinzufgen.

    Um einen Benutzer zu erzeugen, navigiert manim Dashboard zu Benutzer und GruppenBe-nutzer . In diesem Feld kann man die grund-legenden Informationen eines neuen Benutzerseingeben: Name, Nachname, ein optionaler Kom-mentar, das dem Benutzer zugehrige Passwortetc. Nachdem man den Benutzer hinzugefgt hat,wird einen Zentyal auf einen neuen Bildschirmfhren. Hier kann man die eben angebrachtenEinstellungen ndern: Im oberen Bereich bietet

    Zentyal die Mglichkeit, die grundlegenden Infor-mationen zum Benutzer zu ndern. Direkt dar-unter findet man verschiedene Optionen das

    hngt jeweils von den in-stallierten Modulen ab.Hier ist auch der Punkt, andem man weitere Benut-zerdaten einstellen kann,die fr alle Dienste rele-vant sind, die auf LDAPzur Benutzerverwaltung(Identity Management) zu-rckgreifen. Auf hnlicheWeise lassen sich auchdie Gruppen im BereichBenutzer und GruppenGruppen verwalten.

    Sollte man verschiedeneZentyal-Installationen mitverschiedenen Dienstenbenutzen, ist es ebensomglich, die Benutzer undGruppen zentral von ei-nem Ort aus zu verwal-

    ten das erreicht man ber die Master/Slave-Replication-Architektur von LDAP-Modulen.Und schlielich bietet sich auch die Option an,Zentyal so umzugestalten, dass es als Slaveeines Windows-Servers dient, der einen Active-Directory-Dienst anbietet. Letztere Option ist in-teressant fr alle Organisationen, die eine Migra-tion einiger ihrer Dienste auf eine Open-Source-Plattform planen, aber die Benutzerverwaltung in-nerhalb eines Windows-Servers belassen mch-

    freiesMagazin GNU FDL Ausgabe 11/2010 23

  • NETZWERK

    ten oder einfach nur den Weg fr eine sptereMigration heute schon ebnen wollen.

    Konfiguration des HTTP-ProxysDer Proxy-Service innerhalb von Zentyal basiertauf zwei verschiedenen, aber gut integriertenWerkzeugen. Das erste Werkzeug ist Squid [16],das als Cache agiert, um zu verhindern, daseine Webseite mit vielen Bildern mehr als ein-mal heruntergeladen wird sinnvoll fr den Fall,dass mehrere Nutzer auf die gleiche Websei-te zugreifen. Das zweite Werkzeug kommt mitDansguardian [17] einem Inhaltsfilter, der esermglicht, die Grenze des Erlaubten von sehrfreizgig bis strikt anzupassen. Auerdem wirddadurch ermglicht, systematisch kategorisier-te URL-Listen hinzuzufgen, sodass bestimmteWebseiten blockiert (oder zugelassen) werdenknnen, die eben zu einer Gruppe gehren.

    Die vielleicht interessanteste Option des Proxysbesteht aber in der Mglichkeit, ihn in einer trans-parenten Weise zu verwenden. Damit erreichtman zwei Ziele: Man spart sich die Arbeit, einzel-ne Client-Rechner zu konfigurieren und gleichzei-tig verhindert man das Surfen ohne weitere Re-striktionen. Um dies einzustellen, navigiert manauf der linken Seite im Dashboard zu HTTP-ProxyAllgemein, hier muss einfach der Ha-ken im Kstchen Tranparenter Proxy gesetztwerden.

    Domain-Controller und FilesharingEine der Hauptaufgaben eines Windows-Serversbesteht hufig in seiner Rolle als Primary Do-

    main Controller [18], davon berhrt sind auchdie Dateifreigaben. Zentyals Samba-Integrationerlaubt es dem Nutzer, beides auf einfacheArt zu handhaben. Windows-Clienten knnensich im Netzwerk gegen den Zentyal-Serverin der gleichen Weise authentifizieren, wie siees in einer reinen Windows-Netzumgebung tun

    Die allgemeinen Einstellungen zu Dateifreigaben.

    wrden. Zustzlich sind weitere Features mg-lich: Passwort-Richtlinien, minimale Lnge, Ab-laufdatum oder Historie diese Features mssenaber hinzugefgt werden.

    Die allgemeinen Einstellungen hierzu findet manwiederum auf der linken Seite im Dashboard un-ter DateifreigabeAllgemeine Einstellungen.An dieser Stelle kann entschieden werden, obman den Primry Domain Controller abschaltenmchte; im Ausgangszustand nach der Instal-

    lation ist er angeschaltet. Hier muss man na-trlich den Namen der jeweiligen Domne oderArbeitsgruppe sowie den Netbios-Namen ken-nen, mit dem der Rechner im Windows-Netzwerkidentifiziert wird. Schlielich gibt es noch dieOption, serverseitig gespeicherten Benutzerpro-file zu aktivieren. Dazu setzt man einfach den

    Haken bei Servergespei-cherte Benutzterprofileaktivieren. Dieser Mo-dus wird aber nur be-nutzt, wenn der Hakenbei PDC aktivieren ge-setzt ist, was Nutzern mitWindows-Rechnern dannerlaubt, sich von jedemRechner in der gleichenDomne einzuloggen dabei werden ihre Be-nutzerprofile, Dokumen-te, Browsereinstellungenetc. gespeichert.

    Nachdem man nun dieallgemeinen Einstellungen fr die Dateifreigabenerstellt hat, besteht der nchste Schritt darin,dies auf die einzelnen Gruppen und Benutzeranzuwenden. Dazu kann man fr jeden Nutzerauswhlen, ob dieser ein aktives Konto auf demDateiserver erhalten soll. Aktiv bedeutet, dassder jeweilige Nutzer mindestens ein privates Ver-zeichnis besitzt, in dem seine Dateien gespei-chert sind. Weiterhin kann man festlegen, ob einBenutzer Administratorrechte besitzt, sodass ihmerlaubt wird, Rechner der Domain hinzuzufgen.

    freiesMagazin GNU FDL Ausgabe 11/2010 24

  • NETZWERK

    Um bestimmte Ressourcen unter verschiedenenBenutzern im Netzwerk zu teilen, bietet Zentyalzwei Mglichkeiten. Die einfachste Option be-steht darin, zu Benutzer und GruppenGrup-pen zu navigieren. Dort whlt man die Grup-pe aus, deren Mitglieder Zugriff auf eine Datei-freigabe haben sollen. Nachdem man hier ge-gebenenfalls noch Nutzer zur Gruppe hinzuge-fgt hat, kann man die Dateifreigabe unter Frei-gegebener Ordner fr diese Gruppe auswh-len danach haben alle Mitglieder der Grup-pe Lese- und Schreibzugriff auf diesen Ordner.Will man die Rechteverwaltung zu dieser Freiga-be etwas feiner gestalten, sollte man die Freiga-be unter DateifreigabeFreigabe konfigurie-ren. Hier hat man die Option, eine beliebige An-zahl von Verzeichnissen anzulegen und diesenauch verschiedene Benutzer und Gruppen zuzu-ordnen immer mit den folgenden Rechten: Nurlesen, lesen und schreiben oder Administra-tor . Natrlich sollte man vorsichtig und bedachtsein, welchen Nutzern man Administratorrechtevergibt, immer wissend, dass ein Nutzer mit Ad-ministratorrechten jede Datei innerhalb der Frei-gabe lesen und auch lschen kann.

    FazitIn den letzten Jahren ist die Evolution des Linux-Desktops so vorangeschritten, dass fr die Allge-meinheit nutzbar wurde, was zuvor nur dem er-fahrenen Nutzer vorbehalten blieb. Diese Einstel-lung wendet Zentyal auf die Serverwelt an. FrNetzwerkadministratoren, die es gewhnt sind,

    mit einer graphischen Benutzeroberflche auf ei-nem Windows-Server zu arbeiten, liegt die Ein-trittsschwelle zu einem Linux-Server bedeutendniedriger. Man wird nicht mehr damit konfrontiert,alle Arbeiten auf einer Kommandozeile auszufh-ren. Und obwohl es auf den ersten Blick so aus-sieht, als wrden erfahrenere Benutzer eher ab-geneigt sein, eine grafische Benutzeroberflchezu benutzen, so knnen sie diese auch als Werk-zeug begreifen, das Zeit spart und menschlicheFehler reduziert.

    Die von Zentyal angebotene Funktionalitt istziemlich vollstndig, jedenfalls was die Bereit-stellung von Netzwerkdiensten angeht, die vomWindows Small Business Server eingefhrt wor-den sind. Darber hinaus stellt die Tatsache,dass das Zentyal-Server-Projekt von einem Un-ternehmen untersttzt wird, dessen Aufgaben-feld die Bereitstellung von Cloud-Diensten undtechnischem Support ist, eine wichtige Optiondar gerade mit Blick auf den Wechsel vonWindows hin zu einer Open-Source-Lsung imKMU-Umfeld.

    LINKS

    [1] http://www.zentyal.com/[2] http://de.wikipedia.org/wiki/Kleine_und_mittlere_

    Unternehmen[3] http://de.wikipedia.org/wiki/Qos[4] http://de.wikipedia.org/wiki/Unified_Threat_

    Management[5] http://de.wikipedia.org/wiki/Zertifizierungsstelle

    [6] http://de.wikipedia.org/wiki/Voip[7] http://de.wikipedia.org/wiki/Telefonanlage[8] http://www.elektronik-kompendium.de/sites/kom/

    1102011.htm[9] http://www.zentyal.com/en/products/

    [10] http://de.wikipedia.org/wiki/Logical_Volume_Manager

    [11] http://de.wikipedia.org/wiki/RAID#Software-RAID[12] http://de.wikipedia.org/wiki/Unified_Threat_

    Management[13] http://de.wikipedia.org/wiki/Intrusion_Detection_

    System[14] http://de.wikipedia.org/wiki/VLAN[15] http://de.wikipedia.org/wiki/IEEE_802.1q[16] http://www.squid-cache.org/[17] http://dansguardian.org/[18] http://en.wikipedia.org/wiki/Primary_Domain_

    Controller

    Autoreninformation

    Jos Antonio Calvo ist der Pro-duktmanager fr Zentyal Server undarbeitet bereits seit einigen Jahrenan Zentyal und der VergngerversioneBox. Seine ersten Berhrungspunktemit Linux und Freie Software warenvor zwlf Jahren.

    Diesen Artikel kommentieren

    freiesMagazin GNU FDL Ausgabe 11/2010 25

  • SPIELE

    Frogatto Ein Retroheld im Froschgewand von Michael Schwarz

    K omplex gerenderte Grafiken, hohe Auf-lsungen, rasante Verfolgungsjagdenund einen Inhalt, der dem Spieler dasMaximum an Konzentration abverlangt undihm die Nerven zerfetzt das sind die Inhal-te, die man vom wenig aussagekrftigen TitelFrogatto [1] keinesfalls zu erwarten hat. DasSpiel hat aber durchaus andere erwhnens-werte Eigenschaften und einen besonderen,eigenen Charme. Beides sorgt letztendlich da-fr, dass das Spiel nher unter die Lupe ge-nommen werden sollte, um sich kein bereil-tes Fehlurteil zu erlauben.

    VorwortPersonen, die zwischen 1980 und 1995 geborensind, knnten bei folgender kleiner Geschichte inNostalgie verfallen und an lngst Vergangeneszurckdenken.

    Es war zwischen 1990 und 1992, als SuperNintendo (SNES) [2] und Sega Mega Drive [3]den Marktstart in Europa erlebten. Sie boten far-benfrohe Spiele und machten einen gelungenenEindruck. Viele Kaufhuser stellten die Gerteaus und lieen Kinder probespielen. Viele Erzie-hungsberechtigte gaben daraufhin dem steigen-den Quengeln des Nachwuchses nach und zumnchsten Geburtstag oder zu Weihnachten gabes einen groen, mit Geschenkpapier verpack-ten Spielekonsolenkarton inklusive Inhalt. Die da-zugehrigen Spiele verkauften sich gut und teil-weise verstaubten Fuball und Skateboard in der

    Ecke, whrend der Spielcontroller mancherortserste Verschleierscheinungen zeigte.

    Im Anschluss eroberten Sega Saturn [4], Play-Station [5] und Nintendo 64 [6] den Markt. Allediese Konsolen boten noch bessere Grafik und

    New Game oder Load Game whlt man, indem man den Froschdorthin bewegt.

    erstmals die Umsetzung von Spielen in 3-D.Der Erfolg war fr alle beteiligten Firmen ge-geben, und auch wenn grafische Umsetzungund Inhalte der Spiele immer besser wurden,

    gab es aus vielen Richtungen Stimmen, diesagten, dass das beste dreidimensionale Spielnie den Charme eines Super Mario World [7]oder Sonic the Hedgehog [8] besitzen wr-de. Diese Minderheit an Personen bekam

    bald Spitznamen wieNostalgiker oder aber inNeudeutsch Retro-Fans.

    Wer das Lesen des bis-herigen Textes mit der ei-genen Vergangenheit inVerbindung bringt, drf-te sich ber die nunfolgende Spielvorstellungeines 2-D-Jump-n-Runsfreuen. Es ist ganz im Stilder alten Schule, also hn-lich diverser Spiele zu Zei-ten der eben genanntenSpielkonsolen.

    Kurzes Quiz vorab: Wasist klein, grn und fngtseine Gegner mit derZunge? Yoshi? Falsch,Frogatto!

    Eine kurze EinleitungFrogatto, Hauptcharakter und Namensgeberdes Spiels, ist ein arbeitsloser Frosch, dessenTag im Spiel damit beginnt, dass er sich auf

    freiesMagazin GNU FDL Ausgabe 11/2010 26

  • SPIELE

    Manchmal zieht es den kleinen Frosch in luftige Hhen.

    Auch im Wasser fhlt Frogatto sich heimisch.

    Arbeitssuche begibt. Unverhofft kommtoft: Nach einigen Metern und demTutorial fr den Spieler wird schnellklar, dass aus der Arbeitssuche dieMission zur Rettung Aller vor dem b-sen Milgram wird. Neben ungefhr-lichen Fhigkeiten wie Quaken undRlpsen beherrscht Frogatto auch denUmgang mit seiner Froschzunge vor-zglich, was ihn kleinere gegnerischeKreaturen aufnehmen und gegen gr-ere gegnerische Kreaturen schmei-en lsst. Auch kann ein Schlsselzum ffnen von Tren gemtlich im In-neren von Frogatto von A nach B ge-tragen werden. Voraussetzung hierbeiist, sich nicht vom Gegner treffen zulassen. Eine Schockreaktion auf Ver-letzungen ist nmlich das Ausspuckendes derzeit getragenen Gegenstands.

    InstallationDie Beschaffung einer fr die Bedrf-nisse passenden Version steht hieran erster Stelle. Die Entwickler bietenauf der zum Spiel gehrigen Home-page [1] verschiedenste Mglichkei-ten an. Derzeit befinden sich dort dieQuelldateien fr Linux allgemein, Pa-kete fr Debian Sid und Squeeze so-wie Dateien fr Windows, MacOS undiPhone. Letztere Variante wird nichtkostenlos vertrieben, sondern kom-merziell vermarktet.

    Auerdem wird auf der Downloadseite [9] einLink zu einem Forenbeitrag [10] angepriesen,der sich mit den Installationspaketen fr Ubuntubefasst. Ebenfalls auf genannter Downloadsei-te findet man die Information, dass Frogatto,eine funktionierende Internetverbindung voraus-gesetzt, anonymisierte Daten zur Nutzung desSpiels an die Entwickler mit dem Ziel bermit-telt, das Spiel weiter verbessern zu knnen. Werdamit nicht einverstanden ist, sollte das Spielnicht oder nur mit deaktivierter Internetverbin-dung spielen.

    Die Installationsanleitung befasst sich aus-schlielich mit den zur Verfgung gestelltenQuelldateien, um auf mglichst vielen Distributio-nen Verwendung zu finden.

    Nachdem das circa 100 MB groe tar.bz2-Archivheruntergeladen wurde, wird dieses an einer be-liebigen Stelle entpackt. ber die Konsole lsstsich dies durch das Ausfhren von

    $ tar xfvj frogatto -1.*.*.tar.bz2

    bewerkstelligen, nachdem man zuvor zu demOrdner, in welchem sich das Archiv befindet, na-vigiert ist. Anschlieend wechselt man in das Ver-zeichnis frogatto-1.*.*, welches soeben er-zeugt wurde, und gibt

    $ make

    ein. Dieser Befehl sollte eine ausfhrbare Dateigame erstellen, ber die sich das Spiel zuknftigstarten lsst.

    freiesMagazin GNU FDL Ausgabe 11/2010 27

  • SPIELE

    Sollte es beim Ausfhren von make zu Fehlernkommen, ist es angebracht zu prfen, ob alleAbhngigkeiten an das System erfllt werden.Diese sind in der im Archiv mitgelieferten DateiINSTALL aufgelistet und mssen sowohl in dergenerellen wie auch in der Entwicklungsversion(-dev) auf dem System installiert sein, damit dasAusfhren der Datei make nicht scheitert.

    Im Einzelnen handelt es sich hierbeium die Bibliotheken boost_iostream,boost_regex, boost_asio, boost_system,libsdl, libsdl-image, libsdl-mixer, libsdl-ttf, gl,glu, glew, ccache, g++ und libz.

    Mit Frogatto spazieren gehenDie zu kennenden Tasten fr das Spiel sind we-nige, mssen aber fr manche Bewegung gutbeherrscht werden. In der Standardeinstellungbewegen die Pfeiltasten Frogatto in die jeweili-ge Richtung. Mit der Taste duckt sich derHeld, whrend er mit der Taste Tren ffnetoder Personen anspricht. Mit der A -Taste wirdgesprungen, mit der S -Taste angegriffen. An-fangs ist unter Angriff noch ein vorsichtiger Zun-genschlag zu verstehen. Spter bieten sich demSpieler noch andere Mglichkeiten Jagd auf Geg-ner zu machen.

    Bewegt man eine der Pfeiltasten zweimal schnellhintereinander nach links oder rechts, beginntFrogatto einen Sprint in die jeweilige Richtung.Drckt man whrend dieses Sprints noch dieS -Taste fr Angriff, schlittert Frogatto eine kur-ze Strecke gut, um Gegner aus dem Weg zu

    schleudern. Ist Frogatto geduckt ( ) und manbettigt eine der beiden Richtungstasten, rollter sich in die entsprechende Richtung. Befin-det man sich nach einem Sprung ( A -Taste) inder Luft und drckt whrenddessen die -Taste,vollfhrt der kleine Frosch einen Kreiselsprung,mit dem Gegner auer Gefecht gesetzt undSteine zerstrt werden knnen. Das Logischezum Schluss: Rennt Frogatto (zweimal eine Rich-tungstaste schnell hintereinander) und springtwhrenddessen, kann er mit diesem Sprung wei-te Abgrnde berwinden.

    Ein Gegner wartet in Frogattos Magen darauf, ausgespuckt zu werden.Bis dahin erscheint der Frosch etwas bersttigt.

    Diese und weitere Fhigkeiten (z. B. an Wndenfesthalten, der korrekte Umgang mit Gegnern)wird in dem im Spiel integrierten Tutorial erlutert.In einer Spielwelt sind mehrere rote Fragezei-chen zu finden. Steht man vor einem dieser Fra-gezeichen und bettigt die Taste , bekommtman diese hilfreiche Informationen.

    Zwei ntzliche Tastenkombinationen zum Ab-schluss dieses Abschnitts noch: Strg + E ff-net aus dem Spiel heraus den Leveleditor, mitdem Welten verndert werden knnen. Strg + F

    schaltet vom Fenstermo-dus in den Vollbildmodusum. Dieser ist zu empfeh-len wenn der Monitor aufeine sehr hohe Auflsungeingestellt ist, das Frogat-to-Fenster also sehr kleinwirkt.

    ErwhnenswerteSpielinhalteZugegeben, sieht manFrogatto das erste Mal,erwischt man sich gege-benenfalls selbst dabei,wie man behauptet, dassdas alles schon mal da ge-wesen ist. Ein grnes Tier,das Gegner mit der Zun-ge schluckt, ein Held, derein Dorf vor dem Bsenretten muss, oder auch

    freiesMagazin GNU FDL Ausgabe 11/2010 28

  • SPIELE

    wildes den Gegnern auf dem Kopf Rumgehop-se. Dieser Abschnitt soll aber nicht verurteilensondern viel eher hervorheben, worin sich Fro-gatto von anderen klassischen Jump n Runsunterscheidet.

    Vor einem Endgegnerkampf wird noch schnelldie Konversation mit diesem gesucht.

    Zuallererst hat der froschige Hauptcharakter eineLebensanzeige, ist also nicht nach jedem Trefferauer Gefecht gesetzt. Diese Lebensanzeige inForm von Herzen kann durch das Finden weite-rer Herzteile erweitert werden, sodass es sptereinige Zeit dauert bis es den Frosch aus seinenLatschen haut.

    Es wurde ein finanzieller Faktor in das Spiel in-tegriert. Der anfnglich stereotype Frosch kanngegen Bares spter seine Fhigkeiten aufwerten.Eine Zungenverlngerung oder die Mglichkeit,nach dem Aufsammeln eines Kraftkristalls Ener-

    gieblle zu schieen, gehren mit zu den nettes-ten Erweiterungen. Um den froscheigenen Kon-tostand zu fllen, gilt es Mnzen einzusammeln,die berall herumliegen und gefunden werdenmchten.

    Kein nervender Spiel vorbei-Bildschirm, kein Zit-tern um Mglichkeiten, das Spiel fortzusetzen,kein Sammeln von 100 Gummipunkten, um einLeben zustzlich zu erhalten: Wenn Frogatto um-kippt, startet er direkt erneut, um nochmal seinGlck zu versuchen. Wer irgendwann doch keineLust mehr hat, sucht eines der vielen Klohus-chen in den Welten und betritt dieses. Eine Fragezum Speichern des Spiels folgt.

    Gespeichert wird in einem der wild verteiltenKlohuschen.

    Das Spiel bietet an manchen Stellen Aufgaben,um Geld oder Belohnungen zu erhalten, be-wegt sich somit fast schon in die Richtung ei-

    nes 2-D-Rollenspiels. In diesem Zusammenhangsind die Teleporter an den verschiedenen Eckender Spielwelt zu erwhnen. Man kann Frogattodurchspielen, indem man einfach durch jeden Le-vel durchrennt. Das lsst jede Individualitt desSpiels verloren ge