58
freies Magazin Januar 2012 Topthemen dieser Ausgabe ReactOS Seite 4 Das Ziel von ReactOS soll sein, dass Programme und Treiber, die für Windows NT und dessen Nachfolger entwickelt wurden, auch unter ReactOS verwendbar sind. Das freie Betriebssystem ist in großen Teilen unter der GNU GPL lizenziert. Einige Bestandteile stehen hingegen un- ter BSD- und LGPL-Lizenz. Das Projekt selbst betitelt ReactOS nicht als Windows-Nachbau, sondern als ein zu Windows binärkompatibles Betriebssystem. (weiterlesen) Selbstgebacken: Kernel kompilieren nach Rezept Seite 17 Moderne Linux-Distributionen bringen alles mit: Vom Systemkern über die Anwendungen bis hin zu den bunten Rüschen der graphischen Oberfläche. Für viele Nutzer gehört das Anpassen des Desktops zur Pflicht, das manuelle Installieren von Programmen – meist in einer aktuelleren Version – ist dann die Kür. Den Kernel jedoch lassen viele in Ruhe und vertrauen hier lieber auf die Aktualisierungen des Distributors. (weiterlesen) Kurzreview: Humble Indie Bundle 4 Seite 37 Das Humble Indie Bundle hat schon eine gewisse Tradition, so wurde die erste Version bereits im Mai 2010 veröffentlicht. Teil des Bundles sind Spiele, die von verschiedenen Independent- Studios entwickelt wurden und auf allen großen Plattformen Linux, Mac OS X und Windows laufen. Mitte Dezember 2011 wurde die vierte Version veröffentlicht, auf deren Inhalt in dem Artikel ein kleiner Blick geworfen werden soll. (weiterlesen) © freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 ISSN 1867-7991

Topthemen dieser Ausgabe - freiesMagazin | Magazin rund …freiesmagazin.de/ftp/2012/freiesMagazin-2012-01.pdf · wurden auch unsere Logos und Icons auf der Extras-Seite[2]aktualisiert

  • Upload
    ngongoc

  • View
    226

  • Download
    8

Embed Size (px)

