4
PORTABLE
LINUX APPS GOOGLE APP ENGINE
Webapplicatie bouwen
REPORTAGE OBSERVE, HACK, MAKE
APPS OP JE PC
ANDROID ONDER LINUX
SPARKLESHARE
Dropbox alternatief
DE HEGEMONIE VAN APPS ALTIJD, OVERAL EN OP ELKE OS GEEK PAGES | LINUX @ OFFICE | BSD HOEK KERNEL-NIEUWS & TIPS | COMMANDLINE TIPS FOCUS OP VEILIGHEID | DARKTABLE | PVDAIRY Cover.indd 1
jaargang 14 nr.: 04 2013
€ 5,45
€ 5,75
9/18/13 5:33 PM
De voordelen van lidmaatschap • Gratis toegang tot J-Fall 2013 • Gratis toegang tot NLJUG University sessions • Gratis 4 maal per jaar het Java Magazine
SLECH,T5S0 9
€3
september/oktober 2013 nr. 3
MAGAZINE
Voor elke serieuze Java-ontwikkelaar of Java bedrijf is het een must om lid te worden van de NLJUG. Als je up-to-date wilt zijn en blijven is dit de manier om het te doen: word lid van de NLJUG op www.nljug.org. Het lidmaatschap kost € 39,50 (incl. 6% BTW)
Onafhankelijk tijdschrift voor de Java-professional
Poets je code op met Sonar Features Arduino aansturen met Java cover.indd 1
Java upgraden in de enterprise
Software Craftsmanship 9/12/13 4:45 PM
» Ga naar: www.nljug.org 0913 Java werf A4.indd 4
9/18/13 5:36 PM
VOORWOORD
DE APP-GENERATIE
I
k zie kinderen van 8 en 9 jaar al met een smartphone (hopelijk met een prepaid sim-kaartje of ontdaan van het sim-kaartje, anders is het een dure aangelegenheid), een iPad of andere tablet. De nog jongere kinderen hebben soms al een Apple iPod Touch. Deze alfageneratie (ook wel millennial generatie genoemd) groeit op met mobiele devices en daarop aanwezig apps. Een app store waar je heel veel gratis spellen vindt die ook nog eens uitnodigt tot zoeken en uitproberen, sluit heel goed aan bij de belevingswereld. Mijn zoon heeft er een dagelijkse bezigheid aan om spellen te zoeken en ze met vriendjes te delen, ze samen online te spelen om ze een tijd later weer te verwijderen, want anders
raakt zijn iPod Touch vol. We zoeken de vakantiehuisjes er al op uit: zonder WiFi zijn veel spellen niet leuk, ontbreken de vriendjes en doet de app store het niet. Apps, app stores, eenvoudig te gebruiken apparaten én altijd online zijn, vormen de basis voor ‘computeren’ bij kinderen van deze leeftijd. Deze app-generatie van kinderen geboren na 2000 zal vanaf 2023 de arbeidsmarkt betreden. In de app-wereld waarin ze zijn opgegroeid, is het onderliggende OS totaal irrelevant geworden. Ze verwachten dat elke app het doet op elk apparaat (en dus elk OS). Windows, Linux, Android, iOS – tablet, smartphone, pc, Wii, Xbox of PS: het doet er helemaal niet meer toe.
Marcel Beelen (marcel@linuxmag.nl) Hoofdredacteur Linux Magazine
Colofon Hoofdredacteur: Marcel Beelen marcel@linuxmag.nl Content manager: Ramon Wieleman rwieleman@reshift.nl Eindredactie: Jaap de Wreede, Lilian Krijt, Mark Gamble Auteurs: Filip Vervloesem, Matto Fransen, Sander van Vugt, Douwe Kiela, Brenno De Winter, Koen Vervloesem, Rudi van Drunen, Klaas van Gend, Rutger van der Steen, Gijs Hillenius, Arjan ten Hoopen, Ger Siemerink, Machtelt Garrels Vormgeving: Britt Zaal Uitgever: Martin Smelt Traffic & Media Order: Marco Verhoog Marketing: Ramon Wieleman rwieleman@reshift.nl Drukkerij: Senefelder Misset, Doetinchem Distributie: Betapress Advertenties: Richelle Bussenius E-mail: rbussenius@reshift.nl Telefoon: 023 752 39 22
Abonnementen Reshift Digital Administratie: Tanja Ekel Richard Holkade 8, 2033 PZ Haarlem Telefoon: 023 53 644 01 Fax: 023 54 518 43 E-mail: klantenservice@reshift.nl Een abonnement wordt steeds automatisch voor eenzelfde periode verlengd tenzij u twee maanden voor de vervaldatum schriftelijk opzegt. Verantwoording: Linux Magazine is een uitgave van Reshift Digital. Zonder uitdrukkelijke toestemming van de uitgever mag niets uit deze uitgave op enigerlei wijze worden overgenomen. Copyright © 2013 Reshift Digital. Reshift Digtal en bij deze uitgave betrokken redactie en medewerkers aanvaarden geen aansprakelijkheid voor mogelijke gevolgen die zouden kunnen voortvloeien uit het gebruik van de in deze uitgave opgenomen informatie. Linux is een handelsmerk van Linus Torvalds. Wij nemen uw gegevens, zoals naam, adres en telefoonnummer op in een gegevensbestand. De verwerking van uw gegevens is aangemeld bij het College Bescherming Persoonsgegevens in Den Haag door Reshift Digtal., de verantwoordelijke voor uw gegevens. Uw gegevens worden gebruikt voor de uitvoering van met u gesloten overeenkomsten, zoals de abonnementenadministratie. Daarnaast kunnen wij uw gegevens gebruiken om u op de hoogte te houden van interessante informatie en/of aanbiedingen. Uw gegevens kunnen ook aan door ons zorgvuldig geselecteerde partijen ter beschikking worden gesteld. Uw gegevens kunnen, samen met hun informatie over u, worden geanalyseerd om de aanbiedingen en/of informatie zoveel mogelijk op uw interesses af te stemmen. U kunt bij het opgeven van uw gegevens bezwaar maken tegen beschikbaarheidsstelling van uw gegevens aan derden. Ook kunt u uw eigen gegevens opvragen en verzoeken ze te corrigeren of te verwijderen. Stuur hiertoe een mail aan de abonnementenadministratie op klantenservice@reshift.nl.
Neem nu een abonnement op Linux Magazine voor slechts
€ 19,50! www.twitter.com/linuxmagnl www.facebook.com/linuxmag www.linuxmag.nl/linkedin
www.linuxmag.nl I 04 2013 3
Colofon_Voorwoord.indd 3
18-09-13 15:11
LINUX MAGAZINE ABONNEMENT VOOR MAAR € 19,50 6 NUMMERS
Het enige Nederlandstalige tijdschrift met alles over Linux en open source! Voor iedereen die goed op de hoogte wil blijven van de ontwikkelingen en mogelijkheden van open sourcesoftware is Linux Magazine hét tijdschrift om te lezen.
Een jaar abonnement op Linux Magazine kost normaal € 28,50 in Nederland en € 31,50 in Belgie. U krijgt korting op het eerste jaar: de eerste zes nummers kosten u slechts € 19,50 (en in Belgie € 22,50). Dit abonnement geldt tot wederopzegging.
Surf naar www.reshift.nl
0913 LINUX.indd 2
9/18/13 5:46 PM
INHOUD
10
Portable Linux Apps
De package manager van je Linux-distributie is een ware verademing in vergelijking met de wildgroei aan update managers en installers onder Windows. Maar terwijl de repositories enkel bij een distributie-upgrade vernieuwd worden, kun je in Windows wĂŠl steevast de laatste versie van je favoriete programma installeren. Portable Linux Apps belooft dit ook onder Linux waar te maken, maar is dat echt zo? Wij zochten het uit!
22
Android onder Linux Smartphones en tablets veroveren stilaan de huiskamer ten koste van de aloude pc. Inmiddels leveren veel fabrikanten al sneller een Android-app dan software voor Windows -laat staan Linux! Maar wist je dat je de meeste Android-apps ook onder Linux kan gebruiken? Linux Magazine toont je twee manieren om dat voor elkaar te krijgen.
46
Package Managers Op het eerste gezicht lijkt het werken met software pakketten op Linux nogal ondoorzichtig. Bij nader inzien gaat het echter om functionaliteit, die uitermate goed doordacht is. Dit artikel gaat dieper in op hoe je software management op Linux georganiseerd is.
52
VASTE RUBRIEKEN Linux en open source nieuws Openbaringen: Vrijheid dankzij PRISM-Break NLUUG Verenigingsnieuws Linux at the Office: Joget Games:Larry is terug! Geek Pages /rant /admin corner Focus op veiligheid BSD Hoek Linux-tips en kernelnieuws Commandline tips
06 14 15 16 36 42 50 54 56 58
COLUMNS Matto Fransen: OS software ontwikkel je samen Gijs Hillenius: OS in de Stille Zuidzee Sander van Vugt: The next big thing
09 13 29
REPORTAGE NLLGG: Open source evenementen tot LibreOffice OHM 2013: Observe, Hack, Make
08 52
WORKSHOP Portable Linux Apps Google App Engine – deel 1 Android onder Linux PVdiary De kracht van APT
10 18 22 30 40
ACHTERGROND Sparkleshare Packagemanagers
26 46
REVIEW Darktable
33
Reportage: OHM 2013 Een nieuw hackercamp, een nieuw geluid. Deze editie van het vierjaarlijkse hackersevent werd voorbereid en gerund door een volledig nieuw team van vrijwilligers. Dit nieuwe team had er ettelijke weken en soms zelfs maanden van hun leven voor over om er weer iets groters dan de vorige keer van te maken. Linux Magazine was er uiteraard bij en doet verslag.
SCHRIJVEN VOOR LINUX MAGAZINE? Ben je een fervent lezer van Linux Magazine en zou je graag willen bijdragen aan het blad? Of ben je werkzaam in de IT en zou je vanuit je functie graag je kennis willen delen met de Linux Magazine-community? Dat kan! Neem contact op met de redactie, leg uit op welk gebied je expertise ligt en over welk onderwerp je graag zou willen schrijven. Direct artikelen inleveren mag ook. Mail naar marcel@linuxmag.nl en wij nemen zo spoedig mogelijk contact met je op.
MOEILIJKHEIDSGRAAD Heel eenvoudig (beginners) Makkelijk (enige ervaring) Gemiddeld (aspirant hacker) Moeilijk (creativiteit vereist) Expert (for true geeks only)
www.linuxmag.nl I 04 2013 5
Inhoud.indd 5
18-09-13 15:12
Android 4.3 Onlangs is Android 4.3 uitkomen voor de Nexus smartphone en tablets. Een van de nieuwste functies in deze versie zijn Restricted profiles. Hiermee kunnen gebruikersrechten worden ingeperkt voor apps en data (content). Dit kan in thuissituaties handig zijn, maar ook op zakelijk gebied kan deze functie van pas komen. Met Bluetooth Smart is Android in staat gemakkelijk verbinding te maken met fitness sensoren. De ondersteuning voor graphics is verbeterd dankzij OpenGL ES 3.0. Verder ondersteunt Android 4.3 surround geluid via de Fraunhofer Cingo mobile audio technologie en Dial pad Autocomplete zorgt voor automatisch herkenning van telefoonnummers en contacten door slechts de nummers of karakters aan te raken. Voor meer nieuwe mogelijkheden, bezoek
Laptop op zonne-energie Binnenkort op de markt: de allereerste door zone-energie aangedreven laptop. De SOL-laptop is voorzien van Ubuntu en wordt opgeladen door hem twee uur in de zon te leggen, waarna er zo’n 10 uur op gewerkt kan worden. Maar ook direct in zonlicht zonder het apparaat aan de stroom te hangen, is mogelijk. De SOL is extra stevig voor buitengebruik en is daarnaast voorzien van alle nodige communicatievoorzieningen als GPS, Bluetooth, WiFi en 3G/4G. Volgens de vele berichten kost de laptop $350 dollar en is hij gericht op de Afrikaanse markt. De uitklapbare zonnepanelen maken de SOL wat minder slank en minder draagbaar, waardoor hij voor de Westerse wereld misschien wat minder interessant is. Alhoewel de SOL al aardig wat aandacht heeft gekregen, is hij nog niet beschikbaar. Kan zo’n dergelijke laptop wel gemaakt worden voor een dergelijke prijs? Volgens de Fabrikant WeWi wel. Meer informatie:
http://solaptop.com/en en http://www.wewicorp.com http://www.android.com/about/jelly-bean
Open source vliegtuig? Makers vormen een wereldwijde beweging van techneuten, geeks en hobbyisten die thuis allerlei apparaten aan het maken zijn. Deze fantastische ontwikkeling leidt tot innovatieve projecten en die op speciale Makers Fares worden gepresenteerd. In Nederland is de eerste Mini Maker Faire georganiseerd op 7 en 8 september in het Discovery Center Continium in Kerkrade (zie http://www.makerfairekerkrade. com/). Via crowdfunding is nu het eerste open source vliegtuig in ontwikkeling. Het eindproduct bestaat uit bouwtekeningen en –instructies en elektronische ontwerpen voor een tweezitter: een Experimental Light Sport Aircraft (E-LSA). Deze machines mogen in de VS worden gevlogen met een Sport Pilot vliegbrevet. Een vliegend prototype wordt verwacht op het AirVenture-evenement in Oshkosh in de VS in 2015.
http://www.makerplane.org http://www.airventure.org
Gource 0.4 Onder de toepasselijke naam Gource is al een tijdje versie 0.4 te downloaden. Gource is een samentrekking van Google en Source, en de applicatie wordt gebruikt om softwareprojecten weer te geven met Gource, als animatie en in de vorm van een boomstructuur, met in het midden de start van het project. Directories verschijnen als takken en bestanden worden weergegeven als bladeren. Als een ontwikkelaar bezig is in een deel van de code om aanpassingen te maken, is dat in de boom te zien. Gource ondersteunt Git, Mercurial, Bazaar en SVN en derde partij-tools voor sourcecode-beheer. Gource kijkt voor visualisatie van de source-boom in de logbestanden. Op de website vind je een videoclip die Gource laat zien:
http://code.google.com/p/gource
FLOSS Manuals Minnowboard open source pc Intel heeft de Minnowboard uitgebracht, een open source moederbord met een Intel Atom-processor. Het schema van het moederboard valt onder de Creative Commons licentie. Het kaartje is gericht op softwareontwikkelaars die x86-code willen schrijven en hobbyisten en is door Intel samen met CircuitCo Electronics ontwikkeld. Het kaartje is ongeveer 10 bij 10 cm groot en bevat een 1GHz Intel Atom E640-processor, 1GB DDR2 geheugen, een HDMI-poort, Gigabit ethernet, USB-poorten en een micro-SD-slot. Bij het bord wordt tevens Angstrom Linux geleverd. De Minnowboard kost 199 dollar. Een vrij hoge prijs, als we dat vergelijken met Arduino en de Raspberry Pi.
De communities van FLOSS Manuals maken al sinds 2007 documentatie voor open source applicaties, ook in het Nederlands (http://nl.flossmanuals.net). Afgelopen jaar is een voorstel ingediend bij de Europese Commissie en vanuit de Future and Emerging Technologies Open scheme is deze toegekend aan de FLOSS Manuals Foundation en Adam Hyde van booksprints.net. Het doel van het project is om te onderzoeken of ‘collaborative writing’ toegepast kan worden door ICTvernieuwers en -onderzoekers. Terwijl tegenwoordig het maken van de gebruikershandleidingen online en gedistribueerd gebeurd, met behulp van een wiki of een andere CMS, gebruikt Adam Hyde in zijn methodologie de voordelen van een kleine groep, op een vaste plek, in korte tijd, om samen een boek te schrijven. Uit het door de Europese Commissie gefinancierde onderzoek moet blijken of deze methode ook door academici gebruikt kan worden. Meer info op de website van het project:
http://www.booksprints-for-ict-research.eu/ http://www.minnowboard.org
6
Nieuws.indd 6
magazine
18-09-13 15:13
NIEUWS
Xen 4.3.0 De Linux Foundation beheert tegenwoordig de open-source Xen hypervisor. Xen 4.3 is de eerste door deze organisatie vrijgegeven versie onder de GPLv2-licentie, sinds Citrix de sourcecode heeft overgedragen aan de stichting. Xen 4.3 heeft nu ondersteuning voor ARM-gebaseerde servers – nog wel als een Technology Preview – en werkt op de ARMv7- en ARMv8-platforms. Het product biedt nu de mogelijkheid om tot 16TB RAM en 750 virtuele processors te ondersteunen. Ook inbegrepen is de Trusted Platform Module (vTPM), waarmee de beveiliging van de omgeving wordt verbeterd. En aangezien Xen ook met QEMU werkt, kunnen Linux-distributies beter samenwerken met Xen. Tot slot, een Technology Preview van Open vSwitch is eveneens inbegrepen. Meer informatie:
http://wiki.xenproject.org/wiki/Xen_4.3_Release_Notes
Moodle wordt 11 Ruim 11 jaar geleden is Moodle 1.0 vrijgegeven. Inmiddels zijn de ontwikkelaars al op versie 2.5.1 aanbeland. Moodle is een applicatie voor het maken van Internet-gebaseerde cursussen en web sites. De software is open source en geschaard onder de GNU General Public License. Dit betekent dat je Moodle mag kopiëren, gebruiken en wijzigen, mits je de aangepaste sourcecode natuurlijk weer publiek maakt. Moodle draait op Linux, maar ook op Windows en Mac, mits die PHP draaien en een SQL-database als MySQL ondersteunen. Moodle is een afkorting voor Modular Object-Oriented Dynamic Learning Environment.
https://www.moodle.org
PHP 5.5.2 PHP is natuurlijk de bron van miljoenen websites en onlangs is de open-source taal van een belangrijke update voorzien. De update is alleen beschikbaar voor de laatste twee stabiele versies PHP 5.5 en PHP 5.4. Gebruik je nog PHP 5.3 dan is het wellicht verstandig je server op te waarderen. PHP 5.4.18 lost een dertigtal bugs op waarvan twee securitylekken. PHP 5.5.2 lost een twintigtal bugs op, waaronder ook de securitylekken in onder meer de OpenSSL-module.
http://www.php.net
LibreOffice 4.1.0 DE nieuwste versie van LibreOffice 4.1.0 zou de compatibiliteit met bedrijfseigen documentformaten op Microsoft- en Mac-software flink verhogen. Bij de ontwikkeling van deze versie heeft dan ook de nadruk gelegen op filters, importeren en exporteren van binaire formaten als DOC, PPT en XLS. LibreOffice heeft verder filters voor OOXML, DOCX, XLSX en onder meer PPTX. In de bestanden kun je de lettertypes van de documenten embedden. in deze versie van LibreOffice zijn maar liefst 3.000 bugs opgelost. De laatste nieuwtjes omtrent LibreOffice 4.1.0 zijn hier te vinden:
http://www.libreoffice.org/download/4-1-new-features-and-fixes
Arch Linux met kernel 3.10 Arch Linux is één van de eerste distro’s die is voorzien van de nieuwste Linux kernel 3.10. De kernel ondersteunt Bcache voor SSD-schijven en bijvoorbeeld metadata checksums voor het XFS-bestandssysteem. De hypervisor KVM ondersteunt nu ook de MIPS-processor. De ISO’s van Arch Linux zijn te downloaden: www.archlinux.org en kunnen direct gemount worden, of op een cd worden gebrand. Ook kunnen de images op een usb-stick worden weggeschreven, waardoor het ook mogelijk is om de computer daarvan op te starten.
https://www.archlinux.org
ProjectLibre ProjectLibre – een open source alternatief voor Microsoft Project – migreert naar de cloud en komt ook met een serverversie. Volgens de ontwikkelaars bespaar je als bedrijf veel geld aan licenties voor Microsoft Project Server, Microsoft Client Access Licenties, SQL Server als hiervoor in plaats daarvan ProjectLibre wordt ingezet. ProjectLibre is daarnaast een mooie aanvulling op andere open source kantoortools zoals Apache OpenOffice of LibreOffice. ProjectLibre is compatible met Microsoft Project 2003, 2007 en 2010 bestandsformaten. Het is beschikbaar voor Linux, Mac OS en Windows. Informatie vind je op :
http://www.projectlibre.org en http://sourceforge.net/projects/ projectlibre
www.linuxmag.nl I 04 2013 7
Nieuws.indd 7
18-09-13 15:13
RUTGER VAN SLEEN
OPEN SOURCEEVENEMENTEN
Regelmatig zie je in Linux Magazine een verwijzing staan naar één of ander open source-evenement. Maar wat gebeurt daar, waarom zou je naar zoiets heen gaan en wat kun je er verwachten?
J
e hebt ze overal ter wereld en voor vele softwarepakketten en distributies wordt er wel iets speciaals georganiseerd. Er zijn ook conferenties die zich vooral richten op een bepaald publiek: programmeurs, systeembeheerders, managers, hackers enzovoort. In elk geval staat open source centraal en hebben ze als doel om informatie te delen en dienen ze vaak als ontmoetingsplaats. Zoals gewoon in de open source-wereld zijn de happenings en hun bezoekers zeer divers.
WAT KUN JE VERWACHTEN? Dit was ook mijn vraag die ik mezelf stelde, voordat ik de eerste keer naar een bijeenkomst ging. Zo’n eerste keer is toch wel weer even spannend. Vooral bij kleinere evenementen val je als nieuweling algauw op. Gelukkig werd ik al snel aangesproken door iemand en na een rondje voorstellen heb ik een zeer leuke dag gehad. Nu, een paar jaar en menig evenement later, leer ik elke keer meer nieuwe mensen kennen en ga ik er nog steeds met plezier heen.De meeste evenementen draaien om een aantal sessies heen. Deze sessies kunnen onder andere een lezing, workshop of een open discussie zijn. Maar er worden ook sessies gehouden om gezamenlijk bugs op te lossen, examens af te nemen en vergaderingen te houden. Tus-
8
NLLGG.indd 8
sen de sessies door is er tijd om even een drankje te nuttigen en met medebezoekers een praatje aan te knopen. Vooral op de wat grotere evenementen kun je op een centrale plek diverse communities vinden, die er hun favoriete project of distributie vertegenwoordigen. Dit gebeurt vaak met demonstraties en het weggeven en/of verkopen van stickers en T-shirts. De mensen die achter zo’n stand zitten, staan je graag te woord indien je vragen hebt. Waar mensen bij elkaar komen, worden installaties uitgevoerd, problemen opgelost en nieuwe features in software gebouwd. Daarvoor is er gratis WiFi aanwezig; stroomvoorziening is soms wat lastiger te vinden. Een eigen verdeeldoos meenemen is dus geen overbodige luxe. Het hangt van het soort evenement en organisatie af of je van tevoren moet inschrijven, dan wel een kaartje moet kopen. Vele evenementen zijn ook gratis te bezoeken, hoewel het ‘t beste is om van tevoren even op de website van het evenement te kijken.
OMVANG EVENEMENTEN Bij grote evenementen moet je je voorstellen dat er in een paar dagen tijd honderden lezingen worden gegeven en duizenden bezoekers op afkomen. Veel grote evenementen komen eens per jaar voor en duren meestal diverse dagen – soms meer dan een week! Wanneer
een evenement zo groot en internationaal bekend is, zul je algauw merken dat men van heinde en verre komt. Ondanks de massieve opkomst is het doorgaans een gezellige (war) boel en heb je kans om mensen tegen het lijf te lopen met wie je alleen via e-mail of IRC hebt gecommuniceerd. Maar vergeet niet, Nederlanders kom je overal tegen! ;) Mocht je naar een internationaal evenement gaan, kijk dan even op de bijbehorende site; vaak worden daar goedkopere slaapplekken aangeboden. Kleine evenementen duren hooguit een dag, maar vinden ook vaak ‘s avonds plaats. Het aantal bezoekers is dan ook een stuk kleiner, maar deze evenementen worden wel vaker georganiseerd. Zo komen vele groepen regelmatig bij elkaar en dit is net zo leerzaam als de grote events. Ook in jouw (dichtstbijzijnde) stad kun je vast zulke bijeenkomsten vinden. Dan heb je nog de happenings die gelinkt zijn aan een bepaalde dag, bijvoorbeeld Software Freedom Day. Deze vindt elk jaar op de derde zaterdag van september plaats (dit jaar dus op 21 september) en is een wereldwijde aangelegenheid. Het idee hierachter is dat er over de hele wereld zoveel mogelijk wordt gevierd dat er zoiets als vrije software is. Soortgelijke dagen zijn Document Freedom Day en Hardware Freedom Day.
NEDERLAND EN BELGIË Je hoeft niet ver te reizen om een evenement bij te kunnen wonen. In Nederland en België zijn er door het hele land diverse te bezoeken. Zo heeft de NLLGG elke laatste zaterdag van de oneven maanden een bijeenkomst in Utrecht en kun je eind oktober in Eindhoven terecht op T-DOSE. In België zijn FOSDEM en LOADays (ook onder de Nederlanders) populair. De lijst is te lang om ze allemaal in dit artikel te stoppen; kijk daarom op de website van de NLLGG. Daar kun je altijd een overzicht vinden van komende evenementen in Nederland.
Rutger van Sleen is voorzitter van de Nederlandse Linux Gebruikers Groep , NLLGG, http://www. nllgg.nl. Je kunt hem bereiken via rutger.van.sleen@nllgg.nl.
magazine
18-09-13 15:14
Matto Fransen
Open source software ontwikkel je samen Voor open source ontwikkelaars is de internationale samenwerking met mede-ontwikkelaars en het directe contact met de eindgebruikers inspirerend en motiverend. Helaas zijn niet alle contacten even constructief.
H
et begon allemaal zo onschuldig. Op een middag bedacht je “waarom is hier geen applicatie voor?�. Ook na grondig zoeken blijkt dat er inderdaad nergens iets te vinden is dat lijkt op wat je nodig hebt. Voorzichtig begin je met een paar regeltjes code om in te schatten of het mogelijk is zelf iets te bakken. Langzaam maar zeker begint het ergens op te lijken, en na nog paar avondjes heb je een programmaatje gemaakt dat in grote lijnen doet wat het doen moet. Je voegt wat configuratie-mogelijkheden toe en beseft dat de applicatie wellicht ook voor anderen nuttig kan zijn. Je zet de code ergens online. Een paar mensen downloaden het en van iemand krijg je naast een paar verbeteringen ook nog een nuttige uitbreiding gemaild. Na verloop van tijd melden zich nog een paar mensen met aanpassingen en ontstaat een groepje enthousiastelingen dat de ontwikkeling gezamenlijk voortzet. Om de communicatie te vereenvoudigen, open je een developers-kanaal op IRC. Iemand schrijft een man-page en iemand anders opent een mailinglist en
richt een wiki in. Plotseling begint het een heus open source project te worden. En dan opeens gebeurt het. De belangstelling groeit en je krijgt zoveel patches binnen dat je moet zoeken naar de tijd om ze alleen maar door te lezen, laat staan te bedenken of je ze wel of niet wilt gebruiken. Naast medeontwikkelaars komen nu ook echte eindgebruikers op de mailinglijst en op het chatkanaal. Soms komt een van hen met een bijzonder nuttige suggestie voor iets waar je zelf niet opgekomen was. Helaas zijn er ook andere eindgebruikers. Zonder zich echt te verdiepen in de functionaliteiten en de achtergrond van het programma, stellen zij de meest vreemde vragen. Iemand die niet eens de man-page gelezen heeft en zich op volkomen verkeerde veronderstellingen baseert begint opeens te eisen dat bepaalde aanpassingen moeten worden doorgevoerd en wel deze week nog. Je vraagt je af hoelang je hiermee nog door wilt gaan. Het mooie van open source is dat je vaak heel makkelijk met de ontwikkelaars in contact kan treden. Maar wees wel een beetje aardig voor ze...
Matto Fransen is controller. Van 1998 tot 2003 zat hij in het bestuur van de NLLGG. Hij schrijft bijna vanaf het begin een column voor Linux Magazine.
www.linuxmag.nl I 04 2013 9
Column Matto/Prijsvraag.indd 9
18-09-13 15:14
FILIP VERVLOESEM
PORTABLE LINUX APPS
Wanneer de package manager je in de steek laat De package manager van je Linux-distributie is een ware verademing in vergelijking met de wildgroei aan update managers en installers onder Windows. Maar terwijl de repositories enkel bij een distributie-upgrade vernieuwd worden, kun je in Windows wél steevast de laatste versie van je favoriete programma installeren. Portable Linux Apps belooft dit ook onder Linux waar te maken, maar is dat echt zo? Wij zochten het uit!
P
ackage managers zoals aptitude, yum en zypper -of hun grafische frontends- zijn een onmisbaar element in moderne Linux-distributies. Ze staan in voor de installatie van het besturingssysteem zelf en voor de updates nadien: denk maar aan security updates of een nieuwe distributie-release. Maar ook de meeste programma’s installeer je gewoon via je package manager. De distributies bevatten allemaal een breed gamma aan open source software in hun repositories. Wil je toch eens een programma installeren dat niet in jouw distributie zit? Soms kan je dat oplossen door pakketten -bijvoorbeeld in .deb- of .rpm-formaat- te downloaden en manueel te installeren. Daarvoor krijg je dan geen automatische updates, want je package manager weet niet waar die updates te vinden zijn. Dat los op je op door een extra repository toe te voegen aan je package manager. Tenminste, als de auteur van de software die repository voorziet.
EENVOUDIG PACKAGEN Je staat er wellicht niet bij stil, maar het packagen van software is een behoorlijk tijdrovende klus.
10
PortApps.indd 10
Dat geldt vooral voor de kleinere ontwikkelaar wiens software nog niet is opgenomen in de officiële distributie-repositie. Zij moeten immers zélf pakketten voorzien als zij nieuwe gebruikers willen aantrekken. Want wie wilt er nog software installeren via een .tar. gz-bestand of een installatiescript? Maar dat packagen is makkelijker gezegd dan gedaan. Om te beginnen bestaan er verschillende formaten voor packages. De twee meest gebruikte zijn .deb (voor Debian en Ubuntu) en .rpm (voor Fedora en openSUSE). Maar dat betekent niet dat twee pakketten volstaan voor alle distributies... De namen van de dependancies (software waarvan het programma afhankelijk is voor een goede werking) kunnen namelijk erg verschillen van distributie tot distributie. Bovendien zijn de meeste programma’s gecompileerd voor een bepaalde architectuur, dus heb je op zijn minst afzonderlijke 32- en 64-bits-packages nodig voor de Intel-architectuur. Tot slot werken pakketten voor nieuwe distributies meestal niet in oudere distributies, dus moet je per distributie en per architectuur ook nog eens meerdere versies aanbieden! Dat is al gauw
te veel van het goede voor de modale hobbyprogrammeur. Voor erg nieuwe programma’s bestaan er dus vaak nog geen goede packages. Dat maakt het installeren van die software er natuurlijk niet gemakkelijker op! Een gelijkaardig probleem doet zich voor bij nieuwe versies van grote programma’s, zoals Firefox of VLC. Die programma’s zijn aanwezig in de repositories van alle distributies: de ontwikkelaars zelf bieden dus geen packages aan. Maar de nieuwste versie wordt pas opgenomen in de officiële repositories bij de
volgende distributie-upgrade. Gebruikers moeten dan ook zes maanden (Ubuntu, Fedora, ...) tot zelfs twee jaar (Debian stable, CentOS, ...) wachten vooraleer zij die versie kunnen installeren! Uiteraard bestaan er al packages voor de volgende release van je distributie, maar die kan je niet zomaar installeren. Meestal hangen die packages af van nieuwere library-versies dan degene die op jouw systeem staan. In praktijk ben je dus verplicht om steeds te updaten naar de laatste distributie als je nieuwere software wilt draaien. Dat klinkt op zich
1 Firefox als portable Linux app. Helaas niet helemaal up-to-date...
magazine
18-09-13 15:15
WORKSHOP
logisch, maar het is niet in alle omstandigheden even wenselijk. In bedrijfs- of schoolomgevingen wil je namelijk geen twee keer per jaar alle computers upgraden. Dan gebruik je liever een distributie zoals Ubuntu LTS of CentOS met jarenlange security updates. Zou het niet handig zijn als je ook in die distributies selectief nieuwere versies van bepaalde programma’s kon installeren? Gebruikers van Windows XP kunnen toch ook niet alleen software installeren van 10 jaar geleden?
PORTABLE APPS Je kent allicht het Portable Appsproject, dat een groot aantal open source programma’s voor Windows aanbiedt. Het voordeel van die Portable Apps is dat je ze niet als Administrator hoeft te installeren in Windows om ze te kunnen gebruiken. De meeste apps kan je gewoon starten zonder verdere installatie. Dat is vooral handig als je ze op een usb-stick plaatst: zo heb je overal je favoriete programma’s bij je. Andere portable apps moet je wel installeren, maar dat kan ook als gewone gebruiker in bijvoorbeeld de Mijn Documenten-folder. Portable Apps zijn dan ook erg populair om extra software te installeren op dichtgetimmerde bedrijfscomputers. Helaas werken de Portable Apps enkel onder Windows, tenzij je met Wine aan de slag gaat. Maar sinds enkele jaren bestaan er ook de Portable Linux Apps. Die hebben niets te maken met de Portable Apps voor Windows, al werken ze op een gelijkaardige manier. De Linux Portable Apps gebruiken het AppImage-formaat, dat van volgende uitgangspunten vertrekt: • één applicatie = één bestand. • de applicatie is distributieonafhankelijk • de applicatie mag het onderliggende besturingssysteem niet wijzigen • je kunt de applicatie van elke locatie starten • je moet de applicatie niet installeren voor je ze kan starten In zekere zin is een AppImage dus voor een applicatie, wat een live-
2 Je kunt een portable app net zoals een iso-bestand mounten om de inhoud te bekijken
cd is voor een Linux-distributie. De bedoeling is dat je elke applicatie meteen na het downloaden ervan kan starten. Het app bestand bevat het programma zelf én alle benodigde extra libraries. Je moet dus geen dependancies installeren en je hebt ook geen root-rechten nodig. Althans, dat is de theorie.
HET AANBOD Het succes van een project zoals Portable Linux Apps staat of valt natuurlijk met het aanbod van applicaties. Helaas valt dat voorlopig erg mager uit. Op de downloadpagina van Sourceforge vind je een tweehonderdtal downloads, waarvan het merendeel al minstens twee jaar oud is. Het is hoog tijd dat iemand die packages eens up-to-date brengt! Voor gamers daarentegen hebben we goed nieuws: op de website van Portable Linux Games vind je een 150-tal populaire games als Portable Linux App. En die zijn -op het ogenblik van schrijven- over het algemeen wél up-to-date. Een nadeel is wel dat de momenteel beschikbare Portable Linux Apps steeds 32-bits zijn. Misschien begrijpelijk als je maar één download wilt aanbieden die op alle Intel-compatible computers werkt, maar ideaal is het niet. Op 64-bitssystemen moet je namelijk nog een boel 32-bits systeemlibraries installeren om dergelijke programma’s te starten. Voor de Portable Linux Games vind je uitgebreide instructies hoe je dit moet doen (zie referenties). Programma’s zomaar starten
zonder installatie zit er dus niet in op 64-bitssystemen, maar dit minpunt kunnen we nog door de vingers zien, aangezien het niet inherent is aan het AppImageformaat. Het is best mogelijk om 64-bitssoftware te packagen als portable app, alleen is dat nog niet vaak gebeurd. Op de Portable Linux Apps-website vind je zelfs 64-bits versies van de AppImage-tools (zie referenties). Je kunt dus probleemloos aan de slag met portable apps in een 64-bitomgeving, mits je ze zelf wilt packagen.
APPIMAGE-FORMAAT Hoewel er momenteel nog niet veel Portable Linux Apps beschikbaar zijn, is de technologie erachter wel interessant. Daarom bekijken we even in detail hoe zo’n portable app nu precies in elkaar zit. Het appbestand is in feite niets meer dan een iso-bestand, voorzien van een kleine executable om die
iso te mounten en het eigenlijke programma te starten. De iso bevat alle benodigde bestanden: de binaries, libraries, eventuele dependancies die niet standaard in elke Linux-distributie aanwezig zijn, configuratiebestanden, icoontjes, etc. Dit alles is bovendien gecomprimeerd met zisofs. Het klinkt misschien een beetje gek dat je een binary gewoon als iso kan mounten. Maar het is wel handig voor troubleshooting als een app niet wil werken. In afbeelding 2 zie je een voorbeeld van de Firefox portable app. Het AppRun-bestand is een executable die het eigenlijke programma start. Het .desktop-bestand bevat het commando om dat te doen. Dit bestand gebruikt dezelfde syntax als de menu-items in jouw distributie (de bestanden onder /usr/share/applications). Verder vind je nog een icoontje (firefox. png) en tot slot de eigenlijke software onder de usr-directory (zie listing 1).
LISTING 1 $ find appdir/ -type f | head -30 AppRun firefox.desktop firefox.png usr/bin/firefox usr/bin/firefox-20.0/application.ini usr/bin/firefox-20.0/blocklist.xml usr/bin/firefox-20.0/chrome/icons/default/default16.png usr/bin/firefox-20.0/chrome/icons/default/default32.png usr/bin/firefox-20.0/chrome/icons/default/default48.png usr/bin/firefox-20.0/chrome.manifest usr/bin/firefox-20.0/components/binary.manifest usr/bin/firefox-20.0/components/libbrowsercomps.so usr/bin/firefox-20.0/components/libdbusservice.so usr/bin/firefox-20.0/components/libmozgnome.so
www.linuxmag.nl I 04 2013 11
PortApps.indd 11
18-09-13 15:15
usr/bin/firefox-20.0/crashreporter usr/bin/firefox-20.0/crashreporter.ini usr/bin/firefox-20.0/crashreporter-override.ini usr/bin/firefox-20.0/defaults/pref/channel-prefs.js usr/bin/firefox-20.0/dependentlibs.list usr/bin/firefox-20.0/dictionaries/en-US.aff usr/bin/firefox-20.0/dictionaries/en-US.dic usr/bin/firefox-20.0/extensions/{972ce4c6-7e08-4474a285-3208198ce6fd}/icon.png usr/bin/firefox-20.0/extensions/{972ce4c6-7e08-4474a285-3208198ce6fd}/install.rdf usr/bin/firefox-20.0/firefox usr/bin/firefox-20.0/firefox-bin usr/bin/firefox-20.0/icons/mozicon128.png usr/bin/firefox-20.0/icons/updater.png usr/bin/firefox-20.0/libfreebl3.chk usr/bin/firefox-20.0/libfreebl3.so usr/bin/firefox-20.0/libmozalloc.so ...
ZELF PACKAGEN Het AppImage-formaat lijkt misschien eenvoudig, het packagen van software tot een portable app is toch wat ingewikkelder. Download eerst de AppImageKit met de nodige tools om je eigen portable apps te maken. Een nieuwe app maak je aan op basis van de in afbeelding 2 getoonde directory-structuur. Die zogenaamde AppDir kan je volgens omzetten in een portable app met de grafische tool AppImageAssistant. De moeilijkheid is nu om uit te vissen welke dependancies je moet opnemen in je AppDir om een werkbare applicatie te verkrijgen. Libraries die op elk Linux-systeem aanwezig zijn (zoals libc of libgtk) hoef je natuurlijk niet op te nemen. Daarom is het erg belangrijk om je app na het packagen uitgebreid te testen in verschillende distributies. Sommige distributies bevatten standaard misschien minder (of andere) libraries dan degene waarin jij jouw app gemaakt hebt. Voor het testen gebruik je ook best standaardinstallaties zonder extra sofware. Alleen zo weet je absoluut zeker of je wel alle extra libraries in je applicatie opgenomen hebt. Een virtuele machine met een live-cd kan daarvoor al volstaan. VALKUILEN Ook het kiezen van de correct gecompileerde binary voor jouw
12
PortApps.indd 12
app is minder evident dan het lijkt. Je bent misschien geneigd om een binary te nemen van een zo recent mogelijke distributie, bijvoorbeeld Debian unstable. Dat bespaart je al de moeite om de applicatie zelf te compileren, nietwaar? Leuk bedacht, maar dat geeft waarschijnlijk problemen als je de binary op een ouder systeem wilt starten. De binary is immers gecompileerd met een nieuwere versie van glibc of andere libraries. En oudere software draait meestal prima met nieuwere glibc-versies, omgekeerd geldt dat natuurlijk niet! Ga je zelf software compileren voor een portable app? Doe dat dan op de oudst mogelijk distributie waarop je jouw app nog wilt draaien, bijvoorbeeld Ubuntu 10.04 LTS of CentOS 5. Met de create-appimage-tool kan je het compileren overslaan, maar in de praktijk is het nut ervan eerder beperkt. createappimage downloadt namelijk een programma en al zijn dependancies uit de repositories van je distributie en maakt daarvan een AppImage. Doe je dit op een nieuwe distributie (om nieuwe software te packagen), dan werkt de portable app wellicht niet op oudere distributies. Doe je dit op een oudere distributie, dan zit je met oudere software opgescheept. Laat dat nu net één van de problemen zijn die Portable Linux Apps probeert op te lossen!
3 Met AppImageAssistant maak je een portable app van een AppDir.
Zelf compileren is dus vaak de enige optie als je nieuwe software wilt packagen voor oudere distributies. Een laatste potentieel struikelblok is het feit dat de binaries in een portable app geen absolute paden naar andere binaries mogen bevatten. Dat is ook logisch, want dan zouden ze niet meer gestart kunnen worden vanaf elke locatie. Maak je gebruik van create-appimage, dan hoef je je hier niet om te bekommeren. Voorzie je zelf de binaries, controleer dan zeker met het strings-commando of het geen absolute paden meer bevat. Is dit toch het geval, dan moet je dit ofwel in de code aanpassen, ofwel de binary patchen. Ook scripts geschreven in bash, Perl, Python enzovoorts mogen geen absolute paden bevatten, maar die kan je uiteraard gemakkelijker aanpassen. Hetzelfde geldt trouwens voor de libraries in je portable app: voor meer informatie verwijzen we je naar de AppImageKit-documentatie.
maar in de praktijk zijn er toch enkele praktische bezwaren. Zo is het aanbod aan portable apps gewoon nog te klein en te verouderd en zijn er nauwelijks 64-bitsversies beschikbaar. Zelf portable apps packages is ook niet zo eenvoudig en behoorlijk tijdrovend. Voorlopig zijn Portable Apps dus vooral interessant voor ontwikkelaars die hun software beschikbaar willen maken voor verschillende distributies. Voor de modale gebruiker biedt het huidige aanbod portable apps weinig meerwaarde, tenzij je vooral geïnteresseerd bent in games. Het aanbod van Portable Linux Games is immers wél de moeite.
LINKS Portable Linux Apps http://portablelinuxapps.org Portable Linux Games http://www.portablelinuxgames.org Portable Linux Games op 64-bit
TOT SLOT Met Portable Linux Apps kan je dezelfde Linux applicatie gemakkelijk in verschillende distributies draaien, wat ideaal is om nieuwe software snel te packagen. De techniek erachter doet wat het moet doen,
installeren http://sourceforge.net/p/pg4l/wiki/ Setup%20a%2064bit%20system%20 to%20run%2032bit%20 AppImages AppImageKit 64-bit http://portablelinuxapps.org/64/
magazine
18-09-13 15:15
Gijs Hillenius
Open source aan de Stille Oceaan
Afgelegen eilanden doorbreken isolatie
Vlieland Hoe zou het eigenlijk zijn met de gemeente Vlieland? In 2006 was het één van de handvol gemeenten die begon met het inzetten van open source op de desktop. Ze draaiden er toen OpenOffice. org, als vervanger voor WordPerfect. Wie nu de zoekmachine op de site probeert, vindt daar geen spoor meer van terug. De IT-afdeling is nu onderdeel van de gemeente Heerenveen, vertelt de bode. Dat geeft te denken. Dat is immers die gemeente die in 2010 afzag van de overstap naar OpenOffice.
Wat hebben overheidsinstanties op Frans-Polynesië, de Salomonseilanden en de Canarische Eilanden met elkaar gemeen? Hier zetten de afgezonderde autoriteiten open source in. Vooral de eerstgenoemde twee doorbreken zo hun isolatie. De inzet van open source bekort er immers reis- en wachttijden.
H
et verste weg, en toch het bekendst, is de inzet in Frans-Polynesië, 128 eilanden in de zuidelijke Stille Oceaan. Het bekendst? Zeker, iedereen weet immers van de inzet van Ubuntu Linux door de Gendarmerie; het is Europa’s grootste overheidsomschakeling. De Gendarmerie zet een slordige 90 duizend desktops over naar GendUbuntu en bespaart daarmee miljoenen. Met inbegrip van alle posten in Frans-Polynesië. De anekdote is weliswaar drie jaar oud, maar blijft kenmerkend voor de voordelen van Unix-systemen wat betreft beheer en onderhoud.
IT’er en Luitenant-kolonel bij de Gendarmerie Xavier Guimard, in maart 2009 één van de belangrijkste sprekers op het NOiV-jaarcongres, vertelt hoe de overstap naar het open sourcebesturingssysteem de Gendarmerie helpt de kosten voor onderhoud te verlagen. Het is véél gemakkelijker, zegt hij. “Vroeger was één van ons een heel jaar op reis van de ene buitenpost in Frans-Polynesië naar de andere, om de antivirussoftware bij te werken op alle desktop-pc’s. En was-ie teruggekeerd, kon onze collega eigenlijk meteen weer weg, om opnieuw te beginnen. Een soortgelijke operatie is nu
Heel gewoon op de Canarische Eilanden Zo bijzonder als de inzet van open source is op deze afgelegen eilanden, zo gewoon is deze soort van softwareoplossing bij de overheden van de Canarische Eilanden in Spanje. De overheid van deze archipel moedigt de inzet al jaren aan. Ze gebruiken het zelf voor telefonie, voor een deel van de overheidsdesktops en zetten het in op alle scholen. Vorige zomer haalde Las Palmas, de grootste stad in de archipel, het nieuws met de aankondiging van de overstap naar LibreOffice, op al de 1200 desktop-pc’s van de stad. En open source-bedrijf Red Hat leverde eerder dit jaar een groot virtualisatieproject op voor de regering van deze autonome regio. De eilanden werken zelfs actief mee als softwareontwikkelaar: vorig jaar werd de eerste versie van Platino gepubliceerd, software die overheidsdiensten via het internet aanbiedt aan burgers en bedrijven.
voltooid binnen twee weken en vereist geen reizen.” Kanotocht Er zijn meer overheden die deze voordelen weten te waarderen. Ook op de Salomonseilanden, ietsje minder afgelegen, wordt open source met succes ingezet om reis- en wachttijden fors te bekorten. Hier gaat het om de implementatie van Ipath, een open source-samenwerkingsplatform voor medisch specialisten. Het wordt wereldwijd al gebruikt door zo’n vierduizend medisch specialisten, onder wie de oorspronkelijke bedenkers, tumorspecialisten in Duitsland en Zwitserland die er hun wekelijkse online bijeenkomsten mee organiseren. Ipath begon in 2001, als een onderzoeksproject van de Universiteit van Basel op de afdeling Pathologie. Eén van de Zwitserse universitaire specialisten nam de software enkele jaren geleden mee naar zijn nieuwe baan, als huisarts op de Salomonseilanden. Sindsdien vermindert Ipath de tijd die nodig is om ernstige medische problemen te diagnosticeren. In plaats van tot twee weken te wachten - de
gegevens gaan per boot naar het ziekenhuis Brisbane, in Australië, en op dezelfde tijdrovende manier komt de diagnose weerom, krijgt de dokter nu zo’n advies in een dag of twee. Dat is op de Salomonseilanden fijn voor meer dan alleen de arts en de patiënt. De eilandbewoners reizen hier voornamelijk per kano en als er iemand ernstig ziek is, gaat de hele familie mee naar de kliniek. “De kliniek kan die families natuurlijk onmogelijk herbergen, en al helemaal niet gedurende twee weken. De inzet van Ipath scheelt daarom een hoop,” vertelt Monika Hubler op de Medetel-conferentie in Luxemburg in maart dit jaar. Ze werkt als administratrice voor het bedrijf dat Ipath nu voor de universiteit verder ontwikkelt. Ze kondigt onder meer aan dat de ontwikkelaars bestuderen hoe ze open source videoconferencingoplossingen kunnen integreren (Big Blue Button). De ontwikkelaars willen daarnaast mobiele apparaten en smartphones ondersteunen.
www.linuxmag.nl I 04 2013 13
OsZuidzee.indd 13
18-09-13 15:16