Sie sind auf Seite 1von 124

02/15

DIE ZEITSCHRIFT FR LINUX-PROFESSIONALS

Projekt-Tools fr
verteilte Teams

Linux-intern

Im Vergleichstest: Redmine, Open Project,


Basecamp und Zoho Projects S. 54

Binder und Kdbus: Neue


Einfacher zu installieren und
Methoden der Interprozess- erstmals in drei Varianten
Kommunikation S. 100
erhltlich S. 50

Fedora 21

E-Mail, aber sicher

Wie man Nachrichten heute vor Nachrichtendiensten verbirgt


Q Weil PGP und Gnu PG unpraktisch

zu handhaben sind, schlgt bald


die Stunde der Erben S. 32
Q Alles neu: Phil Zimmermanns Dime

soll Tor-hnlich agieren S. 38


Q Statt STARTTLS: Transportver-

schlsselung per DANE S. 42


Q Dmarc prft die Absender S. 46

Q Schlanke

Spezial-Distributionen fr die Cloud S. 70


Q Blickkontakt mit Touch:
Raspi-TFT-Display
S. 86

Knatsch im Hause Debian: Warum sich die Austritte in letzter Zeit hufen S. 26
www.linux-magazin.de

Deutschland

6,40

sterreich

7,05

Schweiz

sfr 12,80

Benelux

7,50

Spanien

8,30

Italien

8,30

4 192587 306401

02

02/2015

Editorial
www.linux-magazin.de

Login

Vollspeed
Wenn ein Auto aus Karbonfasern und Leichtbauteilen gebaut ist und aus seinem rhrenden Zwlfzylinder-Motor 751 Pferdestrken galoppieren, dann ahnt
selbst der notorische U-Bahn-Fahrer: Dieses Gefhrt ist nicht zum Transport der
Zwillinge zum Fltenunterricht gedacht. Dass es von 0 auf 100 in 2,8 Sekunden
beschleunigt und die Tachonadel erst bei 355 km/h hngen bleibt, unterstreicht
den Eindruck. Auf die Bhne rollt gerade der Lamborghini Venenodas, das mit
rund 3,5 Millionen Euro derzeit teuerste straentaugliche Serienauto der Welt.
Die Karbon gewordene Unvernunft versetzt einen Teil der Zuschauer emotional
in einen Zustand, den er zuletzt als Fnfjhriger beim Anblick der Eisenbahn unter dem hell erleuchteten Christbaum hatte. Einen anderen Teil empren solche
Autos als kologische Dinosauriere, denen das Weltklima am Auspuff vorbeigeht.
Jan Kleinert, Chefredakteur

Dass der Hersteller den Venenodas auf drei Stck limitiert, mildert das globale
Problem vielleicht genug, um den Blick frei zu machen auf eine andere bemerkenswerte Eigenschaft der Marke: Da niemand einen Lamborghini verschrottet, sind die Vertragswerksttten
extra fr die Arbeit auch mit alten Modellen geschult. ber ein Webportal knnen sie viele Original-Ersatzteile
aus der 51-jhrigen Firmengeschichte bestellen. Ist einmal ein Spezialteil nicht vorrtig, fertigen Spezialisten
es nach den alten Plnen neu an. Arrivederci Wegwerfgesellschaft, willkommen in der Service-Oase!
Jetzt muss dieser Text eine gefhrliche Spitzkehre nehmen. Also Fu vom Gas, bremsen, Ideallinie nicht verlassen und beim Rausbeschleunigen auf die Traktion der Rder achten. Geschafft, es knnte aber noch etwas
quietschen, wenn der Wagen auf die Zielgerade Joomla 2.5 eingeschwenkt ist. Schon die Benutzer der Version
1.7 des Content Management System kamen 2012 alle beim ntigen Umstieg auf die 2.5 heftigst in Schlingern, da
die Community keinen Pfad vorgesehen hatte, um die eigenen Inhalte in die damals neue Version zu bekommen.
Jetzt wiederholt sich das Ganze in abgemilderter Form wieder: Noch vor wenigen Monaten rieten die JoomlaLeute 2.5-Benutzern, bei der Version zu bleiben, solange sie keine Features der 3er-Version vermissten. Mit
dem Wartungsrelease 2.5.28 nun endet berraschend die Untersttzung des Zweiges.
Die Macher schreiben verharmlosend: Anwender sollten nicht in Panik verfallen, vorhandene Seiten werden
nicht von heute auf morgen am 31. Dezember aufhren zu funktionieren. Dennoch muss jeder Anwender der
Tatsache ins Auge sehen, dass er nun auf nicht lnger aktiv untersttzte Software zurckgreift. Verantwortungsbewusste Anwender knnen also nur kurzfristig die fllige Aktualisierung ihrer Seiten auf Joomla 3
aufschieben, mittel- und langfristig stellt dies jedoch keine ernsthafte Option dar.
Eine Webanwendung, die sonst alle ein, zwei Monate ein Sicherheitsupdate verpasst bekam, kann man in der Tat
nicht mehr lange laufen lassen. Zwar ist diesmal der Upgradeprozess geklrt. Aber praktisch jeder Anwender
hat diverse Module oder andere Erweiterungen von Drittanbietern installiert, und ob es dafr 3.0-kompatible
Varianten gibt und ob die im Positivfall zum vorhanden Content und Setup passen, steht in den Sternen.
Niemand stemmt sich gegen den technischen Fortschritt, nicht bei Automobilen und erst recht nicht beim
Webapplikationen. Aber der Anwender sollte eine realistische Chance haben, in vernnftigen Zeitrumen die
Modellwechsel mitzumachen auch auch mal einen auszulassen. Denn Joungtimer haben auch ihren Reiz,
selbst auerhalb italienischer Rennstlle.

02/2015

Inhalt
02/2015
www.linux-magazin.de

Ob private oder betriebliche Kommunikation das Unbehagen wchst. Denn Geheimdienste


und Mitbewerber trachten danach, das technologische Urgestein E-Mail als sprudelnde Quelle
abzuschpfen. Der Schwerpunkt dieser Ausgabe informiert ber Gegenmanahmen: Verschlsselnde Clients, Dime das ehemalige Darkmail , DANE und Absenderauthentifikation.

Aktuell
6

12

News
Q EU-Parlament will Google spalten
Q Devuan bringt Debian Systemd-frei
Q Limux: Reaktion der Opposition
Q Markenstreit: Gnome vs. Groupon

Titelthema: E-Mail, aber sicher


32
Titel

Zahlen & Trends


Microsoft gibt Dotnet Core frei
Q Niedersachsen: Polizei will Windows
Q Ubuntu diskutiert Flash-Zukunft
Q Eco-Verband fordert offene WLANs

Client-Sicherheit
PGP oder Gnu PG bieten zwar viel Sicherheit, handhaben sich aber so umstndlich, dass kaum jemand sie benutzt.

42

Mehr Transportsicherheit
Wer glaubt, TLS alleine mache seinen
Mailverkehr sicherer, der irrt. Erst DANE
sorgt dafr, dass niemand unterwegs die
Verschlsselung ausknipsen kann.

PEP verifiziert die Schlssel initial mit englischen oder deutschen Wortgruppen, die sich
gut am Telefon diktieren lassen.

38

Die Dime-Revolution
Alles neu bei digitaler Post will das frhere Darkmail machen.
46

Die Webseite der Open Cloud Alliance malt der


offenen Cloud eine rosige Zukunft.

18

OSMC 2014
Notizen von der Open Source Monitoring
Conference 2014.

20

Susecon in Orlando
In Florida stellte Suse erstmals alle
Features des neuen SLES 12 vor.

26

Knatsch bei Debian


Zerfllt das Debian-Projekt?

Service
3 Editorial
114 IT-Profimarkt
120 Veranstaltungen
120 Inserenten
121 Impressum
122 Vorschau

Fr den sicheren Transport braucht es auch


eine zuverlssige Verschlsselung.

Ladar Levison machte seinen Mailhoster Lavabit lieber zu, als mit der NSA zu kooperieren.

DELUG-DVD
Fedora 21

(64 Bit)
Eben erst erschienen, und hier
schon als ISO auf DVD:
Fedora Workstation fr PCs

SLES 12
Bootet von der DVD: 60 Tage lang
laufende Vollversion (64 Bit)

Mail-Adressen verifizieren
Wem DKIM oder SPF nicht reichen, der
setzt auf Dmarc, um Mails zu filtern.

In Sachen Spam versteht Yahoo keinen Spa,


macht es so aber gerade Mailinglisten schwer.

Details zu DVDInhalten auf S. 49

Verteidigen lernen
600-Seiten-Klassiker Kenne deinen
Feind komplett als PDF

Susecon 2014
Keynotes-Videos aus Orlando.
Auerdem: Videomaterial vom
ersten Offenen IT-Gipfel in Hamburg

02/2015

Inhalt
02/2015

70

Software
49

Einfhrung
Auf der DELUG-DVD: SLES 12, Videos von
der Susecon, die Groupware Tine 2.0 in
einer virtuellen Maschine und Fedora 21.

50

Fedora 21
Die neue Red-Hat-Desktop-Distribution
will Macbooks das Frchten lehren.

Titel

Lift in die Wolken


Abgespeckt, mageschneidert und
managebar: Open-Source-Cloud-Systeme wollen es dem Administrator so
einfach wie mglich machen.

110

Know-how

Sysadmin
69

Einfhrung
Aus dem Alltag eines Sysadmin: Charly
empfiehlt Metasploitable.

70

Cloud-Spezialisten
Betriebssysteme fr die Cloud: OSv,
Cirros, Atomic und Snappy.

Titel

80

Schirmherr
Bereits im Morgengrauen lsst Perlmeister Mike Schilli die aktuelle Wettervorhersage einholen. Wird er heute
einen Regenschirm brauchen?

96

Raspi mit Nagios


Kleiner berwachungsserver mit und fr
den Raspberry Pi.

100 Android IPC


Titel
Zeitgeme Interprozesskommunikation
erlauben Androids Binder oder Kdbus.

Skalierbarer Mail-Storage
Der beliebteste IMAP-Server im Tandem
mit Amazon: Fast beliebig skalierbarer
Mailspeicher mit Dovecot, Ceph und S3.

Deutlich verbessert und klarer prsentiert


sich Fedoras Installer Anaconda.

54
Titel

Auf der Ebene der Dienste und Prozesse eines


Linux-Systems flitzen Nachrichten hin und her.

Bitparade
Projektmanagement in der Cloud.
Freier Speicher ist das A und O jedes IMAP-Servers. Amazon hat davon genug im Angebot.

Programmieren
106

C++11 - Folge 20
Modernes C++ in der Praxis : Static
Asserts und die Traits-Bibliothek.

110

Perl-Snapshot
Mike Schillis Perl-Skript erkundigt sich
nach dem Wetter.

Hardware
86
Titel

Viermal kollaboratives Projektmanagement:


Basemap, Open Project, Redmine und Zoho.

64

Tooltipps
Im Kurztest: Pkgdiff 1.6.3, Load Avg 2.0,
Mlock 0.2, LXCF 0.11, Mlterm 3.4.0, Pimp
my Log 1.7.4.

Das Framework fr Linux Containers LXCF erzeugt im Handumdrehen neue Instanzen.

Raspi-Monitor
Nicht nur fr Bastler ein spannendes
Projekt ist der schicke Mini-Touchscreen
fr den Raspberry Pi.

Forum
90

Recht
Nicht-kommerziell? Die CreativeCommons-Lizenz ist nicht klar genug.

94

Tux liest
Bcher ber Git und
C++-Entwicklung

Den Weather-Underground-API-Key rckt der


Server gegen eine E-Mail-Adresse heraus.

www.linux-magazin.de

50 Apfelschwemme
Cloud, Server, Workstation: Drei Flavors zeichnen die neue Fedora aus,
aber auch jede Menge neuer Features
und Projekte, alles fr den Power User.

02/2015

Aktuell
News
www.linux-magazin.de

News
Zertifizierungsbehrde fr HTTPS
Die Electronic Frontier Foundation hat fr 2015 mit Lets
Encrypt eine neue Zertifizierungsbehrde angekndigt,
die weltweit den Weg fr
den bergang von HTTP zu
HTTPS ebnen soll. Zu den Untersttzern gehren Mozilla,
Cisco, Akamai, Identrust und
Forscher der Universitt Michigan.
Zu den Herausforderungen eines HTTPS-Deployment zhlt
die EFF die brokratischen
Strukturen, die Komplexitt
und die Kosten der Zertifikate. Wechselt ein Anbieter von
HTTP auf HTTPS, will Lets
Encrypt knftig automatisch
freie Zertifikate fr seine Webseiten ausstellen und verwalten. Die Setup-Dauer soll 20
bis 30 Sekunden betragen,

statt der bislang ein bis drei


Stunden.
Wer will, kann an Lets Encrypt mitarbeiten, der Quellcode wartet unter [https://
github.com/letsencrypt/].
Zwischen den Webservern
und der CA soll laut Plan ein
von der EFF mitentwickeltes
Protokoll namens Acme zum
Einsatz kommen, das die Domain-Validierung verbessert.
Verwalten soll die neue CA
eine Non-Profit-Organisation
namens Internet Security ReQ
search Group (ISRG).

Sandisk plant 16-TByte-SSD


Nachdem Intel angekndigt
hat, in den nchsten zwei
Jahren 10-TByte-SSDs entwickeln zu wollen, bertrumpft
Sandisk dies nun und verspricht, bis 2016 SSDs mit einer Kapazitt von 16 TByte zu
liefern, meldet die Onlineseite
The Register.
Wie Marketing-Mann Brian
Cox erklrte, werde die Firma
ihre 4-TByte-SSDs so weiterentwickeln, dass sie die Kapazitt jhrlich verdoppeln, im
nchsten Jahr auf 8 TByte, im
bernchsten auf 16 TByte.

Daneben sieht Brian Cox Bedarf fr so genannte WormLaufwerke (Write once/Read


many), auf denen sich zum
Beispiel Bilder und Videos
von Facebook, Flickr oder
Netflix archivieren lassen.
Dafr knnte sich TLC-Flash
(Triple Level Cell) eignen, bei
dem jede Speicherzelle drei
Bits ablegen kann. Dessen geringere Widerstandsfhigkeit
gegen Schreiboperationen
wrde in diesem speziellen
Anwendungsfall keine Rolle
spielen.
Q

EU-Parlament will Google spalten


Das EU-Parlament hat eine
Petition akzeptiert, die sich
dafr ausspricht, groe Internetkonzerne aufzuspalten.
Obwohl Googles Name nicht
explizit fiel, ist Beobachtern
klar, dass Google im Fokus der
Initiative steht. Die vom spanischen Abgeordneten Ramon
Tremosa zusammen mit dem
deutschen CDU-Abgeordneten Andreas Schwab initiierte, allerdings nicht bindende
Resolution will den Suchmaschinenbetrieb von anderen
Aktivitten trennen.
Der Entschluss, den die Abgeordneten Ende November mit
384 gegen 174 Stimmen bei 56
Enthaltungen angenommen
haben, fordert Suchergebnisse, die frei von Verzerrungen
und transparent sind.

Die eigentlich zustndige EUKommission muss sich nicht


an das Votum halten, doch
die Entscheidung erzeugt politischen Druck auf die Kommission. Nach europischem
Wettbewerbsrecht ist es ohnehin nicht unblich, Unternehmen zu entflechten.
In den USA stt die Entscheidung des EU-Parlaments auf
Unverstndnis und Unwillen.
Wir sind zunehmend besorgt
ber einen offensichtlichen
Trend in der Europischen
Union, auslndische Firmen
in Bezug auf die Digitalwirtschaft zu diskriminieren,
schrieben die Vorsitzenden
der Finanzausschsse beider
US-Kongress-Kammern in einem Brief an EU-ParlamentsQ
prsident Martin Schulz.

Fujitsu bringt NAS fr den Mittelstand


Mit dem Primergy SX 1310 M1
hat Fujitsu ein neues Network-Attached-Storage-System
(NAS) fr mittelstndische
Anwender vorgestellt.
Das Gert knne als zentraler
SAN- oder NAS-Speicher fr
bis zu 12 TByte unstrukturierter Daten dienen. Es verfge
ber eine Reihe fortgeschrittener Features wie asynchrone,
wahlweise synchrone Volume-Replikation, Snapshots,
automatisches und Applikations-transparentes Failover,
Agenten-basiertes Backup,

Load Balancing sowie Continuous Data Protection.


Die Raid-Level 5 und 6 realisiert ein dedizierter Hardware-Raidcontroller. Das Betriebssystem luft auf Intels
Xeon-E3-1226-v3-CPU. Unter anderem fr Buffer und
Caches stehen 8 GByte RAM
bereit. Fr eine angemessene
Netzwerkanbindung sorgen
zwei Gigabit-Ethernet-Schnittstellen. Das Primergy SX 1310
M1 vertreibt in Deutschland
etwa Bytec, es soll rund 1200
Q
Euro kosten.

02/2015

Aktuell
Whrend Debian in Zukunft
wohl auf Systemd setzt, machen dessen Kritiker, die
selbsternannten Unix-Veteranen, nun ernst und starten mit Devuan [https://devuan.
org] einen Debian-Fork, der
sich Dev One ausspreche.
Bislang arbeite man an der
Kerninfrastruktur, zu der eine
Webseite, Mailingliste und ein
Paket-Repository gehren.
Das erste Paket sei Devuanbaseconf, ein Installer mit
Preseed von Sysvinit-core
und einigen Devuan-Paketen.
Es verzichte auf Systemd und
setze Systemd-shim ein, wo
Systemd als Abhngigkeit gefordert werde.

Das Bugtracking-System soll


fr viele der Entwicklungstools von Debian funktionieren, ber Github Issues will
man Aufgaben koordinieren.
Das Continuous Integration

Ankndigung von Devuan auf der Webseite.

Bosun: Monitoring von Stack Exchange


Unter einer Open-Source-Lizenz haben die Betreiber von
[http://stackexchange.com] das
hauseigene Monitoring- und
Alerting-System Bosun verffentlicht. Bosun sei entstanden, so schreibt David Fullerton, Vice President fr Engineering bei Stack Exchange,
nachdem man gemerkt habe,
dass der Alarm meist erst
dann losgehe, wenn das Kind
bereits in den Brunnen gefallen sei. Im Idealfall wollen
Admins aber im Vorfeld ber
potenzielle Ausflle Bescheid
wissen. Hinzu kme, dass
sich aus den Alarmmeldungen hufig nicht ablesen lasse, was auf dem System schief
gelaufen ist.
Bosun sei die Antwort von
Stack Exchange auf diese
Probleme und wird von Kyle Brandt und Matt Jibson
entwickelt. Die WebseitenMacher benutzen es seit ein

System soll Code aus Github


holen, ihn in einen JenkinsBuilder schieben und dann in
die Repositories verfrachten.
Viele traditionelle DebianEntwicklertools wolle man

paar Monaten intern und seien wirklich glcklich mit


den Resultaten. Man knne
damit intelligenter messen
und komplexe Alarmsysteme
aufbauen. Die Komponenten
schickten ber ein Json-API
Daten an Bosun, S-Collector
sammle Statistiken ein.
Alarme lieen sich zudem gegen vorherige Versionen einer
Software testen. Verstummen
sie nach der Rcknahme einer
nderung, werde klar, welcher Commit den Alarm ausgelst hat. Funktioniere Redis
nicht, bekomme der Admin
nicht fr jede Instanz eine EMail. Zudem gebe es Vorhersagen, die warnen, dass Festplatten demnchst volllaufen.
Auf der LISA-Konferenz Anfang Dezember in Washington
hat Kyle Brandt das Tool vorgestellt, der Quellcode steht
unter MIT-Lizenz und wartet
Q
auf Github.

aktualisieren, aber letztlich


beibehalten.
Generell mchten die Abtrnnigen eine Debian-artige Infrastruktur aufbauen, aber in
Sachen Brokratie nicht die
Fehler des Projekts wiederholen. Zudem gehe es darum,
die Beziehungen zu Upstream
und Downstream zu verbessern. Das erste Ziel sei, dass
2015 Nutzer von Debian 7
ohne Probleme auf Devuan
1 migrieren knnen. Devuan
soll minimal bleiben und der
Unix-Philosophie folgen, die
laute Tu eine Sache und erledige sie gut. Die Entwickler
rufen dazu auf, sich zu beteiligen und Geld zu spenden. Q

www.linux-magazin.de

News

Devuan startet als Debian-Fork ohne Systemd

02/2015

Aktuell
8

www.linux-magazin.de

News

Limux und die Mnchner Politik: Reaktionen der Opposition


Nach Anfragen von Die Grnen/Rosa Liste und der FDPHUT-Piraten haben die AfD
und erneut die Grnen Nachfragen bei den Mnchner Brgermeistern gestellt. Gibt es
einen Zusammenhang zwischen den berlegungen,
wieder zu Microsoft-basierten
Produkten zurckzukehren,
und der Entscheidung von
Microsoft selbst, seine neue
Deutschland-Zentrale
im
Mnchner Stadtgebiet und

nicht mehr in Unterschleiheim zu bauen? Gab es einen Kontakt zwischen der


Stadtspitze und Microsoft im
Zusammenhang mit einem
mglichen Umstieg?, lautete eine Anfrage Zurck zu
Microsoft Warum? der AfDGruppierung im Stadtrat im
Wortlaut.
Die oppositionellen Grnen
stellten erneut einen Antrag,
der verlangt, die Stadt mge
der von Oberbrgermeister

Reiter angekndigten Effizienz- erst mal eine Zufriedenheitsanalyse voranstellen.


Erst eine solche knne Defizite, Anregungen und Verbesserungsvorschlge aufgreifen,
die dann als Grundlage fr
eine externe Untersuchung
geeignet seien. Die geplante
Konzentration der Befragung
auf die Auswahl des Betriebssystems sei jedoch eine nicht
sinnvolle Verkrzung und
falsche Engfhrung.

Neuer HPC-Server von Dell


Der neue Poweredge C4130
eigne sich laut Hersteller
Dell angesichts seiner hohen
GPU-Dichte besonders fr anspruchsvolle Rechenlasten. Er
biete eine hhere GPU-Dichte
als vergleichbare Wettbewerber. Als 1-HE-Server erreiche
der Poweredge C4130 eine
Leistung von mehr als 7,2
Teraflops bei 20 000 GPU-

Kernen und bringe es auf Performance-pro-Watt-Werte von


4,17 Gigaflops.
Der Poweredge C4130 biete
Raum fr bis zu zwei IntelXeon-E5-2600-v3-Prozessoren,
16 DDR4-Dimm-Steckpltze
und bis zu zwei SATA-SolidState-Laufwerke in 1,8 Zoll.
Anspruchsvolle Berechnungen und Analysen im HPC-

ATP mit neuartiger


Flash-Firmware
Umfeld erledige der Poweredge dank seiner bis zu vier
300-Watt-GPU-Beschleuniger.
Die arbeiten mit Intels XeonPhi-Coprozessoren oder Nvidias Tesla-GPU-Beschleunigern (K40/K80) zusammen,
mit den zweiten verwenden
Kunden auch die Tools GPU
Direct und GPU Boost. Preise
gibt es auf Anfrage bei Dell. Q

Neues Raspberry-Pi-Modell im Handel


Der neue Raspberry Pi A+
ist ab Dezember auch in
Deutschland ab rund 18 Euro
plus Versand erhltlich. Wie
das Modell A benutzt auch

der A+ einen BCM-2835-Prozessor und 256 MByte RAM.


Er ist aber mit 65 mm Lnge im Vergleich zum Modell
A (86 mm) deutlich kleiner,

Das Model A+ auf der Raspberry-Pi-Webseite.

Ob und bis wann das Rathaus


die neuen Anfragen beantwortet, ist noch nicht klar. Die
Anfrage der FDP-HUT-Piraten
nach konkreten Schwachstellen von Limux wartet bereits
seit Juli 2014 auf eine Antwort. Mit der Mnchner IT
Befasste und Lokalpolitiker
berichten, dass bislang niemand der Stadtoberen mit
IT-Mitarbeitern Kontakt aufgenommen habe, der Grund
Q
bleibt unklar.

verbraucht weniger Strom


und enthlt eine Reihe von
Verbesserungen. Dazu zhlen
mehr GPIO-Pins (40 Stck),
ein Steckplatz fr eine MicroSD-Karte und eine bessere
Audio-Untersttzung.
Die Entwickler haben den
Raspberry im Jahr 2011 mit
dem Ziel eingefhrt, eine
Linux-Box fr 25 Dollar anzubieten. Diesen Preis unterbietet das neue Modell A+
noch einmal, unter anderem
verkaufen Element 14 und
Pollin das Gert.
Q

Um die Nachfrage nach sowohl kostengnstigem wie


hochwertigem Flashspeicher
zu befriedigen, hat SSD-Spezialist ATP nach Enterprise Multi Level Cell Flash (EMLC) eine Advanced-MLC-Firmware
(AMLC) entwickelt, die besonders zuverlssig sein soll.
Die neue Technologie kodiere
die Bits, vergleichbar mit der
Single Level Cell (SLC), nur
mit zwei Zustnden anstelle
der blicherweise vier Zustnde, die Multi Level Cell (MLC)
verwendet.
Mit diesem Trick erziele AMLC
nach Aussage von ATP einen
dreifach hheren Datendurchsatz als MLC, einen fnffach
verlngerten Datenerhalt sowie eine 13-mal hhere Lebensdauer (Endurance).
Zunchst mchte der Hersteller drei AMLC-Varianten
anbieten: 2,5-Zoll-SSD, SATA
Slim und M-SATA. Es gibt die
Flashspeicher in Kapazitten
von 8 bis 64 GByte, weitere
Formate und Kapazitten sind
geplant, Preise nennt die FirQ
ma auf Anfrage.

02/2015

Aktuell

Userspace-Stack fr AMDs HSA ist da

Einem Tablet-Betriebssystem
fr Point-of-Sale-Gerte hatte
der Betreiber der Rabatt-Webseite Groupon Anfang November den Namen Gnome verpasst und 28 Trademark-Antrge gestellt. Auf ihrer Webseite reagierten die GnomeEntwickler postwendend auf
den Namensdreh.
Die Gnome-Community sei
entsetzt darber, dass Groupon einen Namen fr sein
Produkt whle, das so starke hnlichkeit mit dem des
Linux-Desktops aufweise. Sie
wundere sich zudem darber,
dass eine Riesenfirma wie
Groupon den Linux-Desktop
nicht kennen soll, schlielich

gebe es das Gnome-Projekt


seit 17 Jahren, seit 2006 auch
als eingetragenes Markenzeichen.
Auf der Webseite der Foundation bat man um Spenden,
um einen potenziellen Rechtsstreit mit Groupon zu finanzieren, was schnell knapp
100000 US-Dollar einbrachte.
Doch der Aufschrei in der
OSS-Community blieb wohl
auch Groupon nicht verborgen. Am 12. November 2014
gab die Gnome Foundation
bekannt, dass die Firma ihr
Produkt umbenennen werde.
Die gesammelten Spenden
sollen nun dem Desktop-ProQ
jekt zugute kommen.

Oded Gabbay betreut den Kerneltreiber fr AMDs Heterogeneous System Architecture


(HSA). Nun hat er auf der
Kernel-Mailingliste mitgeteilt,
dass der HSA-Runtime-Code
unter [https://github.com/HSAFoundation] bereitsteht.
Es handelt sich laut Gabbay
um den kompletten Userspace-Stack, mit dem sich
HSA-Anwendungen mit Kerneln betreiben lassen, die in
Open CL (ISO C99) geschrieben sind und auf den Kerneltreiber amdkfd aufsetzen.
Plne, den Code fr einen
Open-Source-Unterbau zu
verffentlichen, hatte AMD
auf der GDC 14 verlautbart.

Das Repository halte auch einen HSA-Port der Matrix-Multiplikation-Anwendung von


Open CL vor. Dieser knne
zeigen, wie Compiler, Stack,
die Bibliothek libhsakmt
und das amdkfd-Modul zusammenspielen. Neben der
C-Datei der Anwendung liefere man die Quelle des OpenCL-Kernels sowie seine binre
Version aus.
Auch eine Anleitung dazu,
wie Entwickler die HSA-Runtime und die HSA-Anwendung
sowie, mit Hilfe eines modifizierten R600-LLVM-Backend,
den Open-CL-Kernel aus den
Quellen kompilieren, findet
sich auf Github.
Q

www.linux-magazin.de

News

Markenstreit: Gnome gegen Groupon

02/2015

Aktuell
10

www.linux-magazin.de

News

Kurznachrichten
Handbrake 0.10.0: Tool aus Frankreich, mit dem sich Filme transkodieren
lassen. Neu: Handbrake plant Linux-Support fr Intels Quicksync Video,
einen Hardware-basierten H.264-Encoder fr Intel-CPUs und untersttzt
nun dank des x265-Projekts H.265, das Format High Efficiency Video
Coding (HEVC). Die libvpx tritt an die Stelle von Theora (VP3), sie enkodiert VP8 und erzielt wohl eine bessere Qualitt bei geringen Dateigren.
Nicht zuletzt erreicht das Handbrake-GUI fast Feature-Paritt mit der
Kommandozeilenversion. Lizenz: GPL [http://handbrake.fr]
Couch DB 2.0 (Developer Preview): Eine in Erlang geschriebene NoSQLDatenbank unter dem Dach der Apache-Foundation. Neu: Die Developer
Preview bringt eine neue Clustertechnologie mit, die horizontale Skalierbarkeit bietet, und schliet damit zum Konkurrenten Mongo DB auf.
Mango, ein vereinfachtes Abfragesystem fr Couch DB ber Json- und
HTTP-Endpunkte, hat der Hersteller unter die Apache-Lizenz 2.0 gestellt:
Das Feature blieb bislang dem Konkurrenten Mongo DB vorbehalten.
Lizenz: Apache 2.0 [http://couchdb.apache.org]
Icinga 2.2.0: Ein Nachfolger der Monitoring-Software Icinga mit Multithreading-Fhigkeiten. Neu: Icinga-2-HA-Cluster lassen sich dank der neuen
Version einfacher installieren. Ein Setup-Wizard fr die Kommandozeile
hilft beim Einrichten eines Clusters und kmmert sich insbesondere um die
SSH-Zertifikate. Das Clusterprotokoll untersttzt neuerdings CSR-AutoSigning, was es erlaubt, Nodes mit einer einmalig generierten Ticketnummer zu installieren und auf lokal generierte SSL-Zertifikate zu verzichten.
Lizenz: GPLv2 [https://www.icinga.org]

Mozilla ndert Suchmaschinen-Strategie


Mozilla lebt seit 2004 von den
ppigen Einnahmen, die der
bezahlte Einsatz von Google
als Standardbrowser fr
Firefox generiert. Nun streben die Macher des Browsers
einen Strategiewechsel an.
Der besteht darin, nicht mehr
einen einzelnen Suchdienst
als globale Standardsuche
anzubieten, sondern diesen

abhngig von der Region auszuwhlen.


Konkret heit das: In den USA
soll Yahoo die Standardsuchmaschine fr Firefox werden,
in Russland kommt Yandex
zum Zug, in China Baidu. In
allen anderen Lndern erledigt weiter Google die Suche.
Per Mausklick lasse sich der
Dienst zudem stets ndern. Q

Mozilla hat die Suchmaschinen-Strategie fr Firefox gendert.

Math-Fu 1.0: Plattformbergreifende, in C++ geschriebene Geometriebibliothek fr Spiele-Entwickler. Neu: Die Bibliothek bringt Vektor-, Matrixund Quaternion-Klassen, mit denen Spiele-Entwickler die grundlegende
Geometrie umsetzen, unter anderem fr Grafikbibliotheken wie Open
GL. Auch Kalkulationen fr Animationen und realistische physikalische
Bewegungsablufe lassen damit verwirklichen. Entwickler optimieren die
Software mit SIMD-Instruktionen fr ARMs Neon und SSE fr x86. Lizenz:
Apache 2.0 [http://github.com/google/mathfu]
Moodle 2.8: Freie Lernplattform mit Notenmodul, das an Schulen und Universitten zum Einsatz kommt. Neu: Von diversen Usability-Tests profitiert
unter anderem die Leistungsbersicht, deren Interface die Entwickler
verbessert haben. Eine neue einspaltige Ansicht erhht die Lesbarkeit auf
Mobilgerten, das Scrollen funktioniert auf allen Gerten, auch solchen
mit Touchscreens. Eine detaillierte Notenhistorie gibt Aufschluss ber
die Entwicklung des Lernenden, eingegebenen Text speichert Moodle per
Autosave-Funktion. Lizenz: GPLv2 [http://moodle.de]
Tine 2.0: Plattformunabhngige Groupware und CRM-Software. Neu: Die
Caldav-Anbindung hat sich deutlich verbessert, was besonders die OS-XVersion betrifft. Anwender des Caldav-Clients Thunderbird mit dem Add-on
Lightning knnen jetzt doppelte Termine ausblenden, wenn sie gemeinsame Ordner nutzen. Auch neu: Dateien lassen sich aus dem Dateimanager
heraus verffentlichen. Tine 2.0 erzeugt dabei Download-URLs, auf deren
zugehrige Dateien andere Nutzer ohne Authentifizierung und auf Wunsch
zeitlich begrenzt zugreifen. Lizenz: AGPLv3 [http://www.tine20.org]

Rtseln ber enttarnte Hidden Services


Im Rahmen der Operation
Onymous haben das FBI
und Europol im November
gemeinsam 414 versteckte
Sites aus dem Tor-Netzwerk
entfernt, die Geldwsche und
Schmuggel betrieben haben
sollen, und einige Betreiber
verhaftet.
Sie seien von der Operation
Onymous ebenso berrascht
wie die meisten Nutzer, gestehen die Tor-Macher in ihrem
Blog. Regierungsangehrige
htten zahlreiche Tor-Relays
beschlagnahmt, darunter drei
Systeme von Torservers.net,
mehr wisse man nicht und
bitte daher um Hinweise.
Man sei besonders daran interessiert zu verstehen, wie die
Dienste lokalisiert wurden.
Kriminelle und Geheimpolizei
knnten diese Informationen
ausnutzen, um Dissidenten
zu schnappen.

Natrlich hat das Projekt einige Theorien parat, die von


Betreiberfehlern, ber SQL-Injections bis hin zu Bitcoin-DeAnonymisierungen reichen.
Auch stelle man sich die Frage, warum die Operation TorRelays betroffen habe, wenn
es doch eigentlich um Hidden
Services gegangen sei.
Um detailliertere Informationen zu erhalten, warte man
nun auf eine Anklageerhebung, bei der es in demokratischen Lndern blich sei,
dem Richter die Beweise vorzulegen. Bis dahin knne man
nur spekulieren.
Alles in allem sei man ohnehin berrascht, dass die Hidden Services noch am Leben
seien. Man habe wenig Zeit
auf sie verwendet, whrend
die andere Seite viel Entschlossenheit und Ressourcen
mitbringe. (jcb/kki/mfe)
Q

02/2015

Aktuell

Microsoft stellt Dotnet Core unter MIT-Lizenz


Microsoft hat Dotnet Core,
den Kern seiner SoftwareEntwicklungsplattform, unter
die freie MIT-Lizenz gestellt.
Das Dotnet-Core-Repository
unter [https://github.com/dotnet/
corefx] bildet die Basis fr das
knftige Dotnet-Framework 5
und wird von ASP Net Core
und Net Native verwendet.
Zugleich hat Microsoft Dotnet Core an die Dotnet Foundation bergeben. An der ist
auch Xamarin beteiligt, die
Firma der Mono-Entwickler
rund um Miguel de Icaza und
Nat Friedman.
Immo Landwerth, Microsofts
Programm-Manager fr Dotnet, nennt zwei ausschlaggebende Grnde fr den Schritt:
Man wolle die Grundlage fr
ein plattformbergreifendes
Dotnet schaffen und ein strkeres kosystem rund um
Dotnet aufbauen.
Mono spielt in den Plnen
von Microsoft eine wesentli-

che Rolle. Zwar knne man


schon lnger Dotnet-Apps fr
Linux, OS X, Android und
I-OS entwickeln, doch ohne
die Open-Source-Implementierung sei Mono gezwungen,
eine eigene Codebasis aufzubauen. Zwar sei der Quellcode
von Dotnet bereits seit einer
Weile verfgbar, die Lizenz
aber keine wirkliche Open-

Source-Lizenz und nicht von


der Open Source Initiative
anerkannt.
Der Schritt ist Teil von Microsofts jngster Open-SourceStrategie, die seit Amtsantritt
des neuen Firmenchefs Satya
Nadella an Fahrt aufnimmt.
Kritiker halten diese eher fr
erzwungen: Software werde
heute einfach vllig anders

MSDN-Blog

Zahlen & Trends


www.linux-magazin.de

12

Zahlen & Trends

Microsofts Dotnet Core wird Open Source, um die plattformbergreifende Verfgbarkeit zu verbessern.

entwickelt, schreibt Jim Zemlin, Chef der Linux Foundation. Er glaubt, dass Microsoft
schlicht die Konsequenz aus
dieser vernderten Situation
ziehe.
Dazu gehrt auch, dass das
Projekt von Codeplex, Microsofts hauseigener Softwareverwaltung, auf Github
wechselt, weil man laut Landwerth dorthin gehen mchte,
wo die Community ist. Man
akzeptiere auch Codebeitrge
externer Entwickler, wenn
diese sich an der Roadmap
orientieren und den internen
Qualittsansprchen gengen. Potenzielle Dotnet-Programmierer mssen zudem
ein CLA unterzeichnen.
Open-Source-Plne fr Team
Build, MS-Build, Windows
Forms, Windows Presentation
Foundation (WPF) und Silverlight gebe es seines Wissens
nicht, schreibt Landwerth in
Q
den Kommentaren.

Go und Emacs wechseln auf Git


Zwei Projekte wechseln ihre
Versionsverwaltungssysteme:
Emacs und Go wollen unabhngig voneinander knftig
das ursprnglich von Linus
Torvalds entwickelte Git verwenden, aber setzen auf abweichende Plattformen.
Fr die Programmiersprache
Go sei es bereits der dritte
Wechsel des Version Con-

trol Systems (VCS), erklrt


Rob Pile auf der EntwicklerMailingliste. Man habe zunchst intern mit Subversion
gearbeitet, dann mit Perforce
und spter mit Mercurial. Der
neue Umzug auf Git und Git-

hub [https://github.com/google/
go-github] sollte kurz nach
der Verffentlichung der GoVersion 1.4 Anfang Dezember
stattfinden, deren Release sich
aber verschoben hat.
Die Version 1.5 will man dann
komplett ber Github entwickeln. Auch der Issue-Tracker
und das Go-Wiki ziehen um,
fr Codereviews verwende

man eine gehostete Instanz


von Gerrit.
Auch das Emacs-Projekt lsst
seinen Code nun von Git
verwalten. Es verwendet als
Plattform allerdings [savannah.
gnu.org] und begibt sich so in
beste Gesellschaft mit zahlreichen anderen GNU-Tools. Zuletzt hat das Projekt als VCS
Q
Bazaar verwendet.

02/2015

Aktuell
Du, wir knnen jetzt wieder Videos schauen

technisch vertrauliche Informationen enthalte. Das besttigte das Innenministerium


auch dem Linux-Magazin gegenber, die Betrachtung sei
als Nur fr den Dienstgebrauch eingestuft.
Laut der Netzpolitik-Webseite
habe es bei der Polizei von
Niedersachsen ohnehin eine
schleichende
Umstellung
auf Windows gegeben. Im
Mai habe die Polizei bereits
1000 Windows-, Office- und
Server-Lizenzen erworben.
Zudem werde Nivadis das
Niederschsisches Vorgangsbearbeitungs-, Analyse-, Dokumentations- und Informationssystem primr auf

Anzeige

Projekt bringt Kindern Roboter nher


Mussten frher Kinder noch
ihre Eltern um einen C64 anbetteln, werden sie heute mit
auerschulischen Initiativen
rund um IT-Projekte frmlich
zugeschttet. So vom Projekt
Open Roberta, Google, Fraunhofer und Lego gehren dazu.
Technisch ist das Projekt
spannend: ber eine offene
Cloudsoftware lernen Kinder,
die Mindstorm-Roboter des
Roberta-Projekts von Fraunhofer zu steuern.
Der Gedanke hinter dem
Projekt ist weniger verspielt,
denn die groen IT-Firmen
suchen nach eigener Aussage
hnderingend Nachwuchs,
so auch die Initiatoren des
Open-Roberta-Projekts: Der
Grundgedanke des Projekts:
Der Nachwuchs von heute
programmiert fr den Nachwuchs von morgen. Denn laut
Branchenverband Bitkom fehlen den deutschen Unterneh-

men pro Jahr 39 000 ausgebildete IT-Experten, heit es in


der Ankndigung. Google hat
das Projekt mit einer Million
Euro finanziert, Lego steuert
wohl auf Kufernachwuchs
hoffend seine MindstormRoboter bei.
Dank des Cloudansatzes knnen die Kinder auch auerschulisch an Robotern des
Roberta-Projekts basteln, das
EU-weit luft und Schlern
Roboter nherbringt. Dies sei
besonders fr Schulen gnstig, da es dort hufig an leistungsstarken Rechnern mangele, zitiert die Ankndigung
Stefan Wrobel, den Leiter des
Fraunhofer-Instituts fr Intelligente Analyse- und Informationssysteme. Die gnstige
Form der Ausbildung gefllt
auch dem Bundesministerium
fr Bildung und Forschung,
das die Schirmherrschaft
bernimmt.
Q

Windows entwickelt, obwohl


es eigentlich auf Linux laufen soll. Offenbar tun sich die
Entwickler schwer mit Linux,
was dazu fhre, dass Nivadis
beide Systeme untersttzen
msse.
Aus Sicherheitsgrnden wrden sich auerdem auf den
vorhandenen Linux-Rechnern
keine CD-Laufwerke und
USB-Sticks mounten lassen,
was das Betrachten von berwachungsvideos verhindert
habe. Statt nun die Rechte
entsprechend anzupassen,
htten die Admins laut Netzpolitik.org einfach WindowsPCs aufgestellt, bei denen
diese Restriktionen fehlen. Q

Zahlen & Trends

betrachtung sehr wahrscheinlich, heit es in einem internen Schreiben des Landespolizeiprsidenten, aus dem
Netzpolitik.org zitiert.
Diese Analyse ist aber nicht
verfgbar, da sie taktisch und

haitaucher39, Fotolia

Niedersachsens Polizei will


laut Netzpolitik.org 12 000
Rechner zurck auf Microsoft
migrieren und nennt wirtschaftliche Grnde. Die Abkehr von Linux sei auf Basis der Wirtschaftlichkeits-

www.linux-magazin.de

Niedersachsens Polizei will Windows zurck

13

02/2015

Aktuell
Zahlen & Trends
www.linux-magazin.de

14

Ubuntu-Projekt diskutiert knftigen Flash-Support


Auf dem Ubuntu Online Summit 1411 Mitte November haben einige Ubuntu-Entwickler
berlegt, wie sie in Zukunft
mit Adobes Flash-Plugin umgehen. Das Problem: Adobe
will den Support fr sein NPAPI fr Flash 2017 einstellen,
erklrte Entwickler Bryan
Quigley die Situation in seinem Blog.
Whrend Google mit PP-API
bereits eine eigene FlashSchnittstelle mit integrierter
Sandbox fr Chrome und
Chromium anbiete, setze
Ubuntus Standardbrowser
Firefox noch auf NP-API. Man
wolle Flash langfristig loswerden, Firefox aber weiterhin als
Standardbrowser verwenden.
Darauf konnten sich die Entwickler im Rahmen der UOS-

Session einigen. Wegen Flash


auf Chromium als Standardbrowser zu wechseln sende
das falsche Signal.
Dass 2017 niemand mehr
Adobes Flashplayer ber NPAPI verwendet, ist allerdings

fraglich. Die Entwickler wollen nachhelfen und Webseitenbetreiber noch deutlicher


auf das Flash-Problem hinweisen. Zugleich diskutierten
sie alternative Anstze. FlashAlternativen wie Shumway,

Mozillas Shumway gehrt zu den Versuchen, Adobes Flash-Format durch eine


freie Alternative zu ersetzen.

Gnash und Lightspark lehnen


sie ab. Diese fllen lediglich
vorhandene Lcken, zudem
wrde man Adobe permanent
hinterherlaufen.
PP-API in Firefox zu integrieren sei auch keine Lsung,
weil man die Software nicht
maintainen knne. Bleibt also
die Hoffnung, dass sich gengend Webentwickler im Laufe
der nchsten drei Jahre von
Flash verabschieden.
Immerhin habe Canonical
mit Adobe aktuell eine Vereinbarung getroffen, nach der
Canonical Flash sowohl fr
PP-API (Chrome/Chromium)
als auch fr NP-API (Firefox)
ber das Partner-Repository
bereitstelle. Das erleichtere
Entwicklern und Anwendern
Q
das Leben.

Free BSD Foundation erhlt Millionenspende


Die Free BSD Foundation,
die sich ausschlielich ber
Spenden finanziert, hat im
November von Whats-AppMitbegrnder und -CEO Jan
Koum eine Zuwendung in
Hhe von 1 Million US-Dollar
erhalten. Es sei die hchste

Einzelspende in der 15-jhrigen Geschichte der Foundation.


Sie sei ein Beispiel dafr, wie
erfolgreiche Free-BSD-Nutzer
etwas an die Community zurckgeben knnten. Man berate nun, wie man das Geld

am besten verwende. Konkrete Plne sollten finanzielle


Investments ebenso einschlieen wie Ausgaben, um die
Fhigkeiten und Dienste der
Foundation auszubauen.
Spender Jan Koum begrndete seine Entscheidung da-

mit, dass Free BSD ihm geholfen habe, sich aus der Armut
zu befreien. Seine Free-BSDKenntnisse htten ihm einst
einen Job bei Yahoo eingebracht. Auch die zahlreichen
Whats-App-Server liefen und
Q
laufen unter Free BSD.

Konfigurationsbereich
die
Option network.http.spdy.
enabled.http2draft
aktivieren, im zweiten Fall
SPDY/4 ber chrome://
flags/#enable-spdy4
einschalten. Die Chrome-Entwickler bezeichnen HTTP/2
als SPDY/4, weil HTTP 2.0 ursprnglich auf Googles TCP-

basiertem Netzwerkprotokoll
SPDY basierte.
HTTP/2 befindet sich in Entwicklung. Es soll schneller
arbeiten, indem es Anfragen
bndelt, die Datenkompression verstrkt und vom Server
ausgehende Datenbertragungen erlaubt. Zugleich bleibt es
kompatibel zu HTTP/1.1. Q

Go-Support fr HTTP/2
Die von Google initiierte
Programmiersprache Go soll
knftig den HTTP/2-Standard
(ehemals HTTP 2.0) untersttzen. Noch ist das Feature
nicht offiziell in der Standardbibliothek von Go gelandet,
doch unter [https://http2.golang.
org] lsst es sich bereits auf
einem Server testen. Den

Code und die Instruktionen,


um den HTTP/2-Support
auszuprobieren, gibt es unter [https://github.com/bradfitz/
http2].
Die Tests setzen voraus, dass
der Nutzer Firefox Nightly
oder Google Chrome Canary
verwendet. Im ersten Fall
muss er im about:config-

Eco-Verband fordert offene WLANs


Rechtssicherheit fr WLANBetreiber? Zu diesem Thema
stellte Klaus Landefeld, Vorstand fr Infrastruktur und
Netze vom Verband der deutschen Internetwirtschaft Eco,
in Berlin eine Studie vor, die
sich auf der Webseite [https://
www.eco.de] nachlesen lsst.
Danach hinke Deutschland
in Sachen offenes WLAN vielen anderen Lndern hinterher. Gerade mal rund 15 000
WLAN-Zugnge seien wirklich offen, schtzt Eco.
Der Rest der rund 1 Million
ffentlichen Hotspots nutze
eine Form von Zugangsschutz, meist ein sichtbar angebrachtes Passwort. Illegale
Downloads wrden solche
Schutzmanahmen
kaum
verhindern. Es sei leicht,
ber derart geschtzte Router
Filme und Musik herunterzuladen und anzubieten.
Dennoch sei der Schutz aufgrund der Strerhaftung in
Deutschland vorgeschrieben:
Sichert ein Benutzer sein
WLAN nicht per Passwort ab,
haftet er fr den Missbrauch
durch seine Nutzer. Mit sei-

nen restriktiven Zugngen,


die aber auch nicht vor Missbrauch schtzten, schneide
Deutschland im Lndervergleich mit den USA, UK oder
Sdkorea schlecht ab.
Die Rechtslage entsprche
laut Eco nicht internationalen Standards und irritiere
Besucher aus aller Welt. Sie
verhindere neue Geschftsmodelle und bremse lokale
Firmen aus. So sei in anderen Lndern offenes WLAN
in Supermrkten und Hotels
blich. Auch automatisierte
WLAN-Abfragen im Car2CarBereich oder in der Kommunikation Maschine zu Maschine
erschwere die Gesetzeslage in
Deutschland.
Laut Eco gebe es nur zwei
Lsungswege: einen sehr restriktiven und einen offenen.
Eco setzt sich fr den zweiten
ein und fordert die Bundesregierung auf, die gesetzlichen
Grundlagen dafr zu schaffen. Denn trotz mehrfacher
Ankndigungen, die offene
Frage der Strerhaftung zu
klren, fehlten bislang konkrete Resultate.
Q

GUUG will Frhjahrsfachgesprche 2015


Nachdem sie 2014 ausgefallen sind, kndigte die German
Unix User Group (GUUG) in
ihrem Blog [http://blog.guug.
de/2014/11/] Anfang November
fr 2015 an, wieder Frhjahrsfachgesprche zu organisieren. Diese sollen am 26. und
27. Mrz 2015 in der Universitt Stuttgart stattfinden, die
GUUG richtet sie zusammen
mit dem Informatikforum
Stuttgart und der Universitt
aus. Vorgeschaltet sind zwei

Tage mit Tutorien am 24. und


25. Mrz 2015.
Die Veranstalter kndigen ein
hochwertiges Programm an.
Die Sprecher der in diesem
Jahr abgesagten Fachgesprche sollen ihre geplanten Vortrge in aktualisierter Form
halten. Ein angekndigtes
Mini-Call-for-Papers soll zudem Updates und Ergnzungen erlauben. Zu Redaktionsschluss stand es jedoch noch
Q
nicht online.

02/2015

Aktuell
Zahlen & Trends
www.linux-magazin.de

16

Open Cloud Alliance: Bndnis fr offene Cloud


IBM und der Bremer LinuxDistributor Univention haben
Mitte November ein Bndnis fr eine offene Cloud ins
Leben gerufen. Unter dem
Namen Open Cloud Alliance
(OCA) wolle man freie, unabhngige und auch fr den
Mittelstand geeignete Cloudangebote einfhren.
Die Open Cloud Alliance
[http://www.open-cloud-alliance.de]
trete an, um zusammen mit
einem breiten Netzwerk von
Providern, Software-Anbietern und Systemintegratoren
einen offenen Cloudstandard
zu etablieren. Damit wird ein

umfassendes, einheitliches
und modulares Cloudportfolio fr alle Anbieter mglich,
das die Bedrfnisse der Kunden nach Sicherheit, Integration und Compliance erfllt,
schreiben die Hersteller in ihrer Pressemitteilung.
Ziel sei es, die Nutzer unabhngiger von den groen
Anbietern zu machen, ihnen
mehr Auswahl bei Anwendungen zu geben, es aber
auch kleineren Cloud-Serviceprovidern zu ermglichen,
ohne viel Aufwand eine
groe Anzahl von Anwendungen bereitzustellen.

Die Webseite der Open Cloud Alliance malt der offenen Cloud eine rosige Zukunft.

Hinter dem Angebot der Open


Cloud Alliance steckt eine
Plattform, die dem Univention
Corporate Server eine prominente Rolle einrumt. Dieser
authentifiziere zentral, auch
gegen Active Directory, und
biete zusammen mit Open
Stack umfassende Managementfunktionen, schreiben
die Initiatoren. IBM steuert
Referenzhardware und den
IBM Cloud Manager bei, die
Open-Stack-Implementierung
von Big Blue.
Die Allianz sucht nun weitere
Partner. Bereits im Boot seien
Owncloud,
Openxchange,
Zarafa,
diverse
Certified Solution
Provider (CSP) wie
Teuto.net, Plutex
und Netzlink. Weitere Firmen htten
laut Pressemitteilung bereits zugesagt, bis zum Start
im ersten Quartal
2015 mit Anwendungen, Produkten
und Hosting-Angeboten dabei zu
sein.
Q

Mehr Performance
dank Lustre
Auf dem SupercomputingKongress SC14 in New Orleans hat Seagate unter anderem eine neue Version seiner
Clusterstor Engineered Solution for Lustre angekndigt,
welche die Metadatenperformance deutlich steigern soll.
Das will sie erreichen, indem
sie die Distributed Namespaces aus Lustre 2.5 implementiere und mit deren Hilfe
bis zu 16 Metadatenserver pro
Filesystem einrichte.
Ein einzelnes Filesystem
knne dabei bis zu 16 Milliarden Files enthalten. Seagates Implementierung sei die
einzige, die alle Aspekte von
Hard- und Software auf Lustre
2.5 abstimme.
Weiter kndigte die Firma einen Clusterstor Hadoop Workflow Accelerator an, der aus
Hadoop-Optimierungs-Tools,
Diensten und Support bestehe
und sich an Kunden im BigData-Umfeld richte, die nach
schnellem Speicher suchen.
Sie sollen laut Seagate von
einer stark verkrzten DatenQ
transferzeit profitieren.

Markt fr Cloud Computing wchst ungebrochen


Der Markt fr Cloud Computing mit Geschftskunden soll
in Deutschland 2014 um 46
Prozent auf rund 6,4 Milliarden Euro wachsen, berichtet
der Hightech-Verband Bitkom
auf Basis von Prognosen der
Experton Group.
Damit bleibe das Wachstum
etwas unter den Erwartungen.
Ursprnglich war Bitkom von
einem Umsatzanstieg von 50
Prozent auf 6,9 Milliarden
Euro ausgegangen. Dennoch

soll das Umsatzvolumen des


Cloudmarkts im Businessbereich bis zum Jahr 2018
in Deutschland jhrlich um
durchschnittlich 35 Prozent
zulegen, insgesamt um rund
19,8 Milliarden Euro.
Cloud Computing erlaube es
Nutzern, IT-Dienstleistungen
ber das ffentliche Internet (Public Cloud) oder ein
internes Netzwerk (Private
Cloud) zu beziehen. Im Zusammenspiel mit dem mobi-

len Internet und innovativen


Methoden der Datenanalyse
entstnden so zahlreiche
neue Anwendungen und Geschftsmodelle.
Den Groteil der Cloudumstze machten im Jahr 2014
mit rund 3,0 Milliarden Euro
Dienstleistungen aus. Das
Wachstum gegenber dem
Vorjahr liege bei 48 Prozent.
Zu den per Cloud bereitgestellten Dienstleistungen gehrten laut Bitkom-Mitteilung

zum Beispiel Anwendungsprogramme (Software as a


Service), Speicher- oder Rechnerkapazitten (Infrastructure
as a Service) sowie Entwicklungsumgebungen (Platform
as a Service).
Die Wirtschaft habe dabei
rund 2,2 Milliarden (plus 39
Prozent) in Cloudhardware
investiert und 1,2 Milliarden
Euro (plus 39 Prozent) in
Integration und Beratung geQ
steckt. (jcb/kki/mfe)

02/2015

Aktuell
18

www.linux-magazin.de

OSMC 14

Notizen von der Open Source Monitoring Conference 2014

Beobachter-Treff
In netter Atmosphre trafen sich Mitte November rund 250 Admins in Nrnberg, um sich ber die neuesten
Entwicklungen beim Monitoring auszutauschen. Jens-Christoph Brendel

und es auch erlaubt, sie schrittweise zu


vollziehen. Dabei bleibt die Architektur
einfach und flexibel.

Noch mehr Neuigkeiten

Abbildung 1: Jan-Piet Mens (links) und Jochen Lillich (rechts) bei ihren Vortrgen.

Die Diskussion, die der Vortrag von JanPiet Mens (Abbildung 1) auslste, spielte
sich zunchst noch im Konjunktiv ab.
Etliche Zuhrer fragten: Wre das Messaging-Protokoll MQTT, das Mens vorstellte, nicht auch frs Monitoring ideal?
Nach dem Publish-Subscribe-Modell
liefert dabei eine Partei Nachrichten an
eine Message-Broker-Instanz, die andere
Parteien asynchron dort abholen knnen.
Der Prozess braucht sehr wenig Code und
ist ungeheuer schnell, dabei ist die Architektur einfach und es gibt Anbindungen
an fast alle Programmiersprachen.
Nebenbei erweitern sinnvolle Funktionen
das Modell: So kann zum Beispiel der Publisher bei seinem Broker eine Nachricht
hinterlegen (das so genannte Testament),
die der verffentlicht, wenn er bemerkt,
dass sein regelmiger Einlieferer nicht
mehr am Leben ist. Ein MonitoringServer knnte sich auf diese Weise zum
Beispiel Ping-Tests sparen und wrde
stattdessen selber gegebenenfalls vom
Ableben eines der berwachten Schtzlinge aktiv informiert.

Bei dem Gedankenaustausch im Anschluss an den Vortrag bildete sich bald


die einhellige Meinung, dass ein Einsatz
von MQTT beim Monitoring vielversprechend sein msste.

Schon realisiert
Wer aber am nchsten Tag auch Jochen
Lillichs Vortrag verfolgte, der erfuhr: Das
gibt es lngst. Das Monitoring-Framework
Sensu, das Lillich vorstellte, arbeitet zwar
nicht mit MQTT, sondern mit dem alternativen Protokoll AMPQ und dem zugehrigen Message-Broker Rabbit MQ die
Konzepte sind aber vergleichbar.
Alle Performanceprobleme, die Lillich
als Hoster fr Drupal- und WordpressInstanzen zuvor mit Nagios hatte, nachdem seine Serveranzahl 200 oder 250
berstiegen hatte, waren mit Sensu wie
weggeblasen. Zustzlicher Vorteil: Sensu
versteht das Format der Rckmeldungen
von Nagios-Clients und kann daher die
originalen Nagios-Plugins verwenden,
was eine Migration extrem einfach macht

Wie in den Jahren zuvor war die Konferenz auch 2014 wieder ein Marktplatz
fr Neuigkeiten rund um die zahlreichen
Nagios-Forks und die Nagios-fremden
Monitoringsysteme.
So sprach der frhere Nagios-Chefentwickler Andreas Ericsson ber Stand
und Ausblick bei seinem Fork Naemon.
Auerdem prsentierten sich Open NMS
und Zabbix in Vortrgen, und in dem gewohnten, berlangen Parforceritt brachte
Bernd Erk alle Neuigkeiten aus dem
Icinga-Lager humorvoll an den Mann.
Dem neuen Icinga-Webinterface widmete
sich schlielich noch Thomas Gelf mit
einem gesonderten Vortrag.
Daneben nahm auch die Vorstellung von
neuen Plugins und Tools breiten Raum
ein. So wurde unter anderem das mittlerweile etablierte Graphite vorgestellt,
als konkurrierende Option fr die Visualisierung von Daten auch der Stack aus
Elasticsearch, Logstash und Kibana.
Gerhard Lauer prsentierte sein Universal-Plugin fr Netzwerktechnik check_
nwc_health, das mit dem Wirrwarr
einzelner Plugins fr spezielle Komponenten der Netzwerktechnik aufrumen
will. Werner Fischer brachte seinem Publikum das IPMI-Plugin fr das HardwareMonitoring nahe. Rene Koch referierte
ber Business-Prozess-Monitoring mittels
BP View.
Das Team der Veranstalter setze der Konferenz wie immer durch eine perfekte
Organisation, nettes Ambiente und mit
einem gelungenen Social Event das iTpfelchen auf.
Q

02/2015

Aktuell

Susecon 2014

Im subtropischen Orlando hat Suse nahezu perfekte Zahlen vorgestellt. Attachmate und Microfocus schlieen derweil die bernahme des Mutterkonzerns ab, dazu stellt Suse neue Produkte wie Kgraft in SLES oder
den Storage Server vor. Drum herum: Rockmusik, grne Gitarren und Lego-Stop-Motion-Videos. Markus Feilner

Markus Feilner, BY-CC-SA 4.0

20

www.linux-magazin.de

Susecon

Suse? Lego!

Auch wenn Konkurrenten hinter vorgehaltener Hand gerne Gegenteiliges


behaupten: Bei Suse ist man stolz und
zufrieden mit dem laufenden Geschft.
Zwar konnte CEO Nils Brauckmann in
seinem Ausblick auf die aktuellen Zahlen
wegen der anstehenden bernahme Attachmates durch Microfocus noch nicht
so in die Details gehen wie gewohnt,
doch zeigt sich der Suse-Chef derzeit im
persnlichen Gesprch wie viele seiner
Mitarbeiter auch uerst zufrieden. (Eine
Linksammlung zu den News und weiterfhrenden Artikeln rund um Suse und die
Susecon gibt es unter [1].)
Die allgemeine Zufriedenheit durchdrang
auch den Partner-Summit namens Susecon im November. Die Veranstaltung
werde immer grer, und mehr und mehr
Analysten wie Garnter und Forrester interessierten sich bereits fr das Event.
Suses Strategie mit True Open Source
zahle sich aus, erklrt Brauckmann. Alle
Key-Indikatoren seien beraus positiv,

die Firma wachse, die Neubuchungen


machten bereits 65 Prozent aller Buchungen aus. Der CEO sieht eine hervorragende Zukunft.

Im Microfocus
Auch der jngste Merger Attachmate-Microfocus, der just in der Susecon-Woche
Ende November ber die Bhne ging,
weise in diese Richtung, so Brauckmann.
Attachmate wird Teil der MicrofocusGruppe, die an der Londoner Brse gelistet ist. Microfocus Kerngeschft sei es,
groen Unternehmen dabei zu helfen, Legacy- und alte Soft- und Hardware-Stacks
loszuwerden mit Produkten wie Visual
Cobol oder Solutions fr Mainframes,
Borland und Corba.
Gerade die Migrationen seien schlielich
Suses Strke, meint Brauckmann: Microfocus und Suse passen also richtig gut
zusammen, da ist er sich sicher. Microfocus ist auf Mrkten aktiv, die wir noch

nicht bedienen auch das passt perfekt.


Auch auf der menschlichen Ebene funktioniere die Kooperation bereits hervorragend.
Neben der erneuten bernahme standen
auf der Susecon auch neue Produkte im
Fokus, zum Beispiel das SLES-Add-on
frs Live-Kernelpatchen mit Kgraft, der
Suse Storage Server mit Ceph, ein greres kosystem fr die Suse Cloud einschlielich der Mglichkeit, SLES-Lizenzen in die Cloud zu transferieren, oder
der Suse-Support fr SAP-Startups. Nicht
zuletzt die Entscheidung von SAP nach
der 2012 erfolgten Zertifizierung von
Suse als einziges Enterprise-Linux fr
SAP Hana , die grne Linux-Distribution
auch intern zu verwenden, hinterlsst
in Orlando einige stolze Suse-Manager
(Abbildung 1).
Angefeuert von Lego-Videos und Rockmusik mit harten Gitarrenriffs startete
die Susecon 2014 in ihren ersten Tag. Die
Keynote prsentierte wie immer Suses
Marketing-Chef Michael Miller, dieses
Jahr allerdings als lockere Talkshow. Da
liefert dann CEO Brauckmann Zahlen,
Kunden konnten Best-Practice-Anstze
vorstellen, Suse-Partner und der neue Eigentmer zeigten die groartigen Erfolge,
Produkte und Visionen.
Suse scheint auf dem aufsteigenden Ast,
glaubt man Brauckmann: Die Buchungen nahmen um 27 Prozent zu, berall
auf der Welt, die Einnahmen seien um
17 Prozent gestiegen, die Neubuchungen sogar um 47 Prozent. Damit mache
das Neukundengeschft fast zwei Dr
Drittel
rit
itte
tel
te
DELUG-DVD
DELUG-DVD
Auf der DELUG-DVD finden Sie
die Videos von den Keynotes der Susecon.

02/2015

Aktuell
Susecon
www.linux-magazin.de

Markus Feilner, BY-CC-SA 4.0

Abbildung 1: Suse-CEO Nils Brauckmann und Kevin Loosemore, CEO des neuen Attachmate-Eigentmers
Microfocus im Gesprch mit Michael Miller (von links nach rechts).

Senior Product Manager for Systems Management, in seinem Workshop.

Suse Manager goes Cloud


Was dabei den meisten Anwendern auffallen drfte, sind die nderungen im
GUI, das Zug um Zug neue Tabs spendiert bekommt. Admins freuen sich ber
die Automatisierungen und das Patchmanagement, IT-Leiter ber neue Compliance-Funktionen, die beispielsweise
Checks auf CVE-Basis oder auch Open
SCAP integrieren. Das GUI von Suse Manager wird in Zukunft noch mehr Tabs
erhalten.
Vieles davon habe man bereits in der
aktuellen Version 2.1 eingebaut. Die

Markus Feilner, BY-CC-SA 4.0

des gesamten Suse-Business aus, so berichtete Nils Brauckmann im lockeren


Talkshow-Stil. Auch der Microfocus-Chef
Kevin Loosemore kam zu Wort: Zur bernahme von Suses Muttergesellschaft Attachmate sagte er: Unsere Aktien stiegen
sofort um 20 Prozent und Suse passt
perfekt zu uns.
Im weiteren Verlauf der Keynote vor etwa
600 Besuchern (Abbildung 2) ergriffen
ein Forrester-Analyst (James Staten: Ihre
Daten werden 2015 in der Cloud sein und
in Ihre Cloud wird eingebrochen werden,
und Sie werden die Schuld dafr tragen)
sowie diverse Kunden und Partner von
Suse das Wort. Dazu gehren HP, SAP
und die Swiss Re.
Die zweitgrte Rckversicherung der
Welt, hat eben erst alle Systeme auf
Linux migriert, weil sie auf nachhaltige
Strategien setze, natrlich auf Suse mit
SAP. Auch der grte Steuerzahler Hongkongs setzt Suse ein: Der Hong Kong
Jockey Club, ein wichtiger Arbeitgeber
der Millionenstadt, verdient sein Geld mit
Pferderennen, Casinos und GamblingAngeboten und verwendet seit 2014 nur
mehr Suse Linux Enterprise.
Auch neue Produkte und zahlreiche Verbesserungen an den bestehenden hat
das grne Team zu melden. Der Suse
Manager 2.1 etwa erhielt einen Setup
Wizard, ein berarbeitetes GUI und viele
Verbesserungen. Strategisch wird das Management-Tool in Zukunft noch nher an
die Suse Cloud rcken, aber bereits heute
habe man sowohl Usability als auch die
Funktionalitt und Compliance deutlich
verbessert, berichtet Joachim Werner,

Abbildung 2: Mit zwischen 500 und 600 Besuchern ist die Susecon im fernen Amerika auf Wachstumskurs.

nchste Major Release soll Anfang nchsten Jahres erscheinen (als Version 3) und
vor allem in Sachen Subskriptions- und
Konfigurationsmanagement weitere Verbesserungen erhalten, mehr Monitoring
und Topology-Visualisierung bringen
und die Hochverfgbarkeitsfunktionen
verbessern. Version 4 soll dann den Manager mit der Suse Cloud zusammenfhren, denn die beiden Produkte seien, so
Werner, ja irgendwie nur zwei Seiten
einer Medaille.
Analysten sehen groes Potenzial im Bereich des Software-basierten Storage, vor
allem Open Source soll da ihrer Meinung
nach stark profitieren. Bis zu 8 Milliarden
US-Dollar locken und Suse zieht nach:
Nach Red Hat mit dem Storage Server

21

02/2015

Aktuell

Markus Feilner, BY-CC-SA 4.0

Markus Feilner, BY-CC-SA 4.0

Susecon

Abbildung 3: SLES 12 kam selbst zu Wort: Ralf Flaxa (der Pate des SLES)

Abbildung 4: Einen Cluster live und mit roher Gewalt zerlegen? Gar nicht so einfach,

sekundiert dem Serverpaket mit einem Mikrophon.

wie die Demo auf der Susecon via Beamer und Licht-Installation zeigte.

bietet nun auch der grne Distributor ein


eigenes, ebenfalls Storage Server genanntes Produkt an.

Suse Storage Server


Diverse Workshops auf der Susecon 14
stellten das auf SLES (11 und 12) aufsetzende Storage-Werkzeug vor, das nach
Meinung von Projektleiter Larry Morris
genau zum rechten Zeitpunkt kommt.
Ceph ist ausgereift, das ist ja schon zehn
Jahre alt, erklrt er im Gesprch mit
dem Linux-Magazin. Und dass Red Hat
wie bei manch anderem Projekt auch
die Hand im Spiel hat beziehungsweise
auf den Markenrechten, sieht er nicht kritisch: Da sind jetzt schon zu viele groe
Firmen auf dem Zug, einen Rckzieher
kann man sich da nicht mehr leisten, und
das will sicher auch niemand. Damit
knnte er richtig liegen: Red Hat knnte
sicher nur mehr mit groem Gesichtsverlust in der Community verhindern, dass
auch Konkurrenten den Speicherkraken
verwenden.
Suses Ceph-Produkt kommt als Object
Store ohne Hardware, als reine Software.
Hardware-Partner sollen folgen, vorweisen knnen die Nrnberger aber noch
keine. Preis und Leistung dagegen sind
konkurrenzfhig: Die Installation ist simpel, die Datenspeicher hot-swappable,
das Produkt kann einfach Clouddienste
wie Open Stack Swift oder Amazons AWS
per RESTful-API einbinden, verwalten
und monitoren.
Das Web-GUI Calamari verwaltet die Object Stores, Monitoring ist eingebaut. Ein
vorkonfiguriertes Ceph organisiert die

Datenspeicher und kmmert sich um alles, wenn einer davon ausfllt. Das funktioniert vollautomatisch, wie die SuseMitarbeiter am Stand im Showcase-Room
fast rund um die Uhr zeigten.
Vor allem preislich will Suse der Konkurrenz Dampf machen: Ab 5000 Dollar gibt
es 36 TByte Speichervolumen, plus 1500
Dollar pro Server-Socket-Paar. Das bedeutet: Ab 6500 Dollar gehts quasi los, ein
greres Setup mit 250 TByte und zehn
Servern liegt bei etwa 50 000 Dollar. Weil
das dann weniger als 1,7 US-Cent pro
GByte und Monat sind, sei man ungefhr
40 Prozent billiger als Konkurrenten, die
nicht auf Software-basierten Storage setzen, erklrt Morris.
Auf der Roadmap fr den Suse Storage
Server finden sich integrierte Deduplikation, Backup und
Tools frs Compliance-Archiv. Er steht
ab sofort mit Ceph
Firefly als Beta zur
Verfgung, ab Februar 2015 soll dann
auch die stabile Version erhltlich sein.
Die fr das dritte
Quartal 2015 vorgesehene Version 2.0 soll
auf Ceph Hammer
setzen.

SLES spricht
Bei der Abschlusskeynote standen erneut
Demos der neuen
Produkte, Preisver-

leihungen (aus Verlosungen) und die


Neuerungen der zwlften Ausgabe des
ehrwrdigen SLES im Vordergrund.
Ebenfalls von Miller im Stil eines Talkmasters prsentiert, stand zunchst wie
zu erwarten der Suse Linux Enterprise
Server 12 mit all seinen neuen Features
von Kgraft bis zum GEO-HA-Add-on im
Vordergrund.
Der Server kam sogar selbst zu Wort
als joviale Stimme aus dem Off und
durfte zusammen mit den Leitern des
SLES-Teams Ralf Flaxa, Olaf Kirch und
Mathias Eckermann ein Interview geben.
Volles Rollback mit Snapper & Co., LiveKernelpatching mit Kgraft, das seien die
Highlights der neuen Version, erklrten
die Manager des SLES-Teams, und die liebevoll von Grovater Flaxa gettschelte

Markus Feilner, BY-CC-SA 4.0

www.linux-magazin.de

22

Abbildung 5: Eine grne Yamaha-Pacifica-Gitarre wechselt den Besitzer,


bergeben von Heavy-Metal-Fan und Suse-Entwickler Jeff Price.

02/2015

Demos
Anschlieend folgten ber eine Stunde
lang Live-Demos des neuen Servers, ber

SMS lieen die Techniker das Publikum


Last erzeugen, um HA, das Cloudmanagement, den neuen Storage Server, das
Full Rollback mit Snapper und Geo-HA
vorzufhren und per IP-Licht-Installation
im Saal zu verdeutlichen. Dass dabei weder ein Punk mit physischen Angriffen

Infos
[1] Linux-Magazin-News zur Susecon 2014:
[http://www.linux-magazin.de/
susecon2014]

Susecon

Aktuell
Pappschachtel zeigte sich mchtig stolz
(Abbildung 3).

www.linux-magazin.de

Markus Feilner, BY-CC-SA 4.0

Abbildung 6: Suse Master Builder wird nur, wer sich beim Erstellen neuer Suse-Versionen ausgezeichnet hat.

noch ein Heavy-Metal-Freak mit unkoordinierten Kernelupdates die HP-Server


aus der Ruhe bringen konnte (Abbildung
4), versteht sich. Zwar fiel als Showeinlage das Saallicht aus, doch die Server
liefen brav weiter.
Zum Abschluss der Susecon gab es weitere Lego-Videos mit Star-Wars-, Batmanund Dr. Who-Anklngen sowie eine
Preisverleihung, bei der grne E-Gitarren
(Abbildung 5), Kampfflugzeuge (als Modell!) und diverse Hardware den Besitzer
wechselten und die ersten Suse Master
Builder ausgezeichnet wurden (Abbildung 6). Die nchste Susecon wird nach
drei Jahren erstmals nicht mehr in Orlando stattfinden, sondern auf der euroQ
pischen Seite des Atlantiks.

23

02/2015

Aktuell
Knatsch bei Debian

Austrittswelle: Zerfllt das Debian-Projekt?

www.linux-magazin.de

Reisende soll man nicht aufhalten, doch aus dem Hause Debian verabschieden sich gerade auffllig viele Entwickler. Zehn Fragen und Antworten, die Aufschluss geben ber den Status des Debian-Projekts in Zeiten des
Streits um Systemd. Martin Loschwitz

Karel Miragaya, 123RF

26

Verlorene Liebe

Noch vor ein paar Wochen hob das


Linux-Magazin Debian als Beispiel fr die
effiziente Verwaltung einer Community
heraus [1]. Debians Release-Manager
Andreas Barth betonte damals beispielsweise, dass das Release-Management
in den letzten Jahren sehr effizient geworden sei. Auch andere Bereiche von
Debian blhen und gedeihen; der Debian-Flavor Skole Linux (alias Debian
Edu) hat in vielen Schulen mittlerweile
einen festen Platz gefunden.
Da passt so gar nicht ins Bild, was in
den letzten Wochen ber Debian zu lesen war: Austritt hier und Austritt dort.
Tatschlich haben sich einige Entwickler ganz aus Debian verabschiedet. Oder
zumindest angekndigt, sich wieder
mehr technischer Arbeit und weniger
der Projekt-Governance zuzuwenden.
Fr ihre bisherige Arbeit stehen sie damit jedenfalls nicht mehr zur Verfgung.
Was verursacht den ffentlichkeitswirk-

samen Exodus bei Debian? Stellen die


Austritte mglicherweise sogar eine existenzielle Gefahr fr das Projekt dar? Das
Linux-Magazin beantwortet im Folgenden die wichtigen Fragen rund um die
Diskussionen bei Debian.

Was ist der Grund fr den


Streit?
Die aktuellen Rcktritte sind der vorlufigen Hhepunkt in einem Streit, der
seit mehreren Jahren schwelt. Dreh- und
Angelpunkt ist Systemd, das in der OSSSzene bekanntlich nicht nur bei Debian
fr heftige Kontroversen sorgt. Bei der
Diskussion rund um Systemd treffen
zwei grundstzliche Philosophien aufeinander: Auf der einen Seite die typische
Unix-Attitde, die fest davon ausgeht,
dass es fr jeden Job ein eigenes Tool
geben sollte. Die punktuelle Spezialisierung einzelner Werkzeuge ist in den

Augen der Verfechter dieser Theorie die


groe Strke im Vergleich mit den All-inone-Lsungen: Ein absolut spezifisches,
kleines Tool wird eine Aufgabe besser
erledigen knnen als eine eierlegende
Wollmilchsau, die alles ein bisschen
kann, aber nichts davon wirklich zufriedenstellend.
Die Systemd-Verfechter stehen dazu in
krassem Widerspruch. Sie stellen die
These auf, dass Systemd sich um alle
Aspekte des Systems gut kmmern kann
und gerade durch die Kombination mehrerer Faktoren Zusatzfunktionen bietet,
die ohne Systemd nicht zu haben wren.
Laut Meinung jener Gruppe ist es absolut wnschenswert, so viele Aufgaben
wie mglich an Systemd zu geben, weil
Systemd so die Draufsicht bekommt
und dem Anwender das bestmgliche
Nutzungserlebnis verschaffen kann.

Ein neues Initsystem?


Debian hat die Diskussion um ein neues
Initsystem viele Jahre vor sich hergeschoben; darber ist das praktizierte Sys-VInit allerdings so in die Jahre gekommen,
dass Debian-Nutzer gegenber anderen
Distributoren deutlich benachteiligt sind.
Sowohl Systemd als auch eventuelle Alternativen, also zum Beispiel Upstart,
bieten einen deutlich umfangreicheren
Schatz an Funktion.
Der Umstieg auf ein anderes Initsystem
war auerdem auch in den Jahren zuvor
bereits Thema bei der Release-Planung
gewesen, rckte gegenber anderen Themen aber immer wieder ins Hintertreffen,
weil das alte System wenigstens noch
die grundlegende Funktionalitt bietet.
Mittlerweile ist der Feature-Abstand von
Sys-V-Init zu anderen Initsystemen aber

02/2015
CC-BY-ND, Ian Jackson, Irill.org

Wer sitzt im CTTE?

Knatsch bei Debian

Aktuell

Welche Rolle spielt das


CTTE im Systemd-Konflikt?

www.linux-magazin.de

Bdale Garbee, gemeinfrei

Projekts, dem Debian


fllen, um fr diese entweder Systemd
Project Leader (DPL).
oder ein anderes Initsystem verbindlich
Der DPL hat aber das
vorzuschreiben. Auslser dafr war eine
letzte Wort: Gefllt Mail ein paar Tage zuvor, laut der der
ihm ein Kandidat Gnome-Desktop mittlerweile de facto auf
nicht, den das CTTE
Systemd angewiesen ist, um berhaupt
vorgeschlagen
hat, zu funktionieren.
kann er die Ernen- Der Bugreport im BTS auf diese Weise
nung ablehnen.
verwaltet das CTTE Anfragen an sich
In aller Regel erhlt
selbst wurde praktisch augenblicklich
von Systemd-Fans und -Gegnern gedas CTTE innerhalb
kapert, um wiederum eine technische
des Debian-Projekts
Diskussion vom Zaun zu brechen. Dass
kaum Aufmerksamkeit, es entscheidet in
der entsprechende Bugreport an das BTS
spezifischen technidafr eigentlich gar kein Forum ist oder
sein will, interessierte die Diskutanten
schen Sachverhalten,
die in der Regel nur
kein bisschen. Tatschlich kam das CTTE
eine kleine Anzahl
der Aufforderung Tagliamentes nach und
von Paketen betreffen.
fllte im Februar 2014 eine Entscheidung
Abbildung 1: Bdale Garbee war bis vor Kurzem Vorsitzender des DebianBei der Entscheidung fr Systemd.
Technik-Komitees CTTE.
ber das Initsystem ist
Die Art und Weise, wie eben jene Entscheidung zustande kam, ist dabei aldas anders.
so gro, dass die Entscheidung sich nicht Bei Redaktionsschluss bestand das CTTE
lerdings bemerkenswert: Auf der einen
mehr lnger verschieben lsst.
noch aus seinem Vorsitzenden Bdale GarSeite gab es innerhalb des CTTE Leute,
bee (Abbildung 1), der lange Zeit selbst
Wer die Positionen der Befrworter und
die von Anfang an Systemd als InitsysDPL war, sowie aus Don Armstrong, AnGegner von Systemd genauer betrachtet,
tem fr Jessie wollten. Die andere Frakbemerkt schnell, dass sie weitestgehend dreas Barth, Steve Langasek und Keith
tion htte Upstart lieber gesehen, weil es
unvershnlich sind. Ein Kompromiss ist Packard. Verlassen haben das CTTE in deutlich weniger invasiv als Systemd ist.
den Wochen zuvor Russ Allbery, Colin Zwischen den zwei Fraktionen innerhalb
nicht mglich, denn ein bisschen Systemd geht nicht. Eine Seite wird also am
Watson und Ian Jackson.
des CTTE kam es so zu einem Patt; laut
Ende ihren Willen definitiv nicht kriegen
Verfassung fiel die Entscheidung damit
zumindest nicht direkt in dem, was akBdale Garbee als dem Vorsitzenden zu,
und Garbee ist nicht nur zweimaliger
tuell als Debian-Projekt bekannt ist. Weil
Projektleiter, sondern auch ein groer
Debian wei, dass bisweilen technische
Die Debian-Diskussion rund um SysFan von Systemd.
Entscheidungen eben dieses Ausmaes
notwendig sind, gibt es innerhalb des
temd tobte eingangs fast nur in Form Auch bemerkenswert war die Tatsache,
Projekts allerdings eine eigene Instanz,
von Diskussionen innerhalb des Bugtradass Garbee bereits in seiner E-Mail andie genau solche Fragen klrt: das Techcking-Systems. Schon hier war deutlich, kndigte, dass sich das CTTE dem Ergebnical Committee, abgekrzt CTTE.
dass manche Debian-Developer ihre gute nis einer Generalabstimmung anschlieKinderstube entweder
sehr vermissen lieen
oder eine solche nie
Das Technical Committee hat laut Degehabt hatten der
bian-Verfassung [2] sowohl das Recht
Tonfall war auffallend
als auch die Pflicht, auf Bitten der Entruppig.
wickler ber komplexe technische Fragen
Whrend der Diskusein Urteil zu fllen. Entscheidungen des
sion zeigte sich, wie
CTTE sind zunchst bindend, freilich
unvereinbar die beibleibt es den einzelnen Debian-Entwickden Meinungen auflern unbenommen, gegen eine CTTE-Enteinanderprallen: Paul
scheidung mit einer Generalabstimmung
Tagliamonte bat das
vorzugehen.
Technical
CommitMitglied des CTTE kann grundstzlich
tee im Oktober 2013
jeder Debian-Entwickler werden, die offiziell darum, eine
Abstimmung erfolgt im Kreise der exisEntscheidung fr die
tierenden CTTE-Mitglieder zusammen kommende Debian- Abbildung 2: Debian-Entwickler Ian Jackson bei einem Vortrag auf der
mit dem amtierenden Leiter des Debian- Version Jessie zu
Debconf 2012 in Managua.

27

02/2015

Aktuell
28

www.linux-magazin.de

Knatsch bei Debian

Debatten lhmend und unntig. Manche


Debian-Entwickler stellen ffentlich klar,
dass das Debian-Projekt im Augenblick
ideell nicht mehr an das Projekt herankommt, dem sie einst vor Jahren beigetreten waren.
Hinzu kommt, dass das Verhalten so
manches Diskussionsteilnehmers nur
mehr zu Kopfschtteln fhrte. Insbesondere die Mitglieder des CTTE haben
ffentlich mehrere Male kundgetan, in
der Systemd-Debatte auch abseits von
Debian von projektfremden Menschen
bisweilen bedrngt und auch beschimpft
worden zu sein. Wer Teil der Systemd-Debatte war, konnte also regulre Projektarbeit im Grunde vergessen.
Abbildung 3: Eine Sammlung von Tools, die beim Bau von Debian-Paketen hilfreich sein wollen, das ist
Debhelper. Auch sein Maintainer Joey Hess trat jngst zurck.

en werde, wenn es zu einer solchen


kommen sollte [3].

Was war das Ergebnis der


Generalabstimmung?
Mehrere Debian-Entwickler griffen Bdale
Garbees Kommentar umgehend als eine
direkte Ermutigung auf, eine Generalabstimmung ber das Thema zu starten.
In der Debian-Verfassung liegt die Hrde
zur Einberufung einer Generalabstimmung niedrig; lediglich sechs Entwickler mssen einen GR-Vorschlag per Mail
untersttzen, um eine GR vom Zaun zu
brechen.
Als Speerspitze der Gegner von Systemd
etablierte sich schnell ein prominentes
CTTE-Mitglied: Ian Jackson (Abbildung
2) nutzte nicht nur verschiedene DebianMailinglisten regelmig, um massiv gegen Systemd zu agitieren, er diskutierte
auf der Mailingliste fr Abstimmungen
[4] auch verschiedene GR-Entwrfe und
kontrollierte gar die Arbeit des Projektsekretrs Kurt Roeckx. War beispielsweise
die Zeit, die ein GR-Entwurf zum Sammeln von Sekundanten hatte, abgelaufen,
mahnte Jackson quasi augenblicklich den
Beginn der GR an.
Insgesamt hat Jackson whrend der gesamten Systemd-Diskussion keinen guten
Eindruck hinterlassen: Mal forderte er
den Rcktritt Bdale Garbees vom CTTEVorsitz, mal griff er andere Entwickler
scharf an, weil sie Systemd untersttzten. Zum bisweilen hasserfllten Ton in

der Diskussion hat er damit mageblich


beigetragen. Dies Verhalten steht in der
von Jackson vorgetragenen Vehemenz einem ehemaligen Projektleiter und CTTEMitglied nicht zu, mehr Contenance wre
wnschenswert und notwendig.
Jackson zettelte also eine Generalabstimmung an, ber deren Text mehrere Wochen heftige Diskussion auf den verschiedenen Mailinglisten sowie in diversen
Chatrooms stattfanden. Am Ende stand
ein GR-Entwurf, der als eine der Mglichkeiten quasi eine LMAA-Klausel
hatte: Das Debian-Projekte mge per GR
entscheiden, dass es einer GR ber die
Initsystem-Frage nicht bedrfe. Genau
jene Option stand als Gewinner fest, als
Kurt Roeckx die Ergebnisse auf der Abstimmungsseite verffentlichte.

Was sagt die Community


dazu?
Das GR-Ergebnis darf wohl auch als
virtueller Stinkefinger in Richtung der
Systemd-Verfechter und -Gegner gelten,
die ihren Streit seit Monaten in diversen
Formen ffentlich austragen. Die Mehrheit der Debian-Entwickler geht an die
Initsystem-Debatte offenbar sehr nchtern heran und ist bereit, eine funktionierende Implementation zu akzeptieren, sei
es auf Systemd-Basis oder auf Basis eines
anderen Werkzeugs.
Kurzum: Die Mehrheit der Entwickler ist
der Diskussion rund um Systemd mde
und findet die immer wiederkehrenden

Was bedeuten die Rckzge


aus den Gremien?
Beide Faktoren drften dazu beigetragen
haben, dass sich im November gleich
mehrere altgediente Entwickler aus dem
CTTE zurckzogen oder Debian gleich
ganz den Rcken kehrten. Joey Hess
(Abbildung 3) ist dabei und ein echtes Debian-Schwergewicht: Er ist der
Kopf hinter debhelper, das beim Zusammenbau der meisten Debian-Pakete
zum Einsatz kommt. Auch fr andere
Programme innerhalb Debians zeichnet
er verantwortlich.
Hess verabschiedete sich gleich ganz vom
Projekt und erklrte, knftig seine Aufmerksamkeit anderen Themen widmen
zu wollen. Als einen Grund nannte er
die fr ihn befremdliche Systemd-Debatte
und die Tatsache, dass ihm die Entscheidungsprozesse in Debian mittlerweile zu
komplex geworden seien.
Ganz so hart brach Tollef Fog Heen mit
Debian zwar nicht, doch hing auch er
seinen Posten als Maintainer an den Nagel: Heen wird nicht lnger an Systemd in
Debian arbeiten, weil der ihm entgegenschlagende Hass [5] unertrglich sei und
er sich dem nicht lnger aussetzen wolle.
Das Technical Committee hat gleich drei
Abgnge zu verkraften: Colin Watson
nimmt seinen Hut und will blo noch so
lange aktiv bleiben, bis ein Nachfolger
fr ihn feststeht. Er merkt ausdrcklich
an, dass die Systemd-Debatte nichts mit
seinem Rcktritt zu tun hat.
Anders sieht es bei Russ Alberry aus: Er
will in Zukunft weniger diskutieren und

02/2015

Wie geht es weiter mit dem


Debian-Projekt?
Bei Licht betrachtet bleibt aber kein
Grund, an Debian insgesamt zu zweifeln.
Das Projekt ist so gro, dass es berall stndige Fluktuationen gibt. Pakete,
deren Maintainer sich verabschieden,
werden meist von anderen Entwicklern
bernommen und betreut. Wie es mit
den Paketen von Joey Hess weitergeht,
muss sich zeigen: Hess hat angekndigt,
Debhelper und seine anderen Projekte in
Zukunft nicht mehr weiterentwickeln zu
wollen. Es steht allerdings zu vermuten,
dass sich innerhalb des Projekts Leute
finden, die sich um die verwaiste Software kmmern.
Abgesehen von dem aktuellen SystemdStreit ist es ja auch nicht das erste Mal,
dass Debian zentrale Persnlichkeiten
der Projektgeschichte abhanden kommen: Als Mark Shuttleworth beispielsweise vor Jahren gleich eine ganze Reihe
Debian-Entwickler anstellte und sie
damit zumindest zum Teil dem Projekt
entzog, herrschte nur kurzzeitig Endzeitstimmung. Schon bald stellte sich
nmlich heraus, dass frischer Wind in
den Projektgremien dem Debian-Projekt
durchaus zutrglich sein kann.
Der erste und wichtigste Schritt, den
Debian bewltigen muss, ist der zu innerer Ruhe: Die Grabenkmpfe rund um
Systemd sind von einzelnen Leuten mit
einer solchen Hrte gefhrt worden, dass
sie viel Porzellan zerschlagen haben.

Wird der Devuan-Fork


Erfolg haben?
Es sieht so aus, als wollten die SystemdGegner nun einen Debian-Fork ins Leben
rufen, der ohne die Software auskommt.

Ein solches Projekt wrde Betreuer und


Gegner von Systemd dauerhaft trennen
und es Debian erlauben, wieder zur Ruhe
zu kommen. Wenn das Devuan-Projekt
[6] denn Erfolg hat: Einerseits waren die
Devuan-Verantwortlichen bis Redaktionsschluss nmlich nicht bereit, Ross und
Reiter zu nennen, und agieren lieber aus
der Anonymitt heraus.
Andererseits sind die Devuan-Grnder
beim Sammeln von Spenden nicht gerade
erfolgreich. Innerhalb von 48 Stunden
kratzten sie rund 1700 US-Dollar ber
Paypal, Stripe und Bitcoins zusammen.
Mit umgerechnet 1370 Euro lsst sich
allerdings schwerlich eine ganze Distribution bauen. Auerdem konterkariert
der Misserfolg beim Spendensammeln
die Mantra-artig wiederholte Aussage
der Systemd-Gegner, es gbe eine groe
Zahl von Debian-Nutzern, die Systemd
zu verhindern versuchten.
Eine echte Gefahr fr Debian knnte
Devuan nur werden, wenn es dessen
Entwicklern gelingt, ein funktionierendes, aktuelles System mit einem anderen
Initsystem als Systemd auf die Beine zu
stellen und dann fr das eigene Projekt
genug Traktion zu erzeugen. Warum dessen technischer Teil sehr komplex werden drfte, hat Lennart Poettering (Abbildung 4) in seiner Rolle als Erfinder
und Systemd-Hauptentwickler bereits vor
Monaten in [7] erlutert.

Was ndert sich technisch?


Unterm Strich werden knftig Systemkomponenten wie Cgroups im Linux-Kernel oder auch Kdbus Funktionen nutzen,
die augenblicklich nur Systemd bietet.
Wer die gleichen Features ohne Systemd
will, msste also enormen Programmieraufwand betreiben. Dann stellt sich die
Frage, ob das sinnvoll ist: Red Hat (fr
RHEL sowie Fedora), Suse (fr SLES und
Open Suse) und Canonical (fr Ubuntu)
haben bereits eine Entscheidung fr Systemd gefllt. Romantiker mgen es fr
mglich halten, dass Debian hier einen
eigenen Weg gehen und etwas anderes
nutzen kann.
Doch drfte in der Realitt die Entwicklung darauf hinauslaufen, dass immer
mehr Software Funktionen an Systemd
knpft und daher die Pflege eines Forks
zunehmend aufwndiger wird, wenn er

Markus Feilner, CC-BY-SA 4.0

Aktuell
Knatsch bei Debian
www.linux-magazin.de

30

wieder mehr entwickeln, was in seinen


Augen mit der CTTE-Arbeit unvereinbar
ist. Kurz nach Bekanntgabe des Ergebnisses der GR ber Systemd erklrte auch Ian
Jackson seinen sofortigen Rcktritt vom
CTTE und begrndete ihn damit, dass er
Systemd nicht untersttzen mchte, aber
andererseits mit dieser Meinung nicht
mehr die Mehrheit von Debian hinter
sich wei. Innerhalb kurzer Zeit hat so
eine ganze Reihe Entwickler ihre Posten
gerumt oder Debian verlassen.

Abbildung 4: Ein T-Shirt mit dem Aufdruck Open


Source Tea Party: Systemd-Mastermind Lennart
Poettering auf der FOSDEM 2014 in Brssel.

nicht sehr schnell im Softwaremuseum


verkommen soll. Frs Erste scheint es jedenfalls so, als bleibe Debian eine Pause
zum Durchatmen. Es ist dem Projekt zu
wnschen, dass die Pause eine lange
wird. (mfe)
Q

Infos
[1] Martin Loschwitz, Frei regiert:
Linux-Magazin 10/14, S. 34
[2] Die Debian-Verfassung: [https://www.
debian.org/devel/constitution.de.html]
[3] E-Mail von Bdale Garbee:
[https://bugs.debian.org/cgi-bin/
bugreport.cgi?bug=727708#6734]
[4] Debian-Vote-Mailingliste:
[http://lists.debian.org/debian-vote]
[5] Mail von Tollef Fog Heen: [http://lists.
alioth.debian.org/pipermail/pkg-systemdmaintainers/2014-November/004563.html]
[6] Devuan-Projekt: [https://devuan.org]
[7] Beitrag von L. Poettering: [https://plus.
google.com/u/0/+LennartPoetteringTheOne
AndOnly/posts/8RmiAQsW9qf]
Der Autor
Martin Gerhard Loschwitz
arbeitet als Cloud Architect
bei Syseleven in Berlin. Er
beschftigt sich dort intensiv mit den Themen Cloudmanagement, Open Stack,
Distributed Storage und Puppet. Auerdem pflegt
er in seiner Freizeit Pacemaker fr Debian.

02/2015

Titelthema
32

www.linux-magazin.de

Clients

Das Ende von End-to-End und die mhsame Suche nach Alternativen

E-Mail, aber sicher


Ob private oder betriebliche Kommunikation das Unbehagen wchst. Denn Geheimdienste und Mitbewerber
trachten danach, aus dem Urgestein E-Mail eine sprudelnde Quelle abzuschpfen. Der Schwerpunkt dieser Ausgabe informiert ber mgliche Gegenmanahmen. Los geht es mit verschlsselnden Clients. Tim Schrmann, Jan Kleinert

Die langen Stehtische haben dicke Holzplatten, es gibt genug leckeres Fingerfood
fr alle, die Getrnke sind frei, und an
einer der dunkelroten Wnde zischt ein
Kaffeeautomat, wenn Gste der kostenlosen Veranstaltung auf einen der Knpfe
drcken. Vor dem Vortragsraum im
Mnchner Hotel Courtyard by Marriott
Inhalt
32 Verschlsselnde Clients
PGP oder Gnu PG bieten zwar Sicherheit,
sind aber so umstndlich zu handhaben,
dass kaum jemand sie benutzt.
38 Dime
Eine Initiative rund um Phil Zimmermann
will die E-Mail revolutionieren.
42 DANE und DNSsec
DANE stellt sicher, dass ein Mailserver
oder eine Firewall auf dem Transportweg
nicht jede Verschlsselung ausknipsen.
46 Dmarc
Hilft auch gegen Spammer: Mailadressen verifizieren mit Dmarc.

City Center (Zimmer ab 160 Euro pro


Nacht) sorgen Kellner dafr, dass keine
Annehmlichkeit versiegt.
Der Rahmen knnte der einer Verkaufsveranstaltung fr dubiose Immobilienfonds sein. Ist er aber nicht, denn eine
Stunde zuvor hatten drei Entwickler ihre
Mail-Projekte LEAP [1] und Pixelated [2]
vorgestellt. Ihr Arbeitgeber, die IT-Firma
Thoughtworks [3], bezahlt diese drei
und acht weitere Developer in Hamburg
sowie im brasilianischen Porto Alegre seit
Anfang 2014 und plant wohl, dies weitere
eineinhalb Jahre zu tun. Die Rechnung
des Abends (der in mehreren europischen Stdten wiederholt wird) begleicht
sie auch und das, obwohl die Entwickler beteuern, dass Thoughtworks kein
kommerzielles Produkt um LEAP und Co.
plane. Willkommen auf dem Sonnendeck
der Open-Source-Szene!
Christoph Klnter, Lisa Junger und Folker
Bernitt so heien die drei erklren
das intensive Engagement ihres Arbeit-

gebers: An normalen Tagen passieren 196


Milliarden E-Mails das Internet, und nur
sehr wenige davon sind verschlsselt.
Der Rest ist Freiwild fr Geheimdienste
und Industriespione. Hinzu kommt, dass
sich in fast allen Lndern der Mailverkehr
auf wenige Provider konzentriert, was die
zum lohnenden Objekt fr Cyberangriffe
und staatliche Eingriffe macht.
Wer als Gegenmanahme seine Mails
Ende-zu-Ende-verschlsselt, ist berraschenderweise nicht vllig aus dem
Schneider. Weil der Anteil gecrypteter
Nachrichten so gering ist, fallen diese
nmlich ber die Gebhr auf. Mitlauschende Geheimdienste erfassen die
unverschlsselten Header solcher Mails
als weie Raben besonders genau, weil
sie annehmen, Absender und Empfnger
haben etwas zu verbergen.

Weich gebettet: LEAP,


Bitmask und Pixelated
Die Thoughtworks-Leute wollen etwas
dazu beitragen, die Situation zu verbessern. Zum einen mchten sie die lnderweisen Quasimonopole der Mailprovider
aufweichen, indem sie kleineren Firmen
und Privatanwendern die technische
Mglichkeit an die Hand geben, selber
als (verschlsselungsfreundlicher) Provider aufzutreten. Zum anderen versuchen
sie den alten Konflikt zwischen Sicherheit und Usability zu entschrfen, an
dem PGP und Gnu PG seit jeher leiden:
Aktuelle Schlssellngen vorausgesetzt,
gelten beide Verfahren als sicher wenn
man davon absieht, dass sie den Mailheader im Klartext belassen.
Doch in der praktischen Ende-zu-EndeVerschlsselung erweisen sie sich als
aufwndig zu handhaben, weshalb die

02/2015

Titelthema
Clients

Abbildung 1: Pretty Easy Privacy verifiziert die Schlssel initial mit englischen oder deutschen Wortgruppen,
die sich gut am Telefon diktieren lassen.

tomatisch und validiert die Mail. Fr die


Benutzerseite haben die LEAP-Macher
den Linux-Client Bitmask [4] im Kcher.
Klnter, Junger und Bernitt empfehlen an
dem Abend jedoch ihre Webapp Pixelated [2]. Wie jedem Webclient lastet der
App aber der Makel an, dass ein Server
die Private Keys der Nutzer speichert.
Angesichts der Entwicklerressourcen und
der hehren Motive verdient das Projektebndnis jedoch Aufmerksamkeit.

Vordiktiert: PEP
Das Projekt Pretty Easy Privacy (PEP,
[5]) will hnlich dem ThoughtworksProjekt oder Dime (vormals Darkmail,

siehe Extra-Artikel hier im Schwerpunkt)


die Ver- und Entschlsselungsmechanismen vom Benutzer abkoppeln. PEP fut
nicht auf dem Web of Trust mit klassischen Keyservern, sondern verifiziert die
Schlssel mit englischen oder deutschen
Wortgruppen, die sich gut am Telefon
diktieren lassen (Abbildung 1). Den Key
setzt PEP aus entropiereichen Quellen
des Benutzers zusammen.
Die PEP-Engine ist freie Software jeder
darf und soll sie in seinen Messaging-Client einbauen. Dass der erste untersttzte
Client auf den Namen Outlook hrt, folgt
Marktgegebenheiten, bringt aber Linuxer nicht weiter. Der im schweizerischen
Winterthur lebende Entwickler Volker

www.linux-magazin.de

PEP-Videoprsentation

wenigsten Benutzer sie verwenden.


Viele verstehen schon das Prinzip von
Private und Public Key nicht, andere
sind mit dem Erzeugen und Hochladen
der Schlssel berfordert und vielen ist
das stndige Eintippen der Passphrase
zu viel. Zum Teil in Mailprogramme integrierte Frontends wie der GNU Privacy
Assistant (GPA), Seahorse oder Kgpg
versuchen den Nutzungsgrad zu heben,
erreichen dieses Ziel aber nicht im ausreichenden Mae.
Der Ansatz der gut unterftterten Thoughtworks-Entwickler nimmt prinzipbedingte
Sicherheitsschwchen in Kauf, um die
Benutzbarkeit drastisch zu vereinfachen.
Ihre pragmatische Rechnung: Das Mitlesen soll fr Angreifer aufwndiger und
damit teurer werden als dies bei Plaintext-Mails der Fall ist. Die benutzte LEAPPlattform [1] bietet ein Set aus einem
gehrteten Debian, Debian-Paketen und
Puppet-Modulen an, welche die Infrastruktur eines sicheren KommunikationsServiceproviders bereitstellen und dessen
Betrieb aufrecht erhalten. Diese Serverkomponente knnte bei einem Dienstleister arbeiten dem man dann vertrauen
muss , oder man installiert sie als virtuelle Maschine im eigenen Netz.
LEAP speichert eingehende PlaintextMails verschlsselt, sodass sie ab diesem Zeitpunkt nur der Empfnger lesen
kann. Passt ein ffentlicher Schlssel zur
eingehenden Mail, erkennt LEAP dies au-

33

02/2015

Titelthema
34

www.linux-magazin.de

Clients

und widerspricht damit


PEP-Mann Volker Birk
indirekt.

Altgedient:
Web.de Mail
Das kostenlose Postfach
bei Web.de verschlsselt
auf Wunsch E-Mails nach
dem S/MIME-Standard
mit X.509-Zertifikaten.
Wer bei Web.de ein PostAbbildung 2: Auf Anhieb erkennen Anwender bei Web.de nicht, welches Verschlsselungsverfahren sich hinter welcher Einstelfach anlegt, erhlt autolung verbirgt. Anders als mancher Mitbewerber macht sich der groe Provider aber wenigstens Gedanken um Vertraulichkeit.
matisch ein eigenes Zertifikat. Die Verschlsselung
E-Mails chiffrieren kann der Webclient einer E-Mail luft besonders einfach zwiBirk wirbt daher um Geduld: Die Dinge
gehen nur nicht alle auf einmal. PEP jedoch nicht. Wer seine Nachrichten schen zwei Web.de-Nutzern ab: Zunchst
liegt bisher ja nur in einer Preview vor.
verschlsseln mchte, muss folglich zu
senden sich beide Gesprchspartner eine
Auch sind wir nur eine kleine Gruppe
einem fhigen lokalen Mailclient greifen,
signierte E-Mail. Web.de importiert dann
Kolab Systems empfiehlt Kontact oder
automatisch den Schlssel aus dem dabei
von Leuten, die dafr umso engagierter
Thunderbird mit Enigmail.
angehngten X.509-Zertifikat des Gegendaran arbeitet.
Die wenigen Ressourcen halten Birk
Auch wer selbst einen Kolab-Server auf- bers. Der Verfasser einer E-Mail muss
nicht vom Blick in die Zukunft ab: Ich setzen mchte, bentigt einen Desktopdann in seinem Webclient nur noch die
komme gerade vom W3C-Workshop zuClient: Der standardmig eingerichtete Verschlsselungsart einstellen: RC2 mit
Webmailer Roundcube kann ebenfalls
rck. Da geht es um die Browser-Plugins
128 Bit Schlssellnge, 3DES mit 168 Bit
keine E-Mails chiffrieren. Erst in einer
fr Webmailer Wir werden gerade an
oder AES mit 265 Bit (Abbildung 2).
der kommenden Versionen wollen die
die IETF weitergereicht, um die SynchroDen ganzen Ablauf versteckt der WebRoundcube-Entwickler eine S/MIME- client vor seinen Anwendern. Die X.509nisationsprotokolle zu standardisieren.
Er selbst programmiert zurzeit an der und Open-PGP-Untersttzung integrieZertifikate beziehungsweise Schlssel erAndroid-Version, einem Fork von K-9.
ren. Zwar existieren bereits Plugins, die
zeugt das Web.de Trustcenter. Anwender
Eine erste Testversion will er bis Ende
eine Verschlsselungsfunktion nachrsmssen dem Dienst allerdings vertrauen,
2014 fertigstellen. Birk plant einen Patch
ten, die Firma legt diese Erweiterungen denn theoretisch knnte Web.de nicht
nur E-Mails unbemerkt entschlsseln,
fr den Mailclient Mutt, den er selbst
jedoch nicht bei.
Den Grund verrt Georg Greve, CEO
sondern auch die Identitt des Anwennutzt. Irgendwann danach will er eine
Lsung fr Thunderbird finden. Zudem von Kolab Systems, gegenber dem ders annehmen und von ihm signierte
habe das Kolab-Projekt angekndigt, PEP Linux-Magazin: Alle uns bekannten MeE-Mails verschicken. ber die Einstelzusammen mit der nchsten Major-Rethoden erlauben immer auch die Komlungen kann der Anwender sein X.509lease auszuliefern, Kontact also fit dafr promittierung des Schlssels. Entweder
Zertifikat immerhin als P12-Datei herunzu machen (siehe unten).
wird er direkt auf dem Server abgelegt
terladen. Sofern die E-Mail an ein Konto
Whrend LEAP, PEP oder Dime noch
oder ber das HTML-5-Storage fr die bei Web.de, T-Online, GMX oder Freenet
nicht produktiv einsetzbar sind, mhen
Webanwendung zugreifbar. Beides ist
gerichtet ist, nutzt Web.de einen versich einige groe und kleine Webhosaber nach unserer Einschtzung nicht gut schlsselten bertragungsweg. Wie die
ter schon lnger, auf Privatsphre und
genug und erlaubt es, den Schlssel di- Verschlsselung und der Versand dabei
Sicherheit bedachte Benutzer zufrieden rekt zu kompromittieren. Das wiederum
genau ablaufen, verraten die Maildienste
zu stellen. Nicht dazu zhlen allerdings ist schlechter als nicht zu verschlsseln, allerdings nicht.
weil die Erwartungshaltung des NutGoogle, Yahoo und GMX, letzterer Dienst
zers zum Zeitpunkt der Verschlsselung
gibt in seiner Online-Hilfe immerhin eine
eine andere ist. Kolab empfiehlt daher
Kurzanleitung fr Thunderbird.
Den Dienst Mailbox.org [7] betreibt
die Verschlsselung auf dem Desktop.
die in der Linux-Szene bekannte BerliLangfristig mchte Kolab Systems jedoch
ner Heinlein GmbH. Das Unternehmen
auch eine Verschlsselung im Webclient
Kolab Systems bietet mit My Kolab. anbieten. Das Unternehmen prft dazu
wirbt mit einem Serverstandort in Berlin,
com [6] eine gehostete Groupware an.
der Einhaltung deutscher Datenschutzderzeit verschiedene Konzepte, zu denen
auch PEP (siehe oben) gehrt. Wann eine
Die darin verwalteten Daten lagern laut
gesetze und einer Verschlsselung. Das
Anbieter zwar sicher geschtzt in ei- Umsetzung mit welcher Lsung erfolgt,
letzte Versprechen kann der Dienst jenem Rechenzentrum in der Schweiz,
konnte Georg Greve noch nicht sagen
doch nur teilweise einlsen. So chiffriert

Rumberlinert: Mailbox.org

Unverschlsselt: Kolab

Mailbox.org wie LEAP auf Wunsch alle


E-Mails mit dem Public Key des Users.
Auf dem Mailbox.org-Server liegen damit
ausschlielich chiffrierte Nachrichten,
auf dem Weg im Internet laufen sie aber
weiterhin im Klartext, und der Kunde
braucht ein gewisses Vertrauen zu den
Admins des Betreibers. Und es gibt noch
einen anderen Haken: Speichert ein EMail-Client eine gerade versendete E-Mail
im Sent-Ordner auf dem Server, bleibt
sie dort unverschlsselt liegen. Mailbox.
org arbeitet nach eigenen Angaben an
diesem Problem.
Um die automatische Verschlsselung zu
aktivieren, mssen User nur ihren Public Key hochladen. In Zukunft mchte
Mailbox.org zustzlich den Private Key
auf seinen Servern speichern. Die Verund Entschlsselung knnte damit zwar
automatisch geschehen, der Anwender
gibt jedoch seinen Private Key in fremde
Hnde. Mailbox.org htte dann nicht nur
Zugriff auf den E-Mail-Verkehr, sondern
msste etwa auf Anweisung durch Gerichte die E-Mails herausgeben.
Beim Versand einer E-Mail versucht Mailbox.org einen verschlsselten Kanal zum
Empfnger aufzubauen. Das funktioniert
allerdings nur, wenn auch das Gegenber
mitspielt. Den gesicherten Versand drfen Nutzer sogar erzwingen. Die Zustellung scheitert dann, wenn der Empfnger
keine Verschlsselung erlaubt. Experten
whlen sogar zwischen verschiedenen
Sicherheitsstufen und gestatten beispielsweise die Zustellung nur an Empfnger
mit einem validen DANE-Record-Eintrag.
In der Praxis mssen Anwender jedoch
hufig E-Mails an nicht entsprechend
abgesicherte Postfcher versenden. Wer
mit Mailbox.org verschlsselte E-Mails
austauschen mchte, kommt somit unter
dem Strich nicht um
einen lokalen Mailclient herum. Zu einem
solchen rt sogar Mailbox.org in seiner Onlinehilfe.

chen. Dieser in Python geschriebene


Webmailclient funktioniert hnlich wie
Roundcube: Anwender starten Mailpile
auf einem eigenen Server oder dem PC
und greifen mit dem Browser darauf zu
(Abbildung 3). Gegenber dem E-MailProvider verhlt sich Mailpile wie ein lokaler Mailclient. Im Gegensatz zu Roundcube bietet Mailpile fest integrierte und
einfach zu nutzende Verschlsselungsfunktionen. Um eine E-Mail zu verschlsseln, gengt etwa in der Compose-Ansicht ein Klick auf das entsprechende
Symbol.
Zum De- und Chiffrieren nutzt Mailpile
den Open-PGP-Standard und enkodiert
die Nachricht, noch bevor es sie an den
E-Mail-Dienst bergibt. Der kann folglich
nicht mitlesen. Bei einem Einsatz auf
einem Server knnte ein Angreifer diesen
jedoch kompromittieren. Da Mailpile die
Nachrichten mit Gnu PG verschlsselt,
wandert zudem der Klartext zwischen
Browser und Mailpile-Server durch das
Internet. Den Zugang zu Mailpile und
somit dem eigenen Postfach schtzt
nur ein einfaches Passwort. Anwender
mssen daher zustzliche Sicherungsmanahmen ergreifen. Derzeit befindet
sich Mailpile noch in der Betaphase, der
Quellcode [9] steht wahlweise unter der
GNU Affero General Public License oder
der Apache License 2.0.

Eingeklinkt: Web PG und


Google End-to-End
Einen anderen Weg geht das unter der
GPLv2 verffentlichte Web PG [10].
Diese Erweiterung fr Firefox und
Chrome bindet Gnu PG in den Browser
ein. Das versetzt Anwender in die Lage,
direkt im Browser ihre Schlssel zu ver-

Aufgepfropft:
Mailpile
Wessen Mailprovider
im Web nicht verschlsselt, kann auf
Mailpile [8] auswei-

Abbildung 3: Mailpile ist ein zustzliches Frontend fr einen beliebigen


nicht-verschlsselnden E-Mail-Dienst.

02/2015

Titelthema
Clients
www.linux-magazin.de

36

der nicht. Die Schlsselverwaltung lsst


kaum Wnsche offen:
Schlssel sind importier-, exportier- und
mit Schlsselservern
abgleichbar. Anwender drfen unter anderem das Ablaufdatum
ndern und Unterschlssel hinzufgen.
Bei der Schlsselerzeugung lsst Web
PG die Wahl zwischen
den Algorithmen DSA,
RSA und El Gamel,
Abbildung 4: Web PG und ein Browserplugin verschaffen Gmail-Nutzern doch
Schlssel sind 1024,
noch Gelegenheit, Nachrichten zu verschlsseln.
2048, 3072 oder 4096
Bits lang.
walten und ber das Kontextmen der
Auch Google arbeitet derzeit an einer
Erweiterung fr Chrome. Die End-to-End
rechten Maustaste schnell Texte zu ver[11] getaufte und der Apache License
und entschlsseln.
2.0 unterworfene Software blendet auf
Fr den Artikel interessant ist Web PGs
Knopfdruck ein Fenster ein, in dem sich
Gmail-Integration: Nach der Anmeldung
eine Nachricht de- und enkodieren lsst
bei Googles Webmailer klingt sich das
(wie in Abbildung 5). Innerhalb von
Plugin wie in Abbildung 4 in die WeboGmail dechiffriert die Erweiterung Nachberflche ein. ber die zustzlichen Butrichten automatisch.
tons de- und chiffriert der Benutzer die
Die Ver- und Entschlsselung berMails. Die Entwickler klassifizieren diese
nimmt eine eigens fr das Projekt neu
Integration zurzeit allerdings als experimentell, der Benutzer muss sie in den entwickelte Javascript-Bibliothek, die
dem Open-PGP-Standard folgt. Nach
Web-PG-Einstellungen explizit freischalihrer Installation generiert die Erweiteten. Des Weiteren tippen Anwender den
Text zunchst im Klartext ein. Bei einer rung automatisch einen Schlssel, der
Zwischenspeicherung landet die NachAnwender muss lediglich seine E-Mailricht damit doch wieder unverschlsselt
Adresse eintippen. Schlssel lassen sich
auf den Google-Servern.
im- und exportieren. Im Gegensatz zu
Die Oberflche von Web PG ist uerst
Web PG befindet sich End-to-End noch
bersichtlich gestaltet, Kenntnisse im
in einer frhen Entwicklungsphase. Wer
Umgang mit Gnu PG bentigen Anwenes einsetzen mchte, muss die Erweite-

rung selbst bersetzen. Darber hinaus


warnen die Entwickler vor Fehlern und
Sicherheitslcken.

Eingettet: Mailvelope
Eine Alternative zu Web PG bietet Mailvelope (Abbildung 6, [12]). Diese Erweiterung fr Firefox und Chrome befindet
sich ebenfalls noch im Beta-Stadium,
untersttzt aber weitaus mehr Webmailer als Web PG: Gmail, GMX, Microsoft
(Mail.live.com), Posteo, Yahoo und Web.
de. Sie arbeitet nach dem Open-PGPStandard und untersteht der GNU Affero
General Public License. Sie kann Schlssel importieren, exportieren und erzeugen. Letzteres erfolgt grundstzlich mit
dem RSA-Algorithmus. Der Anwender
whlt nur die Schlsselgre in den drei
Q
Stufen 1024, 2048 oder 4096 Bit.

Infos
[1] LEAP: [https://leap.se/en/home]
[2] Pixelated: [https://pixelated-project.org]
[3] Thoughtworks:
[http://www.thoughtworks.com/de/]
[4] Bitmask:
[https://leap.se/en/docs/client#Bitmask]
[5] PEP: [http://pep-project.org]
[6] My Kolab: [https://mykolab.com/de]
[7] Mailbox.org: [https://mailbox.org]
[8] Mailpile [https://www.mailpile.is]
[9] Mailpile-Sourcen:
[https://github.com/mailpile/Mailpile]
[10] Web PG: [https://webpg.org]
[11] Google End-to-End:
[https://code.google.com/p/end-to-end/]
[12] Mailvelope: [https://www.mailvelope.com]

Abbildung 5: Googles End-to-End luft nur im Chrome-Browser. Die Erweiterung ver-

Abbildung 6: Eine Nachricht per Mailvelope zu schreiben, geschieht in

und entschlsselt E-Mails in einem separaten Fenster.

einem Extrafenster und ist etwas komplizierter gelst als in Web PG.

02/2015

Titelthema

Dime will bei digitaler Post alles neu machen

Der E-Mail haftet kein guter Ruf mehr an: Unsicher, nicht zuverlssig und fr jeden lesbar wie eine Postkarte.
Eine Initiative rund um den Grnder des ehemaligen E-Mail-Anbieters Lavabit sowie PGP-Urgestein Phil Zimmermann haben sich das Ziel gesetzt, die E-Mail durch ein neues Medium zu ersetzen. Martin Loschwitz, Markus Feilner

auch als Problem von existenzieller Bedeutung fr Lavabit herausstellen.

Snowden und das Ende

filmfoto, 123RF

38

www.linux-magazin.de

Dime

Jetzt aber!

Ladar Levison ist in der Szene nur wenigen Menschen ein Begriff, dafr kennt
mittlerweile fast jeder die Ex-Firma des
Unternehmers: Lavabit (Abbildung 1).
Die Webseite [1] war von 2004 bis 2013
im E-Mail-Hosting-Geschft aktiv und
sah sich selbst als Pionier auf dem Gebiet sicherer und bei Bedarf anonymer
Kommunikation. Ihren Ursprung fand die
Unternehmensidee in der angeprangerten Schwche eines Mitbewerbers. Die
texanischen Grnder waren nicht damit
einverstanden, dass Googles Gmail Werbung auf Grundlage des vorher von den
Kaliforniern durchsuchten Inhalts von
E-Mails anzeigt, und grndeten den auf
Sicherheit ausgerichteten E-Mail-Service.

Lavabits Schwachpunkt: Die


Schlssel der Kunden
Lavabit setzte damals tatschlich Mastbe: Asynchrone Verschlsselung gehrte zum Standard, und zwar in einer

Lange Zeit nach seiner Grndung war


Lavabit trotzdem nur ein Anbieter von
vielen und wirbelte auch nicht viel Staub
auf. Mit den Behrden arbeitete man zusammen, wo es ntig war. Vermutlich
wre Lavabit ein Mailanbieter wie viele
geblieben, htte es da nicht diesen einen
verflixten Kunden mit der E-Mail-Adresse
[edsnowden@lavabit.com] gegeben.
Als Snowden (Abbildung 2) erst ins
Ausland flchtete und dann kurzerhand
anfing die geheimsten Geheimnisse der
Megabehrde NSA auszuplaudern, war
der Spa fr Lavabit bald vorbei, das
Unternehmen sah sich diversen Gerichtsbeschlssen (Abbildung 3) und Durchsuchungsbefehlen ausgesetzt.

Qualitt, die selbst fr Geheimdienste


nicht ohne Weiteres zu knacken ist. Doch
hatte die Lsung einen Schwachpunkt:
Die Schlssel, die Lavabit fr den KryptoTeil der Installation
nutzte, lagen bei Lavabit selbst auf den
Servern. Die Kunden
von Lavabit mussten
dem
Unternehmen
also vertrauen, denn
Lavabit konnte immer
die Inhalte der E-Mails
lesen, die Kunden
ber den Dienst verschickten.
Nicht nur sorgte diese
Funktionsweise fr
aufgerollte Fungel
bei Menschen mit einer Affinitt fr das Abbildung 1: Ladar Levison ist ein Mann mit Mission: Dass er Lavabit auf
Druck von US-Behrden schlieen musste, brachte ihn weltweit in die
Thema Verschlsselung sie sollte sich
Medien, was er auch wirksam auszuschlachten wusste.

02/2015

Seither ist Levison ein Mann mit Mission.


Bald nach dem Lavabit-Ende trat er mit
der Ankndigung an die ffentlichkeit,
einen Lavabit-Nachfolger grnden zu
wollen. Dieser soll nicht weniger tun, als
die E-Mail durch eine neue Technologie
ersetzen, bei deren Design Sicherheit eine
elementare Rolle spielt. Levison hat sich
dafr auch ein durchaus schlagkrftiges
Team organisiert, das er auf der Webseite
([2], Abbildung 5) vorstellt:
Q Phil Zimmermann (Abbildung 6,
[3]) ist der Erfinder von PGP, also
ein Pionier fr Sicherheit bei digitaler
Kommunikation, und bringt fundiertes
Krypto-Wissen mit.
Q Jon Callas kann auf seine lange Erfahrung bei der Arbeit fr Sicherheit
im Internet verweisen: Er war unter
anderem bei DEC und PGP und einer
der Mitbegrnder von Silent Circle
[4], einem anderen Dienst fr sichere
Mailkommunikation im Netz nach
dem Prinzip von Lavabit.
Q Mike Janke, der andere Mitbegrnder
von Silent Circle und enge Freund von
Jon Callas und Phil Zimmermann.
Zusammen bringen die vier Kpfe hinter
dem neuen Projekt also einiges an Erfahrung mit, was verschlsselte Kommunikation betrifft. Und einen Namen haben
die vier fr ihr Baby auch schon, oder
eigentlich eher zwei: Zunchst firmierte
das 2013 gestartete Projekt als Project
Darkmail.
Unter dieser Bezeichnung sammelte Levison auf Kickstarter [5] eine Menge
Spenden und Goodwill. Erst vor Kurzem erfolgte dann die Umbenennung in
DIME, was fr Dark Internet Mail Environment steht. Schon aus dieser Bezeichnung allein ist ersichtlich, dass Dime

Der oberste und wichtigste Faktor fr


Dime ist in den Augen der Grnder die
Fhigkeit, echte Ende-zu-Ende-VerschlsAbbildung 2: Htte Ed Snowden nicht Lavabit
selung zu bieten, bei der Schloss und genutzt, um sichere E-Mails zu verschicken, dann
Schlssel nur den beiden kommunizie- gbe es den Dienst wahrscheinlich noch.
renden Personen bekannt sind. Darin enthalten soll aber nicht nur der eigentliche Nachrichtenversand abzuschnorcheln.
Inhalt der E-Mail sein Dime will auch Dadurch wre Dime fein raus und davor
geschtzt, in eine hnliche Situation wie
alle Metadaten der E-Mail verschlsselt
Silent Circle oder Lavabit zu kommen,
und damit sicher bertragen.
die beide ins Visier der Polizei gerieten.
Die einzige Information, die ein fiktiver
Man-in-the-Middle bei der Kommunikation der gedachten Kommunikationspartner Alice und Bob sehen knnen soll, ist
die Lnge der verschlsselten Nachricht.
Dime will aber noch einen Schritt weiter
Darber hinaus sieht der Angreifer nur
gehen und die Software ffentlich maDatensalat, der selbst fr Megacomputer
chen, die im Hintergrund bei Dime luft.
(fast) unmglich zu knacken ist.
Der Ansatz schlgt gleich mehrere Fliegen
Letztlich soll Dime ein Dienst sein, den
mit einer Klatsche. Wenn Dime fr die Admins auf eigenen Servern betreiben
Kommunikationsteilnehmer nur das Medium bereitstellt, aber
die
Informationen
selbst nicht entschlsseln kann, bietet die
Firma keinen verwertbaren Ansatzpunkt
fr Strafverfolgungsbehrden. Durch die
umfassende Anonymisierung knnte Dime
selbst dann keine Daten rausrcken, wenn
es wollte oder ein
erneuter
National
Security Letter der
US-Behrden sie dazu
zwingen sollte.
Und weil die digitalen
Schlssel nur bei den
Nutzern liegen, hat
Dime selbst auch berhaupt keine Chance,
Abbildung 3: Per Gerichtsbeschluss wollten die US-Behrden erwirken, dass
echte Nutzdaten beim
Lavabit alle Daten herausgeben muss.

Software, Dienste,
Protokolle und Clients

www.linux-magazin.de

End to End

Dime

Titelthema

Sichere E-Mails voraus

nicht einfach nur ein E-Mail-Aufsatz fr


mehr Sicherheit sein will, wie Gnu PG es
de facto ist.
Viel mehr will Dime die klassische EMail durch einen neuen Dienst ersetzen,
der so funktioniert wie E-Mail, dabei
aber grundlegend sicher ist. Das umfasst
mehrere Punkte, die auf der Agenda des
Dime-Projekts stehen.

Laura Poitras / Praxis Films, Wikimedia, CC-BY 3.0

In denen forderten die Ermittler Lavabit dazu auf, smtliche Schlssel zu


bergeben, die intern fr Kunden in Gebrauch gewesen waren. Effektiv htten
die Behrden damit alle Nachrichten
entschlsseln knnen, die man jemals
weitergeleitet hatte. Lavabit widersetzte
sich den Anordnungen zunchst, stellte
den IT- und Geschftsbetrieb aber kurzerhand ein, wohl auch, weil sich Ladar
Levison sonst im Knast wiedergefunden
htte (Abbildung 4).

39

02/2015

Titelthema
Dime
www.linux-magazin.de

40

Apropos Schlssel: ten austauschen wollen. Fr die steht


Dime wird eine Ver- in Dime konsequent ausschlielich der
schlsselung verwenModus Vertrauensvoll zur Verfgung.
den, die jener mit
Auerdem warnt Volcano ausdrcklich
PGP fr E-Mails sehr vor eventuell mangelnder Sicherheit, behnlich ist. Sie arvor es einen Dime-Anwender eine Nachbeitet ebenfalls mit richt unverschlsselt an einen normalen
ffentlichen
Keys, E-Mail-Account versenden lsst.
die im Dime-Sprech
allerdings Signet (Abbildung 8) heien
sollen. Nutzer knnen
sich fr ihre Signets
Levison tingelt dieser Tage rund um den
gegenseitig das VerGlobus und stellt sein Projekt auf Kontrauen aussprechen,
ferenzen vor, bei denen Sicherheit ein
Abbildung 4: Laut eigener Aussage durfte Levison offiziell nicht darber
was im PGP-Sprech
Thema ist. Auch beim Chaos Commureden, dass er unter massivem Druck durch Strafverfolgungsbehrden stand.
einer Schlsselsignanication Congress in Berlin Ende 2013
tur gleichkme.
[7] war er anwesend und sprach ber
Zumindest dieser Teil der Geschichte
knnen, wie es die E-Mail schon heute
die Motive seines Handeln. Wer sich mit
klingt sehr stark nach Gnu PG mit all seiist. Bei ihrer Fundraising-Kampagne gaihm unterhlt, hat schnell den Eindruck,
ben die Entwickler das ausdrcklich als nen Schwachpunkten. Levison verspricht dass dieser Mann wei, was er tut. Das
aber hoch und heilig, dass die inhrente manifestiert sich in Details, die bei der
Ziel mit an: Auf Grundlage der Software,
die bei Lavabit lief, sollen Daemons
Verschlsselung bei Dime deutlich leichBenutzung von Gnu PG oft unter den
fr den Empfang und den Versand von ter zu nutzen sein werde, als es bei Gnu
Tisch fallen.
Dime-Nachrichten entstehen. Ein DMAP
PG der Fall ist eben weil sie Teil des Erst im Dezember haben etwa Richard
(Darkmail Message Access Protocol) geKonzepts ist und nicht angehkelt.
Klafter und Eric Swanson eindrcklich
unter Beweis gestellt [8], dass die 32-Bitnanntes Protokoll soll ein gleichwertiger
IDs fr Schlssel in Gnu PG bereits gut
Ersatz fr IMAP sein, der aber mit Dime
voraussagbar sind. Wer es darauf anlegt,
funktioniert.
kann innerhalb krzester Zeit ein Key-Set
Mittlerweile hat sich das Projekt bereits
ein schnes Stck von den Anfngen entDas bereits erwhnte Ziel der Verschls- von Tausenden Schlsseln generieren,
fernt; die Lavabit-Komponenten haben
die gegenseitig signiert sind und vertrauselung der Metadaten stellt eine weitere
viele neue Features erhalten und auch
enerweckende Eintrge in den Namenshohe Hrde dar, die Dime bereits umdie anderen Bestandteile der Suite sind
schifft zu haben glaubt. Schlielich, so und E-Mail-Feldern haben.
die Entwickler, gbe es bereits ein Vorbild Anders formuliert: Mit dem beschrieinzwischen mehr als bloe Ideen. Levifr ein Netz, bei dem zwei Enden berbenen Prozedere lassen sich Schlssel
son selbst stellte auf der Defcon 22 im
erzeugen, deren ID mit den IDs echter
wachungsfrei und anonym miteinander
Jahr 2014 [6] den Dime-Client Volcano
Schlssel bekannter Persnlichkeiten
kommunizieren knnen: Tor.
(Abbildung 7) vor, der auf Thunderbird
identisch sind. Das Problem betrifft also
basiert und mit diesem zumindest bis- Die Dime-Macher rund um Levison bezeichnen den Transportmechanismus
gar nicht die Schlssel jener Persnlichher einige hnlichkeit aufweist. Das gilt
von Dime als Torwenigstens im Hinblick auf die Benuthnlich und meinen
zeroberflche.
damit, dass verschiedene Hosts an der
Kommunikation beteiligt sind, den eigentliVolcano stellt den Benutzer vor die Wahl
chen Traffic dabei aber
nie zu Gesicht bekomaus drei Betriebsmodi, die mit den englischen Begriffen Trustful (vertrauensmen. Denn der ist wie
voll), Cautious (vorsichtig) und Paranoid bei einer Zwiebel unter vielen Schichten
(paranoid) benannt sind. Levison weist
verborgen.
ausdrcklich darauf hin, dass lediglich
Das birgt ein Problem
Cautious und Paranoid als sicher gelten
knnen. Denn nur in diesen Betriebsfr Dime-Anwender,
modi setzt Dime auf die Verschlsselung
die mit Nicht-DimeAnwendern kommunivon Ende zu Ende, bei der die Keys auf
zieren und NachrichAbbildung 5: Das prominente Team von Darkmail respektive Dime.
den Computern der User verbleiben.

Das Problem der sicheren


Schlsselverteilung gelst?

Eingebaute Anonymisierung
wie im Tor-Netzwerk

Vertrauensvoll, vorsichtig
und paranoid

02/2015

Abbildung 6: Phil Zimmermann hier rechts auf dem Open Xchange Summit 2013 in Hamburg mit Linux-Magazin-Redakteur Markus Feilner gehrt zum Dime-Team und bringt als Erfinder von PGP viel Erfahrung mit.

keiten selbst, denn die sind nach wie


vor sicher.
Erkennbar sind solche geflschten
Schlssel nur dann, wenn sich Anwender
die Mhe machen, den Fingerabdruck eines ihnen bekannten Schlssels mit dem
zu vergleichen, den sie fr die Verschlsselung einer Nachricht verwenden. Tun
sie das nicht, sind dem Missbrauch Tr
und Tor geffnet. Dramatisch wird dies
durch die Tatsache, dass auch Gnu PG
seit vielen Jahren die Mglichkeit bietet,
64-bittige Schlssel-IDs zu verwenden.
Die Funktion nutzt allerdings praktisch
niemand. Die wenigsten Gnu-PG-Anwender wissen berhaupt von dem Problem
oder einer Lsung dafr.
Dime hat Probleme dieser Art auf dem
Schirm. Die Key-Distribution innerhalb
des Dienstes soll einige Sicherheit ab
Werk mitbringen: Die Keyserver, die zum
Einsatz kommen, sollen beispielsweise
so robust sein, dass missliebige Dienste

mit viel Budget sie nicht unterwandern


knnen. Und das System der Schlsselverwaltung soll so tief in Dime integriert
sein, dass der Nutzer von dessen Existenz erst gar nichts merkt.

Dime hat Potenzial, muss


aber auch bald liefern
Besonders ergiebig sind die verfgbaren
Informationen zu Dime nicht. Dieser Artikel speist sich bereits aus den meisten
Quellen, die im Netz zu finden sind. Gut
mglich, dass Levison und seine Partner
Dime nicht an eine zu groe Glocke hngen wollen, bevor der Dienst kann, was
er verspricht. Freilich ist auch klar, dass
Geheimdienste wie die NSA Dime als Affront auffassen und sich ins Zeug legen
werden, um die Nutzung des Dienstes zu
unterbinden. Es ist Dime offensichtlich
ein groes Anliegen, dafr erst gar keinen
Ansatz zu bieten.

Was Dime tatschlich taugt, mssen


handfeste Tests beweisen, wenn Dime
den Sprung ins kalte Wasser gewagt hat
und verfgbar ist. Gelingt es den Entwicklern, ihren Dienst sinnvoll an den
Start zu bringen und die dazu gehrende
Software ebenfalls als Open Source zu
verffentlichen, knnte das System an
Fahrt aufnehmen. Bombensicher ist bereits jetzt, dass die klassische E-Mail in
Q
Sachen IT-Sicherheit am Ende ist.

Infos
[1] Lavabit: [http://lavabit.com]
[2] Darkmail: [http://darkmail.info]
[3] Markus Feilner, Volle Kraft voraus:
Linux-Magazin 12/13, S. 20
[4] Silent Circle: [https://silentcircle.com]
[5] Kickstarter zu Darkmail:
[https://www.kickstarter.com/projects/
ladar/lavabits-dark-mail-initiative]
[6] Der Defcon-Autritt von Levison: [https://
www.youtube.com/watch?v=TWzvXaxR6us]
[7] Chaos Communication Congress: [http://
events.ccc.de/congress/?language=de]
[8] Kryptokalypse fr Gnu PG:
[https://evil32.com]

Abbildung 7: Volcano ist ein Thunderbird-Spin-off, das bereits fr Dime umge-

Abbildung 8: Signets sind bei Dime das Substitut fr Gnu-PG-Schlssel bei nor-

baut ist, und soll der offizielle Client des Unternehmens werden.

malen E-Mails. Mit bis zu 16 MByte Lnge sei so ein Signet schwer zu knacken.

Dime

Titelthema

Gute Chancen?

www.linux-magazin.de

Markus Feilner, CC-BY-SA 4.0

Denn um Dime in seinem aktuell bekannten Design zu schaden, msste ein


Staat effektiv verschlsselte Kommunikation insgesamt verbieten. Das scheint
im Augenblick zwar unwahrscheinlich,
aber nicht vllig unmglich erinnert sei
an den Umstand, dass kryptographische
Software in den USA lange strengen Regelungen unterlag, gerade im Hinblick auf
ihren Export in andere Lnder.

41

02/2015

Titelthema

Transportverschlsselung mit DANE und DNSsec

Wer glaubt, STARTTLS im Mailclient zu aktivieren, mache seinen Mailverkehr in jedem Fall sicherer, der irrt. Erst
wer auf DANE setzt, kann sicher sein, dass ein Mailserver oder eine Firewall auf dem Transportweg nicht jede
Verschlsselung ausknipst. Markus Feilner

Schwachstellen, die dieser Artikel bespricht und begrndet.

Session Downgrade

Liftarn, CC BY 2.0 (Wikimedia)

42

www.linux-magazin.de

DANE

Sicherer Transport

Kommunikation braucht Privatsphre.


Sie bildet die Grundlage fr vertraulichen und verbindlichen Austausch. Eine
normale E-Mail bietet keine Privatsphre,
denn sie passiert das Netz im Klartext.
Wer den Netzwerkverkehr mitliest, hat
vollen Zugriff auf den Inhalt der Nachricht. Wer Privatsphre will, muss also
verschlsseln, das schtzt private Informationen und Firmengeheimnisse. PGP
Listing 1: Ungefilterte SMTPVerbindung
01 $ telnet mail.sys4.de 25
02 220-mail.sys4.de ESMTP Postfix
03 EHLO client.example.com
04 250-mail.sys4.de
05 250-PIPELINING
06 250-SIZE 40960000
07 250-ETRN
08 250-STARTTLS
09 250-ENHANCEDSTATUSCODES
10 250-8BITMIME
11 250 DSN

und S/MIME beziehungsweise SSL und


STARTTLS sind geeignete Methoden zur
Verschlsselung von E-Mail. Die ersten
beiden verschlsseln die Nachricht, die
anderen den Transport.

Nicht immer sicherer


Transport
Transportverschlsselung (Transport
Layer Security, TLS) ist attraktiv. Sie ermglicht ein brauchbares Schutzniveau
und ist fr Anwender transparent. Das
ist gut, denn es spart Supportkosten, die
Anwender knnen sich auf ihr eigentliches Ziel, die Inhalte der Kommunikation, konzentrieren.
Viele Admins glauben, es genge, die
fr Verschlsselung erforderlichen Zertifikate zu erzeugen und STARTTLS im
SMTP-Server und -Client (Abbildung 1)
zu aktivieren, dann sei der Transport
fortan sicher. Sie irren. Transportverschlsselung hat einige prinzipbedingte

STARTTLS ist eine Protokollerweiterung


des ursprnglichen SMTP. Zwei Voraussetzungen mssen gegeben sei, um eine
TLS-geschtzte Verbindung aufzubauen.
Der Server muss ESMTP (Extended
SMTP) sowohl beherrschen als auch anbieten und die Erweiterung STARTTLS
muss im Server aktiviert sein.
Ob diese Voraussetzungen gegeben sind,
erkennt ein Client erst nach dem Verbindungsaufbau, wenn der Server zur Begrung des Clients sein SMTP Banner
sendet. Im Banner etabliert der Server
seinen aktuellen Status durch einen Statuscode, oft gefolgt von seinem Namen
und wichtig dem String ESMTP
(Listing 1).
Sendet der Server kein ESMTP im
Banner, dann beherrscht er (oder gibt
es zumindest vor) kein ESMTP und die
Kommunikation kann nur ohne Transportverschlsselung stattfinden. Fehlt der
String oder sendet der Server SMTP,
dann muss der Client davon ausgehen,
dass der Server keine SMTP-Erweiterungen beherrscht.
Die SMTP-Clients in gngigen Mailservern sind grundstzlich bedingungslos
auf Transport eingestellt. Sie fhren
Opportunistische TLS durch. Bietet
der Server STARTTLS an, versuchen sie
verschlsselten Transport herbeizufhzufh
DELUG-DVD
Auf der DELUG-DVD finden Sie

DELUG-DVD

ein Vortragsvideo mit Patrick Ben Koetter


zum Thema E-Mail-Sicherheit mit DANE.

02/2015

Titelthema
www.linux-magazin.de

DANE

ren. Fehlt ESMTP im Banner des Servers,


schalten sie auf herkmmliches SMTP
zurck. Sie verzichten auf Transportverschlsselung, weil es keine Gelegenheit
(lat.: opportunitas) dazu gibt.
Anbieter von Sicherheitslsungen machen sich dieses Verhalten ebenso zunutze wie auch einige Accessprovider.
Sie filtern SMTP-Verbindungen in der
Firewall (bei Cisco schick SMTP Fixup
genannt), im Desktop-SMTP-Proxy
(McAfee) oder auf WAN-Strecken [1] und
entfernen das ESMTP im Banner.

Gezielt unsicher
Durch dieses bewusst herbeigefhrte
Session Downgrade erhalten sie Zugriff
auf die Sessiondaten und den Inhalt der
Nachricht. Eine Nachricht, so ihr Argument, kann nur unverschlsselt auf
schdlichen Inhalt (Malware, Spam) geprft werden. Dabei ist dieses Argument
gar nicht haltbar: Nachrichten lassen sich
auch verschlsselt zum Server transportieren und anschlieend unverschlsselt
im Server auf unerwnschte Inhalte prfen. Genau das findet heute millionenfach tgliche Anwendung.
Verwschwrungstheoretiker mgen vor
dem Hintergrund der NSA-Affre ber
mgliche Grnde spekulieren, Tatsache
ist: Transportverschlsselung bietet einen Angriffsvektor, der beispielsweise bei
der STRIPTLS-Attacke [2] zur Anwendung kam. Derlei Angriffe sind mglich,
weil herkmmliche TLS keine PolicyKomponente bietet. Der Server verfgt
nicht ber einen flschungssicheren Kanal, ber den er dem Client signalisieren kann, dass er STARTTLS beherrscht.
Abhilfe bieten hier nur eine eigene TLSPolicy und die Aktivierung einer weiteren
SMTP-Erweiterung.

Manuell und automatisch


Eine TLS-Policy definiert Voraussetzungen fr eine SMTP-Session mit einem
SMTP-Server. Die grundlegende Anforderung, der Transport muss TLS-verschlsselt stattfinden oder unterbleiben, verhindert effektiv ein Session Downgrade. Sind
die Transportbedingungen nicht gegeben,
verbleibt die E-Mail in der Queue des sendebereiten Servers, bis sie nach Ablauf
der Wartezeit bounct.

Abbildung 1: Es reicht nicht, im Mailclient SSL/TLS zu aktivieren, weil standardmig alle Beteiligten verschlsselungsfreie Kommunikation als Fallback nutzen und der lsst sich provozieren.

Sender-seitige TLS-Policies kommen nur


selten zum Einsatz. Die Vielzahl der
Kommunikationspartner macht eine lckenlos gesicherte Verschlsselung zu
aufwndig. Eine lokale Policy, die zustzlich zu der Anforderung Muss TLS
anbieten auch noch Bedingungen wie
Muss sich mit einem bestimmten Fingerprint im Zertifikat auszeichnen definiert, steht auf wackligen Beinen. Sobald
die entfernte Gegenstelle eine Bedingung
ndert, greifen die lokalen Anforderungen ins Leere und der Transport kommt
zum Stillstand.
Die Protokollerweiterung DANE SMTP
befreit den Admin aus der Zwangslage.
Aktiviert er DANE SMTP, dann prft sein
SMTP-Client fortan, ob sich das Ziel in
einer DNSsec-signierten Domain befindet
und ob ein TLSA Ressource Record (RR)
fr den anzusteuernden MX existiert. Der
Client soll die Existenz eines TLSA RR wie
eine Policy werten. Bietet der im TLSA
RR referenzierte Server kein STARTTLS
an, dann ist das ein Policy-Versto. Der
Transport muss unterbleiben.

Schutz vor MITM


DANE SMTP schtzt auch vor Man-inthe-Middle-Attacken (MITM). Eine erfolgreiche MITM-Attacke vergiftet beispielsweise das DNS des Opfers mit geflschten
Ressource Records (DNS Poisoning). Geflschte MX-Eintrge verweisen dann auf
den SMTP-Server des Angreifers. Dessen
Server gibt vor, fr die angeblich korrekte
Zieldomain Nachrichten anzunehmen. Er

kann sogar STARTTLS mit einem gltigen


Zertifikat anbieten.
Ein unkontrollierter SMTP-Client wird
das Zertifikat akzeptieren und dem
Angreifer arglos die schtzenswerten
Nachrichten ber eine verschlsselte
Verbindung in den Rachen werfen. Das
ist mglich, weil die meisten MTAs zur
Identittsberprfung nur den Common
Name (CN) des Zertifikats berprfen.

Zertifizierte Tuschung
Ein Angreifer, der ein Zertifikat mit einem passenden CN besitzt, kann den
Client einfach tuschen. Er muss sich
nicht anstrengen, ein selbst signiertes
Zertifikat gengt. Die meisten Clients
akzeptieren selbst signierte Zertifikate,
ohne mit der Wimper zu zucken. Solange
der CN stimmt, wird verschlsselt, egal
wer sich hinter dem Zertifikat verbirgt.
Davor schtzen auch von ffentlichen
Certification Authorities (CA) signierte
Zertifikate nicht, denn die Clients prfen
standardmig nur den CN und nicht,
wer das Zertifikat ausgestellt hat.
Ein Designfehler verschlimmert das
Ganze noch: CAs knnen unabhngig
voneinander gltige Zertifikate fr dieselbe Domain erstellen. Diese Schwachstelle haben sich Angreifer zunutze gemacht, als sie in die Zertifizierungsstellen
Diginotar und Trktrust eindrangen und
dort Zertifikate fr Domains bekannter
Unternehmen ausstellten.
Nachdem die Vorflle bekannt geworden
waren, wurden eiligst die Root-Zertifikate

43

02/2015

Titelthema
DANE

der kompromittierten CAs deaktiviert. Bis


zum Zeitpunkt der Entdeckung verfgten
die Angreifer ber amtliche Zertifikate.
Sie konnten selbst jene SMTP-Clients tuschen, die nur Zertifikate bekannter CAs
akzeptieren.

Identifikationskriterien

www.linux-magazin.de

44

Die Kriterien, die zur Identifikation des


Gegenber herangezogen werden, bilden
das Problem. Wer nur auf den Hostnamen achtet, abgebildet im CN des Zertifikats, kann leicht Opfer einer Tuschung
werden. Namen sind sozusagen Schall
und Rauch. Der Fingerprint eines Zertifikats ist hingegen einmalig. Er lsst
sich Stand Ende 2014 nicht flschen.
Ein SMTP-Client, der auf den Fingerprint
achtet, kann einer MITM-Attacke nicht
auf dem Leim gehen.
Ein SMTP-Client, der opportunistische
TLS durchfhrt, verbindet den Fingerprint eines Zertifikats nicht mit einer konkreten Identitt. Das geschieht erst dann,
wenn der Administrator in einer TLSPolicy der Zieldomain ein oder mehrere
(SMTP-Cluster) Fingerprints zuordnet
(Certificate Pinning).

Certificate Pinning
Wer Certificate Pinning wirklich ernst
nimmt, fixiert nicht einfach den Fingerprint. Er stellt vorher die Identitt sicher
und besorgt sich zuerst den Fingerprint
der Gegenstelle. Anschlieend sucht er
sich einen geeigneten Ansprechpartner in
der Zieldomain. Von dieser Person lsst
er sich den Fingerprint des eingesetzten

Zertifikats vorlesen. Dann vergleicht er


beide Fingerprints. Stimmen sie berein,
darf er den Fingerprint fixieren. Reichlich
kompliziert und arbeitsaufwndig.
DANE SMTP nimmt sich auch dieses
Problems an: Es automatisiert die Identifizierung. Der TLSA Ressource Record
publiziert den Fingerprint des verwendeten Zertifikats samt einiger beschreibender Aussagen ber das Zertifikat. Ein
DANE-fhiger SMTP-Client kann diese Informationen vertrauenswrdig ber eine
DNSsec-signierte Domain beziehen und
sie selbststndig mit dem Fingerprint des
Gegenber vergleichen.
Sogar an den Rollover eines Zertifikats
haben die RFC-Autoren gedacht. Wer ein
neues Zertifikat mit neuem Fingerprint
einsetzen mchte, verffentlicht zeitweise zwei TLSA RRs fr dieselbe Ressource (ein RR-Beispiel zeigt Listing 2).
Fr den SMTP-Client zhlt nur, dass einer
der verffentlichten TLSA RRs passt. Der
alte TLSA RR lsst sich entfernen, sobald
seine DNS TTL abgelaufen ist.
Wer angesichts der erwhnten CASchwachstellen auf selbst signierte Zertifikate umsteigen mchte, der findet ein
weiteres Mal bei DANE SMTP Untersttzung. Ein TLSA RR gestattet es, den Fingerprint fr ein selbst signiertes Zertifikat
zu verffentlichen oder einfach nur den
Verweis auf das Root-Zertifikat einer eigenen CA. Die signierte DNSsec-Domain
brgt in beiden Fllen.

DANE SMTP benutzen


Ein DNSsec-verifizierender DNS-Resolver
ist Voraussetzung fr DANE SMTP. Er

Listing 2: Fingerprint im TLSA RR


01 $ dig TLSA _25._tcp.mail.sys4.de +short
02 3 0 1 9273B4E9040C1B9EE7C946EFC0BA8AAF2C6E5F05A1B2C960C41655E3 2B15CBE

Listing 3: DNSsec-Abfrage
01 $ dig @localhost +dnssec sys4.de
02
03 ; <<>> DiG 9.9.5-3-Ubuntu <<>> @localhost +dnssec sys4.de
04 ; (1 server found)
05 ;; global options: +cmd
06 ;; Got answer:
07 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15587
08 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 3
09 [...]

sollte auf demselben Host arbeiten, auf


dem auch der DANE-fhige MTA betrieben wird. Hat eine DNSsec-aktivierte
Domain Probleme beispielsweise mit
ihrer Signatur, ist dies ein Indiz fr ein
Sicherheitsproblem. Ausknfte einer
solchen Domain drfen Clients konsequenterweise nicht verwenden, weil die
Vertrauenswrdigkeit der ganzen Domain
in Frage gestellt ist.
Herkmmliche Resolver erkennen derartige Probleme nicht, nur DNSsec-fhige
bemerken DNSsec-Fehler und unterdrcken die Antwort. Listet /etc/resolv.
conf mehrere Resolver, dann mssen
alle DNSsec-fhig sein, damit ein lckenloser Trust gewhrleistet ist.
Ein abschlieender Test stellt sicher, dass
alles geklappt hat. Den Transport einer
E-Mail an sink@dane.sys4.de sollte
der eigene Postfix als Verified TLS
protokollieren:
Dec

9 13:44:23 mail postfix/smtp[14944]: U

Verified TLS connection established to daneU


.sys4.de[194.126.158.134]:25: TLSv1.2 with U
cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256U
bits)

Um dieses Protokoll zu erhalten, sollte


der Admin den Parameter smtp_tls_loglevel auf 1 setzen.

Der DNS-Resolver Unbound


Unbound [3] ist ein guter DNSsec-fhiger Resolver. Er ist leicht eingerichtet,
schnell und cacht DNS-Anfragen. Nach
der Installation gengt es in der Regel,
unbound-anchor auszufhren, um
Root-Zertifikate fr die DNSsec Trust
Chain zu laden. Der zustzliche Aufruf
von unbound-control-setup generiert
lokale Zertifikate fr die sichere Kommunikation des Kommandozeilen-Kontrollprogramms unbound-control, das
Unbound bequem verwaltet.
Nach dem Start bindet Unbound sich
standardmig an die Adresse des Localhost. Die Dig-Abfrage einer DNSsec-aktivierten Domain (Listing 3) stellt sicher,
dass Unbound DNSsec erkennen und
verifizieren kann. Das zustzliche Flag
ad (Authenticated Domain) im Headerbereich der Antwort kennzeichnet eine
erfolgreiche Abfrage.
Bis zum Erscheinen dieses Artikels bietet
nur Postfix vollstndigen DANE-SMTPSupport. Das liegt vor allem daran, dass

02/2015

Fr DANE SMTP bedarf es mindestens


Postfix 2.11.1. Nachdem der SMTP-Client
grundstzlich fr TLS konfiguriert ist, gengen wenige Handgriffe, und Postfix
kann mit DANE-SMTP-Servern umgehen.
Der Parameter smtp_dns_support_level
weist Postfix dazu an, DNSsec-validierende Anfragen an den Resolver zu stellen. Die Option dane fr smtp_tls_
security_level (Listing 4) setzt die neue
TLS-Policy. Ab sofort fragt Postfix ber
DNSsec ab, ob die MX(e) der Zieldomain
TLSA RRs besitzen, und prft, ob deren
Fingerprints mit denen der Server bereinstimmen.

TLS-Policies aktivieren
Wer eine TLS-Policy publizieren mchte,
muss seine Domain fr DNSsec aktivieren. Gut ein Drittel der deutschen Registrare bietet derzeit die Infrastruktur, um
eine Domain DNSsec-aktiviert zu hosten.
Wer einen eigenen DNS-Server laufen
hat, kann seine Domains natrlich auch
selbst DNSsec-aktiviert betreiben.
Welche Schritte dazu erforderlich sind,
variiert je nach eingesetztem Produkt:
DNSsec mit aktuellem Bind funktioniert
problemlos. ltere NS-Server, beispielsweise Djbdns, haben jedoch noch Pro-

TLSA RR
In der signierten Zone
des MX muss der Administrator noch einen passenden TLSA
Abbildung 2: Der TLSA-Generator erzeugt TLSA-RRs bequem im Browser.
RR eintragen. Ein
TLSA-Generator [4] hilft beim Erstellen
Infos
des Ressource Record. Wer ein CA-signiertes Zertifikat besitzt, der whlt die [1] ISPs Removing Their Customers Email Encryption: [https://www.eff.org/de/deeplinks/
Optionsfelder 3, 1 sowie nochmals
2014/11/starttls-downgrade-attacks]
1 und kopiert das eigenen Zertifikat in
[2] Google, Yahoo SMTP email severs hit in
das dafr vorgesehene Eingabefeld und
Thailand: [http://www.telecomasia.net/
gibt anschlieend noch an, wie der dacontent/google-yahoo-smtp-email-seversmit verbundene Service zu erreichen ist
hit-thailand]
(Abbildung 2).
Die generierte Ausgabe kann er dann
[3] Unbound: [http:/unbound.net]
in die Zonen-Datei bernehmen. Nach [4] TLSA-Generator:
einem Update der Serial Number und
[https://www.huque.com/bin/gen_tlsa]
einem Reload steht der neue Eintrag [5] DANE-Validator: [https://dane.sys4.de]
fr Abfragen bereit. Damit ist die Policy
scharfgeschaltet. Der Sys4-DANE-ValiListing 4: DANE SMTP einfach
aktiviert
dator [5] vom E-Mail-Spezialisten Patrick Koetter hilft, indem er gewissenhaft
01 smtp_dns_support_level = dnssec
prft, ob die verffentlichte TLS-Policy
02 smtp_tls_security_level = dane
Q
ohne Mngel ist.

DANE

Titelthema

Nur Postfix ab Version 2.11.1

bleme. In jedem Fall


ist es wichtig, die Signaturen einer DNSsecaktivierten Domain
innerhalb ihrer TTL
penibel zu erneuern.
Laufen diese ohne
Erneuerung ab, gilt
die Domain als nicht
mehr vertrauenswrdig, DNSsec-fhige Resolver ignorieren dann
alle Anfragen.

www.linux-magazin.de

Viktor Dukhovni, einer der Autoren des


DANE-SMTP-RFC, zugleich einer der
fhrenden Autoren von Postfix ist. Seine
berlegungen zu DANE SMTP sind in
Postfix eingeflossen, seine Erfahrungen
hat er in das RFC zurckgefhrt.

45

02/2015

Titelthema

E-Mail-Absenderverifikation mit Dmarc

Dmarc soll bei E-Mails die fehlende Absenderverifikation nachrsten, um ein brauchbares Mittel gegen Spam
zu bieten. Die Idee ist gut, aber manche Mailinglisten-Manager sind dafr noch nicht bereit. Martin Loschwitz

Adresse berprfen,
ob der Versender legitim ist oder nicht.
Dazu setzt Dmarc
auf zwei etablierte
Technologien: DKIM
(Domain Keys Identified Mail) und SPFEintrge (Sender Policy Framework).

DKIM und SPF


kzenon, 123RF

46

www.linux-magazin.de

Dmarc

Ausweis-Kontrolle

DKIM macht aus


DNS-Servern gewissermaen eine Zertifizierungsstelle, die
ber asymmetrische
Verschlsselung die
Verifizierung einer E-Mail erlaubt. Wenn
Der Fehler liegt im Design: E-Mail-Abder empfangende Mailserver eine E-Mail
sender zu flschen ist ein Kinderspiel.
erhlt, ist diese mit einem digitalen Key
Erst Zusatzfunktionen rsten das Mailsigniert. Anhand des ffentlichen Schlsprotokoll mit sinnvoller Absenderverifikation aus. So soll das aus einer Kooperasels, den der DNS-Server der Domain des
tion von Google, Yahoo und anderen grAbsenders zur Verfgung stellt, lsst sich
eren Unternehmen entstandene Dmarc
die Herkunft der Mail sicher verifizieren
[1] das Problem lsen.
oder widerlegen. SPF legt ber TXTDmarc (Domain-based Message AuthenEintrge in Domain-Zonen darber hintication, Reporting and Conformance) aus fest, welche Server E-Mails von diewill anhand der genutzten Domain einer ser Domain versenden drfen.
Dmarc kombiniert
die beiden Features
und legt noch eine
neue Funktion oben
drauf: Es erlaubt
den Admins, ein Regelwerk festzulegen,
falls eintrudelnde
E-Mails SPF oder
DKIM nicht erfolgreich hinter sich gebracht haben.
Abbildung 1: In Sachen Spam versteht Yahoo keinen Spa. Wer an DKIM und
Zustzlich zu den
SPF scheitert, muss drauen bleiben.
bestehenden TXT-

Eintrgen fr DKIM und SPF erstellen


Admins fr Dmarc einfach einen TXTEintrag, der beschreibt, wie mit Mails
zu verfahren ist, die an SPF oder DKIM
scheitern. Bei Yahoo lautet der:
v=Dmarc1; p=reject; sp=none; pct=100; U
rua=mailto:Dmarc-yahoo-rua@yahoo-inc.com, U
mailto:Dmarc_y_rua@yahoo.com;

Der Eintrag sorgt dafr, dass eingehende


E-Mails fr [yahoo.com] immer dann
zurckgewiesen werden, wenn DKIM
oder SPF fehlschlagen (p=reject).
Fr Subdomains gilt die Regel nicht
(sp=none), pct gibt in Prozent an,
wie hoch der Anteil an zurckgewiesenen Mails werden darf (Abbildung 1).
Der rua-Parameter legt fest, dass fr
jede zurckgewiesene Mail ein Report an
den Absender geht.
Dmarc hat sich bereits bei vielen Anbietern durchgesetzt und ist bei der IETF zur
Standardisierung eingereicht. Dennoch
sind bei Weitem noch nicht alle Probleme gelst: Vor allem ltere Versionen
der Mailinglisten-Manager knnen mit
DKIM und SPF nichts anfangen. Sie nehmen eingehende E-Mails und leiten sie an
alle Listenteilnehmer weiter, ohne dabei
das From-Feld der Mail anzupassen
worauf DKIM und SPF scheitern.
Wer sein Mailkonto bei Yahoo hat und an
Mailinglisten teilnimmt, deren Software
nicht aktuell ist, bekommt wahrscheinlich ein Problem. Hier sind vor allem
die Admins in der Pflicht, die Server
mit Mailinglisten betreiben: Mailman &
Co. bieten in ihren aktuellen Versionen
Dmarc-Support, sodass ein Upgrade die
Q
gewnschte Funktion bringt. (mfe)

Infos
[1] Dmarc: [http://Dmarc.org]

02/2015
12/2010

Software

Auch diesen Monat bekommen die DELUG-Kufer die doppelte Datenmenge zum einfachen Preis: Von der einen
Seite der DVD bootet Suse Linux Enterprise Server 12, auf der anderen warten Videos von der Susecon 2014,
die Groupware Tine 2.0 in einer virtuellen Maschine, Fedora 21 und vieles mehr. Tim Schrmann
Inhalt
50 Fedora 21
Drei Flavors, viel neue Software, neue
Fhrung: Hat sich das Warten auf die
neue Fedora gelohnt?
54 Bitparade
Kollaboratives Projektmanagement in
der Cloud mit Basemap, Open Project,
Redmine und Zoho Projects.
64 Tooltipps
Im Kurztest: Pkgdiff 1.6.3, Load Avg 2.0,
Mlock 0.2, LXCF 0.11, Mlterm 3.4.0, Pimp
my Log 1.7.4.
Abbildung 1: Hersteller Metaways hat eine exklusive virtuelle Maschine mit der Groupware Tine 2.0 bereitgestellt.

Neben einem normalen Linux-Magazin


ohne Datentrger gibt es die DELUGAusgabe mit Monats-DVD, bei der die
Redaktion den Datentrger nach einem
speziellen Konzept zusammenstellt: In
einer Art modularem System enthlt er
Programme und Tools, die in der jeweiligen Magazin-Ausgabe getestet und besprochen werden. Zudem gibt es nicht
im Heft abgehandelte Software, die die
Redaktion besonders empfiehlt alles
gebndelt unter einer HTML-Oberflche.

Seite A: SLES 12
Von der einen Seite der DELUG-DVD bootet der Suse Linux Enterprise Server 12
fr x86_64-Architekturen. Auf der DVD
befindet sich die 60 Tage lauffhige Evaluation-Version von SLES 12, dessen Installation eine Registrierung bei Suse voraussetzt. Wer die Silberscheibe umdreht
und mit dem Browser darauf zugreift,
landet im HTML-Men mit zahlreichen
weiteren exklusiven Inhalten.
Als Erstes fllt die virtuelle Maschine
mit Tine 2.0 auf. Mit ihr lsst sich die
Community-Edition der Groupware ohne
Installation direkt ausprobieren (Abbil-

dung 1). Auerdem wartet das E-Book


Kenne deinen Feind auf Leser. Auf 600
Seiten beschreiben Cyrus Peikari und Anton Chuvakin das Vorgehen von Angreifern und innovative Abwehrtechniken.

Videos und Fedora 21

Die genannten Videos liegen im WebmFormat vor und lassen sich somit in vielen Browsern direkt betrachten.
Wem das alles nicht reicht, der probiert
die brandneue Fedora 21 Workstation aus
(Abbildung 2), vertieft sich in die mitgelieferte Software zu den Artikeln dieses
Linux-Magazins, schaut sich das Video
mit einer Einfhrung in DANE SMTP an
oder benutzt gefahrlos die PentestingTools mit Metasploitable. (mfe)
Q

Vom 17. bis 23. November fand in Orlando die Susecon 2014 statt. Auf der
DVD finden sich die Aufzeichnungen
der Keynotes, in denen
nicht nur SLES 12 eine
Rolle spielte.
Bereits im Oktober luden
die Open Source Business Alliance (OSBA)
und die Brgerschaftsfraktion der Grnen ins
Hamburger
Rathaus
zum 1. Offenen IT-Gipfel. Die Videos auf der
DVD zeigen den Vortrag
von Sabine Leutheusser
Schnarrenberger sowie
die
Erffnungsreden
Abbildung 2: Fedora 21 kommt in der Workstation-Variante fr 64-Bitvon Farid Mller und
Peter Ganten.
Systeme als ISO-Image.

www.linux-magazin.de

Tine 2.0, Susecon-Videos, SLES 12

Einfhrung

In eigener Sache: DELUG-DVD

49

02/2015

Software

Nach mehr als einem Jahr Wartezeit ist Fedora 21 da

Mehr als zwlf Monate hat es gedauert, bis die neue Fedora-Version fertig war, fast doppelt so lange wie blich
mussten die Fans warten. Doch es zahlt sich wohl aus: Fedora 21 belohnt mit topaktueller Software und vereinfachter Installation, alles erstmals in drei Flavors und unter neuer Fhrung. Markus Feilner

Markus Feilner, CC-BY-SA 4.0

Wenn er sich auf Linux-Entwicklerkonferenzen umschaue, sehe er entschieden zu


viele Macbooks, meint Matthew Miller,
der Projektleiter von Fedora (Abbildung
1, [1]). Das sei eine Schande fr die freie
Softwarewelt, erklrt er im Interview mit
der Linux Action Show [2]. Nicht zuletzt
deshalb sei es eines der vorrangigen Ziele
des Desktop- und Community-Spins der
grten Linux-Distribution (Red Hat), die
Linux-Entwickler wieder auf den heimischen Desktop zu holen. Abseits aller
technischen Neuerungen definiert Miller
das als das vorrangige Ziel hinter der 21.
Ausgabe von Fedora.

Zielgruppe: Ein Linux fr


Poweruser
Die Zielgruppe sind also erfahrene LinuxAnwender dass sich Fedora traditionell
nicht an Einsteiger richtet, konnten Newbees in den letzten Jahren regelmig berichten. Schon Anaconda (Abbildung 2),
der Fedora-Installer, brachte auch gebt
gebte
DELUG-DVD
Auf der DELUG-DVD finden Sie

DELUG-DVD

Fedora 21 als ISO-Image in der Desktop-Version Workstation.

Anwender schnell an die Grenzen ihres


Verstndnisses oder der Geduld etwa
wenn die Fedora-Entwickler komplett
andere GUI-Konzepte frs Partitionieren
einsetzten, ohne diese auch nur im Ansatz zu erklren.
Anaconda ist in Version 21 deutlich einfacher und klarer geworden, doch die
Zielgruppe bleiben die Linux-Poweruser.
Bse Zungen behaupteten ja gerne, Anaconda sei gar kein Installer, sondern der
DAU-Filter, den Fedora schtzend vor
sich herschiebe.

frher mit stabilen KDE-Akonadi-PimProgrammen auf den Markt, als es die darin traditionell starken Suse-KDE-Pakete
schafften. Wer heute den Linux-Desktop
im Auge behalten will oder muss und
aktuelle Software braucht, darf Fedora
nicht ausblenden.

Drei Spins, Kernel 3.17,


Gnome 3.14, Systemd 217
Mit der neuen Version stellen die Entwickler erstmals drei Varianten bereit:

Topaktueller Gnome- und


KDE-Desktop
Dabei setzen viele Linux-Entwickler sehr
wohl auf Fedora (noch vor Open Suse)
wenn sie denn einen Linux-Desktop benutzen, etwa um Software oder Treiber zu
entwickeln oder Desktop-Environments
zu programmieren. Sicher liegt das daran, dass Red Hat wie auch Suse deutlich
mehr hochrangige Programmierer bezahlen als andere Distributoren.
Das fhrt dann zu interessanten Phnomenen: Obwohl man bei den roten
Hten den Gnome-Desktop favorisiert,
kamen die Fedora-Versionen 19 und 20
wahlweise auch und zugleich deutlich

Fedora

50

www.linux-magazin.de

Fedora 21

Apfelschwemme

Abbildung 1: All die Apple-Macbook-User zurck


auf den Linux-Desktop holen, das ist laut Matthew
Miller das Ziel von Fedora 21.

02/2015

Abbildung 2: Deutlich verbessert und klarer prsentiert sich der Installer Anaconda. Fr Linux-Einsteiger ist
aber auch diese Ausgabe immer noch nicht geeignet.

Whrend Fedora 21 Cloud den Einsatz


in der Wolke adressiert, knnen Administratoren mit Fedora 21 Server einen
solchen aufsetzen. Auf der DELUG-DVD
liegt ein ISO-Image von Fedora 21 Workstation, das fr den Einsatz auf DesktopRechnern gedacht ist.
Alle drei Varianten basieren auf dem
gleichen Linux-Kernel 3.17, um den
Systemstart kmmert sich Systemd 217.
Als Desktopumgebung kommt bei der
Workstation-Ausgabe gewhnlich Gnome
3.14 auf den Schirm. Wer mag, darf den
designierten X11-Ersatz Wayland ausprobieren, einfach durch Einloggen in eine
X-Wayland-Sitzung.

Matthew Miller lst Robyn


Bergeron ab
Die drei Spins seien notwendig geworden, erklrte die ehemalige Projektleiterin Robyn Bergeron im Video-Interview
mit Eweek [3]. Zwar sei gerade die
Red-Hat-Community-Distribution Fedora
in ihrer zehnjhrigen Geschichte stets als
Universalsystem gebaut worden, also fr
jeden Einsatzzweck. Das passe aber nicht
mehr zusammen.
Zudem werde man die Zahl der Mitarbeiter in der Quality Assurance und im
Release Management deutlich aufstocken
und viel mehr Tasks automatisieren wie
genau, das mssen wir im Detail noch
klren, so Bergeron.
Die Ex-Projektleiterin gab ihren Job auf,
als bekennender Led-Zeppelin-Fan verab-

schiedete sie sich auf ihrem Blog passend


mit einem rockigen Ramble on! und
bergab den Stab an ihren Nachfolger
Matthew Miller [4].

Aufregend
Im Interview mit dem Linux-Magazin
zeigt sich der neue Projektleiter euphorisch: Aufregend, wichtig und wegweisend sei die neue Ausgabe. Obwohl man
immer eine Desktop-Distribution entwickelt habe, gehe die 21 auch auf Server
und die Cloud zu was ja viele User
schon immer gemacht htten.
Wichtig seien auch, meint Miller, die nderungen, die sich im Council [5] vollzogen htten. Von der neuen Charta erhoffe man sich mehr Agilitt im Vergleich
zu frher und vor allem mehr Fhrung.
Das bisherige Board war eher passiv
und durfte mehr reagieren. Wir wollen
hier eine aktivere Vorreiterrolle etablieren, erklrt der neue Leiter.
Auf der Base die die Standard-Plattform fr alle Fedora-Produkte und die
Installer, aber auch alle Basis-Libraries
fr die anderen Produkte umfasst (etwa
Kernel, Yum, RPM, Systemd und Anaconda) bauen die Server- und Workstation-Varianten auf. Die Base ist schlank,
schnell, klein und nicht als eigenstndige
Distribution gedacht.
Die Cloud-Variante ist dagegen fr den
Einsatz bei Amazon oder unter Open
Stack optimiert, sie ist offensichtlich auch
auf Docker-Container mageschneidert

Zu Base und Cloud gesellt sich noch


Fedora 21 Server mit fr Racks optimierten Tools wie der Webmin-Alternative
Cockpit [7], dem API-Toolkit Rolekit
[8] und einer vorkonfigurierten Domnencontroller-Rolle sowie mit dem Konfigurations- und Monitoring-Framework
Open LMI [9].
In der Workstation sind wie gewohnt die
aktuellen Desktops und passende Software enthalten. Der Standard bleibt zwar
Gnome, aber jetzt mit Features wie Dev
Assistant eindeutig ein Fingerzeig fr
die Devops-Ziele der Fedora-Entwickler.
Dev Assistant [10] hilft beim Einrichten
einer Developerumgebung.
Im Test machte Fedora 21 einen gelungenen Eindruck. Sowohl das Update mit
Fedup wie auch die Neuinstallation von
USB-Sticks oder ISO-Images liefen auf
vier getesteten (Hardware-)Systemen aus
beinahe zehn Jahren Rechnergeschichte
problemlos. Fast scheint es, als htte sich
Q
das lange Warten gelohnt.

Infos
[1] Fedora-Projekt: [https://getfedora.org]
[2] Linux Action Show 342:
[http://www.jupiterbroadcasting.com/
73122/lennarts-linux-revolution-las-342/]
[3] Robyn Bergeron im Interview mit Eweek:
[http://www.eweek.com/enterprise-apps/
fedora-21-linux-will-have-new-leadershipand-direction.html]
[4] Robyn Bergerons Blog:
[https://www.robyn.io]
[5] Fedora Council Members:
[https://fedoraproject.org/wiki/Council]
[6] Project Atomic:
[http://www.projectatomic.io]
[7] Cockpit: [https://github.com/
cockpit-project/cockpit]
[8] Rolekit: [https://fedorahosted.org/rolekit/]
[9] Open LMI: [http://www.openlmi.org]
[10]Dev Assistant: [http://devassistant.org]

Fedora 21

Software
Fedora

Atomic, Cockpit, Rolekit,


Open LMI und Dev Assistant

www.linux-magazin.de

und bringt zwei Kernelpakete mit, ein


Minimal- und ein Komplettsystem mit
allen Modulen. Fedora 21 wird auch die
erste Distribution sein, die einen Atomic
Host fr Dockers Atomic-Projekt [6] vorstellt eine Deployment- und Managementsuite fr Docker.

51

02/2015

Software

Gemeinsam arbeiten

Freiberuflern, Startups oder Teams, die nur temporr an einem Projekt zusammenarbeiten, fehlt oft eine gemeinsame Infrastruktur. Dank Online-Kollaborationstools kommen Mitarbeiter im virtuellen Bro zusammen.
Zwei Vertreter fr den eigenen Server treten im Test gegen zwei Cloudlsungen an. Mela Eckenfels

ximagination, 123RF

54

www.linux-magazin.de

Bitparade

berall dabei

Der eine arbeitet im Firmenbro, der


andere beim Kunden vor Ort, der nchste
im Strandcaf damit ein verteiltes Team
nicht mhsam Dateien, Statusaktualisierungen, Fragen und hnliches per Mail
verschicken muss, gibt es Online-Kollaborationstools. Sie organisieren Termine
und Ablufe, geben Zugriff auf notwendige Dokumente, verteilen Aufgaben und
halten Diskussionen fest. Die Bitparade
stellt vier Kandidaten fr standortbergreifende Zusammenarbeit in Projekten
vor. Die Systeme erfinden die Einzelfunktionen nicht neu, vereinen sie aber unter
einem Dach und vermeiden damit Reibungsverluste.
Als Kandidaten treten mit Redmine [1]
und Open Project [2] zwei Open-SourceProjekte fr den eigenen Server gegen
die beiden kommerziellen Clouddienste
Basecamp [3] und Zoho Projects [4] an.
Die ersten beiden Programme installier-

ten die Tester auf einem typischen LAMPServer mit Debian Wheezy 7.7.

 Redmine
Den ersten Testkandidaten gibt es seit
2006. Redmine [1] ist in Ruby on Rails
implementiert und steht unter der GPLv2.
Die Software ist merklich vom Bugtracker
Trac inspiriert. Da die Redmine-Pakete
in den meisten Distributions-Repositories
veraltet sind, spielten die Tester die aktuelle Version 2.6 vom 21. Oktober 2014
aus den Quellen ein und folgten dazu einer Anleitung aus der Howto-Sammlung
[5]. Neben Apache, MySQL und einem
Mailserver bentigt das Programm Ruby
1.8.7, Rails 3.2, Ruby Gems, Passenger,
Imagemagick und Rmagick.
Anwender, die mit der Anleitung zum
Ruby-Paketbau unter Debian Stable arbeiten, sollten beim checkinstall-Aufruf

darauf achten, die Versionsnummer zu


korrigieren, da beim Besttigen der Standardwerte der Vorgang abbricht. Sobald
die Eingabemaske Debian package creation selected auftaucht, gibt der Admin
3 ein und ndert p547 zu 547.
Der Rest luft wie beschrieben weiter; allerdings ist die Installation der einzelnen
Ruby- und Gem-Komponenten etwas zh.
Wer sich bis zur Apache-Konfiguration
durchgehangelt hat, ruft abschlieend
die neue Redmine-Instanz im Browser
auf und loggt sich mit dem Benutzernamen und Passwort admin ein.
Nach dem ndern des Kennworts wendet
sich der Admin der Einrichtung zu. Redmine ist in rund 50 Sprachen bersetzt,
darunter auch Deutsch. Im Bereich Anzeige entscheidet er, ob die Standardsprache automatisch fr alle Benutzer gilt
und in welchem der drei Themes sich die
Oberflche prsentiert.
Wer einen ganz anderen Look bevorzugt,
findet im Redmine-Wiki einen Artikel
[6], der zu anderen Themes verlinkt und
erklrt, wie man diese einbindet oder
eigene entwickelt. In der Liste der verffentlichten Themes sind auch solche
mit einem responsiven Design. Im Dialog
Anzeige entscheiden Systemverwalter
auch, ob Redmine fr die Benutzer Gravatar-Icons verwendet Voraussetzung
ist ein Account bei dem Dienst [7].

Zustndigkeiten
Redmine-Admins richten Benutzer, Gruppen und Rollen in ihrem Dashboard ein.
Manager drfen innerhalb der Projekte
alles, Entwickler unterliegen einigen
Einschrnkungen. Ihnen ist es nicht
gestattet, Projekte zu starten oder neue
Dokumente anzulegen. Reporter dr-

02/2015

ausgeklgelte System hat auch der Ableger Open Project bernommen.

fen im Forum mitreden und ihre Zeiten


buchen, sonst aber nur mitlesen. Administratoren passen die Befugnisse der Rollen nach Belieben an (Abbildung 1) und
erzeugen bei Bedarf neue Benutzerrollen,
denen sie selbst Rechte zuweisen. Redmine kennt zudem Nichtmitglieder und
nicht angemeldete Besucher, die jeweils
eigene Rollen haben.
Beim Anlegen eines neuen Projekts
vergibt der Nutzer einen Namen, eine
spter unvernderliche Kennung und
whlt Module aus. Redmine bietet alles,
was ein Kollaborationstool braucht: eine
Aufgabenverwaltung (Ticket-Verfolgung
genannt), einen Kalender, Diskussionsforen sowie eine rudimentre Dokumentenund Dateienverwaltung. Dazu kommen
ein Projektwiki, eine News-Funktion und
Auswertungstools. Ganz unten im Dialog
aktivieren Nutzer im Bereich Tracker
die Checkboxen Fehler, Feature und
Untersttzung eine etwas holprige
bersetzung fr Support.
Der einem Tracker zugeordnete Workflow
legt fest, welche Benutzerrollen dem Ticket Feedback hinzufgen, seinen Bearbeitungsstatus ndern oder es schlieen
drfen. Hier werden die Bugtracker-Wurzeln des Systems deutlich: Termine und
Aufgaben verwaltet Redmine als Tickets
und ordnet sie einem Tracker zu. Dieser

wiederum gehrt zu einem Workflow,


und der entscheidet, welche Stufen ein
Ticket durchluft. Ein frisch angelegtes
hat den Status Neu. Sobald jemand
eintrgt, zu wie viel Prozent die Aufgabe
erledigt ist, verndert sich der Status.
Redmine kennt die Zustnde In Bearbeitung, Gelst, Erledigt und Geschlossen.

Anspruchslos
Beim Anlegen von Tickets weisen Nutzer
sie einem Bearbeiter oder einer Gruppe
zu. Zustzlich whlen sie die Prioritt
und eine Kategorie, definieren den Startund den Endtermin und tragen den geschtzten Aufwand ein. Per Klick wandern Beobachter hinzu. Tickets knnen
bergeordnete Aufgaben enthalten. Eine
Autovervollstndigungs-Funktion hilft
beim Ausfllen des Feldes. Redmine stellt
Querverbindungen zwischen den Tickets
her; im Kalender sehen Mitarbeiter entweder alle Aufgaben ein oder filtern nach
Tracker, Prioritt, Zustndigkeit und anderen Parametern (Abbildung 2).
Redmine erzeugt Gantt-Diagramme und
Berichte. Vor allem die Grafiken verschaffen allen Beteiligten einen guten berblick darber, wie es um das Projekt steht
und ob sie alle Termine einhalten kn-

Erweiterbar
News und Foren sind als Atom-Feed erhltlich, die Ticket-bersicht bietet zustzlich den Export in die Formate CSV
und PDF. Der Kalender bleibt in der Standardinstallation unerreichbar von auen.
Damit Projektmitarbeiter die Termine im
Ical-Format in ihre persnlichen PIMTools bertragen knnen, bentigen sie

www.linux-magazin.de

Bitparade

Software
Abbildung 1: Redmine-Admins passen ber diesen Dialog die Berechtigungen der einzelnen Rollen an. Das

nen. Die Bilder exportiert Redmine per


Knopfdruck in PDF- und PNG-Dateien.
Auch im Bereich Gantt-Diagramm gibt
es Filteroptionen. Praktisch: Wer die Tickets eines Projekts hier nach eigenen
Kriterien sortiert hat, kann die Abfrage
abspeichern und so jederzeit wieder auf
den Schirm rufen.
In der Grundeinstellung ist die Dokumentenverwaltung uerst schlicht gehalten. Anwender tippen ihre Texte in
ein Wysiwyg-Editorfenster. Redmine setzt
auf die Markupsprache Textile. Optional
hngen sie Dateien als Attachments an
und geben Beschreibungen ein. Die Tester scheiterten dabei, diese nachtrglich
zu setzen oder zu verndern, nachdem
sie das Uploadfenster unabsichtlich geschlossen hatten.
Redmine nimmt Word- und Libre-OfficeDokumente sowie PDFs, HTML-, Text-,
MP3- und Ogg-Vorbis-Dateien an. Die
maximale Dateigre ist in der Voreinstellung auf 5 MByte begrenzt. Anpassen
lsst sich dieser Wert ber Administration | Konfiguration auf dem Reiter
Allgemein.
Redmine stellt Dateien einfach als lange
Liste dar. Es ist schade, dass Anwender
im unmodifizierten System Dateien nicht
unproblematisch mit Tickets verknpfen
knnen. Im Textile-Editor verlinken sie
lediglich zu Seiten des internen Wiki. Etwas mehr Komfort verschafft das Plugin
DMSF (Document Management System
Features), das unter anderem eine hierarchische Verzeichnisstruktur und eine
Versionskontrolle bereitstellt [8].
Auerdem knnen Benutzer ihre Dokumente gegen gleichzeitiges Bearbeiten
schtzen, per Drag & Drop sortieren und
mehrere Dateien als Zip-Archiv herunterladen. DMSF integriert eine XapianSuche ber alle Dokumente und deren
Anhnge und bentigt dazu Xpdf, Antiword, Catdoc und natrlich Xapian.

55

02/2015

Software
Bitparade
www.linux-magazin.de

56

das Redmics-Plugin [9]. Ebenfalls nur


ber Erweiterungen erhltlich sind Importfunktionen.
Wer beispielsweise CSV-Dateien hochladen oder Aufgaben (Tickets) per Mail ans
System senden mchte, sollte einen Blick
auf die Plugins CSV Import Users und
Issue Importer Plugin werfen, die beide
ber die zentrale Anlaufstelle der Redmine-Projektseite erhltlich sind [10].
Rund 600 Erweiterungen waren dort bei
Redaktionsschluss erhltlich, davon ber
100 fr die Redmine-Version 2.6. Neben
den erwhnten Plugins warten dort auch
solche, die einfache Checklisten, Funktionen fr agile Programmierung und ein
CRM-System nachrsten.

Ausbaufhig
Um eine Erweiterung zu installieren,
wenden sich Systemverwalter der Shell
auf ihrem Server zu und wechseln ins
Plugin-Verzeichnis /opt/redmine/plugins. Hier entpacken sie das heruntergeladene Archiv oder checken das entsprechende Git-Repository aus. Anschlieend
rufen sie folgenden Befehl auf:
rake redmine:plugins:migrate RAILS_ENVU
=production

Danach fhren sie einen Redmine-Reboot


durch, indem sie entweder den Webser-

ver selbst neu starten oder sofern ihnen


dazu die Berechtigung fehlt eine Datei
namens restart.txt im tmp-Verzeichnis der Redmine-Installation anlegen:
touch /opt/redmine/tmp/restart.txt

Die Admin-Weboberflche zeigt das neue


Plugin nun unter Administration | Plugins an. Leider halten sich nicht alle Erweiterungen an diese Vorgehensweise.
Im Zweifelsfall orientieren sich Nutzer
an den jeweiligen Anleitungen.
Etwas mau sieht es mit der Integration
weiterer Clouddienste aus. Plugins, die
Redmine beispielsweise mit Dropbox verknpfen, sind veraltet und arbeiten nicht
mit der aktuellen Version zusammen. Firmen wie Zapier [11] fllen die Lcke.
Sie verbinden Redmine-Tickets mit dem
Google-Kalender oder dem Notiztool
Evernote. Die lange Liste der externen
Tools auf der Redmine-Homepage [12]
enthlt Links zu iPhone-, Android- und
Windows-Phone-Apps, Desktopclients,
Browser-Erweiterungen und vieles mehr.

 Open Project
Der zweite Kandidat ist ein indirekter
Redmine-Abkmmling. Open Project [2]
ist ein Fork von Chili Project [13], das
wiederum von Redmine abstammt. Die
Entwicklung von Chili Project scheint

Abbildung 2: In der Kalenderansicht filtern Benutzer die Redmine-Aufgaben nach Status, Tracker, Prioritt,
Zustndigkeiten, geschtztem Aufwand und anderen Kategorien.

zu stagnieren, die letzte Release stammt


vom Mrz 2013. Open Project steht unter
der GPLv3 und arbeitet seit 2012 eigenstndig. Im selben Jahr grndete sich die
Open Project Foundation; der Verein organisiert unter anderem Frdermittel fr
ein hauptamtliches Programmiererteam.
Die Entwicklung schreitet zgig voran
und es erscheinen regelmig neue Versionen und Bugfixes. Die Tester spielten
die Version 4.0.2 vom 19. November 2014
ein und folgten dazu der Anleitung auf
der Projektseite.
Whrend die Installation und Einrichtung von Redmine den grten Teil eines
Arbeitstags verschlang, war Open Project nach zirka 30 Minuten einsatzbereit.
Open Project bietet fr Debian, Ubuntu,
Fedora, Cent OS und Red Hat fertige
Pakete in einem eigenen Repository an.
Diese ziehen auf einem nackten Server
ohne fertig eingerichtete LAMP-Umgebung andere Komponenten nach.
Das Programm bentigt neben Apache, MySQL und Ruby einen Application Server wie Unicorn oder Passenger,
Rails, Subversion, Git, Imagemagick und
Rmagick. Sobald alle Pakete eingespielt
sind, ruft der Admin auf der Shell den
Einrichtungsassistenten auf:
openproject configure

Zur ersten Anmeldung im Webinterface


geben Anwender admin als Benutzernamen und Passwort ein. Das Kennwort
und die Sprache ndern sie danach im
Bereich Mein Konto. Open Project untersttzt derzeit Englisch und Deutsch,
wobei die deutsche bersetzung noch ein
paar Lcken aufweist. Weitere Sprachen
fgen Admins ber das Plugin-System
hinzu [14]; rund 30 bersetzungen waren bei Redaktionsschluss in verschiedenen Stadien verfgbar.
Im Auslieferungszustand enthlt die
Software ein einziges Theme namens
OpenProject. Eine zentrale Liste mit
weiteren Looks gibt es nicht. Wer die
Suchmaschine der Wahl bemht, findet
im Netz einige Personalisierungen von
Drittanbietern, zum Beispiel Shiny [15].
Eine unvollstndige Anleitung zum Eigenbau bezeichnen andere Nutzer in den
Open-Project-Foren als mglicherweise
berholt.
Der Open-Project-Admin richtet Benutzer, Gruppen und Rollen ber die ent-

02/2015

Software
www.linux-magazin.de

Bitparade

sprechenden Menpunkte im Dashboard


ein. An keiner Stelle ist die Verwandtschaft zu Redmine deutlicher als hier
whrend Open Project ansonsten deutlich modernisiert daherkommt, haben
die Entwickler das Accountsystem fast
komplett bernommen.
Auch hier stehen die drei Benutzertypen
Manager, Member und Reader zur
Verfgung. Hinzu kommen die beiden
Rollen Non member und Anonymous
fr Anwender ohne Konto. Die Gruppen
dienen dazu, Berechtigungen fr mehrere
Nutzer ohne groen Klickaufwand einzurichten. Ein Einzelaccount erhlt per
Klick in die entsprechende Checkbox im
Profil Administratorrechte. Open Project
nutzt Gravatar [7] fr die Benutzericons.
Abbildung 3: Beim Erstellen eines neuen Arbeitspakets untersttzt Open Project den Anwender mit einer

Bevollmchtigt

Autovervollstndigungs-Funktion, die bergeordnete Aufgaben anbietet.

ber das Dashboard gelangen Anwender zur Abteilung Projekte, wo sie


bestehende erreichen und neue anlegen. Neben einem Namen und einer
Beschreibung whlen sie Module aus,
die spter in der linken Seitenleiste der
Projektansicht auftauchen; im Angebot
sind Arbeitspaket-Verfolgung, Wiki,
Kalender, Dokumente, Zeiterfassung, Projektarchiv, Timelines, Aktivitt, News, Foren und Backlogs.
Wie auch bei Redmine ist der Kalender
nur lesbar. Neue Eintrge wandern automatisch hinein, wenn Anwender ein so
genanntes Arbeitspaket erstellen. Dabei
handelt es sich um einzelne Aufgaben
innerhalb eines Projekts.
Nach dem Klick auf Neues Arbeitspaket ffnet sich ein Dialog, in dem
Nutzer zunchst einen Typ aussuchen.
Auch in der deutschen Variante bietet
Open Project hier die englischen Bezeichner Task, Deliverable, Milestone,
Phase, Bug und Feature an.
Das Feld bergeordnete Aufgabe enthlt eine Autovervollstndigungs-Funktion: Es reicht aus, die ersten Buchstaben des Arbeitspaket-Titels zu schreiben,
Open Project schlgt dann passende Kandidaten vor (Abbildung 3). Die restlichen
Felder nehmen den Status, den Verantwortlichen, Beginn- und Abgabedatum
sowie den geschtzten Aufwand auf.
Fr Diskussionen steht ein einfaches
Forum zur Verfgung und im integrierten Wiki schreiben Teammitglieder ihr

Wissen fr andere nieder. Beide Module


nutzen die Textile-Markupsprache; ein
Wysiwyg-Editor hilft beim Schreiben. Das
Entwicklerteam hat das Dokumentenmanagement aus dem Basissystem entfernt.
Bei Bedarf integrieren Admins es wieder
ber ein Plugin. Dieses bietet allerdings
nicht mehr als die einfache Dokumentenverwaltung bei Redmine. Ein eigenes
Modul fr Dateien, wie es der Konkurrent
besitzt, fehlt ebenso wie eine integrierte
Versionskontrolle. Auch die ist nur ber
ein externes Plugin erhltlich.

Anschaulich
Die Auswertung der Projekte und der
Projektfortschritte ist bei diesem Testkandidaten besonders gut gelungen. Einen schnellen berblick verschafft Arbeitspakete | Zusammenfassung, und
das Modul Zeitplne enthlt sogar detaillierte Aufstellungen samt grafischer
Timeline (Abbildung 4). Mit dem Schieberegler passen Nutzer die Gre an,
ber Dropdownmens whlen sie das
Intervall, die gestrichelte rote Linie zeigt
den aktuellen Tag an. Die einzelnen Arbeitspaket-Typen haben unterschiedliche
Symbole und Farben. Der Administrator
bearbeitet bei Bedarf die Farbe der Icons
im Bereich Typen.
Die Aufstellung der Arbeitspakete exportieren Anwender ber das Zahnradsymbol oben rechts als PDF- und CSV-Dateien. Zustzlich stehen hier, im Modul

Aktivitt, fr die News, das Projektarchiv und die Diskussionsforen AtomFeeds bereit, sofern der Admin dies unter
Konfiguration | Allgemein aktiviert hat.
Dort beeinflusst er ebenfalls die Anzahl
der Eintrge fr die Feeds.
Eine Exportfunktion fr den Kalender
ist nicht vorhanden. Auf Nachfragen im
Open-Projects-Forum antworteten die
Entwickler, dass ein solches Feature in
naher Zukunft nicht geplant sei. Drftig
sieht es derzeit auch bei den Importmglichkeiten aus. ber den Task Connector
[16] verbinden Anwender MicrosoftPowerpoint- und Microsoft-Project-Dateien mit der Software.
Insgesamt existieren fr Open Project
deutlich weniger Plugins als fr Redmine;
bei Redaktionsschluss waren lediglich 14
Erweiterungen erhltlich, darunter solche fr Kostenkalkulationen, zum Vereinbaren von Teammeetings und fr agile
Programmierung. Eine Liste und Installationsanweisungen bietet die Projektseite
[17]. Nach dem Einspielen muss der Administrator ber Rollen und Rechte die
Berechtigungen fr die Erweiterungen
setzen.
Der Cloud-Zeiterfassungsdienst Timecamp [18] arbeitet seit Anfang November
mit Open Project zusammen. Anwender
koppeln die beiden Services ber das
Open-Project-API [19]. Dabei sollten sie
beachten, dass die Entwickler das APIv2
als berholt bezeichnen und davon abraten, es fr neue Applikationen einzuset-

57

02/2015

Software
Bitparade
www.linux-magazin.de

58

Abbildung 4: Wirklich gut gelungen ist die Fortschrittsanzeige bei Open Project. Die Timeline zeigt alle Typen
des Arbeitspakets mit farbigen Symbolen an; den aktuellen Tag reprsentiert die gestrichelte Linie.

zen. Die Verantwortlichen weisen darauf


hin, dass sie zwar an APIv3 arbeiten,
aber nicht abschtzen knnen, wann die
neue Version fertig sein wird.
Eine eigene Open-Project-App fr Smartphones oder Tablets gibt es nicht, sie ist
laut Webseite auch nicht geplant. Wer
sich von einem mobilen Gert aus einloggt, stellt schnell fest, dass die Oberflche nicht responsiv ist. Die Entwickler
uern sich vage bei entsprechenden Benutzeranfragen im Forum. Zwar rumen
sie ein, dass responsives Design wichtig
sei, allerdings sei ein solches Feature nur
fr Tablets und nicht fr Smartphones
angedacht.

 Basecamp
Der dritte Kandidat ist ein Pionier der
Web-basierten Kollaborationstools. Bereits 2004 verffentlichte der Hersteller
37signals seine Software Basecamp Classic. Auch Ruby on Rails, auf das auch
die beiden getesteten Open-Source-Tools
Redmine und Open Project setzen, entstand unter dem 37signals-Dach mit dem
Ziel, ein Framework fr Basecamp zu
schaffen. Inzwischen hat sich einiges
getan: Seit 2012 lst Basecamp [3] das
ursprngliche Basecamp Classic ab.
Im Februar dieses Jahres gab die Softwareschmiede bekannt, dass sie sich
ebenfalls in Basecamp umbenannt habe.
Im Zuge der Neuordnung stie sie ihre
anderen Cloudprodukte Backpack,

Campfire und Highrise ab, um sich auf


Basecamp zu konzentrieren.
Whrend die Classic-Variante einen kostenlosen Zugang fr alle bereithielt, die
nur ein Projekt mit der Software verwalten, steht ein solcher Account nicht mehr
zur Verfgung. Der Hersteller ermglicht
Lehrern aber nach wie vor freien Zugang
zum System. Alle anderen knnen es 60
Tage lang kostenlos testen.
Danach whlen Kunden zwischen vier
Monats- und einem Jahrestarif. Zehn aktive Projekte und 3 GByte Speicher kosten 20 US-Dollar pro Monat, 40 Projekte
und 15 GByte 50 US-Dollar, 100 Projekte
und 40 GByte Speicher 100 US-Dollar,
unbegrenzt viele Projekte mit 300 GByte
Speicher schlagen mit 250 US-Dollar monatlich zu Buche. Unternehmen, denen
das nicht ausreicht, knnen jhrlich 3000
US-Dollar berappen und erhalten dafr
beliebig viele Projekte, 500 GByte Speicher und Vorzugssupport.
Whrend das alte Basecamp Classic
noch 17 Sprachen beherrschte, kommuniziert das neue Interface nur noch auf
Englisch. Ob sich das Unternehmen irgendwann wieder der Lokalisierung
widmen mchte, war nicht in Erfahrung
zu bringen. Auch die Mglichkeit, den
Basecamp-Look mit Themes zu verndern, ist seit der Umstellung verschwunden. Aktuell ist es nicht mal drin, ein
eigenes Firmenlogo einzubinden.
ber Everyone richten Basecamp-Admins weitere Nutzer ein, die auf ihren

Account Zugriff haben. Das Ganze funktioniert ber Einladungen per Mail. Neben
dem normalen Benutzerzugang kennt
das System den so genannten Client, der
Zugriff auf bestimmte Elemente erhlt.
Der Verwalter legt zudem fest, welche Kalender ein Anwender betrachten darf und
ob dieser neue Projekte erzeugen kann
beziehungsweise volle Admin-Rechte
erhlt. Einem Client kann der Admin
Einsicht in Diskussionen, Dateien oder
To-dos gezielt verwehren.
Das Konzept hakt nach Meinung der
Tester: Besser wre es, Kunden erst einmal aus allem auszusperren und nur bei
Bedarf relevante Dokumente oder Diskussionsstrnge freizuschalten. Jedes
Teammitglied und jeder Client darf weitere Anwender per Mail einladen. Die
Neuzugnge erben den Benutzerstatus
des Gastgebers.

Tagesordnung
Alle zu einem Projekt eingeladenen Nutzer drfen grundstzlich alle BasecampTools nutzen. Sie starten Diskussionen,
erstellen To-dos und fgen Dateien
hinzu. Leider haben Clients damit auch
das Recht, Teile des Projekts zu lschen.
Wenigstens gibt es einen Rettungsanker:
Klickt ein Benutzer auf der Projektbersicht-Seite oder im Bereich Progress auf
ein gelschtes Objekt, bietet Basecamp
an, es wiederherzustellen (siehe Abbildung 5). Das Konzept von Gruppen oder
Rollen, wie es die beiden ersten Kandidaten bieten, kennt Basecamp nicht. Der
Admin muss Rechte von Hand setzen
und entziehen.
Aufgaben in einem Projekt heien bei
Basecamp To-do. Das System ordnet
diese in Listen mit Unterpunkten an. Es
ist mglich, einzelne Aufstellungen per
Klick in eine Checkbox vor allen zu verbergen, die den Status Client haben. Paradox: Auch wenn die Aufgabe versteckt
ist, kann der Anwender sie einem Client
zuweisen, und dieser erhlt eine Infomail
darber mit einer URL, die er dann aber
nicht aufrufen darf.
Alternativ kann ein To-do auch erst mal
den Status Unassigned behalten. Auerdem bestimmt der Nutzer beim Anlegen ein Datum als Deadline. Im Vergleich mit Redmine und Open Project
schneidet Basecamp hier nicht gut ab,

02/2015

Gut gefiel den Testern die E-Mail-Schnittstelle. Jedes Basecamp-Projekt besitzt


seine eigene Mailadresse, Nachrichten,
die Benutzer an diese senden, archiviert
das System und macht sie ber Everything | Show all forwarded emails zugnglich. Enthlt der Nachrichtenbetreff
die Zeichenkette Discussion:, dann
taucht die Mail als neues Topic in der
Diskussionsbersicht auf.
Leider erkennt das System Antworten per
Mail nicht als zugehrigen Beitrag und
hngt sie an den Thread an, sondern
legt sie unter den allgemeinen Mails ab.
Lautet das Subject Todo list: und enthlt der Body mehrere Zeilen, die jeweils
mit einem Sternchen beginnen, erscheint
eine neue To-do-Liste mit Unterpunkten.
ber Document: im Betreff erzeugen
Nutzer neue Dokumente aus dem Inhalt
der Mail, ber Files: fgen sie Mailanhnge zu einem Projekt hinzu.
Minuspunkte gibt es allerdings fr die
Auswertungsfunktionen. Eine ProgressAnsicht blendet zwar eine rudimentre
Zeitleiste ein, ber die Anwender einzelne Tage anspringen knnen. Aber eine
grafische Auswertung oder Filter fehlen
besonders Open Project zeigt, wie so
etwas besser geht.
Die interne Dokumentensammlung beschrnkt sich auf einfache Texte mit ein

Bitparade

Software

Austausch

www.linux-magazin.de

denn die Konkurrenz kennt Workflows,


erfasst Bearbeitungsfortschritte und bildet diese ab.
Aufgaben und Liste besitzen eigene Diskussionsfunktionen. Die sind aber nicht
vergleichbar mit den Foren, die Redmine
und Open Project bieten. Das Diskussionstool erfllt nur Minimalbedrfnisse;
alle Beitrge erscheinen chronologisch
sortiert, aber es gibt keine Threads und
Verschachtelungen, sodass es schwierig
ist, Antworten richtig zuzuordnen. Alle
To-dos und ihre Deadlines finden sich
auch im Kalender wieder.
Per Klick auf einen Tag erzeugen Anwender neue Events. Sie ordnen diese einem
Projekt hinzu, bestimmen optional eine
Uhrzeit, setzen eine Erinnerungsfunktion und bestimmen, wer die Gedankensttze per Mail erhlt (siehe Abbildung
6). Auch dieser Dialog erlaubt es, Clients
gezielt auszuschlieen.

Abbildung 5: Objekte, die ein Teammitglied aus Versehen gelscht hat, knnen auch andere Anwender wiederherstellen oder vollstndig aus dem System entfernen.

paar Auszeichnungsoptionen. Ein Schutz


vor dem gleichzeitigen Bearbeiten eines
Dokuments ist eingebaut, Basecamp
weist darauf hin, welcher Anwender den
Text gerade unter den Fingern hat. In der
Seitenleiste rechts neben dem Dokument
zeigt Basecamp eine Versionsbersicht.
Nach Anwahl eines Eintrags hebt das
System die nderungen farblich hervor
und stellt vorhandene Fassungen per
Mausklick wieder her.
Externe Dateien nimmt Basecamp bis zu
einer Gre von 10 GByte an. Anwender
drfen beliebige Formate hochladen. Fr
Grafiken und PDFs zeigt die Software
Vorschaubilder an, Audio- und Videodateien spielt sie direkt im Browser ab.
Alle anderen Dateitypen mssen Teammitglieder erst herunterladen, bevor sie
die Inhalte einsehen knnen.
Es ist mglich, Files umzubenennen,
eine Versionsverwaltung wie bei den Dokumenten fehlt allerdings. Der Hersteller
empfiehlt, auf neue Dateiversionen per
Kommentar hinzuweisen eine eher unglckliche Lsung, denn diese landen in
der Diskussionsbersicht, was nicht zur
bersichtlichkeit beitrgt.
Die Inhalte des Kalenders exportiert der
Ical-Link unterhalb der Projektbersicht.
Dort findet sich auch ein Atom-Feed.
ber Account in der oberen Leiste fordern Nutzer den Export ihrer Daten als
HTML-Archiv an. Sie knnen sich dabei

entscheiden, ob sie nur die Daten aktiver Projekte oder alles haben mchten.
Die Funktion steht einmal pro Tag zur
Verfgung, und es kann laut Hersteller
ein paar Stunden bis zur Bereitstellung
dauern.
Einige Funktionen, die Basecamp fehlen,
ergnzen Drittanbieter [20]. So bieten
sich fr die fehlende Zeiterfassung etwa
die Clouddienste Toggl, Time Doctor oder
Tick an. Die von den Testern vermisste
Projektbersicht stellen Team Gantt oder
Ganttify bereit.
Die Integration der externen Services ist
denkbar einfach. In der Regel reicht es
aus, die entsprechenden Accounts miteinander zu verknpfen und entsprechende
Zugriffsrechte zu besttigen. Unter [20]
finden sich ebenfalls Links zu mobilen
Apps und Desktopanwendungen, die mit
Basecamp zusammenspielen.

 Zoho Projects
Die zweite Cloud-basierte Kollaborationslsung stammt aus dem groen
Werkzeugkasten des indisch-amerikanischen Softwarehauses Zoho Corporation.
Zoho Projects [4] ist seit 2006 auf dem
Markt. Das Unternehmen hat vier Pakete mit unterschiedlichen Funktionen
geschnrt.
In der kostenlosen Free-Variante verwalten Nutzer ein Projekt und erhalten

59

02/2015

Software
Bitparade
www.linux-magazin.de

60

Abbildung 6: Neue Aufgaben wandern ber Kalender-Events schnell in die To-do-Listen. Basecamp erinnert
auf Wunsch per Mail an anstehende Termine.

10 MByte Speicherplatz. Express schlgt


monatlich mit 20 US-Dollar zu Buche, erlaubt bis zu 20 Projekte und hlt 5 GByte
Speicherplatz bereit. 50 Projekte und
15 GByte gibt es fr 40 US-Dollar pro
Monat in der Premium-Version. Wer unbegrenzt viele Projekte managen mchte,
zahlt 80 US-Dollar monatlich und erhlt
obendrein 30 GByte auf den Servern des
Herstellers. Fr die Bezahlvarianten bietet Zoho einen Preisnachlass an, wenn
Kunden ein ganzes Jahr buchen.
Die Webseite listet neben den Preisen und
Rabatten auch die Features der Zoho-Projects-Varianten auf. Einige Funktionen,
etwa die Zeiterfassung, Erinnerungen per
Mail und die Mglichkeit, Wochenenden
und Feiertage aus der Berechnung der
Manntage herauszunehmen, sind zahlenden Kunden vorbehalten. Dafr werden diese Mandanten fr Wiki, Chat und
Bugtracker zustzlich zur Kasse gebeten,
whrend die Tools im kostenlosen Account vorhanden sind. Die Tester schauten sich die Variante Premium an.
Zoho Projects ist in 17 Sprachen verfgbar. Die deutsche Lokalisierung ist
weitgehend vollstndig, enthlt aber einige Tippfehler. Der Hersteller scheint
im Hintergrund keine systemweiten bersetzungsdateien zu nutzen, denn einige
Bedienelemente erscheinen in einer Ansicht auf Deutsch, in einer anderen auf
Englisch. Hier besteht Handlungsbedarf.

ber den Schraubenschlssel und Persnliche Einstellungen whlen Anwender aus einem von vier Designs fr die
Weboberflche aus. Ein eigenes Logo fr
Zoho-Projekte ist laut FAQ mglich; die
Funktion fehlt allerdings in der aktuellen
Version, wie das Unternehmen auf Nachfrage besttigte.

Zentrale Aufgaben
Zoho kennt fnf Rollen: Portalinhaber,
Administrator, Manager, Mitarbeiter und
Auftragnehmer. Der Portalinhaber hat
vollen Zugriff und darf auch die Vertragsdaten des Accounts einsehen und
verndern. Der Zoho-Administrator legt
neue Projekte an und lscht vorhandene,
fgt Benutzer hinzu oder entfernt sie.
Er hat die volle Verwaltungshoheit ber
das gesamte Zoho-Projects-Portal. Manager besitzen das Recht, Projekte zu
handhaben und bestehende Accounts zu
Projekten hinzuzufgen.
Mitarbeiter sind auf ihre Projekte beschrnkt, haben dort aber Zugriff auf
alle Aufgaben, drfen Dateien hinzufgen und an Diskussionen teilnehmen.
Der Typ Auftragnehmer entspricht weitgehend dem Mitarbeiter, ist allerdings fr
externe Kollegen gedacht, die nur temporr ins Projekt involviert sind.
Genau wie Basecamp kennt Zoho zustzlich Kundennutzer, diese drfen aber

im Unterschied zur Konkurrenz lediglich


ihre eigenen Kommentare und Diskussionsbeitrge lschen. Aus der Zeiterfassung und der Kalenderansicht sperrt das
System sie grundstzlich aus.
Jedes Zoho-Projekt hat Aufgabenlisten
mit einzelnen Tasks. Zustzlich drfen
Anwender alleinstehende Aufgaben definieren, die keiner Liste zugeordnet sind.
Wenn sie eine neue anlegen, fgen sie
optional bis zu zehn Dateien hinzu, bestimmen Anfangs- und Enddatum und
den verantwortlichen Mitarbeiter.
Die Erinnerungsfunktion erweist sich als
uerst flexibel und schickt auf Wunsch
wiederholt Nachrichten an ein Team. Ein
Klick auf das Uhrensymbol vor dem Namen startet die Zeiterfassung, und ber
das Aufklappmen stellen Nutzer den
Fortschritt ein (Abbildung 7).
Bonuspunkte gibt es fr die verschiedenen Darstellungsformen der Aufgabenlisten. ber den oberen Rand schalten
Benutzer von der klassischen Ansicht
zu einem Kanban-Board oder zu einer
bersicht, die Abhngigkeiten zwischen
einzelnen Tasks aufzeigt.

Teamwork
Neben Open Project ist der Zoho-Dienst
der zweite Kandidat, der Meilensteine
untersttzt. Diese erscheinen in der Projektauswertung und im Kalender entsprechend hervorgehoben. Der Kalender
bietet eine Monats- und eine Agenda-Ansicht, die nur Eintrge vom Typ Ereignis
zeigt. ber das kleine Filtersymbol am
oberen Rand blenden Nutzer bestimmte
Termintypen ein und aus und sortieren
die Eintrge nach Zustndigkeiten.
Ein Klick auf einen Tag legt eine neue
Task an, ohne zur Aufgabenliste wechseln zu mssen. Anwender entscheiden
sich, ob es sich um ein Ereignis, einen
Meilenstein, eine Aufgabe oder einen
Fehler handelt, whlen einen Verantwortlichen aus, setzen Anfangs- und Enddatum und Erinnerungsfunktionen.
Das Forum schafft durch Kategorien etwas mehr Ordnung. Laufen viele Unterhaltungen ber diese Schnittstelle, dann
ist es mglich, einzelne Bereiche einzublenden. Ansonsten unterscheidet sich
Zoho Projects hier leider nicht von den
anderen Kandidaten und hngt Nachrichten ebenfalls chronologisch sortiert

02/2015

Software
www.linux-magazin.de

Bitparade

aneinander. Zwar ist es mglich, auf Beitrge zu antworten, ein echtes Threading
findet jedoch nicht statt.
Genau wie Basecamp bietet dieser
Clouddienst eine Mailschnittstelle zum
Diskussionsforum. Ob das System eine
Nachricht als Aufgabe, Forenbeitrag oder
Dokument behandelt, beeinflusst der
Nutzer allerdings nicht ber den Betreff,
sondern ber jeweils eine eigene Mailadresse. Anders als der Cloud-Konkurrent
lehnt Zoho Projects Post von Adressen
ab, die nicht ber die Benutzerverwaltung freigeschaltet sind. Das schtzt einerseits vor Spam, macht es andererseits
aber unmglich, die Kollegen von einem
anderen Account aus zu kontaktieren.
Abbildung 7: Anwender starten und stoppen die Zeiterfassung fr Zoho-Projects-Aufgaben ber den kleinen

Einsatzfreudig

Timer vor einer Aufgabe. ber ein Dropdownmen an der rechten Seite erfassen sie den Fortschritt.

Die Dokumentenfunktion schneidet im


Vergleich mit den anderen Kandidaten
deutlich besser ab. Anwender laden bis
zu zehn Dateien gleichzeitig hoch, fgen
Kommentare hinzu und sortieren ihre
Inhalte in Verzeichnisse. Neben einer
Listen- und Miniaturansicht bietet Zoho
eine abgespeckte Vorschaufunktion fr
Bilder. Eine Integrationsmglichkeit mit
Dropbox ist ebenfalls dabei. Formate,
welche die Online-Officesuite Zoho Docs
[21] untersttzt, ffnen Nutzer direkt aus
Zoho Projects heraus im entsprechenden
Docs-Modul und bearbeiten es, nach dem
Speichern aktualisiert das System die Dateien automatisch.
Alle Dateien unterliegen der Versionsverwaltung. Ein kleiner grauer Kreis zeigt
die aktuelle Versionsnummer an. Klickt
der Anwender auf das Symbol, klappt

eine Liste aus, die Zugriff auf alle Fassungen und die Mglichkeit zum Upload
einer weiteren Variante bietet. Sofern der
Dateiname des neuen File vom Original
abweicht, gibt die Software eine deutliche Warnung aus. Den Testern gefiel
berdies gut, dass sie ihre Daten mit Tags
versehen knnen. Hlt ein Team diese
Auszeichnung konsequent ein, finden
alle Mitarbeiter schnell die gesuchten
Dokumente.
Den Kalender exportieren Anwender ber
das Icon rechts oben. Zoho Projects erzeugt zwei Links einen im Ical-Format
und einen fr Google-Kalender. Aufgabenlisten und Auswertungen des Zeitplans
speichert der Clouddienst im Excel- oder
CSV-Format, Letztere und die Berichte
zustzlich als PDF-Dateien. In den Einstellungen finden Anwender eine Option,

um das gesamte Projekt als XML-Datei


ohne Dokumente zu exportieren. ber
die Abteilung Integrations der persnlichen Konfiguration verheiraten Anwender Zoho Projects mit der Business-Intelligence-Lsung Zoho Reports [22], um
professionelle Analysen und Auswertungen der Projekte zu erstellen.
In der so genannten Instrumententafel im
Dashboard finden Anwender einen berblick ber den aktuellen Projektstatus
und die letzten Ereignisse. Zoho Projects
blendet auf der rechten Seite Diagramme
ein (siehe Abbildung 8), die Anwender
in den Vordergrund holen, mit Filteroptionen anpassen, als PDF- und PNG-Datei
sowie in die Zwischenablage speichern
knnen. Zustzlich bietet der Clouddienst Zugriff auf Berichte und GanttDiagramme, die zwar ausfhrlicher sind

61

02/2015

Software
62

www.linux-magazin.de

Bitparade

Dennoch hinterlsst der Clouddienst


einen guten Eindruck. Besonders die
Kooperation mit anderen Zoho-Diensten
und externen Anbietern ist ein Plus. Als
einziger Kandidat im Test bietet Zoho
Projects eine Weboberflche mit responsivem Design und eignet sich daher besonders fr Teams, deren Mitglieder oft
von unterwegs mit Smartphone oder
Tablet arbeiten. (hej)
Q

Abbildung 8: Im Dashboard blendet Zoho Projects Diagramme ein. So sehen Mitarbeiter und Verantwortliche
auf einen Blick, wie es um den Fortschritt des Projekts steht.

als bei Open Project, aber nicht ganz so


handlich und aussagekrftig.
Der vierte Kandidat trumpft auf, wenn
es um die Integration weiterer Clouddienste geht. Er arbeitet aber nicht nur
mit den firmeneigenen Angeboten zusammen, sondern importiert auch Daten
aus Cloudspeichern wie Dropbox, Google
Drive, Box, Microsoft One Drive und
Evernote. Apps fr Android- und iPhoneNutzer sind ber die gngigen App Stores
erhltlich. Anwender anderer mobiler
Gerte knnen den Clouddienst bequem
ber den Browser bedienen, denn Zoho
Projects nutzt ein responsives Design.

Teamgeist
So mchtig und flexibel Redmine dank
seines Plugin-Systems ist, so unbequem
und nervenaufreibend sind Installation
und Pflege. Selbst erfahrene Admins drften sich die Haare raufen beim Versuch,
die Software aktuell und einsatzbereit zu
halten. Das Zusammenspiel der Erweiterungen ist ein reiner Eiertanz, da diese
teilweise einander ausschlieende Abhngigkeiten haben. Jedes Update kann
Ausflle einzelner Komponenten oder des
ganzen Systems bedeuten.
Aus Benutzersicht spricht aber nichts gegen den ersten Kandidaten Redmine ist
zwar nicht immer modern, dafr aber
zuverlssig und leicht zu erlernen. Gut
gefiel den Testern die Flle externer Anwendungen. Egal ob mit dem Androidoder Windows-Phone-Handy, einem

iPhone oder verschiedenen Tablets: Die


Interaktion mit der Software von unterwegs ist garantiert.
Der zweite Kandidat fr den eigenen
Server ist deutlich besser zu administrieren, auch das Einspielen der Plugins ist
einheitlicher und damit weniger fehleranfllig. Die Benutzeroberflche kommt
moderner daher Open Project macht
insgesamt einen guten Eindruck. Abzge
in der B-Note gibt es wegen des ausgelagerten Dokumentenmanagements, das
muss der Admin in jedem Fall nachrsten. Wer viel von unterwegs mit mobilen
Gerten arbeitet, sollte genau prfen, ob
er mit der nicht-responsiven Oberflche
zurechtkommt. Apps fr Smartphones
und Tablets wren eine wnschenswerte
Ergnzung.
Basecamp fehlen einige Workflowelemente, welche die anderen Testkandidaten besser umsetzen. Die Cloudlsung
ist an vielen Stellen zu minimalistisch,
bietet dafr aber eine niedrige Lernkurve.
Sie eignet sich fr kleinere Teams oder
Anwender mit wenig Erfahrung im Bereich Projektmanagement. Gut umgesetzt
sind die E-Mail-Integration und die Dokumentenverwaltung. Wenn es um die
Zusammenarbeit mit externen Cloudservices geht, zeigt Basecamp seine strkste
Seite. Sehr viele Drittanbieter kooperieren mit dem System und ergnzen vermisste Funktionen.
Zoho Projects kann deutlich mehr in
dieser Funktionsflle knnen sich Anwender aber auch schnell verlaufen.

Infos
[1] Redmine: [http://www.redmine.org]
[2] Open Project: [https://openproject.org]
[3] Basecamp: [https://basecamp.com]
[4] Zoho Projects:
[https://projects.zoho.com]
[5] Redmine-Howtos: [http://www.redmine.
org/projects/redmine/wiki/HowTos]
[6] Redmine-Wiki zu Themes:
[http://www.redmine.org/projects/
redmine/wiki/Themes]
[7] Gravatar: [https://de.gravatar.com]
[8] DMSF-Plugin fr Redmine:
[http://www.redmine.org/plugins/dmsf]
[9] Redmics-Plugin:
[https://github.com/buschmais/redmics]
[10] Redmine-Plugins:
[http://www.redmine.org/plugins]
[11] Zapier:
[https://zapier.com/zapbook/redmine]
[12] Redmine-Zusammenarbeit mit externen
Tools: [http://www.redmine.org/projects/
redmine/wiki/ThirdPartyTools]
[13] Chili Project:
[https://www.chiliproject.org]
[14] Open-Project-bersetzungen: [https://
github.com/opf/openproject-translations]
[15] Shiny-Theme: [https://github.com/
LivioTeam/openproject-themes-shiny]
[16] Task Connector: [https://community.
openproject.org/projects/task-connector]
[17] Plugins fr Open Project:
[https://www.openproject.org/download/
install-plugins]
[18] Timecamp: [https://www.timecamp.com/
en/integrations/openproject-time-tracking-timecamp]
[19] API-Dokumentation fr Open Project:
[https://community.openproject.org/
projects/openproject/wiki/API_v2]
[20] Basecamp-Apps und -Erweiterungen:
[https://basecamp.com/extras]
[21] Zoho Docs: [https://www.zoho.com/docs]
[22] Zoho Reports:
[https://www.zoho.com/reports]

02/2015

Software
64

www.linux-magazin.de

Tooltipps

Werkzeuge im Kurztest

Tooltipps
Pkgdiff 1.6.3

Load Avg 2.0

Mlock 0.2

Pakete miteinander vergleichen


Quelle: [http://lvc.github.io/pkgdiff]
Lizenz: GPLv2
Alternativen: keine

Systemlast im Blick
Quelle: [http://www.loadavg.com]
Lizenz: AGPLv3
Alternativen: Sysusage

Dateien verschlsseln
Quelle: [http://andre-simon.de/doku/mlock/
en/mlock.php]
Lizenz: GPLv3
Alternativen: Gnu PG

Wer den Inhalt von zwei RPM-, Deboder Tar.gz-Paketen miteinander vergleichen mchte, muss normalerweise beide
Archive entpacken und dann ein Tool wie
Diff bemhen. Komfortabler geht es mit
Pkgdiff, das die Pakete gegenberstellt
und anschauliche Berichte im HTML-Format erzeugt. Das Perl-Skript untersttzt
die Formate RPM, SRPM, Tar (kombiniert
mit verschiedenen Kompressionstools),
Deb und Deb-SRC.
Anwender bergeben beim Aufruf beide
Pakete. Die HTML-Dateien legt Pkgdiff im
Ordner pkgdiff_reports ab, sortiert nach
Paketnamen und -versionsnummern. Die
Schalter -minimal, -quick und -details bestimmen, wie ausfhrlich die
Berichte sind. Weitere Aufrufparameter
beeinflussen die Behandlung von Leerzeichen oder -zeilen.
Praktisch ist auch der Parameter -size-limit, um eine Grenbegrenzung fr Pakete festzulegen. Er empfiehlt sich vor allem dann, wenn Anwender Repositories
mit vielen Dateien prfen mchten. Die
Dokumentation erklrt, wie Nutzer mit
einer XML-Datei eine Gruppe von Paketen analysieren.
+++++ Pkgdiff eignet sich sowohl fr
Entwickler, die ihre neuen Pakete kontrollieren mchten, als auch fr Anwender, die Fehler in selbst kompilierten Programmen suchen. Das Perl-Skript erzeugt
ansprechende Berichte, die beim VergleiQ
chen und Analysieren helfen.

Load Avg erfasst die Last und den Speicher- und Ressourcenbedarf von Servern,
erzeugt daraus Verlaufsgraphen und prsentiert diese im Browser. Das PHP-Tool
bentigt einen Webserver sowie PHP 5.0
oder neuer. Optional knnen Admins es
mit SSL absichern.
Die Weboberflche zeigt die aktuelle
Systemauslastung in mehreren Graphen
an. Welche Daten das Tool prsentiert,
bestimmen Anwender ber Settings.
Load Avg enthlt Module fr die CPU, das
Netzwerk, den Speicher, die Festplatte(n),
MySQL, Apache und SSH. Das Men Server bringt Informationen zur Grundkonfiguration, ber den Arbeitsspeicher, den
oder die Prozessoren sowie den Kernel.
Auer der Webschnittstelle bringt Load
Avg das Skript logger.php mit, das die
Daten einsammelt.
Ein Crontab-Eintrag wie im Beispiel auf
der Projektseite sorgt fr automatischen
Betrieb. Im Gegensatz zu vergleichbaren Programmen bentigt Load Avg kein
Datenbank-Backend, sondern verwaltet
die erfassten Daten in eigenen Logs.
+++++ Load Avg ist ein ntzliches
Tool, das Anwendern Auskunft ber
die Systemauslastung ihres Servers gibt.
Allerdings eignet es sich nur fr einen
Rechner. Wer mehrere Server im Blick
behalten mchte, sollte auf andere MoQ
nitoringtools zurckgreifen.

Mlock bietet eine Shell-Schnittstelle zum


Kryptographieverfahren Minilock, das
komplizierte Techniken wie PGP oder
Gnu PG ablsen will, indem es vor allem
das Hantieren mit privaten und ffentlichen Keys eliminiert. Um eine MinilockID zu erzeugen, rufen Anwender Mlock
zusammen mit -m und der eigenen
Mailadresse auf. Die Passphrase muss aus
mehreren Wrtern bestehen und mindestens 41 Zeichen lang sein. Die Eingabe
erfolgt einmalig und ist verdeckt wer
sich vertippt, hat Pech gehabt.
Um eine Datei zu verschlsseln, geben
Benutzer diese hinter -E an; sie erhlt
die Endung .minilock. Wer einen anderen Namen vergeben mchte, hngt
diesen an -o an. Um ein File fr einen
Dritten wegzuschlieen, bergeben Nutzer hinter dem Parameter -r dessen ID.
Es ist mglich, mehrere Empfnger zu
definieren. ber -x schlielich nehmen
Nutzer ihre eigene Minilock-ID aus und
haben damit keinen Zugriff mehr auf die
verschlsselte Datei.
Zum Entschlsseln dient -D; auch hier
sind wieder die Passphrase und die Mailadresse gefragt. Letztere dient dabei als
Salt-Element.
+++++ Vom Namen sollten sich Anwender nicht abschrecken lassen Mlock
kann auch mit groen Dateien umgehen.
Das Tool ist schnell und performant. Q

02/2015

Software
Tooltipps

Mlterm 3.4.0

Pimp my Log 1.7.4

Virtuelle Umgebungen
Quelle: [http://lxcf.sourceforge.jp/index.
html.en]
Lizenz: GPLv2
Alternativen: LXC, Virtenv

Mehrsprachiges Terminal
Quelle: [http://mlterm.sourceforge.net]
Lizenz: BSD
Alternativen: Jfbterm

Serverlogs im Browser
Quelle: [http://pimpmylog.com]
Lizenz: GPLv3
Alternativen: Analog, Awstats

www.linux-magazin.de

66

LXCF 0.11

Linux Containers (LXC) virtualisiert


mehrere voneinander isoliert laufende
Linux-Systeme auf einem einzigen Host.
Das Framework LXC Facility, kurz LXCF,
erzeugt im Handumdrehen neue Container oder verwaltet bestehende. Es nutzt
dazu die Libvirt-Bibliothek.
Anwender steuern LXCF ber Aufrufparameter oder interaktiv ber die LXCFShell. Die Befehlspalette umfasst Ressourcen- und Containerverwaltung, das
Starten und Stoppen einzelner Umgebungen sowie das Steuern von Batchjobs.
Einen neuen Container erzeugen und
starten Nutzer mit sysgen, gefolgt von
einem eindeutigen Namen. Die Kommandos cpurate beziehungsweise memlimit schrnken den verfgbaren Arbeitsspeicher und die CPU-Performance ein,
um Ressourcen zwischen Gast und Host
optimal aufzuteilen.
Einen Blick auf die aktuelle Konfiguration
wirft show, update spielt Patches ein
und deploy aktualisiert das ContainerBetriebssystems. Eine bersicht aller
verfgbaren Umgebungen liefert das
Kommando list. In der Voreinstellung
starten die Container nach einem Reboot
des Hosts nicht automatisch neu. Ist
das erwnscht, kennzeichnen Anwender solche Umgebungen mit autostart.
Eine Auflistung aller LXCF-Befehle stellt
helpcmd bereit. Die Manpage und das
Readme enthalten eine umfangreiche Anleitung und viele Beispiele.
+++++ LXCF erzeugt neue Container
in wenigen Minuten. Da Anwender das
Tool komplett mit Aufrufparametern
steuern knnen, eignet es sich ideal fr
eigene Skripte. Das interaktive Arbeiten
in der LXCF-Shell ist allerdings etwas
gewhnungsbedrftig.
Q

Linux-Terminalemulatoren gibt es wie


Sand am Meer. Der Multi Lingual Terminal Emulator on X, kurz Mlterm, untersttzt zahlreiche ISO-Kodierungen,
asiatische Zeichenstze (auch Zeichen
mit doppelter Breite) und bidirektionale
Schriften wie Hebrisch, Arabisch oder
Persisch. Der Support fr indische Sprachen wie etwa Hindi ist noch als experimentell gekennzeichnet. Insgesamt
beherrscht das mehrsprachige Terminal
ber 40 Kodierungen.
Beim Start wertet das Tool die localeEinstellungen aus. Passt die Konfiguration nicht, ffnet [Strg] zusammen mit
der rechten Maustaste einen Dialog, in
dem Anwender nderungen zum Encoding und zu den Schriftarten- und -gren vornehmen. Mlterm bietet hier auch
Optionen, um die Farbgebung anzupassen oder Fensterrahmen sowie Scrollbalken ein- oder auszublenden. Das Tool
kennt zahlreiche Aufrufparameter, die
das Antialiasing einschalten, die MetaTaste zuweisen, eine Login-Shell starten
und Helligkeit und Kontrast regeln.
Interessant ist auch der Parameter -j, der
Mlterm als Dienst startet und Anfragen
von mlclient annimmt. Die Langfassung
kennt zwei Modi: --daemon=blend
und --daemon=genuine. Ersterer sorgt
dafr, dass der Daemon die Arbeit einstellt, wenn der Nutzer das letzte Terminalfenster schliet, genuine hingegen
versetzt den Dienst in eine Art Suspend.
Die Anwender knnen zu einem spteren Zeitpunkt mit mlclient und dem
PTY-Socketnamen die Verbindung wiederbeleben.
+++++ Mlterm erscheint als das perfekte Terminal fr alle, die vielsprachig
unterwegs sind und auch exotische ZeiQ
chenstze bentigen.

Wer einen komfortablen Weg sucht, um


die Logfiles eines Remoteservers zu betrachten, der sollte Pimp my Log eine
Chance geben. Ursprnglich als PHP
Apache Log Viewer gestartet, benannten
die Entwickler im Januar 2014 ihr Tool
um, da seine Fhigkeiten nicht mehr nur
auf Apache beschrnkt sind. Es verarbeitet inzwischen alle Protokolle, die dem
Common-Logfile-Format folgen, darunter
solche von Nginx, IIS, Ruby on Rails,
Tomcat, SSHD und Syslog.
Anwender entpacken das Archiv im Dokumentenverzeichnis des Webservers.
Zur Konfiguration benennen sie die Datei config.example.php in config.user.
php um und bearbeiten sie im Texteditor. Alternativ bietet das Tool einen Einrichtungsassistenten, der die wichtigsten
Daten abfragt. Dazu gehren Admin-Benutzername und -Passwort, das bevorzugte Logformat sowie die Verzeichnisse
mit den Protokollen. Systemverwalter
sollten darauf achten, dass Pimp my Log
die Logdateien lesen darf.
In der Kopfzeile der Weboberflche whlen Anwender die gewnschte Logdatei
aus. Je nach Protokoll zeigt die Tabelle
darunter unterschiedliche Spalten an.
ber das Men am oberen Rand aktualisieren Nutzer die Anzeige von Hand oder
automatisch und whlen dazu ein Intervall und die Anzahl der Protokolle aus.
Ein Suchfeld erlaubt die Recherche nach
bestimmten Eintrgen; regulre Ausdrcke sind erlaubt. Eine Exportfunktion
rundet den Funktionsumfang ab.
+++++ Pimp my Log bereitet Serverprotokolle bersichtlich auf, greift dazu
allerdings nur auf lokale Logfiles zu. Fr
grere Infrastrukturen eignet sich das
Q
Tool also nicht. (U. Vollbracht/hej)

Sysadmin

02/2015

Wer mit einem Pentesting-Tool wild im eignen Netz rumfuchtelt, bleibt zwar am Leben, hat aber Aussichten auf
einen Preis fr herausragende Leichtfertigkeit. Fr alle anderen hat Charly Khnast einen Rat: Verwenden Sie
Metasploitable, das vielleicht kaputteste Linux aller Zeiten. Charly Khnast
Inhalt
70 Cloud-Betriebssysteme
OS-Betriebssysteme fr die Cloud mit
unterschiedlichen Konzepten und Einsatzschwerpunkten.
80 Dovecot und S3
Fast beliebig skalierbaren Mailspeicher
ermglicht die Zusammenarbeit von
Dovecot und Amazons S3.

Wahrscheinlich haben Sie schon von


den Darwin Awards [1] gehrt. Den launigen Preis bekommt verliehen, wer die
Qualitt des Genpools der Menschheit
dadurch erhht, dass er der Welt seine
Gene auf herausragend dmliche Weise
entzieht. Prinzipbedingt werden fast alle
Darwin Awards posthum verliehen die
wenigen Ausnahmen sind unappetitlich
und nicht jugendfrei [2].
Meinen Lieblings-Award haben zwei Herren gekriegt, die mit ihrem Gelndewagen
auf einen zugefrorenen See fuhren, um
dem Dynamitfischen zu frnen. Einer
zndete eine Sprengladung an und warf
sie weit weg. Die Mnner staunten, als
der mitgereiste Hund das gefhrliche
Stckchen munter apportierte.
In ihrer Not zckten sie Schusswaffen,
um den Hund zu stoppen. Der brachte
sich daraufhin unter dem Gelndewagen
in Sicherheit. Dort detonierte das Dynamit, das Auto versank, whrend die
Druckwelle die Schlaumeier fortschleu-

Der Autor
Charly Khnast administriert
Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen
Aufgaben gehren Sicherheit und Verfgbarkeit der
Firewalls und der DMZ.

derte. Sie verloren das Bewusstsein und wurden spter


erfroren aufgefunden. Schade
um den Hund Respekt fr
den Forensiker, der den Ablauf rekonstruierte.
Prmienwrdiges Pech ist
auch im Netz zu finden. Jeder Admin mit Erfahrung
kann Geschichten von Amok
laufenden Pentesting-Tools
erzhlen, die unversehens die
wichtigsten Produktionsserver in den Orkus geschossen
haben gesteuert vom Azubi,
der sehen wollte, was dieses
Abbildung 1: Mit einem Smiley zu Root werden Vsftp 2.3.4 macht's mglich.
Metasploit kann.
Das eigene Netz zu attackieren wre liebten Software hackt und das Programm
durch eine mit Malware oder einer Hinwirklich nicht ntig, denn es gibt einen Abenteuerspielplatz zum gefahrlotertr versehenen Version austauscht.
sen Austoben. Er heit Metasploitable
Wer sie auf einem Server installiert, be[3], und sein Name ist Programm. Das
kommt bald ungebetenen Besuch.
Linux-Image, zu finden auch auf der
Ein Beispiel dafr ist der beliebte FTPDELUG-DVD, lsst sich in VMware oder
Daemon Vsftpd. Er wurde einmal durch
Virtualbox starten. Ist das geschafft, enteine Version ersetzt, die auf Port 6200
faltet sich ein groartiges Sammelsurium
eine Rootshell ffnete, wenn sich Benutzer mit einem Smiley nach dem Benutzervon Sicherheitslcken.
namen anmeldeten (Abbildung 1).
Wenn der Azubi also mal wieder Pentester spielen will, geben Sie ihm MetasploiEinige Schwachstellen sind nur noch von table und einen vom LAN abgekoppelten
archologischem Interesse, etwa die kaSwitch. Er wird von den Mglichkeiten so
fasziniert sein, dass keine Zeit mehr frs
puttkonfigurierten R-Dienste Rlogin und
Q
Dynamitfischen bleibt. (jk)
Rsh die lteren werden sich erinnern.
Die Jngeren kennen eh nur SSH, und
selbstverstndlich ist auch das auf Metasploitable eine einzige Katastrophe,
Infos
ganz zu schweigen von den schwachen
[1] Darwin Awards: [http://darwinawards.com]
bis nicht vorhandenen Defaultpasswr[2] The Thing Ring, eine Kastrationsstory,
tern aller mglichen Dienste.
2014 nominiert fr den Darwin Award:
Eine andere Klasse bilden trojanisierte
[http://darwinawards.com/darwin/
Dienste, von denen Metasploitable mehdarwin2014-05.html]
rere offeriert. Sie entstehen, wenn irgend[3] Metasploitable: [http://sourceforge.net/
wer das Download-Repository einer beprojects/metasploitable/]

Unzulnglichkeiten satt

www.linux-magazin.de

Auf den Hund kommen

Einfhrung

Aus dem Alltag eines Sysadmin: Metasploitable

69

02/2015

Sysadmin

Betriebssysteme fr die Cloud

Open-Source-Software spielt in der Cloud zwar die erste Geige, doch als Betriebssystem fehlt manchem Linux
die Leichtigkeit, um in die Sphren aufzusteigen. Cloudbetriebssysteme wollen Anwendungen in der Rechenwolke schlank machen, das Linux-Magazin stellt vielversprechende Anwrter vor. Udo Seidel

die Basis fr die eigentlichen (Web-)Anwendungen und kommen diesen mglichst wenig in die Quere.
Die Grenzen zwischen den Kategorien
flieen, in der Praxis sind die Kandidaten
weniger klar voneinander getrennt. Fr
diesen Artikel besteht das Teilnehmerfeld aus OSv [5], Mirage OS [6] und
Cirros [7]. Auch dazu zhlt neben Core
OS [8], dem das Linux-Magazin krzlich
[9] einen Artikel widmete, auch die JeosFamilie (Just enough operating system,
[10]). Zu ihr liefert der Kasten Saftiges
Linux Details. Am Ende stellt der Artikel noch zwei neue, Docker-zentrierte
Systeme von Canonical und Red Hat vor.

Sergey Nivens, 123RF

70

www.linux-magazin.de

Cloud-Systeme

Lift in die Wolken

 Der neue Star OSv

Als quelloffenes Betriebssystem fr die


Cloud geht mittlerweile einiges durch.
Das wei, wer versucht hat, den Begriff
zu googeln. Geht es aber um Kandidaten,
die im Rechenzentrum laufen und Webanwendungen ausliefern sollen, wird die
Luft berraschend dnn.

Drinnen oder drauen


Der Artikel betrachtet spezielle Vertreter
der Gattung Cloud-OS. Generell zerfallen

Der Autor
Dr. Udo Seidel ist eigentlich Mathe-Physik-Lehrer
und seit 1996 Linux-Fan. Nach seiner Promotion
hat er als Linux/Unix-Trainer, Systemadministrator und Senior Solution Engineer gearbeitet.
Heute ist er Leiter des Linux-Strategie-Teams der
Amadeus Data Processing GmbH in Erding.

die Fundstcke zu den Cloudbetriebssystemen grob in drei Kategorien. Da sind


die Desktop-artigen Systeme. Zu ihnen
gehren etwa Chromium OS [1] oder
auch das inzwischen eingestellte Joli
OS [2], ihnen widmet sich der Kasten
Quelloffen und wolkenartig.
In eine zweite Kategorie fallen Technologien, die die Betriebssystemschicht
auen vor lassen, um sich auf die Virtualisierungsebene zu konzentrieren. Bekannte Vertreter sind Smart OS [3] und
Zero VM [4], zu denen der erwhnte
Kasten auch Details beisteuert.
Die dritte Kategorie besteht aus Systemen, die den in der Einfhrung genannten Ansatz verfolgen. Es sind quelloffene
Betriebssysteme, die zwar primr fr den
Einsatz als Gste in der Wolke trainiert
sind, sich prinzipiell aber auch im Rechenzentrum zu Hause fhlen. Sie bilden

OSv ist ein noch recht junges Projekt,


die Erstausgabe erschien im September
2013. Ein Blick in das Git-Log zeigt, dass
der erste Eintrag vom 1. Dezember 2012
stammt. Dennoch avancierte OSv auf der
Linuxcon Europe 2013 in Edinburgh bereits zu einem kleinen Star. Kein Wunder,
sind die Leute hinter OSv Cloudius
Systems [11] doch keine Unbekannten.
CEO Dor Laor und CTO Avi Kivity Kennern gelten der Szene als Vter von KVM
[12]. Hinzu kommt Glauber Costa, der
eine wichtige Rolle in der Linux-Virtualisierung gespielt hat.
OSv versteht sich als minimalistische
Schicht zwischen dem Hypervisor und
einer Cloudanwendung, eine Installation
und der Betrieb auf echter Hardware sind
nicht vorgesehen. Ein Teil des Erfolgs beruht darauf, dass sich das Betriebssystem
lokal installieren lsst, wofr der Anwender zwischen KVM, Xen [13], VMware
[14] oder Virtualbox [15] als Unterbau
whlt. Daneben funktioniert OSv auch

02/2015

OSv verzichtet auf ein Nutzerkonzept,


alle Prozesse laufen quasi im Kernelspace. Das macht das System schlanker
und schneller, weil beispielsweise Kontextwechsel zwischen Kernel- und Userspace wegfallen und es nicht zwischen
verschiedenen Applikationen umschal-

Da OSv deutlich anders gestrickt ist als


ein traditionelles Linux (oder Free, Net,
Open BSD), fragt sich ein Admin natrlich, wie er ein System verwaltet, das
keine Benutzer kennt, bei dem alles im
Kernelspace luft und das nur fr eine
einzelne Anwendung ausgelegt ist. Der
Nutzer wiederum mchte wissen, wie er
seine Lieblingsanwendung auf OSv zum
Laufen bekommt.
Zum zweiten Punkt lsst sich sagen, dass
das Cloudbetriebssystem die meisten Linux-ABIs (Application Binary Interface)
implementiert [24]. Doch fordern die
oben geschilderten Designentscheidungen ihren Tribut. Ohne Benutzerkonzept
fallen Multiuser-Anwendungen schon
mal raus. Systemaufrufe wie fork(),
vfork() und clone() funktionieren
ebenfalls nicht es soll ja nur ein Prozess
laufen. Schlielich muss die auszufhrende Anwendung in einem bestimmten
Format vorliegen, auch bekannt als Relocatable Shared Object [25].
OSv sucht im Objektcode nach der Hauptfunktion main() und fhrt diese aus.
Der Linux-Anwender kennt das von den

sich dann aber heraus, dass es fr das DesktopCloud-OS keine Zukunft gibt [26].
Besser erging es Chromium OS, wohl auch durch
die wohlhabende Verwandtschaft. Das von
Google initiierte Betriebssystem zielt vor allem auf Anwender, die viel Zeit im Internet verbringen. Anwendungen sind Webanwendungen,
Internet und Hardware verschmelzen. Netbooks
betrachtete Google als passenden Unterbau fr
Letztere. Nach einer ersten Ankndigung im
Juli 2009 verffentlichte Google im November
den Quelltext.
Cloudbetriebssysteme sollen auch Smart OS
und Zero VM sein, obwohl sie eher aus der Virtualisierungsecke kommen. Smart OS wird von
der Firma Joyent untersttzt, ist Open Source,
verheiratet die von Solaris bekannten Zonen

mit KVM und mischt noch ZFS als Datenspeicher


sowie Dtrace [27] als Analysetool hinzu. Die
Verbindung zur Wolke schaffen die Entwickler
ber die Virtualisierung. Ein Rechner zeigt sich
dabei fr einzelne Kunden mit verschiedenen
Gesichtern und gibt jedem das Gefhl, allein
fr sich zu sein.
Sowohl Smart OS als auch Zero VM betrachten
es dabei als zentrale Aufgabe, die virtuellen
Maschinen oder Instanzen abzusichern und voneinander abzuschotten. Ersteres greift dafr
auf die Zonentechnologie von Solaris zurck,
Letzteres benutzt Googles Native Client [28].
Zwar spielt Sicherheit auch eine groe Rolle
in der Cloud, dennoch sehen diese Hypervisor mit Zusatzfunktion eher nach klassischer
Virtualisierung und damit Infrastruktur aus.

Listing 1: Ein Basis-OSv belegt


29 MByte Speicherplatz
01 $ du -sh osv-base.qemu
02 29M

osv-base.qemu

03 $ qemu-img info osv-base.qemu


04 image: osv-base.qemu
05 file format: qcow2
06 virtual size: 10G (10842275840 bytes)
07 disk size: 29M
08 cluster_size: 65536

Quelloffen und wolkenartig


Als Desktop-artige Systeme wollen Chromium
OS und Joli OS dem Anwender einen einfachen Zugang zum Internet ermglichen, ohne
enorme Anforderungen an die Hardware zu
stellen. Joli OS wurzelt beispielsweise in der
Netbook-Variante von Ubuntu.
Fr den sparsamen Umgang mit den limitierten
Hardware-Ressourcen gibt es generell verschiedene Strategien. Erstens lsst sich das
System selbst verschlanken, zweitens knnen
Admins die Programmausfhrung auslagern.
Der erste Fall trifft brigens auch auf die im
Haupttext vorgestellten Systeme zu.
Der Anfang von Joli OS schien vielversprechend.
Version 1.0 erschien im Juli 2010, es folgten in
kurzen Abstnden die 1.1 (Dezember 2010) und
die 1.2 (Mrz 2011). Im November 2013 stellte

Cloud-Systeme

Sysadmin

Einfach genug

ten muss. Qua Design soll OSv nur eine


einzige Anwendung streng genommen
einen Prozess ausfhren.
Auch die Laufzeitumgebung fr Java-Anwendungen profitiert davon, dass OSv
Prozesse in den Kernelspace verlegt, da
die Java Virtual Machine (JVM) fast ein
Bestandteil des Kernels ist. Indem OSv
Teile der Speicherverwaltung direkt weiterreicht, muss die JVM keine Schnittstellen wie mmap() verwenden.
Damit aber noch nicht genug. OSv verzichtet nicht nur auf Spinlocks [20], die
Entwickler vermeiden Locks generell.
Wo dies nicht mglich ist, kommt eine
spezielle Mutex-Variante [21] zum Einsatz. Dieses Vorgehen weiten sie auch
auf den Netzwerkstack aus, fr den
die OSv-Entwickler auf das Kanalkonzept von Van Jacobson [22] setzen.
Aus der Free-BSD-Ecke haben sie die
Datentrgerverwaltung bernommen,
daher berrascht es nicht, ZFS [23]
vorzufinden. Die Pseudodateisysteme
/proc und /dev sind zwar vorhanden,
aber nahezu leer.
Das Thema Sicherheit haben die OSvEntwickler komplett an das darunterliegende Hostsystem delegiert. Das Resultat
ist ein Betriebssystem, das lediglich 30
MByte gro ist (Listing 1). Zum Vergleich:
Schon allein ein handelsblicher Desktop-Linux-Kernel belegt in Binrform und
ohne Module auf der Festplatte locker 5
MByte. OSv ist ein 64-Bit-Betriebssystem
und in der x86-Welt zu Hause. Doch die
Entwickler arbeiten bereits am ARM-Support, der recht weit fortgeschritten ist.

www.linux-magazin.de

in bekannten ffentlichen Clouds wie der


Amazon Elastice Cloud (EC2) oder in
Googles Compute Engine (GCE).
Die radikal reduzierte Betriebssystemschicht von OSv soll wesentlich zwei
Aufgaben erfllen: unter einem nahezu
beliebigen Hypervisor laufen und als
Plattform fr die eigentliche Cloudapplikation dienen. Auch hier ist Minimalismus Programm: Die Laufzeitumgebung
fr eine Posix-kompatible C++-Anwendung darf schlank sein, Analoges gilt fr
Java oder Ruby. Weitere Aufgaben muss
das Betriebssystem nicht erledigen.
Die Entwickler sind jedoch noch einen
Schritt weitergegangen. Sie haben OSv
von Grund auf neu geschrieben, wobei
die Wahl, anders als beim traditionellen Linux, auf C++ als Programmiersprache fiel. Verschiedene andere OpenSource-Projekte standen dabei Pate fr
den Programmcode des Cloudbetriebssystems, zu nennen sind hier Free BSD
[16], Open Solaris [17], Prex [18] und
Musl [19]. Fr diese Bestandteile gelten
die jeweiligen Lizenzen des UrsprungQuelltextes, der Rest von OSv steht unter
der 3-Clause-BSD-Lizenz.

71

02/2015

Sysadmin
Cloud-Systeme
www.linux-magazin.de

72

muss dazu ebenfalls


im Objektcode vorliegen. Den Start unter
OSv leitet der Admin
dann ungefhr so ein:
/tools/java.so -jar
app.jar.
Fr einige Anwendungen gibt es brigens
vorgefertigte OSv-Instanzen. Dazu zhlen
Tomcat [30], Redis
Abbildung 1: Die Hello World-Variante fr OSv. Die auszufhrende Anwen[31],
Memcached
dung liegt als .so-Datei vor.
[32] und Cassandra [33]. Auf JavaBibliotheken seines Systems, Abbildung 1
Freunde warten Instanzen mit den Openzeigt eine Variante des berhmten Hello JDK-Versionen 7 und 8. Wer tiefer in die
World-Beispiels fr OSv [29].
Materie einsteigen mchte, sei auf die
Die Anwendung legt der Admin nun in Wiki-Seite [34] des Projekts verwiesen.
einem OSv-Image ab. Hier fhrt die Dokumentation allerdings etwas in die Irre,
denn in vielen Fllen gibt sie das Wurzelverzeichnis als Standardablage an. In den
Wie erwhnt ist capstan [35] das Veraktuellen Versionen von OSv ist es aber
waltungswerkzeug fr OSv und steht
das Verzeichnis /tools. Anschlieend gleichfalls unter der 3-Clause-BSD-Lizenz. Es ist dem aufmerksamen Leser
konfiguriert er das Image noch so, dass
womglich schon in Abbildung 1 aufdie Anwendung es beim Start ausfhrt
gefallen. Bereits die ersten Gehversuche
fertig. Das Resultat ist eine OSv-Instanz
zeigen eine gewisse Verwandtschaft mit
(Image plus Anwendung).
dem Docker-Werkzeug docker [36],
In der Praxis fllt es einem Admin jedoch
gar nicht so leicht, die beschriebenen
die beabsichtigt ist.
Schritte umzusetzen. Mchte er die An- Ein Teil des Erfolgs von docker besteht
wendung ablegen, scheitert er womg- darin, dass es Container und davon ablich bereits am fehlenden Support fr die geleitete Instanzen komfortabel dirigiert.
richtige ZFS-Version. Alternative Anstze Analoges wollen die Entwickler mit capwie scp ndern das grundlegende Bild stan fr OSv erreichen. Die Installation
nicht, zudem widerspricht dies dem Anist denkbar einfach und legt ein kleines
spruch auf ein einfach zu benutzendes
Binary im $HOME/bin-Verzeichnis des
Anwenders ab. Die wichtigsten KommanWolken-Betriebssystem. Hier springt das
Werkzeug capstan in die Bresche
dos listet Tabelle 1 auf.
dazu gleich mehr.
Doch noch immer braucht der Admin
zumindest drei Schritte, um eine OSv-InFr Java-Anwendungen geht der Admin
analog vor, die Java Virtual Machine stanz mit der gewnschten Anwendung

Docker-Style

anzulegen. Er ldt das Basis-Image herunter (pull), integriert die Applikation


(build) und startet die eigentliche Instanz (run).

Capstan-Style
Zum Glck gibt es einen deutlich einfacheren Weg. Das Werkzeug capstan
lsst sich bequem ber die Datei Capstanfile steuern, Listing 2 zeigt den Inhalt und die Ausfhrung fr das weiter
oben gezeigte Hello World-Beispiel. Als
Repository fr die verschiedenen Images dient einfach die Github-Seite des
Projekts [37]. Das Kommando capstan
pull Name sucht nach den entsprechenden Daten unter http://github.com/
Name. Ein OSv-Image mit Shellzugriff
ldt der OSv-User mittels capstan pull
cloudius/osv herunter. Als lokales
Repository dient $HOME/.capstan/, die
Images liegen dort im Unterverzeichnis
repository. Fertige OSv-Instanzen findet der Admin unter $HOME/.capstan/
instances/.
Die in Yaml [38] geschriebenen Datei
bentigt lediglich drei Eintrge. Welches
OSv-Image als Basis dient, legt der Parameter base fest. Die zu kopierenden
Dateien beschreibt files. ber cmdline bestimmt der Admin, welche Anwendung beim Booten der OSv-Instanz
startet. Im Beispiel von Listing 2 legt er
einfach Capstanfile und hello.so in
einem Verzeichnis ab und ruft capstan
run auf.
In dem einfachen Beispiel braucht der
Download des 30-MByte-Image die
meiste Zeit beim Instanzieren. Ein Beispiel dafr, wie der Cloudbetreiber einen
simplen Webserver aufsetzt, liefert [39].
Es zeigt, wie er die Webapplikation mit

Saftiges Linux
Ein aktuelles Linux bringt eine Unmenge Software und Funktionen, um sich fr alle Einsatzgebiete und Mglichkeiten zu wappnen. Was
frher auf ein paar Disketten passte, fordert
heute Plattenplatz in GByte-Gre ein. So gesehen taugt der Krsus unter den Open-SourceBetriebssystemen eher nicht als idealer Kandidat fr die Traumhochzeit.
Zum Glck lsst sich Linux auf den Anwendungszweck zuschneiden. Hier kommt Jeos (Just
enough operating system ausgesprochen
wie Juice) ins Spiel. Das deutlich abgespeckte

Betriebssystem bringt nur das Allernotwendigste mit, wozu der Betriebssystemkern und
die wichtigsten Systembibliotheken gehren.
Meist kennt es auch ein Software-Repository,
damit der Admin im Betrieb weitere Anpassungen vornehmen kann. Eine geringere Sicherheit
auf Jeos-Ebene nimmt das Projekt in Kauf, den
Verlust sollen der Hypervisor beziehungsweise
die Cloudplattform ausgleichen.
Zu den Jeos-Distributionen und -Bauksten
zhlen Suse Studio [40], Ubuntu Core [41],
Fedora Cloud [42] und Oracle Jeos [43].

Nicht selten bewerben die Linux-Distributoren


ihre abgespeckten Systeme mit einer erhhten
Sicherheit. Das wirft die Frage auf, warum sie
nicht auch die normalen Varianten abspecken.
Hierbei punktet das Turnkey-Linux-Projekt
[44]. Es bietet vorgefertigte Installationen
zum Austesten von speziellen Applikationen
an, einer der typischen Anwendungsflle fr
die Wolke. Zum anderen dient als Basis der
ber 100 Software-Appliances ein abgespecktes
Debian, das allerdings auf den Namen Turnkey
Core hrt [45].

02/2015

Sysadmin
Cloud-Systeme
www.linux-magazin.de

Abbildung 2: Das OSv-Instanz-Dashboard erlaubt dem Admin per Browser einen tiefen Einblick in die Systemaktivitten von OSv.

Hilfe der Datei Capstanfile kompiliert,


in den Tests des Linux-Magazins funktionierte dieser Weg allerdings nicht. Grob
vereinfach generiert der Administrator
die OSv-Instanz also in drei Schritten: Er
schreibt die Applikation einschlielich
des Makefile, er legt die Datei Capstanfile an und er ruft abschlieend
capstan run auf.

Das Beste zum Schluss


Zum Abschluss seien noch zwei Schmankerln genannt. Erstens kann der Anwender ber das via HTTP-Port 8000 zugngliche Dashboard [46] ntzliche Statistiken ber die OSv-Instanz abrufen.
Dort findet er Informationen ber CPU-,

Speicher- und Festplattenauslastung (Abbildung 2). Auf Wunsch liest er die Daten zu einzelnen Threads aus oder nutzt
einen RESTful-Zugriff auf OSv-Interna.
Daneben setzt er auch Kommandos wie
reboot oder dmesg ab.
Das zweite Schmankerl ist die eingebaute
Kommandozeilen-Schnittstelle [47]. Gestandene Linux-Admins atmen hier blicherweise auf, da einige der vertrauten
Befehle auftauchen (Listing 3).
Das muss man OSv lassen: Es ist schnell
und schlank und auf den Gastbetrieb in
der Wolke zugeschnitten. Die Verwaltung
mit capstan ist denkbar einfach. Als
grte Herausforderung wartet die Integration der eigenen Cloudanwendung
auf den Admin. Doch die weiter oben

erwhnten vorgefertigten Images erleichtern den Einstieg erheblich.

 Klein, aber fein Cirros


Neben OSv ist Cirros [7] nahezu unscheinbar. Das drei Jahre alte Projekt,
dessen erste ffentliche Version 0.3.0
im Oktober 2011 erschien, liegt inzwischen in Version 0.3.3 vor. Der Quelltext
steht unter der GPLv2. Das kleine CloudListing 2: Capstanfile
01 $ cat Capstanfile
02 base: cloudius/osv-base
03
04 files:
05

/tools/hello.so: hello.so

06

Tabelle 1: Wichtige capstan-Kommandos

07 cmdline: /tools/hello.so
08

Kommando

Beschreibung

pull

Ldt ein OSv-Image vom Github-Repository

10 Building capstan-example...

rmi

Lscht ein OSv-Image im lokalen Repository

11 Uploading files...

run

Startet eine OSv-Instanz

12 1 / 1 [===...===] 100.00 % Created instance:

build

Generiert ein OSv-Image

images

Listet die lokalen OSv-Images auf

14 eth0: 192.168.122.15

search

Sucht nach OSv-Images im Github-Repository

15 Hallo Linux-Magazin!

instances

Listet lokale OSv-Instanzen auf

17 real

0m4.116s

stop

Stoppt eine OSv-Instanz

18 user

0m1.536s

delete

Lscht eine OSv-Instanz

19 sys

0m0.741s

09 $ time ~/bin/capstan run

capstan-example
13 OSv v0.16

16

73

02/2015

Sysadmin
74

www.linux-magazin.de

Cloud-Systeme

betriebssystem setzt sich aus zwei Bausteinen zusammen: einem Ubuntu-Kernel


und Buildroot [48].
Letzteres ist eigentlich dafr vorgesehen,
ein Linux-System fr den EmbeddedBereich zu erzeugen, in dem Platz fr
ein Luxus ist und ein mglichst schlankes Betriebssystem eine extrem wichtige
Rolle spielt. Diese Anforderung trifft aber
auch auf Cloudsysteme zu, die den Betriebssystem-Anteil mglichst klein halten mchten.
Der Einsatz eines Ubuntu-Kernels verwundert nicht, wenn man wei, dass
Scott Moser hinter Cirros steckt, der
hauptberuflich bei Canonical als technischer Leiter im Serverbereich arbeitet
[49]. Aktuell gibt es Images fr 32- und
64-Bit-Systeme der Intel/AMD-Welt. ARM
wird ebenfalls untersttzt, aber noch
nicht mit einer 64-Bit-Version.
Cirros ist etwas anders ausgerichtet als
OSv. Die Entwickler verstehen ihr Cloudbetriebssystem primr als Werkzeug fr
Tests oder wollen damit Probleme untersuchen. Open Stack [50] beispielsweise
nennt Cirros in seiner Dokumentation
offiziell als Test-Image [51], hnliches
gilt fr Eukalyptus [52].

Vorhang auf
Ein aktuelles Festplattenabbild mit vorinstalliertem Cirros braucht weniger als
15 MByte Speicherplatz. Die meiste Zeit
Listing 3: OSv-CLI-Kommandos
01 /# help
02 COMMAND DESCRIPTION
03 api

execute arbitrary OSv API operations as


defined by the schema

04 cat

concatenate files and print on the standard


output

05 cd

change the shell working directory

06 date

print the system date and time

07 df

report file system disk space usage

08 dmesg

print operating system boot log

09 echo

display a line of text

10 exit
11 free

verbringt der Bootprozess mit dem Initialisieren des Kernels. Zur Erinnerung: Dieser stammt unmodifiziert von Ubuntu,
aktuell von Version 12.04, demnchst
wohl von der 14.04. Das Cloudbetriebssystem ist letztlich ein verschlanktes
Linux und verhlt sich damit analog zu
seinen groen Brdern und Schwestern.
Qemu kann es einfach lokal starten (Abbildung 3) und testen.
Das Cloud-OS ist mit einer Reihe von
Helferlein ausgestattet, die allesamt mit
cirros- beginnen, Tabelle 2 listet sie
mit je einer kurzen Erklrung auf. Alle
Kommandos sind Shellskripte und erlauben so prinzipiell einen einfachen Blick
hinter die Kulissen. Allerdings sind sie
nicht sonderlich gut dokumentiert weder im Code selbst noch auf der Webseite
des Projekts.
Als Initsystem dienen erst das traditionelle Sys-V-Init, zum Schluss Cirros-spe-

zifische Skripte. Die sind so angelegt,


dass sie mit dem Cloud-Init-Gerst [53]
funktionieren. Die zugehrigen Konfigurationsdateien befinden sich unter /etc/
cirros-init/. Im Lieferumfang enthalten
sind Vorlagen fr Amazons EC2, ein so
genanntes Konfigurationslaufwerk (config-drive) oder eine lokale Startmglichkeit also ohne Cloud [54].
Was auf den ersten Blick wie unntiger
Aufwand aussieht, ist tatschlich recht
ntzlich. So testet der Anwender den
kompletten Ablauf, prft, wie er eine
Cloudinstanz anlegt und hochfhrt, und
betrachtet die Postinstall-Skripte.
Wie schon angedeutet, es warten unter
der Motorhaube von Cirros keine berraschungen. Zur Datenablage dient das fast
schon altehrwrdige Ext 3. Dass Cirros
Busybox [55] fr die meisten ausfhrbaren Programme und Dropbear [56]
als SSH-Daemon verwendet, ist eigent-

Tabelle 2: cirros-Kommandos

close shell and exit

Kommando

Beschreibung

display amount of free and used memory in

cirros-apply

Ruft eine Phase der Datenquelle auf

system
12 hello

Abbildung 3: Cirros ist eine kleines Linux, der Bootvorgang enthlt keine berraschungen.

cirros-ds

Sucht nach Cloud-Init-Datenquelle


Fragt nach Daten der Cloud-Init-Datenquelle
Arbeitet die Userdata-Datei ab

a command example

13 help

list console available commands and show help

cirros-query

14 ls

list directory contents

cirros-userdata

15 mkdir

make directories

cirros-dhcpc

Wrapper fr DHCP-Client (udhcpc)

16 reboot

reboot an OSv instance

Aufruf eines Kommandos mit gewnschter Hufigkeit


Ausgabe wichtiger Statusinfos ber Cirros

17 rm

remove files or directories

cirros-per

18 top

display OSv threads

cirros-status

02/2015

Glaubt man den Angaben der Entwickler, reichen die Anfnge von Mirage OS
bis ins Jahr 2009 zurck. An die breite
ffentlichkeit trat das Projekt aber erst
mit Version 1.0, die im Dezember 2013 erschien. Analog zu OSv geht dieses Cloudbetriebssystem einen ganz neuen Weg.
Tatschlich versteht sich Mirage OS gar

port gibt es keine Plne, allenfalls Ideen


[61]. Mirage OS steht unter ISC-Lizenz,
organisatorisch ist das Cloud-OS als eines
der Inkubator-Projekte im Xen-Projekt gelistet. Natrlich zhlte x86 zu den untersttzten Plattformen der ersten Stunde,
seit Version 2.0 vom Juli 2014 kommt
auch ARM zum Zug [62].

Kamele als Kernthema


Wer Mirage OS als System der Wahl fr
die Cloud betrachtet, muss sich mit der
Programmiersprache Ocaml [63] befassen. Weil der Kernel viele Aufgaben eines
traditionellen Kerns nicht wahrnimmt,
sind C oder C++ als Programmiersprachen nicht unbedingt die erste Wahl.

Listing 4: Opam in Aktion


01 $ mirage configure --unix

13 === 2 to install ===

02 Mirage

Using scanned config file: config.ml

14 =-=- Synchronizing package archives -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

03 Mirage

Processing: /home/user/mirage-skeleton/console/config.ml

04 Mirage

=> rm -rf /home/user/mirage-skeleton/console/_build/

-=-=-=-=-=
15 =-=- Installing packages =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

config.*
05 Mirage

-=-=-=-=-=
=> cd /home/user/mirage-skeleton/console && ocamlbuild

-use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs


06 console

16 Building mirage-unix.2.0.1:
17

make unix-build

18

make unix-install PREFIX=/home/user/.opam/4.01.0

Using configuration: /home/user/mirage-skeleton/console/

config.ml
07 console

1 job [Unikernel.Main]

08 console

Installing OPAM packages.

09 console

=> opam install --yes mirage-console mirage-unix

19 Installing mirage-unix.2.0.1.
20 Building mirage-console.2.0.0:
21

make

10 The following actions will be performed:

22

make install

11

- install

mirage-unix.2.0.1

23 Installing mirage-console.2.0.0.

12

- install

mirage-console.2.0.0

24 console

Generating: main.ml

Cloud-Systeme

Sysadmin

 Der Fremde Mirage OS

nicht als Betriebssystem, sondern eher


als eine Art Bibliothek [59]. Nicht zufllig fllt auch das Wort Lib OS (Library
Operating System) eine Idee aus den
90er Jahren [60].
Die Grundidee ist noch radikaler als die
von OSv. Die Anwendung fungiert zugleich als der zu bootende Betriebssystemkern, quasi der komplette virtuelle
Server. Viele Aufgaben eines traditionellen Kernels fallen weg oder sind deutlich
reduziert, etwa die Verwaltung des Netzwerks oder des Hauptspeichers.
Mirage OS delegiert mglichst viele Aufgaben an die darunterliegende Schicht.
Im Normalfall ist dies ein Hypervisor,
aktuell nur Xen, es darf aber auch ein
traditionelles Linux sein. Fr KVM-Sup-

www.linux-magazin.de

lich eine Konsequenz aus dem BuildrootUnterbau. Der gestandene Linux-Admin


sollte sich hier leicht zurechtfinden, es
ist eben nur ein Linux. Die Entwickler
berlegen allerdings, einen neuen Untersatz einzusetzen, im Gesprch sind
Tiny-Core-Linux [57] und Yocto [58].

75

02/2015

Sysadmin

rierte Maschinencode den Ruf, schnell


und effizient zu sein. Fr hartgesottene
C-Programmierer ist Ocaml hingegen
schon eine groe Hrde beim Einstieg
in Mirage OS.
Ein wichtiges Werkzeug ist der zugehrige Paketmanager Opam [65]. Er ermglicht es, die notwendigen Bibliotheken beim Generieren des Unikernels zu
installieren (Listing 4). Sind Ocaml und

Infos
[1] Chromium OS: [http://www.chromium.
org/chromium-os/]
[2] Joli OS:
[http://www.jolicloud.com/jolios/]
[3] Smart OS: [http://smartos.org]
[4] Zero VM: [http://www.zerovm.org]
[5] OSv: [http://osv.io]
[6] Mirage OS: [http://www.openmirage.org]
[7] Cirros: [http://launchpad.net/cirros/]
[8] Core OS: [http://coreos.com]
[9] Martin Loschwitz, Kerniges Frchtchen:
Linux-Magazin 10/14, S. 100
[10] Jeos: [http://en.wikipedia.org/wiki/
Just_enough_operating_system]
[11] Cloudius Systems:
[http://www.cloudius-systems.com]
[12] KVM: [http://www.linux-kvm.org]
[13] Xen: [http://www.xenproject.org]
[14] VMware: [http://www.vmware.com]
[15] Virtualbox: [http://www.virtualbox.org]
[16] Free BSD: [http://www.freebsd.org]
[17] Open Solaris: [http://de.wikipedia.org/
wiki/OpenSolaris]

[18] Prex: [http://prex.sourceforge.net]


[19] Musl: [http://www.musl-libc.org]
[20] Mehr zu Spinlocks:
[http://en.wikipedia.org/wiki/Spinlock]
[21] Mutual Exclusion: [http://en.wikipedia.
org/wiki/Mutual_exclusion]
[22] Van Jacobson:
[http://lwn.net/Articles/169961/]
[23] ZFS: [http://wiki.freebsd.org/ZFS]
[24] Linux-ABI-Kompatibilitt:
[http://github.com/cloudius-systems/osv/
wiki/OSv-Linux-ABI-Compatibility]
[25] ELF: [http://de.wikipedia.org/wiki/
Executable_and_Linking_Format]
[26] Joli OS eingestellt: [http://www.
omgubuntu.co.uk/2013/11/jolicloud-desktop-to-be-discontinued-december-2013]
[27] Dtrace: [http://dtrace.org]
[28] Native Client: [https://developer.chrome.
com/native-client]
[29] Capstan-Beispiel: [http://github.com/
cloudius-systems/capstan-example]
[30] Tomcat: [http://tomcat.apache.org]

[31] Redis: [http://redis.io]


[32] Memcached: [http://memcached.org]
[33] Cassandra: [http://cassandra.apache.org]
[34] Java und OSv: [http://github.com/
cloudius-systems/osv/wiki/
Running-compiled-code-on-OSv]
[35] Capstan: [http://osv.io/capstan/]
[36] Docker: [http://www.docker.com]
[37] Capstan auf Github: [https://github.com/
cloudius-systems/capstan]
[38] Yaml: [http://www.yaml.org]
[39] Webserver auf OSv: [http://github.com/
dmarti/http-server]
[40] Suse Studio: [http://www.suse.com/
products/susestudio/features/jeos.html]
[41] Ubuntu Core: [http://blog.dustinkirkland.
com/2014/08/re-introducing-jeos-justenough-os-aka.html]
[42] Fedora Cloud: [https://getfedora.org/
de_CH/cloud/download/]
[43] Oracle Jeos: [http://www.oracle.com/
technetwork/server-storage/vm/
downloads/vm-jeos-083859.html]

76

www.linux-magazin.de

Cloud-Systeme

Fr die als singulre Applikation funktionierenden Kerne auch Unikernel genannt gibt es eine Tendenz, Programmiersprachen zu verwenden, die nicht so
nah an der Hardware sind. Das bringt einige Vorteile. Im Falle von Ocaml nennen
Entwickler die automatische Speicherverwaltung, die Typenprfung whrend
des Kompilierens und den modularen
Aufbau [64]. Zudem geniet der gene-

Opam auf dem lokalen Entwicklungssystem installiert, kann es direkt losgehen.


Anderenfalls sei auf die Installationsanleitung [66] verwiesen. Natrlich fehlt
auch das obligatorische Hello WorldBeispiel [67] nicht. Es ist auch deshalb
lehrreich, weil es nochmals wesentliche
Aspekte von Mirage OS erklrt.
Zunchst erlutert die Anleitung, wie
die Anwendung eine Konsole fr Ausgaben nutzt. Da die Anwendung zugleich
der Kernel ist, muss sie auch Gerte fr
den Eigenbedarf verwalten. Folgerichtig
beschftigt sich die zweite Lektion mit
dem Zugriff auf einfache Datentrger.
Im Cloudumfeld sind das die bekannten Blockgerte. Die Kr ist dann der
Netzwerkstack inklusive eines einfachen
Webservers (Abbildung 4).
Mirage OS erlaubt es dem Anwender,
das Binary seiner Anwendung in zwei
verschiedenen Formaten zu generieren.
Mit mirage configure --unix ist das
Kompilat eine Datei, die er einfach in
einer traditionellen Linux-Umgebung als
normalen Prozess ausfhrt (Listing 5).
Analog leitet mirage configure --xen
in die Wege, dass die Anwendung sich
als Xen-Kernel booten lsst. Im zweiten
Fall findet der Benutzer eine Konfigurationsdatei, die sich mit den bekannten

Abbildung 4: Ein einfacher Webserver als Unikernel bei Mirage OS.

02/2015

Sysadmin
www.linux-magazin.de

Cloud-Systeme

xl-Kommandos weiterverarbeiten lsst,


die zum Kommandozeilen-Toolstack gehren, der auf der Libxenlight basiert.
Auch wer Libvirt [68] einsetzt, steht
nicht im Regen. Die entsprechende Datei
im XML-Format erzeugt die Mirage-OSMaschinerie ebenfalls.
Die Beispiele der Projektseite sind schick
und funktionieren gut. Eine existierende
Anwendung auf Mirage OS zu bringen,
erfordert auf jeden Fall eine neue Implementierung. Neben dem Kodieren der
Applikation muss der Entwickler sich
auch um den Zugriff auf Blockgerte und
das Netzwerk kmmern. Dies kombiniert mit einer eventuell neuen Programmiersprache ist kein geringer Preis.

Neue Wege

Abbildung 5: Fedoras Atomic Cloud Image lsst sich unter anderem in Amazons EC2 einsetzen.

Kurz vor Redaktionsschluss erschienen


zwei Versionen einer neuen Art von
Cloudbetriebssystemen, die ContainerTechnologien wie Docker [36] untersttzen wollen. Das eingesetzte Betriebssystem dient nicht mehr direkt als Fundament fr Anwendungen, sondern hostet
vielmehr eine Docker-Instanz.
Es lassen sich gewisse Parallelen zu OSv
oder Mirage OS erkennen. Die DockerSchicht entspricht dabei ungefhr dem

neuen schlanken Kernel beziehungsweise


dem Lib OS oder auch Unikernel. Der
Containerinhalt wre dann die Komponente, die schnell starten und mglichst
schlank sein soll.

Wer mit Container-Technologie arbeitet,


hat wahrscheinlich von Fedoras Projekt
Atomic [69] gehrt oder gelesen. Das

mchte Docker und das ganze Drumherum auf den Einsatz im harten Produktionsalltag vorbereiten. Ein Aspekt ist dabei das Setup des Hosts, bei dem es sich
um eine abgespeckte Version von Fedora,
Centos oder RHEL mit Optimierungen fr
Docker handelt.
Mit Version 21 fhrte das Fedora-Projekt
Produkttypen fr die Distribution ein,
wie man sie von Red Hat Enterprise
Linux kennt (siehe Fedora-Artikel in

[44] Turnkey-Linux:
[http://www.turnkeylinux.org]
[45] Turnkey-Core:
[http://www.turnkeylinux.org/core]
[46] OSv-Dashboard:
[http://github.com/cloudius-systems/osv/
wiki/OSv-Dashboard]
[47] Kommandozeile fr OSv:
[http://github.com/cloudius-systems/osv/
wiki/Command-Line-Interface-(CLI)]
[48] Buildroot: [http://buildroot.uclibc.org]
[49] Scott Moser: [http://launchpad.net/
~smoser/+related-projects]
[50] Open Stack: [http://www.openstack.org]
[51] Cirros als Open-Stack-Testimage:
[http://docs.openstack.org/image-guide/
content/ch_obtaining_images.html]
[52] Cirros fr Eucalyptus:
[http://www.eucalyptus.com/blog/2014/
02/02/cirros-perfect-machine-imageeucalyptus-cloud-debugging]
[53] Cloud-Init:
[http://launchpad.net/cloud-init]

[54] Cirros starten:


[http://cloudinit.readthedocs.org/en/
latest/topics/datasources.html]
[55] Busybox: [http://www.busybox.net]
[56] Dropbear: [http://matt.ucc.asn.au/
dropbear/dropbear.html]
[57] Tiny-Core-Linux:
[http://wiki.tinycorelinux.net]
[58] Yocto-Projekt:
[http://www.yoctoproject.org]
[59] Mirage-Hintergrund:
[http://www.openmirage.org/wiki/
technical-background]
[60] Lib-OS-Konzept: Engler, D. R., Kaashoek,
M. F., OToole, Jr., J. 1995, Exokernel:
An operating system architecture for
application-level resource management:
Proceedings of 15th ACM Symposium on
Operating Systems Principles (SOSP),
251-266
[61] KVM-Status: [http://lists.xenproject.org/
archives/html/mirageos-devel/2014-08/
msg00102.html]

[62] ARM-Support von Mirage OS: [http://


lists.xenproject.org/archives/html/
mirageos-devel/2014-07/msg00178.html]
[63] Ocaml: [http://ocaml.org]
[64] Vorteile von Ocaml: [http://de.wikipedia.
org/wiki/Objective_CAML]
[65] Opam: [http://opam.ocaml.org]
[66] Installation von Mirage OS:
[http://openmirage.org/wiki/install]
[67] Hello World-Programm: [http://www.
openmirage.org/wiki/hello-world]
[68] Libvirt: [http://libvirt.org]
[69] Project Atomic: [http://projectatomic.io]
[70] OS-Tree-Projekt: [https://wiki.gnome.org/
action/show/Projects/OSTree?
action=show&redirect=OSTree]
[71] Snappy: [http://www.ubuntu.com/cloud/
tools/snappy]
[72] Click: [https://launchpad.net/click]
[73] Machine: [http://blog.docker.com
/2014/12/announcing-docker-machineswarm-and-compose-for-orchestratingdistributed-apps/]

 Atomic und Snappy

77

02/2015

Sysadmin
Cloud-Systeme
www.linux-magazin.de

78

Abbildung 6: Das Anfang Dezember 2014 verffentlichte Snappy Ubuntu Core liegt bislang nur in einer Betaversion vor. Die luft allerdings bereits in Microsofts Cloudumgebung Azure.

diesem Magazin). Eine der Produktvarianten heit Cloud [42]. In ihr findet
der Admin neben einem verschlankten
Standard-Fedora auch eine Atomic-Implementierung. Die setzt auf atomare Updates und benutzt dazu Mechanismen
aus Gnomes OS-Tree-Projekt [70].
Beide Images laufen direkt bei AWS
(Abbildung 5). Auf der Webseite gibt es
sogar einen Mechanismus, den AtomicHost direkt in EC2 zu instanzieren, ohne
Einsatz der AWS-Console.
Der zweite Mitspieler in dieser CloudOS-Kategorie ist Canonical mit Snappy
Ubuntu Core [71]. Die jngst verffentlichte Betaversion verwendet nicht mehr
Debians Paketsystem fr Updates, sondern setzt das so genannte Snappy-System ein, das auf dem Paketsystem Click
[72] aufbaut, Yaml-Syntax und App-Armor verwendet und Software-Updates als
Diffs ausliefert.
Generell haben die Entwickler krftig
am Betriebssystem herumgeschraubt.
Der Anwender findet nun drei Schichten
vor. Ganz unten werkelt noch immer das
altbekannte Linux, allerdings in einer auf
das Allernotwendigste abgespeckten Variante. Was eine bestimmte Anwendung
als Unterbau bentigt, das ist in so genannten Frameworks zusammengefasst,

welche die mittlere Schicht ausmachen.


Die Anwendung selbst kommt dann oben
drauf. Der Admin verwaltet jede der drei
Schichten separat.
Das erste verfgbare Framework fr
Ubuntu Core ist Docker, fr das sich
Snappy laut Erluterungen der Projektwebseite insbesondere eigne. Zum gegenwrtigen Zeitpunkt lsst sich Snappy
Ubuntu Core auch einfach in Microsofts
Azure starten (Abbildung 6).
Nicht zuletzt gibt es Parallelaktivitten
des Docker-Projekts selber. Der CTO Solomon Hykes prsentierte im Rahmen der
Dockercon Europe 2014 in Amsterdam
Machine [73]. Dieses frisch geschlpfte
Projekt erstellt einen Host, der lokal aber
auch in der Cloud laufen kann. Microsoft
Azure und Digital Ocean zhlen zu den
untersttzten Anbietern.

Krnender Abschluss
Die drei zuerst vorgestellten Kandidaten
vertreten unterschiedliche Anstze, um
Anwendungen flink und schnell in der
Cloud zu betreiben. Mirage OS bricht
mit den meisten Traditionen. Die Anwendung ist der Betriebssystemkern und die
Entwicklung erfolgt in Ocaml. Bei OSv
luft alles im Kernelspace, hier findet

der Admin aber eine Umgebung im ELFFormat vor.


Beide Systeme sehen nur eine Anwendung pro virtueller Instanz vor. Sie verfolgen in verschiedenen Bereichen neue
Konzepte, um die Performance zu verbessern und das traditionelle Betriebssystem auf das Ntigste zu reduzieren.
Der Aufwand, um eine Cloudanwendung
neu zu entwickeln, ist bei Mirage OS aber
deutlich hher als bei OSv.
Cirros versucht hingegen, eine Brcke
zwischen der alten und der neuen Welt
zu schlagen. Es ist ein klassisches Linux,
wenn auch ein minimalistisches, was es
dem Admin in vielen Dingen einfacher
macht. Als Mini-Linux lsst es die groen
Brder und Schwestern in Sachen Bootzeit und Betriebssystem-Overhead locker
hinter sich.
Alle drei vorgestellten Systeme haben
ihre Vor- und Nachteile. Am revolutionrsten drfte Mirage OS sein. Die fehlende Untersttzung fr KVM ist jedoch
ein schweres Erbe. OSv scheint ein guter
Mittelweg zwischen Heute und Morgen
zu sein. Erlaubte es das Ausfhren normaler Linux-Binaries, knnte das fr zustzlichen Aufwind sorgen. Cirros spielt
seine Strken bei eher traditionellen Anwendungen aus.
Fr die Zukunft knnte sich der noch
junge Docker-Ansatz als recht interessant erweisen. Eigentlich zhlen aber das
darunterliegende Linux und Docker eher
zur Infrastruktur, analog zum Hypervisor.
Das schnelle Aufsetzen von Anwendungen beginnt erst mit dem Initiieren der
Container-Instanzen.
Der Ansatz hilft dem Container-Projekt
aber, indem er es vereinfacht, Hosts anzulegen, was den Start optimiert. Der
Admin muss sich jedoch Gedanken darber machen, wie er die einzelnen Komponenten von Atomic-Cloud oder Ubuntu
Core zuordnet. (kki)
Q

Listing 5: Unikernel bauen


01 $ mirage configure --unix
02 [...]
03 $ make depend
04 [...]
01 $ make
02 ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax,

-cflag -g -lflags -g,-linkpkg main.native


03 [...]
04 $ ln -nfs _build/main.native mir-console
05 $ file _build/main.native
06 _build/main.native: ELF 64-bit LSB executable, x86-64, version 1

mirage-console.unix,mirage-types.lwt -tags "syntax(camlp4o),annot,bin_

(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32,

annot,strict_sequence,principal"

BuildID[sha1]=734e3fc7a56cd83bc5ac13d124e4a994ce39084f, not stripped

02/2015

Sysadmin

Fast beliebig skalierbarer Mailspeicher mit Dovecot und Amazons S3

Indem Admins Dovecot mit einem Objektspeicher nach S3-Standard an den Start bringen, umgehen sie die
typischen Skalierbarkeitsprobleme bei Mailservern. Mit einem allerdings kommerziellen Dovecot-Plugin von
den Entwicklern des Mailservers selbst gelingt das ohne groe Probleme. Martin Loschwitz

Nongnuch Leelaphasuk, 123RF

80

www.linux-magazin.de

Dovecot und S3

Platz? Da!

Admins von Mailservern sind ein leidgeprftes Volk. Einerseits produzieren


wenige andere Dienste so viele Missbrauchsbeschwerden, wie es der MailBetrieb blicherweise tut falsche Blacklistings sind ein Beispiel. Andererseits
merkt man der E-Mail mittlerweile auch
an, dass sie ein Produkt aus einer anderen Zeit ist, das mit der schnelllebigen IT
der Gegenwart seine Schwierigkeiten hat.
Die Anforderungen, die Nutzer an den
Empfang und den Versand von E-Mails
stellen, sind in den letzten Jahren stetig
gewachsen.
War es zum Beispiel vor einigen Jahren durchaus noch blich, Anhnge fr
E-Mails nur bis zu einer bestimmten, sehr
niedrigen Gre zuzulassen, ist genau
das heute verpnt: Nutzer erwarten, dass
sie ihre 20-MByte-Prsentation fr Powerpoint per E-Mail verschicken knnen und
diese beim Gegenber auch ankommt.
Obendrein wchst die Zahl der E-MailNutzer noch immer kontinuierlich und

die Menge an Daten, die alle Nutzer eines


Anbieters zusammen speichern, wchst
proportional zur Nutzeranzahl.
Das ist zwar nicht E-Mail-spezifisch,
denn auch andere Internetdienste erleben den Effekt des stetigen Wachstums
der zu bewltigenden Datenmengen. Bei
E-Mail-Setups ist es aber vergleichsweise
komplex, dieses Problem zu umgehen.
Das liegt vorrangig an der Architektur,
die dem Prinzip E-Mail innewohnt.

Architektonisches
Normale Setups folgen meist dem immer
gleichen Schema: Auf der einen Seite sorgen SMTP-Daemons dafr, dass Kunden
Mails versenden knnen und eingehende
Nachrichten bei den Empfngern landen.
Den greren Teil der Arbeit erledigen auf
der anderen Seite allerdings die Dienste,
die den Kunden ihre E-Mails ausliefern.
Zwar gibt es noch immer Provider, die
nur auf POP3 setzen oder IMAP nur ge-

gen Bezahlung anbieten. Im Groen und


Ganzen hat sich das IMAP-Protokoll allerdings durchgesetzt.
Fr die Betreiber von E-Mail-Diensten bedeutet das zustzliche Sorgen: Der Kunde
erwartet nmlich vllig zu Recht, seine
E-Mails jederzeit vorzufinden auf den
Servern des Anbieters. Meist laden diese
Kunden erst gar keine lokalen Kopien
der Mails mehr herunter und verlassen
sich auf ihren Anbieter. Der muss dann
zusehen, wie er mit der Last und dem
Speicherplatzbedarf eines solchen Setups
umgeht. Selbst wenn jeder Anwender nur
eine kleine Mailbox hat, ist der Bedarf an
Speicherplatz bereits beachtlich, wenn
viele Nutzer da sind.
Frher oder spter werden Admins also
in die Situation geraten, ihre Infrastruktur
an gestiegene Nutzerzahlen anzupassen,
also auszuskalieren. Load-Probleme bei
den Diensten lassen sich erfahrungsgem ber multiple MX-Eintrge (auf
der SMTP-Seite) und IMAP- oder POP3Daemons per Load Balancer verhltnismig einfach in den Griff kriegen. Das
Storage-Problem ist kniffliger.

Das Storage-Problem
Wenn E-Mail-Admins ihre Server mit
Speicherplatz ausstatten wollten, taten
sie das bis jetzt hauptschlich ber zentrale Storage-Systeme. SAN-Modelle der
groen Hersteller stellten die klassischen
Kandidaten. Doch sind die Dinger teuer
und skalieren hchstens in die Hhe. Zur
Erinnerung: Skalierbarkeit in die Hhe
meint, vorhandene Hardware mit mehr
Power auszustatten. Dem gegenber
steht das Skalieren in die Breite, bei dem
vorhandenen Maschinen einfach noch
mehr Maschinen zur Seite gestellt wer-

02/2015

Abbildung 1: Nur gegen Bares gibt es bei Dovecot die Lizenz fr das S3-Plugin. Die Kosten lassen sich aber
meist durch gnstige Hardware abfedern.

den. Die Last verteilt sich dann auf die


Gerte, die zur Installation gehren.

Sharding
Klassische Speichersysteme sind mglicherweise durch den Einbau von neuen
Festplatten zu erweitern, doch irgendwann ist das Ende der Fahnenstange erreicht und zustzlicher Speicherplatzbedarf lsst sich nur durch die Anschaffung
mehrerer Speichersysteme in den Griff
kriegen. Genau das war ber viele Jahre
der bliche Ansatz: Nutzer bekamen verschiedene Storage-Systeme zugeordnet
(Sharding).
Das bringt eine Latte von Nachteilen:
Erstens sind SAN-Storages empfindlich
teurer als normale Hardware von der
Stange, zweitens machen viele StorageInseln zentralisierte Administration eher
schwer. Admins bissen aus Mangel an
Alternativen trotzdem in den sauren Apfel, denn im Hinblick auf das Skalieren in
die Breite schien der Storage-Markt sehr
lange im Dornrschenschlaf.

Objektspeicher zur Hilfe


Das nderte sich schlagartig mit dem Aufkommen von Object Stores. Den Namen
haben Lsungen dieser Art erhalten, weil
sie intern alle Daten auf die gleiche Weise

behandeln wie binre Objekte nmlich.


Der Clou dabei ist, dass sich binre Objekte nach Belieben aufteilen und wieder
zusammensetzen lassen, solange das in
der gleichen Reihenfolge passiert.
Durch diesen Kniff bieten Objektspeicher
echtes Skalieren in die Breite. Denn der
Objektspeicher selbst muss nur noch
dafr sorgen, dass das Aufteilen in die
binren Objekte ordnungsgem stattfindet und dass sich die Objekte auf die
vorhandenen Festplatten ordentlich verteilen. Kommen mehr Festplatten zur Installation dazu, nutzt der Objektspeicher
diese automatisch und erweitert so die
Grenzen der Skalierbarkeit in theoretische Bereiche.
Die vorhandenen Cloud-Computing-Lsungen haben eine ganze Welle verschiedener Objektspeicher ins Rampenlicht gesplt. Red Hat hat Ceph ([1], Linux-Magazin-Artikel unter [2] und [3]) gekauft
([4], [5]) und mit seinem Storage Server
[6] eine eigene Lsung fr das Speichern
von Objekten im Angebot. Open Stack
kommt mit Swift daher, das ebenfalls ein
Objektspeicher im klassischen Sinne ist.
Und dann sind da noch die Dienste, die
selbst einen Objektspeicher als Dienst
fr Nutzer zur Verfgung stellen, etwa
Amazon S3 oder Dropbox.
Mit allen Diensten ist es jedenfalls mglich, skalierbare Storage-Systeme aufzu-

Sirainen bietet das Dovecot-S3-Plugin


bereits seit einer Weile an. Wichtig im
Vergleich zur normalen Dovecot-Version
ist, dass das Plugin lediglich mit der
Enterprise-Version von Dovecot luft und
Admins eine Lizenz bentigen, um es
zu verwenden (Abbildung 1). Die Lizenz
lsst Sirainen sich mit rund 5000 Euro pro
Jahr fr 10 000 Mailboxen vergten. Das
ist zugegebenermaen kein Pappenstiel;
an und fr sich ist die Zahl aber auch
wenig aussagekrftig.
Zwar kostet Dovecot in einem solchen
Setup mehr als die freie Version; der Einsatz mit einem Objektspeicher im Rcken
wird fr das betreibende Unternehmen
aber in vielen Fllen erhebliche Vergnstigungen beim Thema Hardware mit sich
bringen, weil SAN-Storages nicht mehr
ntig sind und Hardware von der Stange
gengt. berlegungen dieser Art sollten
Firmen jedenfalls anstellen, wenn sie
ber den Dovecot-Einsatz mit S3-Plugin
nachdenken.
Wie funktioniert das S3-Plugin fr Dovecot im Detail? Timo Sirainen erklrt das
in der Dokumentation zum Plugin selbst
und ausfhrlich. Grundstzlich gilt: Wer
das S3-Backend von Dovecot nutzen
mchte, bentigt Zugriff auf einen Objektspeicher nach Amazon-S3-Standard.
An solchen Accounts hngen zumeist
Listing 1: Ein Dovecot-Plugin
01 plugin {
02 # Use 100 GB cache for mails in /var/lib/dovecot/
cache. The cache directory is the same for all users.
03 obox_fs = fscache 100G:/var/lib/dovecot/
cache:s3:https://Accesskey:Secret@Bucket-Name.
s3.amazonaws.com/
04 }

Dovecot und S3

Sysadmin

Dovecot mit S3

www.linux-magazin.de

bauen. Phnomenal wre es fr die


Admins von E-Mail-Plattformen, wenn
sich eine solche Speicherlsung mit der
beschriebenen E-Mail-Architektur in Einklang bringen liee. Schlielich spricht
nichts dagegen, eine E-Mail genauso zu
behandeln wie ein binres Objekt. Das
dachte sich wohl auch Timo Sirainen,
der Autor von Dovecot, und zog die
Konsequenz: Das S3-Plugin fr Dovecot
verbindet den IMAP-Daemon mit einem
S3-kompatiblen Speicher und nutzt die
Object-Storage-Vorteile damit ideal aus.

81

02/2015

Sysadmin
Dovecot und S3
www.linux-magazin.de

82

Fr das Amazon-S3Plugin gengt es, einen zustzlichen Absatz einzutragen, der


die Plugin-Konfiguration bernimmt. Das
Beispiel in Listing 1 ist
direkt der DovecotDokumentation entnommen (siehe Abbildung 2).
Dovecot schaltet S3
in diesem Fall noch
einen lokalen Cache
mit insgesamt 100
GByte Platz vor, um
den lokalen Zugriff
auf hufig bentigte
Objekte so schnell wie
mglich abzuwickeln.
Klar ist damit, dass es
nicht sehr schwierig
ist, Dovecot an ein S3
anzudocken, falls die
bentigte DovecotLizenz fr das Plugin
vorliegt.
Wer seine Daten lieber
Abbildung 2: Dovecot bietet auf der eigenen Website ein PDF-File an, das
in Microsofts Azuresowohl die Einrichtung des Enterprise-Repo als auch die des S3-Plugins
Cloud ablegen will,
beschreibt.
kann das ebenso tun,
auch fr Azure steht
die Zugangsdaten in Form zweier Werte:
ein Plugin zur Verfgung. Obendrein gibt
es Dropbox-Support, auch Dropbox kann
Erstens fungiert der Access Key als eine
also als Backend-Speicher fr Dovecot
Art Nutzername, zweitens ist der Secret
zum Einsatz kommen.
Key das Passwort. Wer sich bei Amazon
einen Account anlegt, erhlt beide Infor- Gerade dieser Umstand fhrt allerdings
zu einer Diskussion, die viel mehr eine
mationen automatisch.
rechtliche als eine technische ist: Wollen
Fr die Ablage von Mails per Dovecot in
Unternehmen ihre E-Mails per Dovecot
S3 ist es zudem ntig, ein eigenes Bucket
wirklich bei Amazon, Microsoft oder
in S3 anzulegen. Dass nicht jeder Nutzer
Dropbox lagern? Gerade vor dem Hinein eigenes Bucket erhlt, mag im ersten
Augenblick Bauchschmerzen im Hinblick
tergrund der Snowden-Enthllungen ist
auf die Sicherheit verursachen doch
Skepsis verstndlich.
das ist eine Tuschung. Bei einem normalen Mailserver hat eben auch nicht
jeder Nutzer sein eigenes Dateisystem,
Das bedeutet aber nicht, dass Admins auf
die Verantwortung fr die Durchsetzung
den Komfort der S3-Speicher in Dovecot
der Zugriffsrechte liegt in beiden Fllen
ganz verzichten mssten. Denn das S3bei Dovecot als Mailserver.
Protokoll ist ffentlich dokumentiert, auf
FLOSS-Basis existieren gleich mehrere
Projekte, die einen S3-Speicher selbst
Dann folgt die Konfiguration von Dovecot anbieten. Darunter der Shootingstar des
selbst: Wer das Programm bereits fr
Storage-Umfelds: Ceph.
IMAP oder IMAPS nutzt, kennt die AbIn den vergangenen Monaten hat Ceph
satz-hnliche Struktur der Config-Files. gerade auch durch den Verkauf an Red

Ceph-Grundlagen

Dovecot-Konfiguration

Hat viel Publicity erhalten; den meisten


Admins ist Ceph daher ein vertrauter Begriff. Zusammengefasst lsst sich Ceph
als Objektspeicher mit diversen Frontends betiteln. Die Eigenschaft, mehrere
Frontends zu bieten, ist dabei durchaus
ein Unterschied zu anderen Objektspeichern wie Open Stack Swift. Ceph ist
seitens der Herstellerfirma Inktank als
universeller Storage fr beinahe alles ausgelegt, was in einem modernen Rechenzentrum anfllt.
Ein Ceph-Cluster besteht idealerweise
aus mindestens drei Maschinen. Auf
denen laufen dann verschiedene CephKomponenten, mindestens ein Monitoring-Server pro Host (im Fachjargon
MON) sowie ein Speicherdaemon (OSD,
Object Storage Daemon) fr jede vorhandene Festplatte.
Die Monitoring-Server sind die Wachposten innerhalb der Speicherarchitektur:
Sie berwachen mittels Paxos-Algorithmus das Quorum, um Split Brains zu
vermeiden. Grundstzlich gilt hier, dass
eine Clusterpartition nur dann als quorat (also mit Quorum) gilt, wenn sie
mindestens 50 Prozent aller MONs plus
einen ganzen MON enthlt. Bei einem
Drei-Knoten-Cluster ist folglich eine Clusterpartition dann quorat, wenn sie zwei
MONs sieht die Partition, die nur einen
MON sieht, wrde Ceph automatisch deaktivieren.

MONs
Obendrein spielen die MONs fr den
Ceph-Cluster das Telefonbuch: Clients
reden eigentlich direkt mit den Festplatten im Cluster, also den OSDs. Wollen die
Clients jedoch mit den OSDs reden, mssen sie wissen, wie sie jene erreichen. Die
MONs fhren dynamische Listen ber
die vorhandenen OSDs sowie die vorhandenen MONs (OSD-Map und MONMap) und liefern beide Karten aus, wenn
Clients die Information erbitten. Auf der
Grundlage des Crush-Algorithmus ist es
den Clients anschlieend mglich, die
korrekte Position binrer Objekte selbst
auszurechnen. Ceph kennt insofern kein
zentrales Verzeichnis, in dem fr jedes
einzelne binre Objekt die Zielfestplatten
vermerkt sind.
Als groer Vorteil von Ceph erweist sich
auerdem die inhrente Parallelisie-

02/2015

Object Gateway erweitern.

rung, die nahezu allen Ceph-Diensten


innewohnt. Ein einzelner Client, der eine
16 MByte groe Datei in Ceph ablegen
mchte, teilt diese blicherweise in vier
Blcke zu 4 MByte auf. Dann ldt er alle
vier Dateien gleichzeitig auf vier OSDs
im Cluster hoch, sodass er die kombinierte Schreibgeschwindigkeit von vier
Festplatten erhlt. Je mehr Spindeln sich
in einem Cluster befinden, desto mehr
Prozesse kann der Ceph-Cluster parallel
abhandeln.
Fr den Einsatz im S3-Beispiel ist das
eine gute Voraussetzung: Selbst Mailsysteme, die erhhter Last ausgesetzt sind,
knnen im Hintergrund problemlos viele
Mails zeitgleich in Ceph ablegen. Einzig bei der sequenziellen Schreiblatenz
schneidet Ceph meist deutlich schlechter
ab als konventionelle Speicherlsungen;
genau dieser Fall ist fr das Dovecot-S3Beispiel allerdings belanglos.

Writes auf dieses Blockdevice wandern


im Hintergrund direkt zu Ceph.
Ceph-FS ist ein Posix-kompatibles Dateisystem, das jedoch Inktanks ewiges Sorgenkind ist und seit Jahren konsequent
nicht fertig wird. Fr das S3-Beispiel aus
den Abbildungen 3 bis 5 wirklich interessant ist dagegen das Ceph Object
Gateway. Das vormals als Rados Gateway bezeichnete Konstrukt basiert auf
der Librados, die direkten und nativen
Zugriff auf Ceph-Objekte ermglicht. Auf
der anderen Seite exponiert das Rados
Gateway RESTful-APIs, die wahlweise
der Syntax von Amazon S3 oder Open
Stack Swift folgen.

Design-berlegungen:
S3-Load-Balancing
Vom nackten Blech zum fertigen CephCluster mit S3-Frontend ist der Weg brigens nicht so steinig, wie es auf den
ersten Blick aussieht. Inktank [4] hat in
Form von ceph-deploy ein mchtiges
Werkzeug im Kcher, das Ceph in wenigen Minuten auf Systeme mit gngigen
Distributionen bringt. Wer erst mal in
drei virtuellen Maschinen testen mchte,
kann das natrlich ebenfalls tun.
Auch in die blichen Automatisierungswerkzeuge wie Puppet oder Chef ist
Ceph mittlerweile integriert der Ceph-

Ceph-Frontends: RBD, CephFS, Ceph Object Gateway


Der schnste Objektspeicher ist nutzlos, wenn die Clients nicht direkt mit
ihm kommunizieren knnen. Ceph bietet gleich mehrere Mglichkeiten fr
Clients, Kontakt mit ihm aufzunehmen.
Das Rados-Blockdevice emuliert auf Linux-Basis eine normale Festplatte. Was
auf den Client-Computern dann so aussieht, als wre es lokal eingebaut, ist in
Wirklichkeit ein virtuelles Blockdevice.

Abbildung 4: Damit das Ceph Object Gateway funktioniert, braucht es einen Fast-CGI-fhigen Webbrowser.
Apache mit mod_fastcgi ist die typische Kombination.

www.linux-magazin.de

Dovecot und S3

Sysadmin
Abbildung 3: Ein existierender Ceph-Cluster lsst sich ber einen Eintrag wie diesen schnell um ein Ceph

Zwar implementiert das Ceph Object


Gateway die S3-Spezifikation nicht vollstndig, die wichtigsten Funktionen sind
aber auch im Gateway zu finden. Damit
ist die Lsung vollstndig: Ein Cluster
mit mindestens drei Knoten betreibt auf
lokalen Platten Ceph. Hinzu kommt ein
Server, der das Ceph Object Gateway
steuert und verschiedenen Instanzen von
Dovecot mit S3-Plugin das Ablegen von
E-Mails erlaubt.
Eine solche Lsung skaliert auf allen
Ebenen: Braucht der Ceph-Cluster mehr
Platz, schiebt der Admin mehr Kisten ins
Rack. Wird die Last auf den DovecotServern zu hoch, stellt der Admin ebenfalls mehr Maschinen ins Rack. Solange
hinreichend Platz in Racks zur Verfgung
steht, lsst sich dieses Prinzip praktisch
ohne Grenzen ausdehnen.

83

02/2015

Sysadmin
84

www.linux-magazin.de

Dovecot und S3

Ceph Object Gateway jedenfalls genauer


ansehen. Die Anleitung in [8] erlutert,
wie sich ein Ceph mit Object Gateway
so einrichten lsst, dass es gegenber
Clients vom echten S3 gar nicht zu
unterscheiden ist. (mfe)
Q

Abbildung 5: Der Beweis: Das Ceph Object Gateway meldet sich beim Aufruf einer URL und zeigt an, dass fr
den Nutzer anonymous keine Buckets hinterlegt sind.

Cluster selbst gelingt also schnell. Mit


etwas mehr Aufwand ist das Ceph Object
Gateway verbunden: Inktank selbst hlt
auf [7] ausfhrliche Dokumentation bereit, die den gesamten Vorgang erklrt.
Am Ende haben Admins eine Instanz des
Ceph Object Gateway, die S3 spricht und
als Anknpfungspunkt fr eine DovecotInstanz dienen kann.
Admins sollten allerdings im Hinterkopf
behalten, dass bei groen Setups das
S3-Gateway durchaus ins Schwitzen geraten kann. Kein Wunder: Wenn blo
eine einzelne Gateway-Instanz existiert,
quetschen sich alle Verbindungen von
den Dovecot-Frontends zu Ceph durch
dieses eine Nadelhr. Das ist nicht nur
aus Performance-Sicht ein Problem, sondern auch ein klassischer Single Point of
Failure (Abbildung 6).
Weil S3 aber auf HTTP basiert und HAAnstze fr HTTP zur Genge existieren,
ist die Lsung des Problems naheliegend:
Sinnvollerweise fangen Admins gleich
mit zwei Objekt-Gateways an, vor denen ein (hochverfgbarer) Load Balancer
eingehende Verbindungen entsprechend
weiterleitet (Abbildung 7). Auch diese
Architektur ist skalierbar; zustzliche Object Gateways lassen sich jederzeit integrieren, und das gelingt dann auch ohne
jede Downtime.

Plugin erhebt. In einem sinnvollen Setup


sollten die sich allerdings recht schnell
wieder dadurch einspielen lassen, dass
auf Storage-Seite kein teures SAN mehr
arbeitet, sondern Ceph auf Hardware
von der Stange. In Sachen Performance
erweist sich Ceph vom Single-SerialWrite-Szenario abgesehen meist als die
berlegene Lsung und muss den direkten Vergleich mit kommerziellen Storages
keinesfalls scheuen.
Wer ein E-Mail-Setup betreibt und regelmig vor der Herausforderung steht,
mehr Platz fr die Daten seiner Nutzer zu
schaffen, sollte sich die Kombination aus
Dovecot, dem S3-Plugin und Ceph mit

Ceph 1

Infos
[1] Ceph: [http://ceph.com] [http://ceph.com/
papers/weil-rados-pdsw07.pdf]
[2] Martin Loschwitz, Traumpaar: LinuxMagazin 03/14, S. 28
[3] Udo Seidel, Speicher satt: LinuxMagazin 02/13, S. 30
[4] Red Hat kauft Inktank:
[http://www.linux-magazin.de/NEWS/
Red-Hat-kauft-Ceph-Spezialisten-Inktank/]
[5] Ceph Enterprise von Inktank:
[http://www.inktank.com/enterprise/]
[6] Markus Feilner, Martin Loschwitz, Spartanisches Lager: Linux-Magazin 03/14, S. 38
[7] Doku zum Ceph Object Gateway:
[http://ceph.com/docs/master/radosgw/]
[8] S3-Trick fr das Ceph Object Gateway:
[http://www.hastexo.com/resources/
hints-and-kinks/configuring-radosgwbehave-amazon-s3]

Ceph 2

Ceph n

Object
Gateway 1

Client 1

Client 2

Client n

Abbildung 6: So sieht ein einfaches Ceph-Gateway-Setup aus; dabei stellt die einzelne Gateway-Instanz allerdings einen Single Point of Failure dar.

Ceph 1

Ceph 2

Ceph n

Fazit
Timo Sirainen erweitert mit seinem S3Plugin fr Dovecot das Thema Mail um
Skalierbarkeit auf der Storage-Ebene. Fr
Admins steht damit eine sinnvolle Alternative zu den klassischen Lsungen
bereit jenen Lsungen wie Sharding,
deren Inflexibilitt in den agilen IT-Strukturen der Gegenwart oft genug Probleme
bereitet. Wermutstropfen sind zweifellos
die Lizenzkosten, die der Autor fr das

Object
Gateway 1

Object
Gateway 2

LB

Client 1

Client 2

Client n

Abbildung 7: So ist's besser: Das Setup lsst sich auf allen Ebenen nahtlos in die Breite skalieren.

02/2015

Hardware

Ein schicker Monitor fr den Raspberry Pi

Manchmal wre es gut, wenn der Raspberry ber einen stndig angeschlossenen Bildschirm verfgte und
trotzdem portabel bliebe. Ein seit einiger Zeit erhltlicher 2,8 Zoll groer Touchscreen passt perfekt zu diesem
Anwendungsfall. Das Linux-Magazin hat sich dieses Modell genauer angesehen. Udo Seidel

Wolfgang Zwanzger, 123RF

86

www.linux-magazin.de

Raspi-Monitor

Fenster zur Welt

Ist der Raspberry nicht als MultimediaSteuerzentrale oder als traditioneller Server unterwegs, dann ist eine herkmmliche Bildschirmausgabe kein purer Luxus.
Anschlussoptionen dafr offeriert der Pi
viele: Das beginnt mit HDMI-fhigen Monitoren und HDMI-zu-DVI-Konvertern,
geht weiter ber Pendants auf der VGASeite und endet mit Scart-Adaptern. Mit
diesen [1] war es dem Autor sogar mglich, die Ausgabe auf einen 17 Jahre alten
Rhrenfernseher umzuleiten.
Handlich oder gar transportabel sind
diese Lsungen jedoch nicht. Seit einiger Zeit gibt es aber ein kleines 2,8 Zoll
groes Display, das sich einfach an den
ARM-Zwerg anschlieen lsst (Abbildung 1). Es verschafft dem Raspberry Pi
ein Ausgabegert mit einer Gre von
320 mal 240 Pixeln und 16 Bit Farbtiefe.
Als Markenprodukt ist es fr gut 30 Euro
bei Adafruit [2] zu finden zumindest

im deutschen Markt gibt es auch preiswertere Varianten [3]. Dabei ist es egal,
ob der Raspberry Pi in Version A, B oder
B+ vorliegt. Der schicke Mini-Bildschirm
passt fr alle.

Erste Schritte
Das hier vorgestellte Setup bentigt keine
Kenntnisse im Umgang mit dem Ltkolben. Wenn gewnscht, kommt das Board

mit dem Touchscreen nahezu gebrauchsfertig ins Haus. Notorische Bastler finden
eine Bauanleitung unter [4].
Ist der Raspberry mit dem BildschirmBoard verbunden, beginnt die eigentliche Arbeit. Zum Ansteuern des MiniMonitors ist der Framebuffer-Treiber fr
kleine TFTs und LCDs ([5], [6]) ntig.
In den meisten Linux-Distributionen fr
den ARM-Zwerg ist der aber nicht enthalten. Wer seinen Kernel selbst bersetzten
will, hat zwei Mglichkeiten. Entweder
patcht er den schon vorhandenen Quelltext [7] oder ldt die Kernelquellen ([8],
[9]) herunter. Hier hat sich das kleine
Skript rpi-source [10] bewhrt.
Wem das zu mhsam ist, der kann auch
auf einen bereits vorgefertigten Kernel
zurckgreifen (Listing 1). Dieser ist allerdings nur mit Raspbian [11] getestet
und vertrglich. Der Einfachheit halber
diente deshalb diese Linux-Distribution
als Grundlage fr den Artikel.
Die Installation des TFT-Kernels ist aber
nur die halbe Miete. Die Ansteuerung
des Monitors erfolgt ber den SPI-Bus
(Serial Peripheral Interface). Daher muss
das Kernelmodul spi-bcm2708 geladen
sein. Danach gilt es, den FramebufferTreiber fbtft_device mit geeigneter Konfiguration (ebenfalls Listing 1) zu laden.
Das eben genannte Kernelmodul bietet

Abbildung 1: Der Mini-Bildschirm kommt gebrauchsfertig zumindest die Hardware-Seite. Die umfangreiche
Anpassung des Betriebssystems erlutert dieser Artikel.

02/2015

Hardware
Raspi-Monitor
www.linux-magazin.de

nicht weniger als 20 Parameter an. Fr


die ersten Schritte gengen aber name
und rotate.
Der Parameter name gibt an, um welches TFT-Gert es sich handelt, damit
der Treiber intern die richtigen Schalter
umlegt. Der Parameter rotate dreht die
Ausgabe um den angegebenen Winkel
im Uhrzeigersinn. Etwas Feintuning erledigt die Option frequency. Sie steuert die Bildwiederholrate. 32 000 000 ist
hier empfohlen, das entspricht 20 FPS
(Frames per Second). Macht das Display
hier Probleme, probiert man es einfach
eine Stufe kleiner mit 16 000 000. Der
letzte Schritt weist der Shellvariablen
FRAMEBUFFER [12] das richtige Gert
zu hier ist es /dev/fb1.
Startet der Raspberry-Besitzer nun den
X-Server aus dieser Shell, erscheint die
Ausgabe auf dem Mini-TFT. Funktioniert
das, wie es soll, kann der Anwender
diese Konfiguration Reboot-fest machen.
Er muss Raspbian dazu anweisen, die
Module inklusive Konfiguration zu laden
und die Shellumgebung des Benutzers
anzupassen. Das bedarf weniger Zeilen
in den Dateien /etc/modules, /etc/
modprobe.d und $HOME/.profile (Abbildung 2). Ein erneuter Reboot zeigt,
ob man alles richtig gemacht hat. Wer
genauer hinschauen mchte, kann ja die
Bootmeldungen im Kernel-Ringpuffer inspizieren.
Wer das Paketeherunterladen und das
Installieren sowie die Anpassung der genannten Dateien zu anstrengend findet,
der solle sich das Skript pitft.sh [13]
anschauen. Laut Dokumentation gibt es
auerdem ein fertig konfiguriertes Raspbian-Abbild [14], das der Anwender nur
noch auf eine SD-Karte kopieren muss.
Als diese Zeilen geschrieben wurden, war
die Datei jedoch beschdigt und lie sich
nicht verwenden.

Abbildung 2: Entsprechend konfiguriert landet die Ausgabe des X-Servers automatisch auf dem MiniBildschirm des Raspberry Pi.

Die notwendigen Arbeitsschritte beschrnken sich auf eine entsprechende


Anweisung an den Kernel. Das Setup
ist nicht mal spezifisch fr den Raspberry Pi und in der Kerneldokumentation unter The Framebuffer Console
hinterlegt [15]. Fr frhe Anweisungen
an den Linux-Kernel ist unter Raspbian
die Datei boot/cmdline.txt zustndig. Die Instruktion fbcon=map:10
fbcon=font:VGA8x8 bewirkt dann das
gewnschte Verhalten. Wer sich fr weitere Optionen interessiert, sei auf die
bereits erwhnte Dokumentation [15]
verwiesen.
Das oben angesprochene Skript pitft.
sh greift dem Benutzer auch hier unter
die Arme. Auf Wunsch nimmt es die geforderten nderungen zur Aktivierung
der Konsole auf dem Mini-Bildschirm

vor. Wer mag, kann nun /etc/rc.local


aufbohren, um beispielsweise Statusmeldungen nach dem Booten anzeigen zu
lassen. Die bei Raspbian vorkonfigurierte
Ausgabe der IP-Adresse ist eine gute Vorlage (Listing 2).
brigens: Wer auf den vorgefertigten
Kernel zurckgreift, sieht die Bootmeldungen erst zu einem recht spten Zeitpunkt. Grund ist, dass der Gertetreiber
ein Modul ist. Erst wenn der Kernel es geladen hat, kann er seine Meldungen auf
dem Monitor-Zwerg ausgeben. Wer den
Kernel selbst bersetzt, sollte den Treiber
fest einbinden. Dann sieht er auch die
frheren Bootnachrichten.
Bilder oder Videos anzuzeigen bereitet
nun keine Bauchschmerzen mehr. Fr
Ersteres empfiehlt sich der Framebuffer Image Viewer fbi [16]. Fr Videos

Listing 1: Kerneltreiber installieren


01 cd && mkdir setup && cd setup
02 wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-bin-adafruit.deb
03 wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-dev-adafruit.deb

Gib mir mehr


Die Ausgabe von X11 auf den TFT-Winzling ist schon mal ganz nett. Es wre
aber ausgesprochen praktisch, wenn das
Gleiche auch fr die normale Konsole
funktionieren wrde. Wenn das sogar
den Bootprozess einschlsse, wre sogar ein weiterer Bildschirm berflssig.
Und tatschlich erfllt der kleine Monitor
beide Anforderungen.

04 wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-doc-adafruit.deb
05 wget http://adafruit-download.s3.amazonaws.com/libraspberrypi0-adafruit.deb
06 wget http://adafruit-download.s3.amazonaws.com/raspberrypi-bootloader-adafruit-20140917-1.deb
07
08 sudo dpkg -i -B *.deb
09 [...]
10 $ sudo shutdown -r now
11 [...]
12 sudo modprobe spi-bcm2708
13 sudo modprobe fbtft_device name=adafruitts rotate=90
14 export FRAMEBUFFER=/dev/fb1
15 startx

87

02/2015

Hardware
88

www.linux-magazin.de

Raspi-Monitor

kann der Anwender auf das Multitalent


Mplayer [17] zurckgreifen. Als Ausgabegert muss er /dev/fb1 angeben
und damit ist alles erledigt. Sind Screenshots notwendig, so lohnt ein Blick auf
das Werkzeug fbgrab [18]. Ein paar
kleine Kommandozeilen-Beispiele finden
sich weiter unten.

Bitte hier drcken


Vielen stechen sicherlich die vier Knpfe
unterhalb des Bildschirms ins Auge. Die
Entwickler haben vier GPIOs auf diese
Knpfe gelegt. Unter [19] findet sich
ein Layout-Diagramm, das die Zuordnung Knopf zur GPIO-Nummer darstellt
(siehe Tabelle 1). Leider ist das Pinlayout
fr verschiedene Revisionen des ARMZwergs nicht komplett identisch. Auf
lteren Boards ist der dritte Knopf von
links GPIO-Pin 21 zugeordnet, auf neueren jedoch 27.
Dass man mit einfachen Python-Skripten
den Zustand der GPIOs auslesen kann,
haben schon andere Artikel demonstriert.
Im vorliegenden Fall lsst sich so ermitteln, ob der Benutzer einen bestimmten
Listing 2: Konsolen-Setup
01 $ cat /etc/rc.local
02 [...]
03 _IP=$(hostname -I) || true
04 if [ "$_IP" ]; then
05

printf "My IP address is %s\n" "$_IP"

06 fi
07 [...]
08 $

Listing 3: Knpfe abfragen


01 #!/usr/bin/python
02 import RPi.GPIO as GPIO
03
04 GPIO.setmode(GPIO.BCM)
05
06 GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
07 GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_UP)
08 GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_UP)
09 GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)

Abbildung 3: Mit etwas Scripting-Kenntnissen erhlt der Anwender einen Ein/Aus-Schalter fr die Hintergrundbeleuchtung des Monitor-Winzlings.

Knopf bettigt hat. Ein simples Testskript


zeigt Listing 3.
Unter [20] und [21] finden sich zwei
alternative Implementierungen von Python-Skripten, die den zweiten Knopf
in einen Ein/Aus-Schalter fr den Bildschirm und nur diesen verwandeln.
Die erste Implementierung benutzt ein
externes Shellskript, die zweite bringt
alles im Python-Code unter. Beide greifen aber auf die gleiche Funktion des
TFT-Boards zurck, das mit einem zustzlichen GPIO zur Steuerung der Hintergrundbeleuchtung ausgestattet ist.
Diesen GPIO Nummer 252 muss der Benutzer erst mit echo 252 > /sys/class/
gpio/export freischalten.
Danach gibt es im Pseudo-Dateisystem
sysfs einen neuen Eintrag /sys/class/
gpio/gpio252. ber ihn steuert der
Anwender die Hintergrundbeleuchtung
durch einfache echo-Befehle. In Abbildung 3 sind die notwendigen Schritte
in einem Shellskript hinterlegt. Wer dies
nun mit dem Auslesen des Zustands von
einem der Knpfe verdrahtet, erhlt einen prima Ein/Aus-Schalter fr die Hintergrundbeleuchtung.
Analog knnten die Knpfe auch die
Wiedergabe von Filme starten oder Bil-

der anzeigen. Beispiele stellt Listing 4


vor. So knnte der Raspberry Pi als echte
Mini-Multimediazentrale dienen.

Vom Skript zum Kernel


Analog zu den eben besprochenen Beispielen kann man einen weiteren Knopf
als Aus-Schalter fr den Raspberry Pi
konfigurieren. Schicker wre allerdings,
wenn das Einschalten analog funktionieren wrde. Prinzipbedingt geht das
mit dem Python-Skript natrlich nicht:
Ist das Betriebssystem erst mal heruntergefahren, gibt es keine Skripte, die irgendwo lauschen knnten.
Die Entwickler des Framebuffer-Treibers
haben mit rpi_power_switch [22] ein
Kernelmodul geschaffen, das hier ganz
ntzlich ist. Wer den vorgefertigten
Linux-Kern benutzt, kann direkt loslegen. Im Wiki [23] steht, wie man dieses
Kernelmodul separat bersetzt. Das ist
etwas hakelig. In den meisten Fllen ist
die berprfung der Version des GNUC-Compilers zu deaktivieren. Auerdem
sind mindestens 900 MByte freier Speicher auf der SD-Karte ntig.
Die im Wiki hinterlegten Anweisungen
verschweigen, dass der Anwender das

10 while True:
11
12
13
14
15
16
17
18

if not(GPIO.input(23)):
print("23 gedrueckt!")
if not(GPIO.input(22)):
print("22 gedrueckt!")
if not(GPIO.input(27)):
print("21 gedrueckt!")
if not(GPIO.input(18)):
print("18 gedrueckt!")

Tabelle 1: Zuordnung der PiTFTTaster zu den GPIOs


Knopf-Position

Nummer des GPIO-Pin

1. von links

23

2. von links

22

3. von links

21 (27)

4. von links

18

Der Autor
Dr. Udo Seidel ist eigentlich Mathe-Physik-Lehrer
und seit 1996 Linux-Fan. Nach seiner Promotion
hat er als Linux/Unix-Trainer, Systemadministrator und Senior Solution Engineer gearbeitet.
Heute ist er Leiter des Linux-Strategie-Teams
der Amadeus Data Processing GmbH in Erding.

02/2015

Mit dem PiTFT erbrigt sich ein externer


Monitor in vielen Fllen. Die am Board
angebrachten Knpfe tragen sogar zu einer ntzlichen Erweiterung bei. Dieser
Artikel gibt nur einen ersten Einblick in
die Mglichkeiten des Bildschirms. Darber hinaus besitzt er etwa noch die
Touchscreen-Funktion, die einem spteren Artikel vorbehalten bleibt. (jcb) Q

Infos
[1] Scart-Adapter:
[http://www.avc-shop.de/epages/
64272905.sf/de_DE/?ObjectPath=/Shops/
64272905/Products/4040849501227]
[2] PiTFT: [http://www.adafruit.com/
products/1601]
[3] Display-Alternative:
[http://www.avc-shop.de/epages/
64272905.sf/de_DE/?ObjectPath=/Shops/
64272905/Products/PiLCD2%2C8]

[15] Kerneldoku zur Konsole:


[http://www.kernel.org/doc/
Documentation/fb/fbcon.txt]
[16] FBI:
[http://www.kraxel.org/blog/linux/fbida/]
[17] Mplayer: [http://www.mplayerhq.hu/]
[18] Fbgrab: [http://fbgrab.monells.se]
[19] Pinbelegung: [http://learn.adafruit.com/
system/assets/assets/000/013/040/
original/raspberry_pi_pitftschem.png?
1387563188]
[20] GPIO-Button schaltet Backlight: [http://raspberrypi.
stackexchange.com/questions/15337/
gpio-button-to-control-backlight-on-pitft]
[21] GPIO-Button, Variante 2: [http://www.
averagemanvsraspberrypi.com/2014/07/
how-to-set-up-adafruit-pitft-for.html]
[22] RPI Power Switch:
[http://github.com/notro/fbtft_tools/
tree/master/rpi_power_switch]
[23] Wiki-Eintrag zum RPI Power Switch:
[http://github.com/notro/rpi-source/wiki/
Examples-on-how-to-build-various-modules#rpi_power_switch]

Listing 4: Filme abspielen oder Bilder anzeigen


01 $ cat test.mpeg.play.sh

14 $

02 #!/bin/sh

15 $ cat show.test.jpg.sh

03 #

16 #!/bin/sh

04 PATH=/bin:/usr/bin:/usr/local/bin

17 #

05 export PATH
06 ps -ef|grep

18 PATH=/bin:/usr/bin:/usr/local/bin
[m]player > /dev/null 2>&1

07 if [ "$?" -eq 0 ]; then


08

pkill mpayer || pkill -9 mplayer

nohup mplayer -nolirc -vo fbdev2:/dev/


fb1 -vf scale=320:-3 test.mpg

11
12 fi
13 $

20 ps -ef|grep

[f]bi > /dev/null 2>&1

21 if [ "$?" -eq 0 ]; then

09 else
10

19 export PATH

/dev/null 2>&1 &

>

22

pkill fbi || pkill -9 fbi

23 else
24

nohup fbi -T 2 -d /dev/fb1 -noverbose


-a test.jpg > /dev/null 2>&1 &

25 fi

Raspi-Monitor

Hardware

Zum Schluss

[4] Bauanleitung: [https://learn.adafruit.


com/adafruit-pitft-28-inch-resistive
-touchscreen-display-raspberry-pi/
assembly]
[5] Treiber-Sourcen:
[http://github.com/notro/fbtft]
[6] FBTFT: [http://github.com/adafruit/
adafruit-rpi-fbtft]
[7] Patch: [http://adafruit-download.s3.
amazonaws.com/adafruit-ts.zip]
[8] Kernelquellen: [http://github.com/
adafruit/adafruit-raspberrypi-linux]
[9] Firmware: [
http://github.com/adafruit/rpi-firmware]
[10] Helferskript:
[http://github.com/notro/rpi-source]
[11] Raspbian: [http://www.raspbian.org]
[12] Framebuffer-Howto:
[http://www.tldp.org/HOWTO/html_single/
Framebuffer-HOWTO/]
[13] Pittft.sh: [http://adafru.it/pitftsh]
[14] Konfiguriertes Raspbian-Image:
[http://adafruit-download.s3.amazonaws.
com/PiTFT28R_raspbian140909_2014_
09_18.zip]

www.linux-magazin.de

Kommando make scripts ausfhren


muss. Das ist aber ntig, um die notwendigen Hilfsprogramme, etwa scripts/
mod/modpost, fr die Modulgenerierung zu erzeugen.
Die wichtigsten Parameter von rpi_
power_switch sind gpio_pin und
mode. Der erste legt fest, welchen
GPIO-Pin das Kernelmodul berwacht.
Der zweite Parameter entscheidet, ob der
Knopf als Taster oder als Schalter dient.
Das schon mehrmals erwhnte Helferlein
pitft.sh aktiviert auf Wunsch rpi_power_switch, ordnet ihm GPIO-Pin 23 zu
und konfiguriert ihn als Taster.

89

02/2015

Forum

Nicht-kommerziell? Die Creative-Commons-Lizenz ist nicht klar genug

Das Oberlandesgericht Kln musste sich mit spannenden Streitfragen zum Thema Creative Commons auseinandersetzen. Dabei erwiesen sich Teile der Lizenz als nicht eindeutig oder intransparent. Sabine Sobola

Markus Feilner, CC-BY-SA 4.0

90

www.linux-magazin.de

Recht

Nebuls

Nicht-kommerziell im Sinne der CCBY-NC-Lizenz, so das Oberlandesgericht


Kln, sei in der Creative-Commons-Lizenz nicht klar genug definiert. Der dem
Urteil des OLG vom 31. Oktober 2014
(Az.: 6 U 60/ 14, [1]) zugrunde liegende
Sachverhalt rankte sich um das Foto
eines Fotografen, das dieser unter der
Creative Commons Lizenz CC-BY-NC 2.0
(nachfolgend CC-Lizenz, [2]) auf Flickr.
com bereitgestellt hatte.
Der Deutschlandfunk nutzte das Foto auf
seiner Website Dradiowissen.de ([3],
Abbildung 1) zur Illustration eines Artikels und machte es so ffentlich zugnglich. Zuvor hatten die Redakteure
das Foto bearbeitet in doppelter Weise:
Zum einen nutzten sie nur den zentralen
Bildausschnitt, zum anderen schnitten
sie den Rest so ab, dass dem Bild der
Kasten mit dem Copyright-Vermerk abhanden kam.

Auf die Klage des Fotografen hin musste


das Gericht nun mehrere Fragen klren,
zum Beispiel:
Q Handelt es sich bei der oben beschriebenen Nutzung durch den Sender um
eine nicht-kommerzielle Nutzung?
Q Fllt die Form der Bearbeitung unter
die entsprechende Erlaubnis der CCLizenz?
Q Wie hoch ist der Schadensersatz,
wenn eine Nutzung nicht von der CCLizenz gedeckt ist?
Dabei stellte sich erneut heraus, dass die
beliebte CC-Lizenz gar nicht so eindeutig formuliert ist, wie ihre Verbreitung
vermuten lsst.

Nicht-kommerziell?
In den Ausschlussklauseln der CC-Lizenz
findet sich unter anderem das Verbot,
ein Werk, das unter dem Schutz dieser

Lizenz steht, kommerziell zu nutzen. So


heit es in Klausel Nr. 4 b), dass eine
Nutzung untersagt ist that is primarily
intented for or directed towards commercial advantage or private monetary
compensation. Magebend war fr das
Gericht die englische Fassung der Lizenz,
weil der Fotograf explizit unter ihr das
Foto zur Verfgung gestellt hatte.
In der deutschen Fassung, die nach Ansicht des Gerichts fr den vorliegenden
Rechtsstreit nur als Interpretationshilfe
herangezogen werden kann, verbietet die Klausel 4 b eine Nutzung, die
hauptschlich auf einen geschftlichen
Vorteil oder eine vertraglich geschuldete
geldwerte Verfgung abzielt oder darauf
gerichtet ist. Das klingt prziser.
Hier kam das Gericht zum entscheidenden Punkt: der Begriff nicht-kommerziell oder non-commercial ist nach
Auffassung des Richters im Rahmen der
Anwendung von CC-Lizenzen nicht klar
definiert. Es wurde daher eine Auslegung
dieses unbestimmten Rechtsbegriffs vorgenommen. Dabei ging das Gericht davon aus, dass die englische Fassung der
CC-Lizenz wirksam als AGB in den Nutzungsvertrag einbezogen wurde. Diese ist
auf eine weltweite Reichweite ausgerichtet, sodass sich eine Auslegung rein nach
deutschem Recht verbietet.
Dann suchte das Gericht nach nationalen
Auslegungshilfen. Zum Beispiel liee sich
die Begrifflichkeit des Rundfunkstaatsvertrags heranziehen. Danach wre der
Deutschlandfunk, weil er eine Krperschaft ffentlichen Rechts ist, als nicht
gewinnorientiert einzustufen. Zudem ist
52 a Abs. 1 UrhG zu beachten, bei dessen Anwendung nicht-kommerziell mit
nicht-gewinnorientiert gleichzusetzen
ist und damit eine kommerzielle Nutzung
wiederum zu verneinen wre.

02/2015

Keine Entscheidung

Ross und Reiter nennen!


Der Deutschlandfunk hat zwar unter
der abgenderten Version des Bildes den
Namen des Fotografen genannt, auf die
CC-Lizenz verwiesen und entsprechende
Links platziert. Damit war nach Ansicht
des Gerichts aber lediglich die zweite
Verpflichtung erfllt. Die erste Verpflichtung sieht jedoch vor, die vorhandenen
Urheberrechtsvermerke intakt zu lassen.
Durch deren Entfernung hat der Nutzer
diese Verpflichtung verletzt.
So hat laut Gericht die Platzierung des
Urhebernamens innerhalb eines Fotos einen wesentlich hheren Stellenwert, als
wenn er nur unterhalb des Werkes genannt wird. Denn bei den Verbreitungs-

Recht

Forum

Unzulssige Bearbeitung?

Urhebers vorgenommen werden ( 23


UrhG). Diese gilt mit der CC-Lizenz als
erteilt. Dort sind nmlich in der Klausel
Nr. 3 c die Bearbeitung und Umgestaltung erlaubt, mithin die Erzeugung von
derivative Works, also von abgeleiteten
Werken.
Allerdings hatte die Beschneidung der
Fotografie zur Folge, dass der CopyrightVermerk am unteren Bildrand verloren
ging. Dies verstt gegen die Klausel Nr.
4 c der CC-Lizenz. Denn danach sind vorhandene Urheberbezeichnungen beizubehalten, der Urheber ist anzuerkennen.
In der englischen Fassung heit es: ...
must keep intact all copyright notices and
give the original author credit. Durch die
Verbindung der beiden Verpflichtungen
mit dem englischen and stehen diese
gleichwertig nebeneinander und sind
gleichermaen bindend.

www.linux-magazin.de

besagt, dass Unklarheiten in den vorformulierten Vertragsbedingungen (AGBs) zu


Lasten des Verwenders gehen. Der Verwender ist derjenige,
der die AGBs gestellt
hat, vorliegend also
der Fotograf.
Daher kann dieser sich
nicht darauf berufen,
dass der Deutschlandfunk das Foto komAbbildung 1: Kommerziell oder nicht? Auf einer Webseite hat der Deutschmerziell genutzt hat,
landfunk ein mit CC-BY-NC-Lizenz ausgestattetes Bild verwendet.
weil nach wie vor
nicht geklrt ist, wie
Dann wrde man aber allein auf die Ornicht-kommerziell in den englischen
ganisationsform des Lizenznehmers oder Fassungen der CC-Lizenzen eigentlich zu
auf dessen generellen Aufgabenbereich
verstehen oder anzuwenden ist.
abstellen. Der Wortlaut der CC-Lizenz,
der hier magebend ist, legt aber nahe,
dass es allein auf die konkret erfolgte
Nutzung ankommt. Doch auch dies Die nchste Frage lautete, ob die erfolgte
schafft keine Klarheit darber, wie der Bearbeitung des Fotos eine Umgestaltung
Begriff nicht-kommerziell bei CC-Liim Sinne des 23 S. 1 UrhG war. Vor
zenzen auszulegen ist.
der Bearbeitung war eine Vielzahl an Demonstranten und Polizeiautos auf dem
Bild zu sehen. Auf dem auf der Website
des Deutschlandfunks verffentlichten
Das Gericht stellte schlielich fest, dass Foto war ein Demonstrant in den Mitteles aufgrund der vorliegenden Unterlapunkt gerckt, ein paar weitere Mitstreigen keine Entscheidung darber treffen ter nur noch ansatzweise zu sehen. Dieser
knne, wie der Begriff non commerbearbeitete Ausschnitt lsst nach Ansicht
cial letztlich auszulegen ist. Da Creades Gerichts die Vermutung zu, dass die
Demonstration auch in Rumlichkeiten
tive-Commons-Lizenzen allgemeine Geschftsbedingungen sind, kommen die stattgefunden haben knnte, was nicht
entsprechenden Vorschriften des BGB zur den Tatsachen entspricht.
Anwendung und damit unter anderem
Eine solche Vernderung der Bildausauch 305 c Abs. 2 BGB [4]. Dieser
sage darf aber nur mit Einwilligung des

91

02/2015

Forum

Markus Feilner, CC-BY-SA 4.0

Recht
www.linux-magazin.de

Bedeutet CC Wert null?


Abbildung 2: Ob die fotografierten Demonstranten auf der Strae oder scheinbar innerhalb eines Gebudes
agierten, hlt das Gericht fr einen relevanten und zustimmungspflichtigen Unterschied in der Bildaussage.

formen des Internets wird oft nur das Bild


selbst, zum Beispiel ber eine gezielte
Bildersuche, wahrgenommen und weiterverbreitet. Der zugehrige Text wie auch
die Bildunterschrift bleiben meist auen
vor. Damit wre aber die Urheberschaft
nicht mehr ersichtlich und der Urheber
in seinen Rechten stark beeintrchtigt.
Zudem hat es der Deutschlandfunk versumt, auf die Art der Vernderung des
Fotos hinzuweisen, wie es Klausel Nr. 3 c
der CC-Lizenz vorschreibt.

Schadensersatz?
Die beiden oben dargestellten Verste
gegen die Regeln der CC-Lizenz lsten
gem der Klausel Nr. 7 die automatische
Beendigung der Lizenzrechte aus. Durch

diesen Rckfall der Rechte (in der deutschen bersetzung Heimfall genannt)
erlischt die Lizenzerteilung gegenber
dem Deutschlandfunk und mit ihr die
Einwilligung im Sinne des 23 UrhG.
Jegliche weitere Benutzung stellt damit
einen Rechtsversto dar.
Dies hat wiederum zur Folge, dass der
Tatbestand des 97 UrhG erfllt ist und
damit grundstzlich sowohl ein Unterlassungsanspruch als auch ein Schadensersatzanspruch besteht. Der Unterlassungsanspruch wurde problemlos bejaht.
Erstmals hatte sich aber nun ein Gericht
mit der Frage auseinanderzusetzen, wie
hoch der Schaden im Falle einer nichtkommerziellen Nutzung eines unentgeltlich, unter einer CC-Lizenz zur Verfgung
gestellten Werks sein kann.

iofoto, 123RF

92

Die Berechnung stellt auf den objektiven Wert der unzulssigen Nutzung ab.
Dieser bemisst sich danach, was ein Lizenzgeber von einem Lizenznehmer fr
die Vergabe einer Lizenz im konkreten
Fall blicherweise htte verlangen knnen (Lizenzanalogie). Da der Fotograf
seine Werke unentgeltlich zur Verfgung
gestellt hat, wre eine fiktive Lizenzgebhr mit 0 Euro zu veranschlagen. Nach
Ansicht des OLG ist damit der objektive
Wert einer nicht-kommerziellen (!) Nutzung eines unter der CC-Lizenz angebotenen Werks gleich null.

Abbildung 3: 0 Euro Schaden bedeutet 0 Euro Schadensersatz, auch wenn das Vergehen nach geltendem
Recht mit 100 Prozent Aufschlag wegen fehlender Urhebernennung zu bestrafen wre.

Ein hherer Schaden ergibt sich auch


nicht daraus, dass die Urheberschaft nicht
korrekt angegeben wurde. Bei fehlender
Urheberbenennung wird in der Praxis
zwar ein 100-Prozent-Aufschlag auf den
Schaden, der nach der Lizenzanalogie
berechnet wird, gewhrt. Das Gericht
stellte aber mathematisch unangreifbar
fest, dass 0 Euro plus 100 Prozent davon
immer noch 0 Euro bleibt.
Es blieb daher dabei, dass hier kein Schadensersatz zu gewhren war. Lediglich
der Ersatz seiner anwaltlichen Abmahnkosten wurde dem Fotografen zugesprochen. Das Urteil ist allerdings noch nicht
Q
rechtskrftig. (mfe)

Infos
[1] Urteil des OLG Kln vom 31.10.2014:
[http://dejure.org/dienste/vernetzung/
rechtsprechung?Text=6%20U%2060/14]
[2] Sabine Sobola, Markus Feilner, Groe Freiheit Nummer 4: Linux-Magazin 06/14, S. 82
[3] Deutschland Radio Wissen:
[http://dradiowissen.de/]
[4] 305 BGB zu AGBs: [http://dejure.org/
gesetze/BGB/305c.html]
Die Autorin
Sabine Sobola ist Partnerin
der Regensburger Anwaltskanzlei Paluka Sobola Loibl
und Partner und betreut
dort die Bereiche IT- und
Internetrecht, das Vertragsrecht und den gewerblichen Rechtsschutz.
Neben ihren Lehrauftrgen fr IT-Recht an verschiedenen Hochschulen leitet sie eine Vielzahl
von Workshops zum Thema Recht im Internet.

02/2015

Forum
94

www.linux-magazin.de

Bcher

Ein Git-Buch fr gestandene und ein C++-Buch fr angehende Programmierer

Tux liest
Zwei Bcher fr Programmierer: Eins zum Sprachenlernen, hier geht es um C++, und ein anderes, um die fertigen Quelltexte anschlieend mit Git zu verwalten. Beide setzen keine Vorkenntnisse voraus und fhren von
den ersten Schritten bis zur Meisterschaft. Jens-Christoph Brendel

Das einst von Linux-Erfinder Torvalds


programmierte Git ist lngst nicht nur
unter Software-Entwicklern ein viel benutztes Tool. Hilfreich ist es berall dort,
wo nderungen an einer greren Zahl
von Dateien zu verwalten sind. Gleichzeitig sind die zahlreichen Features und
Optionen nicht trivial, sodass sich sicher
schon mancher gewnscht hat, diese Versionsverwaltung einmal von Grund auf
zu studieren. Ein gutes Hilfsmittel dabei
ist das vorliegende Buch.
Die Autoren setzen keine Vorkenntnisse
voraus und beginnen mit einfachen Beispielen fr die grundlegenden Kommandos zum Einfgen und Committen von
Dateien oder fr die Statusabfrage. Aber
schon das zweite Kapitel verlsst die
Anfangsgrnde und erlutert detailliert
Index, Objektmodell und die dahinterstehende Graphenstruktur. Der aufmerksame Leser wird fr seine Mhe Zug um
Zug durch das bessere Verstndnis der
Zusammenhnge belohnt.
Das dritte Kapitel legt auch in der Praxis
eine Schippe zu und kommt zu den komplexeren Kommandos fr das Verwalten
und Verschmelzen von Branches, das
Taggen von Releases oder das Wiederherstellen lterer Versionen. Ausfhrlich
gehen die Autoren auf das Lsen von
Merge-Konflikten ein. Noch tiefer steigt
das nchste Kapitel in die Materie ein,
Info
Valentin Haenel, Julius
Plenz:
Git
2. Auflage
Open Source Press, 2014
336 Seiten
30 Euro
ISBN: 978-3-9553-9119-5

das insbesondere das Kommando Rebase


vorstellt, das Gruppen von Commits zwischen Branches verschieben kann, damit
die Commit-Geschichte eines Projekts
leicht verstndlich bleibt.
Bis hierhin konnte man noch alles mit
einer einzelnen Instanz von Git nachvollziehen, doch in Kapitel fnf geht es
um verteiltes Git und das Klonen von
Repositories, das Transferieren von
Commits oder das Verwalten eines GitSpeichers aus der Ferne. Kapitel sechs
ordnet das Gelernte dann in bergeordnete Arbeitsablufe ein, etwa in einen
Workflow fr das Release-Management.
Es schlieen sich noch Kapitel ber Git
als Serverdienst und ber die weitergehende Automatisierung mit Hilfe so genannter Hooks an.
Das vorliegende Buch ber Git gibt einen umfassenden Einblick in das Versionskontrollsystem und eignet sich auch
zum Nachschlagen bei weniger hufig
anfallenden Aufgaben.

Programmieren lernen
Auch die C++-Einfhrung von Torsten
Will mchte Leser ohne Vorkenntnisse
mitnehmen. Ihnen bereiten die ersten gut
80 Seiten mit einer sehr flach ansteigenden Lernkurve einen bequemen Einstieg.
Wer sich schon etwas mit Programmierung befasst hat, kann den ersten Teil
verlustlos berspringen.
Der zweite Teil beginnt dann schon mit
einer systematischen Vorstellung der
Sprachelemente, angefangen bei den
Operatoren ber die eingebauten Datentypen, Streams, Ein- und Ausgabeoperatoren, ber Container und Zeiger bis hin
zu Funktionen, Kontrollstrukturen und
zur Fehlerbehandlung.

Eine gute Idee ist das vielen Kapiteln


vorangestellte Kapiteltelegramm, das
eine stichpunktartige Aufzhlung der
Lerninhalte bringt. Am Ende des Kapitels folgt dann noch einmal eine kurze
Zusammenfassung mit einer Reihe von
Aufgaben, mit denen der Leser seinen
Fortschritt berprfen kann.
In dieses konsequent auf das Sprachenlernen ausgerichtet Konzept passt, dass
der Autor den Leser durchweg direkt
anredet. Glcklicherweise berschlgt er
sich dabei nicht vor Lockerheit, sondern
bleibt freundlich-distanziert. Das unterstreicht eher den Lehrbuchcharakter,
wirkt aber nicht strend.
Der dritte Teil des Buches dreht sich
vor allem um Datenstrukturen. Im Mittelpunkt stehen eigene Datentypen wie
Aggregate und Structs. Auch den Konstanten ist ein Kapitel gewidmet, genauso
den zentralen Konzepten der Klassen und
der Vererbung. Ein abschlieender vierter
Teil behandelt fortgeschrittene Themen.
Dazu gehren Adressen und Zeiger, Makros, Bibliotheken, Heap und Stack oder
dynamische Objekte.
Die vorliegende C++-Einfhrung eignet
sich wegen ihrer Systematik, der Kontrollfragen und eines ausfhrlichen Index
gut zum Selbststudium. Die Beschreibungen sind durchweg gut verstndlich, die
Q
zahlreichen Beispiele instruktiv.
Info
Torsten T. Will:
Einfhrung in C++
Galileo Press, 2015
520 Seiten
25 Euro
ISBN: 978-3-8362-2677-6

02/2015

Know-how

Nagios-berwachung mit und fr den Raspberry Pi

Mit seinem lfterlosen Design, den minimalen Ausmaen und seinem geringen Stromverbrauch bringt sich der
Raspberry Pi sogar als Kandidat fr einen Nagios-Server in Stellung, der sich sogar selbst berwachen kann.
Was dafr ntig ist, untersucht dieser Artikel. Udo Seidel

nario wre der Ausfall des


Netzwerks. Was tun? Der
Minirechner msste sich
selbst kontrollieren.

Temperatur im
Blick

Sergey Yakovenko, 123RF

96

www.linux-magazin.de

Nagios auf Raspi

Selbstkontrolle

Die typischen Linux-Versionen fr den


ARM-Rechner sind vergleichbar mit denen der x86-Desktop-Kollegen, sodass
auch eine Nagios-Installation kein Problem darstellt. Fllt allerdings der Strom
aus, fllt zumindest ohne weitere Absicherung auch der ARM-Zwerg ins
knstliche Koma, und daran hinge dann
die berwachung einer Vielzahl anderer
Rechner. Ein hnliches Schreckenssze-

Auch wenn der Raspberry


Pi ein gengsamer Kamerad ist, sollten doch ein
paar Randbedingungen
erfllt sein, die ihm das
Leben zumindest erleichtern. Eine dieser Konditionen ist die Temperatur.
Mit Bordmitteln kann der
Anwender auslesen, wie
hei die CPU ist.
Dabei gibt es zwei Mglichkeiten: Erstens die
Datei temp im PseudoDateisystem debugfs
(Listing 1). Die CPU-Temperatur ist dort in Millicelsius hinterlegt.
Zweitens kann der Nutzer die VideocoreWerkzeuge ([1], [2]) benutzen genauer
das Kommando vcgencmd. Dessen
Ausgabe ist fr den Normalverbraucher
eher verdaulich (Listing 1).
Laut Hersteller-Spezifikation sollte der
ARM-Rechner im Temperaturbereich von
0 Grad bis 70 Grad keine Probleme be-

kommen. Dieser Bereich ist brigens der


kleinste gemeinsame Nenner aller Chips
des Raspberry-Boards [3]. Die Temperaturberwachung ist also sinnvoll. Die
Entwicklung eines entsprechenden Moduls ist keine Herausforderung. Eine
Beispiel-Implementierung in Shellcode
findet sich im Github-Repository des Autors [4]. Auf Nagios-Exchange gibt es
etwas hnliches [5].
Mit vcgencmd lsst sich noch eine
Reihe anderer Parameter auslesen. Fr
experimentierfreudige Pi-Benutzer sind
Werte wie Spannung oder Taktfrequenz
eventuell beachtenswert (Tabelle 1). Der
Autor war daran weniger interessiert
und hat diese Werte daher nicht in sein
Nagios-Plugin check_rpi (Abbildung 1)
integriert.
Gefahr droht auch bei der Stromversorgung. Bei komplettem Stromausfall
gibt's gleich zwei Probleme. Das offensichtliche ist, dass der ARM-Zwerg
selbst handlungsunfhig ist, wenn die
externe Spannungszufuhr fehlt. Abhilfe
schaffen externe Batterien, Akkupacks
oder am besten eine USV. Eine speziell auf den Raspberry Pi zugeschnittene
Lsung stellte ein Artikel im vorigen
Linux-Magazin vor. Der Einsatz der dort
beschriebenen USV Upis bewirkt, dass
Nagios erst mal weiterluft, wenn kein
Strom aus der Steckdose kommt.

Tabelle 1: Interna des Raspberry Pi abfragen


Listing 1: Auslesen der CPUTemperatur
01 <$ cat /sys/class/thermal/thermal_zone0/temp
02 48692
03
04 $ vcgencmd measure_temp
05 temp=48.7'C

Argument/Option
measure_clock
measure_volts
measure_temp
get_mem
codec_enabled
version

Bedeutung
Taktfrequenz verschiedener Komponenten
Spannung von Kern oder Speicher
Eigentemperatur
Speicherzuweisung fr die CPU und GPU
Verfgbare Multimedia-Codecs
Firmwareversion

02/2015

Ist die schicke USV Upis an den Raspberry Pi angeschlossen, kann Nagios
auch einen Blick auf die wichtigen Parameter dieses Gerts werfen. Die USV verfgt ber einen I2C-Bus [6], auf den der
ARM-Zwerg zugreifen kann. An dieser
Stelle sei nochmal ein Firmware-Upgrade
der Upis-Einheit empfohlen, da neuere
Versionen zustzliche Status-Informationen zugnglich machen.
Eine aktuelle Liste der I2C-Register und
ihrer Funktionen ist unter [7] zu finden. Auf der Raspberry-Seite bentigt der
Nagios-Admin noch die i2c-tools [8]
und schon kann es losgehen. Wer es
langsam angehen will, prft zunchst mit
i2cdetect, ob die in der Dokumentation
erwhnten Register auch tatschlich zugnglich sind.
Das Beispiel in Listing 2 zeigt die eines
aktuellen Raspberry Pi B. Die gefundenen
Register sind 0x69, 0x6a und 06b,
das deckt sich mit den Angaben der Datei
[7]. Wem ein Test nicht gengt, der kann
mit i2cdump noch tiefer graben. Dann
zeigt sich, ob tatschlich Daten ber den
Datenbus gehen (Listing 2).
Ein genauer Blick in die eben erwhnte
Liste zeigt, dass der Status der Stromversorgung der Upis unter der Adresse 0x6a
0x00 zu finden ist. Genau genommen
steht dort, wie das Gespann aus Rasp-

leistet hier das kleine C-Programm, dessen Quelltext unter [11] zu finden ist.

berry und Upis seinen Strom bezieht. Im


Beispiel von Listing 2 steht 02. Das bedeutet, dass die Spannung am USB-Port
der USV anliegt. Fehlt die externe Stromversorgung, steht im Status-Register eine
04. Weitere mgliche Zustnde sind in
Tabelle 2 aufgelistet [9].
Nun braucht der Admin nur noch das
Nagios-Plugin, das diesen Register-Wert
berwacht und auswertet. Der Autor war
bei einer entsprechenden Internetrecherche nicht erfolgreich und schrieb es daher
kurzerhand selbst [10]. brigens hat die
USV ebenfalls einen Temperatursensor.
Doppelt hlt besser. Daher befindet sich
eine entsprechende Prfroutine im Lieferumfang des Nagios-Plugins check_upis
(Abbildung 2).
Mit den Temperaturwerten des Raspberry
Pi und seiner USV und dem Status der
Stromversorgung stehen die wichtigsten
Parameter unter der Aufsicht von Nagios. So kann der Wchter seinen eigenen Gesundheitszustand berprfen und
kommunizieren. Ein Aufbohren durch die
berwachung weiterer Parameter der
USV ist einfach mglich. Gute Dienste

Zweites Leben fr ein


Handy
Apropos Kommunikation: Die ist eine
Herausforderung beim Totalausfall der
Stromversorgung. Grob skizziert besteht
die Lsung aus dem Koppeln des Raspberry Pi mit einem Handy per Bluetooth
und der Verwendung geeigneter Software.
Ersteres ist ausgesprochen problemlos.
Linux-taugliche USB-Adapter fr diesen
Kurzstreckenfunk gibt es reichlich. Eine
einfache Internetrecherche fhrt schnell
zum Ziel.
Wer unsicher ist, kann das Ergebnis noch
bei Raspishop [12], Adafruit [13], Modmypi [14] oder Elinux.org [15] gegenprfen. Im vorliegenden Artikel kommt
ein Gert vom Hersteller Bigtec [16]
zum Zug. Die Rolle des Mobiltelefons
bernahm ein ehrwrdiges Siemens S55
(Abbildung 3).
Das Koppeln per Bluetooth erfolgt nach
der Standardprozedur unter Linux. Der

Listing 2: Register mit den I2C-Tools prfen.


01 $ i2cdetect -y 1
02

03 00:

-- -- -- -- -- -- -- -- -- -- -- -- --

04 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -05 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -06 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -07 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -08 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -09 60: -- -- -- -- -- -- -- -- UU 69 6a 6b -- -- -- -10 70: -- -- -- -- -- -- -- -11 $
12 $ i2cdump -y 1 0x69 b| head -3
13

0123456789abcdef

14 00: 57 53 16 07 01 11 14 00 00 ff ff ff ff ff ff ff

WS?????.........

15 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

................

16 $
17 $ i2cdump -y 1 0x6a b| head -3
18

0123456789abcdef

19 00: 02 11 04 84 04 96 04 40 00 47 04 39 02 01 ff ff

???????@.G?9??..

20 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

................

21 $
22 $ i2cdump -y 1 0x6b b| head -3
23

Abbildung 1: Das Nagios-Plugin check_rpi bei der


Arbeit.

0123456789abcdef

24 00: 6d 00 ff 1e 00 ff 00 00 00 00 05 01 00 00 00 00

m..?......??....

25 10: 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff

................

Nagios auf Raspi

Know-how

Upis, bitte melde dich

Abbildung 2: Das Nagios-Plugin check_upis im Einsatz.

www.linux-magazin.de

Es gibt noch ein weiteres Problem: Die


Benachrichtigung per E-Mail oder SMS
ber so genannte SMS-Gateways ist dann
mit sehr groer Wahrscheinlichkeit auch
nicht mehr mglich. Im Normalfall setzt
diese Kommunikation auf einer Infrastruktur auf, die ohne Strom auch nicht
mehr arbeitet. Hier kann das gute alte
Mobilfunknetz helfen.
Eine Mglichkeit wre der Anschluss eines geeigneten USB-Sticks an den Raspberry Pi. In vielen Fllen bentigen diese
Gerte aber so viel Spannung, dass man
einen aktiven USB-Hub benutzen muss.
Fllt der Strom aus, sind hier wieder Probleme programmiert. Die Alternative ist
ein einfaches Mobiltelefon.

97

02/2015

Know-how
98

www.linux-magazin.de

Nagios auf Raspi

Raspberry verhlt sich hier natrlich


nicht anders als ein gewhnliches Desktop-Linux.
Fr die Kommunikation mit dem Mobiltelefon kann der Benutzer zwischen
scmxx [17] oder gammu [18] whlen. Letzteres empfiehlt sich, auch wenn
Scmxx auf den Datenaustausch mit
Siemens-Handys spezialisiert ist. Die
Entwicklung von Gammu scheint deutlich reger zu sein also die von Scmxx.
Sptestens die Anzahl der untersttzten
Mobiltelefone gibt den Ausschlag fr
die weniger spezialisierte Software. Einen einfachen Test zeigt Listing 3. Falls
nicht schon vorhanden, muss der NagiosAdmin noch das SMS-Sende-Kommando
in der Datei commands.cfg definieren.
Das in Listing 3 gezeigte Kommando
dient als gute Vorlage.
In den Tests hat es sich bewhrt, die
Bluetooth-Verbindung zwischen Mobiltelefon und dem Raspberry Pi regelmig
kontrolliert zu beenden und anschlieend wieder aufzubauen. Ein einfacher
Cronjob erledigt dies. Dem Selbstberwachungs-Mantra entsprechend knnte
der Benutzer sogar ein Nagios-Plugin
schreiben, das die Bluetooth-Verbindung
im Auge behlt.
Damit sind alle Puzzleteile beieinander.
Die Upis schtzt die Nagios-Instanz auf
dem Raspberry Pi vor einem Stromaus-

Abbildung 3: Ein Siemens S55 aus besseren Tagen dient dem Raspberry als Tor zum Mobilfunknetz.

fall. Die Bluetooth-Kopplung ber ein


Mobiltelefon erlaubt es zustzlich, diese
wichtige Information nach drauen zu
schicken.

Zum Schluss
Mit der USV und einem ausgedienten
Handy verwandeln Enthusiasten den
Raspberry Pi recht schnell in eine autarke
IT-berwachungsinstanz. Die kann sich
selbst auf Herz und Nieren prfen. Das
hier vorgestellte Setup hilft auch, wenn
der Internetprovider oder das hauseigene
DSL-Modem Probleme haben. (jcb) Q

Tabelle 2: Status der Spannungsversorgung


Register-Wert
01
02
03
04
05

Bezeichner
EPR
USB
RPI
BAT
LPR

Erklrung
externe Spannungsquelle
USB-Port der USV
USB-Port des Raspberry Pi
Akku der USV
wie BAT, aber Raspberry ist abgeschaltet

Listing 3: Handy koppeln


01 $ rfcomm connect rfcomm0 00:01:E3:09:F9:67 1 &
02 [1] 5281
03 $ Connected /dev/rfcomm0 to 00:01:E3:09:F9:67 on channel 1
04 Press CTRL-C for hangup
05
06 $ rfcomm -a
07 rfcomm0: 00:15:83:15:A3:10 -> 00:01:E3:09:F9:67 channel 1 connected [reuse-dlc release-on-hup
tty-attached]
08 $
09 $
10 $ echo "Unbedingt das Linux-Magazin lesen" | /usr/bin/gammu --sendsms TEXT 01781234567
11 If you want break, press Ctrl+C...
12 Sending SMS 1/1....waiting for network answer..OK, message reference=198

Infos
[1] Video Core Tools: [http://github.com/
nezticle/RaspberryPi-BuildRoot/wiki/
VideoCore-Tools]
[2] Vcgencmd Usage: [http://elinux.org/
RPI_vcgencmd_usage]
[3] Raspberry-Hardware:
[http://elinux.org/RPi_Hardware]
[4] Check_rpi:
[http://github.com/useidel/check_rpi]
[5] Temperaturberwachungs-Plugin:
[http://exchange.nagios.org/
directory/Plugins/Others/
Rasberry-Pi-Temperature-Monitor/details]
[6] I2C-Bus:
[http://www.i2c-bus.org/de/i2c-bus]
[7] bersicht ber die Upis-Register: [http://
app.box.com/s/23y7vwywllc10ga3pb14]
[8] I2C-Tools: [http://www.lm-sensors.org/
wiki/I2CTools]
[9] Upis User Manual: [http://www.pimodules.
com/_pdf/Upis_Manual_V1.10.pdf]
[10] Check_upis:
[http://github.com/useidel/check_upis]
[11] Quelltext upis.c:
[http://www.forum.pimodules.com/
viewtopic.php?f=7&t=47]
[12] Raspishop: [http://www.rasppishop.de]
[13] Adafruit: [http://www.adafruit.com]
[14] Modmypi: [http://www.modmypi.com]
[15] Elinux: [http://elinux.org/RPi_USB_
Bluetooth_adapters]
[16] Bigtec: [http://www.amazon.de/
BIGtec-Bluetooth-Adapter-Dongle-Class2/
dp/B003WJBZK0]
[17] Scmxx:
[http://sourceforge.net/projects/scmxx/]
[18] [GW]ammu: [http://de.wammu.eu]

02/2015

Know-how

Zeitgeme Linux-IPC

Die Interprozesskommunikation fhrt ein fast unsichtbares Dasein in den Fundamenten des Systems, wo Nachrichten zwischen den Diensten hin und her flitzen. Doch auch hier finden gelegentlich Revolutionen statt, wie
die Beispiele Binder und Kdbus verdeutlichen. Florian Evers

Binder und Kdbus der klassischen IPC in


Linux gegenber.

Binder in Android

bowie15, 123RF

100

www.linux-magazin.de

Android-IPC

Lasst uns reden!

Der modulare Aufbau zeitgenssischer


Computersysteme sorgt dafr, dass Programme hufig von den Daten anderer
Prozesse abhngen. Die meisten Anwendungen reden deshalb mit Diensten, die
im Hintergrund Daten verarbeiten oder
ber ein Netzwerk kommunizieren. Das
Betriebssystem, genauer gesagt dessen
Interprozesskommunikation (IPC, [1]),
kmmert sich um die Datenbertragung
zwischen den Prozessen. Sie stellt Verfahren bereit, mit denen Prozesse Daten
ber den Kernelspace austauschen.

Neuer Anstrich
Klassische Verfahren wie Pipes, Message
Queues, Shared Memory oder Sockets,
die so genannten Primitives, sind fr diesen Zweck weit verbreitet, rcken aber
allmhlich in den Hintergrund. Sie bilden zwar noch die Basis der Datenbertragung, kommuniziert wird jedoch auf
hherer Ebene. Auf Grundlage der klas-

sischen Verfahren tauchen immer wieder


neue Programmiersprachen und Frameworks auf. Sie untersttzen die Prozesse
dabei, miteinander zu reden, indem sie
passende Protokolle und Dienste anbieten. Zugleich verlagern sie die Kommunikation in Middleware [2], die meist eine
gesonderte Software-Ebene bildet und in
einem separaten Prozess luft.
Anders als die Local Procedure Calls in
Windows und die Doors in Solaris besitzt
Linux, mit Ausnahme von Android, keinen leistungsfhigen IPC-Mechanismus.
Das soll sich mit dem Kernel-DesktopBus (Kdbus, [3]) ndern. Android wiederum bringt mit Binder [4] zwar ein
effizientes Verfahren zur Interprozesskommunikation mit, das jedoch auerhalb von Googles Betriebssystem nicht
zum Zuge kommt.
Fr die effiziente Datenbertragung verwenden Binder und Kdbus dedizierte
und eng an die Middleware gekoppelte
Kerneltreiber. Der folgende Artikel stellt

Die Interprozesskommunikation mit dem


Binder-Framework zieht sich konsequent
durch alle Ebenen des Android-Stack
(Abbildung 1). Die Android-Plattform
setzt den Binder beinahe berall ein, wo
Prozesse interagieren, erklrt Dianne
Hackborn, eine Binder-Entwicklerin [5].
Das Binder-Framework, das im Kern auf
dem freien Open-Binder-Projekt [6] basiert, wurde fr Android generalberholt
und an die speziellen Anforderung einer
mobilen Plattform angepasst. Trotz umfangreicher Anpassungen entsprechen
Aufbau und Ablauf der Kommunikation
im Kern dem von Open Binder.
Durch die Service-orientierte Architektur
von Android [7] kommunizieren Prozesse nach dem Client-Server-Prinzip,
wobei der Kerneltreiber im Hintergrund
hilft. Sowohl im Applikation Framework
als auch auf nativer Ebene ermglichen
Dienste den Zugriff auch auf Funktionen
der Hardware (Abbildung 1). Im Application Framework bilden sie die Basis, um
Daten ber High-Level-Komponenten wie
Intents, Content Provider und Broadcast
Receiver zu bertragen.
Die IPC ist in die Android-Runtime integriert, da Android alle Applikationen
auf Kernelebene in voneinander isolierten Prozessen [8] ausfhrt, die jedoch
miteinander reden mssen. Alle Dienste
lsst sich ein Entwickler ber die Android
Debug Bridge ausgeben:
adb shell service list

Android kombiniert im Binder-Framework leichtgewichtige Remote Procedure

02/2015

Know-how
Home

IPC
Contacts

IPC
Phone

IPC
Browser

Content
Providers

Wie aber sieht die klassische IPC aus? Indem ein System Prozesse durch Speicherbereiche und Schutzmechanismen strikt
voneinander trennt, zwingt es diese, den
Umweg ber so genannte globale Strukturen wie Dateien oder virtuelle Speicherbereiche zu nehmen. Die klassischen Verfahren der Interprozesskommunikation,
die Primitives, verwenden Schreib- und
Lese-Operationen, um Daten zu bertragen. Zu den bekanntesten Primitives
gehren Pipes, Message Queues, Sockets
und Shared Memory. Der Ablauf erfolgt
nach dem Peer-to-Peer-Prinzip, alle Prozesse drfen gleichberechtigt lesen oder
schreiben.
Im ersten Schritt verbindet das System die
nicht-verwandten Prozesse wahlweise
ber einen Schlssel, eine Datei oder mit
Hilfe von Adressen. Hinterher greifen die
Prozesse gemeinsam auf eine globale
Struktur zu und tauschen Daten mit Hilfe
von Schreib- und Lese-Operationen aus.
Listing 1 veranschaulicht, wie ein Sender
Daten ber eine Pipe verschickt. Da dies
ber Dateien passiert, nutzen Sender und

www.linux-magazin.de

IPC

Application Framework
Activity
Service

Window
Service

Vibrator
Service

Wifi
Service

Battery
Service

Package
Service

Telephony
Service

Resource
Manager

Location
Service

Notification
Service

Android
Runtime

JNI & IPC

Native Layer
Surface
Manager

Media
Framework

SQlite

SSL

Open GL

Vold

Netd

Webkit

Libwifi

Libcamera

Libgps

Libc

Dalvic
VM

Core Libs

System Calls

Linux-Kernel

Klassiker

Android-IPC

Applications
IPC

Display
Driver

Camera
Driver

GPS
Driver

Binder
Driver

Keypad
Driver

Wifi
Driver

Audio
Driver

Power
Management

Abbildung 1: Das Binder-Framework berhrt fast alle Ebenen des Android-Stack.

Empfnger gemeinsame Dateinamen, um


miteinander zu kommunizieren.

Zwischenhndler
Unterschiede bei der Datenbertragung
ber Primitives bestehen nur darin, wie
das System die Verbindungen aufbaut
und wie die jeweiligen globalen Strukturen aussehen. Die Primitives sind tief im
Betriebssystem verankert. Standards wie
System-V und Posix definieren Schnittstellen, die Entwickler nutzen, um Primitives zu erstellen und zu lschen sowie
Daten zu lesen und zu schreiben.
Dabei kmpft das System mit der Herausforderung, die Operationen auf die Primitives synchronisieren zu mssen. Diese
Abstimmung soll verhindern, dass Prozesse zeitgleich auf globale Strukturen

zugreifen, was zu fehlerhafter Synchronisation (Deadlocks) oder fehlerhaften


Datenbertragungen (Race Conditions)
fhren kann.
Weil die Synchronisation aufwndig und
fehleranfllig ist, entsteht in diesem BeListing 1: IPC via Pipe
01 #define PIPE_NAME "/tmp/myPIPE"
02 [...]
03 int main(int argc, char** argv) {
04

[...]

05

// Connect to pipe

06

pipe = open(PIPE_NAME, O_WRONLY);

07

[...]

08

// Write data to pipe

09

write(pipe, data, strlen(data));

10

[...]

11

return 0;

12 }

Aleksandar (Saa) Gargenta, CC BY-NC-SA 3.0

Calls (LRPC, [9]) und mehrere Treiber,


um Daten zwischen den isolierten Prozessen zu bertragen. Der Einsatz der
Bionic Libc [10], einem Abkmmling
von BSDs Standard-Libc, hat das System inkompatibel zu System-V und der
klassischen Interprozesskommunikation
gemacht, weshalb sich Androids IPC fast
ausschlielich auf das Binder-Framework
beschrnkt.
Auf der nativen Ebene bndelt die
Libbinder-Bibliothek die ganze Funktionalitt des Binder-Framework [11] sowie die Schnittstellen zum Application
Framework (Abbildung 1), um etwa von
Java aus auf native Dienste zuzugreifen.
Die Middleware wiederum verwendet
unter anderem die Libbinder-Bibliothek,
um Methoden von Diensten wie dem Mediaplayer, dem Kameradienst oder dem
Audio Flinger aufzurufen.
Das Binder-Framework bietet zudem
Sicherheitskonzepte fr den Zugriff auf
Daten und Ressourcen an ([12], [13]).
Damit gestattet Android als erstes LinuxBetriebssystem die effiziente und systemweite IPC unabhngig von den klassischen Verfahren.

101

02/2015

Know-how
Android-IPC

Applications and Framework

Feste Bindung
Binder-IPC

www.linux-magazin.de

Android System Services


System Server

Media Server
Audio Flinger
Camera
Service

Mediaplayer
Service

Search
Service
Activity
Manager

Other Media
Services

Window
Manager

Other System Services and Managers

HAL
Camera HAL

Audio HAL

Graphics HAL
Other HALs

source.android.com

102

ten serialisieren und wie sie zwischen


Client und Server vermitteln.

Linux-Kernel
Camera
Driver

Audio Driver
(Alsa, OSS, etc)

Display Driver
Other Drivers

Als erstes Linux-Betriebssystem verwendet Android nicht mehr Primitives zur


Interprozesskommunikation, sondern einen dedizierten Kerneltreiber (/dev/binder). Zusammen mit Remote Procedure
Calls bildet das Binder-Framework die
Middleware in der Low-Level-Architektur
von Android (Abbildung 2).
Ursprnglich stammt der Binder-Mechanismus aus dem Betriebssystem Beos
[14]. Spter entstand in dem freien
Open-Binder-Projekt ein Framework fr
den Kernel 2.6.10, das sich jedoch nie
durchsetzen konnte. Die Terminologie
wurde allerdings beibehalten und setzt
leider noch immer auf die teils irrefhrenden Bezeichnungen. So bezieht sich
der Begriff Binder wahlweise auf das
gesamte Framework, einen Treiber oder
die Rahmenstruktur eines Dienstes. Fr
Android entwickelte Google das BinderFramework neu und passte es an die
Anforderungen der mobilen Plattform an.

Zu Diensten
Abbildung 2: Die Low-Level-Architektur von Binder in Android.

reich Mehrarbeit fr Entwickler, die das


reine bertragen der Nutzdaten zu einem
Nebenkriegsschauplatz macht.

Hinter den Kulissen


In den Frameworks sorgt Middleware,
die ihren Ursprung in verteilten Systemen hat, fr mehr berblick. Sie verbirgt
die komplexe Infrastruktur aus Datenbertragung und Synchronisation hinter
einer Abstraktionsschicht und verlagert
die Datenbertragung auf eine gesonderte Software-Ebene. In der Middleware
kommunizieren Prozesse ber Dienste
und Protokolle miteinander und folgen
dabei dem klassischen Client-Server-Modell. Ein Server ist dabei ein Prozess, der
Dienste bereitstellt, ein weiterer Prozess
tritt in der Regel als Vermittler zwischen
Client und Server auf.
Wer schon mal mit klassischen Methoden einen Dienst oder ein Protokoll
programmiert hat, wei die Vorteile von
Middleware-Technologie zu schtzen. Im

Unterschied zu Primitives baut hier ein


separater Prozess die Verbindung auf und
vermittelt anschlieend zwischen den
Client- und Server-Prozessen.
Beispiele dafr wren der D-Bus-Daemon
von D-Bus und der Object-Request-Broker in Corba. Der Prozess bertrgt das
gesamte Datenaufkommen erst zum Vermittler und von dort zum Empfnger.
Das halbiert zwar die Effizienz, reduziert
dafr aber den Aufwand fr den Entwickler deutlich.

Vermittlung bitte!
Steht die Verbindung, kann eine Applikation ber eine wohldefinierte Schnittstelle Instanzen eines Dienstes aufrufen.
Remote Procedure Calls (RPC) kommen
als Technologie in Middleware sehr hufig zum Zuge. Auch der Desktop-Bus (DBus) und Corba sind verbreitete Architekturen fr Middleware. Sie unterscheiden
sich darin, welche Protokolle sie einsetzen, auf welche Weise sie komplexe Da-

Fr die Komponenten der Low-LevelArchitektur existiert wenig Dokumentation, sodass der systemweite Einsatz des
Binder-Framework nur schwer nachvollziehbar ist. Der Entwickler definiert eine
Schnittstelle fr den Dienst, der in einem
Serverprozess luft, und weist ihm einen eindeutigen Namen zu. Sobald der
Dienst startet, macht der Server ihn unter
seinem Namen dem Context-Manager bekannt. Bei diesem handelt es sich um einen stets erreichbaren Dienst des ServiceManager-Prozesses. Letzterer wiederum
gleicht einer Art Adressbuch, kennt alle
anderen Dienste und liefert Daten fr
den Verbindungsaufbau. Er fungiert als
Vermittler zwischen dem Client- und dem
Serverprozess. Der Artikel zeigt weiter
unten an Codeproben, wie die Prozesse
miteinander reden.

Transaktionen und Token


Remote Procedure Calls bertragen ihre
Daten mit Hilfe von Transaktionen. Hat
der Initprozess einen von Androids Sys-

02/2015

Know-how

Eine wichtige Nachricht

ServiceManager

BinderDriver

ServerProzess

Android-IPC

ClientProzess

Register
Buffer
Register
Service
Get Service

"

Get Token

www.linux-magazin.de

temdiensten im Native Layer gestartet


(Abbildung 2), legt der Serverprozess,
in dessen Kontext der Dienst luft, einen Transaktionspuffer an, auf den der
Kerneltreiber Zugriff erhlt. Der Puffer
ist ein Speicherbereich, ber den der
Serverprozess Transaktionen empfngt.
Der Kerneltreiber verwaltet ihn ber eine
ID, die Serverprozess und zugehrigen
Dienst identifiziert.
Wie bei den Primitives setzt die Datenbertragung voraus, dass zwischen Client
und Server eine Verbindung besteht. Der
Client kennt den Namen des Dienstes
und fordert beim Service-Manager die
Schnittstelle (Proxy) an, die die Methoden des Dienstes enthlt. Dabei hinterlegt
der Service-Manager-Prozess beim Kerneltreiber einen Token fr jede Verbindung zwischen Client und Server oder
genauer gesagt zwischen dem Client und
der ID des Transaktionspuffers.
Eine Transaktion enthlt neben den verschiedenen Parametern einer Funktion
auch immer den Token [15], ber den
der Server die entsprechende Verbindung und damit den Transaktionspuffer
identifiziert. Fr die Datenbertragung
kopiert der Kerneltreiber die Transaktion
dann aus dem Clientprozess direkt in den
Transaktionspuffer des Servers. (Abbildung 3, Schritte 4 und 5).

Do
Transaction
Copy Data
Copy return
Value

Call
Function

Abbildung 3: Der Service-Manager-Prozess vermittelt (Schritte 1 bis 3) zwischen Client- und Serverprozess.

synchron. Der Client blockiert, bis er eine


Antwort vom Dienst erhlt, der im Serverprozess luft.
Whrend einfache Transaktionspuffer
1024 KByte nicht berschreiten, lassen
sich grere Datenmengen mit Hilfe einer
Zero-Copy-Operation bertragen. Diese
verschickt nur noch einen Deskriptor,
der auf einen Speicherbereich zeigt. Das
Ashmem-Subsystem (Android Shared
Memory) und das Pmem-Subsystem
(Physical Memory) verwalten den gemeinsamen Speicherbereich.

enter sein und einige Einschrnkungen


von D-Bus beseitigen. Wo D-Bus zum
Beispiel zehn Kopiervorgnge, vier Validierungen und vier Kontextwechsel fr
einen Request-Reply-Vorgang bentigt,
braucht Kdbus nur noch zwei Kopiervorgnge, zwei Validierungen und zwei
Kontextwechsel. Setzt der Client einen
Request ab, wartet er nicht auf die Antwort des Servers, sondern widmet sich
Listing 2: Client fordert Dienst an
01 [...]
02 sp<IServiceManager> sm = defaultServiceManager();

Listing 2 zeigt, wie ein Clientprozess


den fiktiven Hello World-Dienst vom
Service-Manager-Prozess anfordert und
verwendet. Zuvor, im ersten Schritt, registriert der Serverprozess in Zeile 6 von
Listing 3 aber erst mal den Dienst unter
dessen Namen beim Service-ManagerProzess (Abbildung 3, Schritt 1). Dann
verbindet sich der Client mit dem Serverdienst, indem er diesen ber seinen
Namen beim Service-Manager-Prozess
anfordert (Abbildung 3, Schritt 2).
Zustzlich muss der Serverprozess in
Zeile 8 von Listing 3 einen Thread-Pool
erffnen, erst dann kann er Transaktionen vom Kerneltreiber entgegennehmen
und abarbeiten. Die Anzahl der Threads
im Pool ist dabei auf 16 begrenzt.
Hat der Kerneltreiber eine Transaktion
an einen Server gesendet, arbeitet er sie
in einem Thread aus dem Thread-Pool
ab. Die Kommunikation verluft dabei

Kdbus
Fr Linux ist mit dem Kernel D-Bus
(Kdbus) eine Methode der Interprozesskommunikation entstanden, die sehr an
den Binder-Mechanismus in Android
erinnert. Wie der Name schon verrt,
basiert Kdbus im Kern auf D-Bus. Das
IPC-Framework lagert die Middleware
teilweise in einen separaten Prozess aus.
Dieser zustzliche D-Bus-Daemon (Abbildung 4) bernimmt die Funktion eines
Vermittlers zwischen den Prozessen.
Prozesse interagieren im Fall von Kdbus ber Nachrichten, die wiederum
vergleichbar mit den Transaktionen von
Binder sind. Das System bertrgt sie
ber einen Bus im D-Bus-Daemon vom
Sender zum Empfnger.
Kdbus verlagert nun den D-Bus-Daemon
in den Kernel, um die Nachricht ohne
Umweg zu bermitteln. Das soll effizi-

03 // Get Service
04 sp<IBinder> binder = sm->getService(String16(
"helloWorld"));
05 sp<IHelloWorld> hw = interface_cast<IHelloWorld>
(binder);
06 // Call remote method (initiate transaction)
07 hw->helloWorld();
08 [...]

Listing 3: Serverprozess meldet


Dienst an
01 int main(int argc, char* argv[]) {
02

// Register buffer

03

sp<ProcessState> proc(ProcessState::self());

04

sp<IServiceManager> sm = defaultServiceManager();

05

// Register service

06

sm->addService(String16("helloWorld"),new
HelloWorld());

07

// Start waiting for transactions

08

ProcessState::self()->startThreadPool();

09

IPCThreadState::self()->joinThreadPool();

10 }

103

02/2015

Know-how
Android-IPC
www.linux-magazin.de

104

nel-basierten IPC-Varianten kommen so mit


einem Minimum an
Kopiervorgngen und
Kontextwechseln aus.
Neben der Datenbertragung berwachen
die Kerneltreiber den
Prozess X
D-Bus-Daemon
Prozess Y
Zugriff auf die Dienste
Abbildung 4: Der D-Bus-Daemon agiert als separater Prozess.
eines Prozesses beziehungsweise eines Serder nchsten Aufgabe. Das unterscheidet vers und bauen die Verbindung zwischen
Kdbus von Binder, das Daten synchron Client und Server auf.
Whrend die Middleware in Binder auf
bertrgt.
Zustzlich stecken weitere SicherheitsRemote Procedure Calls basiert, fut die
routinen in Kdbus, die Berechtigungen
von Kdbus auf D-Bus. Beide MiddlewareTechnologien sind teilweise in die Kernelund Zugriffe berprfen. Die Entwickler
treiber integriert. Mit klassischen Methohaben daneben den Umfang des Quellden wrden Remote Procedure Calls und
codes reduziert und XML komplett aus
D-Bus zustzliche Prozesse bentigen,
dem Userspace verbannt. Im Gegensatz
um zwischen den Client- und Serverprozu D-Bus, das erst nach den Early-Boot-,
Initrd- und Late-Boot-Phasen einsatzbe- zessen zu vermitteln.
Stattdessen synchronisieren beide Framereit ist, steht Kdbus jederzeit zur Verfworks Ressourcen nur noch im Server
gung [16].
und nicht mehr im Client. Frameworks
berschreitet die Gre einer Nachricht
liefern dem Entwickler neben der Infra512 KByte, wird sie nicht mehr effizient
struktur zur Interprozesskommunikation
ber den Bus bertragen. Abhilfe schafft
wieder der Zero-Copy-Mechanismus
auch Sicherheitskonzepte fr den Zugriff
ber das Memfds-Subsystem, das Binauf Dienste, Daten und Ressourcen.
ders Ashmem-Subsystem [17] entspricht.
Auch hier zeigen File-Deskriptoren auf
einen gemeinsamen Speicherbereich. Ein
Prozess, der einen Shared Memory an- Im Unterschied zu Binder, das Funktilegt, muss anschlieend nur noch den
onsaufrufe vermittelt, versendet Kdbus
Memfd (Memory File Descriptor) fr den
Nachrichten. Innerhalb der Server kmSpeicherbereich verschicken.
mern sich in Binder simultane Threads
Zum Schutz vor Manipulationen lassen
um die Transaktionen. In Kdbus empsich die Daten im Shared Memory zudem
fngt hingegen eine Fifo-Datenstruktur
versiegeln (Sealing) und so nachtrglich
die Nachrichten und arbeitet sie nacheinander ab. Greg Kroah-Hartman, einer der
nicht mehr verndern. Als neues Feature
hilft zudem die probabilistische Daten- Kdbus-Entwickler, beschreibt den Unterstruktur Bloomfilter dabei, Multicast- schied zwischen Binder und Kdbus wie
und Broadcast-Nachrichten effizienter folgt: Binder ist an die CPU gebunden,
zu versenden.
D-Bus (und damit auch Kdbus) ist an
RAM gebunden. [18]
Binder und Kdbus folgen Sicherheitskonzepten, die aber den speziellen AnforWhrend also die klassische Interproderungen ihrer Plattformen entsprechen.
zesskommunikation die Primitives synDer Einsatz von Binder auerhalb von
chronisieren muss, bilden dedizierte
Android wrde Sicherheitslcken einfhKerneltreiber bei Binder und Kdbus die
ren, die zuvor zu beheben wren. Kdbus
Basis einer effizienteren Datenbertra- ist konform zu Linux Security Modules
gung. Sie mssen die Daten nicht erst in
(LSM) und ermglicht somit den Einsatz
eine globale Struktur und von dort in den
von Modulen wie SE Linux [19]. ber eiEmpfngerprozess bertragen, sondern
nen Berechtigungsdienst wie Polkit kann
kopieren sie ohne Zwischenschritt von
ein Entwickler zudem Berechtigungen fr
einem Prozess in den anderen. Beide Kereinzelne Busse definieren.
Kernel

RAM versus CPU

Weniger reden, mehr sagen

Im Gegensatz zu Binder bietet Kdbus einen deutlich greren Funktionsumfang:


Zu dem von D-Bus kommen hier beispielsweise zustzliche Sicherheitskonzepte und Bloomfilter zum Versand von
Multicast-Nachrichten hinzu.

Ausblick
Kdbus steht in den Startlchern und
wird voraussichtlich mit dem Linux-Kernel 3.19 oder 3.20 ausgeliefert. Memfd
und Sealing stecken bereits seit Version
3.17 im Kernel. Um Dienste oder Anwendungen zu implementieren, greift der
Entwickler zu der Infrastruktur der Libsystemd-Bibliothek. Dass Kdbus seinen
Vorgnger D-Bus ablsen wird, gilt als
sicher, da die Software Schwachstellen
von D-Bus entfernt und den Funktionsumfang erweitert.
Ob Kdbus die klassischen IPC-Methoden
ablst, muss sich erst zeigen. Ein heterogenes System wie Linux, das mehrere
Mglichkeiten der Interprozesskommunikation anbietet, kann keine davon
kurzfristig entsorgen. Um kompatibel
zu D-Bus-Anwendungen und Diensten
zu bleiben, bietet systemd-bus-proxy
[20] eine Schnittstelle an, die den D-BusDaemon vertritt und eingehende Nachrichten ber Kdbus weiterleitet.
Mit Binder stnde theoretisch eine kompakte IPC-Alternative zu Kdbus bereit.
Allerdings bedrfte es einiger Entwicklungs- und vor allem berzeugungsarbeit in der Linux-Community, um diese
Alternative zu etablieren, weil sich beide
Anstze doch recht deutlich unterscheiden. Innerhalb von Android ist Binder
ohne Frage unverzichtbar, ob es auch
eine Zukunft in Linux hat, bleibt jedoch
ungewiss. Die Linux-Entwickler haben
vor allem Bedenken bezglich der Sicherheit und des Designs.
Umgekehrt scheinen sich auch die Hoffnungen einiger Entwickler, Kdbus knne
Binder in Android ablsen, weder in naher noch in ferner Zukunft zu erfllen
[18]. Zu viele Komponenten sind eng
an Binder gekoppelt und machen eine
Wechsel zu Kdbus nur mit groem Aufwand mglich.
Obwohl Binder und Kdbus Daten effizienter bertragen, gibt es zudem von einigen Seiten Widerstand dagegen, die Interprozesskommunikation in den Kernel

02/2015

[15] Binder-Token:
[http://www.androiddesignpatterns.com/
2013/07/binders-window-tokens.html]
[16] Lennart Poettering ber Kdbus [Video]:
[http://mirror.linux.org.au/pub/linux.
conf.au/2014/Friday/104-D-Bus_in_the_
kernel_-_Lennart_Poettering.mp4]
[17] Ashmem: [http://www.androidenea.com/
2010/03/share-memory-using-ashmem
-and-binder-in.html]
[18] Greg Kroah-Hartman ber Kdbus und Binder: [http://kroah.com/log/blog/2014/01/
15/kdbus-details/]
[19] Thorsten Schreiber, Android Binder:
Android Interprocess Communication:
Ruhr-Universitt Bochum, 2011
[20] systemd-bus-proxyd:
[http://www.freedesktop.org/software/
systemd/man/systemd-bus-proxyd.html]
[21] Kritik an Kdbus auf der Kernel-Mailingliste: [https://lkml.org/lkml/2014/11/29/6]
[22] Kdbus-Kritik: [https://forums.gentoo.org/
viewtopic-t-1004624.html?sid=
a52e6fc0b020177d94bbc8a0854c61f7]

Android-IPC

Know-how
Infos
[1] Interprozesskommunikation:
[http://de.wikipedia.org/wiki/
Interprozesskommunikation]
[2] Middleware:
[http://de.wikipedia.org/wiki/Middleware]
[3] Kdbus-bersicht: [https://github.com/
gregkh/kdbus/blob/master/kdbus.txt]
[4] Android Binder:
[http://developer.android.com/reference/
android/os/IBinder.html]
[5] Binder in Android:
[https://lkml.org/lkml/2009/6/25/3]
[6] Open Binder:
[http://www.angryredplanet.com/
~hackbod/openbinder/docs/html/]

[7] Android-Systemarchitektur: [https://


source.android.com/devices/index.html]
[8] Application Sandbox:
[https://source.android.com/devices/
tech/security/overview/kernel-security.
html#the-application-sandbox]
[9] Lightweight Remote Procedure Call:
[http://dl.acm.org/citation.cfm?
id=77650]
[10] Androids Bionic Libc: [http://en.wikipedia.
org/wiki/Bionic_%28software%29]
[11] Das Binder-Framework im Detail:
[https://thenewcircle.com/s/post/
1340Deep_Dive_Into_Binder_Presentation.htm]
[12] Personal Information:
[https://source.android.com/devices/
tech/security/overview/app-security.
html#personal-information]
[13] Application Signing:
[https://source.android.com/devices/
tech/security/overview/app-security.
html#application-signing]
[14] Beos: [http://de.wikipedia.org/wiki/BeOS]

www.linux-magazin.de

zu verschieben. Einige Entwickler lehnen


dies ab, weil der Quellcode traditionell in
den Userspace gehre ([21], [22]). Vermutlich wird Kdbus trotzdem kommen
und die Interprozesskommunikation in
Q
Linux effizienter machen. (kki)

105

02/2015

Statisch geprft

106

www.linux-magazin.de

C++11

Programmieren

Modernes C++ in der Praxis Folge 20

Damit sein Code nicht als Bananensoftware beim Kunden reift, setzt der umsichtige C++-Lieferant auf die
Funktion static_assert() und die Type-Traits-Bibliothek. Das dynamische Duo stellt Bedingungen an den
Quellcode, die der Compiler zur bersetzungszeit verifiziert. Rainer Grimm

verlangt. Daneben zeigt die Abbildung


vor allem zwei Dinge: Erstens dass static_assert() jeden Aufruf evaluiert, und
zwar unabhngig davon, ob der Code
tatschlich zum Einsatz kommt. Dies
gilt fr den Aufruf im globalen Bereich
(Zeile 3), im Funktionsbereich (Zeile
8), im Klassenbereich (Zeile 12) und im
Blockbereich (Zeile 17). Zweitens zeigt
es, dass die Fehlermeldung den Text des
static_assert()-Aufrufs direkt verwendet: error: static assertion 12: 32-bit adressing required.
Seine volle Wirkung entfaltet static_assert() aber erst, wenn der Entwickler
den Aufruf mit der Type-Traits-Bibliothek
kombiniert.

Vorsicht ist die Mutter der Porzellankiste: Kontrolliert ein C++-Entwickler


seinen Code bereits, noch whrend der
Compiler ihn bersetzt, landen Fehler gar
nicht erst in der Porzellankiste, also beim
Kunden. Die Funktion static_assert()
und die Type-Traits-Bibliothek helfen ihm
dieses Ziel zu erreichen.

Kontrolle ist besser


Mit static_assert() lassen sich Bedingungen an den Quellcode stellen, die der
Compiler beim bersetzen testet. Damit
schliet die Funktion ein Loch, das die
Prprozessordirektive #error und das
Makro assert hinterlassen. Denn static_assert() greift nach dem Prprozes-

sorlauf ins Getriebe, aber noch bevor das


System das Programm ausfhrt.
Die Syntax ist denkbar einfach: static_assert(Ausdruck,Text). Whrend
der Text, den die Software im Fehlerfall ausgibt, optional ist, muss C++ den
Ausdruck zur bersetzungszeit auswerten knnen, was keinen Einfluss auf die
Laufzeit des Programms hat. Das unspektakulre Listing 1 zeigt die Funktion in
Aktion. Der Code lsst sich bersetzen,
sofern ein void*-Zeiger auf der Plattform mindestens 8 Byte gro ist. Dem
entgegen steht Listing 2, das nur eine
Zeigergre von 4 Bytes fordert.
Wie Abbildung 1 zeigt, trifft diese zweite
Forderung auf die Testmaschine nicht
zu, die nach einer 64-Bit-Adressierung

Listing 1: Eine einfache Zusicherung

Ein perfektes Paar


Da der Compiler die Funktionen der
Type-Traits-Bibliothek beim bersetzen
ausfhrt, erweist diese sich als idealer
Kandidat fr die static_assert()-Funktion. Die braucht ja Ausdrcke, die der
Compiler zur bersetzungszeit evaluiert.
Die Type-Traits-Bibliothek hat dabei einiges auf dem Kasten, allem voran kann sie
Typen analysieren, vergleichen und sogar
transformieren.
Vor der Kr aber kommt die Pflicht. Ziel
des Artikels ist es, generische, typsichere
Funktionen zu implementieren, die den
grten gemeinsamen Teiler (GGT, [1])
zweier ganzer Zahlen berechnen. Die
Funktionen sollen auf dem Algorithmus
von Euklid ([2], Abbildung 2) basieren.

Erster Versuch

01 int main(){
02
03 }

static_assert(sizeof(void*) >= 8, "64-bit addressing is required for this program");

Der Algorithmus ist schnell als Funktions-Template in den Zeilen 3 bis 9


von Listing 3 implementiert. Er ist ber

seinen Typ T parametrisiert und gibt


als Ergebnis den grten gemeinsamen
Teiler seiner Argumente a und b zurck. In den Zeilen 15, 16 und 17 kommt
schlielich der GGT-Algorithmus zum
Zuge, das vielversprechende Ergebnis
liefert Abbildung 4.
Allerdings leidet das Funktions-Template
an zwei gravierenden Schwchen. Ruft
der Nutzer GGT mit einer Fliekommazahl (Zeile 21) oder einem C-String (Zeile
22) auf, quittiert der Compiler dies mit
einer Fehlermeldung. Der Entwickler hat
fr diese Typen nmlich keinen ModuloOperator (%) definiert.
Noch subtiler ist die zweite Schwche,
die in der Funktion gcd() steckt: Das
Funktions-Template besitzt genau einen
Template-Parameter. Das bedeutet insbe-

sondere, dass beide Funktionsargumente


a und b vom gleichen Typ sein mssen. Dies trifft aber auf den Ausdruck
gcd(100,10L) in Zeile 24 nicht zu, da
das erste Argument vom Typ int, das
zweite hingegen vom Typ long int ist.
Das wei auch der Compiler. Er wendet
keine Typkonvertierungen an, wenn er
die Template-Parameter aus den Funktionsargumenten bestimmt. Leider drckt
er sich dabei nicht so deutlich aus (Abbildung 3). Beide Schwchen bgelt die
Type-Traits-Bibliothek aus.

Zweiter Versuch
Im ersten Fall ruft der Compiler den GGTAlgorithmus mit dem falschen Argument
auf. Hier hilft ein static_assert()-Auf-

Die finale Version


Die Anforderungen an den GGT-Algorithmus steigen jedoch weiter. So soll er nun
ber zwei Typen parametrisiert werden
und den kleineren der beiden als Rckgabetyp zurckgeben. Relativ einfach kann
der Entwickler die erste Anforderung
umsetzen. Listing 5 zeigt den ber zwei
Typen parametrisierten Algorithmus. Die
Idee von Listing 3 lsst sich direkt auf
die zwei Template-Parameter in Listing
5 anwenden. Fr jeden von ihnen prft
der Compiler im Funktionskrper einzeln
(Zeilen 3 und 4), ob er eine Ganzzahl
darstellt.
Offen bleibt jedoch die Frage, von welchem Typ der Rckgabewert (???) in
Zeile 2 ist. Hier greift wieder die TypeTraits-Bibliothek ein. Sie klrt, unter-

Listing 2: static_assert() in verschiedenen Bereichen


01 static_assert(sizeof(void*) == 4, "32-bit addressing required");

11 class ClassScope{

02

12

03 namespace namespaceScope{

static_assert(sizeof(void*) == 4, "32-bit addressing required");

13 };

04 static_assert(sizeof(void*) == 4, "32-bit addressing required");

14

05 }
15 int main(){
06
16

07 void functionScope(){
08

static_assert(sizeof(void*) == 4, "32-bit addressing required");

17

09 }

18

10

19 }

static_assert(sizeof(void*) == 4, "32-bit addressing required");


}

Listing 3: Der generische GGT-Algorithmus (Versuch 1)


01 #include <iostream>

13

02

14

03 template<typename T>

15

04 T gcd(T a, T b){
05

if( b == 0 ){ return a; }

06

else{

07
08

return gcd(b, a % b);

std::cout << std::endl;

22

std::cout << gcd("100","10") << std::endl;

23
std::cout << "gcd(100,10)= " << gcd(100,10)

24

std::cout << gcd(100,10L) << gcd(100,10L)

<< std::endl;
16

std::cout << "gcd(100,33)= " << gcd(100,33)


<< std::endl;

17

std::cout << "gcd(100,0)= " << gcd(100,0)


<< std::endl;

09 }

18

10

19

11 int main(){

20

12

21

<< std::endl;

/*

25
26
27
28
29

std::cout << gcd(3.5,4.0)<< std::endl;

*/

30 }

std::cout << std::endl;

Programmieren

C++11

02/2015

Abbildung 1: Die Funktion static_assert() deckt verschiedene Bereiche ab.

www.linux-magazin.de

ruf, der die Forderung nach seinen Argumenten explizit auf den Punkt bringt,
es mssen Ganzzahlen sein: std::is_
integral<T>::value. Listing 4 zeigt
das leicht modifizierte Programm, das
nun auch die Headerdatei type_traits
bentigt. Netter Nebeneffekt: Die Fehlermeldung in Abbildung 5 ist nun bereits
deutlich einfacher zu lesen.

107

02/2015

Programmieren

C++11

CC-BY-SA Mark A. Wilson

www.linux-magazin.de

108

Abbildung 3: Der GGT-Algorithmus wird mit falschen Argumenten ausgefhrt.


Abbildung 2: Der Mathematiker Euklid hat ein paar
schne Algorithmen erfunden.

sttzt vom Funktions-Template std::conditional(), ob es sich beim Rckgabetyp


um Typ T1 oder T2 handelt. Der Ausdruck std::conditional <(sizeof(T1) <
sizeof(T2)), T1, T2>::type in Zeile 5
von Listing 6 liefert den kleineren der
beiden Typen zurck.
Fr ihre Operation bentigt die Funktion
insgesamt drei Argumente: einen Ausdruck sowie zwei Typen. Als Ausdruck
dient (sizeof(T1) < sizeof(T2)). den
der Compiler zur bersetzungszeit evaluiert. Ist das Ergebnis des Ausdrucks
wahr (true), gibt std::conditional()
den ersten Typ T1, sonst den zweiten
Typ T2 zurck.

Das Funktions-Template std::conditional() tritt hier als das Pendant zum bekannten ternren Operator (sizeof(a) <
sizeof(b)) ? a : b auf. Zwei entscheidende Unterschiede gibt es jedoch: Einerseits arbeitet std::condition() mit
Typen, whrend der ternre Operator mit
Werten operiert. Andererseits fhrt C++

Abbildung 4: Der generische GGT-Algorithmus liefert erste Ergebnisse (Versuch 1).

Listing 4: Der generische GGT-Algorithmus (Versuch 2)


01 #include <iostream>

12

02 #include <type_traits>

13 int main(){

03

14

04 template<typename T>
05 T gcd(T a, T b){
06

static_assert(std::is_integral<T>::value,
"T should be an integral type!");

07
08

if( b == 0 ){ return a; }

10

std::cout << std::endl;

16
17

std::cout << gcd(3.5,4.0)<< std::endl;

18

std::cout << gcd("100","10") << std::endl;

19

else{

09

15

return gcd(b, a % b);

20

std::cout << std::endl;

21

11 }

22 }

Listing 5: GGT ber zwei Typen parametrisiert


01 template<typename T1, typename T2>
02 ??? gcd(T1 a, T2 b){
03

static_assert(std::is_integral<T1>::value, "T1 should be an integral type!");

04

static_assert(std::is_integral<T2>::value, "T2 should be an integral type!");

05

if( b == 0 ){ return a; }

06

else{

07
08
09 }

std::condition() zur bersetzungszeit


aus, den ternren Operator hingegen zur
Laufzeit des Programms.
Mit diesem hilfreichen Werkzeug in der
Hand, lsst sich der kleinere der beiden
Typen bestimmen. Dazu bentigt das
Funktions-Template nur einen dritten
Template-Parameter R, der den Rckgabetyp reprsentiert. Er erhlt als Defaultwert den durch std::conditional()
ermittelten Typ und wird in Zeile 6 von
Listing 6 eingefhrt.
Das Listing demonstriert zugleich, wie
die Features in dem modernen C++
hbsch zusammenarbeiten, um einen
typsicheren, aber auch generischen GGTAlgorithmus umzusetzen. Zugegeben, die
Syntax des Funktions-Template ist nicht
ganz einfach zu verdauen. So bestimmt
zum Beispiel typename std::conditional
<(sizeof(T1) < sizeof(T2)), T1,
T2>::type (Zeile 5) den Standardrckgabetyp des Template.
Das Wort typename soll an dieser Stelle
den Compiler davon berzeugen, dass
der Gesamtausdruck einen Typ bezeichnet. Dieser hngt von den Typ-Parametern T1 und T2 ab. Mit ein bisschen
Phantasie knnte der Ausdruck zum Beispiel auch eine statische Variable einer
Klasse conditional sein.

return gcd(b, a % b);


}

Der Autor
Rainer Grimm arbeitet
als
Software-Architekt
und Gruppenleiter bei der
Metrax GmbH in Rottweil.
Insbesondere die Software
der hauseigenen Defibrillatoren ist ihm eine Herzensangelegenheit. Seine
Bcher C++11 fr Programmierer und C++ kurz
& gut sind beim Verlag OReilly erschienen.

02/2015

Programmieren

C++11

Abbildung 6: Der Compiler ermittelt die Typen der

Richtig interessant wird Listing 6 in Zeile


27. Um das Ergebnis der Berechnung in
der Variablen uglyRes zu speichern,
ist derselbe lngliche und hssliche Ausdruck notwendig, der den Rckgabetyp
des Template erzeugt. Er ist nicht nur
unschn, sondern auch sehr fehleranfllig und redundant. So muss der C++Entwickler die Typen des FunktionsTemplate gcd(100,10LL) sowohl in dem
Ausdruck sizeof(100) < sizeof(10LL)
als auch in den potenziellen Rckgabetypen long, long long verwenden.
Den Rckgabetyp ermittelt auto ohne
Zutun. Die Zeilen 28 und 29 reduzieren
den Schreibaufwand auf das Ntigste,
denn eine als auto deklarierte Variable
erhlt vom Compiler automatisch den
richtigen Typ.
Nun gilt es noch zu prfen, ob der ermittelte Rckgabetyp der kleinere der beiden
Eingabetypen ist. Diese Aufgabe erledigt
der typeid-Operator, der die Headerdatei typeinfo bentigt. Der Operator wird

zur bersetzungszeit aktiv, nimmt Typen


oder Ausdrcke an und gibt Typinformationen in Form eines Objekts zurck. Auf
diesem type_info-Objekt lsst sich wie
im Beispiel die Methode name aufrufen, die eine String-Reprsentation des
Typs anfordert. Zwar ist in C++ nicht
definiert, wie die String-Reprsentation
eines Typs auszusehen hat, die Sprache
gibt aber in den meisten Fllen eine ausreichend informative Antwort.
Genau dies demonstriert auch Abbildung 6. Der kleinere Typ des Ausdrucks
gcd(100,10LL) besitzt die StringReprsentation i, der des Ausdrucks
gcd(100LL,10L) verwendet l. Im
ersten Fall ermittelt der Compiler einen
int-, im zweiten einen long int-Typ.

Wie geht es weiter?


Die Type-Traits-Bibliothek bietet ihre
reichhaltige Funktionalitt zur bersetzungszeit an. Sie lsst sich einerseits

String-Reprsentation.

verwenden, um den Code in Kombination mit static_assert() typsicher zu


machen. Sie kann andererseits aber auch
den resultierenden Code optimieren. Das
zeigt std::conditional() im Falle des
GGT-Algorithmus, der den kleineren der
beiden Eingabetypen als Rckgabetyp
zurckgibt.
Der C++11-Fan ahnt es womglich bereits: Das ist bei Weitem noch nicht das
komplette Repertoire der Type-Traits-Bibliothek. Grund genug also, im nchsten
Artikel systematischer auf ihre FhigkeiQ
ten einzugehen. (kki)

Infos
[1] Grter gemeinsamer Teiler: [http://de.
wikipedia.org/wiki/Gr%C3%B6%C3%9F
ter_gemeinsamer_Teiler]
[2] Euklid:
[http://de.wikipedia.org/wiki/Euklid]

Listing 6: Der generische GGT-Algorithmus (finale Version)


01 #include <iostream>

19

std::cout << "gcd(100,10)= " <<

02 #include <type_traits>

20

std::cout << "gcd(100,33)= " << gcd(100,33) << std::endl;

03 #include <typeinfo>

21

std::cout << "gcd(100,0)= " << gcd(100,0)

04

22

05 template<typename T1, typename T2, typename R = typename


std::conditional <(sizeof(T1) < sizeof(T2)), T1, T2>::type >

23

25

07

26

type!");
08

std::cout << "gcd(100,10LL)= " << gcd(100,10LL) << std::endl;

std::conditional <(sizeof(100) < sizeof(10LL)), long, long


long>::type uglyRes= gcd(100,10LL);

28

auto res= gcd(100,10LL);

09

if( b == 0 ){ return a; }

29

auto res2= gcd(100LL,10L);

10

else{

30

11
12

return gcd(b, a % b);

31

32

15 int main(){

33

16

34

18

std::cout << "typeid(gcd(100LL,10L)).name(): " << typeid(res2).name()


<< std::endl;

14

17

std::cout << "typeid(gcd(100,10LL)).name(): " << typeid(res).name()


<< std::endl;

13 }

std::cout << std::endl;

<< std::endl;

std::cout << std::endl;

27

static_assert(std::is_integral<T2>::value, "T2 should be an integral


type!");

<< std::endl;

24

06 R gcd(T1 a, T2 b){
static_assert(std::is_integral<T1>::value, "T1 should be an integral

gcd(100,10)

35
36 }

std::cout << std::endl;

www.linux-magazin.de

Abbildung 5: Der generische GGT-Algorithmus (Versuch 2).

109

02/2015

Schirmherr
Ein Perl-Skript, das im Morgengrauen die aktuelle Wettervorhersage einholt, hilft bei der Entscheidung, auf
Risiko zu spielen oder doch einen Schirm einzupacken. Michael Schilli

menden Json-Datenwust und gibt pro


Stunde die Uhrzeit und die Regenwahrscheinlichkeit im Eintrag pop (Probability of precipitation, [3]) aus. Abbildung
1 zeigt, dass es am Nachmittag mit weniger als 50 Prozent Wahrscheinlichkeit
regnen wird, ein glubiger Mathematiker
knnte den Schirm zu Hause lassen.

Mehr als nur Regen

alphaspirit, 123RF

110

www.linux-magazin.de

Perl-Snapshot

Programmieren

Perl-Skript erkundigt sich nach dem Wetter

In der nassen Jahreszeit stellt sich oft die


Frage, ob im Laufe des Tages Regen oder
Schnee vom Himmel fallen wird und man
deswegen gut beraten wre, auf den Weg
zur Arbeit einen Schirm mitzunehmen.

Untergrund-Wetter
Letztlich wren aber sogar gelegentliche
Regenschauer um die Mittagszeit irrelevant, solange sich der Weg zur und von
der Arbeit trockenen Fues bewltigen
lsst. Zum Glck bietet der Wetterdienst

Weather Underground [1] kostenlose


Vorhersagen fr die laufenden Stunden
des Tages. Obwohl diese zweifellos nicht
immer hundertprozentig zutreffen, schlagen sie doch die menschliche Intuition im
Schnitt um Lngen.
Auf dem CPAN finden Perl-Programmierer
das Modul WWW::Wunderground::API,
das die Wetterdaten mit einem eigens von
[2] eingeholten API-Key skriptgesteuert
vom Server saugt. Das simple Skript in
Listing 1 nutzt das Modul, iteriert ber
die stndlichen Eintrge im zurckkom-

Listing 1: chance-of-rain.pl
01 #!/usr/local/bin/perl -w

10 );

02 use strict;

11

03 use WWW::Wunderground::API;
04 use DateTime;

12 for my $e (@{ $w->hourly }) {


13

07

location => "Munich, Germany",

08

api_key

09

auto_api => 1,

=> "0123456789abcdef",

14

epoch => $e->{ FCTTIME }->{ epoch } );

15
16
17 }

API-Key gegen
E-Mail-Adresse
Ganz offen ins Internet legt der Wunderground-Server die Daten nicht, aber
wer sich auf der Developer-Seite [2] mit
einer gltigen E-Mail-Adresse registriert,
bekommt einen 16-stelligen hexade-

my $dt = DateTime->from_epoch(

05
06 my $w = WWW::Wunderground::API->new(

Dabei kommt vom Underground-Server


weit mehr zurck als nur die Regenwahrscheinlichkeit. Die in Zeile 12 von
Listing 1 aufgerufene Methode hourly()
liefert einen Array von stndlichen Wetterelementen des Tages. Wie der Datensalat in Abbildung 2 zeigt, verweist jedes
Element auf eine Reihe von Schlsseln
wie humidity (Luftfeuchtigkeit) oder
sky (Bewlkung). Schlielich stehen
unter FCTTIME das Datum und die
Uhrzeit der Vorhersage.
Listing 1 schnappt sich den Eintrag
epoch aus dem Datum und wandelt
die dort stehenden Unix-Sekunden seit
1970 mit dem Perl-Modul DateTime in
ein lesbares und spter leicht maschinell
manipulierbares Format um.

print "$dt: $e->{ pop }%\n";

Online PLUS
In einem Screencast demonstriert
Michael Schilli das Beispiel: [http://
www.linux-magazin.de/2015/2/plus]

02/2015

Abbildung 1: Anfangend bei der aktuellen Stunde


gibt Weather Underground die stndliche Regenwahrscheinlichkeit an.

zimalen API-Key, mit dem der Service


eine beschrnkte Anzahl tglicher Abfragen freischaltet. Wer allerdings den
kostenlosen Cumulus-Plan whlt und
auerdem versichert, die Daten nicht zu
kommerziellen Zwecken zu verwenden
(Abbildung 3), der muss auch keine
Zahlungsmodalitten angeben. In den
vorgestellten Listings 1 und 2 ist dann
der mit $api_key definierte String vor

www.linux-magazin.de

Schirm oder Risiko?


Um nun zu ermitteln, ob es an einem
bestimmten Tag in den kritischen Zeitfenstern auf dem Weg zur und von der
Arbeit regnet und ob damit ein Schirm
erforderlich ist, luft das Skript in Listing
2 per Cronjob im Morgengrauen los. Es
definiert in Zeile 12 die kritischen Stunden, im Beispiel 8 und 9 Uhr morgens fr
den Weg zur Arbeit und dann wieder 17,
18 und 19 Uhr abends fr den Nachhauseweg nach Feierabend, falls es doch mal
wieder spter wird.
Im Parameter location in Zeile 15 ist der
Ort des Wettergeschehens anzugeben,
unter api_key wieder der eingeholte
Zugangsschlssel. Die Option auto_api
sorgt dafr, dass das CPAN-Modul mit
der in Zeile 20 aufgerufenen Methode
hourly() gleich hinter den Kulissen die
REST-Schnittstelle des WundergroundServers aufruft und den gewnschten
Json-Array zurckliefert.

Abbildung 2: Die stndlichen Wettervorhersagen


enthalten nicht nur die Regenwahrscheinlichkeit,
sondern auch Luftfeuchtigkeit oder Temperatur.

Listing 2: umbrella
#!/usr/local/bin/perl -w

15

location => "Munich, Germany",

29

02 use strict;

16

api_key

30

03 use WWW::Wunderground::API;

17

auto_api => 1,

04 use DateTime;

18 );

05 use Log::Log4perl qw(:easy);

19

=> "0123456789abcdef",

20 for my $e (@{ $w->hourly }) {

07

21

08 getopts "v", \my %opts;

22

09 Log::Log4perl->easy_init(

23

10

24

$opts{ v } ? $DEBUG : $ERROR);

11

25

12 my @critical_hours = qw(8 9 17 18 19);

26

13

27

14 my $w = WWW::Wunderground::API->new(

28

DEBUG "Checking hour ", $dt->hour(),


" ($e->{ pop }%)";

31
32

06 use Getopt::Std;

if( !scalar @critical_hours ) {


last;

if( $e->{ pop } > 50 ) {

33

printf "Bring your Umbrella! " .

34

"(%d%% rain at %s)\n",

35

$e->{ pop }, $dt->hms();

36

37
my $dt = DateTime->from_epoch(
epoch => $e->{ FCTTIME }->{ epoch } );

38
39

if( $dt->hour() == $critical_hours[0] ) {

shift @critical_hours;
}

40 }

Listing 3: mandrill-email
01 #!/usr/local/bin/perl -w

13 my $api_key = "abcdefghi0123456789";

25

text

02 use strict;

14 my $from

= 'from@email-address.com';

26

subject => $text,

03 use warnings;

15 my $to

= 'to@email-address.com';

27

from_email => $from,

04 use LWP::UserAgent;

16

05 use JSON qw(to_json);

17 my $ua = LWP::UserAgent->new();

06

18

07 my $text = join "", <>;

19 my $resp = $ua->post(

08

20

28
29

=> $text,

to => [ { email => $to } ],


} } ),

30 );
"https://mandrillapp.com/api/1.0/" .

31
32 if( $resp->is_error() ) {

09 if( !length $text ) {

21

10

22

Content => to_json( {

33

11 }

23

key => $api_key,

34

12

24

message => {

35 }

exit 0;

"messages/send.json",

Programmieren

Perl-Snapshot

Gebrauch durch den eingeholten API-Key


zu ersetzen (Abbildung 4).

die "Sending mail failed: ",


$resp->message();

111

02/2015

Programmieren
112

www.linux-magazin.de

Perl-Snapshot

Wer genau wissen


will, was das Skript
treibt, ruft es mit der
Option -v auf, wie in
Abbildung 5 gezeigt,
und erhlt die Regenwahrscheinlichkeit in
den kritischen Stunden mittels Log4perlMeldungen angezeigt.
Der Cronjob muss das
Skript allerdings ohne
-v, also zum Beispiel
um 7 Uhr morgens mit
0 7 * * * umbrella | U
mandrill-email

aufrufen, damit der


nachfolgende E-Mailer keine Nachricht
Abbildung 3: Den fr Weather Underground erforderlichen API-Key rckt
schickt, falls es gar
der Server gegen eine gltige E-Mail-Adresse heraus.
nicht regnet. Zu beachten ist auch, dass
Ohne Parameter aufgerufen gibt das
die Skripte entweder in einem Verzeichnis
Skript nur dann eine Meldung aus, falls
stehen mssen, das der Cronjob findet,
es festgestellt hat, dass die Regenwahroder der Croneintrag muss den absoluten
scheinlichkeit in den kritischen StunPfad zu den Skripten explizit festlegen.
den einmal ber 50 Prozent liegt. Dann
schreibt die printf-Anweisung in Zeile
33 einen String wie
Im Spam-Zeitalter ist es gar nicht mehr
Bring your Umbrella! (52% rain at 19:00:00)
so einfach, automatisch E-Mails zu verauf die Standardausgabe, und das nachschicken. In der Firma oder zu Hause
folgende E-Mail-Skript in Listing 3
geht es noch, da kann der ISP verifischickt die Meldung an den gespannt
zieren, wer da was treibt. Um flexibel
wartenden User.
zu sein, wendet man sich am besten an
Besteht keine Gefahr, dass Niederschlag Drittanbieter. So erlaubt zum Beispiel die
den Arbeitnehmer durchnsst, gibt das
Firma Mandrill gegen einen Obolus die
Skript auch nichts aus und der nach- Nutzung ihrer Mailschleudern, aber Testsetzende E-Mailer bricht ab, ohne eine accounts drfen auch ein paar E-Mails
Nachricht abzusenden.
fr lau schicken.

Mailprovider gesucht

E-Mail mit REST


Auf [4] kann sich der interessierte Nutzer mit einer gltigen E-Mail registrieren und erhlt dann einen 22-stelligen
API-Key im Base64-Format, den Skripte
spter nutzen knnen, um mit Mand-

Abbildung 4: Der API-Key auf Weather Underground

Abbildung 5: Im Verbose-Modus verrt das Skript,

besteht aus einer 18-stelligen Hexzahl.

welche Meldungen des Wetterberichts es prft.

rills REST-Server E-Mails zu versenden.


Allerdings ist an dieser Stelle zu beachten, dass die From-Adresse immer die
bei der Registrierung angegebene gltige
E-Mail-Adresse sein muss. Ist das nicht
der Fall, dann verweigert Mandrill den
Dienst, zumindest fr die kostenlosen
Testaccounts.
Zeile 7 in Listing 3 schnappt sich die auf
der Standardeingabe eintrudelnden Textdaten und legt sie in $text ab. Bleibt
dieser String leer, weil das vorhergehende
Skript in der Unix-Pipeline nichts ausgab,
bricht Zeile 10 ohne Fehlermeldung ab.
In diesem Fall wre nichts zu senden.
In Zeile 13 ist der $api_key durch den
Mandrill-Testkey zu ersetzen und die
Absenderadresse in $from (Zeile 14)
durch die dort verwendete RegistrationsE-Mail. Die Empfngeradresse darf der
Anwender nach Belieben festlegen.
Das Skript kodiert die E-Mail-Daten mittels der Funktion to_json des Json-Moduls als Blob und schickt sie per POSTRequest an den Mandrill-Server. Falls
Zeile 32 keinen Fehler entdeckt, wurde
die E-Mail versandt und der zur Arbeit
hetzende Arbeitnehmer kann auf seinem
Smartphone sehen, ob der Wetterdienst
Q
zu einem Schirm rt. (jcb)

Infos
[1] Weather Underground:
[http://wunderground.com]
[2] Weather Underground, Developer-API:
[http://www.wunderground.com/weather/
api]
[3] Probability of precipitation:
[http://en.wikipedia.org/wiki/Probability_
of_precipitation]
[4] E-Mail-Service Mandrill:
[http://mandrillapp.com]
[5] Listings zu diesem Artikel:
[ftp://www.linux-magazin.de/pub/listings/
magazin/2015/02/Perl]
Der Autor
Michael Schilli arbeitet
als Software-Engineer bei
Yahoo in Sunnyvale, Kalifornien. In seiner seit 1997
erscheinenden Kolumne
forscht er jeden Monat
nach praktischen Anwendungen der Skriptsprache Perl. Unter [mschilli@
perlmeister.com] beantwortet er gerne Fragen.

02/2015

114

www.linux-magazin.de

IT-Profimarkt

Service

PROFI
MARKT
Sie fragen sich, wo Sie mageschneiderte Linux-Systeme und kompetente
Ansprechpartner zu Open-Source-Themen finden? Der IT-Profimarkt weist Ihnen als zuverlssiges Nachschlagewerk
den Weg. Die hier gelisteten Unternehmen beschftigen Experten auf ihrem
Gebiet und bieten hochwertige Produkte
und Leistungen.
Die exakten Angebote jeder Firma entnehmen Sie deren Homepage. Der ersten Orientierung dienen die Kategorien

Hardware, Software, Seminaranbieter,


Systemhaus, Netzwerk/TK und Schulung/Beratung. Der IT-Profimarkt-Eintrag ist ein Service von Linux-Magazin
und LinuxUser.

Online-Suche
Besonders bequem finden Sie einen
Linux-Anbieter in Ihrer Nhe ber die
neue
Online-Umkreis-Suche
unter:
[http://www.it-profimarkt.de]

Informationen
fordern Sie bitte an bei:
Computec Media GmbH
Anzeigenabteilung
Putzbrunner Str. 71
D-81739 Mnchen
Tel: +49 (0) 89 / 99 34 11-24
Fax: +49 (0) 89 / 99 34 11-99
E-Mail: anzeigen@linux-magazin.de

1 = Hardware 2 = Netzwerk/TK 3 = Systemhaus


4= Seminaranbieter
5 = Software
6 = Beratung
4= Fachliteratur
5 = Software
6 = Schulung/Beratung

IT-Profimarkt Liste sortiert nach Postleitzahl


Firma

Anschrift

Telefon

Web

Schlittermann internet & unix support

01099 Dresden, Tannenstr. 2

0351-802998-1

www.schlittermann.de

imunixx GmbH UNIX consultants

01468 Moritzburg, Heinrich-Heine-Str. 4

0351-83975-0

www.imunixx.de

Heinlein Support GmbH

10119 Berlin, Schwedter Strae 8/9b

030-405051-0

www.heinlein-support.de

TUXMAN Computer

10369 Berlin, Anton-Saefkow-Platz 8

030-97609773

www.tuxman.de

Compaso GmbH

10439 Berlin, Driesener Strasse 23

030-3269330

www.compaso.de

elego Software Solutions GmbH

13355 Berlin, Gustav-Meyer-Allee 25

030-2345869-6

www.elegosoft.com

verion GmbH

16244 Altenhof, Unter den Buchen 22 e

033363-4610-0

www.verion.de

Logic Way GmbH

19061 Schwerin, Hagenower Str. 73

0385-39934-48

www.logicway.de

Sybuca GmbH

20459 Hamburg, Herrengraben 26

040-27863190

www.sybuca.de

talicom GmbH

30169 Hannover, Calenberger Esplanade 3

0511-123599-0

www.talicom.de

teuto.net Netzdienste GmbH

33602 Bielefeld, Niedenstr. 26

0521-96686-0

www.teuto.net

LINET Services GmbH

38118 Braunschweig, Cyriaksring 10a

0531-180508-0

www.linet-services.de

OpenIT GmbH

40599 Dsseldorf, In der Steele 33a-41

0211-239577-0

www.OpenIT.de

Linux-Systeme GmbH

45277 Essen, Langenbergerstr. 179

0201-298830

www.linux-systeme.de

Linuxhotel GmbH

45279 Essen, Antonienallee 1

0201-8536-600

www.linuxhotel.de

OpenSource Training Ralf Spenneberg

48565 Steinfurt, Am Bahnhof 3-5

02552-638755

www.opensource-training.de

Intevation GmbH

49074 Osnabrck, Neuer Graben 17

0541-33508-30

www.intevation.de

uib gmbh

55118 Mainz, Bonifaziusplatz 1b

06131-27561-0

www.uib.de

LISA GmbH

55411 Bingen, Elisenhhe 47

06721-49960

www.lisa-gmbh.de

saveIP GmbH

64283 Darmstadt, Saalbaustr. 8-10

06151-666266

www.saveip.de

LinuxHaus Stuttgart

70565 Stuttgart, Hessenwiesenstrasse 10

0711-2851905

www.linuxhaus.de

Manfred Heubach EDV und Kommunikation

73730 Esslingen, Hindenburgstr. 171

0711-4904930

www.heubach-edv.de

Waldmann EDV Systeme + Service

74321 Bietigheim-Bissingen, Pleidelsheimer Str. 25

07142-21516

www.waldmann-edv.de

in-put GbR - Das Linux-Systemhaus

75179 Pforzheim, Kurze Steig 31

07231 / 440785 -0 www.in-put.de

Bodenseo

78224 Singen, Pomeziastr. 9

07731-1476120

www.bodenseo.de

IT-Profimarkt listet ausschlielich Unternehmen, die Leistungen rund um Linux bieten. Alle Angaben ohne Gewhr.

2 3 4

5 6

 (S.118)

Python fr Systemadministratoren
Mit Rainer Grimm
Vereinfachen Sie Ihren Workow mit Python-Scripts!
Q Tipps und Tricks vom Programmier-/Scripting-Pro Rainer Grimm!
QMit vielen praktischen Beispielen aus dem Sysadmin-Alltag!
Q

MEDIALINX
IT-ACADEMY
powered by

IT-Onlinetrainings
Mit Experten lernen.

Python fr Systemadministratoren
mit Rainer Grimm,
science + computing ag
199

/MedialinxAcademy

www.medialinx-academy.de

Seminare

IT-Onlinetrainings MEDIALINX

Mit Experten lernen.

IT-ACADEMY

Einfache IMAP-Server
mit Dovecot
mit Peer Heinlein,
Heinlein Support GmbH
249

www.medialinx-academy.de

IT-Onlinetrainings MEDIALINX
Mit Experten lernen.

IT-ACADEMY

Puppet Fundamentals

 


mit Achim Ledermller,
Netways GmbH
299
NETWAYS

X25

www.medialinx-academy.de

02/2015

Service

IT-Profimarkt/Markt

118

www.linux-magazin.de

IT-Profimarkt

IT-Profimarkt Liste sortiert nach Postleitzahl (Fortsetzung von S. 114)


Firma

Anschrift

Linux Information Systems AG

81739 Mnchen, Putzbrunnerstr. 71

Telefon
089-993412-0

Web
www.linux-ag.com

LIS-Linuxland GmbH

81739 Mnchen, Putzbrunnerstr. 71

089-99341441

www.linuxland.de

Synergy Systems GmbH

81829 Mnchen, Konrad-Zuse-Platz 8

089-89080500

www.synergysystems.de

B1 Systems GmbH

85088 Vohburg, Osterfeldstrasse 7

08457-931096

www.b1-systems.de

ATIX AG

85716 Unterschleiheim, Einsteinstr. 10

089-4523538-0

www.atix.de

Tuxedo Computers GmbH

86343 Knigsbrunn , Zeppelinstr. 3

08231 - 99 19 001

www.linux-onlineshop.de

OSTC Open Source Training and Consulting


GmbH

90425 Nrnberg, Waldemar-Klink-Str. 10

0911-3474544

www.ostc.de

Dipl.-Ing. Christoph Stockmayer GmbH

90571 Schwaig, Dreihhenstr. 1

0911-505241

www.stockmayer.de

pascom - Netzwerktechnik GmbH & Co.KG

94469 Deggendorf, Berger Str. 42

0991-270060

www.pascom.net

RealStuff Informatik AG

CH-3007 Bern, Chutzenstrasse 24

+41-31-3824444

www.realstuff.ch

CATATEC

CH-3013 Bern, Dammweg 43

+41-31-3302630

www.catatec.ch

Syscon Systemberatungs AG

CH-8036 Zrich, Postfach

+41-44-4542010

www.syscon.ch

Wrth Phoenix GmbH

IT-39100 Bozen, Kravoglstrae 4

+39 0471- 56 41 11

www.wuerth-phoenix.com

IT-Profimarkt listet ausschlielich Unternehmen, die Leistungen rund um Linux bieten. Alle Angaben ohne Gewhr.

2 3 4

5 6

02 /2015

Service
Inserenten
www.linux-magazin.de

120

Inserentenverzeichnis
1blu AG

http://www.1blu.de

29

Linux-Magazin Online

http://www.linux-magazin.de

Bytec GmbH

http://www.bytec.de

124

Linuxhotel

http://www.linuxhotel.de

CANDAN THE WEB COMPANY

http://www.canhost.de

61

LinuxUser

http://www.linuxuser.de

91

Medialinx AG

http://www.medialinx-gruppe.de

119

Medialinx IT-Academy

http://www.medialinx-academy.de
23, 48, 115, 117, 117, 117, 117, 117

Mittwald CM Service GmbH & Co. KG

http://www.mittwald.de

11

Norplex Communications

http://www.norplex.de

outbox AG

http://www.outbox.de

17, 19

pascom - Netzwerktechnik GmbH & Co.KG

http://www.pascom.net

15

PC Games Hardware - Computec

http://www.pcgameshardware.de

99

PlusServer AG

http://www.plusserver.de 31, 63, 65, 79,


93, 113
http://www.raspberry-pi-geek.de

89

Computec

http://www.computec.de/

47, 52

Deutsche Messe AG

http://www.cebit.de

37

DFN-Cert Services GmbH

http://www.dfn-cert.de

95

EasyLinux

http://www.easylinux.de

105

embedded projects GmbH

http://www.embedded-projects.net 115

Fernschule Weber GmbH

http://www.fernschule-weber.de

117

Games TV 24 - Computec

http://www.gamestv24.de

24

GIMP-Magazin

http://www.gimp-magazin.de

68

Holger Jakobs, IT-Beratung und -Schulung

117

75, 117
9

Ico Innovative Computer GmbH

http://www.ico.de

35

Raspberry Pi Geek

in-put Schulungen

http://www.in-put.de

45

Schlittermann internet & unix support

http://www.schlittermann.de

115

IT-Administrator

http://www.it-administrator.de

85

Stockmayer GmbH

http://www.stockmayer.de

117

Kettner Mathias - Linux Experte

http://www.mathias-kettner.de

13

Thomas Krenn AG

http://www.thomas-krenn.com

Linux User Spezial

http://www.linux-user.de/spezial

116

Tuxedo Computers GmbH

http://www.linux-onlineshop.de

123

Linux-Community

http://www.linux-community.de

118

Zertificon Solutions GmbH

http://www.zertificon.com

33

Veranstaltungen
08.-11.02.2015

21.-22.03.2015

01.-02.06.2015

SPTechCon

Chemnitzer Linux-Tage 2015

Automotive Linux Summit

Austin, TX

Hrsaal- und Seminar-Gebude der Technischen

Tokio, Japan

http://www.sptechcon.com

Universitt Chemnitz
09126 Chemnitz

09.-11.02.2015

29.-31.07.2015
AnDevCon

Security and Privacy


http://icissp.org

linux-summit

https://chemnitzer.linux-tage.de

International Conference on Information Systems


Angers, Loire Valley, France

http://events.linuxfoundation.org/events/automotive-

28.03.2015

Boston, MA

14. Augsburger Linux-Infotag

http://www.andevcon.com

Hochschule Augsburg
86161 Augsburg
19.-22.02.2015

http://www.luga.de/LIT-2015/

SCALE 13x

SPTechCon
Boston, MA

Los Angeles, CA
http://www.socallinuxexpo.org/scale13x

24.-27.08.2015

http://www.sptechcon.com
06.04.2015
HPC for Wall Street -- Cloud Technology Show and

09.-11.03.2015

Conference

Wearables TechCon

New York, NY

Santa Clara, CA

http://www.flaggmgmt.com/linux/

http://www.wearablestechcon.com

05.-07.10.2015
Embedded Linux Conference Europe
Dublin, Irland
http://events.linuxfoundation.org/events/embeddedlinux-conference-europe

24.-25.04.2015
11.-12.03.2015

Grazer Linuxtage 2015

Cloud Expo Europe


London, UK
http://www.cloudexpoeurope.com

05.-07.10.2015
LinuxCon Europe

8020 Graz, sterreich

Dublin, Irland

http://www.linuxtage.at

http://events.linuxfoundation.org/events/linuxconeurope

16.-20.03.2015
CeBIT 2015

26.-28.04.2015

01.-03.12.2015

Messegelnde

Big Data TechCon

30521 Hannover

Boston, MA

Santa Clara, CA

http://www.cebit.de

http://www.bigdatatechcon.com

http://www.andevcon.com

AnDevCon

02/2015

sterreich
7,05
9,35
3,
71,90
96,90
6,70
sterreich
6,40
65,20
12,
12,
sterreich
163,90

Schweiz
Sfr 12,80
Sfr 17,
Sfr 4,50
Sfr 107,50
Sfr 142,80
Sfr 8,50
Schweiz
Sfr 8,30
Sfr 84,80
Sfr 12,
Sfr 12,
Schweiz
Sfr 199,90

Ausland EU
(siehe Titel)
(siehe Titel)
3,
84,60
99,90
6,70
Ausland EU
6,40
65,20
12,
12,
Ausland EU
173,90

1 nur erhltlich in Verbindung mit einem Jahresabo Print oder Digital

Service

Deutschland
6,40
8,50
3,
65,20
87,90
6,70
Deutschland
6,40
65,20
12,
12,
Deutschland
143,40

Ein Unternehmen der MARQUARD MEDIA INTERNATIONAL AG


Verleger Jrg Marquard
Redaktion / Verlag

Redaktionsanschrift:
Redaktion Linux-Magazin
Putzbrunner Strae 71, D-81739 Mnchen
Telefon: +49 89 - 99 34 11-0
Telefax: +49 89 - 99 34 11-99
E-Mail: redaktion@linux-magazin.de
http://www.linux-magazin.de

Verlagsanschrift:
Computec Media GmbH
Dr-Mack-Str. 83, D-90762 Frth
Telefon: +49 911 - 2872-100
Telefax: +49 911 - 2872-200

Geschftsfhrer

Rainer Rosenbusch, Hans Ippisch

Chefredakteur
stv. Chefredakteure

Jan Kleinert (V.i.S.d.P.), jkleinert@linux-magazin.de (jk)


Markus Feilner, mfeilner@linux-magazin.de (mfe)
Jens-Christoph Brendel, jcb@linux-magazin.de (jcb)
Jens-Christoph Brendel, jcb@linux-magazin.de (jcb)

2 mit LinuxUser-Abo (DVD) und beiden Jahres-DVDs, inkl. DELUG-Mitgliedschaft

(monatl. DELUG-DVD)
Schler- und Studentenermigung: 20 Prozent gegen Vorlage eines Schlerausweises
oder einer aktuellen Immatrikulationsbescheinigung. Der aktuelle Nachweis ist bei
Verlngerung neu zu erbringen. Andere Abo-Formen, Ermigungen im Ausland etc. auf
Anfrage.
Adressnderungen bitte umgehend mitteilen, da Nachsendeauftrge bei der Post nicht
fr Zeitschriften gelten.

Redaktionsltg. Online
Print- und Onlineredaktion
Aktuell, Forum, Software, Kristian Kiling, kkissling@linux-magazin.de (kki)
Programmierung
Jens-Christoph Brendel, jcb@linux-magazin.de (jcb)
Sysadmin, Know-how
Markus Feilner, mfeilner@linux-magazin.de (mfe)
Stndige Mitarbeiter
Zack Brown, Mela Eckenfels, Heike Jurzik (hej), Charly Khnast, Martin Loschwitz,
Michael Schilli, Tim Schrmann, Mark Vogelsberger, Uwe Vollbracht
Schlussredaktion
Jrgen Manthey
Tim Schrmann (info@tim-schuermann.de)
DELUG-DVD
Grafik
Boris Schmelter (Titel-Illustration), Judith Erb
Bildnachweis
123RF.com, Fotolia.de, Photocase.com, Pixelio.de und andere

Autoren dieser Ausgabe


Mela Eckenfels

berall dabei

54

Florian Evers

Lasst uns reden!

100

Rainer Grimm

Statisch geprft

106

Patrick Koetter

Sicherer Transport

42

Charly Khnast

Auf den Hund kommen

69

Martin Loschwitz

Ausweis-Kontrolle

46

Martin Loschwitz

Jetzt aber!

38

Martin Loschwitz

Platz? Da!

80

Martin Loschwitz

Verlorene Liebe

26

Michael Schilli

Schirmherr

110

Tim Schrmann

E-Mail, aber sicher

32

Tim Schrmann

Tine 2.0, Susecon-Videos, SLES 12

49

Dr. Udo Seidel

Fenster zur Welt

86

Dr. Udo Seidel

Lift in die Wolken

70

Dr. Udo Seidel

Selbstkontrolle

96

Sabine Sobola

Nebuls

90

Uwe Vollbracht

Tooltipps

64

Marketing/Sales
Produktion

marketing@linux-magazin.de
Martin Closmann (Ltg.) martin.closmann@computec.de,
Jrg Gleichmar joerg.gleichmar@computec.de

Vertrieb, Abonnement

Werner Spachmller (Ltg) werner.spachmueller@computec.de

Anzeigen

Mediaberatung USA
und weitere Lnder

Verantwortlich fr den Anzeigenteil: Petra Jaser


Es gilt die Anzeigenpreisliste vom 01.01.2014.
Petra Jaser, anzeigen@linux-magazin.de
Telefon: +49 89 - 99 34 11 24 Fax: +49 89 - 99 34 11 99
Ann Jesse, ajesse@linuxnewmedia.com, Telefon +1 785 841 8834
Eric Henry, ehenry@linuxnewmedia.com, Telefon +1 785 917 0990

Internet
Tglicher Newsletter
Heftarchiv
Leserbriefe
Heft-DVDs
Allgemeine Anfragen

http://www.linux-magazin.de
http://www.magazin.de/mc/subscribe
http://www.linux-magazin.de/Ausgaben
redaktion@linux-magazin.de
cdredaktion@linux-magazin.de (Fragen und Ersatzbestellungen DVDs)
info@linux-magazin.de

ISSN
Abo-Infoseite
Abo-Bestellung
Abo-Service

1432 640 X
http://www.linux-magazin.de/Produkte
http://www.linux-magazin.de/Abo
COMPUTEC MEDIA GMBH
c/o ZENIT Pressevertrieb GmbH
Postfach 810580 D-70522 Stuttgart
E-Mail: computec@zenit-presse.de
Telefon +49 711 - 7252-250 Telefax +49 711 - 7252-399
http://www.linux-magazin.de/Abo E-Mail: sales@linux-magazin.de

Mediaberatung D, A, CH

Einzelheftbestellung

Krypto-Info
GnuPG-Schlssel der Linux-Magazin-Redaktion:
pub 1024D/44F0F2B3 2000-05-08 Redaktion Linux-Magazin
<redaktion@linux-magazin.de>
Key fingerprint = C60B 1C94 316B 7F38 E8CC E1C1 8EA6 1F22 44F0 F2B3
Public-Key der DFN-PCA:
pub 2048R/7282B245 2007-12-12,
DFN-PGP-PCA, CERTIFICATION ONLY KEY (DFN-PGP-Policy: 2008-2009)
<https://www.pki.dfn.de/pgp>
Key fingerprint = 39 D9 D7 7F 98 A8 F1 1B 26 6B D8 F2 EE 8F BB 5A
PGP-Zertifikat der DFN-User-CA:
pub 2048R/6362BE8B (2007-12-12),
DFN-PGP-User-CA, CERTIFICATION ONLY KEY (DFN-PGP-Policy: 2008-2009)
<https://www.pki.dfn.de/pgp>
Key fingerprint = 30 96 47 77 58 48 22 C5 89 2A 85 19 9A D1 D4 06
Root-Zertifikat der CAcert:
Subject: O=Root CA, OU=http://www.cacert.org, CN=CA Cert Signing Authority/
Email=support@cacert.org
SHA1 Fingerprint=13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
MD5 Fingerprint=A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B
GPG-Schlssel der CAcert:
pub 1024D/65D0FD58 2003-07-11 [expires: 2033-07-03]
Key fingerprint = A31D 4F81 EF4E BD07 B456 FA04 D2BB 0D01 65D0 FD58
uid CA Cert Signing Authority (Root CA) <gpg@cacert.org>

Pressevertrieb

MZV GmbH & Co. KG Ohmstrae 1 85716 Unterschleiheim


Telefon: +49 89 319060 Fax: +49 89 31906113
Druck
Vogel Druck und Medienservice GmbH & Co. KG, 97204 Hchberg
COMPUTEC MEDIA ist nicht verantwortlich fr die inhaltliche Richtigkeit der Anzeigen und bernimmt keinerlei
Verantwortung fr in Anzeigen dargestellte Produkte und Dienstleistungen. Die Verffentlichung von Anzeigen
setzt nicht die Billigung der angebotenen Produkte und Service-Leistungen durch COMPUTEC MEDIA voraus. Sollten
Sie Beschwerden zu einem unserer Anzeigenkunden, seinen Produkten oder Dienstleistungen haben, mchten
wir Sie bitten, uns dies schriftlich mitzuteilen. Schreiben Sie unter Angabe des Magazins, in dem die Anzeige
erschienen ist, inklusive der Ausgabe und der Seitennummer an: CMS Media Services, Annett Heinze, Anschrift s. o.
Der Begriff Unix wird in dieser Schreibweise als generelle Bezeichnung fr die Unix-hnlichen Betriebssysteme
verschiedener Hersteller benutzt. Linux ist eingetragenes Markenzeichen von Linus Torvalds und wird in
unserem Markennamen mit seiner Erlaubnis verwendet.
Eine Haftung fr die Richtigkeit von Verffentlichungen kann trotz sorgfltiger Prfung durch die Redaktion
vom Verlag nicht bernommen werden. Mit der Einsendung von Manuskripten gibt der Verfasser seine Zustimmung zum Abdruck. Fr unverlangt eingesandte Manuskripte kann keine Haftung bernommen werden.
Das Exklusiv- und Verfgungsrecht fr angenommene Manuskripte liegt beim Verlag. Es darf kein Teil des
Inhalts ohne ausdrckliche schriftliche Genehmigung des Verlags in irgendeiner Form vervielfltigt oder
verbreitet werden.

Marquard Media
Deutschsprachige Titel:
SFT, WIDESCREEN, PC GAMES, PC GAMES MMORE, PC GAMES HARDWARE, BUFFED, X3, PLAY 4, GAMES & MORE,
GAMES AKTUELL, N-ZONE, XBG GAMES, LINUX-MAGAZIN, LINUXUSER, EASYLINUX, RASPBERRY PI GEEK
Internationale Zeitschriften:
Polen: COSMOPOLITAN, JOY, SHAPE, HOT, PLAYBOY, CKM, VOYAGE, Harpers Bazaar
Ungarn: JOY, SHAPE, VA, IN STYLE, PLAYBOY, CKM, Mens Health

Impressum

Preise Print
No-Media-Ausgabe
DELUG-DVD-Ausgabe
Mini-Abo (3 Ausgaben)
Jahresabo No Media
Jahresabo DELUG-DVD
Jahres-DVD zum Abo 1
Preise Digital
Heft-PDF Einzelausgabe
DigiSub (12 Ausgaben)
DigiSub zum Printabo
HTML-Archiv zum Abo 1
Preise Kombiabos
Mega-Kombi-Abo 2

Impressum

www.linux-magazin.de

Abonnement

121

02/2015
01/2013

Service

Vorschau
03/2015

Vorschau 02/2013
03/2015

berschrift
SLED 12

Ja, es gibt ihn noch, den Linux-Desktop mit Enterprise-Support. Er kommt von Suse und teilt die Codebasis mit dem
jngst prsentierten SLES 12. Um 50, teilweise 80 Prozent billiger als andere Desktops soll er sein und weniger Hardware fordern, meint der Hersteller. Das Linux-Magazin hats getestet.
Zhanna Tretiakova, 123RF

www.linux-magazin.de

122

App nimmt Kontakt auf


Soll die eigene Android-App einen Raspberry Pi steuern, dann
schickt mancher Entwickler blo Kommandos durch eine SSHVerbindung. Dabei gibt es mit Websockets eine elegante Alternative. Ein Artikel im nchsten Heft zeigt, wie Entwickler Sockel zum Schwingen bringen.

Mischen possible
Selbst Entwickler, die das Privileg genieen, frei ihre Muttersprache zu whlen, mssen sich manchmal bei einer Teilaufgabe eingestehen, dass eine andere Programmiersprache hier
effizienter arbeiten wrde oder performanter. Oder man schielt
auf Mglichkeiten, die ein fremdes Framework hier bte.
Jetzt schlgt die Stunde von Mixed Languages oder polyglotter
Programmierung. C-Programme, die nah an Hardware ranmssen oder die Performanceprobleme plagen, betten schon immer Assemblercode ein. Neuer ist der Kniff, exotische Sprachen,
die beim bersetzen sowieso Java-Zwischencode erzeugen,
gleich die Vielfalt der Kaffeeinsel schmecken zu lassen. Das
nchste Linux-Magazin pickt leckere Cocktailrezepte heraus.

Vorschau
auf 02/2015
Die nchste Ausgabe erscheint am 22. Januar

Studio Porto Sabbia, 123RF

MAGAZIN

Dachzeile

Gezielt verstndigen
Seit Python 3.4 ist Asyncio Teil der Standardbibliothek und
ermglicht asynchrone Client-Server-Kommunikation in abstrahierter Form ber TCP, UDP, SSL, Subprocess-Pipes oder
Delayed Calls. Es ist an der Zeit, die vielfltigen Gestaltungsmglichkeiten der Bibliothek zu studieren.

Die Ausgabe 03/2015


erscheint am 5. Februar 2015

Optimale Grafik-Tools
Mit einem Linux-System haben Sie immer Tools zur Hand, um
Grafiken zu erstellen oder Bildern den letzten Schliff zu geben. Mit Workshops helfen wir bei der Auswahl und verraten
dabei, wie Sie mit dem Draw-Modul von Libre Office ansprechende Grafiken erstellen. Mit MyPaint und MtPaint nehmen
wir zwei Kandidaten unter die Lupe, die sich an jene richten,
denen Gimp fr die Arbeit mit Bildern zu komplex ist.

Texteditor Slap
Wenn der Editor lstige Aufgaben bernimmt, bleibt der Kopf
frei fr das Feilen an Stzen und Wrtern. Wir nehmen mit
Slap einen Vertreter fr die Konsole unter die Lupe und prfen, ob er das Prdikat Sublime-Ersatz verdient.

Backup mit einem Klick


Mit Systembackup drehen Sie die Zeit einfach zurck: Die
Software ermglicht es, die Daten im Verzeichnis eines Users
zu sichern und wieder zurckzuspielen. Als kleines Extra erstellen Sie mit ihm ein angepasstes Live-System.