Citation preview

  • freiesMagazin Januar 2012

    Topthemen dieser Ausgabe

    ReactOS Seite 4Das Ziel von ReactOS soll sein, dass Programme und Treiber, die fr Windows NT und dessenNachfolger entwickelt wurden, auch unter ReactOS verwendbar sind. Das freie Betriebssystemist in groen Teilen unter der GNU GPL lizenziert. Einige Bestandteile stehen hingegen un-ter BSD- und LGPL-Lizenz. Das Projekt selbst betitelt ReactOS nicht als Windows-Nachbau,sondern als ein zu Windows binrkompatibles Betriebssystem. (weiterlesen)

    Selbstgebacken: Kernel kompilieren nach Rezept Seite 17Moderne Linux-Distributionen bringen alles mit: Vom Systemkern ber die Anwendungen bis hin zu denbunten Rschen der graphischen Oberflche. Fr viele Nutzer gehrt das Anpassen des Desktops zur Pflicht,das manuelle Installieren von Programmen meist in einer aktuelleren Version ist dann die Kr. Den Kerneljedoch lassen viele in Ruhe und vertrauen hier lieber auf die Aktualisierungen des Distributors. (weiterlesen)

    Kurzreview: Humble Indie Bundle 4 Seite 37Das Humble Indie Bundle hat schon eine gewisse Tradition, so wurde die erste Version bereitsim Mai 2010 verffentlicht. Teil des Bundles sind Spiele, die von verschiedenen Independent-Studios entwickelt wurden und auf allen groen Plattformen Linux, Mac OS X und Windowslaufen. Mitte Dezember 2011 wurde die vierte Version verffentlicht, auf deren Inhalt in demArtikel ein kleiner Blick geworfen werden soll. (weiterlesen)

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 ISSN 1867-7991

    http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • MAGAZIN

    Editorial

    Vierter ProgrammierwettbewerbWie auf der freiesMagazin-Webseite bereits Mit-te Dezember zu lesen war [1], wurde der Wett-bewerb erfolgreich beendet und 26 Teilnehmerkmpften um die vorderen drei Rnge. Im ArtikelGewinner des vierten Programmierwettbewerbsauf Seite 50 findet man eine ausfhrliche Vorstel-lung der teilnehmenden Bots.

    Wir mchten uns an dieser Stelle noch einmalbei allen Teilnehmern bedanken und freuen unsbereits auf den nchsten Wettbewerb. Wenn dieTeilnahmequote immer so hoch liegt, sollte einProgrammierwettbewerb auch in Zukunft keinProblem sein.

    LogonderungenEher subtil kommt eine nderung amfreiesMagazin-Logo daher. Arne Weinberg hatuns einen neuen Entwurf zugesandt, den wirgerne angenommen haben. So befindet sich derSchatten des Icons nun nicht mehr dahinter, son-dern als Verlauf im Icon selbst. Entsprechendwurden auch unsere Logos und Icons auf derExtras-Seite [2] aktualisiert.

    Als zustzliche nderung stehen die neu-en Logos nun wie der gesamte Inhalt vonfreiesMagazin unter der Lizenz Creative Com-mons Namensnennung-Weitergabe unter glei-chen Bedingungen 3.0 Unported [3] und nichtmehr unter der GNU FDL, wie dies bisher der Fallwar. Die Vereinheitlichung macht die Benutzung

    und Weitergabe des Magazins fr Sie, aber auchfr uns etwas einfacher.

    JahresrckblickEinen kleinen Jahresrckblick soll es auch wie-der geben. Insgesamt wurden in den zwlf Mona-ten 114 Artikel geschrieben, die sich auf 40 frei-willige Autoren aufteilen. Im Schnitt gab es also10 Artikel pro Ausgabe. Seitentechnisch spiegel-te sich das so wieder, dass eine freiesMagazin-Ausgabe pro Schnitt 50 Seiten umfasst und dasMonat fr Monat.

    Die Downloadzahlen des Magazins in 2011schwankten wie immer recht stark. Fr eine neuefreiesMagazin-Ausgabe gab es durchschnittlich8456 PDF-Downloads im Monat der Verffentli-chung. Der schlechteste Monat war dabei derMrz 2011 mit nur 7067 PDF-Downloads, wo-hingegen der Juni 2011 mit 10793 den Hchst-wert des Jahres erzielte. Bei der HTML-Versionschwankten die Zahlen etwas weniger und la-gen immer um die 3000 Klicks, wobei man zumJahresende sogar eine kleine Steigerung sehenkonnte.

    Es sei angemerkt, dass die Zahlen nicht exaktsein mssen und man daraus auch nicht ableitenkann, wie viele Leser freiesMagazin wirklich hat,denn die Weitergabe als PDF oder als Ausdruckist ohne Probleme mglich (und sogar gewollt).Daneben wird die HTML-Version sicher auch voneiner Person manchmal mehrfach aufgerufen.

    Inhalt

    Linux allgemeinReactOS S. 4Fedora 16 S. 10

    AnleitungenKernel kompilieren nach Rezept S. 17OpenShift Entwickeln in der Cloud S. 21Perl-Tutorium Teil 5: Subroutinen, Na-mensrume und Geltungsbereiche

    S. 25

    PHP-Programmierung Teil 4: MySQLund PHP

    S. 33

    SoftwareKurzreview: Humble Indie Bundle 4 S. 37Theme Hospital & CorsixTH S. 41

    CommunityRezension: JavaScript Visual QuickstartGuide (8th Edition)

    S. 46

    Rezension: X-Plane kompakt S. 48

    MagazinEditorial S. 2Gewinner des vierten Programmierwettbe-werbs

    S. 50

    Leserbriefe S. 56Veranstaltungen S. 57Vorschau S. 57Konventionen S. 57Impressum S. 58

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 2

    http://www.freiesmagazin.de/20111211-gewinner-des-vierten-programmierwettbewerbshttp://www.freiesmagazin.de/extrashttp://creativecommons.org/licenses/by-sa/3.0/deed.dehttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • MAGAZIN

    Downloads: PDF- (blau) und HTML-Version (orange).

    Echte MobilversionNachdem sehr oft der Wunsch nach einer echtenMobilversion von freiesMagazin an uns herange-tragen wurde, haben wir versucht, mit Sigil [4] einEPUB zu erstellen, was nun fleiig getestet wer-den soll. Die Umfrage vor einem Jahr [5] deutetzwar nicht unbedingt darauf hin, dass ein EPUBnotwendig ist, aber im Laufe des Jahres 2011sind Ebook-Reader und vor allem Touchpads im-mer mehr in Mode gekommen, sodass wir uns

    hier nicht ver-schlieen wol-len.

    Wir haben unsfr eine Umset-zung mit Sigilentschieden, dadie Ergebnissemit Calibre [6]im direkten Ver-gleich ziemlichschlecht waren,was Schriftbildund Seitenge-staltung anging.

    Da wir selbstaber kaum Test-mglichkeitenhaben, sind nunSie alle aufgeru-fen, das EPUBauf Ihr mobilesGert zu trans-

    portieren und zu testen. Bitte teilen Sie uns berden Kommentarlink am Ende des Artikels oderdirekt ber mit,welche Probleme Sie mit dem EPUB haben.Gegebenfalls fehlen noch irgendwelche Meta-Angaben, die Bilder wirken nicht gut oder Linksfehlen. Alles, was zur Verbesserung beitrgt, hilftuns.

    Schreiben Sie uns bitte auch, wenn mit demEPUB alles in Ordnung ist. Wir mchten natr-

    lich wissen, ob die Arbeit, die wir in das EPUBstecken, berhaupt angenommen wird. Falls sichniemand meldet, gehen wir davon aus, dass nie-mand eine Mobilversion bentigt, und wir spa-ren uns die Arbeit, die die Konvertierung mit sichbringt.

    Da wir zwei Versionen zum Download anbieten,sind wir auch an Ihrer Meinung zu den beidenVersionen interessiert. Bentigen Sie zwei Ver-sionen oder reicht Ihnen eine? Wenn ja, welche?Hierfr haben wir auf unserer Webseite eine Um-frage eingerichtet, an der Sie teilnehmen kn-nen [7]. Wir freuen uns ber jede Stimme, dennnur mir Ihrer Hilfe kann das Magazin besser wer-den.

    Und nun wnschen wir Ihnen viel Spa mit derneuen Ausgabe.

    Ihre freiesMagazin-Redaktion

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

    gewinner-des-vierten-programmierwettbewerbs[2] http://www.freiesmagazin.de/extras[3] http://creativecommons.org/licenses/by-sa/3.0/

    deed.de[4] https://code.google.com/p/sigil/[5] http://calibre-ebook.com/[6] http://www.freiesmagazin.de/20110110-umfrage-

    mobilversion-freiesmagazin[7] http://www.freiesmagazin.de/20120108-welche-

    epub-version-bevorzugen-sie

    Das Editorial kommentieren

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 3

    http://www.freiesmagazin.de/mobil/2012-01-bilder/freiesMagazin-Downloads-2011.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/freiesMagazin-Downloads-2011.pnghttps://code.google.com/p/sigil/http://www.freiesmagazin.de/20110110-umfrage-mobilversion-freiesmagazinhttp://calibre-ebook.com/http://www.freiesmagazin.de/20120108-welche-epub-version-bevorzugen-siehttp://www.freiesmagazin.de/20111211-gewinner-des-vierten-programmierwettbewerbshttp://www.freiesmagazin.de/20111211-gewinner-des-vierten-programmierwettbewerbshttp://www.freiesmagazin.de/extrashttp://creativecommons.org/licenses/by-sa/3.0/deed.dehttp://creativecommons.org/licenses/by-sa/3.0/deed.dehttps://code.google.com/p/sigil/http://calibre-ebook.com/http://www.freiesmagazin.de/20110110-umfrage-mobilversion-freiesmagazinhttp://www.freiesmagazin.de/20110110-umfrage-mobilversion-freiesmagazinhttp://www.freiesmagazin.de/20120108-welche-epub-version-bevorzugen-siehttp://www.freiesmagazin.de/20120108-welche-epub-version-bevorzugen-siehttp://www.freiesmagazin.de/comment/reply/258?edit[subject]=Editorial#comment-formhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    ReactOS von Sujeevan Vijayakumaran

    D as Ziel von ReactOS [1] soll sein,dass Programme und Treiber, die frWindows NT und dessen Nachfolgerentwickelt wurden, auch unter ReactOS ver-wendbar sind. Das freie Betriebssystem istin groen Teilen unter der GNU GPL lizen-ziert. Einige Bestandteile stehen hingegen un-ter BSD- und LGPL-Lizenz. Das Projekt selbstbetitelt ReactOS nicht als Windows-Nachbau,sondern als ein zu Windows binrkompati-bles Betriebssystem.

    AllgemeinesReactOS [2] wird anhand von ffentlichen Doku-mentationen zu Windows geschrieben. Die Ent-wickler versuchen durch diese Dokumentationenzu verstehen, wie Windows funktioniert und ar-beitet. Die gesamte Entwicklung geschieht durchReverse Engineering [3], da die Systemfunktio-nen rekonstruiert werden. Problematisch fr dieEntwicklung des Systems ist, dass viele Appli-kationen Programmierschnittstellen aufrufen, dienicht ffentlich dokumentiert sind. Es fliet keinoriginaler Windows-Code hinein, sodass React-OS vllig legal bleibt, da nur ffentliche Informa-tionen zur Entwicklung genutzt werden.

    ReactOS basiert weder auf Unix noch auf Mi-crosoft Windows. Die Kernbestandteile des Sys-tems wurden von Grund auf neu geschrieben,da nichts von anderen Projekten wie Linuxoder BSD bernommen werden konnte. Es wer-den jedoch die unabhngigen Bibliotheken des

    Die Arbeitsoberflche von ReactOS.

    Wine-Projektes [4] verwendet, da diese ohne gr-ere Probleme genutzt werden knnen.

    GeschichteDie Geschichte von ReactOS beginnt im Jahr1996. Damals wurde das Projekt unter dem Na-men FreeWin95 ins Leben gerufen. Zu Projekt-beginn wurde lange Zeit reichlich diskutiert, wieman das Projekt gestalten soll, bis es nach undnach zum Erliegen kam ohne etwas vorweisenzu knnen. Der Projektkoordinator Jason Filbyrief im Jahr 1998 in der Mailingliste das Projekt

    erneut auf. Das Projektwurde fortan unter demNamen ReactOS weiter-gefhrt, so wie es heu-te noch heit. Einige Jah-re lang wurde der Ker-nel von einem engen Ent-wicklerkreis geschrieben,sodass die Entwicklungnur ziemlich langsam vor-an ging. Nachdem derKernel stabiler wurde unddie ersten Treiber einge-flossen waren, konntendann mehr Personen indie Entwicklung einstei-gen.

    ber die Jahre entwickel-te das Team von React-OS das System weiter.

    Die aktuelle Version ist eine Alpha-Version mitder Versionsbezeichnung 0.3.13, die im Mrz2011 verffentlicht wurde.

    Download und InstallationDie Webseite von ReactOS bietet vier verschie-dene Endbenutzer-Pakete zum Herunterladenan [5]. Neben einer normalen Installations-CDgibt es noch eine Live-CD und vorinstallierte vir-tuelle Maschinen fr QEMU und VMWare. DieGre der Installations-CD betrgt knapp 63 MBund liegt als 32-Bit-Variante vor.

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 4

    http://www.reactos.org/de/http://de.wikipedia.org/wiki/Reactoshttp://de.wikipedia.org/wiki/Reverse_Engineeringhttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_desktop.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_desktop.jpghttp://www.winehq.org/http://www.reactos.org/de/download.htmlhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Partitionieren whrend der Installation.

    Die Installation von ReactOS ist sehr stark anden Installationsprozess von Windows XP an-gelehnt. Beim Start der Installation ist es zu-nchst mglich, die Sprache zu whlen, die dasSystem verwenden soll. Darunter ist auch diedeutsche Sprache. Im nchsten Schritt erschei-nen einige Warnhinweise. Da ReactOS eine fr-he Alpha-Version ist, ist auch der Installations-prozess mit einigen Einschrnkungen verbunden.So kann das Setup nur eine primre Partition aufder Festplatte verwalten, und es ist nicht mg-lich, eine primre Partition von der Festplatte zulschen. Ebenfalls kann das Setup die erste er-weiterte Partition nicht lschen, bis weitere er-weiterte Partitionen auf der Festplatte existieren.Weiterhin wird nur FAT als Dateisystem unter-sttzt. In der nchsten Stufe sind nochmals dieaktuellen Gerteeinstellungen aufgelistet, darun-ter unter anderem die Bildschirmauflsung und

    das Tastaturlayout. In der dar-auf folgenden Phase kannman die Festplatte partitionie-ren. Da fr diesen Artikel dieInstallation in einer VirtualBox-Instanz durchgefhrt wurde,wurde nur eine Partition mitder Gre von 8 GB verwen-det, welche mit dem FAT32-Dateisystem formatiert wird.

    Nach der Partitionierung mussman das Installationsverzeich-nis fr ReactOS whlen. AlsVorschlag wird hier \ReactOSaufgefhrt, das in diesem In-

    stallationsprozess auch verwendet wird. Imnchsten Schritt wird die Installation ausgefhrt,welche recht zgig vonstatten geht und innerhalbweniger Sekunden beendet ist. Danach gibt esein Auswahlmen, um den Boot-Loader auf dieFestplatte oder auf eine Diskette zu installieren.Es ist auch mglich, den Boot-Loader nicht zuinstallieren. Nach diesem Schritt ist der Installa-tionsprozess fertig und die Einrichtung des Sys-tems kann nach einem Neustart fortgefhrt wer-den.

    Nach dem Neustart luft zuerst der Setup-Assistent von ReactOS. Ab diesem Punkt ist ei-ne graphische Oberflche vorhanden. Zunchstbedankt sich ReactOS bei vielen Open-Source-Projekten, von denen teilweise Code verwendetwird. Darunter unter anderem Wine, FreeBSDund X. Auch die weiteren Schritte sind an die

    Windows-XP-Installation angelehnt. Nach der An-gabe des eigenen Namens geht es mit dem Set-zen des Computernamens und eines Administra-torpassworts weiter. Im nchsten Abschnitt kannman nochmals die regionalen Einstellungen n-dern. Darunter fllt nicht nur das Tastaturlayout,sondern auch die Darstellung von Zahlen, Wh-rungen und des Datums. Nach dem Setzen deraktuellen Uhrzeit und des Datums wird die In-stallation fertig gestellt und nach einem weiterenNeustart wird das System erstmals richtig gestar-tet.

    Der Setup-Assistent.

    Der erste StartBeim ersten Start des Systems zeigt sich nunauch der Desktop. Zunchst erscheint jedoch beidieser Systeminstallation der Aufruf zur Instal-lation der Treiber fr die Audiogerte. Die Trei-ber knnen wahlweise automatisch oder aus ei-

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 5

    http://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_installation.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_installation.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_setup-assistent.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_setup-assistent.pnghttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    nem bestimmten Verzeichnis installiert werden.Vor der Installation wird jedoch auch ausdrck-lich gewarnt, dass durch den Prozess der Rech-ner abstrzen kann oder auch das Starten desSystems dann nicht mehr ordnungsgem funk-tioniert. Die automatische Installation schlug imTest jedoch sowohl fr die Audio-Treiber als auchfr System-Device fehl.

    Whrend der Installationsprozess stark anWindows XP angelehnt ist, sieht der Desktop wie-derum nach Windows 2000 aus. Auf der Arbeits-oberflche liegen standardmig sechs Icons.Auf der Schnellstartleiste liegen zwei Icons.Mit dem einen kann man alle offenen Fenster

    Das Startmen in ReactOS.

    minimieren und den Desktop darstellen lassen.Mit dem anderen kann der ReactOS-Explorer ge-ffnet werden. Daneben gibt es Schaltflchen,um zwischen zwei Desktops zu wechseln, wieman es unter Linux kennt.

    AnwendungenDie Anzahl der vorinstallierten Anwendungen istsehr berschaubar. Neben einem Editor und ei-nem Taschenrechner sind zudem noch Nachbau-ten von Paint und Wordpad installiert. Des Wei-teren ist unter anderem ein Multimedia-Playerund ein Audio-Recorder mit dabei. Neben eini-gen wenigen weiteren Programmen sind auchdrei Spiele-Klone mit an Bord, darunter dieWindows-Spiele-Klassiker Spider Solitaire undMinesweeper unter dem Namen WineMine.

    Das System wird standardmig mit einerPaketverwaltung mit dem Namen ReactOS-Anwendungsmanager ausgeliefert, womit maneinige Programme installieren kann. Die Anzahlder Programme ist jedoch sehr bersichtlich undbesteht derzeit aus 76 Anwendungen. Die An-wendungen sind in verschiedene thematischeKategorien unterteilt. Viele Kategorien wie Video,Edutainment, Technische Anwendungen, Finan-zen und Wissenschaft sind allerdings leer. Unterden Programmen finden sich durchaus bekann-te Anwendungen, wie beispielsweise VLC MediaPlayer, LibreOffice und Firefox. Jede dieser An-wendungen liegt in einer aktuellen Version vor.

    Der Versuch, LibreOffice zu installieren, schlugfehl. Es erschien lediglich kurzzeitig ein Fenster,

    welches sehr schnell wieder verschwand. Open-Office.org in Version 3.3 lie sich zwar problem-los installieren, strzte jedoch beim Start desProgramms mit einer Fehlermeldung ab. Die In-stallation und der Betrieb des Browsers Fire-fox funktionierte hingegen problemlos. Im Anwen-dungsmanager gibt es zwar eine Sektion, in demdie bereits installierten Anwendungen aufgelis-tet werden, die probeweise installierten Program-me Firefox und OpenOffice.org wurden dort abernicht aufgelistet.

    In einem weiteren Test wurde ebenfalls ber denReactOS-Anwendungsmanager versucht, 7-Zipzu installieren. Diese Installation funktionierteund auch das Programm lie sich normal starten.Diesmal gab es sogar einen Eintrag von 7-Zip inder entsprechenden Liste des Anwendungsma-nagers. Danach wurde noch versucht, GIMP undPidgin zu installieren, wobei beide Programme di-rekt von den Projekt-Webseiten heruntergeladenwurden. Auch hier funktionierte die Installation,der Start scheiterte hingegen erneut. Bei GIMPfolgte eine Fehlermeldung, dass eine Bibliothekvon GIMP fehlt und eine Neuinstallation das Pro-blem mglicherweise beheben knnte. Die Mel-dung erschien dann noch weitere Male, sodassnur ein Neustart half, die Meldungen zu beenden.

    Die Deinstallation von Programmen luft eben-falls ber den Anwendungsmanager. Problema-tisch ist, dass dort nicht alle installierten Program-me aufgelistet werden. Ein Entfernen von GIMPoder Pidgin war daher nicht mglich. Da nur 7-Zipunter den getesteten Programmen enthalten war,

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 6

    http://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_startmenue.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_startmenue.jpghttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Der Anwendungsmanager

    konnte auch nur dieses deinstalliert werden.Beim Versuch es zu entfernen, startete React-OS pltzlich neu. Nach dem Start des Systemswaren die Meneintrge von 7-Zip entfernt, derEintrag im Anwendungsmanager war hingegennoch vorhanden.

    SystemDas System ist momentan noch ziemlich schlichtgehalten, sowohl optisch als auch vom Funktions-umfang. Es startet in einer VirtualBox-Instanz in-nerhalb von wenigen Sekunden, was jedoch da-mit zu erklren ist, dass es nicht eine annhernd

    groe Funktionalitt mit sich bringt wie Windowsoder eine aktuelle Linux-Distribution. Die Ge-schwindigkeit des Systems lsst sich auch nurrelativ ausdrcken. Momentan funktioniert dasmeiste relativ flott, was wie beim Systemstartauch mit der fehlenden Funktionalitt zusam-menhngt, die bis zu einer mglichen finalen Ver-sion noch hinzukommt. Die Auslastung des Ar-beitsspeichers ist verhltnismig gering und be-trgt bei einem frisch installierten System knapp60 MB. Es steigert sich whrend der Benutzungjedoch recht schnell auf etwa 100 MB. Auf derFestplatte werden anfangs 558 MB belegt.

    Wie bereits oben erwhnt, lsst sich ReactOSzur Zeit nur auf einer FAT32-Partition installie-ren. Der grte Nachteil, der dadurch entstehtist, dass die Gre einer Datei 4 GB nicht ber-schreiten kann. Auf der Seite ber die meist ge-stellten Fragen [6] nennt das Projekt die Grnde,warum noch kein NTFS als Dateisystem unter-sttzt wird. Zum einen existieren zu NTFS keineDokumentationen, dadurch ist es fr die Entwick-ler sehr schwierig, ein einwandfrei funktionieren-des Dateisystem zu programmieren. Zum ande-ren ist NTFS ein sehr komplexes Dateisystem.

    Bei diesem Punkt stellt sich daher auch die Fra-ge, wie die NTFS-Untersttzung unter Linux funk-tioniert. In dem Fall wird unter Linux kein nati-ves NTFS untersttzt, sondern es wird NTFS-3G [7] verwendet, welches nur als Treiber frNTFS-Dateisysteme fungiert. Es setzt hierbei aufFUSE [8] auf. FUSE ist ein Kernel-Modul, dases ermglicht, das Einbinden von Dateisystem-

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 7

    http://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_anwendungsmanager.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/reactos_anwendungsmanager.pnghttp://www.reactos.org/de/about_userfaq.htmlhttp://de.wikipedia.org/wiki/NTFS-3Ghttp://de.wikipedia.org/wiki/Filesystem_in_Userspacehttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Treibern vom Kernel-Mode in den User-Mode zuverlagern. ReactOS mchte im Gegensatz zuLinux oder anderen Systemen eine native NTFS-Untersttzung haben. Zur Zeit ist die Prioritt frNTFS seitens der Entwickler eher gering, da an-dere Teile von ReactOS aktuell wichtiger sind.

    Beim Durchstbern des Systems fllt schnell auf,dass einige Programme vorhanden sind, fr dieunter Windows keine Menpunkte existieren. Da-zu zhlen zum Beispiel der Registry-Editor oderdas Tool msconfig, um unter anderem Autostart-Programme zu deaktivieren.

    Weiterhin wird klar, dass Einiges zwar schon gra-fisch implementiert wurde, die wirkliche Funktiondahinter aber noch fehlt. So stt man durchausmal auf einen Button, der beim Klick nur ein Fens-ter ffnet, in dem man informiert wird, dass dieFunktion noch nicht implementiert ist.

    MitmachenDie Webseite von ReactOS bietet eine spe-zielle Seite fr den Einstieg in die Entwick-lung von ReactOS [9]. Wie auch bei ande-ren Open-Source-Projekten ist das Mitmachenbei dem Projekt wichtig, damit die Entwicklungstets voran geht. Es werden neben Entwicklernauch Autoren fr Dokumentationen und Server-Administratoren fr die Infrastruktur bentigt. Beineuen Entwicklern ist zu beachten, dass nurdie Entwickler programmieren drfen, die keinenKontakt zu originalem Microsoft-Code haben, so-fern es diesen Bereich betrifft, da hier eine Beein-flussung vorhanden sein knnte. ReactOS mch-

    te so sicherstellen, dass der Quelltext des Pro-jekts legal bleibt. Neben den bereits genann-ten Einsatzgebieten werden ebenfalls noch wei-tere Helfer fr das bersetzen und Designenvon ReactOS bentigt. Spenden werden eben-falls entgegen genommen.

    Blick in die ZukunftDie Zukunft von ReactOS sieht langfristig denAusbau der aktuellen Alpha-Version in eine Beta-Version mit der Nummer 0.5 vor. Spter solldann das erste stabile Release mit der Versions-nummer 1.0 folgen. Wie lange dies noch dauert,lsst sich nicht abschtzen, da eine groe An-zahl der Entwickler nicht kontinuierlich zum Pro-jekt beitrgt. Aus diesen Grnden sei es schwie-rig, einen Zeitplan zu nennen, da dieser nichteinzuhalten wre, so die Aussage des ReactOS-Teams auf der Wikiseite der Roadmap [10]. DasTeam versucht trotzdem, etwa jedes halbe Jahreine weitere Alphaversion zu verffentlichen.

    Der Entwicklungsplan von ReactOS ist momen-tan nur ziemlich sprlich vorhanden. Fr dienchste Version 0.4.0 sind ein Plug-and-play-Manager und einige Netzwerk- und Serverappli-kationen geplant, wie etwa ein DHCP- und einTelnet-Server.

    Des Weiteren ist die volle Untersttzung vonUSB-Tastaturen und -Musen, Audio-Treibernund Windows 7 geplant. Auerdem soll es dannauch eine volle native Untersttzung des Datei-systems NTFS geben. Weiterhin ist noch die

    Untersttzung von Mehrkernprozessoren ange-dacht, da bisher lediglich ein Prozessorkern un-tersttzt wird. Zudem ist zur Zeit nur eine 32-Bit-Version von ReactOS verfgbar. Wann eine 64-Bit-Version erscheint, ist noch unklar.

    Im September 2011 wurde das Projekt dem da-maligen russischen Prsidenten Dmitri Medwe-dew vorgestellt, als dieser eine Schule besuch-te [11]. Ein 17-jhriger Schler erhielt dadurchdie Mglichkeit, ReactOS dem russischen Pr-sidenten zu zeigen. Laut den Informationen desSchlers brauche das Projekt etwa eine MillionEuro, um die Entwicklung innerhalb eines Jah-res abschlieen zu knnen. Medwedew fand dasProjekt interessant, sagte jedoch nichts ber ei-ne finanzielle Untersttzung. So wurde zumin-dest das Projekt der Regierung eines Staatesbekannt und machte deutlich, dass das Projektdurch einen groen Geldbetrag sehr gut gefr-dert werden kann, damit die Entwicklung zgigvoran geht. Bis dahin kann die Entwicklung biszur ersten stabilen Version durchaus noch einigeJahre in Anspruch nehmen.

    KritikEs gibt einige Kritiker, die keinen Sinn in derEntwicklung von ReactOS sehen. Als Grundwird hufig angefhrt, dass man die Entwick-lungsarbeit lieber in andere Projekte, wie etwaWine, stecken sollte, statt in ein binrkompati-bles Windows. Zudem ist ReactOS mittlerweileziemlich alt, da die Entwicklung schon vor ei-nigen Jahren begann. Windows selbst hat sichseit dieser Zeit deutlich weiterentwickelt. Fakt ist,

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 8

    http://www.reactos.org/de/dev.htmlhttp://www.reactos.org/wiki/Roadmaphttp://www.pro-linux.de/news/1/17502/russland-koennte-fertigstellung-von-reactos-finanzieren.htmlhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    dass ReactOS kein Linux ist, und mit Linux ansich nichts zu tun hat. Daher wird es normaleLinux-Nutzer auch kaum ansprechen. Der Vor-teil, den ReactOS gegenber Wine unter Linuxhat, ist, dass ein fertiges ReactOS Windows-Treiber installieren kann. Das ist ein wichtigerPunkt, besonders fr sehr alte Hardware, fr diees weder lauffhige Treiber fr aktuelle Windows-Versionen noch fr Linux gibt. Fr mich hatReactOS den Vorteil, dass es als Windows-Ersatz auf alten Rechnern dienen kann, beson-ders fr die Nutzer, die kein Linux verwendenmchten. Allerdings nur unter der Voraussetzung,dass in naher Zukunft eine stabile Version er-scheint.

    FazitZum aktuellen Entwicklungsstand kann mankaum ein richtiges Fazit ziehen. Klar ist, dass eswirklich eine sehr frhe Alpha-Version ist und vie-le Systemkomponenten noch nicht bzw. nicht ein-wandfrei implementiert sind.

    Die Installation des Systems war der Punkt, derbei den Tests grtenteils problemlos funktionier-te. Dies ist jedoch bislang noch mit Einschrnkun-gen verbunden, da u. a. nur FAT32-Partitionenuntersttzt werden. Besonders schlecht sieht esim Moment im Bereich der Anwendungen aus.Gngige Programme lieen sich zwar installie-ren, aber am Ende funktionierten nur Firefox und7-Zip.

    Man darf gespannt sein, wie sich ReactOS weiterentwickeln wird. Bis zu einer Beta-Version fehlt

    neben der Funktionalitt auch die Stabilitt. BisReactOS ein fertiges und reifes Betriebssystemist, kann durchaus noch viel Zeit vergehen, da biszum jetzigen Zeitpunkt die Entwicklung eher m-ig voran geht. Beschleunigt werden kann diesmglicherweise nur durch grere Spenden.

    LINKS[1] http://www.reactos.org/de/[2] http://de.wikipedia.org/wiki/Reactos[3] http://de.wikipedia.org/wiki/Reverse_Engineering[4] http://www.winehq.org/[5] http://www.reactos.org/de/download.html[6] http://www.reactos.org/de/about_userfaq.html[7] http://de.wikipedia.org/wiki/NTFS-3G[8] http://de.wikipedia.org/wiki/Filesystem_in_

    Userspace[9] http://www.reactos.org/de/dev.html

    [10] http://www.reactos.org/wiki/Roadmap[11] http://www.pro-linux.de/news/1/17502/russland-

    koennte-fertigstellung-von-reactos-finanzieren.html

    Autoreninformation

    Sujeevan Vijayakumaran (Webseite)interessiert sich fr ein freies, zuWindows binrkompatibles Betriebs-system und beobachtet daher dieEntwicklung von ReactOS.

    Diesen Artikel kommentieren

    Trimester by Randall Munroe(CC-BY-NC-2.5), http://xkcd.com/699

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 9

    http://www.reactos.org/de/http://de.wikipedia.org/wiki/Reactoshttp://de.wikipedia.org/wiki/Reverse_Engineeringhttp://www.winehq.org/http://www.reactos.org/de/download.htmlhttp://www.reactos.org/de/about_userfaq.htmlhttp://de.wikipedia.org/wiki/NTFS-3Ghttp://de.wikipedia.org/wiki/Filesystem_in_Userspacehttp://de.wikipedia.org/wiki/Filesystem_in_Userspacehttp://www.reactos.org/de/dev.htmlhttp://www.reactos.org/wiki/Roadmaphttp://www.pro-linux.de/news/1/17502/russland-koennte-fertigstellung-von-reactos-finanzieren.htmlhttp://www.pro-linux.de/news/1/17502/russland-koennte-fertigstellung-von-reactos-finanzieren.htmlhttp://www.pro-linux.de/news/1/17502/russland-koennte-fertigstellung-von-reactos-finanzieren.htmlhttp://svij.org/http://www.freiesmagazin.de/comment/reply/258?edit[subject]=ReactOS#comment-formhttp://creativecommons.org/licenses/by-nc/2.5/http://xkcd.com/699/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Fedora 16 von Hans-Joachim Baader

    D as neu erschienene Fedora 16 will denBenutzern wie jedes halbe Jahr dieneueste Freie Software und neuesteTechnologien bringen.

    Redaktioneller Hinweis: Der Artikel Fedora 16erschien erstmals bei Pro-Linux [1].

    VorwortEtwas spter als ursprnglich geplant, erschienFedora 16 als Nachfolger des ein halbes Jahr al-ten Fedora 15 (siehe freiesMagazin 07/2011 [2]).Der Schwerpunkt dieser Version ist offenbar dieCloud. Ansonsten enthlt die Distribution zwarviele Updates, aber keine tiefgreifenden nde-rungen. Diese Aussage gilt auch fr die beidenpopulrsten Desktopumgebungen, GNOME undKDE. Auf Systemebene kam es zur Einfhrungdes Bootloaders GRUB 2 und der Entfernung vonHAL. Beides drfte den meisten Benutzern kaumauffallen. Fedora 16 wurde dem krzlich verstor-benen Unix-Pionier Dennis Ritchie gewidmet [3].

    Weitere Neuerungen gab es unter anderem beider Virtualisierung. So wird USB 2.0 in Gastsys-temen untersttzt, Gastinspektion ist mglich, einvirtueller Lock-Manager und ein auf pvops beru-hender Kernel fr Xen wurden hinzugefgt.

    Zu beachten ist auch, dass sich bei den numeri-schen Benutzer- und Gruppen-IDs etwas gen-dert hat. Die IDs fr normale Benutzer begin-nen jetzt wie bei anderen Distributionen bei 1000,nicht mehr bei 500.

    Fedoras Einrichtungsassistent.

    Fr Entwickler bietet Fedora 16 unter anderemvollstndige Entwicklungsumgebungen fr Ada,D und Haskell und das verteilte Bugtracking-System Be.

    Im Umfeld kam Ask Fedora [4] hinzu, eine Wis-sensplattform, auf der Anwender Fragen und Vor-schlge einreichen knnen. Die Plattform soll be-sonders einfach zugnglich sein, da kein Log-inbentigt wird.

    Dieser Artikel wird sich auf die Desktopumge-bungen GNOME und KDE beschrnken. Aus

    praktischen Grnden sindauch andere Einschrnkun-gen ntig. So wurden na-trlich zahlreiche zur Distri-bution gehrende Software-pakete gendert oder er-setzt. Mit wenigen Ausnah-men kann auf diese n-derungen nicht eingegan-gen werden; man darf an-nehmen, dass die meis-ten Pakete unter allen ak-tuellen Distributionen nahe-zu gleich sind und berallgleich gut funktionieren.

    Wie immer sei angemerkt,dass es sich hier nicht umeinen Test der Hardware-kompatibilitt handelt. Es istbekannt, dass Linux mehr

    Hardware untersttzt als jedes andere Be-triebssystem, und das berwiegend bereits imStandard-Lieferumfang. Ein Test spezifischerHardware wre zu viel Aufwand fr wenig Nutzen.Falls man auf Probleme mit der Hardware stt,stehen die Webseiten von Fedora zur Lsung be-reit.

    Da eine Erprobung auf realer Hardware nicht dasZiel des Artikels ist, werden fr den Artikel zweiidentische virtuelle Maschinen, 64 Bit, unter KVMmit jeweils 768 MB RAM verwendet. Auerdem

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 10

    http://www.pro-linux.de/artikel/2/1538/11fedora-16.htmlhttp://www.freiesmagazin.de/freiesMagazin-2011-07http://www.pro-linux.de/news/1/17603/dennis-ritchie-verstorben.htmlhttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_einrichtungsassistent.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_einrichtungsassistent.jpghttp://ask.fedoraproject.org/questions/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    wurde ein Netbook mit 32-Bit-CPU, aber funktio-nierender Grafikbeschleunigung, von Fedora 15auf 16 aktualisiert.

    InstallationFedora kann von DVD, einem Satz von CDs, Live-CDs oder minimalen Bootmedien installiert wer-den. Natrlich kann man aus einem ISO-Imageauch ein USB-Medium fr die Installation erstel-len. Die Live-CDs, in den Varianten GNOME undKDE, sind aufgrund ihres geringen Umfangs ehereine Notlsung fr die Installation, denn es fehlendann unter anderem LibreOffice und bersetzun-gen. Zwar erfolgt die Installation binnen Minuten,da hierbei offenbar mehr oder weniger nur ein Ab-bild der CD auf die Platte geschrieben wird, aberfr normale, vollstndige Installationen sind dieDVD oder das minimale Image vorzuziehen, beidem die eigentliche Distribution ber das Netz in-stalliert wird.

    Die Installation von Fedora erfordert mindestens640 MB RAM. Damit wurde die verhltnismighohe Anforderung von 768 MB in Version 15leicht reduziert, das Ziel von 512 MB aber ver-fehlt. Fr den Betrieb werden mehr als 1 GB emp-fohlen, was aber allenfalls fr ziemlich alte Rech-ner zu einem Problem wird.

    Die grafische Installation ist gegenber Fedora15 nahezu unverndert. Bei der Partitionierung,die wie immer zahlreiche Optionen bietet, gabes aber eine wichtige nderung. Statt MSDOS-Partitionstabellen wird nun GPT verwendet. Da-mit man davon auch booten kann, muss man

    in vielen (allerdings nicht allen) Fllen eine etwa1 MB groe BIOS-Boot-Partition anlegen. Bei dermanuellen Partitionierung geht das ganz einfach,indem man eine neue Partition anlegt und als TypBIOS Boot auswhlt. Vergisst man das, erhltman eine Fehlermeldung Sie haben kein Zielge-rt fr Bootloader Stage 1 eingerichtet und mussdiesen Schritt nachholen.

    Auswahl der Partitionierungsmethode.

    Bei der automatischen Partitionierung wird dieBIOS-Boot-Partition natrlich selbstndig ange-legt. Allerdings macht die Installation die /boot-Partition 500 MB gro. Ich habe noch nie mehrals 200 MB auch nur annhernd bentigt und

    halte die 500 MB daher fr zu gro, besondersbei kleineren Festplatten (man denke an SSDs).Als zustzliche Neuerung kann man nun whlen,ob man LVM verwenden will oder nicht. Die Be-nutzung von GPT ermglicht bis zu 128 Partitio-nen, somit haben einige Anwender nun keinenAnlass mehr, LVM einzusetzen. Dennoch ist LVMwesentlich flexibler als die anderen Optionen.

    Verschlsselung und RAIDsind weiterhin verfgbar.Auch das DateisystemBtrfs steht als Option beider Installation zur Verf-gung, aber das Standard-Dateisystem ist weiterhinext4. Ein Nachteil von Btrfsist nach wie vor das Feh-len des Werkzeugs btrfsckfr Dateisystemreparatu-ren, ein zweiter die Tatsa-che, dass das Dateisystemnoch nicht so erprobt ist.Vielleicht wird die geplan-te Erhebung von Btrfs zumStandard-Dateisystem inFedora 17 kommen.

    Somit kann man sagen,dass bezglich der Partitio-

    nierung auch weiterhin niemand Fedora etwasvormachen kann. Im eigens bereitgestellten In-stallationshandbuch [5] werden alle verfgbarenOptionen errtert und Tipps gegeben. Dort wirdauch eine separate Home-Partition empfohlen,

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 11

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_partitionierungsmethode.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_partitionierungsmethode.pnghttp://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    wenn mglich verschlsselt. Whlt man aller-dings die Standard-Partitionierung bei der Instal-lation, wird keine Home-Partition angelegt.

    AusstattungDass nahezu alle Softwarepakete, bei denendas mglich war, aktualisiert wurden, verstehtsich von selbst. Als Kernel kommt nun eine er-weiterte Version 3.1 zum Einsatz. Als Desktop-Systeme stehen unter anderem KDE SC 4.7.2und GNOME 3.2.1, teils mit Updates, zur Verf-gung. Der Standard-Browser unter GNOME istFirefox 7.0.1. Unter KDE steht neben dem etat-migen Konqueror ebenfalls Firefox zur Verf-gung. Auf 64-Bit-Systemen liegt Firefox als 64-Bit-Version vor. Die Standard-Office-Suite aufbeiden Desktops ist LibreOffice 3.4.3.

    Fedora 16 startet etwa genauso schnell wie seinVorgnger. Wie immer ist SELinux eingebundenund aktiviert. Als normaler Benutzer merkt manberhaupt nichts davon, solange die Konfigura-tion korrekt ist. In Fedora 16 trat kein sichtba-res Problem im Zusammenhang mit SELinux auf.Fr den Fall, dass ein Problem auftritt, sei esnach der Installation von zustzlicher Softwareoder anderen nderungen, steht ein Diagnose-werkzeug zur Verfgung.

    GNOME 3 bentigt in Fedora 16 direkt nach demStart mit einem geffneten Terminal-Fenster et-wa 260 MB RAM, KDE etwa 420 MB. Bei derGeschwindigkeit lsst sich kein nennenswerterUnterschied zwischen den Desktops feststel-len, sofern genug RAM vorhanden ist. Fr KDE

    Desktop im Ausweichmodus.

    bedeutet das, dass man mindestens 768 MBRAM haben sollte (was weniger als die offizielleEmpfehlung von Fedora ist). Die Angaben zumSpeicherverbrauch sind nur als Anhaltswerte zusehen, die sich je nach Hardware und Messzeit-punkt erheblich unterscheiden knnen.

    GNOMEGNOME 3.2 ist der Standard-Desktop vonFedora 16, wenn man nicht ausdrcklich KDE,Xfce, LXDE oder anderes auswhlt. Gegen-ber GNOME 3.0, das die erste Version einerganz neuen Generation von GNOME darstellte,

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 12

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_ausweichmodus.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_ausweichmodus.jpghttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Desktop im 3-D-Modus.

    wurden zahlreiche allgemeine Verbesserungenintegriert. Auch in dieser Version bentigt dieGNOME-Shell eine 3-D-Beschleunigung; ohnedieselbe gibt es nur den Fallback-Modus oder,wie Fedora es nennt, den Ausweichmodus. Die-ser hnelt noch GNOME 2, hat aber im Grundenicht mehr viel damit zu tun. In der nchsten Ver-sion von GNOME und damit auch Fedora soll erganz verschwinden, da die GNOME-Shell dannauch auf unbeschleunigter Grafik laufen soll.

    In der GNOME-Shell wurden keine bedeuten-den nderungen vorgenommen, lediglich kleine-re Verbesserungen. Offenbar sind die Entwicklerund Benutzer der GNOME-Shell mit der grund-stzlichen Implementierung so zufrieden, dasssie keine Notwendigkeit fr grere nderungensahen.

    Wegen der hnlichkeit mitder Version 3.0 ist es andieser Stelle nicht ntig,nochmals auf die GNOME-Shell einzugehen. Selbst-verstndlich erfordert sie et-was Gewhnung; sie istaber ziemlich intuitiv undauch in der Praxis effizi-ent nutzbar, wenn man dieeher umstndlichen Maus-Aktionen durch Tastenkr-zel ergnzt. Oberflchlichhnelt die GNOME-ShellUnity von Ubuntu. Unter derHaube ist jedoch alles an-ders. Die GNOME-Shell ist

    stabil, uerst durchdacht und weist keines derProbleme auf, die Unity in Ubuntu 11.10 mit sichbringt. Das Konzept der Linsen von Unity ist al-lerdings besser und flexibler als die Suchfunktionder GNOME-Shell. In diesem Bereich knnte dieShell sprbar verbessert werden.

    Noch immer lsst sich GNOME 3 nicht perfekt aneigene Vorstellungen anpassen, aber immerhinkommt es nahe heran. Man kann dconf-editorinstallieren, um direkten Zugriff auf alle GNOME-Einstellungen zu erhalten, aber bei solchen Din-gen sollte man wissen, was man tut. Zudem be-sitzen die GNOME-Shell und Mutter auch da nursehr wenige Einstellungen.

    Einige weitere Einstellungen werden mit demgnome-tweak-tool zugnglich gemacht. Mittler-

    weile hilft sich die Gemeinschaft mit Plug-ins frdie GNOME-Shell [6] selbst. Die Zahl der Shell-Erweiterungen drfte schnell wachsen, da derFantasie hierbei keine Grenzen gesetzt sind. Sielassen sich ber das gnome-tweak-tool installie-ren, aber noch einfacher geht es bei den etwazwei Dutzend Paketen, die bereits in den Fedora-Repositorien liegen, da sie einfach ber die Pa-ketverwaltung installierbar sind.

    KDEKDE liegt nun in Version 4.7.2 mit KDE-PIM4.7.2 vor (inzwischen aktualisiert auf 4.7.3), de-ren wohl grte Neuerung die berarbeitung derAktivitten ist. Nach wie vor drfte es Benutzernschwerfallen, den Sinn von Aktivitten zu sehen,da Arbeitsflchen auf den ersten Blick das glei-che leisten. Und da Dokumentation zu den Aktivi-tten weitgehend fehlt, erschliet sich der Vorteileinfach nicht.

    Diverse KDE-Anwendungen wurden in der neu-en Version natrlich auch stark verbessert, abergrundlegende nderungen blieben aus. berden normalen Umfang von KDE SC hinaus sindnoch die Projektverwaltung Planner installiert(die sich allerdings sofort aufhngte), das Lay-outprogramm Scribus, der Photo Layouts Editorund, aus unerfindlichem Grund, eine Reihe vonGNOME-Programmen, von Evolution ber Bra-sero bis Empathy. Das fhrt dazu, dass fr eineReihe von Aufgaben mindestens zwei Program-me im Startmen auftauchen, eines von GNOMEund eines von KDE.

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 13

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_gnomeshell.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_gnomeshell.jpghttps://live.gnome.org/GnomeShell/Extensionshttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Der leere KDE-Desktop.

    MultimediaWegen der Softwarepatente in den USA kannFedora, ebenso wie die meisten anderen Dis-tributionen, nur wenige Medienformate abspie-len, da es viele bentigte Codecs nicht mitlie-fern kann. Wenn man versucht, eine MP3- oderVideodatei abzuspielen, dann bieten die gngi-gen Player aber die Option an, ber die Paket-verwaltung nach passenden Plug-ins zu suchen.Leider fllt Rhythmbox nicht unter diese Katego-rie. Das Programm schafft es nicht einmal, einebrauchbare Fehlermeldung zu produzieren, son-dern meldet nur Die Wiedergabe konnte nichtgestartet werden.

    Damit die Suche in der Paket-verwaltung Aussicht auf Er-folg hat, muss man vorher diezustzlichen Repositorys vonRPM Fusion eintragen. Wennman wei, wie es geht, istes im Prinzip ganz einfach.ber die Webseite von RPMFusion [7] kann man Paketeinstallieren, die die Reposito-rys hinzufgen. Dies gilt frGNOME wie fr KDE.

    Nach dieser Vorbereitungsollten die Player unterGNOME und KDE in der La-ge sein, die bentigten Plug-ins selbstttig zu installieren.Merkwrdigerweise hat To-tem aber ein Problem, wennman ausgerechnet mit der

    Suche nach einem MP3-Plug-in anfngt undnoch keine Codecs installiert sind diese Su-che schlgt fehl. Bei Videoformaten funktio-niert es aber. Am schnellsten und einfachs-ten ist allerdings eine manuelle Installation derGStreamer-Plug-ins, insbesondere das Paketgstreamer-ffmpeg.

    Totem erscheint bei Installation von DVD auchunter KDE als Standard-Medienplayer, auch frMP3-Dateien. Kaffeine und Dragonplayer sindals Alternativen installiert.

    Beim Ausprobieren der Multimedia-Funktionenfiel auf, dass alle Anwendungen hngen knnen,

    wenn sie eine Sound-Ausgabe machen und die-se blockiert wird. Das ist keine Kleinigkeit, dennmitunter knnen Dialogboxen fehlen, ohne derenBeendigung das Programm nicht fortgesetzt wer-den kann. Das Problem, das natrlich im Normal-fall nicht auftritt, ist vielleicht PulseAudio anzulas-ten, aber eindeutig lie sich das nicht klren.

    Die Flash-Situation in den Browsern bleibt mittel-mig. Ohne den Adobe Flash Player geht nichtallzu viel. Gnash erfuhr in den letzten sechs Mo-naten kaum eine Weiterentwicklung und kann nureine begrenzte Zahl von Flash-Videos im Webabspielen. Die freie Alternative Lightspark ist nungar nicht mehr in den Repositorys enthalten.

    Die Installation des Adobe Flash Players istein zweistufiger Prozess, wenn man das Yum-Repo einbindet. Zunchst ldt man von Adobeeine RPM-Datei herunter, die das Repository an-legt. Dann kann man ber die Paketverwaltungdas eigentliche Plug-in installieren. Das Anlegendes Repositorys bentigt die Eingabe des Root-Passworts. Macht man hierbei einen Fehler, kannman sich in allerlei Schwierigkeiten bringen, daes keine Wiederholung der Eingabe gibt. Statt-dessen verheddert sich das Programm, beson-ders wenn man es noch ein zweites Mal versucht,und man kann schlielich gezwungen sein, Fens-ter, die sich nicht mehr schlieen lassen, manuellzu killen.

    Hat man dagegen das Passwort korrekt eingege-ben, kann man anschlieend das Flash-Plug-inber die Paketverwaltung installieren. Dies gilt je-denfalls fr GNOME. Unter KDE dagegen stellte

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 14

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_kde.jpghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_kde.jpghttp://rpmfusion.org/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Die Installation eines RPMs direkt aus dem Browserscheitert.

    sich Apper als unfhig heraus, die RPM-Datei zuverarbeiten.

    Die Alternative zu Flash, das WebM-Format, soll-te in Firefox seit Version 4 kaum Probleme be-reiten, und im Groen und Ganzen scheint es zufunktionieren. In Konqueror allerdings funktionier-ten die meisten Videos berhaupt nicht, da dasPlug-in regelmig abstrzte. Zum Testen vonWebM kam es erst gar nicht.

    Paketverwaltung und UpdatesWenig hat sich bei der Paketverwaltung getan,insbesondere unter GNOME. Sie funktioniert nor-malerweise reibungslos und die Updates, wennsie auch zahlreich sind, sind dank Delta-RPMsoft erstaunlich klein und schnell installiert.

    In Fedora 16 wurde die seit einigerZeit gute Erfahrung durch mehrere un-erwartete Probleme getrbt. Nach einerWoche Betrieb kam es bei Operatio-nen der Paketverwaltung, insbesonderebeim Suchen nach Updates, zu einemFehler, der erst durch die Ausfhrungvon yum update klarer erkenntlich war:

    # yum updatedatabase disk image is malformed

    Der Fehler ist im Web nicht ganz unbe-kannt, scheint aber selten aufzutreten.In diesem Fall half ein yum clean all.

    Erstmals seit langer Zeit kam es zu ei-nem weiteren Fehler in der Paketver-waltung, der es unmglich machte, be-

    stimmte Updates zu installieren (siehe unten).

    In diesem Fall ist eine fehlerhafte Pa-ketabhngigkeit zu vermuten. Das Paketperl-Module-CoreList htte wohl fr Fedora 16neu generiert werden mssen, um von Perl 5.14statt 5.12 abzuhngen. Solche Fehler knnen inder Entwicklungsversion von Distributionen auf-treten; fr freigegebene Versionen sind sie aber

    Downloading Packages:Running Transaction CheckERROR with transaction check vs depsolve:perl = 4:5.12.4-162.fc15 is needed by (installed) perl-Module-CoreList-0:2.50-162.fc15.noarchPlease report this error in http://yum.baseurl.org/report** Found 1 pre-existing rpmdb problem(s), yum check output follows:perl-Module-CoreList-2.50-162.fc15.noarch has missing requires of perl = (4, 5.12.4,162.fc15)

    nicht akzeptabel. Eine Lsung des Problemssteht noch aus.

    KPackageKit unter KDE, das in der letzten Ver-sion endlich gut funktionierte, wurde durch einProgramm namens Apper ersetzt. Nach dem ers-ten Schreck stellt man aber fest, dass ApperKPackageKit verdchtig hnlich sieht, und in derTat handelt es sich um KPackageKit, das Pro-gramm wurde lediglich in Apper umbenannt [8].

    Auch weiterhin hat die Paketverwaltung ein Pro-blem mit dem Verhalten von Dialogboxen unter

    Startfenster von Firefox 7.0.1.

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 15

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_rpm_installation.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_rpm_installation.pnghttp://dantti.wordpress.com/2011/08/01/apper-kpackagekit-reworked-part-i/http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_firefox2.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_firefox2.pnghttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • DISTRIBUTION

    Softwareverwaltung unter GNOME 3.2.

    KDE. Das Problem ist aber vielleicht eher KDEselbst anzulasten. Mglicherweise aufgrund derTatsache, dass mehrere verschiedene Prozessean der Paketverwaltung beteiligt sind, kann esvorkommen, dass die Dialogbox, die zur Bestti-gung die Eingabe des Root-Passworts verlangt,hinter anderen Fenstern zu liegen kommt, undwenn man nicht auf die Taskleiste achtet, kannman sich darber wundern, dass die Paketver-waltung keinerlei Fortschritt mehr macht.

    FazitFedora 16 ist eine solide Distribution mit zahlrei-chen Features und stetigen Neuerungen. Es istalso eigentlich wie immer, mit nur wenigen Aus-nahmen. Zu bemngeln ist dieses Mal unbedingtder Patzer in der Paketverwaltung, der Aktualisie-rungen verhindert und einfach nicht vorkommen

    darf, zumal Paketabhn-gigkeiten von geeignetenTestprogrammen geprftwerden knnen. Generellknnten die grafischenWerkzeuge zur Paketver-waltung mehr Robustheitvertragen.

    Dieser Fehler reiht sichin die Probleme ein, dieFedora in der ersten Zeitnach der Verffentlichungimmer mit sich bringt. Wersich nicht mit der Lsungdieser Probleme aufhaltenkann, sollte mit dem Up-

    date auf Fedora 16 einige Zeit warten.

    Viele Benutzer schtzen Fedora trotzdem als Dis-tribution, die Neuerungen schnellstmglich zuden Anwendern bringt, und nehmen die hufigenUpdates in Kauf, die dank Delta-RPMs ohnehinmeist sehr schnell gehen. Aber die groe Zahlvon Updates fr eine typische Installation vonFedora 16 drften es schon jetzt mehr als 200sein gehrt bei Fedora prinzipiell zum Konzept.Und in der Tat wird Fedora durch die reichlichenFehlerkorrekturen in der zweiten Hlfte seinesSupport-Zeitraums zu einer sehr stabilen Distri-bution.

    Die vielen fortgeschrittenen Funktionen, bei-spielsweise bei der Virtualisierung, machenFedora fr fortgeschrittene Anwender inter-

    essant, auch hier wieder besonders fr diejeni-gen, die auf die aktuellsten Versionen groenWert legen. Auch Entwickler werden Fedoradurch die verschiedenen neuen oder aktualisier-ten Entwicklungsumgebungen sehr attraktiv fin-den.

    LINKS[1] http://www.pro-linux.de/artikel/2/1538/11fedora-

    16.html[2] http://www.freiesmagazin.de/freiesMagazin-2011-

    07[3] http://www.pro-linux.de/news/1/17603/dennis-

    ritchie-verstorben.html[4] http://ask.fedoraproject.org/questions/[5] http://docs.fedoraproject.org/en-US/Fedora/16/

    html/Installation_Guide/[6] https://live.gnome.org/GnomeShell/Extensions[7] http://rpmfusion.org/[8] http://dantti.wordpress.com/2011/08/01/apper-

    kpackagekit-reworked-part-i/

    Autoreninformation

    Hans-Joachim Baader (Webseite)befasst sich seit 1993 mit Linux. 1994schloss er sein Informatikstudiumerfolgreich ab, machte die Software-entwicklung zum Beruf und ist einerder Betreiber von Pro-Linux.de.

    Diesen Artikel kommentieren

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 16

    http://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_softwareverwaltung.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/fedora16_softwareverwaltung.pnghttp://www.pro-linux.de/artikel/2/1538/11fedora-16.htmlhttp://www.pro-linux.de/artikel/2/1538/11fedora-16.htmlhttp://www.freiesmagazin.de/freiesMagazin-2011-07http://www.freiesmagazin.de/freiesMagazin-2011-07http://www.pro-linux.de/news/1/17603/dennis-ritchie-verstorben.htmlhttp://www.pro-linux.de/news/1/17603/dennis-ritchie-verstorben.htmlhttp://ask.fedoraproject.org/questions/http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/https://live.gnome.org/GnomeShell/Extensionshttp://rpmfusion.org/http://dantti.wordpress.com/2011/08/01/apper-kpackagekit-reworked-part-i/http://dantti.wordpress.com/2011/08/01/apper-kpackagekit-reworked-part-i/http://www.pro-linux.de/http://www.freiesmagazin.de/comment/reply/258?edit[subject]=Fedora#comment-formhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • KERNEL

    Selbstgebacken: Kernel kompilieren nach Rezept von Mathias Menzer

    M oderne Linux-Distributionen bringenalles mit: Vom Systemkern ber dieAnwendungen bis hin zu den buntenRschen der graphischen Oberflche. Fr vie-le Nutzer gehrt das Anpassen des Desktopszur Pflicht, das manuelle Installieren von Pro-grammen meist in einer aktuelleren Ver-sion ist dann die Kr. Den Kernel jedochlassen viele in Ruhe und vertrauen hier lieberauf die Aktualisierungen des Distributors.

    Dabei ist das Erstellen eines Kernels kein groesVoodoo. In den Grundzgen luft es wie bei allenanderen Anwendungen auch in drei Schritten:

    1. Konfigurieren2. Kompilieren3. Installieren

    Ein paar Dinge vorwegAn dieser Stelle ist bei Texten zur Kernel-Kompilierung meist ein Warnhinweis zu finden,der allzu Mutige vor dem Nachmachen warnt.Doch dieser Beitrag richtet sich explizit an jeneAnwender, die bislang keine Berhrung mit gccund make hatten. Linux-Nutzer, die gerne denWeg in die tieferen Ebenen ihres Systems findenmchten, sollen hier zum Ausprobieren ermutigtwerden. In der Regel richten auch vermurksteKernel-Eigenkompilate keine dauerhaften Sch-den an, sodass ein Neustart mit einer anderen,funktionierenden Version einen zum laufendenSystem zurckfhrt.

    Dem mndigen Leser seien jedoch drei Hinweisemitgeben:

    Kernel-Versionen, die ein -rc in der Versions-bezeichnung tragen, sind Entwickler-Kernelund ausschlielich zum Testen und Fehlersu-chen gedacht.

    Ein Eigenkompilat muss nicht immer besserlaufen als der Kernel von der Stange, die Dis-tributoren wissen in der Regel, was sie tun!

    Bei der ganzen Kompiliererei werden externeTreiber nicht bercksichtigt. Das betrifft pro-prietre Treiber wie z. B. fr VirtualBox, fgl-rx (AMD/ATI-Grafik) oder nvidia (Nvidia-Grafik).Diese mssen nach dem Kernel-Bau ggf. nachden jeweiligen Vorgaben neu erstellt und konfi-guriert werden.

    Als Beispiel findet die zur Fertigstellung des Bei-trags aktuelle Kernel-Version 3.1.5 Verwendung,bei anderen Kernel-Versionen ndern sich dannBezeichnungen, URLs und Befehle eben ent-sprechend der jeweiligen Versionsnummer. Ummit dieser Anleitung den Einstieg in die Kernel-Kompilierung zu finden, wird erst einmal einevirtuelle Umgebung empfohlen; Ubuntu in einerVirtualBox kme dem in diesem Artikel verwen-deten Aufbau am nchsten. Des Weiteren wirdhier ausschlielich auf der Text-Konsole gearbei-tet, was allerdings eher darauf zurckzufhrenist, dass sich Konsolenbefehle leichter zu Papierbringen lassen als Mausklicks in grafischen Pro-grammen.

    Beim Bau eines Kernels sollte darauf geachtetwerden, dass genug Platz auf dem Datentrgervorhanden ist. Das Kompilieren blst das genutz-te Verzeichnis gerne mal von einem ursprng-lich 60 MB groen Archiv ber 450 MB fr dasentpackte Archiv bis auf mehrere Gigabyte nachdem ganzen Vorgang auf. Dazu muss noch derPlatz gerechnet werden, den der spter instal-lierte Kernel (ca. 120 MB) und die fertigen Mo-dule (ca. 2 GB in der Standardkonfiguration vonLinux 3.1) belegen. Eine Kontrolle im Vorfeld,zum Beispiel mittels df -h, wie viel Platz auf/boot (mindestens 120 MB), /lib (mindestens2 GB) und /home (mindestens 8 GB) frei sind, istim Zweifel also angeraten.

    VorbereitenZuerst mssen natrlich einige Vorbereitungengetroffen werden. Es wird ein Verzeichnis zum Ar-beiten bentigt und natrlich der Quellcode desKernels. In diesem Beispiel wird ein Verzeichnisdirekt im Home-Verzeichnis des Anwenders ver-wendet:

    $ cd ~$ mkdir Kernel$ cd Kernel

    Die Kernel-Quellen knnen bequem als vollstn-diges Archiv von kernel.org [1] geladen werden.Am kleinsten sind die mit xz [2] komprimiertenDateien, sie erfordern jedoch die XZ-Utils, dieeventuell nachinstalliert werden mssen.

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 17

    https://kernel.org/http://de.wikipedia.org/wiki/Xzhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • KERNEL

    $ wget http://www.kernel.org/pub/linux/kernel/v3.x/linux -3.1.5.tar.xz$ tar xf linux -3.1.5.tar.xz

    tar entpackt das Archiv in das Unterverzeichnislinux-3.1.5, in dem die weitere Arbeit erfolgenwird.

    KonfigurierenDie Quellen liegen nun vor, also kann die Konfi-guration des Kernels erfolgen. Am einfachsten istes, die bereits fr den aktuell laufenden Kernelvorhandene Konfiguration als Ausgangspunkt zunutzen. Diese befindet sich im Verzeichnis /bootund wird zu den Kernelquellen kopiert. Das Kom-pilierwerkzeug make erwartet die Konfiguration inder Datei .config.

    $ cd linux -3.1.5$ cp /boot/config-`uname -r` .yconfig

    Meist stammt diese Konfiguration von einem lte-ren Kernel als dem, den zu bauen man im Begriffist. In diesem Fall fehlen der Konfiguration even-tuell Optionen zu neueren Funktionen. Um dieszu vermeiden, erstellt man eine vollstndige Kon-figurationsdatei. Der folgende Befehl liest die vor-handenen Einstellungen und fragt die Optionenfr neue, nicht definierte Funktionen ab. Ist mansich unsicher, was man auswhlen sollte, kannman auf die Vorgaben vertrauen. Diese sind im-mer die Standard-Option und knnen per Enterausgewhlt werden.

    $ make oldconfig

    Ist man des minutenlangen Bettigens derEnter -Taste berdrssig, so kann man auchden Befehl yes [3] zu Hilfe nehmen. Dieser si-muliert das Drcken der Enter -Taste, bis makeoldconfig durch alle Optionen gelaufen ist:

    $ yes "" | make oldconfig

    In diesem Fall mchte man die Konfiguration viel-leicht anschlieend kontrollieren und gegebenen-falls anpassen. Zumindest ist es interessant, maleinen Blick auf die verschiedenen Optionen undFunktionen zu werfen:

    $ make menuconfig

    Fr die Darstellung des Mens wird die Bibliothekncurses-devel bentigt.

    Nun ist die Konfiguration vollstndig und der ei-gentliche Kernelbau kann beginnen.

    KompilierenDas Kompilieren luft im Grunde automatisch ab.make bernimmt den Lwenanteil der Arbeit, in-dem es aus der oben erstellten Konfiguration undber Makefiles, die jede Komponente des Ker-nels mitbringt, die zu bauenden Teile des Kernelsbestimmt und Abhngigkeiten auflst. Prinzipiellkann man sich make als Kchenmaschine vor-stellen, in die man den kompletten Vorratsraumhineinkippt und die dann aufgrund eines dazu-geworfenen Rezepts nicht bentigte Zutaten aus-

    sortiert, den Rest entsprechend in der richtigenReihenfolge verarbeitet und zum Schluss den Ku-chen backt. Ganz perfekt ist die Analogie jedochnicht, solange Hhner ihren Eiern kein Makefilebeilegen.

    Voraussetzung ist natrlich, dass die fr das Bau-en des Kernels notwendigen Programme vorhan-den sind, also Linker [4], Compiler [5] usw. In derGNU Compiler Collection [6] (gcc) ist alles dabei.

    Der folgende Befehl baut den oben konfiguriertenKernel und die zugehrigen Module zusammen:

    $ make -j8 bzImage modules

    Mit make kann man seinem System richtig ein-heizen im wahrsten Sinne. Die Option -jgibt an, wie viele Jobs gleichzeitig laufen sol-len, denn make ist ein unbarmherziger Antreiber.Ohne Widerrede schickt es auf Anforderung 64Compiler- und Linker-Prozesse oder noch mehrgleichzeitig an den Start, was jedoch nur bei ent-sprechend gut dimensionierten Mehrprozessor-Systemen wirklich sinnvoll ist. Ein durchschnittli-ches Zwei-Prozessor-System ist mit vier bis achtJobs gut bedient. Die Faustregel lautet hier ge-nerell, dass doppelt so viele Jobs antreten sol-len, wie Prozessoren oder Kerne im System vor-handen sind, so z. B. acht Jobs fr vier Kerne. Inkeinem Fall sollte -j ohne darauf folgende Zahlauftreten; make versteht dies als Anweisung, kei-ne Grenzen fr die Zahl mglicher Prozesse zusetzen und startet fr jedes Unterverzeichnis imKernel-Baum nun einen eigenen Job. Dies fhrtfast immer zu einer vollstndigen Auslastung des

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 18

    http://linux.die.net/man/1/yeshttp://de.wikipedia.org/wiki/Linker_%28Computerprogramm%29http://de.wikipedia.org/wiki/Compilerhttp://de.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • KERNEL

    Systems, das dann auch nicht mehr auf Benut-zereingaben reagiert.

    Der Gang zur Kaffeemaschine ist als nchsteseine gute Wahl. Ein Build-Vorgang kann ger-ne mal eine gute Stunde (oder auch zwei) inAnspruch nehmen, je nach Leistungsfhigkeitder Hardware. Da das Bauen des Kernels aucheine sehr aufwendige Angelegenheit ist, sollteman vom Abspielen von HD-Videos auf demgleichen System absehen, selbst wenn es seitLinux 2.6.38 dank der dort eingefhrten Prozess-Gruppen (siehe der November im Kernelrck-blick, freiesMagazin 12/2010 [7]) prinzipiell mg-lich, wenn auch nicht schn ist.

    InstallierenDas Installieren des Kernels und der Modulemuss als Superuser (ggfs. mittels sudo) erfolgen.Hierbei werden das Kernel-Abbild (vmlinuz),eine Sicherung der verwendeten Konfiguration(config), eine Datei mit Debug-Informationen(System.map) und das Startabbild (initrd.img),das den Kernel und ein kleines Dateisystemfr den Start des Systems beinhaltet, in dasVerzeichnis /boot kopiert und im Bootloaderregistriert. Die Module wandern in dem Fallnach /lib/modules/3.1.5; bei anderen Kernel-Versionen eben in ein entsprechend benanntesVerzeichnis.

    # make modules_install install

    Damit wre der eigene Kernel gebaut und instal-liert und wartet nur noch auf einen Test.

    Kurzer EinwurfDer Bootloader Grub2 blendet je nach Konfigu-ration das Bootmenu beim Start aus, was dieAuswahl eines alternativen Kernels erheblich er-schweren kann. Um dem vorzubeugen, sollteman in der Datei /etc/default/grub kontrol-lieren, ob die Option GRUB_HIDDEN_TIMEOUT ge-setzt ist und sie gegebenenfalls auskommentie-ren. Musste die Datei bearbeitet werden, ist esnotwendig, dass Grub seine Konfiguration neuschreibt, erst dann sollte ein Neustart mit demneuen Kernel erfolgen.

    # update-grub

    FeuerprobeOb alles gut gegangen ist, wird nach einem Neu-start mit dem eigenen Kernel offensichtlich. Imbesten Fall bootet das System das kann beimersten Mal etwas lnger dauern als gewohnt und prsentiert einem die Anmeldemaske. Nachder Anmeldung kann man erst einmal prfen, obder neue Kernel auch tatschlich geladen wurde:

    $ uname -a

    Es sollte nun eine Ausgabe erfolgen, die ir-gendwo die Versionsnummer 3.1.5 auffhrt. Er-scheint wider Erwarten die alte Version, so wur-de der neue Kernel nicht in Grub registriert;update-grub, schafft hier Abhilfe.

    Probleme knnen auftreten, wenn Kernel-Module zum Einsatz kommen, die nicht aus denKernel-Quellen stammen ein Beispiel ist hier

    VirtualBox, es kann aber auch proprietre Grafik-treiber betreffen. Diese externen Module werdennatrlich nicht mitkompiliert, selbst wenn sie ausder Paketverwaltung des Linux-Systems stam-men. Im Falle von VirtualBox muss hier gegebe-nenfalls unter dem neuen Kernel das zugehrigeModul erneut gebaut werden:

    # /etc/init.d/vboxdrv setup

    Dieses Problem ist nicht neu, deshalb bieten ak-tuelle Distributionen bereits Abhilfe: DKMS (Dy-namic Kernel Module Support [8]) ist in der Lage,ihm bekannte Module neu zu kompilieren, sobaldein neuer Kernel installiert wird. VirtualBox nutztdies bereits seit lngerem, weshalb die Installa-tion von dkms zu empfehlen ist.

    Wie werde ich ihn wieder los?Nicht immer ist alles Gold was glnzt, undnicht alles, was bootet, taugt auch fr den tgli-chen Gebrauch. Treten Probleme auf, ist es viel-leicht notwendig, den Kernel wieder loszuwerden.Auch das ist vom Prinzip her einfach; man lschtdie erzeugten Kernel-Dateien und wirft den ent-sprechenden Eintrag aus dem Bootloader. Dazustartet man am besten mit einem anderen Ker-nel, indem man diesen beim Systemstart im Me-n des Bootloaders auswhlt. Ist das System ge-startet, kontrolliert man mit uname, ob man auchden richtigen Kernel geladen hat.

    Zu Lschen sind im Verzeichnis /boot alle Da-teien mit der entsprechenden Versionsnummer,zum Beispiel:

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 19

    http://www.freiesmagazin.de/freiesMagazin-2010-12http://de.wikipedia.org/wiki/Dynamic_Kernel_Module_Supporthttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • KERNEL

    config-3.1.5

    initrd.img-3.1.5

    System.map-3.1.5

    vmlinuz-3.1.5Auerdem sollte das Verzeichnis mit denModulen entfernt werden (hier wieder/lib/modules/3.1.5):

    # rm /boot/*-3.1.5# rm -rf /lib/modules/3.1.5/

    Einige Distributionen, darunter SUSE, fgen derVersionsnummer auch beim Selbstkompilierennoch ein Anhngsel an, entsprechend mssendie beiden rm-Befehle korrigiert werden.

    Grub muss auch diesmal wieder seine Konfigura-tion aktualisieren:

    # update-grub

    Damit ist man den selbstgebackenen Kernel wie-der los, sowohl im Bootloader als auch auf derFestplatte.

    Die Kernel-Quellen braucht man im brigen nichtunbedingt aufzurumen, solange man genugPlatz auf der Festplatte hat.

    FazitEinen Kernel selbst zu erstellen ist grundstz-lich kein Hexenwerk. Hat man noch keine Erfah-rung damit gemacht, so kann man die ersten Ver-suche an einem Zweit-Gert oder dem gerade

    ausgemusterten PC durchfhren, im schlimms-ten Falle greift man auf eine virtuelle Maschi-ne zurck. Auf diesem Weg kann ohne Gefahrfr Leib und Daten nach Belieben herumprobiertund getestet werden und damit ist auch fr bis-lang eher zurckhaltende Linux-Nutzer der eige-ne Heimwerker-Kernel machbar.

    Paketbersicht nach DistributionenDebian/Ubuntu SuSE Fedorawget (Standard-installation)

    wget (Standard-installation)

    wget

    make make makeg++ gcc gcclibncurses5-dev ncurses-devel ncurses-develdkms (Standard-installation)

    / dkms

    LINKS[1] https://kernel.org/[2] http://de.wikipedia.org/wiki/Xz[3] http://linux.die.net/man/1/yes[4] http://de.wikipedia.org/wiki/Linker_%28Co

    mputerprogramm%29[5] http://de.wikipedia.org/wiki/Compiler[6] http://de.wikipedia.org/wiki/GNU_Compiler_

    Collection[7] http://www.freiesmagazin.de/freiesMagazin-2010-

    12[8] http://de.wikipedia.org/wiki/Dynamic_Kernel_

    Module_Support

    Autoreninformation

    Mathias Menzer (Webseite) mal-trtiert sein Notebook gerne mitdem aktuellsten Linux-Kernel. Dieserfindet seinen Weg in der Regel alsEigenkompilat nach obigem Rezept indas System.

    Diesen Artikel kommentieren

    Simple by Randall Munroe(CC-BY-NC-2.5), http://xkcd.com/547

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 20

    https://kernel.org/http://de.wikipedia.org/wiki/Xzhttp://linux.die.net/man/1/yeshttp://de.wikipedia.org/wiki/Linker_%28Computerprogramm%29http://de.wikipedia.org/wiki/Linker_%28Computerprogramm%29http://de.wikipedia.org/wiki/Compilerhttp://de.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://de.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://www.freiesmagazin.de/freiesMagazin-2010-12http://www.freiesmagazin.de/freiesMagazin-2010-12http://de.wikipedia.org/wiki/Dynamic_Kernel_Module_Supporthttp://de.wikipedia.org/wiki/Dynamic_Kernel_Module_Supporthttp://www.menzer.net/http://www.freiesmagazin.de/comment/reply/258?edit[subject]=Kernel kompilieren nach Rezept#comment-formhttp://creativecommons.org/licenses/by-nc/2.5/http://xkcd.com/547/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    OpenShift Entwickeln in der Cloud von Patrick Meyhfer

    E gal, ob im Open-Source-Umfeld oderim Business-Bereich: berall domi-niert in irgendeiner Form das ThemaCloud Computing die Medien. Deren un-schtzbare Vorteile, durch geschickte Mar-ketingaktivitten oft besonders hervorgeho-ben, sollte man natrlich auch einer kriti-schen Analyse fr den jeweiligen Einsatz-zweck unterziehen. Im privaten Umfeld nutztsicher der eine oder andere diverse Cloud-Lsungen, die direkt an den einfachen Pri-vatanwender gerichtet sind. Man denke anGoogle Mail, Dropbox, Evernote usw. DieseLsungen fasst man alle unter der RubrikSoftware-as-a-Service (kurz: SaaS [1]) zusam-men.

    Dieser Beitrag richtet sich jedoch an eineeher technisch orientierte Sichtweise des Cloud-Computing, nmlich der so genannten Platform-as-a-Service (PaaS), mit der der normale An-wender eher selten in Berhrung kommt, dieaber fr Entwickler durchaus von Interesse seinkann. Ein interessantes Angebot liefert hierfrder Softwarehersteller Red Hat mit seinem Ange-bot OpenShift [2].

    Kurzer Exkurs: PaaSUm den Nutzen von OpenShift im Folgenden bes-ser nachvollziehen zu knnen, folgt hier ein kur-zer Exkurs, was unter PaaS [3] zu verstehen istund wie man dessen Vorteile fr seine eigenenSoftwareprojekte nutzen kann.

    Bereits jetzt sind fast alle wesentlichen Kompo-nenten von Open-Source-Technologien als Fun-dament der Cloud-Technologien zu sehen. Sieberuhen auf dem Linux-Kernel, Virtualisierungs-technologien wie Xen oder KVM und Datenbank-lsungen wie PostgreSQL oder MySQL (siehehierzu OpenStack [4]). Wollte man bisher aufherkmmliche Weise, z. B. eine Webanwendung,bereitstellen, musste man sich i. d. R. im Vor-feld bereits grndlich Gedanken machen, aufwelcher Basis man diese Software entwickelnund anschlieend zur Verfgung stellen wollte.Es war also notwendig, bereits vor dem Bereit-stellen seiner Webanwendung eine eigene Platt-form einzurichten, ber die man diese den Be-nutzern zugnglich machen kann. Das heit, eswurden meist Webserver bentigt, Programmier-umgebungen wie PHP, JEE u. v. m. mussten in-stalliert und konfiguriert werden und wenn eineAnwendung sehr schnell populr wurde, reich-ten die Ressourcen nicht aus, wodurch wiederAnpassungen in der Skalierung/Optimierung etc.notwendig waren.

    Mit der Idee von PaaS soll diese Arbeit nundurch die Cloud wahrgenommen werden. DerEntwickler soll sich einzig um das Entwickeln sei-ner Anwendung kmmern, der gesamte Admi-nistrationsaufwand, die Arbeiten vorab zur Instal-lation, Wartung sowie Backuparbeiten werdendurch den Anbieter bernommen, wodurch mehrZeit fr die eigentliche Entwicklung der Softwarebleibt.

    PaaS am Beispiel von OpenShiftDie Vorteile des Konzepts sollen im Folgendenam Beispiel von OpenShift vorgestellt werden.Der Grund ist, dass Red Hat fr kleine Ent-wicklungsprojekte eine Variante mit dem NamenOpenShift Express [5] komplett kostenlos an-bietet. In der Praxis reserviert hier Red Hat beiAmazon Web Services EC2 eine Instanz, aufder dann die Anwendung spter luft. Hat manim weiteren Verlauf zustzliche Wnsche, kannman auch auf ein kostenpflichtiges Modul na-mens Flex upgraden. Dies bietet u. a. Clusterer-stellung, Benutzeroberflche statt Kommandozei-le und vieles mehr. Nheres hierzu findet man imOpenShift UserGuide [6]. Fr den Anfang reichtaber die kostenlose Lsung zum Einstieg in dasThema vollkommen aus.

    Zur Programmierung stehen folgende Sprachenzur Verfgung:

    Java 6 EE PHP Perl Python Ruby

    Verfgbare Datenbanken im Backendbereichsind entweder MySQL oder SQLite. Mit 500 MBFestplattenkapazitt und 300 MB RAM sollten frkleine Applikationen zunchst genug Ressour-cen zur Verfgung stehen [7].

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 21

    http://de.wikipedia.org/wiki/Software_as_a_Servicehttps://openshift.redhat.com/app/http://de.wikipedia.org/wiki/Platform_as_a_Servicehttp://openstack.org/https://openshift.redhat.com/app/expresshttp://docs.redhat.com/docs/en-US/OpenShift_Flex/1.0/html/User_Guide/chap-OpenShift_Overview.htmlhttps://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overviewhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    Installation der Client-ToolsUm mit der Entwicklung zu beginnen, ist es vorabnotwendig, die Client-Tools (diese werden aktivauf github gehostet [8]) zu installieren, wie in derDokumentation nach der Registrierung beschrie-ben. Fr die Installation (die unter den gngigenLinux-Distributionen, Mac OS X, und Windowsmit Cygwin mglich ist) werden die Pakete rubyin Version 1.8, rubygems- und ruby-dev-Paketebentigt, die unter Ubuntu 11.10 alle unter die-sem Namen problemlos ber den Paketmanagerinstalliert werden knnen. Eine detaillierte Instal-lationsanleitung fr die einzelnen Systeme liefertdie Webseite von OpenShift [9]. Die Client-Toolsbelaufen sich beim Download auf maximal 2 MBund basieren vollstndig auf Ruby [10]. Die Ent-wicklung erfolgt aktiv auf Github [11] unter einerRed-Hat-Lizenz [12].

    Von nun an sind alle folgenden Befehle nur mg-lich, wenn die Client-Tools im vorigen Schritt er-folgreich installiert worden sind. Anschlieendmuss man sich berlegen, welchen Namen dieAnwendung bekommen soll und mit welcherProgrammiersprache man sie umsetzen mchte.Hierfr legt man sich zunchst eine Domain an,welches man mit folgendem Befehl in der Konso-le erreicht:

    $ rhc-create-domain -n Domnenname y-l Loginname

    Nun kann man endlich seine erste eigene An-wendung erstellen, wobei man angeben muss inwelcher Programmiersprache und in welcher Ver-

    sion derselben man seine Anwendung entwickelt,da man natrlich nicht mchte, dass man seineAnwendung fr PHP 5.3 entwickelt, der Serveraber nur PHP 5.2 als Laufzeitumgebung bietet.

    Folgender Konsolenbefehl ist ntig:

    $ rhc-create-app -a fMBeispiel -t yphp-5.3

    Anwendung erstellen, Programmiersprache definieren.

    Nach Eingabe des vorab festgelegten Passwor-tes wird nun im Hintergrund ein Git-Repository,also eine verteilte Versionsverwaltung [13] einge-richtet, welche eine vorgegebene Ordnerstrukturbesitzt. Es kann unter Umstnden ein paar Minu-ten dauern, bis alles im Hintergrund eingerichtetwurde, zum Abschluss erhlt man im Erfolgsfalljedoch die Meldung, dass die Anwendung erfolg-reich erstellt wurde und man bekommt eine Git-URL zu seinem weltweit erreichbaren Repository.

    Im aktuellen Verzeichnis, in dem man den Befehlausgefhrt hat, findet man nun auch seine An-wendung wieder.

    Im Ordner php (je nach Programmierspracheauch ein anderer Ordner, z. B. python etc.), wer-den die eigentlichen Quelldateien angelegt, imOrdner libs zustzliche Bibliotheken, die manverwenden mchte.

    Was in einzelne Ordner gehrt und welche zu-stzlichen Verzeichnisse z. B. fr persistente Da-ten (Umgebungsvariablen u. .) angelegt werdenknnen, listet die beiliegende README-Datei sehrbersichtlich auf.

    Anwendung per Git hochladenNachdem man seine Quellcodes erstellt hat, istman nun in der Lage, die Anwendung ber Git indas Git-Repository zu heben.

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 22

    https://github.com/openshift/os-client-toolshttps://openshift.redhat.com/app/express#quickstarthttps://rubygems.org/gems/rhchttps://github.com/openshift/os-client-toolshttps://github.com/openshift/os-client-tools/blob/master/express/LICENSEhttp://www.freiesmagazin.de/mobil/2012-01-bilder/OpenShift-anwendung.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/OpenShift-anwendung.pnghttp://de.wikipedia.org/wiki/Githttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    Erstellte Webseite in der Cloud-Beispiel.

    Dazu wechselt man zunchst in den Ordner derAnwendung:

    $ cd Anwendungsname

    ber den Befehl

    $ git commit -a -m "Meine erste yAenderung"

    landen die Dateien im lokalen Git-Repository undmittels

    $ git push

    werden die Dateien auf das entfernte Reposito-ry in der Cloud bertragen. Von jetzt an ist jederin der Lage, die Anwendung von berall aufrufenzu knnen. Wenn man die URL zur Anwendungoder zu Git nicht mehr wei, hilft der Befehl

    $ rhc-user-info

    Ruft man nun die URL im Browser auf, bekommtman seine Webseite mit den durchgefhrten n-derungen zu sehen (Beispiel fr diesen Arti-kel [14]).

    Erstellung einer zugehrigen Daten-bankFr fast jede grere Applikation, die man ent-wickelt oder die man einfach in der Cloud lau-fen lassen mchte, wird frher oder spter eineDatenbank bentigt. So verlangen beliebte Open-Source-Projekte, wie Joomla, Wordpress, Drupalu. v. m., in der Regel eine MySQL-Datenbank, dieperformante Speicher- und Lesezugriffe erlaubt.In einer frhen Version von OpenShift war es le-diglich mglich, eine SQLite-Datenbank der An-wendung hinzuzufgen, was aber auer fr Bei-spiele wie Mediawiki zu wenig praktikabel in derAnwendung war, weshalb Red Hat hier schnelleingelenkt hat und auch MySQL in die kostenlo-se Lsung der Express-Version integriert hat.

    Mittels des Befehls

    $ rhc-ctl-app -a "fMBeispiel" -e yadd-mysql -5.1

    wird hier eine MySQL-Datenbank in der Version5.1 installiert und nach kurzer Wartezeit erhltman die Besttigung, dass die Datenbank er-folgreich erstellt werden konnte. Zustzlich erhltman die bentigten Login-Daten fr den Adminis-trator der Datenbank.

    Viele bevorzugen zum Verwalten ihrer Daten-bank, d. h. zum Anlegen von Tabellen, Spal-tendefinitionen u. v. m., eine grafische Benutzer-oberflche, damit nicht alles ber die Standard-Konsolenbefehle von MySQL durchgefhrt wer-den muss. Auch hierfr gibt es wiederum einen

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 23

    http://www.freiesmagazin.de/mobil/2012-01-bilder/OpenShift-webseiteCloud.pnghttp://www.freiesmagazin.de/mobil/2012-01-bilder/OpenShift-webseiteCloud.pnghttp://fmbeispiel-freiesmagazinbsp.rhcloud.com/http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    kurzen Befehl, der phpMyAdmin innerhalb vonOpenShift installiert.

    $ rhc-ctl-app -a "fMBeispiel" -e yadd-phpmyadmin -3.4

    Danach steht unter der Adressehttp://URLdesProjektes/phpmyadmin dieLoginseite zur Verfgung, unter der man sichmit dem MySQL-Administrator anmelden kann.

    Somit ist es nun mglich, z. B. ein Wordpress-Blog wie auf einem gewhnlichen Webspace zuinstallieren, indem man einfach die Installations-dateien von Wordpress in das Anwendungsver-zeichnis legt und mittels der oben erwhnten Git-Befehle in die Cloud ldt.

    AlternativenWenn man bei seiner Anwendung an die Gren-zen der kostenlosen Lsung von OpenShift Ex-press kommt, ist man nicht zwangslufig an RedHat gebunden, sondern kann sich mittlerweilezwischen mehreren Anbietern entscheiden.

    Weit verbreitete andere Lsungen haben auchbekannten Firmen mit Angeboten wie:

    Google App Engine Windows Azure Morph Application Platform Amazon Elastic Beanstalk

    Dies sind nur einige der inzwischen zahlreichenVertreter, bei denen man im Einzelnen die Ange-

    bote fr seine spezifischen Vorgaben vergleichensollte.

    FazitPaaS kann eine groe Hilfe fr diejenigen Ent-wickler sein, die schnell eine funktionierendePlattform mit allen notwendigen Tools und Pro-grammierumgebungen bentigen und sich nichtleisten knnen, selber die komplette Installationund Wartung von Hand vorzunehmen.

    Mit OpenShift ist ein kostenloser Einstieg in dieseForm des Cloud-Computing sehr leicht mglich,man sollte aber beachten, dass man je nach Gr-e des Projektes schnell mit den Restriktionender Ressourcen an Grenzen stoen kann. Zu-dem begibt man sich wie bei allen Cloud-Formenin die Abhngigkeit vom Anbieter, dass dieser diebereitgestellte Plattform auch korrekt verwaltetund diese tatschlich so performant und sicherzur Verfgung steht, wie versprochen. Man soll-te daher stets abwgen, ob man die Risiken desFremdhostings auf sich nehmen will. Entschlietman sich fr einen PaaS-Anbieter, stehen einemdurchaus neue Wege der Softwareentwicklungzur Verfgung.

    LINKS[1] http://de.wikipedia.org/wiki/Software_as_a_

    Service[2] https://openshift.redhat.com/app/[3] http://de.wikipedia.org/wiki/Platform_as_a_

    Service[4] http://openstack.org/[5] https://openshift.redhat.com/app/express

    [6] http://docs.redhat.com/docs/en-US/OpenShift_Flex/1.0/html/User_Guide/chap-OpenShift_Overview.html

    [7] https://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overview

    [8] https://github.com/openshift/os-client-tools[9] https://openshift.redhat.com/app/express#

    quickstart[10] https://rubygems.org/gems/rhc[11] https://github.com/openshift/os-client-tools[12] https://github.com/openshift/os-client-tools/blob/

    master/express/LICENSE[13] http://de.wikipedia.org/wiki/Git[14] http://fmbeispiel-freiesmagazinbsp.rhcloud.com/

    Autoreninformation

    Patrick Meyhfer (Webseite) be-schftigt sich seit lngerem mitCloud-Lsungen. Zunchst als An-wender von SaaS-Lsungen. Dadiese Form bereits viele Vorteilebeinhaltete, testete er verschiedenePaaS-Lsungen fr seine Anwendun-gen aus und konnte mit OpenShifterste Erfahrungen sammeln.

    Diesen Artikel kommentieren

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 24

    http://de.wikipedia.org/wiki/Software_as_a_Servicehttp://de.wikipedia.org/wiki/Software_as_a_Servicehttps://openshift.redhat.com/app/http://de.wikipedia.org/wiki/Platform_as_a_Servicehttp://de.wikipedia.org/wiki/Platform_as_a_Servicehttp://openstack.org/https://openshift.redhat.com/app/expresshttp://docs.redhat.com/docs/en-US/OpenShift_Flex/1.0/html/User_Guide/chap-OpenShift_Overview.htmlhttp://docs.redhat.com/docs/en-US/OpenShift_Flex/1.0/html/User_Guide/chap-OpenShift_Overview.htmlhttp://docs.redhat.com/docs/en-US/OpenShift_Flex/1.0/html/User_Guide/chap-OpenShift_Overview.htmlhttps://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overviewhttps://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overviewhttps://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overviewhttps://docs.redhat.com/docs/en-US/OpenShift_Express/1.0/html/User_Guide/chap-User_Guide-Application_Development.html#sect-User_Guide-Application_Development-Overviewhttps://github.com/openshift/os-client-toolshttps://openshift.redhat.com/app/express#quickstarthttps://openshift.redhat.com/app/express#quickstarthttps://rubygems.org/gems/rhchttps://github.com/openshift/os-client-toolshttps://github.com/openshift/os-client-tools/blob/master/express/LICENSEhttps://github.com/openshift/os-client-tools/blob/master/express/LICENSEhttp://de.wikipedia.org/wiki/Githttp://fmbeispiel-freiesmagazinbsp.rhcloud.com/http://pmeyhoefer.de/blog/http://www.freiesmagazin.de/comment/reply/258?edit[subject]=OpenShift#comment-formhttp://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    Perl-Tutorium Teil 5: Subroutinen, Namensrume und Geltungsbereiche von Herbert Breunung

    N ach der Einfhrung in Referenzenund zusammengesetzte Datenstruktu-ren in Teil 4 (siehe freiesMagazin12/2011 [1]) folgt in diesem Teil die Anwen-dung des Gelernten. Das Notizprogramm sollvielseitiger werden. Dabei werden erstmaligFunktionen wie read_file erstellt. Wie in derPraxis werden sie in einem eigenen Modulverstaut und von dort exportiert. Dann wirdauch endlich klar, was das :: in File::Slurpeigentlich bedeutet. Das wird ab jetzt nichtmehr verwendet, sondern wie angekndigt YAML, da die Datenstrukturen komplexer wer-den.

    Vorbetrachtungen zur DatenstrukturDie beliebtesten Fallen, in denen sich selbst er-fahrene Entwickler wiederfinden, sind die selbst-gebauten. Denn so wichtig die Phantasie vor al-lem in der Planungsphase ist, so wichtig ist esebenfalls, nicht zu vergessen, dass niemand ge-nau voraussehen kann, was der Benutzer mch-te oder wie er das Programm letztlich nutzt. Des-halb ist es sehr wichtig, die Grundstruktur ein-fach und flexibel zu halten. Jede Notiz sollte des-halb nur ein Hash sein. Unter aussagekrftigenSchlsseln liegt dann der Inhalt, das Datum derletzten nderung und so weiter. Manche Anga-ben, wie etwa Referenzen zu den Aufgaben, diezuerst getan werden mssen, bevor man die-ser Notiz Beachtung schenken sollte, bentigenein Array. Dieses lsst sich auch unter einem

    Schlssel speichern. Aber komplizierter soll esnicht werden. Die Notizen selber werden nichtgruppiert oder verschachtelt, sondern weiterhinschn in ein Array gepackt. Mssen die Notizenin einer komplizierteren Ansicht dargestellt wer-den, so wird das woanders sortiert und gestapeltund von dort auf die Notizhashs im Hauptarraygezeigt.

    Diese Entscheidung zu treffen ist essenziell, dawie bereits erwhnt Datenstrukturen wie die Fahr-stuhlschchte eines Hauses sind. Durch sie be-wegen sich die Strme an Daten/Bewohnernund sie sind in den tragenden Strukturen ver-ankert. Sie lassen sich also weit schwerer um-gestalten als die Einrichtung oder Wnde einesZimmers/einer Subroutine (Subroutine, Routine,Funktion, Prozedur bezeichnet in Perl dasselbe).

    SubroutinenDoch da die Datenstruktur jetzt zumindest imKopf steht (es bleibt ja im Prinzip ein Array), kn-nen die Zimmer gemauert werden. Die erstenzwei Zimmer, also Subroutinen, sollen das La-den und Speichern der Notizen besorgen. DasFormat dafr wird ab jetzt YAML sein, weil esmit den kompliziertesten Daten umgehen kannund (falls ganz spezielle Dinge gebraucht wer-den) es einfach erweiterbar ist. Das Format lsstsich darber hinaus sehr einfach von Menschenverstehen und bearbeiten. Auch andere Program-me htten keine Mhe diese Daten einzulesen.Aber was jetzt zhlt: Das Lesen und Schreiben

    der Daten bernimmt das Modul YAML eineSorge weniger. Das wesentlich schlankere undschnellere YAML::Tiny liee sich fr den Anfangauch nehmen, die Wahl sei dem Leser berlas-sen, denn installiert werden muss eines der Mo-dule so oder so (mit cpanm YAML, siehe Teil 1 infreiesMagazin 08/2011 [2]).

    Doch wozu eine extra Funktion fr das Ladenschreiben, wo doch YAML mit LoadFile eine zurVerfgung stellt? Wre es nicht Verschwendung,eine Routine zu schreiben, die nur eine ande-re aufruft? Ein unerfahrener Programmierer wr-de sofort Jawoll! rufen, aber so einfach ist dasnicht. Natrlich ist eine Subroutine erst einmalnichts weiter als ein Block, der mit Hilfe des Be-fehls sub einen Namen bekommt. ber diesenNamen wird der Block aufgerufen, also ausge-fhrt. Dem Namen mssen beim Aufruf immerrunde Klammern folgen, selbst wenn sie leer blei-ben, da hier mit use strict programmiert wird.Auerdem lassen sich so die selbstgeschriebe-nen Prozeduren leichter von Perls eigenen Funk-tionen unterscheiden. Diese werden meist ohneKlammern benutzt, auer wenn es darum geht,Zweideutigkeiten aufzulsen, welcher Parameterzu welcher welcher Funktion gehrt.

    # Definition der Routine:sub lade_datei { ... }

    # ihr Aufruf:lade_datei();

    freiesMagazin CC-BY-SA 3.0 Ausgabe 01/2012 25

    http://www.freiesmagazin.de/freiesMagazin-2011-12http://www.freiesmagazin.de/freiesMagazin-2011-08http://creativecommons.org/licenses/by-sa/3.0/deed.de

  • PROGRAMMIERUNG

    In dem Block der sub gibt man mehrere Befeh-le an, die zusammen eine Aufgabe erfllen. Hatman den Eindruck, dass mehrere Aufgaben aufeinmal gelst werden, sollte man den Code inmehrere, bersichtliche Funktionen teilen. Dasverhindert, dass man diese Aufgaben mehrmalslsen muss. Das Programm wird dadurch kr-zer und weniger fehleranfllig. Denn hat mansich einmal geirrt, muss man weniger suchen,wo der Fehler sein knnte und muss ihn auchnur einmal beheben. Auch nderungen im Pro-gramm werden dadurch leichter. Sollte zum Bei-spiel jemand anderer Meinung sein und stattYAML Config::General als Speicherformat wh-len, so muss er nur die zwei kleinen Routinenndern, in denen YAML benutzt wurde und dasProgramm luft weiter wie gewohnt. Subroutinenschirmen also auch das Hauptprogramm von denProblemdetails ab, welches damit verstndlicherwird. Deshalb sollten sich auch in ihrem Namenkeine Informationen ber die Details der Lsungbefinden, da die sich ndern knnen. Ihr Na-me soll ihre Aufgabe so genau und spezifischwie mglich beschreiben und muss mit einemBuchstaben beginnen (a-z oder A-Z). Eine Rou-tine wie aktualisiere_datei_auf_server()macht sich im Hauptprogramm besser als einBlock potentiell komplizierter Befehle. Die Be-nimmregeln:

    1. Keine allgemeinen und nichtssagenden Wor-te verwenden.

    2. Lngere Namen sind meist besser.3. Worte durch einen Unterstrich trennen.

    Natrlich sollte der Name ein Verb sein oderbeinhalten, da Routinen Ttigkeiten reprsentie-ren. lade_datei ist darber hinaus besser alsdatei_laden, da noch der Dateiname ange-geben wird und lade_datei(notizen.txt);sich einfach natrlicher liest.

    ParameterbergabeRoutinen legen dem Programm noch einen Si-cherheitsgurt an, der wesentliche Pannen ver-meidet. Sie helfen den Datenfluss zu kontrollie-ren. Alle Daten, welche eine sub bekommt (Para-meter genannt), und alle Daten, die sie liefert, las-sen sich im Ein- und Ausgang der Routine leich-ter anpassen oder zurckweisen. So kommenkeine Daten in den Umlauf, die eh nur Abstrzeund andere Probleme verursachen wrden.

    In den meisten Sprachen folgt in der Definition ei-ner Routine nach ihrem Namen die Signatur, diebesagt, welche Parameter diese Routine bentigtoder anzunehmen bereit ist und wie sie heien.Meist sind sie von runden Klammern umgebenwie in C oder Javascript. Perl hat zwar etwas,dass einer Signatur uerlich hnelt, aber dassind Prototypen und erfllen einen ganz anderenZweck. Die Werte die man der Routine gibt wie

    speicher_datei('notizen.yml', @notizen)

    kommen in der gleichen Reihenfolge im