Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
05/12<br />
Anzeige:<br />
STRATO V-Server<br />
Keine Einrichtungsgebühr! Keine Vertragsbindung!<br />
strato.de/server<br />
siehe Seite 11<br />
STR0412_TKS_V-Server_120x17.indd 1<br />
21.03.2012 16:59:52 Uhr<br />
Alles monitoren<br />
ohne Aufwand<br />
Großer Stat-Bummel: Pkstat, Vmstat,<br />
Iostat, Netstat, Ifstat und Dstat ab S. 71<br />
Debugging<br />
Virtualbox erschließt neue<br />
Wege, um den <strong>Linux</strong>-Kernel<br />
besser zu debuggen S. 84<br />
Foto-Special<br />
Mit Raw und Retusche:<br />
Corel Aftershot gegen Gimp,<br />
Rawtherapee, Digikam S. 58<br />
<strong>Jobs</strong> <strong>delegieren</strong><br />
Wie Admins nervige Routineaufgaben<br />
automatisieren können<br />
■ Software-Deployment mit M23 und Spacewalk S. 22<br />
■ Pulp 1.0 für Red Hat und alle Verwandten S. 28<br />
■ Tools, die Logfiles automatisch auswerten S. 32<br />
■ Insider-Setups fürs wartungsfreie Backup S. 36<br />
■ HA-Praxis: Pacemaker so konfigurieren, dass<br />
er auch hängende Dienste erkennt S. 40<br />
■ Datenschutzfeste Online-Storages S. 44<br />
■ So automatisieren <strong>Linux</strong>-Autoren S. 48<br />
■ Libre Office 3.5 mit neuen Importfiltern<br />
für Visio- und Powerpoint-Dateien S. 64<br />
■ HTML-Code validieren und bereinigen S. 52<br />
Bash Bashing: Überraschend viele Skripte verlassen sich auf unwirksame Lock-Mechanismen S. 90<br />
www.linux-magazin.de<br />
Deutschland Österreich Schweiz Benelux Spanien Italien<br />
4 5,95 4 6,70 sfr 11,90 4 7,00 4 7,95 4 7,95<br />
4 192587 305954 05
WEBHOSTING · SCHULUNGEN · SUPPORT<br />
Professionelle Hostinglösungen<br />
Performance & Verfügbarkeit<br />
auf höchstem Niveau<br />
Managed Server Lösungen vom Profi<br />
„Ich setze auf <strong>Linux</strong> –<br />
genau wie mein Webhoster!“<br />
Der Open Source Gedanke ist mir wichtig<br />
und ich finde es großartig, dass Mittwald<br />
sich so aktiv für die Communitys einsetzt.<br />
Hinzukommt, dass Performance und Verfügbarkeit<br />
einfach stimmen und ich mich<br />
auf das 24/7-Monitoring und den kompetenten<br />
Service vollkommen verlassen kann.<br />
Ich fühle mich rundum wohl!<br />
Performance-Hungrige nutzen z. B.<br />
Managed Server Lösungen 6.0<br />
Hochwertige Server-Hardware<br />
300 % Magento-Performance<br />
Bis zu 24 Prozessorkerne<br />
Bis zu 128 GB Arbeitsspeicher<br />
Leistungsstarke Server-HDDs<br />
Hardware-RAID 1/10 (optional)<br />
Individuell konfigurierbar<br />
Bereits ab monatlich:<br />
€ 99,99*<br />
zzgl. MwSt.<br />
Alle Angebote richten sich ausschließlich an Gewerbetreibende<br />
Alle Hostinglösungen unter: www.mittwald.de<br />
Rufen Sie uns kostenlos an: 0800 / 440 3000<br />
* Alle genannten Preise verstehen sich monatlich zzgl. MwSt. Die einmalige Einrichtungsgebühr<br />
für die Managed Server 6.0 beträgt 149,- €. Die Vertragslaufzeiten und Abrechnungszeiträume<br />
betragen für die Managed Server 6.0 zwischen 12 und 36 Monate. Automatische<br />
Vertragsverlängerung um 12 Monate, wenn der Vertrag nicht mit einer Frist von<br />
30 Tagen zum Ende der jeweiligen Vertragslaufzeit gekündigt wird.<br />
www.mittwald.de
Weltherrschaft reloaded<br />
Login 05/2012<br />
Editorial<br />
Freundlich und unverbindlich beginnt die Konversation am Messestand des Systemhauses.<br />
„Wie geht’s Ihnen denn?“, fragt der Mitarbeiter seinen Besucher.<br />
Doch die körperliche Unversehrtheit des Gegenübers interessiert ihn nur am<br />
Rande. Mit den folgenden freundlich-zurückhaltenden Fragen wie: „Sind Sie<br />
zufrieden? Alles klar im Job, alles so wie Sie es sich vorstellen?“, legt der Gesprächspartner<br />
nach. So langsam dämmert es auch dem Unbedarftesten, dass<br />
er kurz vor einem Anwerbeversuch steht, wenn er jetzt nur die richtigen (oder<br />
die falschen) Antworten gibt.<br />
www.linux-magazin.de<br />
3<br />
Vor allem <strong>Linux</strong>ern passiert dies derzeit häufig. Pinguin-Kenner, die in ihrem<br />
jetzigen Biotop unzufrieden sind, finden schnell eine neue Bleibe, nicht selten<br />
zu deutlich besseren Konditionen. Headhunter haben Hochkonjunktur und<br />
versenden eifrig Mails, Wirtschaftsbosse verlangen plakativ nach großzügiger<br />
Zuwanderung von (billigeren) IT-Kräften, Arbeitgeber werben mit mehr Geld<br />
oder Freizeit, flexiblen Arbeitszeiten und der Unabhängigkeit von einem ortsgebundenen<br />
Arbeitsplatz.<br />
Markus Feilner,<br />
Stellvertretender Chefredakteur<br />
Kein Wunder, dass da der Jobwechsel voll im Trend liegt. Zwischen den schicken niedersächsischen Ziegelsteinhäuschen<br />
rund um Hannover, wo sich wie jedes Jahr im März die internationale IT-Kompetenz zur Cebit die<br />
Klinker in die Hand gibt, tobt der An- und Abwerbekampf. Eigentlich trifft sich die Branche ja zum Austausch<br />
über Produkte, Innovationen und Technologien, doch dieses Jahr ist irgendwie so vieles anders.<br />
Wer derzeit Arbeitnehmer ist und IT- oder gar <strong>Linux</strong>-Qualifikationen mitbringt, kann sich auf Europas größter<br />
Fachmesse nur schwer dieser Hochstimmung oder den Anwerbeversuchen entziehen. <strong>Linux</strong>-Admins und ‐Entwickler<br />
sind ein begehrter „Rohstoff“, während auf der Gegenseite die Arbeitgeber stöhnen. Aufträge warten,<br />
die Umsätze bleiben unter dem Möglichen, weil die Mitarbeiter fehlen. Man könnte ja, wenn, ach ja, wenn man<br />
nur mehr geeignete Mitarbeiter fände, so der Tenor.<br />
<strong>Linux</strong> im Boom – wie bitte? Doch die Zahlen sprechen für sich: Die IDC rechnet vor, wie erfreulich die Anzahl der<br />
<strong>Linux</strong>-Server wächst, neuerdings sogar auch auf Kosten von Microsoft. Im „Spiegel“ („Nie wieder Viren!“), der<br />
„Süddeutschen Zeitung“ („So findet jeder das richtige <strong>Linux</strong>“) und anderen <strong>Magazin</strong>en plaudern Neueinsteiger<br />
charmant davon, wie leicht es doch sei, den eigenen Laptop mit dem freien System zu betreiben. Eine amerikanische<br />
Studie bescheinigt freier Software, mit 0,45 Fehlern pro 1000 Zeilen Code weniger als halb so viele<br />
Fehler zu enthalten als der Durchschnitt aus der Software-Industrie mit 1,0 Fehlern pro 1000 Codezeilen. In PHP<br />
oder PostgreSQL fänden sich gar nur 0,2 Fehler. Acht von zehn Unternehmen wollen 2012 <strong>Linux</strong>-Kompetenz<br />
aufbauen, laut „IT World“ basiert „jede derzeit heiße Technologie irgendwie auf <strong>Linux</strong>“ – von der Cloud über<br />
Android zu Big Data und ARM-Systemen. Auf der Fachmesse Embedded World ist <strong>Linux</strong> kein Thema, weil es<br />
jeder verwendet. Googles Chris Di Bona nennt Android „den wahr gewordenen Traum vom <strong>Linux</strong>-Desktop“. Der<br />
soll ja 2012 auch auf x86-Architekturen richtig abheben. Alles nur ein Hype?<br />
Vor knapp 17 Jahren erklärte ein finnischer Entwickler die „<strong>Linux</strong> World Domination“ zum Ziel. Damals war<br />
das ein Witz, über den Generationen von <strong>Linux</strong>ern gelächelt haben. Doch 2012 sind <strong>Linux</strong>-Kenntnisse gefragt<br />
wie nie zuvor, Konzepte wie Schwarm-Intelligenz, Crowd-, Cloud- und Community-Strukturen auch in den Geschäftsmodellen<br />
angekommen, neue Berufsbilder wie das des Community-Managers entstanden. So gut wie<br />
jetzt standen die Zeichen für Menschen mit <strong>Linux</strong>-Know-how lange nicht, und interessanterweise scheinen<br />
dieses Mal die Arbeitnehmer davon zu profitieren.
Inhalt<br />
www.linux-magazin.de 05/2012 05 /2012<br />
4<br />
Das <strong>Magazin</strong> gibt Tipps zum Aufbau einer Infrastruktur, die möglichst wenig Arbeit macht:<br />
unbeaufsichtigtes Software-Deployment beispielsweise, auf Dauer allein laufende Backups,<br />
ein HA-Setup, das abgestürzte Dienste erkennt und neu startet, das Synchronisieren in der<br />
eigenen Cloud oder Logfile-Tools, die dem Admin nur die wichtigen Meldungen vorlegen.<br />
Aktuell<br />
Titelthema: Wie Admins Alltagsaufgaben automatisieren<br />
6 N ew s<br />
n Kandidaten für Debian-Leitung<br />
n Skolelinux auf Squeeze-Basis<br />
n Mozilla goes mobile: Boot to Gecko<br />
n Zarafa integriert Agorum DMS<br />
n VoIP-Tischtelefon mit Android<br />
22 Softwareverteilung<br />
Titel<br />
Die freien Tools M23 und Spacewalk im<br />
Test: Wer hält die Clients besser auf Trab?<br />
36 Unbeaufsichtigte Backups<br />
Was die Tool-Hersteller empfehlen.<br />
40 Pacemaker feinfühlig<br />
Ressource Agents automatisieren das<br />
Monitoring im Cluster.<br />
44 Datei-Synchronisation<br />
Cloudlösungen im Eigenbau mit<br />
Sparkleshare und Owncloud.<br />
Kleines Board an großem Bildschirm: Daniel<br />
Molkentin demonstriert auf der Cebit spontan<br />
Qt auf dem Raspberry Pi.<br />
12 Zahlen & Trends<br />
n Open-Source-Enquete in Zeitnot<br />
n Bundes-CIO zu DE-Mail und E-Perso<br />
n Openstreetmap begrüßt Apple<br />
n <strong>Linux</strong> Essentials: Neues LPI-Zertifikat<br />
n Beste Berufschancen für <strong>Linux</strong>er<br />
18 Zacks Kernel-News<br />
n Proprietäre Module mit Zugriff auf VFS<br />
n Einbruch: Commit-Mailingliste vermisst<br />
20 <strong>Linux</strong> New Media Award 2012<br />
Preise für das heißeste <strong>Linux</strong>-Device und<br />
die besten Beiträge zu Open Source.<br />
Samsung, Google, Libre Office und PostgreSQL<br />
freuen sich über <strong>Linux</strong> New Media Awards.<br />
Die Benutzeroberfläche von Spacewalk wirkt<br />
nur auf den ersten Blick übersichtlich. Viele<br />
Funktionen verstecken sich in Untermenüs.<br />
28 Pulp 1.0<br />
Von Red Hat stammt das automatische<br />
Software-Deployment für RPMs.<br />
Clients<br />
Admin-CLI Consumer-CLI Pulp-Agent<br />
Pulp WS Proxy<br />
Apache<br />
Pulp-Tools<br />
Admin-CLI, Consumer-CLI, dazu ein Yum-Repository,<br />
Agenten,<br />
Pulp Web Services<br />
ein Proxy und<br />
Pulp<br />
diverse<br />
Master Messaging<br />
Tools: Pulp.<br />
»web.py«<br />
Pulp Library<br />
Pulp Slave Messaging<br />
32 Logfile-Akrobatik »pymongo«<br />
Protokolldateien automatisch überwachen<br />
und Aktionen anstoßen mit Logtail,<br />
Mongo DB<br />
Server<br />
Logcheck, Logdigest und Logsurfer.<br />
Qpid<br />
»python-qpid«<br />
Mit drei simplen Regeln überwacht Logsurfer<br />
Anmeldeversuche an der SSH und informiert<br />
auf Wunsch den Admin.<br />
Nach der Installation steht bei Sparkleshare<br />
die Git-Konfiguration an.<br />
48 Tipps & Tricks<br />
Automatisierung: Nützliches aus den<br />
Trickkisten der <strong>Linux</strong>-<strong>Magazin</strong>-Autoren.<br />
Turnschuhadministration war gestern.<br />
Service<br />
3 Editorial<br />
100 IT-Profimarkt<br />
102 Stellenmarkt<br />
104 Veranstaltungen<br />
104 Inserenten<br />
105 Impressum<br />
106 <strong>Vorschau</strong>
05/2012 05/2012<br />
Inhalt<br />
58 Nach dem Schuss<br />
Ein Foto mit Mond-, Blitz- und Kunstlicht<br />
optimieren – das ist die Aufgabe<br />
im Praxistest. Kann sich Corels neue<br />
Fotosuite mit freien Tools messen?<br />
72 <strong>Linux</strong>-Multimeter<br />
Wer beobachten will, was auf dem <strong>Linux</strong>-<br />
System vorgeht, hat zahlreiche Möglichkeiten.<br />
Das mächtigste der Tools hört auf<br />
den Namen Dstat und vereinfacht vieles.<br />
92 Datensauger<br />
Perl-Meister Schilli klemmt seinen<br />
E-Book-Reader Kindle an den Rechner<br />
und verwaltet die Informationen mit<br />
eigenen Skripten.<br />
www.linux-magazin.de<br />
5<br />
Software<br />
Sysadmin<br />
Know-how<br />
51<br />
Einführung<br />
Auf der DELUG-DVD: Skolelinux 6.04,<br />
Klaus Knopper im Cebit-Video, ein<br />
Galileo-E-Book zu Java und eine Pulp-VM.<br />
52 Bitparade<br />
Titel<br />
Tidy-Tools versprechen den HTML-Code<br />
auszumisten. Vier Kandidaten im Test.<br />
71 Einführung<br />
Titel<br />
Aus dem Alltag eines Sysadmin: Charly<br />
überwacht den Netzwerkverkehr.<br />
72 Dstat & Co.<br />
Titel<br />
Systemdiagnose mit Vmstat, Netstat,<br />
Iostat, Ifstat oder dem universellen Dstat.<br />
84 Kern-Technik 62<br />
Titel<br />
Hochsprachen-Debugging mit den<br />
Kernel-Frontends KDB und GDB.<br />
Host<br />
GDB<br />
User<br />
Kernel<br />
Treiber im<br />
Polling-<br />
Betrieb<br />
Debug-<br />
Server<br />
serielle<br />
Schnittstelle<br />
Target<br />
KGDB<br />
KDB<br />
»kbd«<br />
(Keyboard)<br />
Hardware<br />
»kms«<br />
(Grafik)<br />
Kommandos<br />
dekodieren<br />
und<br />
ausführen<br />
Kernel-Debug-Subsystem<br />
»kgdboc«<br />
Das Debug-Subsystem des <strong>Linux</strong>-Kernel.<br />
Vmstat mit fünf Ausgabezeilen, die sich sekündlich<br />
aktualisieren.<br />
Programmieren<br />
HTML Tidy, Total Validator (im Bild das Firefox-Plugin),<br />
HTML Purifier und HTM Lawed.<br />
58 Aftershot Pro<br />
Titel<br />
Corels professionelle Fotobearbeitung<br />
im Praxistest gegen Gimp, Digikam und<br />
Rawtherapee.<br />
64 Office-Dateien importieren<br />
Titel<br />
Libre Office 3.5.1 bringt neue Importfilter<br />
für MS Visio und Powerpoint.<br />
Forum<br />
78 Recht<br />
Der Europäische Gerichtshot hat die<br />
allgemeine Prüf- und Filterpflicht für<br />
Provider gekippt.<br />
81 Leserbriefe<br />
Auf den Punkt gebracht.<br />
82 Bücher<br />
Ein Buch und ein<br />
Videotraining zu<br />
Jquery.<br />
90 Bash Bashing – Folge 20<br />
Shellskripte aus der Stümper-Liga:<br />
Richtiges Locking.<br />
92 Perl-Snapshot<br />
Der Kindle speichert Anmerkungen des<br />
Lesers. Sie lassen sich mit Perl auslesen<br />
und für Volltext-Suchabfragen nutzen.<br />
Markierte Textstellen erscheinen in der Datei<br />
»My Clippings.txt« auf dem Kindle.<br />
Gelingt jetzt viel besser: Diagramme aus Microsoft-Produkten<br />
in Libre Office importieren.<br />
68 Tooltipps<br />
Kurz getestet: Lziprecover, Kccmp,<br />
Checksuite, Tmsu Clamtk und Getxbook.<br />
TOOL<br />
DELUG-DVD<br />
TOOL<br />
Knopper on Stage<br />
TOOL<br />
Knoppix-Macher führt 40 Minuten<br />
lang abgefahrene Desktop-Tricks vor<br />
Skolelinux 6.04<br />
TOOL<br />
Basiert auf Debian Squeeze und<br />
eignet sich ideal für Schulen, Unis<br />
und die Weiterbildung<br />
Doppelseitige DVD,<br />
Details auf S. 51<br />
E-Book gratis<br />
Kostet als Buch 50 Euro:<br />
„Java 7 – Mehr als eine Insel“<br />
Pulp ausprobieren<br />
TOOL<br />
Fertig konfigurierte virtuelle<br />
Appli ance passend zum Software-<br />
Deployment-Artikel
Aktuell<br />
www.linux-magazin.de News 05/2012<br />
6<br />
News<br />
Qt 5 benutzt C++11 und Open GL<br />
Entwickler Daniel Molkentin<br />
von Nokia hat bei der Cebit eine<br />
<strong>Vorschau</strong> auf Version 5 des<br />
Qt-Toolkits gegeben. Sie soll<br />
noch im Jahr 2012 erscheinen<br />
und trotz diverser Runderneuerungen<br />
kompatibel zu Qt 4.x<br />
bleiben. Die KDE-Bibliotheken<br />
seien beispielsweise schon<br />
auf Qt 5 aktualisiert, erzählte<br />
Molkentin.<br />
Die Organisation des Toolkits<br />
wird modularer und teilt sich<br />
in Essentials und Addons auf.<br />
Daneben gibt es einen Grafikstack,<br />
der mit 250 statt 100<br />
Frames pro Sekunde läuft,<br />
und Qt Quick 2 benutzt Open-<br />
GL. Weitere geplante Features<br />
sind Unterstützung für Json<br />
und MIME-Typen sowie der<br />
Einsatz der PCRE für reguläre<br />
Ausdrücke in Unicode.<br />
Kleines Board an großem Bildschirm: Daniel Molkentin demonstriert spontan Qt<br />
auf dem Raspberry Pi.<br />
C++11 werde ebenfalls umgesetzt,<br />
sagte Molkentin, da<br />
bereits viele Programmierer<br />
auf den neuen Standard setzen<br />
würden.<br />
Die erste Beta für Qt 5 soll<br />
es im April geben, die fertige<br />
Release im ersten Halbjahr<br />
2012. Die im Dezember 2011<br />
veröffentlichte Version 4.8<br />
erhält weiterhin Support, um<br />
den Versionswechsel sanft zu<br />
gestalten.<br />
Als Zugabe demonstrierte<br />
Daniel Molkentin auf dem<br />
großen Bildschirm am <strong>Linux</strong>-<br />
New-Media-Stand Qt unter<br />
Debian mit seinem mitgebrachten<br />
Raspberry Pi. n<br />
Suchsoftware für wissenschaftliche Aufsätze<br />
Auf der Cebit war der Themenbereich<br />
Forschung in<br />
Hal le 26 zu Gast. Unter anderem<br />
präsentierte dort das<br />
Deutsche Forschungszentrum<br />
für künstliche Intelligenz<br />
(DFKI) eine Lösung für<br />
satzsemantische Suche. Die<br />
Anwendung TAKE Searchbench<br />
durchsuchte zur Demonstration<br />
22 500 wissenschaftliche<br />
Artikel, die 4,3<br />
Millionen Sätze enthalten.<br />
Der Anwender kann einfache<br />
Satzausssagen formulieren,<br />
die die Engine mit Hilfe von<br />
Synonymwörterbüchern erweitert<br />
und in den Dokumenten<br />
sucht, derzeit aber nur in<br />
Englisch. Dabei berücksichtigt<br />
sie auch Antonyme (Gegensätze)<br />
und Verneinungen und<br />
lässt sich auf verschiedene<br />
Schärfestufen einstellen, wie<br />
der Informatiker Ulrich Schäfer<br />
am Stand F42 zeigte.<br />
Die Suchsoftware von Christian Spurk (links) und Ulrich Schäfer (rechts) kann<br />
auch darstellen, wie wissenschaftliche Aufsätze einander zitieren.<br />
Hinter dieser Leistung steckt<br />
eine Menge Open-Source-<br />
Software wie zum Beispiel<br />
die Suchmaschine Apache<br />
Lucene. Der Computerlinguist<br />
Christian Spurk hat den Code<br />
erweitert, damit sie nicht nur<br />
mit Key-Value-Paaren, sondern<br />
auch mit Satzgebilden<br />
umgehen kann.<br />
Die sehr aufwändige Indizierung<br />
des PDF-Zeitschriftenarchivs<br />
der Association for<br />
Computational Linguistics<br />
(ACL) erfolgte auf einem<br />
<strong>Linux</strong>-Grid. Die Archivsuche<br />
mit Searchbench lässt sich<br />
auf einer öffentlichen Webseite<br />
unter [http://aclasb.dfki.<br />
de/] ausprobieren.<br />
n
Kandidaten für Debian-Leitung stellen sich vor<br />
Anfang April 2012 wählen<br />
die Mitglieder des Debian-<br />
Projekts ihren neuen Leiter.<br />
Bis jetzt haben sich drei Bewerber<br />
mit ihren Programmen<br />
vorgestellt.<br />
Dazu gehört der amtierende<br />
Debian Project Leader (DPL)<br />
Stefano Zacchiroli, der derzeit<br />
bereits sein zweites Amtsjahr<br />
absolviert. Auf seiner<br />
so genannten Platform-Seite<br />
[http://www.debian.org/vote/2012/<br />
platforms/zack] bietet er an, die<br />
Projektleitung in seinem bisherigen<br />
Stil ein weiteres Jahr<br />
fortzuführen. Zudem möchte<br />
er künftige DPL-Aspiranten<br />
mit dem Amt vertraut machen.<br />
Sollte er wiedergewählt<br />
werden, möchte er unter anderem<br />
Interessierten den Einstieg<br />
in die Mitarbeit erleichtern,<br />
auch solchen, die keine<br />
Softwarepakete bauen. Daneben<br />
stehen Entwickler-Sprints<br />
für konkrete Entwicklungsziele<br />
auf seiner Agenda.<br />
Zweiter Bewerber ist der belgische<br />
<strong>Linux</strong>-Consultant Wouter<br />
Verhelst [http://www.debian.<br />
org/vote/2012/platforms/wouter],<br />
der seit 2001 den Status eines<br />
Debian-Entwicklers innehat.<br />
Er möchte stärker die Führung<br />
ergreifen und nicht nur<br />
das Projekt verwalten. Daneben<br />
wünscht sich der Mitorganisator<br />
der Brüsseler Konferenz<br />
Fosdem, dass Debian<br />
das Image loswird, nur veraltete<br />
Software zu liefern.<br />
Stefano Zacchiroli bei der Debconf in<br />
Banja Luka.<br />
Der dritte Kandidat ist Gergely<br />
Nagy, der schon 2000 an<br />
Debian mitarbeitete, sich aber<br />
zwischenzeitlich zurückzog.<br />
Er vergleicht auf seiner unterhaltsam<br />
geschriebenen Platform-Seite<br />
[http://www.debian.<br />
org/vote/2012/platforms/algernon]<br />
die Kandidatur mit dem Balancieren<br />
auf einer Planke<br />
über einem Meer voller Haifische.<br />
Auch er möchte das<br />
Debian-Projekt attraktiver für<br />
talentierte Neueinsteiger machen,<br />
die den Projektmitgliedern<br />
bei der vielen anstehenden<br />
Arbeit unter die Arme<br />
greifen sollen. Dazu möchte<br />
er auch mit seiner Beteiligung<br />
am diesjährigen Google Summer<br />
of Code beitragen. n<br />
News 05/2012<br />
Aktuell<br />
www.linux-magazin.de<br />
7<br />
Skolelinux auf Squeeze-Basis<br />
Skolelinux: Debian für Schulen und Bildungseinrichtungen.<br />
Skolelinux, die Debian-Ausgabe<br />
für Bildungseinrichtungen,<br />
ist in Version 6.0.4 erstmals<br />
auf Basis der aktuellen Debian-Release<br />
Squeeze erhältlich.<br />
Bildungsprogramme wie<br />
Celestia, Dr. Geo, Gcompris,<br />
Geogebra, Kalzium, Kgeography<br />
und Solfege sind<br />
standardmäßig enthalten. In<br />
der neuen Version ersetzt Gosa2<br />
das Programm LWAT bei<br />
der LDAP-Administration. Neben<br />
KDE und Gnome ist mit<br />
LXDE eine weitere Desktopumgebung<br />
im Angebot. Zudem<br />
haben die Entwickler das<br />
Booten der LTSP-Clients beschleunigt.<br />
Hinweise zur Release<br />
gibt [http://www.skolelinux.<br />
org]. Skolelinux ist auf der<br />
DELUG-DVD zu finden. n<br />
Audacity mit mehr<br />
Effekten<br />
Mit Version 2.0.0 bekommt<br />
die Audio-Software Audacity<br />
neue Features und Bugfixes.<br />
Zu den Neuerungen des Editors<br />
zählen verbesserte Effekte,<br />
etwa zur Rauschunterdrückung,<br />
und ein Vocal-Remover.<br />
Die Arbeit erleichtert der<br />
nun komplett mit der Tastatur<br />
steuerbare Umgang mit Tracks<br />
und Auswahlbereichen. Auch<br />
wird der Codec FLAC nun<br />
vollständig unterstützt.<br />
Mit der neuen Funktion Crash-<br />
Recovery sollten Programmabstürze<br />
ihren Schrecken<br />
verlieren, zumindest versucht<br />
Audacity die Wiederherstellung<br />
der Sitzung. Daneben<br />
sind Verbesserungen an allen<br />
Ecken eingeflossen. Die<br />
ausführlichen Release Notes<br />
[http://wiki.audacityteam.org/wiki/<br />
Release_Notes_2.0.0] beschreiben<br />
die Details.<br />
n<br />
<strong>Linux</strong>-Workstations<br />
von HP<br />
Hewlett-Packard erweitert<br />
sein Workstation-Angebot um<br />
neue Modelle, die auch mit<br />
vorinstalliertem <strong>Linux</strong> zu haben<br />
sind. Die neuen Z-Workstations<br />
im Tower-Format verwenden<br />
Xeon-E5-Prozessoren<br />
von Intel sowie Nvidias Quadro-Grafikkarten.<br />
Die Auswahl beginnt bei der<br />
HP Z420, die bis zu 64 GByte<br />
Arbeitsspeicher und bis zu 11<br />
TByte Massenspeicher aufnimmt.<br />
Die Preise beginnen<br />
bei 1249 Euro inklusive Mehrwertsteuer.<br />
Im Modell HP<br />
Z620 finden bis zu 96 GByte<br />
RAM und bis zu 11 TByte<br />
Plattenspeicher Platz. Es soll<br />
ab 1500 Euro erhältlich sein.<br />
Der stärkste Bolide heißt HP<br />
Z820 und nimmt auch Solid-<br />
State-Disk-Speicher bis 1,8<br />
TByte auf. Der Preis beginnt<br />
bei 1900 Euro.<br />
n
Aktuell<br />
www.linux-magazin.de News 05/2012<br />
8<br />
Muon Suite erneuert Update-Manager<br />
Die Muon Suite mit Paketmanagement-Software<br />
für Debian-basierte<br />
Systeme ist in der<br />
aktualisierten Version 1.3.0<br />
erhältlich. Augenfällig ist der<br />
überarbeitete Update-Manager.<br />
In drei Kategorien weist<br />
er auf anstehende Updates<br />
hin: System, Anwendungen<br />
und Security. Beim Klick auf<br />
einen Eintrag zeigt das GUI-<br />
Programm das zugehörige<br />
Changelog an. Eigens für diesen<br />
Zweck hat der Kubuntu-<br />
Entwickler Jonathan Thomas<br />
die Klasse »QApt::Changelog«<br />
in der zugrunde liegenden<br />
Bibliothek Lib-Q-Apt geschaffen.<br />
Und er hat Bugreports<br />
abgearbeitet, die mit Abstürzen<br />
zu tun haben.<br />
Die Version 1.3.0 ist für<br />
Ubuntu Oneiric in dem Paketarchiv<br />
[https://launchpad.net/<br />
~echidnaman/+archive/qapt] des<br />
Entwicklers zu haben, in Kubuntu<br />
12.04 geht sie in die<br />
offiziellen Repositories ein. n<br />
Boot to Gecko: Mozillas Mobil-Web<br />
Mozilla arbeitet an einer Software<br />
für Smartphones und<br />
Tablets. Noch 2012 soll der<br />
Mobilfunkanbieter Telefonica<br />
erste Geräte mit dem Produkt<br />
„Boot to Gecko“ ausliefern,<br />
das gaben die Kooperationspartner<br />
beim Mobile World<br />
Congress in Barcelona bekannt.<br />
Zu den weiteren Unterstützern<br />
gehören Adobe und<br />
Qualcomm, auch die Deutsche<br />
Telekom will Entwicklerressourcen<br />
ihres Innovation Lab<br />
dafür bereitstellen.<br />
Boot to Gecko soll eine freie<br />
Laufzeitumgebung für HTML<br />
5 und Webanwendungen<br />
werden. Zu den Bausteinen<br />
zählen <strong>Linux</strong> und Mozillas<br />
Browsertechnologie. Mit<br />
Android habe das nichts zu<br />
tun, betont das Projekt. Das<br />
Video [http://www.youtube.com/<br />
watch?v=OAaH5vikEOM] zeigt einen<br />
Prototyp.<br />
n<br />
RHEL 5.8 verbessert KVM-Virtualisierung<br />
Der Update-Manager der Muon Suite zeigt für jede anstehende Aktualisierung<br />
das zugehörige Changelog an.<br />
Backtrack 5 R2 erweitert Tool-Vielfalt<br />
Red Hat liefert sein Enterprise<br />
<strong>Linux</strong> (RHEL) nun in Version<br />
5.8 mit verbesserter KVM-Virtualisierung<br />
aus. Der Hersteller<br />
sieht die Minor-Release als<br />
Baustein seiner neuen Wartungszeit<br />
von zehn Jahren für<br />
die Enterprise-Distribution.<br />
RHEL 5 wird nun bis 2017<br />
unterstützt.<br />
Die neue Version erlaubt statt<br />
128 virtueller CPUs für KVM-<br />
Gäste nun 250, daneben erfuhren<br />
auch die Bootzeiten<br />
der virtualisierten Gäste sowie<br />
die Stabilität des KVM-Hosts<br />
Verbesserungen. RHEL unterstützt<br />
nun PCI-E-3.0-Hardware<br />
sowie Quality of Service<br />
beim Laufzeit-Powermanagement.<br />
IP over Infiniband konfiguriert<br />
der Admin jetzt aus<br />
dem Systeminstaller, daneben<br />
überwacht das neu aufgenommene<br />
Tool Iotop den Datendurchsatz<br />
auf Prozess ebene.<br />
Neue Treiber liefert Red Hat<br />
unter anderem für aktuelle<br />
Netzwerk-, Storage- und Grafik-Hardware.<br />
n<br />
Backtrack, eine <strong>Linux</strong>-Distribution<br />
mit zahlreichen Security-Tools,<br />
ist in Version 5 R2<br />
mit aktualisiertem Kernel und<br />
erweitertem Software-Angebot<br />
verfügbar. Den verwendeten<br />
Kernel 3.2.6 haben die Entwickler<br />
mit besonderem Augenmerk<br />
auf WLAN-Treiber<br />
angepasst. Daneben melden<br />
die Macher 42 neue Tools, darunter<br />
Maltego, mit dem Forensiker<br />
Befunde erfassen und<br />
visualisieren können.<br />
Der Hersteller, der eine kommerzielle<br />
sowie eine Community-Variante<br />
der Software anbietet,<br />
hat eine Sonderausgabe<br />
der Version 3.1.0 paketiert.<br />
Das Metasploit-Framework<br />
wird in Community Edition<br />
4.2.0 mitgeliefert. Zudem haben<br />
die Entwickler Bugs behoben<br />
und wollen Updates des<br />
zugrunde liegenden Ubuntu<br />
rascher einpflegen.<br />
Neben neuer Software gibt<br />
es auch neue Anleitungen<br />
im Wiki. Backtrack steht mit<br />
KDE und Ubuntu für x86<br />
und x86_64 zum Download<br />
auf [http://www.backtrack‐linux.<br />
org/downloads/] bereit. Für ein<br />
Upgrade genügt es aber, das<br />
richtige Repository in die Paketquellen<br />
einzutragen. n<br />
Dokumentenmanagement aufgebohrt<br />
Mittels Outlook-Plugin, eines<br />
Dateisystem-Interface oder via<br />
Webschnittstelle können Anwender<br />
der freien Enterprise-<br />
Groupware Zarafa [http://www.<br />
zarafa.com] ihre Dokumente<br />
gemeinsam verwalten. Möglich<br />
macht das die Integration<br />
von Agorum DMS. Das Modul<br />
„Dokumenten Management<br />
System“ steht laut Hersteller<br />
für alle drei Zarafa-Varianten<br />
(Community, Professional,<br />
Enterprise) zur Verfügung, es<br />
basiert auf Agorum Core der<br />
deutschen Agorum Software<br />
GmbH.<br />
Dank der integrierten Suchund<br />
Indizierungsfunktionen<br />
lassen sich Dokumente auch<br />
aus E-Mail-Anhängen schneller<br />
finden, weil Agorum auch<br />
diese automatisch abspeichert,<br />
und zwar inklusive der<br />
Versionierung und der Dokumenten-Historie.<br />
n
Opengnsys und Uranos fürs Deployment<br />
In der Open Source Project<br />
Lounge der Cebit zeigten<br />
die Projekte Opengnsys und<br />
Uranos freie Lösungen, um<br />
Betriebssysteme und Software<br />
auf Rechnerpools zu<br />
installieren. An spanischen<br />
Universitäten entstand 2009<br />
Opengnsys. Das System kann<br />
von einem zentralen Server<br />
aus Windows und <strong>Linux</strong>-Distributionen<br />
auf Rechnern im<br />
Netzwerk booten und installieren.<br />
Dabei präsentiert die<br />
GPLv3-Software jedem Client<br />
oder jeder Rechnergruppe ein<br />
maßgeschneidertes PXE-Menü,<br />
aus dem der Anwender<br />
das zu bootende Betriebssystem-Image<br />
auswählt.<br />
Opengnsys unterstützt auch<br />
Dualboot-Installationen mit<br />
zwei Betriebssystemen in je<br />
einer eigenen Partition, beispielsweise<br />
Windows und<br />
<strong>Linux</strong>. Weitere Informationen<br />
Die Admins Jan Klopfleisch (links) und Mario Gzuk<br />
(rechts) präsentierten ihr vielseitiges Tool Uranos in der<br />
Project Lounge.<br />
finden sich auf der Opengnsys-<br />
Homepage [http://opengnsys.es/<br />
wiki/WikiStart/en].<br />
Nicht nur Images, sondern<br />
auch einzelne Softwarepakete<br />
verwaltet Uranos. Der Sysadmin<br />
Mario<br />
Gzuk entwickelt<br />
sein System<br />
bereits seit<br />
2004, als es<br />
zum Eigenbedarf<br />
in einer<br />
Forschungseinrichtung<br />
entstand.<br />
Red Hat<br />
Enterprise <strong>Linux</strong>,<br />
Open Suse,<br />
Ubuntu<br />
und Debian installiert<br />
die Software nach<br />
Maßgabe von Preseed- oder<br />
Autoyast-Beschreibungen.<br />
Auch Windows kann Uranos<br />
ausrollen. Doch hier beginnt<br />
erst der Funktionsumfang der<br />
Lösung, die auch Befehle auf<br />
den Clients ausführt und<br />
Schnittstellen zu LDAP-,<br />
DHCP- und DNS-Servern besitzt.<br />
Zudem bietet die Weboberfläche<br />
einen Kalender,<br />
der die Gültigkeit kommerzieller<br />
Softwarelizenzen verwaltet.<br />
Außerdem eingebaut sind<br />
Switch-Management per SN-<br />
MP, ein Abbild der Patch-Verkabelung<br />
sowie ein Wiki. Uranos<br />
ist unter [http://uranos.<br />
sourceforge.net] zu finden. n<br />
News 05/2012<br />
Aktuell<br />
www.linux-magazin.de<br />
9<br />
fABio<br />
40 Jahre<br />
BEruf: System-Administrator<br />
hErAuSfordErung: How to keep it simple<br />
liEBt: Die Freizeit, die ihm ab und an zusteht<br />
WünScht Sich: Freie Wochenenden – lebenslang!<br />
Ein Job ohne netEye? Erschwert einiges<br />
Enterprise System & Application Monitoring<br />
› Tested und supported Open Source<br />
› Nagios als Basisplattform<br />
› End User Monitoring mit ntop<br />
› Integriertes Help Desk mit OTRS<br />
› Asset- und Inventory Management<br />
www.wuerth-phoenix.com/neteye<br />
› SAP Monitoring<br />
› Business Process Monitoring<br />
› ITIL basierte Supportprozesse<br />
› Einfache Inbetriebnahme<br />
› Flexibel erweiterbar<br />
NetEye
Aktuell<br />
www.linux-magazin.de News 05/2012<br />
10<br />
Kurznachrichten<br />
Netshe 1.0: Eine Weboberfläche für Router mit Open-WRT-Firmware. Neu:<br />
Version 1.0 markiert die erste stabile Release. Sie basiert auf dem Open<br />
WRT Backfire 10.3.1 und bietet eine überarbeitete Weboberfläche, auf<br />
der sich auch Tunnel-Schnittstellen und Switches verwalten lassen. Das<br />
Subsystem für Quality-of-Service (QoS), den Client für dynamisches DNS<br />
sowie die Zeitsynchronisation haben die Entwickler einem Refactoring<br />
unterzogen. Lizenz: GPL [http://www.netshe.ru/node/28]<br />
Ttylinux 10.0: Minimalistische <strong>Linux</strong>-Distribution, die nur 8 MByte für die<br />
Systempartition benötigt und bereits auf i486-Rechnern mit 28 MByte RAM<br />
laufen soll. Neu: Mit dieser Release erhalten alle architekturspezifischen<br />
Ausgaben einheitlich den Codenamen Bazooka und die Versionsnummer<br />
10 – auch wenn das in manchen Fällen ein paradoxes Rückwärtszählen<br />
bedeutet. Mit Busybox 1.19.3, E2fsprogs 1.42 und IPtables 1.4.12 gibt es<br />
zudem einige aktualisierte Softwarepakete. Lizenz: GPL [http://www.<br />
ttylinux.net]<br />
Weblate 0.6: Der Debian-Entwickler Michal Cihar hat eine Web-basierte<br />
Übersetzungsanwendung veröffentlicht. Neu: Übersetzungen lassen sich<br />
per Webformular eingeben und in einem Git-Repository speichern. Übersetzte<br />
Texte gehen automatisch auch in Unterprojekte ein, und Anwender<br />
können ».po«-Dateien von GNU Gettext hochladen. Beim Übersetzen<br />
liefert das Tool Links in den Programmquelltext, damit die Bearbeiter den<br />
Kontext sehen können. Lizenz: GPLv3 [http://weblate.org]<br />
Tine 2.0 2012/03: Web-basierte freie Groupware. Neu: Als Neuerung<br />
gibt es einen Dateimanager, über den die Anwender Dateien per Webdav<br />
oder per Drag & Drop auf das Browserfenster austauschen können. Auch<br />
für Kalender und Kontakte kommen neue Zugriffsprotokolle hinzu: Per<br />
Caldav und Carddav werden die Informationen auf dem Tine-2.0-Server für<br />
Desktopanwendungen wie Thunderbird und Apples I-Cal sowie das iPhone<br />
und iPad nutzbar. Lizenz: AGPLv3 [http://www.tine20.org]<br />
Kmod 6: Eine Sammlung von Utilities für Kernelmodule. Neu: Neben<br />
Fehlerbeseitigung ist Version 6 wieder kompatibel mit der C-Bibliothek<br />
U-Clibc, und das API der zugrunde liegenden Libkmod erhält die Funktion<br />
»mod_module_apply_filter()«, die Filter auf eine Liste von Modulen anwendet.<br />
Lizenz: GPLv2 [http://ftp.kernel.org/pub/linux/utils/kernel/kmod/]<br />
Minix 3.2: Nach knapp eineinhalb Jahren gibt es eine neue Version des<br />
Betriebssystems. Neu: Minix nähert sich immer mehr der Net-BSD-Distribution<br />
an und verwendet erstmals die C-Bibliothek von BSD. Auch das<br />
Paketmanagementsystem »pkgsrc« stammt von Net-BSD. Dies und der<br />
Einsatz des Clang-Compilers statt GCC soll die Portierung von Software auf<br />
Minix vereinfachen. Lizenz: BSD-artig [http://www.minix3.org]<br />
Texmaker 3.3: Populärer Latex-Editor. Neu: Der integrierte PDF-Betrachter<br />
exportiert nun den im PDF-Dokument enthaltenen Text, um Rechtschreibung<br />
und Grammatik zu prüfen. Außerdem kann der Anwender eine<br />
unbegrenzte Anzahl von Latex-Kommandos definieren, die er mit einem<br />
Mausklick oder per Tastaturkürzel einfügt. Die Haupteinträge für Biblatex<br />
lassen sich über das Bibliografie-Menü hinzufügen. Lizenz: GPL [http://<br />
www.xm1math.net/texmaker/index.html]<br />
VLC 2.0.0: Freie Mediaplayer-Software des Videolan-Projekts. Neu: VLC<br />
nutzt zum Dekodieren der Formate H.264, MPEG-4/Xvid und Web-M mehrere<br />
Threads. Die Entwickler haben zudem neue Video-Ausgaben für<br />
Windows 7, Android, I-OS und OS/2 geschrieben, auf dem Mac und in der<br />
Webversion gibt es neue Benutzeroberflächen. Erstmals und derzeit noch<br />
experimentell unterstützt VLC auch Blu-Ray-Discs. Lizenz: LGPL [http://<br />
www.videolan.org]<br />
VoIP-Tischtelefon mit Android<br />
Smartbook zeigt Tegra-3-Tablet und mehr<br />
Auf der Cebit zeigte der<br />
deutsche Telefon- und Anlagenhersteller<br />
Auerswald sein<br />
neues Spitzenmodell Comfortel<br />
3500. Das Tischtelefon,<br />
das für rund 550 Euro ab April<br />
in den Handel geht, arbeitet<br />
sowohl als Systemtelefon an<br />
den hauseigenen Telefonanlagen<br />
als auch als eigenständiges<br />
SIP-Telefon für externe<br />
VoIP-Provider oder interne<br />
Asterisk-Server.<br />
Das Gerät ist mit Komfortausstattungen<br />
versehen, etwa<br />
einem Sensor, der eine abwinkende<br />
Hand erkennt, um<br />
Anrufe abzuweisen, oder die<br />
Möglichkeit, wahrzunehmen,<br />
dass der Besitzer des Geräts<br />
den Raum verlässt. Dazu indentifiziert<br />
das Comfortel<br />
3500 per Bluetooth das Mobiltelefon<br />
des Benutzers, verlässt<br />
er den Raum, schaltet es etwa<br />
eine Anrufweiterleitung.<br />
Auerswald zeigt sein neues Spitzenmodell<br />
Comfortel 3500.<br />
Das Besondere an dem in<br />
Schwarz oder Weiß erhältlichen<br />
Gerät ist sein Betriebssystem:<br />
Android 2.3. Die Firma<br />
spendiert dem Gerät einen<br />
kapazitiven Farb-Touchscreen<br />
mit 800 mal 480 Pixeln, über<br />
die der Benutzer sieben virtuelle<br />
Andoid-Screens bedient.<br />
Diverse Telefonfunktionen<br />
sind in Googles <strong>Linux</strong>-System<br />
integriert, besonders stolz sind<br />
die Niedersachsen auf die Adressbuch-Synchronisation<br />
mit<br />
Goggle-Diensten, der Telekom-<br />
Cloud oder MS Exchange. n<br />
Die Smartbook AG [http://www.<br />
smartbook.de] hat das Power<br />
Pad vorgestellt, in dem Nvidias<br />
leistungsfähige Tegra-3-<br />
Plattform mit vier ARM-Kernen<br />
steckt, die unter anderem<br />
für ruckelfreies HD-Video sorgen<br />
soll. Das Gerät besitzt 1<br />
GByte Arbeitsspeicher sowie<br />
16 GByte Flashspeicher, erweiterbar<br />
auf 32 GByte. Der<br />
10,1-Zoll-Touchscreen stellt<br />
1280 mal 800 Pixel dar. Eine<br />
Webcam auf der Rückseite<br />
löst 5 Megapixel auf, die vordere<br />
2 Megapixel. WLAN und<br />
Bluetooth sorgen für drahtlose<br />
Power Pad mit Nvidias leistungsfähiger<br />
Tegra-3-Plattform.<br />
Kommunikation. Als besonderen<br />
Anschluss bietet das mit<br />
Android 4.0 bestückte Tablet<br />
einen Slot für eine separat erhältliche<br />
Dockingstation.<br />
Neben dem Power Pad hat<br />
der Hersteller das Fun Pad 7<br />
gezeigt, das mit einer Dicke<br />
von 10 Millimetern und einem<br />
Gewicht von 350 Gramm auf<br />
Handlichkeit getrimmt ist. Das<br />
7-Zoll-Gerät besitzt ein TFT-<br />
Multitouch-Display mit 800<br />
mal 480 Pixeln und kommt<br />
mit Android 4.0. Das Innenleben<br />
des Fun Pad 7 bilden eine<br />
1-GHz-CPU, 512 MByte RAM<br />
und 4 GByte Flashspeicher.<br />
Dazu kommen ein SD-Karten-<br />
Slot für eine Speichererweiterung<br />
bis auf 32 GByte sowie<br />
Stereolautsprecher, Mikrofon,<br />
Webcam und Kopfhörerklinke.<br />
Für das Netzwerk ist WLAN<br />
mit an Bord des Tablets. (jk/<br />
mfe/mhu/uba)<br />
n
Mein Projekt braucht<br />
viel Leistung – das erledigt<br />
Dietmar Struckmeyer<br />
STRATO Server-Kunde<br />
www.portalhaus.de<br />
Windows V-Server<br />
Stellen Sie Ihren Webauftritt auf ein leis tungsfähiges<br />
und schnelles Fundament – mit einem STRATO V-Server<br />
Einfache Bedienbarkeit und Administration durch Parallels Plesk Panel<br />
€/Mon.*<br />
Keine Einrichtungsgebühr!<br />
Garantierte Leistungsressourcen mit bis zu 4 GB RAM und 200 GB Festplatte<br />
Hohe Stabilität und Kompatibilität des Servers durch Microsoft Hyper-V<br />
Keine Vertragsbindung und kein Risiko<br />
durch 30-Tage-Geld-zurück-Garantie<br />
Hosting-Pakete | Online-Speicher | Webshops | V-Server<br />
* Aktion bis 30.04.12. Preis inkl. MwSt.<br />
Servicetelefon: 0 18 05 - 007 677<br />
(0,14 €/Min. aus dem dt. Festnetz, Mobilfunk max. 0,42 €/Min.)
Aktuell<br />
www.linux-magazin.de Zahlen & Trends 05/2012<br />
12<br />
Zahlen & Trends<br />
Open-Source-Enquete in Zeitnot<br />
Jenseits der Mühen gewöhnlicher<br />
Gesetze und Verordnungen<br />
setzt der Deutsche Bundestag<br />
ab und zu so genannte<br />
Enquetekommissionen ein,<br />
die sich um Grundsätze komplexer<br />
Zukunftsfragen kümmern,<br />
beispielsweise den demografischen<br />
Wandel oder die<br />
Gentechnologie.<br />
Die seit Mai 2010 tagende Enquetekommissionen<br />
„Internet<br />
und digitale Gesellschaft“ besteht<br />
aus 17 Bundestagsabgeordneten,<br />
17 Sachverständigen<br />
und dem Internetforum<br />
[https://www.enquetebeteiligung.de]<br />
– quasi dem 18. Sachverständigen.<br />
Diese parlamentsinterne<br />
Politikberatung plante mit 16<br />
Projektgruppen verschiedene<br />
Digital-Themen zu beackern.<br />
Zwischen Oktober 2011 und<br />
Januar 2012 sollte sich auch<br />
eine Arbeitsgruppe unter dem<br />
Vorsitz des FDP-Abgeordneten<br />
Jimmy Schulz zum Thema<br />
„Interoperabilität, Standards,<br />
Open Source“ konstituieren.<br />
Diese Projektgruppe des Bundestags<br />
zu Open Source lässt<br />
auf sich warten.<br />
Auf Anfrage des <strong>Linux</strong>-<strong>Magazin</strong>s<br />
räumt nun das Büro des<br />
langjährigen <strong>Linux</strong>-Anwenders<br />
ein, dass die „intensiven<br />
Der Abgeordnete Jimmy Schulz (43)<br />
wartet optimistisch auf den Start<br />
der Projektgruppe „Interoperabilität,<br />
Standards, Open Source“ in der<br />
Internet-Enquetekommission.<br />
Diskussionen in den anderen<br />
Projektgruppen“ die Arbeit<br />
in der Enquetekommission<br />
insgesamt verzögert hätten.<br />
Deswegen werde die Projektgruppe<br />
Open Source später als<br />
geplant eingesetzt.<br />
Schulz’ Sprecherin versichert<br />
jedoch: „Nichtsdestotrotz<br />
wird die Projektgruppe ausreichend<br />
Zeit bekommen, die<br />
Themen zu diskutieren.“ Die<br />
Einschätzung scheint optimistisch,<br />
da die Enquetekommission<br />
bis zum Beginn der parlamentarischen<br />
Sommerpause<br />
2012 ihren Abschlussbericht<br />
vorlegen muss.<br />
n<br />
Bundes-CIO zu DE-Mail, E-Personalausweis und mehr<br />
Cornelia Rogall-Grothe, IT-<br />
Beauftragte der deutschen<br />
Bundesregierung, hat auf der<br />
Cebit die wichtigsten Aufgaben<br />
und Meilensteine für das<br />
Der E-Perso war eines der Themen auf der Cebit.<br />
E-Government 2012 vorgestellt:<br />
Die Politikerin nennt<br />
dabei DE-Mail, die Behördenrufnummer<br />
115, den IT-Planungsrat,<br />
das Investitionsprogramm<br />
IT und den elektronischen<br />
Personalausweis. Beim<br />
Personalausweis gibt es noch<br />
Akzeptanzprobleme. Nur etwa<br />
ein Drittel der Besitzer<br />
lässt dafür die elektronische<br />
ID freischalten.<br />
Auch die insgesamt 113 Anträge<br />
für die Zertifizierung<br />
von über 40 Anwendungen<br />
im Zusammenhang mit der<br />
ID seien erst ein Anfang, so<br />
Rogall-Grothe. Es sei normal,<br />
dass es bei Innovationen gerade<br />
ein wenig dauere, bis die<br />
Industrie Anreize schaffe, um<br />
die Kunden und Anwender<br />
zu überzeugen. Gleichwohl<br />
wolle man hier auch in den<br />
ausstellenden Behörden nachsteuern<br />
und durch gezielte<br />
Weiterbildung die Mitarbeiter<br />
trainieren, die E-ID bei Bürgern<br />
attraktiver erscheinen zu<br />
lassen. Schließlich sei sie sicher<br />
und praktisch, meint die<br />
Bundes-CIO.<br />
Ebenso sicher sei auch die DE-<br />
Mail, für die die Telekom auf<br />
der Cebit die Werbetrommel<br />
rührte. Im Sommer soll mit<br />
United Internet noch ein zweiter<br />
Anbieter dazukommen,<br />
der das „große Interesse“<br />
(Rogall-Grothe) decken soll.<br />
Allein die Versicherungswirtschaft<br />
verschicke 800 Millionen<br />
Briefe jährlich, da stecke<br />
viel Einsparpotenzial drin, so<br />
Rogall-Grothe. Die Website<br />
der Bundes-CIO liefert Details:<br />
[http://www.cio.bund.de]. n
Aus für RHEL 4 und seine Klone<br />
Red Hat Enterprise <strong>Linux</strong><br />
(RHEL) 4 hat mit dem Februar<br />
2012 seine siebenjährige<br />
Lebenszeit beendet. Darauf<br />
aufbauende Distributionen<br />
schließen sich an. So verschiebt<br />
das Centos-Projekt,<br />
das seine Pakete aus den frei<br />
lizenzierten Quelltexten von<br />
Red Hat baut, seinen Versionszweig<br />
4 ins Archiv und liefert<br />
keine Security-Updates mehr<br />
dafür. Auch Scientific <strong>Linux</strong><br />
beendet die Unterstützung für<br />
4 und empfiehlt wie Red Hat<br />
das Umsteigen auf Version 5<br />
oder 6, und zwar am besten<br />
via Neu-Installation.<br />
Daneben beenden auch alle<br />
Repositories, die bislang Pakete<br />
für RHEL lieferten, jetzt<br />
ihre Dienste für Version 4.<br />
Das betrifft die bei Fedora untergebrachten<br />
Extra Packages<br />
for Enterprise <strong>Linux</strong> (EPEL)<br />
sowie die Pakete des Entwicklers<br />
Remi Collet, der zwar die<br />
RPMs auf dem Server belässt,<br />
aber dafür keine Updates<br />
mehr liefert.<br />
n<br />
Lx-Office heißt jetzt Kivitendo<br />
Die Linet Services GmbH hat<br />
ihre freie betriebswirtschaftliche<br />
Software Lx-Office in<br />
Kivitendo umbenannt. Die<br />
aus einem Fork des US-amerikanischen<br />
SQL-Ledger hervorgegangene<br />
Software bleibe<br />
frei und stehe weiter unter der<br />
GPLv2, betont der Hersteller.<br />
Geschäftsführer Philip Reetz<br />
erklärt: „Einerseits ist Lx-Office<br />
ein sehr treffender Name.<br />
Libre Office tagt in Berlin<br />
Andererseits weckte er bei Interessenten<br />
regelmäßig völlig<br />
falsche Erwartungen. Daher<br />
haben wir lange nach einer<br />
Alternative gesucht.“ Der<br />
neue Name kommt aus der<br />
afrikanischen Sprache Suaheli<br />
und heißt „praktisch“.<br />
Zum Namen passt die Homepage<br />
[http://www.kivitendo.de]<br />
für die Anwendung mit ERPund<br />
CRM-Funktionen. n<br />
Zahlen & Trends 05/2012<br />
Aktuell<br />
www.linux-magazin.de<br />
13<br />
Openstreetmap begrüßt Apple<br />
Nicht ohne einen ironischen<br />
Unterton hat Jonathan Bennett<br />
von der Openstreetmap Foundation<br />
Apple als Nutzer der<br />
freien Kartendaten begrüßt.<br />
Wie Bennett in dem Blogbeitrag<br />
[http://blog.osmfoundation.<br />
org/2012/03/08/welcome‐apple/]<br />
schreibt, freue sich das Projekt<br />
über die Umstellung auf<br />
Openstreetmap, weg von den<br />
bislang bei Apple genutzten<br />
Google-Map-Daten.<br />
Apple habe aus den Basisdaten<br />
eigene Karten-Tiles<br />
gebaut. Die von Apple bei<br />
der Vorstellung des iPad 3<br />
gezeigte Fotoverwaltungs-<br />
App I-Photo, die auch auf<br />
das iPhone passt, komme mit<br />
Openstreetmap-Karten, wenn<br />
auch mit der reichlich alten<br />
Version aus dem Jahr 2010,<br />
so berichtet Bennett. Nutzer<br />
des Dienstes sollten also nicht<br />
den aktuellen Entwicklungsstand<br />
erwarten. Zudem fehle<br />
der nötige Hinweis auf die zu<br />
Openstreetmap Beitragenden.<br />
Um den einzufordern, werde<br />
man nun Kontakt mit Apple<br />
aufnehmen.<br />
Trotzdem sei das Projekt erfreut,<br />
dass ein weiterer prominenter<br />
Kartennutzer nun auf<br />
freie Daten setze. Bennett<br />
verweist Nutzer ohne passendes<br />
Apple-Gerät auf einen<br />
inoffiziellen Kartenviewer, um<br />
sich ein Bild zu machen. n<br />
Inoffizielle Ansicht: Die Openstreetmap-Basisdaten in der Apple-Anmutung.<br />
The Document Foundation<br />
(TDF) hat beschlossen ihre<br />
Libre-Office-Konferenz im<br />
Herbst 2012 in Berlin abzuhalten.<br />
Auf den Call for Locations<br />
gab es Bewerbungen von Berlin<br />
und dem spanischen Zaragoza.<br />
Die Entscheidung fiel<br />
durch eine Abstimmung unter<br />
den Stiftungsmitgliedern.<br />
Von 91 abgegebenen Stimmen<br />
entfielen 52 auf die deutsche<br />
<strong>Linux</strong> Essentials: Neues LPI-Zertifikat<br />
Das <strong>Linux</strong> Professional Institute<br />
(LPI) hat mit „<strong>Linux</strong> Essentials“<br />
ein neues Zertifizierungsprogramm<br />
angekündigt,<br />
das sich vor allem an Neueinsteiger<br />
und Schüler richtet. Im<br />
Unterschied zu für Sysadmins<br />
gedachten Programmen konzentriert<br />
sich Essentials auf<br />
Endanwender und vermittelt<br />
auch allgemeines Wissen zu<br />
Open Source. Die Lehrbereiche<br />
heißen neben „Grundlagen<br />
der <strong>Linux</strong> Kommandozeile,<br />
Dateien und Skripte“ auch<br />
„Open Source Software und<br />
Lizenzen verstehen“.<br />
Hauptstadt und 36 auf Zaragoza.<br />
Daneben gab es drei<br />
ungültige Stimmen.<br />
Auf der Liste der Berlin-Unterstützer<br />
finden sich zahlreiche<br />
Namen aus dem Vorstand der<br />
Document Foundation wie<br />
Thorsten Behrens, Jacqueline<br />
Rahemipour oder Florian<br />
Effenberger. Die Foundation<br />
ist nach deutschem Stiftungsrecht<br />
gegründet.<br />
n<br />
Das LPI bemüht sich bei dem<br />
neuen Zertifikat insbesondere<br />
um die Zusammenarbeit mit<br />
Schulen. Die Städtische Berufsschule<br />
für Informationstechnik<br />
in München und die<br />
Elektronikschule in Tettnang<br />
gehören zu den ersten Kooperationspartnern.<br />
Die Prüfung soll ab Juni in Europa<br />
starten, die Gebühr werde<br />
50 Euro in akademischen<br />
Testcentern und 65 Euro bei<br />
kommerziellen Testcentern betragen.<br />
Weitere Informationen<br />
liefert die LPI-Website [http://<br />
www.lpi.org/linuxessentials]. n
Aktuell<br />
www.linux-magazin.de Zahlen & Trends 05/2012<br />
14<br />
<strong>Linux</strong>-Server im Trend<br />
Nach den aktuellen Zahlen<br />
des „IDC Worldwide Quarterly<br />
Server Tracker“ steigen die<br />
Zahlen für <strong>Linux</strong>, während sie<br />
für Windows und Unix sinken.<br />
<strong>Linux</strong> konnte den amerikanischen<br />
Marktforschern zufolge<br />
im vierten Quartal seinen<br />
Anteil auf 18,4 Prozent aller<br />
Erlöse aus Serververkäufen<br />
steigern, das sind 1,7 Prozent<br />
mehr als im vierten Quartal<br />
des Vorjahres, wogegen die<br />
Zahlen für Windows etwa um<br />
denselben Wert (1,5 Prozent)<br />
auf 45,8 Prozent sanken. Sehr<br />
viel stärker schrumpften aber<br />
zum wiederholten Mal die Erlöse<br />
im Unix-Segment, nämlich<br />
um 10,7 Punkte auf 24,2<br />
Prozent.<br />
In hohem Maß betroffen davon<br />
waren Oracle und Fujitsu,<br />
deren Umsätze unter dem<br />
schwindenden Geschäft mit<br />
Solaris leiden. Das gute Ergebnis<br />
für <strong>Linux</strong> dagegen wurde<br />
insbesondere durch den Boom<br />
bei Cloud Computing und im<br />
HPC-Sektor gefördert. n<br />
Kommerzielles Owncloud startet im April<br />
Der Start für die kostenpflichtigen<br />
Services des Unternehmens<br />
Owncloud Inc. ist um<br />
einige Wochen verschoben<br />
worden. Wie Markus Rex,<br />
CEO von Owncloud, in einer<br />
Mitteilung schreibt, gäbe<br />
es noch einige Features fest<br />
einzubeziehen, die man ursprünglich<br />
als weniger wichtig<br />
erachtet habe. Owncloud<br />
habe während der Cebit entsprechendes<br />
Feedback der<br />
Nutzer bekommen. Der Startzeitpunkt<br />
ist laut Rex nun<br />
April, anfangs war von Mitte<br />
März die Rede.<br />
Owncloud ist als kommerzieller<br />
Anbieter der freien Cloudlösung<br />
Ende 2011 gegründet<br />
worden. Neben dem ehemaligen<br />
Novell/Suse-Manager Rex<br />
sind der Owncloud-Gründer<br />
Frank Karlitschek und mit<br />
Holger Dyroff ein weiterer<br />
Suse-Manager an Bord. Ziel<br />
ist es, in Konkurrenz zu proprietären<br />
Cloud-Angeboten wie<br />
Dropbox, Stratos Hidrive oder<br />
Apples I-Cloud zu treten. n<br />
Programm der<br />
OSDC 2012 steht<br />
Die Organisatoren der Open<br />
Source Data Center Conference<br />
am 25. und 26. April<br />
in Nürnberg haben deren Programm<br />
veröffentlicht [http://<br />
www.netways.de/osdc/osdc_2012/<br />
programm/]. Die kostenpflichtige<br />
Konferenz bietet drei parallele<br />
Tracks, die „Devops and<br />
Methods“, „Databases“ sowie<br />
„Scalability and Infrastructure“<br />
überschrie ben sind.<br />
Die Keynotes halten Kristian<br />
Köhntopp (Booking.com) und<br />
der IT-Fachanwalt Hendrik<br />
Schöttle. Auf der Themenliste<br />
stehen unter anderem die<br />
Datenbanken Mongo DB und<br />
MySQL, Admin-Themen wie<br />
Backup, Cfengine und Marionette<br />
Collective sowie Eucalyptus,<br />
Open Nebula und<br />
Open Stack.<br />
Dem Vortragsprogramm gehen<br />
am 24. April optionale<br />
Workshops zu IPv6, Puppet<br />
und Open Nebula voraus. Informationen<br />
zu Preisen und<br />
Leistungen gibt es beim Veranstalter:<br />
[http://www.netways.<br />
de/osdc/osdc_2012/leistungen/].n<br />
SoC-Thin-Clients kommen<br />
Der Thin-Client-Hersteller<br />
Igel hat bei<br />
der Cebit sein erstes<br />
Gerät mit ARM-System-on-Chip<br />
gezeigt.<br />
Der Multimedia-<br />
Thin-Client findet im<br />
UD2-Gehäuse Platz,<br />
dem kleinsten des<br />
Herstellers.<br />
Herzstück der neuen<br />
Klasse von 200-Euro-<br />
Geräten ist ein ARMbasiertes<br />
Systemon-Chip<br />
(SoC) mit digitalem<br />
Signalprozessor (DSP) von<br />
Texas Instruments. So sollen<br />
die neuen Thin Clients Energie-Effizienz<br />
mit hoher Multimedia-Performance<br />
kombinieren.<br />
Weil die Hardware<br />
günstiger sei, könne man Features<br />
einbauen, die sonst nur<br />
in teureren Geräten zu finden<br />
seien, erklärte Entwicklungsleiter<br />
Dirk Dördelmann dem<br />
<strong>Linux</strong>-<strong>Magazin</strong>.<br />
Treibende Kraft hinter dem<br />
ARM-Boom in der Thin-<br />
Client-Branche ist der Softwarehersteller<br />
Citrix. Er hat<br />
im Herbst 2011 die Kampagne<br />
Das ARM-System-on-Chip in Igels kleinstem<br />
Thin-Client-Gehäuse.<br />
HDX Ready SoC ins Leben<br />
gerufen. Mit diesem Etikett<br />
möchte er ARM-SoC-Geräte<br />
versehen, die etwa HD-Video<br />
im Vollbildmodus wiedergeben.<br />
Die passende Remote-<br />
Computing-Software liefert<br />
Citrix. Mit von der Partie sind<br />
unter anderem Ncomputing,<br />
Wyse, VXL und HP.<br />
Auch andere arbeiten an SoC-<br />
Thin-Clients. Der österreichisch-kalifornische<br />
Hersteller<br />
Stratodesk meldet, dass er<br />
<strong>Linux</strong>-basierte Thin-Client-Lösung<br />
erfolgreich auf ein ARM-<br />
System von Texas Instruments<br />
portiert hat.<br />
n<br />
Fraunhofer sichert<br />
Smartphones<br />
Das Fraunhofer-Institut für<br />
Sichere Informationstechnologie<br />
(SIT) und das Center for<br />
Advanced Security Research<br />
Darmstadt (CASED) haben<br />
ihre Sicherheitslösung Bizz-<br />
Trust für Android-Smartphones<br />
vorgestellt.<br />
Bizz-Trust soll das sichere Nebeneinander<br />
von beruflicher<br />
und privater Nutzung von<br />
Smartphones ermöglichen.<br />
Grundprinzip des Schutzmechanismus<br />
ist die Aufteilung<br />
des Geräts in diese zwei Bereiche.<br />
Features sind unter<br />
anderem getrennte Synchronisierung<br />
für private und<br />
geschäftliche Kontakte und<br />
VPN-Verbindungen.<br />
Unternehmen können zudem<br />
vertrauenswürdige Apps auf<br />
den Telefonen ihrer Mitarbeiter<br />
zulassen und aktualisieren.<br />
Private Aktivitäten, etwa<br />
der SMS-Versand, sind farblich<br />
hervorgehoben. Das Demo-Video<br />
[http://www.bizztrust.<br />
de/en/demo.html] zeigt die<br />
Oberfläche des abgesicherten<br />
Android-Systems.<br />
n
Informatiker hinterfragen ACTA<br />
Die Gesellschaft für Informatik<br />
e.V. (GI) hat eine kritische<br />
Stellungnahme zum Anti-<br />
Counterfeiting Trade Agreement<br />
(ACTA) veröffentlicht.<br />
ACTA soll eine internationale<br />
Übereinkunft bei der Bekämpfung<br />
von Produktpiraterie und<br />
Urheberrechtsverstößen erreichen.<br />
Einige Staaten wie die<br />
USA, Japan und Australien<br />
haben es unterzeichnet, die<br />
deutsche Bundesregierung<br />
noch nicht, weshalb die GI<br />
Fragen und Forderungen an<br />
das Wirtschafts- und das Justizministerium<br />
geschickt hat.<br />
Die Informatiker-Vertretung<br />
kritisiert die Anwendung von<br />
ACTA auf die Veröffentlichung<br />
von Sicherheitslücken. In der<br />
Vergangenheit sei deren Publikation<br />
behindert worden,<br />
weil sie Urheberrechte an den<br />
Produkten verletze. Artikel<br />
27 von ACTA verbiete zudem<br />
Verfahren wie Reengineering<br />
und nötige Tools.<br />
Daneben bemängelt die Organisation<br />
wie andere ACTA-<br />
Kritiker, etwa der Bundesverband<br />
IT-Mittelstand, dass das<br />
Abkommen Internetprovidern<br />
und anderen privaten Firmen<br />
Aufgaben zuweist, die mit<br />
dem Datenschutz und anderen<br />
Bürgerrechten in Konflikt<br />
stehen. Das Papier steht bei<br />
der GI [http://www.gi.de] zum<br />
Download bereit.<br />
n<br />
System Management Konferenz in Bozen<br />
Veranstalter Würth Phoenix<br />
lädt für den 10. Mai 2012<br />
Fachpublikum, IT-Entscheider,<br />
Systemadministratoren<br />
und Open-Source-Interessierten<br />
zur „Open Source System<br />
Management Konferenz“ nach<br />
Bozen ein. In der vierten Auflage<br />
hat sich die Konferenz<br />
einen neuen Namen gegeben<br />
und erweitert das inhaltliche<br />
Spektrum. Zu den Themen<br />
zählen die Monitoring-Lösung<br />
Nagios, das Visualisierungstool<br />
Cacti sowie das IT-Ressourcen-Management<br />
GLPI<br />
nebst Open-Source-Lösungen<br />
unterschiedlicher Couleur für<br />
den Firmeneinsatz. Redner<br />
sind unter anderem der Gründer<br />
der französischen Monitoring-Community<br />
Olivier Jan<br />
und Luca Deri von Ntop. Zudem<br />
sprechen Georg Kostner<br />
von Neteye und Hauke Böttcher<br />
von OTRS. Der Marktforscher<br />
Forrester Research gibt<br />
außerdem eine Einschätzung<br />
zu Potenzial und Risiken von<br />
Open Source.<br />
Die Teilnahme ist kostenlos,<br />
die Besucherzahl aber auf 400<br />
Plätze begrenzt, was eine Registrierung<br />
unter [http://www.<br />
wuerth‐phoenix.com/events] empfiehlt.<br />
Interessierten, die nicht<br />
nach Italien reisen können,<br />
bietet das <strong>Linux</strong>-<strong>Magazin</strong> ein<br />
Live-Streaming des gesamten<br />
Konferenztages an. n<br />
Zahlen & Trends 05/2012<br />
Aktuell<br />
www.linux-magazin.de<br />
15<br />
Kann eine<br />
Schulungseinrichtung<br />
für mehr als EINEN<br />
Themenbereich<br />
berühmt werden?<br />
Das <strong>Linux</strong>hotel ist bekannt für erstklassige Open-Source-Schulungen. In den letzten Jahren kamen Java<br />
und andere Programmiersprachen hinzu - wie immer in Kooperation mit führenden Spezialisten, und in<br />
abgeschiedener, konzentrierter, aber auch ziemlich verspielter Umgebung. Es ist so naheliegend, auch<br />
Entwicklerthemen bei den OpenSource‘lern zu lernen, weil man dort schon immer sehr „unter die<br />
Haube“ guckte und mit viel Freude intensivst arbeitet. Das weiss ein Großteil der deutschen Admins, nur<br />
unter Entwicklern hat's sich noch nicht so ganz herumgesprochen.<br />
Mehr siehe www.linuxhotel.de
Aktuell<br />
www.linux-magazin.de Zahlen & Trends 05/2012<br />
16<br />
Ubuntu möchte aufs Handy<br />
Der Ubuntu-Hersteller Canonical<br />
hat seine Strategie präsentiert,<br />
um Ubuntu künftig<br />
auch auf mobilen Geräten zu<br />
verbreiten. Canonical zielt in<br />
Sachen Hardware auf Smartphones<br />
mit Android, doch<br />
statt Android von den Geräten<br />
zu verbannen, möchte man<br />
koexistieren: Ubuntu und<br />
Android sollen, so der Plan,<br />
gemeinsam auf leistungsfähigen<br />
Handys laufen.<br />
Am bestehenden Android will<br />
Canonical nichts ändern, das<br />
System sei für mobile Geräte<br />
bereits optimal angepasst.<br />
Doch moderne Smartphones<br />
würden mittlerweile genügend<br />
Rechenpower mitbringen, um<br />
damit auch ein „richtiges“<br />
Computersystem betreiben<br />
zu können.<br />
Damit ließen sich die Vorteile<br />
eines Desktop-Computers mit<br />
großem Monitor und Eingabegeräten<br />
mit der Portabilität<br />
eines Handys zusammenbringen.<br />
Statt eines Desktops/<br />
Lap tops und eines Smartphones,<br />
müssten Unternehmen<br />
ihren Mitarbeiten nur noch<br />
ein Ubuntu-Android-Handy<br />
zur Verfügung stellen. Dies<br />
würde den Administrationsaufwand<br />
und die Kosten für<br />
Firmen deutlich senken.<br />
Canonical visiert Firmenkunden<br />
an, private Anwender<br />
könnten sich nicht ohne Weiteres<br />
Ubuntu neben Android<br />
auf dem Handy installieren.n<br />
Gnome-Konferenz sucht Vorträge<br />
Die Gnome-Entwicklerkonferenz<br />
Guadec findet vom 26.<br />
Juli bis 1. August in Spanien<br />
statt. Bis 14. April besteht die<br />
Gelegenheit, Beiträge einzureichen.<br />
Zu den Kernthemen<br />
gehören das Programmieren<br />
für die Gnome-Version 3,<br />
Integration des Web in den<br />
Desktop, Gnome auf neuen<br />
Geräteklassen sowie die<br />
Verbesserung und Vereinheitlichung<br />
der technischen<br />
Desktop-Infrastruktur. Daneben<br />
geht es darum, wie die<br />
Benutzer die Desktopumgebung<br />
erleben, wie das Projekt<br />
neue Mitwirkende gewinnt<br />
und wie es sich selbst organisiert.<br />
Zudem feiert Gnome<br />
im Jahr 2012 sein 15-jähriges<br />
Bestehen.<br />
Wer zu diesen Themen einen<br />
Vortrag halten möchte, verwendet<br />
das entsprechende<br />
Formular auf der Website<br />
[https://www.gpul.org/indico/conferenceDisplay.py?confId=0].<br />
Für<br />
Lightning Talks, Workshops,<br />
Entwicklersitzungen und Birdof-a-Feather-Runden<br />
erfolgt<br />
ein separater Aufruf. n<br />
Beste Berufschancen für <strong>Linux</strong>er<br />
Neue Verbindung: Ubuntu soll mit Googles Android koexistieren.<br />
Deltacloud-Projekt verlässt den Inkubator<br />
Die <strong>Linux</strong> Foundation und<br />
die Internet-Stellenbörse Dice.com<br />
bescheinigen <strong>Linux</strong>-<br />
Professionals hervorragende<br />
Karrierechancen. Die Unternehmen<br />
suchen verstärkt<br />
Beschäftigte mit <strong>Linux</strong>-Knowhow<br />
und zahlen ihnen mehr,<br />
so das Fazit einer Befragung<br />
von rund 2300 Personalverantwortlichen<br />
weltweit (42<br />
Prozent in den USA), die im<br />
Dezember 2011 stattfand.<br />
81 Prozent der Befragten sehen<br />
das Einstellen von <strong>Linux</strong>-<br />
Professionals als wichtige Aufgabe<br />
für 2012. Damit geht ein<br />
Lohnzuwachs einher: Gegenüber<br />
2 Prozent im Jahr 2011<br />
für Techniker im Allgemeinen<br />
erhielten die <strong>Linux</strong>er 5 Prozent<br />
mehr Gehalt. Daneben<br />
dürfen sie mit flexiblen Arbeitszeiten,<br />
Fortbildung und<br />
Zertifizierung rechnen.<br />
Begehrt sind laut Umfrage<br />
Entwickler und Systemadministratoren<br />
mit drei bis fünf<br />
Jahren Berufserfahrung. Der<br />
<strong>Linux</strong> <strong>Jobs</strong> Report steht als<br />
PDF [http://www.linuxfoundation.<br />
org/sites/main/files/dice_lf_linux_<br />
jobs_report_2012.pdf] zur Verfügung.<br />
(jk/mfe/mhu/uba) n<br />
Deltacloud, ein API samt Implementierungen<br />
fürs Cloud<br />
Computing, steigt zu einem<br />
vollwertigen Apache-Projekt<br />
auf. Das hat die Apache Software<br />
Foundation (ASF) bekannt<br />
gegeben, in deren Inkubator<br />
das Projekt seit 2009<br />
herangereift ist.<br />
Deltacloud definiert eine<br />
einheitliche REST-Schnittstelle<br />
für Webservices, über<br />
die sich die Ressourcen von<br />
Cloud-Anbietern steuern lassen.<br />
Implementierungen des<br />
API existieren unter anderem<br />
für Amazon, Eucalyptus, Go<br />
Grid, IBM, Microsoft, Open<br />
Stack und Rackspace.<br />
Weitere Informationen zur<br />
Cloudlösung sowie den Code<br />
unter der Apache-2.0-Lizenz<br />
gibt es bei [http://deltacloud.<br />
apache.org].<br />
n<br />
Klare Aussage: <strong>Linux</strong>-Fertigkeiten sind ein begehrtes Feature.
AKTION NUR BIS<br />
30.04.12!<br />
SERVER-POWER<br />
JEDERZEIT. STUNDENGENAU.<br />
Jetzt 100 und heute Abend 1.000 Kunden?<br />
Kein Problem!<br />
■ NEU: Leistungserhöhung und Leistungsreduktion<br />
jederzeit flexibel nach Bedarf stundengenau einstellbar,<br />
bei stundengenauer Abrechung<br />
■ NEU: Weitere Virtuelle Maschinen stundengenau zubuchbar<br />
■ NEU: Bis zu 6 CPU, bis zu 24 GB RAM und bis zu 800 GB HDD<br />
■ Hosting in den sichersten 1&1 Hochleistungs-Rechenzentren<br />
■ <strong>Linux</strong>- oder Windows-Betriebssystem,<br />
bei Bedarf Parallels Plesk Panel 10 unlimited vorinstalliert<br />
■ Eigene dedizierte Server-Umgebung mit vollem Root-Zugriff<br />
■ Eigenes SSL-Zertifikat<br />
■ 24/7 Hotline und Support<br />
1&1 DYNAMIC CLOUD SERVER<br />
3 MONATE<br />
39, 99<br />
0<br />
€ *<br />
€/Monat*<br />
ab<br />
39,99 €/Monat*<br />
0,–danach<br />
NEU: Management und Monitoring<br />
Ihrer Server-Dienste im Browser<br />
oder per Mobile-App<br />
Infos und<br />
Bestellung:<br />
0 26 02 / 96 91<br />
0800 / 100 668<br />
www.1und1.info<br />
* 1&1 Dynamic Cloud Server Basiskonfi guration 3 Monate 0,– €/Monat, danach ab 39,99 €/Monat für die Basiskonfi guration. Konfi guration und Leistungsberechnung jeweils stundengenau.<br />
Einmalige Einrichtungsgebühr 39,– €. 12 Monate Mindestvertragslaufzeit. Preise inkl. MwSt.
Aktuell<br />
www.linux-magazin.de Kernel-News 05/2012<br />
18<br />
Zacks Kernel-News<br />
Proprietäre Module dürfen wieder auf VFS zugreifen<br />
Verletzt das Laden proprietärer<br />
Module in den <strong>Linux</strong>-Kernel<br />
die GPL? Diese Streitfrage<br />
kann vermutlich nur ein Gericht<br />
entscheiden, bis dahin<br />
bleibt eine Grauzone. In dieser<br />
breitet sich ein großes<br />
Angebot proprietärer Binärmodule<br />
für <strong>Linux</strong> aus. Meist<br />
stammen sie von Herstellern,<br />
die zwar ihre Hardware unter<br />
dem freien Betriebssystem<br />
zum Laufen bringen möchten,<br />
gleichzeitig aber das Innenleben<br />
ihrer Produkte möglichst<br />
geheim halten wollen.<br />
Ungeachtet der juristischen<br />
Unklarheiten haben sich die<br />
Kernelentwickler schon vor<br />
Jahren an einer technischen<br />
Lösung versucht: Das Makro<br />
»EXPORT_SYMBOL_GPL« gewährt<br />
ausschließlich Modulen<br />
mit GNU-Lizenz den Zugang<br />
zu den exportierten Symbolen.<br />
Es kommt allerdings nicht<br />
durchgehend zum Einsatz,<br />
sodass Binärmodule immer<br />
noch weite Teile des Kernels<br />
nutzen können.<br />
Linus Torvalds persönlich gibt<br />
an, er habe nichts gegen Binärtreiber.<br />
Alan Cox dagegen<br />
zieht die Grenzen enger: Er<br />
erlaubt es keinem proprietären<br />
Treiber, seinen Code im<br />
<strong>Linux</strong>-Kernel zu nutzen.<br />
Ein Patch von Christoph Hellwig<br />
in Kernel 3.1 bringt die<br />
Streitfrage jetzt abermals auf<br />
die Tagesordnung. Es schränkt<br />
den Zugriff von Nicht-GPL-<br />
Code auf die Schnittstellen<br />
des Virtual File System (VFS)<br />
dramatisch ein. Anton Altaparmakov<br />
von Tuxera gibt<br />
zu bedenken, dass damit alle<br />
nicht unter GPL lizenzierten<br />
Dateisysteme ihre Codepfade<br />
für Lese- und Schreiboperationen<br />
ändern müssten. Er fragt,<br />
Christoph Hellwigs Änderungen am VFS verwendeten Funktionen, die nur mit<br />
GPL-lizenzierten Modulen zusammenarbeiten.<br />
ob das wirklich Christophs<br />
Absicht war. Andreas Dilger<br />
weist darauf hin, dass die<br />
strengere VFS-Lizenzpolitik<br />
nichts mit technischen Erfordernissen<br />
zu tun hat.<br />
Hier schaltete sich Linus<br />
Torvalds ein. Er glaubt, die<br />
Änderung sei unabsichtlich<br />
erfolgt, zumal sie nicht in<br />
den Commit-Informationen<br />
dokumentiert sei. Daher vereinbarte<br />
er mit dem VFS-Chef<br />
Al Viro, sie rückgängig zu machen.<br />
Al war einverstanden<br />
und bittet die Entwickler, »EX-<br />
PORT_SYMBOL_GPL« nicht in<br />
VFS-Code zu verwenden – es<br />
sei denn aus einem wichtigen<br />
Grund, der aber dokumentiert<br />
gehöre.<br />
Damit ist der Status quo wiederhergestellt.<br />
Diese Episode<br />
zeigt allerdings, wie sehr die<br />
Meinungen der Entwickler zu<br />
Nicht-GPL-Modulen auseinandergehen.<br />
n<br />
Regellose Remounts<br />
Der Red-Hat-Mitarbeiter Jerome<br />
Marchand hat auf Unregelmäßigkeiten<br />
beim Einhängen<br />
von Dateisystemen<br />
hingewiesen. Benutze man<br />
den Mount-Befehl, um ein bereits<br />
eingebundenes Gerät zu<br />
remounten, passiere je nach<br />
Dateisystem etwas anderes,<br />
teilt er mit. Manche Systeme<br />
behielten die ursprünglich verwendeten<br />
Mount-Optionen,<br />
andere nutzten Standardeinstellungen<br />
und wieder andere<br />
ignorieren nur die neuen Optionen<br />
des Remounts. Daneben<br />
gebe es noch Mischformen.<br />
Außerdem merkt Jerome an,<br />
dass es verwirrende Unterschiede<br />
zwischen den Informationen<br />
in »/etc/mtab« und<br />
»/proc/mounts« gibt.<br />
Er fragte die Mailingliste, wie<br />
das Verhalten der Dateisysteme<br />
korrekterweise aussehen<br />
solle. Daraufhin meldete sich<br />
Jan Kara von der tschechischen<br />
Suse-Niederlassung<br />
und pflichtet ihm bei: Die<br />
bestehende Situation sei ein<br />
Riesenchaos. Es sei aber fast<br />
unmöglich, sie neu zu ordnen,<br />
weil massenweise Userland-<br />
Code existiere, der sich auf<br />
die Eigenheiten eines jeden<br />
Dateisystems verlasse.<br />
Karel Zak dagegen sieht mindestens<br />
eine Möglichkeit: Als<br />
Maintainer der <strong>Linux</strong>-Utilities<br />
könnte er neue Optionen für<br />
das Mount-Kommando umsetzen,<br />
mit deren Hilfe der<br />
Anwender genau festlegt, was<br />
bei einem Remount geschehen<br />
soll. Das ließe den derzeitigen<br />
Zustand unangetastet, beschere<br />
den Anwendern aber bessere<br />
Kontrollmöglichkeiten. n
Neuheiten von O’Reilly<br />
Lösungen vorprogrammiert<br />
Pohmel-FS neu implementiert<br />
Der russische Entwickler Jewgeni<br />
Poljakow hat das verteilte<br />
Dateisystem Pohmel-FS<br />
komplett neu implementiert<br />
und für den <strong>Linux</strong>-Kernel eingereicht.<br />
Die vorherige Version, schreibt<br />
er, habe auf NFS beruht und<br />
jahrelang im »staging/«-Verzeichnis<br />
vor sich hin gedämmert,<br />
ohne Fortschritte zu machen.<br />
Die neue Umsetzung ist<br />
Device Isolation Groups<br />
laut Jewgeni im Grunde nur<br />
ein Frontend für den Key-Value-Store<br />
des Projekts Elliptics<br />
Network. Auf diesen Objektspeicher<br />
als Basis habe er die<br />
Systemcalls für ein Dateisystem<br />
gesetzt.<br />
Die neue Version unterstützt<br />
normale Dateien, symbolische<br />
und harte Links sowie die<br />
weitere Standardausstattung<br />
eines <strong>Linux</strong>-Dateisystems. n<br />
Praxishandbuch VMware vSphere 5<br />
Ralph Göpel<br />
496 Seiten, 2012, 49,90 Euro<br />
ISBN 978-3-86899-164-2<br />
In diesem Handbuch finden Sie alles, was<br />
Sie über Virtualisierung und vSphere 5 wissen<br />
müssen – samt Tipps & Tricks zu<br />
angrenzenden Techno logien. Die 2. Auflage<br />
wurde komplett auf VMware vSphere 5<br />
aktualisiert und durch die Neuerungen bei<br />
vSphere5, z.B. VSA-Storage Cluster, Auto<br />
Deploy und vSphere Appliance auf SuSE<br />
<strong>Linux</strong> Basis ergänzt.<br />
Praxiskurs Routing & Switching<br />
Bruce Hartpence<br />
216 Seiten, 2012, 24,90 Euro<br />
ISBN 978-3-86899-185-7<br />
Dieses Buch bietet einen vertiefenden Blick<br />
in die Welt der Netzwerke, Nachrichtenverbindungen<br />
und Protokolle sowie ihre Strukturen<br />
und Arbeitsweisen. Mit vielen Beispielen.<br />
Für Studenten sowie Admins, die<br />
ihr Wissen erweitern und festigen wollen.<br />
Der australische Entwickler<br />
David Gibson hat in seinen<br />
Patches eine neue Infrastruktur<br />
namens Device Isolation<br />
Groups eingeführt. Deren<br />
Aufgabe ist es, den Rest eines<br />
<strong>Linux</strong>-Systems vor bestimmten<br />
Gerätetreibern zu schützen.<br />
Die Umsetzung besteht<br />
Commit-Mailingliste vermisst<br />
Nach dem Einbruch in die<br />
Kernelserver im August 2011<br />
hat es Monate gedauert, bis<br />
die Git-Repositories, Benutzerkonten<br />
und Mailinglisten<br />
wieder zur Verfügung standen.<br />
Manche Features vermissen<br />
die Benutzer von Kernel.<br />
org immer noch.<br />
Dazu gehört die Mailingliste<br />
»git‐commits‐head«, nach der<br />
Boaz Harrosh vom Storage-<br />
Hersteller Panasas erstmals im<br />
Oktober fragte. Sie liefert automatisiert<br />
die neusten Änderungsmeldungen<br />
aus der Kernelentwicklung.<br />
Boaz schrieb,<br />
die Liste sei in manchen Teilen<br />
der Welt unersetzlich, weil<br />
die Kernelmirrors bisweilen 24<br />
im Großen und Ganzen aus<br />
einer Blacklist, in der die Treiber<br />
stehen, die vom restlichen<br />
Betriebssystem isoliert werden<br />
sollen. David zieht aber ebenfalls<br />
in Erwägung, das Feature<br />
auch für eine Whitelist<br />
vertrauenswürdiger Treiber<br />
umzusetzen.<br />
n<br />
Stunden brauchten, um sich<br />
zu aktualisieren. Der Kernel-<br />
Journalist Jonathan Corbet<br />
versicherte ihm damals, die<br />
Serveradministratoren wüssten,<br />
was sie tun.<br />
Vier Monate später, im Februar<br />
2012, liefen bereits viele<br />
Kernel.org-Dienste wieder<br />
und Boaz fragte erneut nach.<br />
Jonathan schrieb zurück, er<br />
habe nichts Neues erfahren,<br />
obwohl er um einen Statusbericht<br />
gebeten habe.<br />
Daneben erzählte er von<br />
seiner selbst geschriebenen<br />
Lösung, die Änderungen per<br />
NNTP publiziert, und stellte<br />
deren Quelltext in Aussicht.<br />
(Zack Brown/mhu) n<br />
S P I E G E L . D E - B U C H T I P P !<br />
Blog:<br />
community.oreilly.de/blog<br />
Google+:<br />
bit.ly/googleplus_oreillyverlag<br />
Hackerbrause – kurz & geek<br />
Kathrin Ganz, Jens Ohlig, Sebastian Vollnhals<br />
144 Seiten, 2011, 9,90 €<br />
ISBN 978-3-86899-141-3<br />
Wie kam Club-Mate, die bekannteste<br />
Hackerbrause, in die deutsche Hackerszene?<br />
Welchen Anteil hatten freie<br />
Getränkevertriebskollektive an der<br />
Verbreitung dieser Getränke? Und wer<br />
brachte das Getränk in die USA? Dies und<br />
noch vieles mehr wird in Hacker brause kurz<br />
& geek beschrieben.<br />
Die elektronische Welt mit Arduino entdecken<br />
Erik Bartmann<br />
704 Seiten, 2011, 34,90 Euro<br />
ISBN 978-3-89721-319-7<br />
Dieses Buch führt Sie Schritt für Schritt in<br />
die Welt der Elektronik, der Schaltpläne<br />
und der Leuchtdioden ein. Autor Erik<br />
Bartmann war beim ComputerClub 2 zu<br />
Gast: In der Sendung mit Wolfgang Back<br />
und Wolfgang Rudolph stellte er den<br />
Microcontroller und dessen Möglichkeiten<br />
vor. Mehr Infos: http://bit.ly/ardiuno-cc2<br />
O’REILLY ®<br />
www.oreilly.de<br />
Facebook:<br />
facebook.com/oreilly.de<br />
Twitter:<br />
twitter.com/oreilly_verlag
Aktuell<br />
www.linux-magazin.de LNM-Awards 05/2012<br />
20<br />
<strong>Linux</strong> New Media Awards 2012<br />
Trophäensammler<br />
Vom „Hottest <strong>Linux</strong> Device“ über das innovativste Open-Source-Projekt bis zur besten Interoperabilitätslösung<br />
– die <strong>Linux</strong> New Media AG prämiert bei der Cebit mit ihren Awards Leistungen rund um <strong>Linux</strong> und freie Software.<br />
Die meisten Trophäen sahnten diesmal Android und Libre Office ab. Mathias Huber<br />
Abbildung 1: Die Preisträger in Reih und Glied auf der Cebit 2012: (von links): Florian Effenberger (Libre<br />
Office), Andreas Kretschmer (PostgreSQL Europe), Christine Hupe (Google), Julia Oppel und Soung-min Choi<br />
(Samsung) sowie Thorsten Behrens (Libre Office)<br />
Bei der Verleihung im Open-Source-Forum<br />
der Cebit haben das Projekt Libre Office,<br />
Samsung und Googles Betriebssystem<br />
Android jeweils zwei der insgesamt<br />
sieben Preise (Abbildung 1) gewonnen.<br />
Zuvor hatte eine Jury, bestehend aus den<br />
<strong>Magazin</strong>-Redaktionen sowie rund 300<br />
Personen aus der internationalen OS-<br />
Community, ihr Votum abgegeben.<br />
Dass die Open-Source-Szene sich bei der<br />
Cebit inzwischen zahlreich auf einer veritablen<br />
Fläche in Halle 2 immer breiter<br />
macht, haben auch die Juroren zu spüren<br />
bekommen. Im Rennen um den Preis<br />
für das innovativste Open-Source-Projekt<br />
beispielsweise traten dieses Jahr fast 40<br />
Bewerber an.<br />
Die meisten Stimmen entfielen schließlich<br />
auf Android, Googles Mobil-Betriebssystem.<br />
Es habe <strong>Linux</strong> einen enormen<br />
Verbreitungsschub beschert, betonte der<br />
Knoppix-Erfinder Klaus Knopper in seiner<br />
Laudatio und überreichte den Award an<br />
Googles Produkt-Marketing-Managerin<br />
Christine Hupe. In ihrer Ansprache bedankte<br />
sie sich bei der großen Gemeinde<br />
der App-Entwickler, die Software für die<br />
Plattform bereitstellen.<br />
Christine Hupe kam noch ein zweites<br />
Mal auf die Bühne, als Android auch den<br />
Preis für herausragende Verdienste um<br />
<strong>Linux</strong> und freie Software erhielt. Diesen<br />
überreichte der langjährige <strong>Linux</strong>-Advokat<br />
und Exekutive Director von <strong>Linux</strong><br />
International Jon „Maddog“ Hall. Der<br />
US-Amerikaner hob in seiner Würdigung<br />
hervor, dass Android den Verbrauchern<br />
die Wahl zwischen verschiedenen Geräten<br />
und Anbietern ermögliche.<br />
Heiße Ware<br />
Im Zusammenhang mit Android steht<br />
auch das „Hottest <strong>Linux</strong> Device 2012“:<br />
Das Smartphone Galaxy Nexus von<br />
Samsung konnte sich gegen Geräte wie<br />
Amazons Kindle sowie die große Vielfalt<br />
weiterer Android-Telefone durchsetzen.<br />
In seiner Laudatio bekannte Marcel<br />
Hilzinger, Chefredakteur der Zeitschrift<br />
„Android User“, auch sein persönlicher<br />
Favorit sei das Galaxy Nexus. Das koreanische<br />
Unternehmen Samsung erhielt zudem<br />
den Preis als Android-freundlichster<br />
Hardwarehersteller.<br />
Als weiterer Hauptgewinner erwies sich<br />
die freie Büro-Suite Libre Office. Das<br />
Ende 2010 von Open Office abgespaltete<br />
Projekt hat es bereits geschafft, sich als<br />
Quasi-Standard auf dem freien Desktop<br />
zu etablieren, Libre Office läuft aber<br />
auch unter Windows und Mac OS X. Die<br />
Office-Suite hat Konkurrenten wie Samba<br />
und Wine als beste Interoperabilitätslösung<br />
auf die Plätze verwiesen.<br />
In seiner Vorrede betonte der <strong>Linux</strong>-Consultant<br />
Thomas Uhl die Bedeutung dieser<br />
Kategorie: Jeder Anwender verfasse<br />
Text- und Office-Dokumente und sei notgedrungen<br />
auf Interoperabilität angewiesen.<br />
Den Preis nahm Thorsten Behrens<br />
von der hinter dem Projekt stehenden<br />
Stiftung Document Foundation entgegen.<br />
Er widmete den Preis allen Mitwirkenden<br />
aus der Community. Thomas Uhl zeigte<br />
sich bereits neugierig auf die Web- und<br />
Mobilversionen der Büro-Suite.<br />
Auch die Herzen der Anwender hat das<br />
freie Büroprogramm offenbar gewonnen:<br />
Es erhielt den Preis für die beste Desktop-<br />
Anwendung. Für diesen Publikumspreis<br />
sind die Leser aufgerufen, Vorschläge zu<br />
machen und anschließend abzustimmen.<br />
Zudem hat die <strong>Linux</strong> New Media AG<br />
einen Preis für die beste Open-Source-<br />
Datenbank ausgelobt: Mit deutlichem<br />
Abstand gewann PostgreSQL. Der Sieger<br />
vereinte eineinhalbmal so viele Stimmen<br />
auf sich wie der Zweite. (uba) n
www.kamp.de<br />
In der IT setzt man besser<br />
auf einen starken Partner!<br />
IT-Lösungen – stark und individuell. Mehr unter www.kamp.de
Titelthema<br />
www.linux-magazin.de Softwareverteilung 05/2012<br />
22<br />
Zwei freie Systeme zur Softwareverteilung im Vergleich<br />
Paketzentren<br />
Alle <strong>Linux</strong>-Clients einer Firma auf dem aktuellen Stand halten – das erweist sich auf Dauer als logistische Herausforderung.<br />
Dem geplagten Administrator helfen zum Glück Systeme zur Softwareverteilung, für die er noch<br />
nicht einmal den Geldbeutel öffnen muss. Tim Schürmann<br />
© Oleg Zhukov, 123RF<br />
Zwei Mausklicks genügen – und schon<br />
bekommen alle Rechner der Buchhaltung<br />
die neueste Tabellenkalkulation installiert.<br />
Der Administrator muss sich dazu<br />
nicht einmal von seinem Stuhl erheben.<br />
Möglich machen das Programme zur Paketverteilung.<br />
Sie arbeiten allesamt nach<br />
einem einfachen Prinzip: Ein zentraler<br />
Server hortet und verwaltet alle verfügbaren<br />
Softwarepakete. Dort können<br />
sich dann nicht nur die angeschlossenen<br />
Clients selbst bedienen, auf Weisung des<br />
Administrators schiebt der Server auch<br />
beliebige Pakete auf einige ausgewählte<br />
Clients. Daneben lassen sich natürlich<br />
Pakete auch wieder deinstallieren oder<br />
Clients aktualisieren.<br />
Damit sich der Admin dabei nicht die<br />
Finger wund klickt, darf er mehrere zusammengehörende<br />
Pakete zu einer Paketgruppe<br />
vereinen: Die Entwicklungsabteilung<br />
freut sich beispielsweise über<br />
Eclipse, Java und einen UML-Editor.<br />
Danach genügt ein einziges Kommando,<br />
um alle drei Werkzeuge gleichzeitig auf<br />
den betroffenen Clients einzuspielen oder<br />
wieder zu löschen. Analog fasst er jene<br />
Clients in Gruppen zusammen, die jeweils<br />
eine angepasste Software-Ausstattung<br />
erhalten.<br />
Serverausstattung<br />
Wer nach einer kostenlosen Softwareverteilung<br />
für <strong>Linux</strong>-Clients sucht, stößt<br />
immer wieder auf die Namen M23 und<br />
Spacewalk. Wesentlich neuer ist Pulp,<br />
das ein eigener Artikel in diesem Themenschwerpunkt<br />
beschreibt.<br />
Beide Testkandidaten richten auf dem<br />
Server-Rechner mindestens Apache nebst<br />
einer Datenbank ein, die leider meist<br />
mit bereits installierten Pendants kollidieren.<br />
M23 bringt einen LDAP-Server<br />
mit, Spacewalk bindet vorhandene ein.<br />
Um nicht in die Tiefen der Konfigurationsdateien<br />
absteigen zu müssen, stellt<br />
der Administrator tunlichst einen eigenen<br />
Server für die Paketverteilung ab.<br />
Dieser kann übrigens nicht nur selbst<br />
Pakete vorhalten, sondern auch gleich<br />
ganze (externe) Repositories spiegeln.<br />
Damit ist man zwar unabhängig von der<br />
Internetverbindung, doch kostet die Zwischenspeicherung<br />
mitunter ordentlich<br />
Festplattenplatz.<br />
Der Server kann die Installation der<br />
Programmpakete nur dann erzwingen,<br />
wenn die Clients unter seiner Kontrolle<br />
stehen. Dazu impft der Admin sie mit<br />
einer Client software und meldet sie anschließend<br />
beim Server an. M23 und<br />
Spacewalk installieren daneben auch<br />
ganze Distributionen auf neuen Clientrechnern<br />
und wildern damit im Bereich<br />
der Provisioning-Systeme.<br />
E M23<br />
Schon seit 2002 arbeitet Hauke Goos-<br />
Habermann an M23 [1], das auf dem<br />
Server zwingend ein Debian-System voraussetzt.<br />
Die Software verwaltet Clients<br />
mit Debian, Ubuntu, Kubuntu, Xubuntu,<br />
<strong>Linux</strong> Mint, Fedora und Open Suse. Der<br />
Server lässt sich von einem bereitgestellten<br />
ISO-Image installieren, das ein kleines<br />
Debian 6 (Squeeze) in der 32-Bit-Fassung<br />
enthält. Alternativ holt der Admin die<br />
M23-Pakete auch aus einem Repository<br />
in einen vorhandenen Debian-Server<br />
oder greift zu einer fertigen virtuellen<br />
Maschine für Virtualbox.<br />
Nach der Installation läuft auf dem M23-<br />
Server neben Apache mit PHP und einer<br />
MySQL-Datenbank auch ein eigener<br />
DHCP-Server. Er beißt sich unter Umstän-
Abbildung 1: M23 bedient der Admin über eine bunte Webanwendung, die sich nur auf einem großen Monitor gut macht.<br />
den mit anderen Kollegen im Netzwerk.<br />
Bei Kollisionen empfiehlt das Handbuch,<br />
die anderen DHCP-Server abzuschalten<br />
und ausschließlich die M23-Instanz zu<br />
benutzen.<br />
Übersichtlich<br />
Die Verwaltung der Clients erfolgt bequem<br />
über eine Webanwendung (Abbildung<br />
1). Sie wirkt etwas altbacken und<br />
geht großzügig mit Platz um, ist dafür<br />
aber recht übersichtlich (Abbildung 2).<br />
M23 kann mehrere Administratoren unterscheiden,<br />
die allerdings allesamt die<br />
gleichen weitreichenden Zugriffsrechte<br />
besitzen – die Konkurrenz erlaubt hier<br />
eine feinere Rechtevergabe.<br />
Sobald der Server läuft, lässt der Systemverwalter<br />
die Clients via PXE oder<br />
Etherboot vom Netzwerk booten. M23<br />
schiebt den Rechnern dann das jeweils<br />
gewünschte Betriebssystem zu. Alternativ<br />
ist in der Serveroberfläche ein Image für<br />
eine passende Boot-CD zu finden. Bestehende<br />
Clients bindet der M23-Server nur<br />
dann ein, wenn auf ihnen<br />
Debian oder Ubuntu mit<br />
einem SSH-Server läuft.<br />
Verschiedene Paketquellen<br />
lassen sich auch zu einer<br />
neuen Gruppe zusammenfassen<br />
und als Basis für<br />
die Client-Installation verwenden.<br />
Neben normalen Programmpaketen<br />
kennt M23<br />
noch Spezialpakete, die<br />
Systemoperationen oder<br />
umfangreiche Aufgaben<br />
lösen. Dazu gehört etwa,<br />
eine Festplatte zu formatieren<br />
oder in einem Rutsch<br />
KDE 4 parallel zu Gnome<br />
zu installieren.<br />
Auf Wunsch erzeugt der<br />
integrierte Paket-Architekt<br />
aus ».tar.gz«-Archiven<br />
pas sende ».deb«-Pakete. Erhält ein Client<br />
einen Installations- oder Deinstallationsauftrag,<br />
weckt ihn der Server bei Bedarf<br />
via Wake on LAN auf. Nach durchgeführter<br />
Arbeit versetzt ihn der Server dann<br />
wieder in den Ruhezustand. Als kleine<br />
Delikatesse nimmt M23 sogar Shellskripte<br />
entgegen, die es auf die Clients überträgt<br />
und dort ausführt.<br />
Der M23-Server erzeugt außerdem Abbilder<br />
seiner Festplatten und von denen<br />
des Clients und legt via Backup-PC-Komponente<br />
auch dateibasierte Sicherheits-<br />
Softwareverteilung 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
23<br />
8,90€ *<br />
124 Seiten <strong>Linux</strong><br />
+ DVD<br />
Die aktuelle Ausgabe von <strong>Linux</strong>User Spezial<br />
dringt in die Tiefen des <strong>Linux</strong>-Systems ein<br />
und zeigt, wie Sie Ihren Rechner auf der<br />
Kommandozeile administrieren.<br />
Jetzt bestellen<br />
unter: www.linuxuser.de/spezial<br />
Tel.: 089-9934110, Fax: 089-99341199, E-Mail: order@linuxnewmedia.de
Titelthema<br />
www.linux-magazin.de Softwareverteilung 05/2012<br />
24<br />
Abbildung 2: Mit den farbigen Punkten in der ersten Spalte signalisiert M23, ob die Clients gerade beschäftigt sind.<br />
nur Softwarepakete verteilen,<br />
sondern auch gleich<br />
Clientsysteme automatisiert<br />
aufsetzen und inventarisieren.<br />
Der Server verwaltet<br />
zwar auch Clients<br />
mit Debian und Suse Enterprise<br />
<strong>Linux</strong>, doch an vielen<br />
Stellen zeigt sich, dass die<br />
Software ursprünglich nur<br />
auf Red-Hat-Systeme zugeschnitten<br />
war.<br />
Obwohl für RHEL, Centos<br />
und Fedora fertige Pakete<br />
der Spacewalk-Software<br />
bereitstehen, macht die Einrichtung des<br />
Servers einige Arbeit. Das liegt zum einen<br />
an der Dokumentation, die lediglich aus<br />
einem ziemlich chaotischen Wiki besteht<br />
[6], zum anderen an den zahlreichen<br />
Abhängigkeiten. Der Spacewalk-Server<br />
übertrifft darin seine Konkurrenten und<br />
bannt unter anderem Java, Python, den<br />
Tomcat-Server und die Datenbank PostgreSQL<br />
auf die Platte. Anstelle von PostgreSQL<br />
darf der Anwender auch zu einer<br />
Oracle-Datenbank greifen, in beiden Fällen<br />
ist er jedoch für die Einrichtung selbst<br />
verantwortlich.<br />
Darüber hinaus hätte Spacewalk gerne<br />
auf allen Rechnern Full Qualified Domain<br />
Names sowie Durchgänge in der Firewall<br />
an den Ports 80, 443, 4545, 5222 und<br />
5269. Bei den Clientrechnern ist Spacewalk<br />
genügsamer: Dort reicht es volkomkopien<br />
an. Diese landen grundsätzlich<br />
auf der Festplatte des Servers. Nur die<br />
Serverbackups darf der Admin sicher per<br />
»scp« auf einen Fileserver schieben, mit<br />
den Clientbackups geht das unverständlicherweise<br />
nicht.<br />
Virtuell<br />
Direkt aus der Browseroberfläche heraus<br />
lassen sich auf dem Server und den<br />
Clients weitere virtuelle Maschinen mit<br />
Clientsystemen einrichten und verwalten.<br />
Im Hintergrund kommt dabei Virtualbox<br />
zum Einsatz. Hauke Goos-Habermann<br />
bietet auf seiner eigenen Homepage einen<br />
Fernadministrations-Service an, über den<br />
der Kunde den eigenen M23-Server via<br />
Internet fernsteuern kann. Als Bonbon<br />
lässt sich schließlich der Funktionsumfang<br />
des M23-Servers noch über Plugins<br />
erweitern.<br />
In den Tests der Redaktion verhielt sich<br />
M23 hin und wieder zickig: Obwohl aus<br />
dem angebotenen ISO-Image installiert,<br />
wollte der DHCP-Server aufgrund einer<br />
fehlerhaften Konfigurationsdatei nicht<br />
starten, folglich suchten die Clients<br />
vergeblich ihren Meister. Einen bereits<br />
installierten Ubuntu-Rechner band der<br />
M23-Server klaglos ein, weigerte sich<br />
dann aber hartnäckig, auf ihm Software<br />
zu installieren. Wie sich herausstellte,<br />
fehlten dem Server die Berechtigungen<br />
für ein nicht existierendes Verzeichnis.<br />
Vermutlich hat hier die M23-Oberfläche<br />
bei der Registrierung des Clients geschludert.<br />
Beheben ließ sich das Problem bis<br />
Redaktionsschluss nicht.<br />
Der Versuch, den Server über die Browseroberfläche<br />
via »Update« zu aktualisieren,<br />
führte nur zu einer leeren Seite.<br />
Außerdem präsentierte M23 die für die<br />
Administration der Clients benötigten<br />
Rootpasswörter auch ständig im Klartext<br />
– sicherheitsbewussten Administratoren<br />
ein Graus.<br />
Über seine eigene Homepage bietet der<br />
Entwickler kostenpflichtigen Support an<br />
[1], beantwortet aber auch die im offiziellen<br />
Community-Forum [2] gestellten<br />
Fragen. Als weitere Anlaufstelle existieren<br />
eine Mailingliste [3] sowie ein ausführliches<br />
Handbuch auf Deutsch, das<br />
allerdings mehr als Referenz dient [4].<br />
E Spacewalk<br />
Beim zweiten Testkandidaten handelt es<br />
sich um die Open-Source-Variante des<br />
Red Hat Network Satellite Server [5].<br />
Ähnlich wie M23 kann Spacewalk nicht<br />
Abbildung 3: Die Benutzeroberfläche von Spacewalk wirkt nur auf den ersten Blick übersichtlich. Viele Funktionen<br />
verstecken sich in Untermenüs.
Tel. 0 64 32 / 91 39-749<br />
Fax 0 64 32 / 91 39-711<br />
vertrieb@ico.de<br />
www.ico.de/linux<br />
SEIT 1982<br />
men aus, ein kleines Kommandozeilenwerkzeug<br />
zu installieren.<br />
Die Bedienung erfolgt wie bei M23<br />
größtenteils über eine Webanwendung<br />
(Abbildung 3). In einigen Situationen<br />
muss der Admin jedoch auf Kommandozeilenwerkzeuge<br />
zurückgreifen – etwa<br />
wenn er dem Spacewalk-Server ein Paket<br />
hinzufügt oder einen bestehenden Client<br />
anmeldet. Damit Letzteres klappt, muss<br />
er für diesen auf dem Server zunächst<br />
einen Aktivierungsschlüssel generieren.<br />
Der funktioniert ähnlich wie eine Eintrittskarte<br />
ins Fußballstadion: Er verhindert,<br />
dass beliebige Clients eigenmächtig<br />
an den Server andocken, und regelt<br />
gleichzeitig, zu welchen Paketquellen der<br />
legitimierte Client Zutritt erhält.<br />
Softwarepakete und Repositories sammelt<br />
Spacewalk in so genannten Channels.<br />
Jeder Client kann einen oder mehrere<br />
solcher Kanäle abonnieren. Neue Pakete<br />
in den Channels holt sich entweder der<br />
Client automatisch ab (Polling) oder der<br />
Administrator schiebt sie explizit hinüber<br />
(Push). In letzterem Fall hat er jedoch<br />
Tabelle 1: Systeme zur Softwareverteilung<br />
keine Kontrolle darüber, wann genau<br />
die Installation eines Pakets stattfindet.<br />
Der Administrator kann lediglich festlegen,<br />
ab wann Spacewalk das Paket<br />
installieren darf (Abbildung 4). Selbst<br />
geschnürte Pakete müssen übrigens signiert<br />
sein, andernfalls weist Spacewalk<br />
sie standardmäßig ab.<br />
In einer History merkt sich Spacewalk<br />
ausgeführte Aktionen, sie rückgängig<br />
machen kann die Software aber nicht.<br />
Außerdem lassen sich Profile anlegen, die<br />
den aktuellen Paketbestand des Clients<br />
festhalten. Die Profile darf der Admin<br />
dann miteinander vergleichen – mehr<br />
aber auch nicht. Snapshots der Clientsysteme<br />
lassen sich zwar erstellen und<br />
später bei Bedarf zurückspielen. Das<br />
funktioniert aber nur, wenn der Administrator<br />
den Client über die entsprechenden<br />
Provisioning-Funktionen in Spacewalk<br />
aufgesetzt hat.<br />
Errata verwaltet Spacewalk separat, dabei<br />
darf der Anwender auch eigene erstellen.<br />
Als kleine Besonderheit führt Spacewalk<br />
auf den Clients (Shell-)Skripte aus und<br />
Name M23 Spacewalk<br />
Version 12.1 rock 1.6<br />
Internetadresse [http:// m23. sourceforge. net] [http:// spacewalk. redhat. com]<br />
Lizenz GPLv2 GPLv2<br />
Server-Betriebssystem Debian Fedora, Centos, RHEL<br />
Client-Betriebssysteme<br />
Debian, Ubuntu, Kubuntu, Xubuntu,<br />
<strong>Linux</strong> Mint, Fedora, Open Suse<br />
32-/64-Bit-Systeme ja/ja ja/ja<br />
Fedora, Centos, Suse Enterprise<br />
<strong>Linux</strong>, Debian<br />
Benutzeroberfläche Webanwendung Webanwendung, Kommandozeile,<br />
XML-RPC-API<br />
Repositories gruppieren ja ja (über Channel)<br />
Pakete gruppieren ja ja (über Sub-Channel)<br />
Clients gruppieren ja ja<br />
Client in Ausgangszustand ja<br />
nur manuell<br />
zurücksetzen<br />
Snapshots ja nur wenn über Spacewalk installiert<br />
Repositories spiegeln ja ja<br />
Backup der Clients ja Snapshots in besonderen Fällen<br />
Wake on LAN ja nein<br />
Mehrere Administratoren ja ja (rollenbasiert)<br />
Skripte auf Clients ausführen<br />
ja<br />
ja<br />
Management von Konfigurationsdateien<br />
nein<br />
ja<br />
Automatische Betriebssysteminstallation<br />
ja<br />
ja<br />
Lastverteilung über Proxys nein ja<br />
Kommerzieller Support ja nur für Satellite<br />
Innovative Computer • Zuckmayerstr. 15 • 65582 Diez<br />
Neueste Intel<br />
® Xeon ®<br />
E5 Technologie<br />
inkl. Mwst.<br />
inkl. Mwst.<br />
inkl. Mwst.<br />
GmbH<br />
XANTHOS R16A 1HE 4x 3,5“ SERVER<br />
Flexibler und skalierbarer 1HE Hochleistungs-<br />
Server mit Intel ® Xeon ® E5 Technologie.<br />
• 2x Intel ® Xeon ® E5-2620 2,0GHz<br />
• 8x 4GB DDR3-1600<br />
• 4x 1TB Toshiba Nearline SAS<br />
• LSI 9260CV-4i + NAND BBU<br />
• 4x Gigabit-LAN<br />
• Intel ® Remote Management<br />
exkl. Mwst.<br />
4401, 81 3699,-<br />
Art.Nr. BTO-285278<br />
XANTHOS R25A 2HE 8x 3,5“ SERVER<br />
Flexibler und skalierbarer 2HE Hochleistungs-Server<br />
mit Intel ® Xeon ® E5 Technologie<br />
und bis zu 8 Festplatten.<br />
• 2x Intel ® Xeon ® E5-2620 2,0GHz<br />
• 8x 4GB DDR3-1600<br />
• 8x 1TB Toshiba Nearline SAS<br />
• LSI 9260CV-8i + NAND BBU<br />
• 2x Gigabit-LAN<br />
exkl. Mwst.<br />
4520, 81 3799,-<br />
Art.Nr. BTO-285279<br />
XANTHOS R26A 2HE 16x 2,5“ SERVER<br />
Flexibler und skalierbarer 2HE Hochleistungs-Server<br />
mit Intel ® Xeon ® E5 Technologie<br />
und bis zu 16 Festplatten.<br />
• 2x Intel ® Xeon ® E5-2620 2,0GHz<br />
• 8x 4GB DDR3-1600<br />
• 16x 300GB Toshiba Nearline SAS<br />
• LSI 9260CV-4i + NAND BBU<br />
• 4x Gigabit-LAN<br />
exkl. Mwst.<br />
7495, 81 6299,-<br />
Art.Nr. BTO-285280<br />
Intel, das Intel Logo und Xeon Inside sind Marken der<br />
Intel Corporation in den USA und anderen Ländern.<br />
Alle Preise in Euro.<br />
wir liefern auch<br />
nach Österreich<br />
u. in die Schweiz
Titelthema<br />
www.linux-magazin.de Softwareverteilung 05/2012<br />
26<br />
schiebt ihnen automatisch vorgefertigte<br />
Konfigurationsdateien unter. Für diese<br />
existiert sogar eine kleine Versionsverwaltung,<br />
über die der Administrator<br />
schnell zu einer älteren Konfiguration<br />
zurückspringen kann.<br />
Spacewalk ist sichtlich auf große Unternehmensnetzwerke<br />
ausgelegt. So hält es<br />
sogar die Rechner verschiedener Organisationen<br />
auseinander. Jeder Benutzer,<br />
der sich an der Weboberfläche anmeldet,<br />
sieht dabei nur die Systeme aus seiner<br />
Organisation. Spacewalk unterscheidet<br />
zwischen Benutzern und Administratoren,<br />
wobei Rollen für Admins festlegen,<br />
welche Aktionen sie auslösen dürfen und<br />
welche nicht. Daneben sieht Spacewalk<br />
den Einsatz von Proxys vor. Sie puffern<br />
die Inhalte und Pakete eines Spacewalk-<br />
Servers und sollen so die Last besser<br />
verteilen beziehungsweise die Ausfallsicherheit<br />
erhöhen.<br />
Die Dokumentation beschränkt sich auf<br />
das angesprochene, unordentliche Wiki<br />
[6] und die offizielle Red-Hat-Network-<br />
Satellite-Dokumentation [7]. Weiteren<br />
Support gibt es nur über die Mailingliste<br />
oder via IRC [8].<br />
Fazit<br />
Administratoren haben in der Praxis keine<br />
besonders große Auswahl: Wer Debianoder<br />
Ubuntu-Systeme einsetzt, greift eher<br />
zu M23, für Installationen mit Fedora,<br />
Centos oder Red Hat gibt es Spacewalk<br />
oder auch Pulp, das ein anderer Artikel<br />
in diesem Schwerpunkt beschreibt. In heterogenen<br />
Umgebungen empfehlen sich<br />
trotz ihrer Vorlieben M23 und Spacewalk,<br />
der Admin muss dabei aber genau auf<br />
die unterstützten Distributionen achten.<br />
Eine kostenlose Softwareverteilung für<br />
beliebige <strong>Linux</strong>-Systeme ließ sich leider<br />
nicht aufspüren. Der Kasten „Weitere<br />
Software“ listet aber weitere erwähnenswerte<br />
Tools, die für bestimmte Szenarien<br />
passen mögen.<br />
M23 lässt sich am einfachsten in ein neu<br />
aufzusetzendes Netzwerk integrieren,<br />
das Einbinden bestehender Clientrechner<br />
klappt dagegen nur mit Schwierigkeiten.<br />
Spacewalk wiederum lässt sich nur umständlich<br />
installieren, bietet dafür aber einen<br />
großen Funktionsumfang und bringt<br />
eine komfortable, Browser-basierte Benutzeroberfläche<br />
mit – wenngleich diese<br />
Abbildung 4: In Spacewalk kann man Pakete ab einem bestimmten Zeitpunkt einspielen lassen.<br />
nicht ganz so intuitiv zu bedienen ist wie<br />
die von M23.<br />
Einen eindeutigen Favoriten gibt es somit<br />
nicht, jedes System hat seine individuellen<br />
Vor- und Nachteile, die in Tabelle 1<br />
übersichtlich präsentiert sind. Wer vor<br />
der Wahl steht, sollte daher seine Anforderungen<br />
mit den Funktionen der Probanden<br />
vergleichen und sich dann erst<br />
entscheiden. (mhu)<br />
n<br />
Infos<br />
[1] Goos-Habermann, Support für M23:<br />
[http:// www. goos‐habermann. de]<br />
[2] M23-Forum:<br />
[http:// m23. sourceforge. net/ phpBB2]<br />
[3] M23-Mailingliste: [https:// lists.<br />
sourceforge. net/ lists/ listinfo/ m23‐user]<br />
Weitere Software<br />
[4] M23-Handbuch: [http:// m23. sourceforge.<br />
net/ docs/ manual/ html/ de/ manual. html]<br />
[5] Red Hat Network Satellite Server:<br />
[http:// de. redhat. com/ products/<br />
enterprise‐linux/ rhn‐satellite/]<br />
[6] Spacewalk-Wiki: [https:// fedorahosted.<br />
org/ spacewalk/ wiki/ UserDocs]<br />
[7] Dokumentation zu Red Hat Network<br />
Satellite: [http:// www. redhat. com/ docs/<br />
en‐US/ Red_Hat_Network_Satellite/ 5. 3. 0/<br />
Installation_Guide/ html/ index. html]<br />
[8] Spacewalk-Mailingliste und IRC-Chat:<br />
[http:// spacewalk. redhat. com/<br />
communicate. html]<br />
[9] OCS Inventory NG:<br />
[http:// www. ocsinventory‐ng. org]<br />
[10] Open PC Server Integration (Opsi):<br />
[http:// uib. de/ www/ opsi/ index. html]<br />
[11] Uranos: [http:// uranos. sourceforge. net]<br />
Neben M23 und Spacewalk gibt es noch einige<br />
weitere freie Anwendungen, die aber meist<br />
einen oder mehrere Haken haben.<br />
So ist etwa OCS Inventory NG [9] eigentlich<br />
eine Inventarisierungssoftware, die einen<br />
Überblick über die im Netzwerk enthaltenen<br />
Rechner mit ihrer Hard- und Software geben<br />
soll. Als Nebenjob schickt sie allerdings auch<br />
Programmpakete an die Clients. Diese Pakete<br />
muss der Admin allerdings selbst schnüren, als<br />
Archivformat dienen ».zip« oder ».tar.gz«. OCS<br />
entpackt das Archiv auf dem Client und führt<br />
ein darin enthaltenes Programm oder Skript<br />
aus. Unter dem Strich ist das nicht gerade das,<br />
was der <strong>Linux</strong>-Admin gewohnt ist. Im Gegenzug<br />
kann OCS Inventory mit verschiedenen<br />
Betriebssystemen auf den Clients umgehen,<br />
angefangen bei Windows über Mac OS X bis<br />
hin zu HP-UX.<br />
Open PC Server Integration (Opsi, [10]), läuft<br />
zwar auf einem <strong>Linux</strong>-Server, verteilt Software<br />
aber ausschließlich an Windows-Clients.<br />
Die Entwicklerfirma Uib GmbH stellt auf ihrer<br />
Homepage allerdings die automatische Installation<br />
von <strong>Linux</strong>-Clients in Aussicht.<br />
Kurz vor Redaktionsschluss zeigte sich auf der<br />
Cebit mit Uranos [11] noch ein weiteres interessantes<br />
Tool mit Weboberfläche. Der <strong>Linux</strong>-<br />
Admin Mario Gzuk entwickelt es bereits seit<br />
2004 für den Eigenbedarf.
CLEVER KOMBINIERT!<br />
Premium Server + VeriSign<br />
®<br />
SSL-Zertifikat<br />
Leistungsstark! Sicher! Günstig!<br />
Jetzt 4 Wochen unverbindlich testen!<br />
Inkl. VeriSign ® Secure Site SSL -Zertifikat!<br />
VIRTUAL DEDICATED SERVER<br />
» 4 GB RAM<br />
» 100 GB Speicherplatz<br />
» Root-Zugriff<br />
» Parallels<br />
® Plesk<br />
» Hostingsystem von Dell<br />
®<br />
Regulär: 49,-<br />
39,-<br />
EUR / Monat*<br />
DEDICATED SERVER<br />
» Intel ® Xeon ® E3-1260L<br />
» 4 Cores mit je 2,4 GHz<br />
» 8 GB RAM<br />
» 2 x 600 GB SAS HDD<br />
» Dell<br />
® PowerEdge R210 II<br />
Regulär: 129,-<br />
79,-<br />
EUR / Monat*<br />
Nur bei InterNetX GRATIS!<br />
» VeriSign ® SSL Secure Site<br />
› Malware Scan<br />
› Trust Seal<br />
› Seal-in-Search<br />
› Bis 256-Bit-Verschlüsselung<br />
» Domain-, Server- & SSL -<br />
Management-Tools<br />
Regulär: 299,-<br />
0,-<br />
Zu jedem Server<br />
einmalig*<br />
Klickrate in Suchmaschinen maximieren<br />
Durch Seal-in-Search wird in<br />
Suchmaschinen-Einträgen<br />
Trust Seal angezeigt.<br />
Mehr Bestellungen, mehr Kundenanfragen<br />
Zeigen Sie Ihren Kunden,<br />
dass Ihr Unternehmen durch<br />
Trust Seal verifiziert ist.<br />
Security Scan Ihres Servers<br />
Präventivschutz! Prüfen Sie Ihren Server mit<br />
Vulnerability Assessment* auf Schwachstellen.<br />
Vertrauenswürdige Webseite<br />
Der Malware Scan garantiert Ihren Kunden eine<br />
sichere Website – frei von Schad-Software.<br />
Jetzt informieren<br />
und bestellen:<br />
www.internetx.com<br />
+49 (0) 941 / 59 559-483<br />
Unser Partner<br />
*Alle Preise richten sich nur an Gewerbetreibende und verstehen sich zzgl. gesetzlicher MwSt. Bei allen Angeboten sind das VeriSign ® Secure Site SSL-Zertifikat für 12 Monate gratis und<br />
500 GB Traffic/Monat inklusive. Je nach Nutzung fallen weitere Traffic-Gebühren ab 0,29 €/GB an. Der Testzeitraum beträgt 28 Kalendertage nach Bereitstellung und ist begrenzt auf einen Test<br />
pro Kunden. Vulnerability Assessment ist erhältlich ab VeriSign Secure Site Pro. Virtual Dedicated Server: 39,- €/Monat. Mindestvertragslaufzeit 12 Monate. Keine Einrichtungsgebühr.<br />
Dedicated Server: 79,- €/Monat. Mindestvertragslaufzeit 24 Monate. Einmalige Einrichtungsgebühr 79,- €. Nur solange der Vorrat reicht. Die Abbildung des Servers ist symbolisch.
Titelthema<br />
www.linux-magazin.de Pulp 05/2012<br />
28<br />
Automatisches Softwaredeployment mit Pulp<br />
Filmreif austeilen<br />
„Ich bin Mr. Wolf. Ich löse Probleme.“ Ob Zitate wie dieses hilfsbereite von Harvey Keitel aus Tarantinos „Pulp<br />
Fiction“ die Macher der im Folgenden vorgestellten Softwareverteilung inspiriert haben, lässt sich nicht sicher<br />
sagen. Was das Red-Hat-Community-Projekt Pulp ausmacht aber schon. Konstantin Agouros<br />
Gruppe gelistet ist, landet die Buchhaltungssoftware<br />
damit nicht. Zudem besitzt<br />
das System die für Software-Inventarisierungen<br />
typischen Abfragemöglichkeiten,<br />
zum Beispiel welche Systeme welche Pakete<br />
verwenden.<br />
Dreiteilige Architektur<br />
© Aaron Amat, 123RF<br />
Yum [1] mildert die Leiden von Administratoren,<br />
die RPM-basierte Systeme<br />
pflegen, erheblich. Mit Hilfe von Yum-<br />
Repositories installiert der Admin das<br />
Zielpaket wie bei Debian oder Gentoo<br />
und das Paketmanagement löst alle Abhängigkeiten<br />
eigenständig auf. Auch Updates<br />
und das Installieren aus mehreren<br />
Quellen unterstützt Yum.<br />
Aber was macht der Admin, wenn er<br />
nicht ein paar, sondern 10, 50 oder 1000<br />
Rechner verwaltet, die möglichst gleich<br />
oder in Gruppen gleicher Systeme installiert<br />
sein sollen? Dazu kommt vielleicht<br />
noch eine Mischung aus Centos, Fedora<br />
und Red Hat Enterprise <strong>Linux</strong>. Entweder<br />
steht viel Handarbeit an oder es entsteht<br />
eine bunte Skriptsammlung.<br />
Einen Ausweg schafft das Pulp-Projekt<br />
[2], eine Softwareverteilung für Red Hat<br />
Enterprise <strong>Linux</strong> 5 und 6, Fedora 15 und<br />
16 sowie Centos. Das Prinzip der Software<br />
(seit Februar 2012 mit der Versionsnummer<br />
1.0) ist es, dass der Administrator<br />
die RPM-Sammlungen lokal vor- und<br />
aktuell hält und dass sich angeschlossene<br />
Clients daraus bedienen.<br />
In das System eingebundene Clients verwenden<br />
es einfach als Yum-Repository,<br />
ihnen stehen dann alle Pakete aus den<br />
Quellen, für die sie sich beim Server registriert<br />
haben, zur Verfügung. Der Clou<br />
des Systemes ist aber, dass der Server<br />
Pakete auch an die Clients verteilen kann<br />
und für bereits installierte Pakete Updates<br />
einspielt. Somit lässt sich der Softwarestand<br />
auf allen angeschlossenen Systemen<br />
zentral administrieren.<br />
Pulp eröffnet Möglichkeiten, Systeme zu<br />
Gruppen zusammenzufassen, um zum<br />
Beispiel alle Systeme der Buchhaltung<br />
mit einem Kommando mit dem Update<br />
der Buchhaltungssoftware auszustatten;<br />
auf dem Webserver, der in einer anderen<br />
Pulp ist in Python programmiert und enthält<br />
drei logische Komponenten:<br />
n Den Yum-Server, der die Pakete und<br />
die Verwaltungsinformationen vorhält<br />
und die Installationen steuert.<br />
n Den Yum-Client beziehungsweise Consumer,<br />
er bezieht seine RPM-Pakete<br />
vom Yum-Server oder bekommt sie<br />
von ihm zugeteilt.<br />
n Optional gibt es noch den Yum Content<br />
Delivery Server (CDS), der in verteilten<br />
Installationen die Last und den<br />
Netzwerktraffic entzerrt. Dazu hält er<br />
eine lokale Kopie der RPMs vor, damit<br />
diese gegebenenfalls nicht über<br />
eine langsame WAN-Leitung auf dem<br />
Client landen.<br />
Seine Verwaltungsinformationen speichert<br />
das System in einer Mongo DB [3].<br />
Die Kommunikation der Komponenten<br />
erfolgt zum einen über HTTPS, zum anderen<br />
über einen eigenen Messagebus<br />
auf Basis von Apache Qpid [4]. Es ist<br />
vorgesehen, diese Kommunikation mit<br />
SSL abzusichern, wobei sich der Server<br />
beim Client und auch der Client beim<br />
Server authentisiert. Abbildung 1 zeigt<br />
die Zusammenhänge.<br />
Paketquellen zuweisen<br />
Repositories, also Paketquellen von<br />
zum Beispiel einer Version der Fedora-<br />
Distribution, sind für Pulp zentral. Dass
Pulp auch für den eigentlichen Installationsprozess<br />
Yum verwendet, macht<br />
die Zuordnung einfach: Jedes Repository<br />
entspricht einem Yum-Repository, das der<br />
Pulp-Server aus einer externen Quelle<br />
füllt (und aktuell hält) und aus dem sich<br />
die Clients oder Consumer bedienen oder<br />
betankt werden.<br />
Der Administrator weist dem Pulp-Consumer<br />
ein oder mehrere Repositories<br />
zu (Datei »pulp.repo«). Für den Consumer<br />
sind sie alle per Yum erreichbar.<br />
Verbleiben die Originaleinträge aus der<br />
Installation in »/etc/yum.repos.d« oder<br />
stehen sie auf »enabled«, so führt auch<br />
eine zentrale Installation dazu, dass sich<br />
der Client – auf dem ja »yum install«<br />
periodisch läuft – gegebenenfalls das Paket<br />
über die Repository-Quelle aus dem<br />
Internet lädt.<br />
Repositories automatisch zu synchronisieren<br />
beherrscht Pulp von sich aus. Der<br />
Administrator gibt einfach ein Schedule<br />
vor, das definiert, wie oft der Server sich<br />
mit der externen Quelle abgleicht. Dabei<br />
kann er Bandbreitenlimits vorgeben<br />
oder DVDs sowie andere Dateiquellen<br />
als Repository-Gegenüber bestimmen.<br />
Der Administrator darf zudem mehrere<br />
Repositories als Gruppe deklarieren,<br />
zum Beispiel alle Versionen von Fedora.<br />
Ebenso kann er Gruppen von Consumern<br />
bilden und dort mit nur einem Kommando<br />
ein Patch auf allen Gruppenmitgliedern<br />
ausrollen.<br />
Last verteilen<br />
Die Content Delivery Server eröffnen<br />
eine Möglichkeit, Repositories auszulagern,<br />
und sorgen für Lastverteilung und<br />
Ausfallsicherheit. Ein CDS bekommt<br />
Repositories zugewiesen – welche darf<br />
der Admin konfigurieren. Mehrere CDS<br />
lassen sich zu logischen Clustern zusammenfassen.<br />
Die Clients bekommen bei<br />
der Registrierung zu einem Repository<br />
einen CDS zugeordnet. Der Pulp-Server<br />
synchronisiert die Repositories auf die<br />
CDS. Der Administrator darf wieder einen<br />
Zeitplan angeben, wann dies sinnvollerweise<br />
geschehen soll, etwa um Nebenzeiten<br />
auszunutzen.<br />
Die Benutzer kann der Admin in Pulp<br />
lokal anlegen und authentisieren oder<br />
sie auch gegen einen externen LDAP-<br />
Server authentisieren. Benutzer bekommen<br />
dann Rollen zugeordnet und diese<br />
wiederum Rechte (Permissions).<br />
Pulp-Server installieren<br />
Wer einen Pulp-Rechner aufsetzen will,<br />
tut dies, wie könnte es anders sein, per<br />
Yum. Für einen Pulp-Server legt der<br />
Admin in »/etc/yum.repos.d/« ein »pulp.<br />
repo« ab. Auf der Installationswebseite<br />
finden sich je nach Distribution und deren<br />
Version gleich die passenden Wget-<br />
Kommandos, mit denen die Datei auch<br />
an den richtigen Ort gelangt.<br />
Einiges ist allerdings zu beachten, wie<br />
mehrere Testinstallationen ergaben:<br />
n Die Hardware sollte nicht zu schwach<br />
dimensioniert sein, da viel I/O anfällt,<br />
die Mongo DB CPU-Leistung benötigt<br />
und die Repositories viel Festplattenplatz<br />
belegen.<br />
n Auf dem Server soll ein Apache-Webserver<br />
mit »mod_wsgi« laufen. (Das<br />
verträgt sich meist nicht mit »mod_python«.)<br />
Die Firewall muss die Ports<br />
443, 5672 und 5674 offenhalten.<br />
n Der Pulp-Server benötigt ein gültiges<br />
SSL-Zertifikat, das auf den Full Qualified<br />
Domain Name ausgestellt ist;<br />
dies kann selbst erzeugt sein. Achtung:<br />
Jene von Apache auf »localhost.<br />
localdomain« verhindern die Kommunikation<br />
zwischen<br />
Consumern und Clients<br />
dem Server und<br />
auch zwischen<br />
dem Administrationstool<br />
und dem<br />
Server. Für Content<br />
Delivery Server gilt<br />
das Gleiche, sollen<br />
sich alle Consumer<br />
mit Clientzertifikaten<br />
authentisieren.<br />
n Die Repositories<br />
lan den unter »/var/<br />
lib/pulp« – dabei<br />
kom men schnell<br />
mehrere Gigabyte<br />
zusammen. Der Admin<br />
sollte rechtzeitig<br />
prüfen, ob genug<br />
Platz ist.<br />
n Die Da ten für die<br />
Verwaltung liegen<br />
in der Mongo DB<br />
unter »/var/lib/<br />
Server<br />
mongo db«. Auch hierfür sollte ausreichend<br />
Platz sein, wenn auch nicht so<br />
viel wie für die Repositories.<br />
Beim Planen muss anfangs nicht feststehen,<br />
ob es Content Delivery Server<br />
geben soll, die lassen sich nämlich später<br />
einfach hinzugefügen. Die Installation<br />
beginnt auf dem Server mit »yum install<br />
pulp« . Unter Fedora braucht nichts weiter<br />
zu passieren. Bei RHEL 5 und 6 installiert<br />
der Admin noch das »epel«-Paket, die<br />
Installationsanleitung auf der Webseite<br />
nennt hierfür das Kommando.<br />
Bei Red Hat 5 muss er zudem eine Subscription<br />
zu den Channels „MRG Mes saging“<br />
und „Messaging Base“ einrichten.<br />
Beim für diesen Artikel getesteten Centos<br />
6.2 hat es gereicht, das Paket »qpid‐server«<br />
mit Yum ins System zu holen. Alternativ<br />
installiert der Admin Apache Qpid<br />
aus den Source-RPMs, wie dies bei älteren<br />
Centos-Versionen notwendig war.<br />
Dabei muss er Geduld oder eine kräftige<br />
Maschine mitbringen, da das Kompilieren<br />
eine Weile dauert.<br />
Liegt Pulp auf der Platte, ersetzt der Admin<br />
in der Datei »/etc/pulp/pulp.conf«<br />
zumindest »localhost« durch den individuellen<br />
Namen des Systems. Für ihn sollte<br />
auch das Webserver-Zertifikat ausgestellt<br />
sein. In derselben Datei ist auch der<br />
Default-Administrator »admin« mit Pass-<br />
Admin-CLI Consumer-CLI Pulp-Agent<br />
Pulp WS Proxy<br />
Apache<br />
Pulp Web Services<br />
»web.py«<br />
Pulp-Tools<br />
Pulp-Library<br />
»pymongo«<br />
Mongo DB<br />
Pulp Slave Messaging<br />
Qpid<br />
Pulp Master Messaging<br />
»python-qpid«<br />
Abbildung 1: Logische Struktur einer Pulp-Architektur. (Quelle: Pulp-Projekt)<br />
Pulp 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
29
Titelthema<br />
www.linux-magazin.de Pulp 05/2012<br />
30<br />
wort »admin« hinterlegt. Vor dem Produktivbetrieb<br />
sollte man Letzteres ändern.<br />
Film ab!<br />
Mangels einer Policydatei für Pulp müssen<br />
RHEL-5-Admins noch die SE-<strong>Linux</strong>-<br />
Policy deaktivieren oder auf »permissive«<br />
stellen, es gibt ja keine. Spätestens jetzt<br />
kann’s losgehen: »service pulp‐server<br />
init« initialisiert den Dienst und »service<br />
pulp‐server start« startet ihn.<br />
Der Systemverantwortliche wird auf<br />
Dauer mit einer Admin-Clientsoftware<br />
arbeiten, deren Paket »pulp‐admin« mit<br />
Yum auf seinem PC landet. Der Rechner<br />
muss nicht mal Pulp-versorgt sein, sogar<br />
der Pulp-Server selber eignet sich. Damit<br />
der Admin-Client den Server findet,<br />
gehört der Hostname des Servers in die<br />
»/etc/ pulp/admin/admin.conf«.<br />
Auf den Clients führt der Administrator<br />
jetzt »yum install pulp‐consumer« aus<br />
und ersetzt in der Datei »/etc/pulp/consumer/consumer.conf«<br />
abermals »localhost«<br />
durch den Namen des Pulp-Servers.<br />
Jetzt kann er auf den Clients »service<br />
pulp‐agent start« aktivieren.<br />
Der Logik folgend bekommen eventuelle<br />
Content Delivery Server mit »yum install<br />
pulp‐cds« ihre Soft ware verpasst. In de-<br />
Tabelle 1: Ausstattung Pulp<br />
Name<br />
Version 1.0<br />
Internetadresse<br />
Lizenz<br />
Server-Betriebssystem<br />
Client-Betriebssysteme<br />
32-/64-Bit-Systeme<br />
Benutzeroberfläche<br />
Repositories gruppieren<br />
Pakete gruppieren<br />
Clients gruppieren<br />
Client in Ausgangszustand zurücksetzen<br />
Snapshots<br />
Repositories spiegeln<br />
Backup der Clients<br />
Wake on LAN<br />
Mehrere Administratoren<br />
Skripte auf Clients ausführen<br />
Management von Konfigurationsdateien<br />
Automatische Betriebssysteminstallation<br />
Lastverteilung über Proxys<br />
Kommerzieller Support<br />
ren »/etc/pulp/cds.conf«-Datei gehört der<br />
Pulp-Server ebenso wie der Speicherort<br />
für die Repo sitories. Auch der CDS muss<br />
beim Pulp-Server angemeldet sein.<br />
Konfigurieren<br />
Der Administrator meldet sich beim Pulp-<br />
Server entweder mit »‐u Benutzername<br />
‐p Passwort« an oder indem er mit dem<br />
Kommando »pulp‐admin auth login« die<br />
Zugangsdaten im Homedirectory speichern<br />
lässt – ein nur auf vertrauenswürdigen<br />
Systemen akzeptables Vorgehen.<br />
Der erste Schritt erzeugt und synchronisiert<br />
die Repositories. Bei Centos sieht<br />
dies folgendermaßen aus:<br />
pulp‐admin repo create ‐‐arch x86_64U<br />
‐‐name Centos6.2 ‐‐id centos6.2_64 ‐‐feedU<br />
http://centos.bio.lmu.de/6.2/os/x86_64/<br />
pulp‐admin repo sync ‐‐id centos6.2_64U<br />
sync ‐F<br />
Pulp<br />
[http://pulpproject.org]<br />
GPLv2<br />
Fedora 15 und 16, RHEL 5 und 6, Centos<br />
Fedora 15 und 16, RHEL 5 und 6, Centos<br />
ja/ja<br />
Kommandozeile, REST<br />
ja<br />
ja<br />
ja<br />
nur manuell<br />
nein<br />
ja<br />
nein<br />
nein<br />
ja (rollenbasiert)<br />
nein<br />
nein<br />
nein<br />
ja<br />
nein<br />
Der Parameter »‐‐id« taucht bei allen Kommandos<br />
auf, die etwas mit Repositories<br />
zu tun haben, und gibt dieses an. Die Option<br />
»‐F« bestimmt, dass das Kommando<br />
im Vordergrund abläuft, normalerweise<br />
läuft das Synchronisieren im Hintergrund.<br />
URLs bei »‐‐feed« dürfen auch<br />
dem »file:«-Schema folgen, wenn eine<br />
DVD einzubinden ist. Es folgt das Anmelden<br />
des Clients am Server. Dies geschieht<br />
auf dem Clientsystem, im Beispiel ist das<br />
»centoshost.localnet«:<br />
pulp‐consumer ‐u admin ‐p adminU<br />
consumer register ‐‐id=centos.localnet<br />
Der Befehl antwortet mit einer harmlosen<br />
Warnung:<br />
this client is not known to the pulpU<br />
server; run 'pulp‐consumer consumerU<br />
register' to register it<br />
Successfully registered consumerU<br />
[ centos.localnet ]<br />
Nun bekommt der Client ein oder mehrere<br />
Repositories zugewiesen. Dies stößt<br />
der Admin entweder vom Client aus an<br />
oder erledigt die Zuordnung am Server.<br />
Im Sinne der zentralen Administration ist<br />
es klug, den zweiten Weg zu gehen:<br />
pulp‐admin consumer bindU<br />
‐‐id centos.localnet ‐‐repoid centos6.2_64<br />
Der letzte Schritt legt auf dem Client eine<br />
neue Datei in »/etc/yum.repos.d« an, die<br />
ausreicht, um das System mit den synchronisierten<br />
Paketen zu versorgen.<br />
Pulp benutzen<br />
Der Server kann nun Pakete auf dem<br />
Client (nach-)installieren, beispielsweise<br />
einen Webserver mit dem »pulp‐admin«-<br />
Kommando aus Listing 1. Will der Admin<br />
dagegen Updates einspielen, nimmt er<br />
statt »install« das Kommando »update«.<br />
Wer das Deployment auf Niedriglast-<br />
Zeiten verschieben will, gibt der Option<br />
»‐‐when« einen Installationszeitpunkt mit<br />
auf den Weg.<br />
Hinter »‐n« folgt der Name des gewünschten<br />
Pakets, mehrere übergibt der Admin<br />
mit mehrfachen »‐n«. Ein »update« ohne<br />
»‐n« aktualisiert alle Pakete des Hosts.<br />
Ist der Client nicht aktiv, puffert Pulp<br />
das Kommando und übermittelt es nach<br />
dem Aufbau der nächsten Verbindung<br />
zwischen Consumer und Pulp-Server.<br />
Statt der Option »‐‐consumerid« eignet<br />
sich auch »‐‐consumergroupid«, um eine<br />
Gruppe aus Hosts anzugeben. Hier die<br />
Definition einer Consumer-Gruppe:<br />
pulp‐admin consumergroup createU<br />
‐‐id fedora16<br />
pulp‐admin consumergroup add_consumerU<br />
‐‐id fedora16 ‐‐consumerid fedora<br />
pulp‐admin consumergroup add_consumerU<br />
‐‐id fedora16 ‐‐consumerid fed2
Nun lassen sich »install«- und »update«-<br />
Befehle auch auf Gruppen anwenden.<br />
Pulp geht dabei so intelligent vor, dass es<br />
etwa ein anstehendes Apache-Update nur<br />
auf den Systemen versucht, auf denen<br />
der Webserver auch installiert ist.<br />
Auf dem Server listet »pulp‐admin<br />
consumer info ‐‐id=Consumer‐Name<br />
‐‐show‐profile« auf, welche Pakete auf<br />
dem mit »‐‐id« angegebenen Consumer<br />
installiert sind. Der Systemverantwortliche<br />
bekommt so den Überblick über<br />
verteilte Pakete. Das Kommando erfasst<br />
allerdings nicht die manuell per »rpm«<br />
installierte und deinstallierte Software.<br />
Schwache Dialoge<br />
Eine kleiner Mangel trat zum Ende des<br />
Tests auf: Verwendet der Administrator<br />
»pulp‐admin auth«, um die Zugangsdaten<br />
zu speichern, geschieht dies in Form eines<br />
Zertifikates mit Verfallsdatum. Wenn dies<br />
mitten beim Arbeiten abläuft, erscheint<br />
ein nicht gerade instruktives »Certificate<br />
Expired«. (Wem dies widerfährt, der<br />
braucht sich nur mit »pulp‐admin auth«<br />
wieder anzumelden.)<br />
Ähnlich schwach sind die meisten Meldungen<br />
auf der Konsole und seltsame<br />
Python-Stacktraces in den Logfiles – dabei<br />
könnten die fast so instruktiv wie in<br />
„Pulp Fiction“ sein: „Also ich werde jetzt<br />
bis drei zählen. Wenn du bis dahin nicht<br />
den Koffer geöffnet hast, bleiben von deinem<br />
Gesicht nur noch die Ohren übrig!“<br />
Abspann<br />
Pulp 1.0 fehlt es noch an Genialität, als<br />
dass es zum Genreklassiker à la Tarantino<br />
reichen würde. Die Deploymentlösung<br />
erleichtert Administratoren größerer<br />
Umgebungen aber die Pflege und das<br />
automatische Nachinstallalieren von Paketen.<br />
Durch geschicktes Gruppieren von<br />
Servern gleicher Funktion lässt sich die<br />
Pflege noch optimieren.<br />
Mit Pulp den Installationsserver für die<br />
Software-Erstbeschickung von betriebssystemlosen<br />
Rechnern abzulösen gelingt<br />
bislang nicht (siehe auch Tabelle 1). Auf<br />
der Roadmap steht jedoch ein Mechanismus,<br />
der Konfigurationsdateien über<br />
den Pulp-Server verteilt, was den Admins<br />
einen weiteren Teil der Routinearbeiten<br />
am Set abnehmen würde. (jk) n<br />
Infos<br />
[1] Yum (Yellowdog Updater, Modified):<br />
[http:// yum.baseurl. org]<br />
[2] Pulp: [http:// pulpproject. org]<br />
[3] Mongo DB: [http:// www. mongodb. org]<br />
[4] Apache Qpid: [http:// qpid. apache. org]<br />
Der Autor<br />
Konstantin Agouros arbeitet bei der N.runs AG<br />
als Berater für Netzwerksicherheit. Dabei liegt<br />
sein Schwerpunkt im Bereich der Telekommunikationsanbieter.<br />
Sein Buch „DNS/DHCP“ ist bei<br />
Open Source Press erschienen.<br />
Pulp 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
31<br />
Listing 1: Webserver installieren<br />
01 $ pulp‐admin package install ‐n httpd ‐‐consumerid centos.localnet<br />
02 <br />
03 Created task id: 3a002d8f‐6b7f‐11e1‐9cd9‐0800278fe6fd<br />
04 Waiting: [\]<br />
05 Consumer ID: centos.localnet [ SUCCEEDED ]<br />
06 ==================================================<br />
07 Package Arch Version Repository<br />
08 ==================================================<br />
09 Installed:<br />
10 httpd x86_64 2.2.15 updates<br />
11 <br />
12 Installed for dependencies:<br />
13 apr x86_64 1.3.9 base<br />
14 apr‐util x86_64 1.3.9 base<br />
15 apr‐util‐ldap x86_64 1.3.9 base<br />
16 httpd‐tools x86_64 2.2.15 updates<br />
17 mailcap noarch 2.1.31 base<br />
3 AusgAben für nur 5,90 E<br />
Jetzt bestellen: 3 Hefte zum Preis von einem. Sie sparen 66 %!<br />
Neu!<br />
Jetzt bestellen unter:<br />
www.android–user.de/miniabo<br />
Telefon 07131 / 2707 274 • Fax 07131 / 2707 78 601 • E-Mail: abo@android-user.de<br />
Kennenlernangebot:<br />
3 AusgAben<br />
für nur 5,90 E
Titelthema<br />
www.linux-magazin.de Logfiles 05/2012<br />
32<br />
Logfiles überwachen und Aktionen anstoßen<br />
Log-Wellenreiter<br />
In den Logdateien eines <strong>Linux</strong>-Systems und seiner Dienste rauscht vorüber, was auf dem Rechner passiert.<br />
Tools wie Logcheck und Logsurfer filtern die wichtigsten Ereignisse für den Admin heraus – oder leiten sogar<br />
automatisch die passende Reaktion ein. Thilo Uttendorfer, Valentin Höbel<br />
© epicstockmedia, 123RF<br />
Wichtige Updates einspielen, auf kritische<br />
Ereignisse reagieren: Ein Systemadministrator<br />
muss stets eine Vielzahl<br />
von Aufgaben bewältigen. Umso besser,<br />
wenn er beruhigt einige dieser Pflichten<br />
an smarte Software abgeben kann. Längst<br />
gibt es Tools für die Loganalyse, die mit<br />
Hilfe klar definierter Regeln automatisiert<br />
auf Ereignisse reagieren.<br />
Das Wichtigste per Mail<br />
Das zeitaufwändigste Verfahren, Systeme<br />
zu beobachten, besteht in dem regelmäßige<br />
Blick in die Logdateien – doch<br />
das wird schnell monoton und aufreibend.<br />
Das Programm Logcheck schafft<br />
Abhilfe. Einmal installiert, überwacht es<br />
standardmäßig »/var/log/syslog« und<br />
»/var/log/auth.log«. Dabei filtert es belanglose<br />
Events aus, womit der Systembetreuer<br />
nur noch eine Mail mit einer<br />
Zusammenfassung der wichtigsten Ereignisse<br />
erhält (Abbildung 1).<br />
Mit dem richtigen Mailclient und entsprechenden<br />
Filtern lassen sich die Logs<br />
von Hosts oder Gruppen in Ordner einsortieren.<br />
So hat der Administrator alle<br />
Systeme im Blick, ohne sich auf diesen<br />
einloggen zu müssen. Logcheck [1] greift<br />
für die Überwachung der Logs übrigens<br />
auf das Programm Logtail zurück, das<br />
meist im selben Paket steckt.<br />
Logtail kümmert sich darum, nur die Zeilen<br />
einer Datei auszugeben, die bisher<br />
noch keine Beachtung fanden. Hierfür<br />
Tabelle 1: Werte für »action«<br />
Wert<br />
ignore<br />
exec<br />
pipe<br />
open<br />
delete<br />
report<br />
rule<br />
Bedeutung<br />
Diese Zeile ignorieren<br />
Programm ausführen<br />
legt es zu jedem Log eine weitere Datei<br />
mit der Bezeichnung »Dateiname.offset«<br />
an und speichert Informationen zum<br />
Inode der Logdatei. Zusätzlich hält es<br />
fest, bis zu welcher Stelle es ein Logfile<br />
bereits ausgelesen hat. Würde die Offsetdatei<br />
keine Informationen zum Inode dieses<br />
Log enthalten, würde Logtail neue<br />
Logs nicht erkennen und die Aktionen<br />
von Log rotate brächten das durchdachte<br />
System durcheinander.<br />
Der im Installationspaket enthaltene Cronjob<br />
unter »/etc/cron.d/logcheck« sorgt<br />
für den stündlichen Versand der Meldungen,<br />
die Logcheck seit dem letzten Mal<br />
aus den Logs extrahiert und für wichtig<br />
befunden hat. Zusätzlich sendet das Tool<br />
eine solche Mail nach jedem Systemstart.<br />
Listing 1 zeigt, wie eine Logcheck-Mail<br />
aussieht. Der Inhalt der Dateien unter<br />
»/etc/logcheck/ignore*« legt fest, welche<br />
Meldungen das Tool ausfiltert und aus<br />
seinen Mailreports entfernt.<br />
In diesem Listing finden sich zwei Zeilen,<br />
die Logcheck per Mail versenden würde.<br />
Die erste enthält eine Meldung des Mailservers<br />
Qmail, der sich über den fehlerhaften<br />
Verbindungsaufbau zum SMTP-<br />
Server des Empfängers einer Nachricht<br />
beschwert. Der zweite Eintrag hingegen<br />
weist den Systembetreuer auf ein er<br />
Programm ausführen und die Zeile an Stdin übergeben<br />
Einen »context« eröffnen<br />
Einen »context« schließen<br />
Programm ausführen und die Kontextdaten an Stdin übergeben<br />
Eine neue Regel erstellen
folgreiches »su« für den<br />
Benutzer Logcheck hin.<br />
Beide Meldungen sind es<br />
wert, per Mail versandt<br />
zu werden.<br />
Logcheck beschränkt<br />
sich auf das Filtern von<br />
Meldungen und das Verschicken<br />
entsprechender<br />
Logmails. Besonders bei<br />
Debian-basierten Distributionen<br />
wird es aber mit einer sehr<br />
sinnvollen Vorkonfiguration für viele<br />
Dienste ausgeliefert. Zusätzlich enthalten<br />
die Debian-Pakete vieler Dienste, etwa<br />
des MySQL-Servers, ebenfalls eigene<br />
Logcheck-Filter. So kann der Admin mit<br />
wenig Aufwand eine sehr gute Filterung<br />
seiner System-Logs erreichen.<br />
Einigen Admins wird das eine Alternative<br />
zu Logcheck in Erinnerung rufen:<br />
Logdigest. Dieses Programm funktioniert<br />
ähnlich wie Logcheck, wird jedoch seit<br />
November 2009 nicht mehr aktiv weiterentwickelt.<br />
Das geplante Rewrite sowie<br />
eine Neuauflage des Tools in Python haben<br />
die Entwickler bisher nicht realisiert.<br />
Wer sich dennoch mit Logdigest auseinandersetzen<br />
möchte, findet unter [2]<br />
Lesematerial.<br />
Logtail<br />
Beim Beobachten von Logdateien zeigen<br />
sich bestimmte Events. Es liegt daher<br />
nahe, auf einige dieser Ereignisse mit<br />
festlegbaren Aktionen zu reagieren, natürlich<br />
automatisiert. Den Logcheck-Helfer<br />
Logtail kann der Admin auch dazu<br />
verwenden, auf bestimmte Ereignisse<br />
automatisch zu reagieren.<br />
Dazu legt er einen Cronjob an, der regelmäßig<br />
eine Protokolldatei prüft. Die<br />
Ausgabe lässt sich mit einem Werkzeug<br />
Abbildung 1: Logcheck extrahiert die wichtigsten Meldungen und schickt sie als Mail an den Admin.<br />
wie Grep oder einem Perl-Skript filtern.<br />
Erkennt das Programm ein bestimmtes<br />
Muster, kann es eine Aktion auslösen.<br />
Diese Aktion besteht vielleicht einfach<br />
nur aus einer Mail-Benachrichtigung wie<br />
bei Logcheck. Daneben kann der Admin<br />
auf diese Weise aber auch Dienste neu<br />
starten oder andere Kommandos aufrufen.<br />
Listing 2 zeigt einen Cronjob, der<br />
den MySQL-Daemon neu startet, wenn<br />
er ausgefallen sein sollte.<br />
Schneller Logsurfer<br />
Ein großer Nachteil von Logcheck und<br />
Logtail ist, dass der Admin sie über Cron<br />
regelmäßig aufrufen muss und die Programme<br />
dadurch nicht unmittelbar reagieren.<br />
Das lässt sich mit dem Einsatz<br />
von Logsurfer [3] ändern. Dieses auf<br />
dem Loganalyse-Tool Swatch basierende<br />
Programm hängt sich wie »tail« an ein<br />
Logfile und erfasst neue Einträge zur<br />
Laufzeit. Da Logsurfer in C geschrieben<br />
ist, ergibt sich auch ein Performancevorteil<br />
gegenüber dem in Bash realisierten<br />
Logcheck.<br />
Während Logcheck einfach nur bekannte<br />
Logmeldungen mit einem regulären Ausdruck<br />
ausfiltert, verwendet Logsurfer<br />
leistungsfähige Regeln. Deren grundsätzlichen<br />
Aufbau demonstriert Listing 3.<br />
Dabei gibt »Match_regex« den regulären<br />
Ausdruck an, der auf die gesuchte<br />
Logzeile passt. Mit dem zweiten Feld<br />
»Not_match_regex« kann der Anwender<br />
Muster ausschließen. Findet »Stop_regex«<br />
einen Treffer, streicht Logsurfer die Regel<br />
von der aktuellen Liste der aktiven<br />
Regeln, das Feld »Not_stop_regex« beschreibt<br />
wieder die Ausschlusskriterien.<br />
Der Timeout-Eintrag definiert, wie lange<br />
die Regel aktiv sein soll. Wer an dieser<br />
Stelle eine 0 angibt, legt die Gültigkeit als<br />
unbegrenzt fest.<br />
Die optionale Angabe »continue« teilt<br />
dem Programm Logsurfer mit, dass es<br />
die aktuelle Zeile auch dann parsen soll,<br />
wenn eine zuvor definierte Regel zutrifft.<br />
Tatsächlich hört Logsurfer standardmäßig<br />
nach dem ersten Treffer auf, eine Zeile zu<br />
verarbeiten. Das Minuszeichen »‐« lässt<br />
sich zum Markieren unbenutzter Felder<br />
verwenden.<br />
In Aktion treten<br />
Tabelle 1 zeigt die möglichen Schlüsselwörter<br />
für die Aktion im letzten Feld.<br />
Jeder Regel kann der Admin eine eigene<br />
Aktion zuweisen, um auf verschiedene<br />
Ereignisse auch unterschiedlich zu reagieren.<br />
Neben dem Ausführen beliebiger<br />
Programme mit den »exec«- und<br />
»pipe«-Aktionen erstellt die »open«-<br />
Aktion kontextabhängige Regeln. Dabei<br />
Logfiles 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
33<br />
Listing 1: Mail von Logcheck<br />
01 Feb 20 23:12:14 jupiter qmail: 1329775934.816939 delivery 19626: deferral: Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/<br />
02 Feb 20 23:16:23 jupiter su[15621]: Successful su for logcheck by root<br />
Listing 2: Cronjobs mit Logtail<br />
01 * * * * * root /usr/sbin/logtail /var/log/syslog | grep ‐q "mysql exited unexpected" && /etc/init.d/mysql restart<br />
Listing 3: Logsurfer-Regeln<br />
01 Match_regex Not_match_regex Stop_regex Not_stop_regex Timeout [continue] Action [...]
Titelthema<br />
www.linux-magazin.de Logfiles 05/2012<br />
34<br />
speichert die Software sämtliche Zeilen,<br />
die auf einen regulären Ausdruck passen.<br />
Die »report«-Aktion gibt sie später als<br />
kompletten Block zusammenhängender<br />
Logeinträge aus.<br />
Listing 4 enthält ein einfaches Beispiel<br />
für eine Regel, die beim Ereignis »Out<br />
of memory« eine Mail mit der entsprechenden<br />
Logzeile verschickt. Der erste<br />
reguläre Ausdruck trifft auf Zeilen mit der<br />
Zeichenkette »kernel: Out of memory«<br />
zu. In diesem Fall schickt die Regel eine<br />
Mail an Root. Der Betreff der Mail verwendet<br />
Variablen aus dem Suchmuster,<br />
um betroffene Prozess-ID (»$2«) und weitere<br />
Informationen (»$3«) hinzuzufügen.<br />
Daneben übergibt die Regel die komplette<br />
Logzeile an die Standardeingabe des Programms<br />
»mailx«.<br />
Ein komplexeres Beispiel demonstrieren<br />
die drei Regeln in Listing 5. Sie erkennen<br />
SSH-Sessions und zeigen alle Daten der<br />
Session, falls der Benutzer ein falsches<br />
Passwort angibt. Passiert innerhalb der<br />
Listing 4: Mail verschicken<br />
01 'kernel: Out of memory: Kill process ([0‐9]*) (.*)'‐ ‐ ‐ 0<br />
SSH-Sitzung nichts Auffälliges (ist also<br />
das Passwort korrekt), verwerfen die Regeln<br />
die Logmeldungen.<br />
Kontexte als<br />
Zwischenspeicher<br />
Das Tool Logcheck könnte in diesem Szenario<br />
allenfalls die Logzeile »Failed password«<br />
herausfiltern, aber keine weiteren<br />
Informationen zur SSH-Session liefern.<br />
Alternativ könnte der Admin alle SSH-<br />
Logzeilen herausfiltern. Dann würde er<br />
aber mit zu vielen überflüssigen Informationen<br />
überschüttet und die wirklich<br />
wichtigen Zeilen dürften ihm entgehen.<br />
Logsurfer löst dieses Problem mit den<br />
so genannten Kontexten. Sie bieten die<br />
Möglichkeit, bestimmte Zeilen zwischenzuspeichern<br />
und bei Bedarf erneut zu<br />
verwenden.<br />
Die drei Regeln in Listing 5 ergeben<br />
nur in ihrer Kombination einen Sinn.<br />
Auf Debian-basierten Systemen lassen<br />
02 pipe "/usr/bin/mailx ‐s \"Warning! Out of memory! Process $2 killed: $3\" root "<br />
01 '^\w{3} [ :[:digit:]]{11} [._[:alnum:]‐]+ sshd\[([[:digit:]]+)\]: .*' ‐ ‐ ‐ 0 continue<br />
02 open "$2" ‐ 5000 86400 3600<br />
03 report "/bin/cat" "$2"<br />
04 <br />
05 '^\w{3} [ :[:digit:]]{11} [._[:alnum:]‐]+ sshd\[([[:digit:]]+)\]: Failed password .*' ‐ ‐ ‐ 0<br />
06 report "/bin/cat" "$2"<br />
07 <br />
08 '^\w{3} [ :[:digit:]]{11} [._[:alnum:]‐]+ sshd\[([[:digit:]]+)\]: Connection closed.*' ‐ ‐ ‐ 0<br />
09 delete "$2"<br />
Abbildung 2: Mit drei Logsurfer-Regeln lassen sich missglückte Anmeldeversuche am SSH-Port überwachen.<br />
Listing 5: Logsurfer-Kontext<br />
sie sich auf die Logdatei<br />
»/var/log/auth.log«<br />
anwenden. Der Einfachheit<br />
halber geben sie alle<br />
Informationen direkt auf<br />
der Konsole aus. Es wären<br />
aber auch andere<br />
Aktionen möglich, und<br />
sei es nur die, eine Mail<br />
zu schicken.<br />
Die erste Zeile erkennt<br />
alle Logzeilen des SSH-<br />
Daemon. Die Aktion<br />
»open« eröffnet einen<br />
neuen Kontext. Dabei<br />
benutzt die Regel die<br />
PID (in eckigen Klammern<br />
nach »sshd«) der jeweiligen SSH-<br />
Sitzung, um jene Zeilen zu erkennen,<br />
die zu einer SSH-Session gehören. Zusätzlich<br />
definiert sie Timeouts. Laufen<br />
diese ab, geben die Regeln ebenfalls die<br />
Session-Daten aus. Wichtig ist an dieser<br />
Stelle das Schlüsselwort »continue«, damit<br />
auch die nachfolgenden Regeln zum<br />
Zuge kommen.<br />
Enthält eine Logzeile den Eintrag »Failed<br />
password« (Zeile 5), gibt dieses Beispiel<br />
den kompletten Kontext der SSH-Session<br />
auf der Konsole aus. Wieder dient die<br />
PID der SSH-Session dazu, den Kontext<br />
zu identifizieren. Die Regel in Zeile 8<br />
löscht den Kontext wieder, wenn eine<br />
SSH-Session geschlossen wird. Abbildung<br />
2 zeigt die Ausgabe der Regeln im<br />
Praxiseinsatz.<br />
Wer den »tail«-Modus benutzt, darf nicht<br />
vergessen das Signal »SIGHUP« an den<br />
Logsurfer-Prozess zu schicken, wenn<br />
Log rotate oder ähnliche Tools das Logfile<br />
neu anlegen.<br />
Leider gibt es Logsurfer nur als Sourcepaket,<br />
es existieren keine fertigen Binärpakete<br />
in den gängigen <strong>Linux</strong>-Distributionen.<br />
Das Kompilieren und Installieren<br />
sollte aber dem durchschnittlich erfahrenen<br />
Administrator leicht von der Hand<br />
gegen. Für Debian-basierte Distributionen<br />
stellt der Autor dieses Artikels unter<br />
[4] fertige Pakete bereit.<br />
Sicherheit nicht vergessen<br />
Bei allen Tools für die Loganalyse darf<br />
der Admin nicht vergessen, dass nicht<br />
nur das System und seine Dienste Logmeldungen<br />
erzeugen, denn auch externe
Benutzer tun das mit ihren Aktionen.<br />
Ein Angreifer könnte beispielsweise das<br />
Postfach des Administrators zum Überlaufen<br />
bringen, im schlimmsten Fall aber<br />
auch mit geeigneten Ausdrücken Systeme<br />
außer Gefecht setzen oder beliebige Kommandos<br />
ausführen.<br />
Das trifft insbesondere auf Tools wie<br />
Logsurfer zu, die das Systemprotokoll<br />
in Echtzeit analysieren und beliebige<br />
Skripte oder Programme ausführen können.<br />
Werden Teile der Logzeile einem<br />
Die Autoren<br />
Thilo Uttendorfer arbeitet als Diplominformatiker<br />
(FH) bei der LIS AG in München und leitet dort die<br />
Entwicklungsabteilung. Seine Schwerpunkte sind<br />
Virtualisierungs- und Cluster-Techniken.<br />
Der Fachinformatiker Valentin Höbel arbeitet<br />
ebenfalls bei der LIS AG. Wenn er nicht gerade<br />
Kundensysteme auf <strong>Linux</strong> migriert, beschäftigt er<br />
sich hauptsächlich mit Groupware-Anwendungen,<br />
Monitoring und KVM-Virtualisierung.<br />
externen Programm als Parameter oder<br />
via Standardeingabe übergeben – wie<br />
im ersten Beispiel –, erhielte ein Angreifer<br />
die Chance, das Programm zu<br />
manipulieren. Der Anwender solcher<br />
Tools muss also die Übergabeparameter<br />
und die Standardeingabe entsprechend<br />
absichern. Weitere Informationen zum<br />
Thema Sicherheit enthält die Manpage<br />
von »logsurfer.conf«, die auch online unter<br />
[5] zu finden ist.<br />
Simpel oder raffiniert<br />
Wie die vorgestellten Beispiele zeigen,<br />
können sich Systemadministratoren eine<br />
Menge Arbeit sparen, indem sie Logfiles<br />
automatisch auswerten und gegebenenfalls<br />
Aktionen anstoßen.<br />
Neben den hier im Artikel beschriebenen<br />
Tools existiert noch andere nützliche<br />
Software, die automatisierte Reaktionen<br />
auf bestimmte Events einleiten kann. In<br />
den Tests der Autoren hat sich Logsurfer<br />
allerdings als das flexibelste Programm<br />
mit den meisten Möglichkeiten herausgestellt.<br />
Die Syntax wirkt zwar auf den<br />
ersten Blick ziemlich kompliziert, sie<br />
erlaubt es aber, auch komplexe Szenarien<br />
abzubilden. Wie immer gilt: Wer<br />
sich umfassend informiert und offen für<br />
bisher unbekannte Ideen ist, kann langfristig<br />
viel monotone Arbeit bei der Systembetreuung<br />
sparen. (mhu) n<br />
Infos<br />
[1] Logcheck und Logtail: [http:// alioth.<br />
debian. org/ projects/ logcheck/]<br />
[2] Logdigest: [http:// sourceforge. net/<br />
projects/ logdigest]<br />
[3] Logsurfer: [http:// www. crypt. gen. nz/<br />
logsurfer/ index. html]<br />
[4] Logsurfer-Pakete für Debian und Ubuntu:<br />
[http:// devel. uttendorfer. net/ logsurfer]<br />
[5] Manpage zu »logsurfer.conf«:<br />
[http:// www. crypt. gen. nz/ logsurfer/<br />
man_logsurfer_conf. html]<br />
Logfiles 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
35<br />
Das <strong>Linux</strong>-Jahr 2011<br />
auf einer scheibe<br />
NUR<br />
14,95 Euro!<br />
12 Ausgaben<br />
auf DVD<br />
• Zwölf ausgaben<br />
komplett als hTML und<br />
PDf<br />
• n eu konzipierte navigation,<br />
die mit jedem<br />
browser funktioniert<br />
• b litzschnelle Volltextsuche<br />
• a lle Listings<br />
w Auf der 2. Seite der DVD:<br />
• Knoppix 6.7.1 von Klaus Knopper<br />
• bootfähige Live-Distribution<br />
in Deutsch<br />
• ohne Installation sofort von<br />
DVD losarbeiten<br />
Jetzt gleich bestellen!<br />
www.linux-magazin.de/DVD2011 oder 089 - 99 34 11 - 00
Titelthema<br />
www.linux-magazin.de Backup 05/2012<br />
36<br />
Report: Unbeaufsichtigte Backups<br />
Retten ohne Personal<br />
Eine Herstellerumfrage soll herausfinden, wie Admins typischer KMU-Umgebungen rotierende Backups so organisieren<br />
können, dass sie selbst in den normalen Prozess nicht eingreifen müssen. Jan Kleinert<br />
© suze, photocase.com<br />
Moderne Netzwerkbackup-Programme<br />
lassen sich nicht mehr intuitiv bedienen<br />
– zu vielfältig sind die Konfigurationsmöglichkeiten.<br />
Das <strong>Linux</strong>-<strong>Magazin</strong> hat<br />
darum die Hersteller und Projekte wichtiger<br />
Programme befragt, wie ein Setup für<br />
zum Beispiel eine Büroumgebung aussehen<br />
müsste, bei dem – einmal eingerichtet<br />
– der Admin keine Routineaufgaben<br />
mehr erledigen muss.<br />
Die Vorgaben waren: wöchentliches<br />
Vollbackup, täglich ein inkrementelles,<br />
Backupmedium soll ein NAS sein, angesprochen<br />
per NFS oder Samba. Die Software<br />
soll automatisch alte Sicherungen<br />
herausrotieren, sodass das Zielmedium<br />
nicht vollläuft. Hier die Antworten.<br />
E Amanda<br />
Die freie Backupsoftware Amanda [1]<br />
sichert normalerweise auf ein Bandlaufwerk.<br />
Für die geforderte Aufgabe würde<br />
ich das NAS per NFS am Backupserver<br />
anbinden und da rauf<br />
anhand von [2] so genannte<br />
Virtual Ta pes anlegen.<br />
Es entsteht eine<br />
virtuelle Bandbibliothek,<br />
deren Bänder Verzeichnisse<br />
auf dem NAS<br />
sind; »tpchanger "chg‐<br />
disk:/Pfad_zu_Vtapes"«<br />
bindet den virtuellen<br />
Changer in die Amanda-<br />
Config ein.<br />
Zum Beispiel »amtape«<br />
macht es möglich,<br />
solche Bänder in den<br />
Changer einzulegen<br />
oder sie zu wechseln.<br />
Entsprechend eingestellt<br />
erledigt Amanda das automatisch<br />
passend zum<br />
geforderten Tape, was tägliche Eingriffe<br />
unnötig macht. Da ich die Größe der<br />
Bänder selbst definiere, kann ich leicht<br />
beeinflussen, wie viel Platz Backups maximal<br />
belegen, ich baue einfach zehn<br />
Bänder à 100 GByte.<br />
Beim Thema Vollbackup unterscheidet<br />
sich Amandas Philosophie [3] von den<br />
klassischen Backup-Schemata. Ich definiere<br />
darum beispielsweise:<br />
n Es gibt »$tapecycle« Bänder.<br />
n Mein »$dumpcycle« ist »7 days«.<br />
n In dieser Zeit führe ich an den Werktagen<br />
»$runspercycle« Sicherungsläufe<br />
aus.<br />
Das heißt, dass Amanda versucht von<br />
jeder DLE (Disk List Entry) innerhalb<br />
des »$dumpcycle« zumindest eine Vollsicherung<br />
zu machen. Eine DLE entspricht<br />
vielleicht einem Verzeichnis oder einer<br />
Partition, die ich sichern will und in die<br />
Amanda-Diskliste eintrage.<br />
An welchem der Wochentage Amanda<br />
die Vollsicherung anfertigt, ist nicht defi-<br />
niert. Ein Algorithmus bestimmt den<br />
Zeitpunkt dynamisch. Ein Estimate-Lauf<br />
prüft vorab, wie voll die zu sichernden<br />
Verzeichnisse sind und wann welche zuletzt<br />
full-gesichert wurden. Aus dem Ergebnis<br />
der Prüfung und aus meinen Vorgaben<br />
kalkuliert Amanda den Schedule<br />
für heute. Ziele sind eine ungefähr gleichbleibende<br />
Bandfüllung zu erreichen, eine<br />
vorhersehbare Backupdauer und die gestellten<br />
Aufgaben zu erfüllen.<br />
Mit »amadmin Config force DLE« darf ich<br />
jedoch dem Scheduler mitteilen: „Ich<br />
wünsche beim nächsten Lauf ein Full<br />
Backup dieser DLE.“ Wenn alle meine<br />
DLEs auf ein einzelnes virtuelles Tape<br />
passen, würde in einem Freitags-Cronjob<br />
»amadmin daily force myserver« für alle<br />
DLEs ein Level-0-Backup erzwingen.<br />
Da ich mit Amanda aber keinen einzelnen<br />
Tag mit Vollsicherung aller DLEs<br />
haben muss, darf die Summe der DLEs<br />
größer sein als ein Medium. Sofern ich<br />
ausreichend Medien in meiner Rotation<br />
habe, verteilt der Algorithmus die Backups<br />
über meine Tapes: Das Full Backup<br />
von »DLE1« landet vielleicht auf Band 12,<br />
das von »DLE2« auf Band 08. Ich sichere<br />
also mit relativ vielen und relativ kleinen<br />
Medien größere Datenmengen.<br />
Für das vorgegebene NAS-Szenario ist<br />
das unproblematisch, weil ja alle Bänder<br />
auf ein und demselben NAS liegen und<br />
nicht „entnommen“ werden. Listing 1<br />
benutzt zehn Tapes auf dem NAS. Zwei<br />
Cronjobs würden es täglich starten:<br />
Stefan G. Weichinger hat<br />
die auf Backupsoftware<br />
spezialisierte Firma<br />
Oops! [4] gegründet und<br />
ist seit Anfang 2004<br />
Mitglied des Amanda-<br />
Core-Teams.
# Morgendlicher Prüflauf, optional<br />
0 9 * * 1‐5 /usr/sbin/amcheck ‐m daily<br />
# abends das Backup<br />
00 22 * * 1‐5 /usr/sbin/amdump daily<br />
Nach einer Einlaufphase von zirka ein bis<br />
zwei »$dumpcycle« dürfte der Algorithmus<br />
die DLEs ausbalanciert haben. Das<br />
lässt sich zum Beispiel per »amadmin<br />
daily balance« sichtbar machen.<br />
E Arkeia<br />
Karsten Ehmann ist Regional<br />
Manager bei Arkeia<br />
Software und verfügt<br />
über <strong>Linux</strong>-Kenntnisse<br />
und mehr als zehn Jahre<br />
Erfahrung mit Speicher-<br />
Anwendungen.<br />
Das als Softwareversion, physikalische<br />
oder virtuelle Appliance verfügbare Arkeia<br />
[5] lässt sich einfach über einen<br />
Webbrowser administrieren. Per E-Mailing<br />
informiert es über den Verlauf der<br />
Backups. Einmal eingerichtet, erstellt<br />
und verwaltet Arkeia vollautomatisch<br />
volle, inkrementelle oder differenzielle<br />
Backups. Die Lebensdauer der Backupsets<br />
bestimmt der Benutzer selbst. Ist<br />
eines abgelaufen, entfernt es die Software<br />
aus der Datenbank. Die Backups finden<br />
– einmal eingerichtet – also automatisch<br />
über Jahre hinweg statt.<br />
Arkeia sichert auf vom Backupserver erreichbare<br />
Storages (NAS, Shares oder lokale<br />
Platten) oder Bandlaufwerke. Daten<br />
lassen sich auch erst auf Disk und dann<br />
auf Tape oder Cloud speichern (D2D2T/<br />
D2D2C). Ein Restore einzelner Dateien,<br />
Verzeichnisse oder ganzer Backups passiert<br />
wieder über einen Browser und läuft<br />
dann automatisch ab.<br />
E Bacula<br />
Für die gestellte Aufgabe kann ich Bacula<br />
[6] empfehlen, weil Sicherungsintervall<br />
und ‐level schon sinnvoll vorkonfiguriert<br />
sind: Montag bis Samstag inkrementell,<br />
Erol Akman ist zertifizierter<br />
Bacula Instructor<br />
bei der Firma Dass IT<br />
GmbH.<br />
erster Sonntag im Monat Vollsicherung<br />
und die übrigen Sonntage differenziell.<br />
Das muss ich nur leicht abändern. Um Bacula<br />
anzuweisen, auf ein NAS zu schreiben,<br />
mounte ich das entfernte Verzeichnis<br />
per NFS und gebe es als Sicherungsverzeichnis<br />
in der »bacula‐sd.conf« an. Wer<br />
die volle Kontrolle über das NAS hat,<br />
kann sogar auf diesem Baculas Storage-<br />
Daemon »bacula‐sd« installieren.<br />
Das in Listing 2 gezeigte Setup habe ich<br />
zusammen mit Philipp Storz entworfen,<br />
dem Autor des demnächst erscheinenden<br />
„Bacula“-Buches [7]. Es definiert die<br />
Pools »daily« und »weekly«, die kombi-<br />
Listing 1: »daily« für Amanda<br />
01 dumpcycle 7 #<br />
02 runspercycle 5 # an 7 Tagen in der Woche läuft eine<br />
Sicherung<br />
03 tapecycle 10 # 10 Bänder in meinem Changer<br />
04 tapetype HARD‐DISK<br />
05 tpchanger "chg‐disk:/Pfad_zu_Vtapes" # laut Link<br />
angelegt<br />
06 <br />
07 define tapetype HARD‐DISK {<br />
08 comment "Dump onto hard disk"<br />
09 length 100 gb<br />
10 }<br />
Backup 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
37<br />
Listing 2: Bacula-Konfiguration<br />
01 # Weekly Pool definition<br />
02 Pool {<br />
03 Name = weekly<br />
04 Label Format = "weekly‐"<br />
05 Pool Type = Backup<br />
06 Recycle = yes<br />
07 AutoPrune = yes<br />
08 Volume Retention = 14 weeks # Wer weniger Puffer zur Sicherheit<br />
haben möchte, kann die Vorhaltezeit der Vollsicherungen erhöhen.<br />
09 Maximum Volume Bytes = 100 GB<br />
10 # Maximum Volumes = 15 # Ist nicht unbedingt notwendig, da<br />
Volume Retention ausreicht. Mit Maximum Volumes muss man u.U. sogar<br />
häufiger manuell eingreifen.<br />
11 Volume Use Duration = 23 hours<br />
12 }<br />
13 <br />
14 # Daily Pool definition<br />
15 Pool {<br />
16 Name = daily<br />
17 Label Format = "daily‐"<br />
18 Pool Type = Backup<br />
19 Recycle = yes<br />
20 AutoPrune = yes<br />
21 Volume Retention = 31 days # gleiches wie oben<br />
22 Maximum Volume Bytes = 1 GB<br />
23 # Maximum Volumes = 32 # gleiches wie oben<br />
24 Volume Use Duration = 23 hours<br />
25 }<br />
26 <br />
27 # Im Schedule Differential auskommentieren:<br />
28 Schedule {<br />
29 Name = "WeeklyCycle"<br />
30 Run = Full sun at 23:05<br />
31 # Run = Differential 2nd‐5th sun at 23:05<br />
32 Run = Incremental mon‐sat at 23:05<br />
33 }<br />
34 <br />
35 # Standardmäßig soll Bacula das Pool daily nutzen, Vollsicherungen<br />
sollen im Full Pool "weekly" landen:<br />
36 JobDefs {<br />
37 Name = "DefaultJob"<br />
38 Type = Backup<br />
39 Level = Incremental<br />
40 Client = course‐fd<br />
41 FileSet = "Full Set"<br />
42 Schedule = "WeeklyCycle"<br />
43 Storage = File<br />
44 Messages = Standard<br />
45 Full Backup Pool = weekly<br />
46 Incremental Backup Pool = daily<br />
47 Pool = daily<br />
48 Priority = 10<br />
49 Write Bootstrap = "/home/course/bacula/working/%c.bsr"<br />
50 }
Titelthema<br />
www.linux-magazin.de Backup 05/2012<br />
38<br />
niert höchstens 15 Archivdateien (bei Bacula<br />
„Volumes“) mit je 100 GByte Größe<br />
entstehen lassen. Nach und nach überschreibt<br />
Bacula ältere Volumes.<br />
Noch zwei Tipps: In der Clientkonfiguration<br />
empfiehlt sich »Auto Prune« auf »no«<br />
zu setzen. Dies vermeidet, dass Bacula<br />
Datei-Informationen nach 30 Tagen aus<br />
seinem Katalog entfernt. Eine gute Idee<br />
ist es auch, sich die Bootstrap-Datei der<br />
Katalogsicherung im Katalogbackup-Job<br />
per E-Mail schicken oder auf NAS sichern<br />
zu lassen. Das gelingt per Skript im »Run-<br />
AfterJob«. Fällt der Backupserver aus,<br />
kann ich mit der Bootstrap-Datei den Bacula-Katalog<br />
bequem wiederherstellen.<br />
E BRU<br />
Mein Beispielsetup für BRU [8] geht von<br />
diesen Annahmen aus: Backupmedium<br />
ist ein gemounteter, 4 TByte großer Raid-<br />
5-Storage, auf dem im wöchentlichen<br />
Full Backup insgesamt 400 GByte Daten<br />
von 30 Clientsystemen mit geschätzten 5<br />
GByte täglichem Änderungsvolumen für<br />
inkrementelle Backups anfallen.<br />
Acht Wochen sollen die Vollbackups erhalten<br />
bleiben, zwei Wochen die inkrementellen.<br />
Wir legen dafür zwei Nutzer<br />
an: »Full« der Besitzer der wöchentlichen<br />
Komplettbackups und »Inc« für die täglichen<br />
inkrementellen Sicherungen.<br />
n Im »Preferences«-Dialog setze ich die<br />
»Max Stage Age« auf 56 Tage (8 Wochen).<br />
n Unter »Open Data Manager | Users«<br />
setze ich »Max Stage Age« auf 56 Tage<br />
für den User »Full«, für »Inc« auf 14.<br />
n Dann erstelle ich die Backup-Definitionen<br />
und -Schedules: »New…« erzeugt<br />
einen neuen Backupjob, sein Ziel<br />
(»Destination«) lasse ich auf »Stage<br />
Disk« zeigen, der Backuptyp ist »Full«,<br />
der Jobtyp »Backup«, das »Overwrite<br />
Setting« veranlasst den BRU-Server<br />
alte Backups zu überschreiben.<br />
n Jetzt noch den Eigentümer »Full« angeben,<br />
»OK« klicken, die Clients (und<br />
Online PLUS<br />
Bacula-Spezialist Erol Akman hat den<br />
Backupverlauf in ein hübsch animiertes<br />
PDF gepackt, das sich (nur) im Adobe Reader<br />
anschauen lässt. Download unter: [http://<br />
www. linux‐magazin. de/ plus/ 2012/ 05]<br />
deren Daten) auswählen und speichern<br />
(»Save«).<br />
n Als Nächstes stelle ich ein, wie oft das<br />
Backup erfolgen soll (wöchentlich).<br />
n Das tägliche, inkrementelle Backup<br />
entsteht aus einer (umbenannten) Kopie<br />
der oben erzeugten wöchentlichen<br />
Komplettsicherung mit einem anderen<br />
User, Namen, Intervall (täglich,<br />
nach den üblichen Arbeitszeiten) und<br />
Backup typ (inkrementell).<br />
Als Ergebnis habe ich jetzt ein vollständiges<br />
Backup, das jeden Freitag mit der<br />
Userkennung »Full« auf der Platte landet.<br />
Zusätzlich dazu gibt es ein tägliches<br />
inkrementelles Backup auf dem Server<br />
(User »Inc«). Ersteres wird 56 Tage aufbewahrt,<br />
die täglichen Backups nur 14 Tage.<br />
Der BRU-Server löscht die Sicherungen<br />
vollautomatisch, sobald sie dieses Alter<br />
erreichen.<br />
E SEP Sesam<br />
Tim Jones, President<br />
and CTO of TOLIS Group<br />
Inc., beschäftigt sich seit<br />
1982 mit den Prozessen<br />
um Datenbackup and<br />
Restore. Seit 1994 gehört<br />
er zum BRU-Team.<br />
Mit SEP Sesam Version 4.x [9] ist es einfach,<br />
die manuellen Backups voll zu automatisierten.<br />
Nach der Installation erfolgen<br />
die Einstellungen in vier Schritten:<br />
n Aufnahme der Backupclients: Ich gebe<br />
den Hostnamen der Backupclient s unter<br />
dem Menüpunkt »Komponenten |<br />
Topologie« ein.<br />
n NAS als Backupstorage einbinden: Ich<br />
lege einen neuen Datastore mit einem<br />
beliebigen Name an, wähle als Device-<br />
Server den Backupserver selbst und<br />
gebe den UNC-Pfad des NAS-Share<br />
an, zum Beispiel »\\192.168.1.100\sesam«.<br />
Als Laufwerksgruppe verwende<br />
ich wegen der Übersichtlichkeit den<br />
Namen des Datastore. Ich bestätige<br />
Der Bundesverdienstkreuz-Träger<br />
Georg<br />
Moosreiner ist Vorstand<br />
der SEP AG.<br />
den Dialog mit »OK« und akzeptiere<br />
die Einstellungen der Watermarks.<br />
n Aufträge und Sicherungsgruppe: Im<br />
Menüpunkt »Aufträge | nach Clients«<br />
generiere ich für alle Backupclients<br />
einen neuen Auftrag und wähle über<br />
den Browser die lokalen Filesysteme<br />
aus. Auftragsname und Sicherungstyp<br />
ergeben sich automatisch. Unter »Aufträge<br />
| nach Gruppen« lege ich eine<br />
neue Gruppe an und füge ihr die angelegten<br />
Aufträge hinzu.<br />
n Zeitpläne: Auf der Management-Oberfläche<br />
lege ich unter »Zeitplanung |<br />
Zeitpläne« zwei Pläne an: einen vom<br />
Backuptyp »Full« zur wöchentlichen<br />
Ausführung der Vollsicherung, beispielsweise<br />
für Sonntage um 15:00<br />
Uhr, den zweiten vom Typ »INC« zur<br />
inkrementellen Sicherung, beispielsweise<br />
von Montag bis Samstag um<br />
20:00 Uhr. Die Zeitpläne füge ich abschließend<br />
zu der vorhin angelegten<br />
Sicherungsgruppe hinzu.<br />
SEP Sesam kann den Admin täglich per<br />
Mail über den Status der nicht erfolgreichen<br />
Sicherungen benachrichtigen. Ich<br />
gebe dazu unter dem Menüpunkt »Konfiguration<br />
| E‐Mail Einstellungen« passende<br />
Parameter an und aktiviere »sm_alarm«<br />
und »sm_disaster« über »Konfiguration |<br />
Schnittstellen«. (mfe)<br />
n<br />
Infos<br />
[1] Amanda: [http://www. amanda. org]<br />
[2] Virtual Tapes in Amanda:<br />
[http:// wiki. zmanda. com/ index. php/<br />
How_To:Set_Up_Virtual_Tapes]<br />
[3] Vollbackups in Amanda:<br />
[http:// wiki. zmanda. com/ index. php/<br />
FAQ:How_do_I_make_Amanda_do_full<br />
_backups_on_weekends_and_incrementals<br />
_during_the_week%3F]<br />
[4] Oops!: [http:// www. oops. co. at/ de]<br />
[5] Arkeia: [http:// www. arkeia. com/ de/<br />
products/ arkeia‐network‐backup]<br />
[6] Bacula: [http:// www. bacula. org/ de/]<br />
[7] Philipp Storz, „Bacula – Backup-Strategien<br />
und ‐Lösungen im Netzwerk“:<br />
Open Source Press, 2012, [https:// www.<br />
opensourcepress. de/ index. php? 26&<br />
backPID=178& tt_products=328]<br />
[8] BRU:<br />
[http:// www. tolisgroup. com/ products/]<br />
[9] SEP Sesam: [http:// www. sep. de/ de/<br />
produkte/ sep‐sesam‐4/]
„Die Lösung für<br />
Individualisten“<br />
Thomas Krenn ist offizieller vCloud Service Provider<br />
Peter Ackermann,<br />
Technical Director Hosting<br />
THOMAS KRENN CLOUD<br />
Vorteile auf einen Blick<br />
vCloud Service Provider - profitieren auch Sie<br />
von unserem Know-How im Bereich VMware<br />
VMware vCloud Powered - nahtlose Migration<br />
Ihrer vorhandenen VMWare-VMs<br />
Transparent - stundengenaue Abrechnung nach<br />
wirklich genutzten Ressourcen<br />
Hochskalierbar - Sie bestimmen, was Sie benötigen<br />
Struktur innerhalb kürzester Zeit erweiterbar<br />
Garantierte Kapazitäten - Verfügbarkeit von Ressourcen,<br />
keine Überbuchung der IT-Infrastruktur<br />
Thomas Krenn steht für Server made in Germany. Wir<br />
assemblieren und liefern europaweit innerhalb von 24<br />
Stunden. Unter www.thomas-krenn.com können Sie<br />
Ihre Server individuell konfi gurieren.<br />
Unsere Experten sind rund um die Uhr für Sie unter<br />
+49 (0) 8551 9150-0 erreichbar<br />
(CH: +41 (0) 848207970, AT +43 (0) 7282 20797-3600)<br />
Angebot sichern nur unter: www.thomas-krenn.com/cloud_provider<br />
Made in Germany!<br />
Verkauf erfolgt ausschließlich an Gewerbetreibende, Firmen, Freiberufler (Ärzte, Rechtsanwälte etc.), staatliche Institutionen und Behörden. Druckfehler, Irrtümer und Änderungen in Preis und Ausstattung vorbehalten.<br />
Unsere Versandkosten richten sich nach Gewicht und Versandart. Genaue Preisangaben finden Sie unter: www.thomas-krenn.com/versandkosten. Thomas-Krenn.AG, Speltenbach-Steinäcker 1, D-94078 Freyung
Titelthema<br />
www.linux-magazin.de Pacemaker 05/2012<br />
40<br />
Automatisiertes Monitoring mit Pacemaker Resource Agents<br />
Dabeibleiben ist alles<br />
Macht ein Clusterknoten schlapp, startet die HA-Software Pacemaker bekanntermaßen die dabei mitgerissenen<br />
Dienste auf einem anderen Knoten neu. Wenig bekannt ist des Schrittmachers Dienste-Monitoring, mit<br />
dessen Hilfe der Clustermanager hängenden Diensten einzeln auf die Beine hilft. Martin Loschwitz<br />
© maridav, 123Rf<br />
auf, dass der Webserver zu starten ist,<br />
dann wird Pacemaker Apache nicht direkt<br />
aufrufen. Diese Aufgabe erledigen<br />
die so genannten Resource Agents: Sie<br />
bilden die Schnittstelle zwischen Dienst<br />
und Cluster-Schrittmacher. Ein typischer<br />
Agent ist ein Shellskript, spezifisch für<br />
ein bestimmtes Programm.<br />
Ressourcen-Agenten kennen drei Argumente,<br />
die ihnen der Clustermanager<br />
beim Aufruf mit auf den Weg geben kann:<br />
»start«, »stop« und »monitor«. Pacemaker<br />
ruft die Agents mit diesen Parametern<br />
auf und erwartet, dass sie entsprechend<br />
funktionieren: »start« sollte einen Dienst<br />
starten, »stop« sollte ihn beenden und<br />
»monitor« informiert Pacemaker darüber,<br />
ob ein Dienst noch läuft oder nicht.<br />
Pacemaker hat sich zur unangefochtenen<br />
Standard-HA-Lösung auf <strong>Linux</strong>-Systemen<br />
entwickelt. Fällt einer von zwei Knoten<br />
eines Clusters aus, startet Pacemaker die<br />
ausgefallenen Dienste auf dem anderen<br />
Clusterknoten neu. Wer Pacemaker allerdings<br />
nur zu solchen Failover-Zwecken<br />
einsetzt, bringt sich um den Nutzen der<br />
besten Features. Dass der Schrittmacher<br />
auch abgestürzten Applikationen automatisch<br />
wieder auf die Beine helfen<br />
kann, ist vielen Admins erstaunlicherweise<br />
bis heute unbekannt.<br />
Mehr als nur Umschalten<br />
Es gibt weitaus mehr Gründe dafür, dass<br />
ein Dienst nicht mehr läuft, als nur den<br />
Ausfall des Servers, der den Dienst bis<br />
dahin beheimatet hatte. Applikationen<br />
stürzen ab oder werden vom Kernel mangels<br />
Arbeitsspeicher (OOM, Out of Memory)<br />
in die Knie gezwungen.<br />
Admins rücken solchen Problemen üblicherweise<br />
mit umfangreichem Monitoring<br />
zu Leibe. Ein nicht mehr laufender Service<br />
produziert eine Warnung in Nagios,<br />
Icinga & Co. und informiert so den Systembetreuer.<br />
Bis dieser allerdings in der<br />
Lage ist, das Problem zu lösen, vergeht<br />
in der Regel eine gewisse Zeit. Währenddessen<br />
ist der abgestürzte Dienst nicht<br />
verfügbar – obwohl die restlichen Dienste<br />
des Clusters wie gewohnt weiterlaufen,<br />
bleibt der Failover also aus.<br />
Das war der Grund für die Entwickler,<br />
dem Pacemaker mehr als das bloße Umschalten<br />
zwischen zwei Clusterknoten<br />
beizubringen. Der Schrittmacher kennt<br />
einfaches Monitoring, das in vielen Fällen<br />
ausreicht, um ein Problem in den<br />
Griff zu kriegen, etwa indem es ein abgestürztes<br />
Programm neu startet.<br />
Dabei kommuniziert Pacemaker nicht direkt<br />
mit den Diensten. Trägt der Admin<br />
beispielsweise seinem Clustermanager<br />
Agenten-Klassen<br />
Die Resource Agents für Pacemaker sind<br />
in drei Kategorien eingeteilt: LSB-Agenten,<br />
also normale Init-Skripte nach LSB-<br />
Standard. Daneben gibt es die Heartbeat-<br />
Agenten, die aber als veraltet gelten. Die<br />
Kategorie der OCF-Agenten bildet die<br />
Königsklasse: Diese Agents sind für den<br />
Einsatz mit Pacemaker konzipiert und erlauben<br />
es in vielen Fällen, Parameter für<br />
die Konfiguration eines Dienstes direkt<br />
aus der Clusterkonfiguration anzugeben.<br />
Allen genannten Klassen ist gemein, dass<br />
sie die drei Optionen zum Starten, Beenden<br />
und Überwachen von Diensten<br />
kennen müssen.<br />
Bevor der Admin die eigene Pacemaker-<br />
Installation auf Monitoring trimmt, sollte<br />
er testen, ob jeder Resource Agent diese<br />
Parameter tatsächlich beherrscht. Denn<br />
während bei OCF-Agenten diese Parameter<br />
praktisch immer funktionieren, sieht<br />
es bei den Init-Skripten bisweilen düster
aus: Insbesondere<br />
auf Debian-Systemen<br />
finden sich diverse,<br />
die den »monitor«-<br />
Parameter nicht verstehen<br />
und daher<br />
eine Fehlermeldung<br />
ausgeben.<br />
Falsch<br />
verstanden<br />
Für den Clustermanager<br />
ist das fatal,<br />
denn aufgrund der<br />
Fehlermeldung vermutet<br />
er, der Dienst<br />
laufe nicht. Versucht<br />
er im Anschluss<br />
den Dienst zu starten,<br />
führt das meist<br />
zu einem Chaos im<br />
Cluster. Der Aufruf<br />
eines Init-Skripts mit<br />
dem »monitor«-Kommando<br />
bringt dem Admin bereits vorher<br />
beruhigende Gewissheit. Gibt der Agent<br />
einen plausiblen Wert zurück, ist das Init-<br />
Skript fit für den Monitoring-Einsatz in<br />
Pacemaker.<br />
Wenn klar ist, dass alle Agents in einem<br />
Pacemaker-Setup den Parameter »monitor«<br />
kennen, spricht nichts dagegen, die<br />
Funktion tatsächlich auch in der Pacemaker-Konfiguration<br />
zu verwenden. Als bevorzugtes<br />
Tool, um das Clustersetup anzupassen,<br />
gilt die CRM-Shell (Abbildung<br />
1), sie lässt sich auf Pacemaker-Systemen<br />
durch den Aufruf von »crm configure« in<br />
der Bash starten.<br />
Der Befehl führt unmittelbar in das<br />
»configure«-Menü. Es schadet nicht, zuvor<br />
sicherzustellen, dass in der Umgebungsvariablen<br />
»$EDITOR« tatsächlich<br />
der Kommandozeilen-Editor der eigenen<br />
Präferenz steht. Denn der nächste Befehl<br />
auf der CRM – »edit« – startet diesen<br />
Editor und lädt die existierende Clusterkonfiguration.<br />
Primitive-Monitoring<br />
Abbildung 1: »crm ra info« gibt die Informationen zu einem Resource Agent<br />
aus. Besondere Monitoring-Fähigkeiten sind üblicherweise hier vermerkt.<br />
Das Monitor-Feature bezieht sich jeweils<br />
auf einfache Ressourcen, in Pacemaker-<br />
Sprech Primitives genannt. Im Falle einer<br />
vorhandenen Konfiguration finden sich in<br />
der CRM-Konfiguration vermutlich mehrere<br />
Ressourcen dieses Typs. Sie unterstützen<br />
jeweils zwei Arten von Konfigurationseinstellungen:<br />
Parameter, die über<br />
den Resource Agent unmittelbar auf die<br />
Eigenschaften des jeweiligen Programms<br />
Einfluss nehmen, und Operationen. Erstere<br />
werden in der Konfiguration einer<br />
»primitive«-Ressource mit dem Schlüsselwort<br />
»params« eingeleitet.<br />
Zusätzlich gibt es das Keyword »op«, das<br />
die so genannten Operations einleitet.<br />
Über diese legt der Administrator fest,<br />
wie Pacemaker mit bestimmten Ressourcen<br />
umgehen soll. Drei Operationen<br />
gehören zum Standardrepertoire: Über<br />
»start« und »stop« stellt der Clusteradmin<br />
Toleranzwerte für die Timeouts<br />
beim Starten und beim Stoppen ein. Die<br />
dritte ist die »monitor«-Operation (Abbildung<br />
2). Sie bringt Pacemaker dazu,<br />
den Resource Agent für diese Ressource<br />
regelmäßig mit dem »monitor«-Befehl<br />
aufzurufen und aus den Resultaten Rückschlüsse<br />
zu ziehen.<br />
Um das Monitoring für eine »primitive«-<br />
Ressource zu aktivieren, ist die folgende<br />
Zeile in deren Konfiguration notwendig:<br />
op monitor interval="60s" timeout="30s"<br />
Diese Operation veranlasst Pacemaker<br />
jede Minute zu testen, ob der Dienst noch<br />
läuft. Bekommt der Clustermanager nach<br />
4 TAGE | NÜRNBERG | DÜSSELDORF<br />
5 TAGE | NÜRNBERG | DÜSSELDORF<br />
2 TAGE | NÜRNBERG<br />
3 TAGE | NÜRNBERG | ZÜRICH
Titelthema<br />
www.linux-magazin.de Pacemaker 05/2012<br />
42<br />
Abbildung 2: Das Monitoring auf Ressourcen-Ebene aktivieren Admins, indem<br />
sie die »monitor«-Operation für die »primitive« hinzufügen.<br />
30 Sekunden keinen Rückgabewert vom<br />
aufgerufenen Programm, gilt die Operation<br />
als gescheitert und Pacemaker initiiert<br />
einen Neustart der Ressource. Das<br />
Gleiche tut er, sollte der Test einer Ressource<br />
ergeben, dass diese nicht läuft.<br />
Außerdem setzt der Schrittmacher in diesem<br />
Falle den »failcount« der Ressource<br />
um 1 hoch, loggt also mit, dass die Ressource<br />
abgestürzt ist.<br />
Sonderfall DRBD<br />
Häufig kombinieren Admins Pacemaker<br />
mit DRBD. Die Lösung für replizierten<br />
Storage nimmt in Pacemaker eine Sonderrolle<br />
ein: Sie nutzt die Master‐Slave‐Ressourcen,<br />
sodass sie auf beiden Knoten<br />
eines Clusters DRBD verwalten kann,<br />
egal ob sich eine DRBD-Ressource gerade<br />
im »Primary«- oder »Secondary«-Modus<br />
befindet.<br />
Das Master-Slave-Setup findet sich in der<br />
Pacemaker-Konfiguration in Gestalt einer<br />
»ms«-Regel, die eine Referenz auf die<br />
eigentliche DRBD-»primitive«-Ressource<br />
hält. Um zu funktionierenden Monitoring-<br />
Operationen zu gelangen, gilt es, einen<br />
Sonderfall zu beachten: Die »monitor«-<br />
Operation für eine »primitive«-Ressource,<br />
auf die eine »ms«-Regel verweist, sieht<br />
folgendermaßen aus:<br />
op monitor interval="30s" role="Slave"<br />
op monitor interval="25s" role="Master"<br />
Für die Rollen »Master« und »Slave«<br />
sind also jeweils eigene Operationen für<br />
»monitor« notwendig. Sinnvoll ist es, die<br />
»Master«-Rolle etwas häufiger zu prüfen<br />
als die »Slave«-Rolle. Keinesfalls dürfen<br />
die beiden Intervalle<br />
identisch sein, denn<br />
dann würde die<br />
»monitor«-Operation<br />
nicht funktionieren.<br />
Thresholds<br />
Pacemaker kennt ein<br />
Konzept namens Migration<br />
Threshold.<br />
Gemeint ist der Vorgang,<br />
eine Ressource<br />
auf einem Clusterknoten<br />
nach einem<br />
Absturz nicht mehr<br />
zu starten, wenn ihr<br />
dort bereits eine bestimmte Anzahl von<br />
Abstürzen nachgewiesen ist. In einem<br />
solchen Falle würde der Clustermanager<br />
dann sein Glück auf einem anderen Clusterknoten<br />
versuchen.<br />
Das Feature ist praktisch für verschiedene<br />
Dienste, zum Beispiel Datenbanken:<br />
Stürzt MySQL auf einem Server mehrere<br />
Male ab, weil der RAM der Maschine kaputt<br />
ist, bringt es nichts, die Datenbank<br />
dort wieder und wieder zu starten. Über<br />
den »migration‐threshold«-Parameter<br />
lässt sich der Vorgang abkürzen. Doch<br />
bevor der Threshold-Parameter selbst<br />
ins Spiel kommt, ist auf der CRM-Shell<br />
in dem »configure«-<br />
Abschnitt noch der<br />
Block mit »property«<br />
um die folgende Zeile<br />
zu erweitern:<br />
cluster‐recheck‐U<br />
interval="5m"<br />
Dies sorgt dafür, dass<br />
der Clustermanager<br />
nicht nur bei irgendwelchen<br />
Ereignissen<br />
eingreift, sondern<br />
dass er regelmäßig<br />
alle 5 Minuten<br />
den Zustand des<br />
gesamten Clusters<br />
überprüft – Monitor-<br />
Anweisungen ausgenommen,<br />
die ihre<br />
eigenen Intervalle<br />
haben.<br />
Um für eine Ressource<br />
dann den<br />
Threshold zu aktivieren,<br />
braucht die Ressource noch den<br />
folgenden Eintrag:<br />
meta migration‐threshold=2<br />
failure‐timeout=60s<br />
In diesem Falle würde Pacemaker den<br />
Dienst nach zwei Abstürzen auf einen<br />
anderen Clusterknoten verschieben und<br />
es nach 60 Sekunden dem Dienst wieder<br />
erlauben, auf dem ursprünglichen Clusterknoten<br />
zu laufen. Statt »60s« ist hier<br />
auch die Angabe von Minuten möglich.<br />
»1440m« würde dafür sorgen, dass die<br />
Ressource einen ganzen Tag nicht auf<br />
dem kaputten Knoten laufen darf, es sei<br />
denn, der Admin greift händisch ein.<br />
Licence to kill<br />
Die meisten Resource Agents überprüfen<br />
beim Aufruf mit »monitor« nur oberflächlich,<br />
ob ein Programm läuft. Meist<br />
schauen sie nach, ob ein entsprechender<br />
Prozess in der Prozesstabelle zu finden ist<br />
und ob dieser auf »kill ‐0« noch reagiert.<br />
Nicht selten erfüllen Applikationen zwar<br />
diese beiden Bedingungen, funktionieren<br />
aber trotzdem nicht mehr richtig.<br />
Beispiele sind virtuelle Maschinen, deren<br />
»kvm«-Prozess zwar noch läuft, die aber<br />
auf »ping« nicht mehr antworten, sowie<br />
Asterisk, das nicht mehr reagiert, obwohl<br />
Abbildung 3: Soll der Resource Agent mehr können, als das Vorhandensein<br />
eines Prozesses zu testen, müssen RA-Autoren dies in die Skripte einbauen.
der Prozess noch läuft. Die Autoren von<br />
Resource Agents müssen sich um diese<br />
Probleme selbst kümmern. Für die beiden<br />
angegebenen Beispiele ist das passiert:<br />
Sowohl »ocf:heartbeat:VirtualDomain«<br />
als auch »ocf:heartbeat:asterisk« bieten<br />
erweiterte Testmechanismen, um Fehlurteilen<br />
vorzubeugen.<br />
Monitor-Skripte<br />
Der Virtual-Domain-Agent erledigt das<br />
über den Parameter »monitor_scripts«<br />
in der CRM-Konfiguration. Hier gibt<br />
der Admin eine Liste von Skripten an,<br />
die Pacemaker während der »monitor«-<br />
Operation aufruft, jeweils getrennt durch<br />
ein Komma. Falls der Clusteradmin hier<br />
externe Skripte angibt, bezieht der Resource<br />
Agent deren Rückgabewerte in das<br />
Ergebnis von »monitor« ein.<br />
Zusatzskripte (Abbildung 3) können beliebige<br />
Funktionen testen. Empfehlenswert<br />
ist etwa ein Skript, das »ping« mit<br />
der IP der virtuellen Maschine aufruft<br />
und 0 zurückliefert, falls diese auf Pings<br />
antwortet, oder 1, falls nicht.<br />
Der spezialisierte Asterisk-Agent »ocf:<br />
heartbeat:asterisk« kennt eine sehr ähnliche<br />
Funktion. Ist auf dem Zielsystem<br />
das Programm »sipsak« installiert und<br />
definiert der Admin in der CRM-Konfiguration<br />
den Parameter<br />
monitor_sipuri="sip:IP."<br />
dann schickt der Agent bei jedem Monitoring-Aufruf<br />
einen SIP-Request an<br />
den Asterisk-Server. Kommt auf den Request<br />
eine brauchbare Antwort, gilt die<br />
Operation als erfolgreich abgeschlossen.<br />
Andernfalls markiert Pacemaker den Vorgang<br />
als »failed« und spielt das übliche<br />
Programm ab.<br />
Übrigens: Hat der Admin nach dem<br />
Fehlschlagen einer Monitor-Operation<br />
die Ursache für das Problem beseitigt,<br />
hilft der Befehl »crm resource cleanup<br />
Name_der_Ressource« auf der Bash, um<br />
den »Failcount« der Ressource auf 0 zurückzusetzen.<br />
Das stellt die Ausgangssituation<br />
wieder her (Abbildung 4).<br />
Agenten erweitern<br />
Abbildung 4: Die Ressource »p_filesystem:1« ist zwischenzeitlich<br />
abgestürzt, aber Pacemaker hat das<br />
automatisch korrigiert. »crm_mon ‐1 ‐rf« zeigt, ob<br />
in der Vergangenheit Ressourcen abgestürzt sind.<br />
Wenn ein Resource Agent in der eigenen<br />
Clusterkonfiguration ab Werk nicht mit<br />
aufgebohrten Monitor-Features ausgestattet<br />
ist, dann ist das auch kein Beinbruch.<br />
In der Regel lassen sich die Agenten nämlich<br />
sehr leicht um solche Features erweitern.<br />
LSB-Agenten liegen üblicherweise<br />
im Verzeichnis »/etd/init.d«, Heartbeat-<br />
Agenten in »/etc/ha.d/resources.d« und<br />
OCF-Agenten finden sich in »/usr/lib/<br />
ocf/resource.d«.<br />
Um einen Agent zu erweitern, ist nur die<br />
richtige Datei zu finden und anzupassen;<br />
Shellprogrammierung dürfte für die meisten<br />
Admins kein unüberwindbares Hindernis<br />
sein. Sie müssen nur die Funktion<br />
finden, die der Agent beim Aufruf mit<br />
»monitor« bemüht – dort ist der richtige<br />
Platz für den zusätzlichen Code.<br />
Lesen bildet<br />
Wer sich detailliert mit dem Bearbeiten<br />
von Resource Agents befassen will, sollte<br />
sich zwei Dokumente zu Gemüte führen:<br />
Einerseits die Anleitung für die Entwickler<br />
von OCF-Agents [1] und andererseits<br />
einen Artikel im Admin-<strong>Magazin</strong>, der das<br />
Erstellen eines OCF-Agenten von Anfang<br />
bis Ende beschreibt [2]. (mfe) n<br />
Infos<br />
[1] OCF Resource Agents Developer’s Guide:<br />
[http:// www. linux‐ha. org/ doc/ dev‐guides/<br />
ra‐dev‐guide. html]<br />
[2] Martin Gerhard Loschwitz, „Agentenausbildung“:<br />
Admin-<strong>Magazin</strong> 01/2012,<br />
[http:// www. admin‐magazin. de/ Das‐Heft/<br />
2012/ 01/ HA‐Serie‐Teil‐8‐OCF‐Agenten<br />
‐selbst ‐programmieren]<br />
Kennen Sie<br />
den schon?<br />
Oliver Sennhauser beschäftigt<br />
sich seit 1994 mit<br />
Datenbanken, 2000 wurde<br />
er Oracle-Berater und später<br />
Senior-Berater bei MySQL.<br />
Heute arbeitet er für eine unabhängige<br />
MySQL-Beratungsfirma. Er mag<br />
eigentlich alles von SQL-Tuning über DB-<br />
Parametrisierung hin zu Betriebsproblemen<br />
und hochverfügbaren MySQL-Setups.<br />
Sein nächster Kurs:<br />
MySQL für Profis<br />
18.06.<br />
WIR KÖNNEN NOCH MEHR...<br />
Sicherheit für <strong>Linux</strong>-Server<br />
Nagios/Icinga Networkmonitoring<br />
High-End-Mailserver: Postfix am Limit<br />
Disaster Recovery mit ReaR<br />
Zabbix<br />
11.06.<br />
Zend Framework<br />
18.06.<br />
07.05.<br />
22.05.<br />
07.05.<br />
http://www.heinlein-support.de/kurse<br />
21.05.
Titelthema<br />
www.linux-magazin.de Eigene Cloud 05/2012<br />
44<br />
Cloudlösungen im Eigenbau mit Sparkleshare und Owncloud<br />
Meine Wölkchen<br />
Cloudstorage verspricht komfortables, automatisches Synchronisieren von Daten in einem Mikrokosmos von<br />
mehreren Geräten. Wer seine Daten jedoch nicht in die Hände Dritter geben will, dem bieten Open-Source-<br />
Alternativen im Eigenbau einen Ausweg. Martin Loschwitz<br />
© Alfi007, sxc.hu<br />
Die überarbeitete Version eines Vertrags,<br />
ein paar CAD-Dateien, ein PDF-<br />
Dokument mit Entwürfen – oft gelangen<br />
diese Daten per Mail zu den Mitgliedern<br />
eines Teams. Dabei stehen Cloud-basierte<br />
Synchronisationslösungen bereit, die den<br />
Datei-Austausch automatisieren. Mit vielen<br />
Vorteilen, aber auch Risiken.<br />
Für kleine Unternehmen scheint es auf<br />
den ersten Blick zu aufwändig, eine<br />
Cloud zum Synchronisieren von Daten<br />
selbst aufzusetzen. Es gibt Dienstleister,<br />
die mit komfortablen und günstigen<br />
Angeboten locken. Wer aber den Datenschutz<br />
bedenkt, besonders bei ausländischen<br />
Anbietern, revidiert vielleicht seine<br />
Meinung, zumal die im Artikel vorgestellten<br />
Lösungen das Aufsetzen und Administrieren<br />
einfach machen.<br />
Bei Dienstleistern stellt sich die Frage:<br />
Haben Behörden anderer Staaten Zugriff<br />
auf die Daten? Meist hängt das davon ab,<br />
an welchem Ort die<br />
Server des Anbieters<br />
stehen. Im Normalfall<br />
unterliegen die<br />
Betreiber eines Rechenzentrums<br />
den<br />
jeweiligen Landesgesetzen.<br />
Der Standort gibt<br />
aber nur bedingt Sicherheit:<br />
Microsoft<br />
gab Mitte 2011 zu<br />
Protokoll, dass das<br />
Unternehmen im<br />
Rahmen des „Patriot<br />
Act“ Daten an<br />
Behörden der USA<br />
herausgeben müsse,<br />
auch wenn diese auf<br />
Servern in der EU lagern<br />
[1].<br />
Wer sich auf die Vertraulichkeit seiner<br />
Daten verlassen muss, kann die Zugriffsmöglichkeiten<br />
des Patriot Act kaum akzeptieren.<br />
Die Situation verschärft sich<br />
noch, weil im Geschäftsleben ein so<br />
genanntes Non Disclosure Agreement<br />
(NDA) die Grundlage der Kommunikation<br />
bildet, das die Weitergabe von Informationen<br />
verbietet.<br />
In der Cloud-Falle<br />
Viele geschäftliche Verträge verbieten<br />
es den Parteien, Informationen über<br />
gemeinsame Arbeiten oder Kunden an<br />
Dritte zu geben. Dienste wie Evernote<br />
[2], Wunderlist [3] und Dropbox [4]<br />
erweisen sich dann als Falle: Deren Betreiber<br />
sind „Dritte“ – geheime Daten<br />
haben dort nichts zu suchen.<br />
Besonders schmerzt die Tatsache, dass<br />
NDAs den Einsatz von Dropbox de facto<br />
unmöglich machen. Der Dienst böte sich<br />
für kleinere Unternehmen an: In der<br />
Dropbox-Cloud steht Speicherplatz bereit,<br />
der komfortabel von jedem Punkt erreichbar<br />
ist. Clients für <strong>Linux</strong>, Windows<br />
und sogar für iPhone und Android tun<br />
ein Übriges, um die Lösung als Onlinefestplatte<br />
in Stellung zu bringen.<br />
Wer mit diesen Funktionen liebäugelt,<br />
wählt einen EU-weit tätigen Anbieter oder<br />
legt einfach selbst Hand an. Mittlerweile<br />
gibt es mehrere Ansätze, die auf einfache<br />
und elegante Weise einen Dropbox-ähnlichen<br />
Dienst mit der eigenen Infrastruktur<br />
ermöglichen. So gelangen die Daten nicht<br />
in die Hände anderer. Dieser Artikel stellt<br />
zwei Lösungsansätze vor: Sparkleshare<br />
[5] und Owncloud [6].<br />
E Sparkleshare<br />
Die Macher von Sparkleshare bezeichnen<br />
ihre Software als „Collaboration and<br />
Sharing Tool“. Clients stehen für mehrere<br />
Plattformen bereit: Neben einer <strong>Linux</strong>-<br />
Version existieren Versionen für Mac OS<br />
X und Android. An einer Windows-Variante<br />
arbeiten die Entwickler, für I-OS gibt<br />
es ebenfalls Pläne.<br />
Das Programm ist vor allem ein grafisches<br />
Frontend für Git, das auf Funktionen<br />
zum Synchronisieren besonders<br />
vorbereitet ist. Sparkleshare pflegt die<br />
ihm vorgesetzten Daten folglich in einem<br />
Git-Repository. Änderungen sind leicht<br />
nachvollziehbar. Entfernt ein Nutzer eine<br />
Datei aus dem Sparkleshare-Ordner, fliegt<br />
sie auch aus dem Git-Repository.<br />
Nach dem ersten Start präsentiert Sparkle<br />
share einen Dialog, der etwas seltsam<br />
anmutet. Das Programm möchte nämlich<br />
wissen, auf welchem Rechner es das<br />
Repository anlegen soll (Abbildung 1).
sollte den Namen<br />
der Schlüsseldatei<br />
ändern, etwa durch<br />
ein angehängtes »_<br />
sparkleshare«. Das<br />
sorgt dafür, dass ein<br />
Login mit diesem<br />
Key auf dem Zielserver<br />
funktioniert:<br />
Managed<br />
Server<br />
ssh‐copy‐id ‐i $HOME/U<br />
.ssh/Öffentlicher_U<br />
Schlüssel User@Host<br />
Abbildung 1: Nach der Installation steht bei Sparkleshare die Konfiguration<br />
eines Git-Repository auf dem Plan.<br />
Neben dem eigenen Server stehen Alternativen<br />
zur Auswahl: Github [7], Gitorious<br />
[8] und der Git-Server des Gnome-<br />
Projekts [9]. Damit das Tool als nahtloser<br />
Ersatz für Dropbox fungiert, ist der eigene<br />
Server die Option der Wahl.<br />
Git aufsetzen<br />
Das impliziert, dass beim Zielhost Git<br />
auf dem Server laufen muss. Ein eigener<br />
Daemon für Sparkleshare ist nicht erforderlich.<br />
Als Server sollte eine Maschine<br />
fungieren, die per Secure Shell (SSH) erreichbar<br />
ist, denn die Kommunikation mit<br />
seinem Host wickelt das Programm über<br />
diesen verschlüsselten Kanal ab. Dabei<br />
sollte ein SSH-Schlüssel ohne Passwort<br />
zum Einsatz kommen. Das ermöglicht es<br />
dem Programm, sich im Hintergrund mit<br />
dem Server zu verbinden.<br />
Grundsätzlich läuft das Setup eines Git-<br />
Repository für Sparkleshare so ab: Im<br />
ersten Schritt legt der Admin mittels<br />
»ssh‐keygen« einen Schlüssel an. Fragt<br />
das Programm nach einem Passwort,<br />
sorgt [Eingabe] dafür, dass die Software<br />
den Schlüssel ohne Passwort generiert.<br />
Wer bereits einen SSH-Schlüssel hat,<br />
Jetzt fehlt noch das<br />
Repository für Git,<br />
das der Befehl »git<br />
init ‐‐bare Name.git« auf dem Host anlegt.<br />
Bei der Konfiguration des Sparkleshare-Frontends<br />
ist anschließend der<br />
vollständige Pfad zum Repository anzugeben.<br />
Im Feld »Adresse« ist neben<br />
der IP der Benutzername notwendig, das<br />
Feld »Pfad« bezeichnet den kompletten<br />
Pfad des Repository im Dateisystem (also<br />
beispielsweise »/home/martin/Sparkleshare.git«).<br />
Sobald diese Konfiguration festgelegt ist,<br />
testet Sparkleshare, ob das Repository<br />
wie gewünscht funktioniert. Danach geht<br />
es los: Beim Kopieren von Dateien ins<br />
Sparkleshare-Verzeichnis synchronisiert<br />
das Programm den Inhalt des Ordners<br />
im Hintergrund mit dem Server (Abbildung<br />
2). Ein Tray-Icon macht es einfacher,<br />
auf das Verzeichnis zuzugreifen.<br />
Einmal eingerichtet verrichtet das Werkzeug<br />
zuverlässig seinen Dienst. Dank<br />
SSH erfolgt die gesamte Kommunikation<br />
verschlüsselt.<br />
Besonderheiten<br />
Sparkleshare ermöglicht mehreren Leuten<br />
den Zugriff auf ein Repository. Solange<br />
einem Account, der auf einen Ordner<br />
Profitieren Sie von:<br />
ISO 9001 zertifiziertem<br />
Managed Hosting<br />
Hochsicherheits-Datacenter<br />
DE-CIX Direktanbindung<br />
IPv4/IPv6 Unterstützung<br />
24/7 Service und Support<br />
Professioneller Service<br />
Individuelle Managed Server mit<br />
persönlichem und kompetentem<br />
Support. Für mehr Performance,<br />
Sicherheit und Verfügbarkeit, jeden<br />
Tag, rund um die Uhr.<br />
Wir bieten Hostinglösungen vom<br />
Server bis zum Clustersystem inkl.<br />
Beratung, Planung und Service 24/7.<br />
hostserver.de/server<br />
Managed Hosting<br />
zertifiziert nach<br />
ISO 9001 : 2008<br />
Abbildung 2: Sparkleshare synchronisiert den Ordnerinhalt mit dem Server. Anschließend läuft der Zugriff<br />
auf die Dateien, die das Programm unter seinen Fittichen hat, über den Dateimanager.<br />
0 30 / 420 200 24 hostserver.de<br />
Berlin Marburg Frankfurt am Main
Titelthema<br />
www.linux-magazin.de Eigene Cloud 05/2012<br />
46<br />
zugreifen möchte, ein<br />
Log in per SSH möglich<br />
ist, klappt das. In diesem<br />
Fall sollte das Git-Repository<br />
nicht in dem persönlichen<br />
Ordner eines<br />
Nutzers liegen, sondern<br />
an einer Stelle im Dateisystem,<br />
auf die alle Zugriff<br />
haben. Dabei sind<br />
Rechte für den Ordner<br />
zu setzen.<br />
Als Sahnehäubchen erweist<br />
sich der Sparkleshare-Client<br />
für Android<br />
auf ihre Kosten.<br />
(Abbildung 3). Ähnlich wie der Dropbox-Client<br />
synchronisiert er den Inhalt<br />
des Ordners von Sparkleshare im Hintergrund<br />
und erlaubt Dateien zu lesen und<br />
zu schreiben, die von anderen Systemen<br />
dorthin gelangen.<br />
E Owncloud<br />
Abbildung 3: Außer für<br />
<strong>Linux</strong> steht ein Client für<br />
Android bereit, auch Mac-<br />
OS-X-Anwender kommen<br />
Wer Git nicht einsetzen will, braucht deshalb<br />
nicht auf einen Dropbox-Ersatz zu<br />
verzichten. Der Webdav-Standard ist etabliert<br />
und beschreibt den Datenaustausch<br />
über das HTTP-Protokoll. Diesen Ansatz<br />
macht sich Owncloud zunutze und zimmert<br />
rund um die LAMP-Plattform ein<br />
Frontend, das den Datei-Upload ermöglicht<br />
(Abbildung 4).<br />
Tatsächlich verbirgt sich dahinter wesentlich<br />
mehr als ein Dienst, der Dateien<br />
zwischen zwei Hosts synchron hält. Neben<br />
Dateien verwaltet das Programm<br />
bei Bedarf auch Kontakte und Kalendereinträge.<br />
Die aktuelle Version 3 bietet<br />
außerdem eine Plugin-Schnittstelle, die<br />
Zusatzfunktionen einbindet. Der Funktionsumfang<br />
ist also deutlich größer als<br />
der von Sparkleshare, aber das Setup des<br />
Dienstes verlangt mehr Handarbeit.<br />
ter. Die aktuelle Version steht auf<br />
der Website zum Download bereit<br />
[10]. Ist die geladene ».zip«-<br />
Datei entpackt, sind die Berechtigungen<br />
des Verzeichnisses so<br />
anzupassen, dass Apache auf<br />
den Ordner zugreifen darf. Auf<br />
Debian- und Ubuntu-Systemen<br />
muss dazu der Ordner dem Benutzer<br />
»www‐data« gehören, der<br />
Schreibrechte per »chmod ‐R«<br />
bekommen sollte.<br />
Anschließend meldet sich<br />
beim Öffnen des Ordners im<br />
Webbrowser der Setup-Wizard,<br />
der die weitere Installation und Konfiguration<br />
abwickelt. Im Rahmen dieses Vorgangs<br />
bekommt die MySQL-Datenbank<br />
die Erstausstattung an Daten. Hat der<br />
Wizard seine Arbeit erfolgreich beendet,<br />
steht die Software bereit (Abbildung 5).<br />
Übrigens: Wer SSL-Verschlüsselung benutzen<br />
möchte, aber auf seinem Webserver<br />
keine offiziellen SSL-Zertifikate hat,<br />
generiert diese über den Wizard während<br />
des Setup-Vorgangs. Danach klappt der<br />
Zugriff via HTTPS.<br />
Benutzer verwalten<br />
Owncloud bringt in der Standardkonfiguration<br />
ein eigenes Benutzermanagement<br />
mit, das nicht an das systemweite<br />
Authentifizieren mit PAM gekoppelt ist.<br />
Daher gilt es, zusätzlich Benutzer im<br />
Administrationsinterface anzulegen. Für<br />
Owncloud 3 gibt es allerdings eine App,<br />
die das Tool dazu bringt, Systembenutzer<br />
aus PAM zu integrieren [11]. Auf Systemen,<br />
für die nur wenige User eingetragen<br />
sind, ist der Mehraufwand des erneuten<br />
Anlegens einzelner Benutzer leicht zu<br />
verkraften. Wenn allerdings mehr Benutzer<br />
mitmachen, spart die PAM-Anbindung<br />
viel Zeit.<br />
Webdav im Alltag<br />
Mit dem Webdav-Protokoll ist Own cloud<br />
ab Werk mit einem dicken Paket an<br />
Funktionen ausgestattet. So beherrschen<br />
die gängigen Dateimanager der großen<br />
Desktops das Protokoll ohne zusätzliche<br />
Klimmzüge. Dadurch erscheinen die<br />
Webdav-Laufwerke als Festplatte, auf die<br />
sich – wie auf jedes andere Blockdevice<br />
– zugreifen lässt. Windows beherrscht<br />
diese Funktion ebenfalls.<br />
Anders als Sparkleshare synchronisiert<br />
Owncloud nicht direkt nach dem Connect<br />
alle Daten vom Server auf die Clients. Das<br />
spart Bandbreite und Traffic, insbesondere<br />
unterwegs mit Schmalspurverbindung.<br />
Um eine Datei aus dem Speicher<br />
zu holen, ist diese per Webdav herunterzuladen.<br />
Das Hochladen der Dateien geschieht<br />
auf dem gleichen Weg. Owncloud<br />
kopiert nach Webdav-Standard ebenfalls<br />
Request-abhängig.<br />
Die Webdav-Lösung sorgt auch für Freude<br />
auf I-OS- und Android-Systemen, denn<br />
beide beherrschen Webdav, eine eigene<br />
Installation<br />
Der Einsatz der Software setzt ein System<br />
mit typischen LAMP-Komponenten voraus<br />
– <strong>Linux</strong>, Apache, MySQL und PHP.<br />
Außerdem sollte der Webserver das Webdav-Protokoll<br />
unterstützten. Bei Apache<br />
geht das über das »mod_webdav«, das in<br />
der Regel aber nicht zur Standardinstallation<br />
des Webservers gehört.<br />
Läuft der Webserver, geht es mit dem<br />
Download der eigentlichen Software wei-<br />
Abbildung 4: Owncloud bietet Zugriff auf Dateien über Webdav. Das bietet viele Funktionen, setzt als Grundlage<br />
aber einen kompletten LAMP-Stack voraus.
opensourcepress.de<br />
BÜCHER<br />
Abbildung 5: Die Owncloud bietet sogar einen in den Browser integrierten<br />
Musikplayer an. Dieser ermöglicht es dem Nutzer, Lieder direkt aus dem<br />
Onlinespeicher abzuspielen.<br />
Clientsoftware ist nicht notwendig. Wer<br />
eine vom Betriebssystem unabhängige<br />
Cloud braucht, fährt mit diesem Ansatz<br />
also besser als mit Sparkleshare.<br />
Fazit<br />
Beide vorgestellten Lösungen bieten<br />
die Möglichkeiten, Dateien über mehrere<br />
Computer hinweg automatisch zu<br />
synchronisieren. Sparkleshare und Owncloud<br />
nutzen allerdings hierfür völlig<br />
unterschiedliche Ansätze. Sparkleshare<br />
setzt im Hintergrund auf Git und hält den<br />
Datenbestand der Teilnehmer tatsächlich<br />
automatisch auf dem aktuellen Stand. Je<br />
nach verfügbarer Verbindung und eventuell<br />
vorhandenen Beschränkungen erwächst<br />
daraus aber eventuell ein Traffic-<br />
Problem. Auf der Habenseite verbucht<br />
dieser Ansatz Clients für <strong>Linux</strong>, für Mac<br />
OS X und für Android.<br />
Wer auch von Windows-Rechnern auf<br />
den Speicher zugreifen muss, schaut<br />
also zunächst in die Röhre. Wer aber auf<br />
einen <strong>Linux</strong>-Client setzt und ein Android-Telefon<br />
sein Eigen nennt, findet in<br />
Sparkleshare einen zuverlässigen Partner.<br />
Weil das Programm obendrein auf SSH-<br />
Verschlüsselung setzt, ist die gesamte<br />
Verbindung sicher.<br />
Owncloud erweist sich insgesamt als<br />
wesentlich umfangreicher. Das mag daran<br />
liegen, dass seine Entwickler speziell<br />
darauf zielen, Benutzern<br />
den Aufbau und<br />
Betrieb einer eigenen<br />
Cloud zu ermöglichen.<br />
Wer dagegen<br />
nur schnellen Filestorage<br />
für zwischendurch<br />
braucht, sieht<br />
seine Anforderungen<br />
mit Owncloud bereits<br />
übererfüllt.<br />
Für alle, die mit zusätzlichen<br />
Funktionen<br />
– Kalender, Abgleich<br />
der Kontakte – etwas<br />
anfangen können, ist<br />
Own cloud ein zuverlässiges<br />
Werkzeug. Das<br />
Interface auf Webdav-<br />
Basis ist geräteneutral<br />
und entschädigt für<br />
die etwas aufwändigere<br />
Installation.<br />
Einen eindeutigen Sieger zu nennen fällt<br />
bei dieser Lage schwer. Beide Lösungen<br />
erfüllen die Aufgabe und leisten sich<br />
keine bösen Patzer. Die eigene Infrastruktur<br />
und die speziellen Anforderungen<br />
bestimmen daher im Wesentlichen die<br />
Wahl. (agr/uba)<br />
n<br />
Infos<br />
[1] Microsoft gibt im Zweifelsfall Daten von<br />
EU-Servern weiter: [http://www.microsoft.<br />
com/online/legal/v2/?docid=23]<br />
[2] Evernote: [http:// www. evernote. com]<br />
[3] Wunderlist: [http:// www. wunderlist. com]<br />
[4] Dropbox: [https:// www. dropbox. com]<br />
[5] Sparkleshare: [http:// sparkleshare. org]<br />
[6] Owncloud: [http:// owncloud. org]<br />
[7] Github: [https:// github. com]<br />
[8] Gitorious: [http:// gitorious. org]<br />
[9] Git-Server des Gnome-Projekts: [http://<br />
git. gnome. org/ browse/]<br />
[10] Download Owncloud: [http:// owncloud. org/<br />
go/ owncloud‐download]<br />
[11] PAM-Anbindung für Owncloud: [http://<br />
apps. owncloud. com/ content/ show. php/<br />
Unix+user+backend? content=148406]<br />
Der Autor<br />
Martin Gerhard Loschwitz arbeitet als Principal<br />
Consultant bei Hastexo. Er beschäftigt sich dort<br />
intensiv mit Hochverfügbarkeitslösungen und<br />
pflegt in seiner Freizeit den Clusterstack für<br />
Debian GNU/<strong>Linux</strong>.<br />
Neuauflage<br />
ISBN 978-3-941841-27-7<br />
680 Seiten · brosch. · 25,- [D]<br />
Neu<br />
ISBN 978-3-941841-61-1<br />
312 Seiten · brosch. · 29,90 [D]<br />
opensourceschool.de<br />
TRAINING<br />
ISBN 978-3-941841-25-3<br />
ca. 750 Seiten · brosch. · 49,90 [D]<br />
ISBN 978-3-941841-45-1<br />
551 Seiten · brosch. · 44,90 [D]<br />
Programmierung<br />
02. – 04.05. iPhone und iPad Entwicklung<br />
02. – 04.05. Python<br />
07. – 09.05. C++ für Fortgeschrittene<br />
21. – 22.05. C++: STL und Boost<br />
Webentwicklung<br />
11. – 13.04. FLOW3 PHP-Framework<br />
11. – 13.04. ExtJS<br />
16. – 18.04. TYPO3 Extbase/Fluid Entwicklung<br />
07. – 09.05. HTML5<br />
10. – 11.05. CSS3<br />
14. – 15.05. TYPO3 für Administratoren<br />
21. – 23.05. TYPO3 für Webdesigner<br />
Administration<br />
07. – 11.05. Vorbereitung auf LPIC-2<br />
07. – 11.05. Vorbereitung auf LPI 301<br />
21. – 22.05. <strong>Linux</strong> auf dem IBM Mainframe<br />
21. – 25.05. Virtualisierung mit Xen<br />
weitere Themen und Termine:<br />
opensourceschool.de/kurstermine<br />
April<br />
2012<br />
Neu
Titelthema<br />
www.linux-magazin.de Tipps und Tricks 05/2012<br />
48<br />
Automatisierung: Nützliches aus der Trickkiste von <strong>Linux</strong>-<strong>Magazin</strong>-Autoren<br />
Turnschuh ade!<br />
Zwischen Turnschuhadministration und Automatisierung lauern Gräben und Klippen. <strong>Linux</strong>-<strong>Magazin</strong>-Autoren<br />
plaudern aus dem Nähkästchen und verraten ihre Kniffe. Udo Seidel, Konstantin Agouros, Thilo Uttendorfer, Charly Kühnast, Martin Loschwitz<br />
© Elena Alyukova-Sergeev, 123RF<br />
Test und Review, Gentoo anpassen,<br />
LDAP-Sicherung mit Versionierung, gezähmtes<br />
Monitoring und synchrone Konfiguration:<br />
<strong>Magazin</strong>-Autoren öffnen ihre<br />
Trickkisten.<br />
Reviews und Tests<br />
ivermeiden Pannen<br />
Bei all den Vorzügen der Automatisierung<br />
darf der Admin nicht vergessen,<br />
dass Methoden, die das Ausrollen eines<br />
Patch auf Hunderten von Rechnern erlauben,<br />
auch ein fehlerhaftes Skript verteilen<br />
können. Mit steigender Heterogenität<br />
des Rechnerverbunds wächst auch das<br />
Risiko für unerwartete Resultate nach einem<br />
administrativen Eingriff. Es gibt zum<br />
Glück Methoden, um das Risiko stark zu<br />
reduzieren: Peer Reviews und ausführliches<br />
Testen. Wichtig ist, dass Admins<br />
beide Checks als Einheit durchführen –<br />
keiner ist ersetzbar.<br />
Ich entwickelte vor Jahren ein Shellskript,<br />
welches das Rootpasswort auf Suse, Red<br />
Hat, HP-UX und Irix<br />
ändern sollte. Die<br />
Tests waren zwar erfolgreich,<br />
beim Rollout<br />
kam es aber zur Katastrophe.<br />
Ursache war<br />
ein Kommando, das<br />
syntaktisch richtig,<br />
aber semantisch falsch<br />
war.<br />
Das Resultat unter HP-<br />
UX: Bei 50 Prozent der<br />
Rechner war »/etc/<br />
passwd« 0 Byte groß.<br />
Eine sorgfältige Peer<br />
Review eines erfahrenen<br />
Shellskripters<br />
hätte dieses Disaster<br />
vielleicht vermieden.<br />
Bei großen Skripten kann dem Prüfer<br />
aber auch etwas entgehen. Nur ein echter<br />
Testlauf fördert den Bug zutage.<br />
Ich erinnere mich an den Fall, wie alle<br />
Rechner einer bestimmten <strong>Linux</strong>-Release<br />
den Hostname »uname« verpasst bekamen.<br />
Ein Testlauf fiel damals aus Zeitgründen<br />
weg – ein fataler Fehler, wie sich<br />
hinterher herausstellte. Fazit: Automatisierung<br />
ist toll! Einen Teil der gewonnenen<br />
Zeit muss der Admin aber in sorgfältige<br />
Tests und Peer Reviews stecken.<br />
Udo Seidel<br />
i Gentoo-Pakete<br />
erstellen und verteilen<br />
Als Admin vieler Gentoo-Rechner schätze<br />
ich die gängige Praxis, Binärpakete aus<br />
den Quellen zu bauen, da Gentoo beim<br />
Kompilieren CPU-Typen berücksichtigt.<br />
Auch kann ich mittels »USE«-Flags Pakete<br />
gemäß den Besonderheiten des Zielsystems<br />
zuschneiden, was letztlich über<br />
Configure-Optionen passiert.<br />
Die Binärversionen liegen normalerweise<br />
unter »/usr/portage/pack ages«. Andere<br />
Hosts dürfen sich effizienterweise dort<br />
per NFS, HTTP oder FTP bedienen, um<br />
zu fertigen Binärpaketen zu kommen.<br />
Dafür setzen sie die Umgebungsvariable<br />
»PORTAGE_BINHOST« auf eine oder<br />
mehrere passende URLs. Will ich auf<br />
solch einem partizipierenden System eine<br />
Software installieren, veranlasse ich mit<br />
der Option »‐g«, dass Gentoo die Pakete<br />
vom per URLs spezifizierten Rechner holt<br />
– allein diese Art des Deployments verdeutlicht<br />
Gentoos Unterschiede zu RPMund<br />
Deb-Distributionen.<br />
Richtig cool wird es, wenn der Verwalter<br />
mehrerer Gentoo-Rechner das Kompilieren<br />
mit »distcc« im Netz verteilt. Gentoo<br />
unterstützt dies transparent, es reicht, in<br />
die Datei »make.conf« unter der Variablen<br />
»FEATURES« die Option »distcc« zu setzen<br />
und bei »MAKEOPTS« mit »‐jX« den<br />
Parallelitätsgrad zu erhöhen, also mehr<br />
bereitstehende CPUs zu nutzen.<br />
Die Mühen der Praxis<br />
Soweit die Theorie. In der Praxis begegnet<br />
mir oft das Problem unterschiedlicher<br />
»USE«-Flags. Baut ein Server ohne<br />
grafische Umgebung die Pakete, passen<br />
diese nicht zu einer Desktopmaschine, da<br />
die Buildmaschine ohne die »USE«-Flags<br />
»X« sowie »gtk« oder »kde« gearbeitet<br />
hat. Das Problem trifft nicht nur Desktop-<br />
Anwendungen, sondern auch »gcc« oder<br />
»openssh«: Erstelle ich die Pakete mit<br />
dem »USE«-Flag und installiere sie auf<br />
einem Server, holt der sich das komplette<br />
X-Window und GTK+ herein.<br />
Das gleiche Problem ergibt sich bei unterschiedlichen<br />
CPUs. Gegen solche ungewollten<br />
Abhängigkeiten hilft die Option<br />
»‐‐binpkg‐respect‐use y«, die prüft, ob die
»USE«-Flags des Binärsystems<br />
zum lokalen passen.<br />
Ein Weg, mit Gentoo-Bordmitteln<br />
verteilt im Netz Binärpakete<br />
zu bauen (Abbildung<br />
1) und sie für mehrere Clients<br />
bereitzustellen, sieht so aus:<br />
Das »/usr/portage«-Verzeichnis<br />
wird auf einem Server<br />
synchron gehalten und per<br />
NFS read-only bereitgestellt.<br />
Pro CPU-Typ gibt es einen<br />
Buildhost, der Binärpakete<br />
erstellt und bereitstellt. Letzteres<br />
erfolgt in einem lokalen<br />
Verzeichnis, das nicht im<br />
read-only gemounteten »/usr/portage«<br />
liegt. Per Webserver stellt diese Maschine<br />
das Package-Verzeichnis bereit. Gibt es<br />
mehrere verschiedene »USE«-Flag-Typen<br />
(Desktops, Webserver), machen diese<br />
das Gleiche pro CPU-Typ.<br />
Alle weiteren Hosts eines CPU-Typs haben<br />
in der »PORTAGE_BINHOST«-Variablen<br />
die URL-Liste der Buildhosts mit<br />
Leerzeichen getrennt und fahren Updates<br />
oder Installs immer mit den Optionen »‐kg<br />
‐‐binpkg‐respect‐use y«. Das führt zum<br />
Abklappern aller URLs in der Variablen<br />
nach passenden Paketen. Nur wenn keines<br />
passt, wird selber kompiliert.<br />
Sind bei den CPU-Typen altersschwache<br />
dabei, kann ein schneller Host das Bauen<br />
übernehmen, indem er die Pakete mittels<br />
»ebuild /usr/portage/...buildfile« erzeugt<br />
und ich die Variablen »CHOST,CXXHOST«<br />
und »USE« passend zum schwächeren<br />
Zielsystem setze. Auch »PKGDIR« muss<br />
auf ein eigenes Verzeichnis zeigen, die<br />
URL in der Variablen »PORTAGE_BIN‐<br />
HOST« passe ich auf dem schwächeren<br />
System an. Die Lizenzen einiger Pakete<br />
verbieten die binäre Bereitstellung. Diese<br />
Pakete verwenden das Flag »bindist«, das<br />
der Admin aktivieren sollte.<br />
Das gezeigte effizienzsteigernde Vorgehen<br />
entbindet den Admin nicht davon,<br />
auf allen verwalteten Systemen regelmäßig<br />
Updates durchzuführen und danach<br />
mittels »etc‐update« die Konfigurationsdateien<br />
zu aktualisieren. Werkzeuge<br />
wie Cluster-SSH helfen dabei, solche<br />
wiederkehrenden Arbeiten zu optimieren.<br />
Grundlegende Pakete wie die Glibc<br />
bedingen, dass nach der Installation andere<br />
Dienste (etwa »vixie-cron«) neu zu<br />
starten sind. Zudem lasse ich ab und zu<br />
Abbildung 1: Mit Gentoo lassen sich Binärpakete bauen.<br />
das Tool Eclean aus dem Gentoolkit laufen,<br />
um veraltete Pakete mit »eclean packages«<br />
auf den Buildhosts zu löschen.<br />
Konstantin Agouros<br />
LDAP-Sicherung mit<br />
iVersionierung<br />
Ein Open-LDAP-Verzeichnis lässt sich<br />
mit dem Befehl »slapcat« sehr einfach sichern.<br />
Ein täglicher Cronjob erledigt das<br />
bei mir automatisch. Möchte ich aber Änderungen<br />
im Verzeichnis nachvollziehen<br />
können, wird es schon etwas komplizierter.<br />
Zwar lassen sich die einzelnen Sicherungen<br />
miteinander vergleichen, aber das<br />
ist Aufgabe eines Versionierungssystems.<br />
Folgender Cronjob implementiert dies mit<br />
Hilfe von »rcs«:<br />
45 23 * * * root umask 077 && cdU<br />
/var/backups && /usr/sbin/slapcatU<br />
>dump.ldif && (rcsdiff ‐q dump.ldif;U<br />
ci ‐q ‐l ‐d ‐mcron ‐t‐cron dump.ldif)<br />
Der Eintrag »umask« stellt sicher, dass<br />
die später angelegte Datei »dump.ldif«<br />
nur für Root zugänglich ist. Der Aufruf<br />
von »rcsdiff« ist optional und führt dazu,<br />
dass ich Änderungen per Mail zugestellt<br />
bekomme. Das »ci« schließlich sichert die<br />
neue Revision.<br />
Thilo Uttendorfer<br />
Rrdcached spart<br />
iZeit und Last<br />
Die Monitoring-Software Munin [1] leistet<br />
mir seit Jahren treue Dienste. Die Werte,<br />
die Munin sammelt, landen auf einem<br />
zentralen Server in Round-Robin-Datenbanken<br />
(RRDs), wo sie in festgelegten<br />
© testfight, photocase.com<br />
Intervallen zu Graphen verarbeitet werden.<br />
Munin überwacht pro Maschine oft<br />
mehrere Dutzend Werte und in großen<br />
Setups nicht selten eine drei- oder vierstellige<br />
Anzahl von Servern.<br />
Beim Aktualisieren Tausender RRDs<br />
steigt die I/O-Last auf dem Munin-Server<br />
problematisch an. Weil die Platten<br />
permanent ihre Schreib-Lese-Köpfe neu<br />
positionieren, um einige Bytes der RRD<br />
zu aktualisieren, dauert das Ganze lange<br />
und geht je nach Update-Intervall dann<br />
wieder von vorne los.<br />
Beim anschließenden Neuzeichnen der<br />
Graphen spare ich etwas Zeit, indem ich<br />
dem Graph-Kommando den Parameter<br />
»"‐ ‐ lazy"« übergebe. Unveränderte Graphen<br />
werden so nicht neu geschrieben.<br />
Optimierter Zyklus<br />
Auch für die zyklischen Aktualisierungen<br />
der RRDs gibt es Hilfe. Dafür muss RRD<br />
Tool ab Version 1.4 installiert sein sowie<br />
Rrdcached [2]. Die gängigen <strong>Linux</strong>e haben<br />
Letzteres in der Regel als eigenständiges,<br />
von RRD Tool getrenntes Paket an<br />
Bord (Abbildung 2).<br />
Wird das Kommando zum Aktualisieren<br />
einer RRD ausgeführt (»rrdtool update<br />
…«), fängt Rrdcached diesen Aufruf ab<br />
und speichert die Daten in seinem RAM-<br />
Cache, der je nach Anzahl der RRDs<br />
entsprechend üppig sein sollte. Im Hintergrund<br />
läuft ein großzügig bemessener<br />
Timeout, um vor Ablauf jede RRD mehrmals<br />
zu aktualisieren. Rrdcached konsolidiert<br />
diese Aktualisierungen in seinem<br />
Cache und schreibt sie nach Ablauf des<br />
Timeouts gebündelt in die RRDs auf der<br />
Festplatte.<br />
Wichtige Daten über längere Zeit nur im<br />
RAM zu speichern ist gefährlich. Rrdcached<br />
löst dieses Problem, indem es die<br />
Cachedaten regelmäßig in ein Journal auf<br />
der Platte schreibt. Die dabei entstehende<br />
Festplattenlast ist vernachlässigbar. Gesteuert<br />
wird Rrdcached über Kommandozeilenoptionen.<br />
Listing 1 zeigt einen<br />
typischen Aufruf.<br />
Mit dem Parameter »-s« lege ich die Gruppenberechtigung<br />
für den Unix-Domain-<br />
Socket fest, den Rrdcached benutzen<br />
soll, und verwende dafür die Gruppe<br />
»rrdtool«, die auf dem RRD-Tool-Server<br />
ohnehin existiert. Es lässt sich auch eine<br />
neue Gruppe, etwa mit dem Namen »rrd‐<br />
Tipps und Tricks 05/2012<br />
Titelthema<br />
www.linux-magazin.de<br />
49
Titelthema<br />
www.linux-magazin.de Tipps und Tricks 05/2012<br />
50<br />
01 csync2 ‐cr /<br />
02 if csync2 ‐M; then<br />
03 echo "!!"<br />
Abbildung 2: Die Last der Platten verringert Rrdcached.<br />
cached« anlegen, um Verwirrung zu vermeiden.<br />
Die Filesystem-Berechtigungen<br />
für den Socket legt der Parameter »-m«<br />
fest, bevor »-l« definiert, um welchen Socket<br />
es sich handelt.<br />
Im Beispiel ist es ein Unix Domain Socket,<br />
dessen Pfad und Name »unix:/var/<br />
run/rrdtool/cache.sock« lautet. Entfällt<br />
die Angabe, würde Rrdcached den Unix<br />
Domain Socket »unix:/tmp/rrdcached.<br />
sock« benutzen. Das funktioniert, aber<br />
das »/tmp«-Verzeichnis ist zu sehr Spielwiese,<br />
um dort einen wichtigen Socket<br />
zu platzieren.<br />
Neben dem Unix-Socket lässt sich zusätzlich<br />
ein Netzwerk-Socket etablieren,<br />
wie im Beispiel mit »‐l 192.168.10.10«<br />
geschehen. Als Port dient standardmäßig<br />
UDP 42217. Auf ihn schicke ich verschiedene<br />
Kommandos, die das Verhalten von<br />
Rrdcached zur Laufzeit steuern. Die Manpage<br />
enthält eine Liste der Kommandos.<br />
»HELP« und »QUIT« sind selbsterklärend<br />
und werden immer akzeptiert.<br />
Ansonsten sind weitere Befehle hinter<br />
dem Parameter »‐P« explizit aufzulisten.<br />
Die Kommandos aus dem Beispiel:<br />
Listing 1: Rrdcached-Aufruf<br />
04 echo "!! There are unsynced changes! Type 'yes'<br />
if you still want to"<br />
05 echo "!! exit (or press crtl‐c) and anything<br />
else if you want to start"<br />
06 echo "!! a new login shell instead."<br />
07 echo "!!"<br />
»FLUSH Dateiname« verschiebt<br />
die Updates für »Dateiname«<br />
an die erste Stelle<br />
der Update-Warteschlange.<br />
»PENDING Dateiname« gibt<br />
eine Übersicht über alle Updates<br />
für »Dateiname« aus,<br />
die in der Warteschlange<br />
noch ihrer Erledigung harren.<br />
»STATS« präsentiert eine<br />
Reihe statistischer Daten über<br />
die Arbeit von Rrdcached, darunter<br />
die aktuelle Länge der<br />
Warteschlange, die Anzahl<br />
erhaltener Updates, bereits<br />
erledigter Updates und die Größe des<br />
Journals. Hinter »‐j« definiere ich den<br />
Pfad zum Journal.<br />
Startsequenz<br />
Beim Daemon-Start prüft Rrdcached,<br />
ob unerledigte Aufträgt im Journal warten,<br />
und arbeitet sie ab. Ist das Journal<br />
aktiviert und Rrdcached wird beendet,<br />
schreibt es die Daten der Warteschlange<br />
nicht in die RRDs, sondern nur ins Journal.<br />
Dadurch erfolgt der Shutdown flink,<br />
aber auf Kosten nicht aktualisierter RRDs.<br />
Ein »‐F« schaltet dieses Verhalten ab und<br />
Rrdcached führt beim Beenden einen<br />
»FLUSH« aus.<br />
Der Pfad hinter dem Parameter »-b« ist<br />
der Basispfad von Rrdcached. Alle relativen<br />
Pfadangaben in der Konfiguration<br />
beziehen sich darauf. Lasse ich diese<br />
Angabe weg, setzt Rrdcached »/tmp« als<br />
Basispfad ein. Prinzipiell kann ich einzelnen<br />
Konfigurationsoptionen mit absoluten<br />
Pfadangaben völlig andere Pfade<br />
nennen. In der Beispielkonfiguration verhindert<br />
dies aber das nachfolgende »-B«,<br />
01 rrdcached ‐s rrdtool ‐m 0660 ‐l unix:/var/run/rrdtool/cache.sock ‐P FLUSH,PENDING,STATS ‐l<br />
192.168.10.10 ‐j /var/lib/rrcached/journal/ ‐F ‐b /var/lib/rrcached/db/ ‐B ‐w 1800 ‐z 1800<br />
Listing 2: Automatisierter Aufruf von Csync2<br />
© nito500, 123RF<br />
08 if read ‐p "Do you really want to logout? " in<br />
&&<br />
09 [ ".$in" != ".yes" ]; then<br />
10 exec bash ‐‐login<br />
11 fi<br />
12 fi<br />
das Schreibzugriffe nur auf das Basisverzeichnis<br />
und Unterverzeichnisse davon<br />
erlaubt und auch keine symbolischen<br />
Links akzeptiert.<br />
Hinter »‐w« verbirgt sich der Flush-Timeout,<br />
im Beispiel eine halbe Stunde (1800<br />
Sekunden). Aktualisierungen, die länger<br />
in der Warteschlange stehen, landen in<br />
RRDs auf der Platte. Damit sich nicht<br />
alle halbe Stunde die Schreibzugriffe<br />
knubbeln, gibt es den Parameter »‐z«. Er<br />
verzögert den Zugriff um eine zufällige<br />
Zeitspanne zwischen 0 und 1800 Sekunden<br />
und entzerrt so die Schreibzugriffe.<br />
Der Erfolg ist, besonders in sehr großen<br />
Installationen, durchschlagend. Je nach<br />
Anzahl der RRDs und der eingesetzten<br />
Hardware verringert Rrdcached die I/O-<br />
Last auf den Platten um ein Vielfaches.<br />
Charly Kühnast<br />
i Dateisynchronisierung<br />
mit Csync2<br />
Wenn es darum geht, Konfigurationsdateien<br />
zwischen mehreren Servern synchron<br />
zu halten, sind Puppet und Chef die<br />
Platzhirsche. Beide sind aber aufwändig<br />
zu konfigurieren und bringen viel Overhead<br />
mit – für Hochverfügbarkeits cluster<br />
mit zwei Knoten ist das oft schon zu<br />
viel des Guten. Csync2 ist eine schlanke<br />
Alternative: Der Name steht für Cluster<br />
Sync. Bei dem Programm handelt es sich<br />
um ein Tool, das einzelne Konfigurationsdateien<br />
zwischen zwei Servern mittels<br />
Rsync im Gleichklang hält.<br />
Die Konfiguration liegt in »/etc/csync2.<br />
cfg«. Alle in der Datei vermerkten Files<br />
lassen sich mit »csync2 ‐xv« auf andere<br />
Knoten synchronisieren. Damit ich nach<br />
einer Konfigurationsänderungen das<br />
Synchronisieren nicht vergesse, baut das<br />
».bash_logout«-Skript einen Automatismus<br />
ein. Listing 2 enthält den Code, der<br />
beim Logout prüft, ob es Änderungen<br />
in den von Csync2 verwalteten Dateien<br />
gibt. Dann zeigt es vor dem Logout eine<br />
Warnung und gibt mir die Chance, die<br />
Synchronisation nachzuholen.<br />
Martin Loschwitz<br />
n<br />
Infos<br />
[1] Munin: [http:// munin‐monitoring. org]<br />
[2] Rrdcached: [http:// oss. oetiker. ch/ rrdtool/<br />
doc/ rrdcached. en. html]
In eigener Sache: DELUG-DVD<br />
Skolelinux, Knopper, Java, Pulp<br />
Einführung 05/2012 12/2010<br />
Software<br />
Auch diesen Monat bekommen die DELUG-Käufer die doppelte Datenmenge zum einfachen Preis: Von der einen<br />
Seite der DVD bootet das brandneue Skolelinux 6.04, auf der anderen Seite gibt es Klaus Knopper im Cebit-Video<br />
zu sehen, eine virtuelle Maschine mit Pulp, viel Software und ein kostenloses E-Book von Galileo. Markus Feilner<br />
www.linux-magazin.de<br />
51<br />
Inhalt<br />
52 Bitparade<br />
Im Kurztest: Tools, die HTML automatisch<br />
validieren und bereinigen.<br />
58 Aftershot<br />
Corels Fotosoftware im Praxisvergleich<br />
mit Gimp, Digikam und Rawtherapee.<br />
64 Libre-Office-Importfilter<br />
Wie gut klappt der neue MS-Visio- und<br />
Powerpoint-Import in Libre Office?<br />
68 Tooltipps<br />
Lziprecover, Kccmp, Checksuite, Tmsu<br />
Clamtk und Getxbook.<br />
Neben einem normalen <strong>Linux</strong>-<strong>Magazin</strong><br />
ohne Datenträger gibt es die DELUG-<br />
Ausgabe mit Monats-DVD, bei der die<br />
Redaktion den Datenträger nach einem<br />
speziellen Konzept zusammenstellt: In<br />
einer Art modularem System enthält<br />
er Programme und Tools, die in der jeweiligen<br />
<strong>Magazin</strong>-Ausgabe getestet und<br />
besprochen werden. Zudem gibt es von<br />
der Redaktion besonders empfohlene<br />
Software – alles gebündelt unter einer<br />
HTML-Oberfläche.<br />
Von der ersten Seite bootet Skolelinux,<br />
wer den Silberling umdreht und mit dem<br />
Browser darauf zugreift, findet ein HTML-<br />
Menü mit exklusiven Inhalten.<br />
Skolelinux und Video mit<br />
Klaus Knopper<br />
Ideal für Bildungseinrichtungen und<br />
Schulen ist Skolelinux. Die auch als<br />
Debian Edu bezeichnete Distribution<br />
will es auch Personen mit eher geringen<br />
Kenntnissen in der Administration<br />
ermöglichen, ganze Rechnerpools aufzubauen<br />
und zu verwalten – und eignet<br />
sich deshalb nicht nur für den Einsatz in<br />
der Weiterbildung. Die neueste Version<br />
basiert auf Debian Squeeze<br />
und installiert zahlreiche<br />
Bildungsprogramme von<br />
Celestia bis Dr. Geo auf dem<br />
KDE-, Gnome- oder LXDE-<br />
Desktop. Admins nutzen<br />
Profi-Tools wie Gosa 2 oder<br />
LWAT für die integrierte<br />
LDAP-Verwaltung.<br />
Ebenfalls exklusiv auf der<br />
DVD ist der zweite Eintrag<br />
im HTML-Menü: Klaus<br />
Knoppers Vortrag auf der<br />
Cebit als Video mit allen<br />
Folien seiner Präsentation.<br />
Wer Mr. Knoppix im Live-<br />
Stream verpasst hat, findet das Video auf<br />
der DELUG-DVD (Abbildung 1).<br />
Exklusiv: Fedora-Pulp<br />
Softwareverteilung à la Red Hat, das<br />
erledigt das Pulp-Projekt. Weil die im<br />
Artikel in der Titelstrecke beschriebene<br />
Servereinrichtung so manchen Fallstrick<br />
Abbildung 2: Mehr als eine Insel und komplett als<br />
E-Book auf der DELUG-DVD: Galileos „Java 7“ von<br />
Christian Ullenboom.<br />
Abbildung 1: Klaus Knopper erklärt die Features seiner neuen<br />
Knoppix-Version 7 exklusiv im Video vom Cebit Open Source Forum.<br />
bereithält, haben die Autoren des <strong>Linux</strong>-<br />
<strong>Magazin</strong>s eine virtuelle Maschine gebaut,<br />
in der ein Pulp-Server bereits vorbereitet<br />
ist, den Anwender zum einfachen Testen<br />
für das eigene Szenario verwenden<br />
können. Die virtuelle Maschine versorgt<br />
RHEL-, Fedora und Centos-Systeme mit<br />
ausgewählten RPM-Paketen, wodurch<br />
Admins auf allen beteiligten Systemen<br />
einen einheitlichen Softwarestand gewährleisten.<br />
E-Book „Java 7“<br />
Damit nicht genug, neben Software und<br />
Skripten aus dem Titelthema „Automatisieren“,<br />
den Tooltipps, der Bitparade und<br />
anderen Artikeln findet sich auf der DVD<br />
auch die brandneue Version 3.5.1 von<br />
Libre Office mit zahlreichen Bugfixes und<br />
Verbesserungen beim Import und Export<br />
von Visio- und Powerpoint-Dateien. Wem<br />
das noch nicht reicht, der schnappt sich<br />
das komplette E-Book „Java 7 – Mehr<br />
als eine Insel“ von Christian Ullenboom<br />
(Abbildung 2). In gedruckter Form kostet<br />
dieses Buch 50 Euro, DELUG-Abonnenten<br />
erhalten es einfach so.<br />
n
Software<br />
www.linux-magazin.de Bitparade 05/2012<br />
52<br />
HTML-Dateien validieren und bereinigen<br />
Der Dreck soll weg<br />
Die vier Testkandidaten helfen Webentwicklern dabei, HTML-Dokumente auf Standardkonformität hin zu prüfen.<br />
Die Saubermacher können aber nicht nur den Code validieren, sondern auch erlaubte, aber unerwünschte<br />
Elemente aufspüren und entfernen. Florian Effenberger<br />
© Mikhail Kokhanchikov, 123RF<br />
Früher war das Leben viel einfacher –<br />
Kompendien wie Self-HTML [1] deckten<br />
auf einer überschaubaren Seitenzahl so<br />
ziemlich alles ab, was das Webprogrammiererherz<br />
begehrte. Heute ist das Netz<br />
interaktiver und vielseitiger, aber auch<br />
komplizierter und gefährlicher. Das „eine<br />
HTML“ gibt es schon lange nicht mehr,<br />
stattdessen existiert ein Vielzahl von Versionen<br />
[2]. HTML 4.01, XHTML und das<br />
aktuelle HTML 5 sind nur einige davon;<br />
hinzu kommen Varianten wie Strict oder<br />
Transitional, garniert durch CSS-Dateien<br />
in mehreren Spielarten.<br />
Kurz vor dem 20. Geburtstag von HTML<br />
ist das Durcheinander dank neuer Versionen,<br />
Varianten und Elemente perfekt.<br />
Valide und sichere Dokumente zu erzeugen<br />
ist inzwischen alles andere als<br />
einfach. Contentmanagement-Systeme<br />
und Wysiwyg-HTML-Editoren helfen,<br />
dennoch bringt der prüfende Blick auf<br />
den Code meist Überflüssiges und echte<br />
Fehler zum Vorschein. Betreiber von<br />
Blogs und Foren stehen vor einem weiteren<br />
Problem: Oft sollen bestimmte Teile<br />
gar nicht erst im Quelltext auftauchen,<br />
beispielsweise um Bilder und interaktive<br />
Inhalte zu filtern.<br />
Vier Tools helfen dabei, den eigenen Code<br />
zu prüfen und zu bereinigen. HTML Tidy<br />
[3] und der Total Validator [4] treten im<br />
Test als Vertreter der klassischen Validierungstools<br />
an. Der HTML Purifier [5]<br />
und das darauf aufbauende HTM Lawed<br />
[6] sind PHP-basierte Bibliotheken, die<br />
HTML-Code besonders für Foren und<br />
Blogs bereinigen.<br />
E HTML Tidy<br />
Den Auftakt macht eines der bekanntesten<br />
Tools, das in vielen Kreisen neben<br />
dem offiziellen W3C-Validator [7]<br />
als Referenz gilt. Das unter der MIT-<br />
Lizenz veröffentlichte und mittlerweile<br />
als Sourceforge-Projekt entwickelte Programm<br />
ist als Stand-alone-Variante sowie<br />
als Bibliothek im Angebot. Letztere<br />
steht Software-Entwicklern bei, die ihre<br />
eigenen Anwendungen um eine HTML-<br />
Validierungsfunktion erweitern oder dem<br />
Original eine grafische Oberfläche spendieren<br />
möchten. HTML Tidy selbst arbeitet<br />
auf der Kommandozeile und bietet<br />
dazu sehr strukturierte und übersichtliche<br />
Aufrufoptionen.<br />
Der Klassiker unter den Validatoren unterstützt<br />
alle gängigen HTML-Varianten<br />
bis einschließlich Version 4.01, XHTML<br />
und mit Einschränkungen auch XML.<br />
Das noch recht neue HTML 5 findet keine<br />
Beachtung (Abbildung 1), was nicht weiter<br />
verwundert, stammt doch die letzte<br />
Relase vom März 2009.<br />
HTML Tidy ist Bestandteil vieler Distributionen;<br />
Anwender installieren das<br />
entsprechende Paket aus den üblichen<br />
Repositories. Es punktet mit zahlreichen<br />
Funktionen, korrigiert mangelhafte Elemente<br />
nach Möglichkeit beziehungsweise<br />
ergänzt Fehlendes und gibt kurze Erläuterungen<br />
zu den kritisierten Codestellen.<br />
Eine farbliche Hervorhebung des Quelltextes<br />
findet auf der Shell nicht statt, aber<br />
die Ausgabe von Zeile und Spalte hilft bei<br />
der Orientierung.<br />
Das Tool ist grundsätzlich auf lokale Dateien<br />
angewiesen und akzeptiert keine<br />
URLs als Quellen beim Aufruf. Es bietet<br />
viele Optionen, um den Quelltext zu optimieren<br />
und zu formatieren (»pretty print«,<br />
Abbildung 2). So rückt der Parameter »‐i«<br />
automatisch ein, »‐w« fügt Zeilenumbrüche<br />
hinzu und »‐u« setzt alle Tags konsequent<br />
in Großbuchstaben. Auch beliebte<br />
Flüchtigkeitsfehler, etwa ungültige Quotezeichen<br />
(»‐b«), Backslashes (»‐‐fix‐backslash<br />
yes«) und Sonderzeichen in URLs
HTML Tidy untersucht mit »‐access« die<br />
Barrierefreiheit der Dateien und fordert<br />
etwa »ALT«-Tags für Bilder ein. Grafiken<br />
dürfen zudem nicht nur aus Platzhaltern,<br />
Namen oder Größenangabe bestehen.<br />
Ähnliches gilt für eingebundene Applets<br />
oder Audiodateien. Das Tool beschwert<br />
sich auch über einen unzureichenden<br />
Farbkontrast zwischen Vorder- und Hintergrund<br />
und fehlende Noscript-Varianten<br />
in den Script-Sektionen.<br />
HTML Tidy hält Entwickler<br />
dazu an, auf indirekte<br />
Formatierung zu setzen<br />
(zum Beispiel Header-<br />
Auszeichnung statt großer<br />
Schriftart) und die Sprache<br />
des Dokuments zu kennzeichnen.<br />
Alle Kriterien<br />
samt Erklärungen und Testdateien<br />
finden Interessierte<br />
unter [8].<br />
Fehlermeldungen schreibt<br />
das Tool mit »‐f« und korrigierte<br />
Dokumente<br />
mit »‐o« in separate<br />
Dateien. Alternativ<br />
landen sie direkt auf<br />
der Konsole. Einziger<br />
Wermutstropfen ist,<br />
dass die Anwender<br />
HTML Tidy nur eingeschränkt<br />
um eigene<br />
Tags erweitern dürfen,<br />
und dies auch nur für<br />
den Body der Dokumente.<br />
Den Header<br />
der Dateien fasst das<br />
Tool nicht an.<br />
HTML-Dateien konvertiert<br />
es mit dem<br />
Abbildung 1: Das noch recht neue Format HTML 5 versteht HTML Tidy in der<br />
derzeitigen Programmversion noch nicht. Die neuen Tags erkennt es nicht Parameter »‐asxhtml«<br />
und wirft entsprechend mit Fehlermeldungen um sich.<br />
nach XHTML; in die<br />
umgekehrte Richtung<br />
(»‐‐fix‐uri yes«), korrigiert das Tool bis zu führt die Option »‐ashtml«. Anwender,<br />
einem gewissen Grad.<br />
die nicht jedes Mal einen Rattenschwanz<br />
Darüber hinaus konvertiert es Dokumente von Aufrufoptionen übergeben möchten,<br />
in gängige Zeichensätze (zum Beispiel speichern ihre Einstellungen in einer frei<br />
mit »‐latin0«) und entfernt proprietäre wählbaren Konfigurationsdatei. In dieser<br />
Elemente (»‐‐drop‐proprietary‐attributes«)<br />
sowie Kommentare (»‐‐hide‐com-<br />
stehen:<br />
können etwa Einträge wie die folgenden<br />
ments yes«). Auf Wunsch überführt<br />
fix‐backslash: yes<br />
HTML Tidy bestimmte HTML-Elemente fix‐uri: yes<br />
in CSS-Tags (»‐c«).<br />
hide‐comments: yes<br />
Augen auf!<br />
accessibility‐check: 0<br />
show‐warnings: yes<br />
Die Webseite [9] listet alle Möglichkeiten<br />
mit Beispielen und den Standardwerten<br />
auf. Die Einrichtungsdatei übergeben Anwender<br />
anschließend über »‐config«.<br />
E Total Validator Basic<br />
In einer ähnlichen Liga spielt der zweite<br />
Testkandidat. Genau wie HTML Tidy<br />
spricht der Total Validator zwar auch nur<br />
Englisch, bietet dafür aber ein komfortables<br />
GUI. Dabei handelt es sich um<br />
eine betriebssystemunabhängige Java-<br />
Applikation, die unter einer proprietären<br />
Lizenz steht. Neben der getesteten<br />
kostenlosen Basic-Version gibt es eine<br />
kostenpflichtige Pro-Version, die mit 30<br />
Euro zu Buche schlägt. Sie bietet einige<br />
zusätzliche Funktionen, etwa CSS-Validierung<br />
nach W3C-Standard, verschiedene<br />
Konfigurationsprofile, den Ausschluss<br />
einzelner Abschnitte einer Seite,<br />
die Überprüfung von 404-Fehlerseiten,<br />
ein Wörterbuch-Feature und den Test<br />
pass wortgeschützter Seiten.<br />
Zusätzlich gibt es ein unter der Mozilla<br />
Public License veröffentlichtes Firefox-<br />
Addon [10], das Webseiten direkt aus<br />
dem Browser heraus prüft. Das klappt<br />
mit lokalen Dateien und mit URLs, funktionierte<br />
im Test aber nicht ganz fehlerfrei.<br />
Beim Browserstart verschwand auf<br />
einmal die Extension, nur ein Profil-Reset<br />
und die anschließende Neuinstallation<br />
behoben das Problem. Der Bug tauchte<br />
auf einem zweiten Testgerät jedoch nicht<br />
auf, daher ist möglicherweise ein defektes<br />
Profil des Nutzers für diese Panne<br />
verantwortlich.<br />
Auch ohne fertig gepackte Pakete geht<br />
die Installation auf gängigen <strong>Linux</strong>-<br />
Distributionen leicht von der Hand. Anwender<br />
laden die Java-Anwendung von<br />
[4] herunter, entpacken das Archiv und<br />
starten das Programm über den Befehl<br />
»java ‐jar totalvalidator.jar«. Alternativ<br />
übernimmt das die Firefox-Erweiterung,<br />
die vom Anwender vorher den korrekten<br />
Pfad zur Java-Datei wissen möchte (siehe<br />
Abbildung 3).<br />
Egal für welchen Weg sich der Entwickler<br />
entscheidet, in beiden Fällen erfolgt die<br />
Ausgabe der eigentlichen Validierung im<br />
Browser. Er zeigt eine Zusammenfassung<br />
Abbildung 2: HTML Tidy unterstützt Webentwickler bei der Formatierung des Quellcodes. Im Gegensatz zur Originaldatei (links)<br />
präsentiert sich die bearbeitete Datei (rechts) deutlich besser lesbar.<br />
Bitparade 05/2012<br />
Software<br />
www.linux-magazin.de<br />
53
Software<br />
www.linux-magazin.de Bitparade 05/2012<br />
54<br />
Abbildung 3: Das Firefox-Addon übernimmt auf Wunsch den Start der<br />
eigentlichen Anwendung. Dazu tragen Anwender den Pfad zum Binary ins<br />
Feld »Tool« ein.<br />
der Kriterien und Testergebnisse an sowie<br />
zusätzlich eine Seite mit detaillierteren<br />
Informationen. Verschiedene Profile<br />
kennt die kostenlose Variante des Tools<br />
nicht. Anwender können lediglich die<br />
aktuelle Konfiguration im Einstellungsdialog<br />
speichern.<br />
Kein kalter Kaffee<br />
Am Funktionsumfang gibt es nichts auszusetzen.<br />
Der Total Validator unterstützt<br />
HTML in den Versionen 2.0 und 3.2, zudem<br />
die Versionen 4.0 und 4.01 – letztere<br />
jeweils in den Varianten Frameset,<br />
Transitional und Strict. Auch HTML 5<br />
und XHTML sind im Angebot sowie eine<br />
Vielzahl weiterer Spielarten inklusive automatischer<br />
Formaterkennung, weshalb<br />
sich die fehlende Möglichkeit, eigene<br />
Tags zu ergänzen, verschmerzen lässt.<br />
Auch der zweite Testkandidat legt Wert<br />
auf Barrierefreiheit und richtet sich dabei<br />
wahlweise nach den „W3C Web Content<br />
Accessibility Guidelines“ [11] oder den<br />
US-Regelungen nach Section 508 des Rehabilitation<br />
Act [12].<br />
Total Validator konzentriert sich hauptsächlich<br />
darauf, Fehler zu finden, sie<br />
automatisch zu korrigieren ist nicht vorgesehen.<br />
Den Quelltext rückt das Tool<br />
zur besseren Lesbarkeit automatisch ein.<br />
Es nummeriert auch die Zeilen und hebt<br />
die Fehlerposition farbig hervor. Zudem<br />
unterscheidet es zwischen echten Fehlern<br />
und Warnungen und versieht die<br />
Ausgabe mit kurzen Erläuterungen (siehe<br />
Abbildung 4). Die Navigation zwischen<br />
den einzelnen Meldungen geschieht mit<br />
Hilfe von Links.<br />
Gut gefallen hat den<br />
Testern zudem der integrierte<br />
Linkchecker,<br />
der auch in der kostenfreien<br />
Basic-Version<br />
des Programms zur<br />
Verfügung steht. Das<br />
Feature durchforstet<br />
die HTML-Seiten nach<br />
veralteten oder nicht<br />
erreichbaren Verknüpfungen<br />
und erspart<br />
dem Programmierer<br />
diese doch recht mühsame<br />
Klickaufgabe.<br />
Eine Rechtschreibprüfung<br />
für Deutsch,<br />
Englisch, Französisch, Italienisch und<br />
Spanisch rundet das Bild ab.<br />
E HTML Purifier<br />
Die nächsten beiden Kandidaten sind<br />
PHP-Bibliotheken. Der englischsprachige<br />
HTML Purifier ist unter der LGPL<br />
lizenziert und beherrscht die Standards<br />
XHTML 1.0 und HTML 4.01, jeweils in<br />
den Varianten Transitional und Strict, sowie<br />
XHTML 1.1. Die Library ist primär<br />
zum Einbinden in eigene PHP-Skripte gedacht.<br />
So würde Listing 1 beispielsweise<br />
das Dokument automatisch mit Paragraphen<br />
versehen. Für erste Tests enthält<br />
die Webseite ein Beispielformular, in<br />
dem Anwender einige Optionen direkt<br />
per Copy & Paste ausprobieren können<br />
(siehe Abbildung 5).<br />
Bei diesem Testkandidaten stehen genau<br />
wie beim folgenden die Blogs und Foren<br />
ganz oben auf der Liste der möglichen<br />
Einsatzgebiete. Die eigentliche Validierung<br />
des Quellcodes ist eher zweitrangig,<br />
das Erzeugen von sicherem und übersichtlichen<br />
Code steht im Vordergrund.<br />
Zwar entfernt auch dieses Tidy-Modul<br />
ungültige, alte oder im gewählten Dokumentstandard<br />
nicht mehr unterstützte<br />
Tags (»HTML.TidyLevel«) und erläutert<br />
sie auf Wunsch samt genauer Positionsangabe<br />
(»Core.CollectErrors«), die Funktion<br />
ist aber als experimentell gekennzeichnet<br />
und funktionierte beim Test mit<br />
eigenen PHP-Skripten nicht.<br />
Barrierefreiheit ist ein Fremdwort für den<br />
HTML Purifier, und die Bibliothek verifiziert<br />
auch keine Header. Der Fokus<br />
liegt stattdessen auf dem Seiteninhalt,<br />
den sie um möglicherweise schadhafte<br />
Abbildung 4: Der Total Validator erkennt auch ungültige Links. Das Tool hebt Fehler deutlich hervor und<br />
versieht sie sogar mit Erklärungen für den Webentwickler.
Elemente zu bereinigen versucht, um potenzielle<br />
Sicherheitslücken zu schließen.<br />
Dazu gehören etwa »Object«, »Iframe«<br />
oder »Embed«.<br />
Sag’s mit PHP<br />
Die Dokumentation auf der Webseite des<br />
Projekts empfiehlt, keine anderen Zeichensätze<br />
als UTF-8 einzusetzen. Die<br />
recht ausführliche Anleitung enthält außerdem<br />
detaillierte Beschreibungen der<br />
einzelnen Konfigurationsdirektiven und<br />
erläutert, welche Sprachelemente HTML<br />
Purifier unterstützt. Webentwickler finden<br />
hier auch Tipps, wie sie trotz strenger<br />
Filterregeln Filme aus Videoportalen<br />
wie Youtube einbinden und wie der URL-<br />
Filter funktioniert. Es ist darüber hinaus<br />
möglich, die Bibliothek um eigene Elemente<br />
zu erweitern.<br />
Anhand zahlreicher Konfigurationsdirektiven<br />
legen Anwender in einer Blackund<br />
Whitelist fest, was im Code erlaubt<br />
sein soll und was nicht. Auch den Inhalt<br />
einzelner Elemente dürfen sie festlegen.<br />
So geben sie beispielsweise grünes Licht<br />
für Attribute wie Class (»Attr.Allowed-<br />
Classes«) und Rel (»Attr.AllowedRel«),<br />
für Frame-Targets (»Attr.AllowedFrame-<br />
Targets«) und Kommentare (»HTML.AllowedComments«).<br />
Auch die verlinkten<br />
Protokolle (»URI.AllowedSchemes«), die<br />
Maximalgröße von Bildern (»HTML.MaxImgLength«)<br />
und ein automatisches Alt-<br />
Tag dürfen sie vorgeben.<br />
Für einen einfachen Einstieg empfiehlt<br />
es sich, alle externen eingebundenen Objekte<br />
(»URI.DisableExternalResources«)<br />
oder Links zu externen Seiten zu deaktivieren<br />
(»URI.DisableExternal«). Die Dokumentation<br />
liefert etliche Beispiele mit,<br />
wie Anwender detaillierte Listen erstellen.<br />
Der folgende Konfigurationseintrag<br />
erlaubt beispielsweise nur die Elemente<br />
»h1«, »h2«, »p« und »br«:<br />
$config‐>set('HTML.Allowed', 'h1,h2,p,br');<br />
Auch Einstellungen zum Escapen sind<br />
vorhanden (zum Beispiel »Core.Escape-<br />
NonASCIICharacters«). Die Anweisung<br />
»AutoFormat.RemoveEmpty« gliedert<br />
automatisch und entfernt überflüssigen<br />
Code wie etwa »«. Selbst<br />
eine Direktive, die Flash-Inhalten das<br />
Umschalten in den Vollbildmodus verbietet,<br />
ist vorhanden (»HTML.FlashAllowFullScreen«).<br />
Gut gefallen im Test hat<br />
auch, dass HTML Purifier Funktionen<br />
zum Überprüfen von CSS-Elementen enthält.<br />
Das geht bis zur Definition erlaubter<br />
Schriftarten (»CSS.AllowedFonts«).<br />
Insgesamt macht das Tool einen runden<br />
Eindruck und hält, was die gute Dokumentation<br />
verspricht.<br />
Bitparade 05/2012<br />
Software<br />
www.linux-magazin.de<br />
55<br />
E HTM Lawed<br />
Den vierten Kandidaten beschreiben seine<br />
Entwickler als Alternative zum HTML<br />
Purifier. Auch das LGPL-lizenzierte HTM<br />
Lawed ist eine PHP-Bibliothek, deren primäre<br />
Aufgabe darin besteht, Code für<br />
Blogs oder Foren zu optimieren. Neben<br />
der Korrektur ungültiger Elemente liegt<br />
der Schwerpunkt auf dem Herausfiltern<br />
unerwünschter Inhalte. Das Tool entfernt<br />
ebenfalls gezielt Designelemente und sichert<br />
Seiten gegen mögliche Sicherheitslücken<br />
ab.<br />
Zusätzlich bringt die Library Funktionen<br />
mit, um den Quelltext zu optimieren<br />
(»Beautify and Compact«) und Codeelemente<br />
einzurücken. Den Anwender<br />
Listing 1: HTML Purifier im Einsatz<br />
01
Software<br />
www.linux-magazin.de Bitparade 05/2012<br />
56<br />
01 'title'«<br />
verbietet beispielsweise lediglich das<br />
gleichnamige Attribut, die Direktive<br />
02 include('htmLawed.php');<br />
Listing 2: HTM-Lawed-Beispiel<br />
03 $input='Dieser<br />
Text verlinkt auf eine Mailadresse';<br />
04 $config=array('anti_mail_spam'=>' kringelchen ');<br />
05 $output=htmLawed($input,$config);<br />
06 ?><br />
Abbildung 6: HTM Lawed bietet neben der PHP-Bibliothek auch eine einfache Browseranwendung. Hier setzen<br />
Anwender viele Optionen per Mausklick und geben ihren Quellcode per Copy & Paste ein.<br />
»deny_attribute=>'* ‐title'« hingegen<br />
lässt alle Attribute außer »title«<br />
zu. Elemente wie beispielsweise »on-<br />
MouseOver« und »onClick« oder Links<br />
entfernt dagegen die Direktive »deny_<br />
attribute=>'on*,href'«. HTM Lawed<br />
korrigiert zudem häufige Fehler, etwa<br />
fehlende Abschluss-Tags oder nicht gesetzte<br />
Attribute. Alte Elemente, die nicht<br />
dem gewählten Standard entsprechen,<br />
korrigiert oder ersetzt die Bibliothek –<br />
wenn möglich. Gleiches gilt für überflüssige<br />
Kommentare.<br />
Die Library kommt mit fertigen Konfigurationsdirektiven<br />
wie etwa »safe=>1«.<br />
Diese aktiviert eine sinnvolle Vorauswahl<br />
von Tags, die das Tool filtern soll, darunter<br />
Skripte und externe Objekte, sodass Webentwickler<br />
nicht zwingend eine eigene<br />
Liste erstellen müssen. Was vom Code<br />
übrig bleibt, kann HTM Lawed zudem ordentlich<br />
verpacken und achtet dabei auf<br />
entsprechendes Quoting und Escaping.<br />
Über »hexdec_entity=>2« konvertiert es<br />
dabei sogar HTML-Entities in Dezimaloder<br />
Hexadezimalschreibweise.<br />
Überzeugend sind auch die Antispam-<br />
Maßnahmen für Mailadressen. Neben der<br />
schon gezeigten Funktion aus Listing 2<br />
bietet HTM Lawed an, mittels »"anti_link_<br />
spam" = array('`.`', '');« für einzelne<br />
oder alle Links das »nofollow«-Attribut<br />
zu setzen. Es sorgt dafür, dass Suchmaschinen<br />
den Verknüpfungen nicht folgen,<br />
und erschwert so genannten Link-Spammern<br />
damit das Leben. Darüber hinaus<br />
gibt es die Möglichkeit, absolute Links in<br />
relative umzuwandeln und umgekehrt.<br />
Anwender verbieten auch bestimmte<br />
Protokolle. So lässt »schemes=>'href:<br />
https'« beispielsweise nur die Verknüpfung<br />
zu SSL-Hosts zu.<br />
Die Bibliothek konvertiert keine Zeichensätze<br />
und sieht auch keine Anordnung<br />
von Attributen oder deren genaue Syntaxprüfung<br />
vor. Ebenso wenig entfernt sie<br />
unnützen Code wie etwa nicht benötigte<br />
Tags. Die Entwickler begründen die Entscheidung<br />
in der Dokumentation damit,<br />
dass dies weder die Anzeige im Browser<br />
beeinflusse noch Sicherheitslücken öffne.<br />
In der Voreinstellung unterscheidet das<br />
Tool bereits zwischen sicheren und unsicheren<br />
Elementen.<br />
Wer diesen sinnvoll gewählten Standard<br />
anpassen möchte, kann eigene Ergänzungen<br />
vornehmen, indem er nach dem<br />
Durchlauf eigene Routinen aufruft. Dazu
kann HTM Lawed seine Ergebnisse an<br />
eine selbst geschriebene PHP-Funktion<br />
übergeben.<br />
Hand in Hand<br />
Ein Tool, sie zu knechten, sie alle zu<br />
finden – das suchen Webentwickler vergeblich.<br />
Keiner der Testkandidaten erfüllt<br />
alle Wünsche und meistert alle Aufgaben.<br />
HTML Tidy und der Total Validator<br />
konzentrieren sich ganz aufs Validieren,<br />
HTML Purifier und HTM Lawed<br />
auf Sicherheit und Sauberkeit im Code.<br />
Total Validator hat in der ersten Paarung<br />
leicht die Nase vorn, bietet das Tool doch<br />
HTML-5-Support und mehr Komfort mit<br />
seinem GUI. Punktabzug gibt es nur für<br />
ein paar fehlende Funktionen in der kostenlosen<br />
Basic-Variante – ein Problem,<br />
das Anwender mit 30 Euro aus der Welt<br />
schaffen.<br />
Im direkten Vergleich zwischen HTML<br />
Purifier und HTM Lawed offenbaren sich<br />
unterschiedliche Features. Anwender<br />
sollten je nach Einsatzzweck entscheiden,<br />
welcher Bibliothek sie den Vorzug<br />
geben. Beide sind äußerst gut dokumentiert<br />
und zeigen in Beispielen auf ihren<br />
Webseiten, was sie können.<br />
Sauberen Code schreiben bleibt auch mit<br />
Hilfsmitteln eine Herausforderung, und<br />
je komplexer das Quellmaterial ist, umso<br />
wahrscheinlicher übersieht ein Tidy-Tool<br />
etwas oder kennzeichnet ein eigentlich<br />
gültiges Konstrukt als falsch. Im Zweifel<br />
empfiehlt sich eine Kooperation mehrerer<br />
Werkzeuge, um bestmögliche Ergebnisse<br />
zu erzielen. (hej)<br />
n<br />
Infos<br />
[1] Self-HTML: [http:// de. selfhtml. org]<br />
[2] Wikipedia-Übersicht zu HTML:<br />
[http:// de. wikipedia. org/ wiki/ HTML]<br />
[3] HTML Tidy: [http:// tidy. sourceforge. net]<br />
[4] Total Validator:<br />
[http:// www. totalvalidator. com]<br />
[5] HTML Purifier: [http:// htmlpurifier. org]<br />
[6] HTM Lawed:<br />
[http:// www. bioinformatics. org/<br />
phplabware/ internal_utilities/ htmLawed]<br />
[7] W3C-Validator: [http:// validator. w3. org]<br />
[8] HTML Tidy, Barrierefreiheit: [http:// www.<br />
aprompt. ca/ Tidy/ accessibilitychecks. html]<br />
[9] HTML-Tidy-Konfigurationsoptionen: [http://<br />
tidy. sourceforge. net/ docs/ quickref. html]<br />
[10] Total Validator für Firefox:<br />
[https:// addons. mozilla. org/ firefox/ addon/<br />
total‐validator]<br />
[11] Barrierefreiheits-Richtlinien nach WCAG:<br />
[http:// www. w3. org/ WAI/ intro/ wcag# is]<br />
[12] Rehabilitation Act, Abschnitt 508:<br />
[http:// www. section508. gov]<br />
Der Autor<br />
Florian Effenberger engagiert sich seit vielen<br />
Jahren für freie Software und ist Chairman im<br />
Board der Document Foundation. Er schreibt regelmäßig<br />
für zahlreiche deutsch- und englischsprachige<br />
Fachpublikationen und beschäftigt sich<br />
dabei auch mit rechtlichen Fragestellungen.<br />
Bitparade 05/2012<br />
Software<br />
www.linux-magazin.de<br />
57<br />
Digitales aBO<br />
linuxUser: Das Monatsmagazin für die Praxis<br />
DigisUB *<br />
nur 56,10 €<br />
im Jahr (12 PDFs)<br />
* Digitales Abo, jederzeit kündbar<br />
Jetzt Bestellen Unter:<br />
www.linux-user.de/digisub<br />
Telefon: 07131 /2707 274<br />
Fax: 07131 / 2707 78 601<br />
E-Mail: abo@linux-user.de
Software<br />
www.linux-magazin.de Aftershot 05/2012<br />
58<br />
Bildbearbeitung: Corel Aftershot im Praxisvergleich mit freien Tools<br />
Nach dem Schuss<br />
Weißabgleich, Farbrauschen, Pixelfehler, Vignettierung, chromatische Aberration und das Tausend-Bilder-Archiv:<br />
Nach dem Druck auf den Auslöser fangen die Probleme des Fotografen oft erst an. Altmeister Corel wirft<br />
jetzt mit Aftershot ein proprietäres Tool ins Rennen mit Gimp, Rawtherapee und Digikam. Fritz Reichmann, Markus Feilner<br />
© Fritz Reichmann<br />
Abbildung 1: Objektiv-, Farb-, Kontrast- und Pixelfehler sind beseitigt: Ein nächtliches Gewitter, vom Dach<br />
eines Wohnhauses aufgenommen und mit den Tools aus dem Artikel optimiert.<br />
Raw-Fotobearbeitung, Fehlerkorrektur<br />
und Bildarchivierung – für jede dieser<br />
Aufgaben gibt es unter <strong>Linux</strong> hochspezialisierte<br />
Softwarelösungen, zu denen sich<br />
seit Kurzem auch Corels Aftershot Pro<br />
[1] gesellt. Die kostenpflichtige Lösung<br />
(siehe Kasten „Corel Aftershot Pro“)<br />
will aber den kompletten Workflow abdecken<br />
und basiert auf dem populären<br />
Vorgänger Bibble. Corel hat im Jahr 2011<br />
dessen Hersteller Bibble Labs übernommen<br />
[2] und den Namen geändert.<br />
Gimp, Rawtherapee,<br />
Digikam<br />
Aftershots großer Funktionsumfang lässt<br />
sich auf Open Source am ehesten mit<br />
dem Repertoire von Digikam [3], UF Raw<br />
[4], Rawtherapee [5] und Gimp [6] vergleichen.<br />
Im Gegensatz zu Aftershot, das<br />
eine Art eierlegende Wollmilchsau sein<br />
will, fokussiert sich die Konkurrenz aber<br />
auf einzelne Aufgaben und hat sich bislang<br />
damit gut ins Bild gesetzt.<br />
Für den Vergleich in diesem Artikel dient<br />
ein kompliziert zu optimierendes Foto als<br />
Vorlage, das einen guten Überblick über<br />
die typischerweise notwendigen Handgriffe<br />
in der digitalen Dunkelkammer<br />
zeigt. Anhand dieses Bildes haben die<br />
Tester des <strong>Linux</strong>-<strong>Magazin</strong>s mit den unterschiedlichen<br />
Tools versucht ein besseres<br />
Ergebnis (Abbildung 1) zu erreichen,<br />
als dies die Standardeinstellungen (siehe<br />
Abbildung 2) erlauben.<br />
Fehler, Fehler, Fehler<br />
Wer immer perfekte Bilder schießt, kann<br />
natürlich auf jede Nachbearbeitung verzichten.<br />
Doch realistisch ist das nicht.<br />
Bei der Aufnahme legt der Fotograf mit<br />
Motiv, Bildaufbau, Blickwinkel, Licht-,<br />
Farb- und Schärfeverlauf die wesentlichen<br />
Merkmale eines Fotos fest. Dennoch<br />
gelingt eine gute Aufnahme, besonders<br />
unter schwierigen Bedingungen, selten<br />
auf Anhieb perfekt.<br />
Korrekturen, die Fotoprofis in der analogen<br />
Ära nur mit Chemikalien im Labor<br />
erreichen konnten, lassen sich heute<br />
spielerisch am Rechner und deutlich<br />
umfangreicher umsetzen. Dazu gehören<br />
Verbesserungen an der Aufnahme selbst,<br />
zum Beispiel bei Weißabgleich, Kontrast<br />
und Ausschnitt, aber auch Korrekturen<br />
von technischen Fehlern der Kamera, des<br />
Bildrauschens, der Pixelfehler, der Bildschärfe<br />
oder der chromatischen Aberration<br />
und Vignettierung des Objektivs.<br />
Sensor und Objektiv<br />
Bildrauschen und Pixelfehler entstehen<br />
im Bildsensor. Die chromatische Aberration<br />
wird durch die von der Wellenlänge<br />
des Lichts abhängigen Brechungseigenschaften<br />
der Linsen verursacht<br />
und führt zu Farbsäumen an scharfen<br />
Helligkeitskontrasten. Die Vignettierung<br />
ist ebenfalls ein Objektivfehler und bezeichnet<br />
Unterschiede des Objektivs in<br />
der Helligkeitsverteilung zwischen der<br />
Bildmitte und dem Rand. Üblicherweise<br />
ist die Bildmitte heller belichtet. Korrekturen<br />
daran finden sich vor allem in der<br />
oberen rechten Ecke von Abbildung 1 im<br />
Vergleich zu Abbildung 2.<br />
Die optische Qualität der Linse beschränkt<br />
auch die Bildschärfe. Objektivfehler sind<br />
gerade bei preisgünstigen Linsen größer<br />
als bei teuren und sie werden bei sehr<br />
großen und sehr kleinen Blendenöffnungen<br />
deutlicher sichtbar.<br />
Als Testbild für die Entwicklung aus<br />
dem Rohformat dient eine Aufnahme bei
Abbildung 2: Das unbearbeitete Beispielfoto – mit Standardeinstellungen aus<br />
den Raw-Daten importiert – mit den Lichtspuren des Flugzeug.<br />
schwierige Beleuchtungssituation: Blitze<br />
im Gewitter einer Vollmondnacht über<br />
einer Stadt. Die Lichtquellen Vollmond<br />
(dem Sonnenlicht sehr ähnlich), Blitze<br />
(zufällig, grell und violett) und die Lichter<br />
der Stadt (warmes Kunstlicht) sind<br />
unterschiedlich in ihrer Dauer, Farbe und<br />
Vorhersagbarkeit. Es erscheint schlicht<br />
unmöglich, die Kamera bereits im Voraus<br />
korrekt einzustellen.<br />
Für die Aufnahme hat der Autor mit einem<br />
zeitgesteuerten Auslöser eine Reihe<br />
von Aufnahmen je eine halbe Minute<br />
lang belichtet. In dem Gewitter traten<br />
so viele Blitze auf, dass fast auf jeder<br />
Aufnahme einer zu sehen war. Es reichte<br />
ja, wenn es innerhalb der halben Minute<br />
irgendwann einmal blitzte. Die weiteren<br />
Einstellungen waren: ISO 200 (um trotz<br />
langer Belichtung das Bildrauschen unter<br />
Kontrolle zu behalten) und eine eher<br />
große Blende von 4,5 bei einer Brennweite<br />
von 18 mm.<br />
Der Autor korrigierte<br />
vor der Aufnahme<br />
die gemessene<br />
Belichtung<br />
etwas in Richtung<br />
Unterbelichtung, um noch Platz für die<br />
Beleuchtung durch die Blitze zu lassen.<br />
Von vornherein war klar, dass die Bilder<br />
bei vorher nicht genau bekannter Beleuchtung<br />
durch Blitze nur mit Nachbearbeitung<br />
in Belichtung, Ausschnitt und<br />
Weißabgleich wirklich wirken würden.<br />
Die Blitze bringen darüber hinaus scharfe<br />
Helligkeitsunterschiede, sodass an ihren<br />
Rändern Objektivfehler wie die chromatische<br />
Aberration sichtbar werden, besonders<br />
bei preisgünstigen Linsen.<br />
Hot Pixel, Dark Frames<br />
Corel Aftershot Pro<br />
Die lange Belichtungszeit in der Dunkelheit<br />
führt am Himmel zu Bildrauschen<br />
und den in jedem Bildsensor auftretenden<br />
so genannten Hot Pixeln. Letztere<br />
lassen sich technisch durch einen so genannten<br />
Dark Frame entschärfen. Das<br />
bedeutet, mit verschlossenem Objektiv<br />
bei gleicher Temperatur der Kamera und<br />
exakt den gleichen<br />
Belichtungswerten<br />
ein Foto ohne<br />
Mit 90 Euro Verkaufspreis scheint Aftershot Pro ein<br />
richtiges Schnäppchen. Konkurrent Adobe verlangt<br />
für sein Lightroom fast das dreifache (240 Euro). Aftershot<br />
unterstützt eine Vielzahl von Dateiformaten,<br />
unzählige Filter und Raw-Bearbeitungsmethoden und<br />
bringt eine komplette Archivierungsfunktion samt<br />
Schlagwortverwaltung und Suche (Abbildung 3) mit.<br />
Ebenfalls enthalten sind komplexe Rückgängig-Funktionen<br />
in der Bildbearbeitung sowie eine lange Liste an Objektiv- und<br />
Kamera-spezifischen Einstellungen für die Fehlerkorrektur.<br />
Lichteinfall zu schießen, am besten gleich<br />
direkt vor oder nach dem eigentlichen<br />
Foto mit unveränderten manuellen Einstellungen.<br />
So werden nur die elektrischen<br />
Fehler der Kamera aufgenommen,<br />
die sich anschließend aus dem eigentliche<br />
Bild herausrechnen lassen.<br />
Da die Aufnahmen in der Umgebung des<br />
Münchener Flughafens entstanden, sind<br />
auf einigen Aufnahmen störende Lichtspuren<br />
von Flugzeugen. Alles in allem<br />
also eine die Technik herausfordernde<br />
Lichtsituation, die gerade deshalb eine<br />
elektronische Korrektur erfordert.<br />
Installation und Integration<br />
Unter Open Suse 12.1 gestaltet sich die<br />
Installation von Aftershot Pro angenehm<br />
einfach: Das von der Webseite [1] geladene<br />
RPM für die Testversion installiert<br />
»zypper install AftershotPro_i386.rpm«.<br />
Wie der Test [7] zeigt, können auf älteren<br />
oder anderen Distributionen Probleme<br />
auftreten. Digikam, UF Raw und<br />
Rawtherapee sind als Open Source bei<br />
Suse und den meisten anderen Distributionen<br />
gut integriert und installieren sich<br />
wie erwartet ohne Probleme.<br />
Ähnlich wie in Digikam lassen sich in<br />
Aftershot Pro Verzeichnisse nach Bildern<br />
Aftershot 05/2012<br />
Software<br />
www.linux-magazin.de<br />
59<br />
Abbildung 3: Der Metadatenbrowser von Aftershot Pro ist umfangreich und<br />
bietet viele Möglichkeiten, nach Bildern im Archiv zu suchen.<br />
Abbildung 4: Die Oberfläche von Aftershot Pro ist klar aufgebaut und bietet<br />
zahlreiche Funktionen zur Fehlerkorrektur.
Software<br />
www.linux-magazin.de Aftershot 05/2012<br />
60<br />
Abbildung 5: Die störende Lichtspur eines Flugzeugs in Aftershot Pro. Die chromatische<br />
Aberration des Objektivs erzeugt Pixelfehler, ...<br />
Abbildung 6: ... deren Regenbogeneffekt dank der eingebauten Korrekturfilter<br />
auch Aftershot deutlich abmildern kann.<br />
Außerdem sind die Abbildungsfehler der<br />
populärsten Objektive als Werte bereits<br />
im Programm hinterlegt. Rawtherapee<br />
bietet im Menü ähnlich wie Aftershot<br />
Pro Schieberegler an, UF Raw nutzt transparent<br />
die Funktionalität von Hugin ([8],<br />
[9]) zur chromatischen Korrektur. Dazu<br />
bietet UF Raw mit einem direkten Zugriff<br />
auf die Abbildungsmodelle in Hugin einen<br />
flexiblen Einfluss. Das funktioniert<br />
und ist mächtig, erscheint jedoch in der<br />
Menüführung umständlicher als für die<br />
Standardaufgabe notwendig.<br />
Für die Korrektur der Vignettierung ist<br />
die Unterstützung ähnlich. Aftershot Pro<br />
bindet diese ebenfalls als Schieberegler<br />
ein (Abbildung 9), über die der Benutzer<br />
den Fehler beheben kann. UF Raw bietet<br />
direkten Einfluss auf das Linsenmodell<br />
von Hugin, durch Eingabe der Werte lässt<br />
sich die Vignettierung beseitigen. Aber<br />
die umfangreichsten Funktionen bringt<br />
mit Abstand Rawtherapee mit.<br />
Das Bildrauschen ist im Testbild trotz ISO<br />
200 sichtbar vorhanden (am deutlichsdurchsuchen,<br />
die ein Menübaum auf der<br />
linken Seite als kleine <strong>Vorschau</strong> anzeigt.<br />
Dabei kann der Fotograf Bilder bewerten<br />
und kategorisieren. In jedem Fall empfiehlt<br />
es sich, unabhängig vom verwendeten<br />
Programm die Bilder zumindest grob<br />
sortiert in Verzeichnissen zu halten. Nur<br />
Digikam bietet hier noch mehr Möglichkeiten,<br />
vor allem bei der Suche.<br />
Funktionsumfang<br />
Der Funktionsumfang aller Programme<br />
ist ausgesprochen erfreulich. Sie bieten<br />
Funktionen für Belichtungskorrektur,<br />
Weißabgleich, Kontrast und Sättigung,<br />
Verbesserung des Bildrauschens und<br />
Nachschärfen. Die Korrektur der Vignettierung<br />
und chromatischen Aberration ist<br />
in Aftershot besonders komfortabel integriert.<br />
Dafür fehlt in dieser kommerziellen<br />
Lösung die Option, einen Dark Frame<br />
einzubinden – für Langzeitbelichtungen<br />
ist das allerdings ein klarer professioneller<br />
Mangel.<br />
Für die Entwicklung eines Bildes im Rohformat<br />
ist unter Digikam ein Rechtsklick<br />
und die Auswahl des Eintrags »Öffnen<br />
mit UFRaw« erforderlich, während Aftershot<br />
die Entwicklung selbstständig<br />
und aus eigener Kraft erledigt.<br />
Die Belichtungskorrektur im Beispielbild<br />
erscheint zwar auf den ersten Blick<br />
nicht zwingend notwendig, doch schlagen<br />
alle Programme eine Aufhellung vor.<br />
Hier muss sich der Fotograf entscheiden:<br />
Nicht selten frisst dann die Helligkeit in<br />
der Umgebung des Blitzes dessen Struktur<br />
zu sehr auf. Um die Aufhellung feiner<br />
zu dosieren, lassen sich die Helligkeitswerte<br />
auch unterschiedlich einstellen,<br />
also dunklere Stellen mehr und hellere<br />
weniger – oder auch umgekehrt –, um<br />
den Kontrast zu erhöhen. Dazu bieten Aftershot<br />
Pro (Abbildung 4) mit »Perfectly<br />
Clear« und UF Raw Automatismen, die zu<br />
klarer wirkenden Bildern führen. Je nach<br />
Aufnahme passt die Automatik bereits<br />
gut, wenn nicht, kann der Anwender von<br />
Hand nachbessern.<br />
Farblich ist die bestimmende Lichtquelle<br />
im Bild der Vollmond, der auf die Wolken<br />
scheint. Der Himmel soll im satten<br />
Blau der klaren Nacht strahlen, die<br />
warmen Lichtquellen der Stadt dürfen<br />
einen rötlichen Kontrast bilden. Diese<br />
Bildwirkung erzeugt der Weißabgleich<br />
auf Sonnenlicht, denn der Mond selbst<br />
ist im Wesentlichen grau und von der<br />
Sonne beschienen. Die besonders heißen<br />
Blitze behalten einen ihrer hohen Temperatur<br />
entsprechenden violetten Saum.<br />
Alle Programme Aftershot, UF Raw und<br />
Rawtherapee beherrschen den Weißabgleich<br />
tadellos.<br />
Chromatische Aberration<br />
Die chromatische Aberration ist im Bild<br />
besonders an der Lichtspur des vorbeifliegenden<br />
Flugzeugs sichtbar. Obwohl<br />
der Strich stört und später einer Retusche<br />
zum Opfer fallen soll, eignet er sich<br />
wegen des starken Kontrasts zwischen<br />
dunklem Himmel und der Flugzeugbeleuchtung<br />
doch gut zur Veranschaulichung<br />
der chromatischen Aberration.<br />
Abbildung 5 zeigt den Fehler vor der<br />
Bearbeitung in Aftershot Pro, die Abbildungen<br />
6 bis 8 die Bearbeitungen in den<br />
drei Programmen.<br />
Vor allem in der Vergrößerungslupe zeigen<br />
sich die Unterschiede, wobei kein<br />
Programm sich hier Blößen gibt. An den<br />
Rändern der Lichtspur ist eine Art Regenbogen<br />
sichtbar (Abbildung 5), der durch<br />
die unterschiedlich starke Lichtbrechung<br />
der verschiedenen Wellenlängen durch<br />
die Objektivlinsen entsteht. Hochwertige<br />
Linsen zeigen den Effekt schwächer, mit<br />
genug Kleingeld lässt sich der Effekt also<br />
stark eingrenzen.<br />
Doch bietet die digitale Nachbearbeitung<br />
die Möglichkeit, auch mit preiswerten<br />
Objektiven bessere Ergebnisse zu erzielen.<br />
Aftershop Pro bietet die Option als<br />
Schieberegler an, die lassen sich so lange<br />
schieben, bis das Ergebnis optimiert ist.<br />
Vignettierung
www.linux-magazin.de<br />
Aftershot 05/2012<br />
Software<br />
61<br />
Abbildung 7: Auch UF Raw kann objektivabhängige Korrekturen vornehmen. Das<br />
Ergebnis kann sich durchaus mit Aftershot Pro messen.<br />
Abbildung 8: Rawtherapee hat die Objektivkorrekturen angewandt. Deutlich<br />
sichtbar ist in dieser Abbildung das störende Bildrauschen.<br />
ten in Abbildung 8). Die Option »Noise<br />
Ninja« schwächt unter Aftershot Pro das<br />
Rauschen, unter UF Raw und Rawtherapee<br />
schlichter Rauschunterdrückung<br />
genannt. Rawtherapee stellt die meisten<br />
Regelmöglichkeiten bereit, einen sichtbar<br />
aufwertenden Effekt bieten jedoch alle<br />
Produkte. Jeder Anwender muss selbst<br />
entscheiden, ob er die Bequemlichkeit<br />
der Automatik oder die Flexibilität der<br />
manuellen Steuerung vorzieht – und welches<br />
Programm die wichtigeren Features<br />
enthält oder besser beherrscht.<br />
Gimp-Export<br />
Angenehmerweise lassen sich aus allen<br />
Programmen die entwickelten Bilder<br />
direkt in Gimp importieren. Das ist<br />
auch aus Sicht von Aftershot Pro nur<br />
konsequent, denn Gimp hat mit seinem<br />
mächtigen Funktionsumfang trotz Corels<br />
Allzwecktool keineswegs ausgedient. Im<br />
Falle des Beispielbilds wirkt die Lichtspur<br />
des Flugzeugs, obwohl nun um die<br />
chromatische Aberration korrigiert, zu<br />
störend, um im Bild verbleiben zu dürfen.<br />
Kein Problem für Gimps »Heilen«-<br />
Werkzeug: Im Nu ist die Flugzeugspur<br />
von der Bildfläche verschwunden.<br />
Fotografisch reizvoll sind Umwandlungen<br />
in Schwarz-Weiß. Der Funktionsumfang<br />
von Aftershot Pro, UF Raw und Gimp<br />
ist auch an dieser Stelle auf hohem Niveau<br />
und miteinander vergleichbar. In<br />
Rawtherapee ist direktes Umwandeln in<br />
Schwarz-Weiß nicht vorgesehen.<br />
Aftershot: Nicht immer<br />
besser, aber integriert<br />
Abbildung 9: Vor allem in der rechten oberen Ecke sichtbar: Die Linsenkorrektur<br />
von Aftershot korrigiert auch unerwünschte Vignettierungseffekte.<br />
Sowohl Aftershot Pro auf der einen als<br />
auch Digikam, UF Raw oder Rawtherapee<br />
auf der anderen Seite ermöglichen<br />
die umfangreiche Verwaltung und Entwicklung<br />
der Bilder aus dem Rohformat.<br />
Aftershot Pro erscheint am besten integriert,<br />
Rawtherapee bietet die umfangreichsten<br />
Einflussmöglichkeiten für die<br />
Entwicklung [10]. Digikam punktet ganz<br />
klar beim Archivieren oder bei Tools wie<br />
der ungenauen Suche, die nach ähnlichen<br />
Bildern oder schnell gezeichneten<br />
Skizzen sucht.<br />
Für eine vollständige Nachbearbeitung<br />
oder gar künstlerische Verbindungen<br />
mehrerer Bilder<br />
kommt kein Programm<br />
um Gimp<br />
herum.<br />
Aftershot Pro integriert<br />
Funktionen<br />
wie die von Digikam<br />
und UF Raw<br />
unter einer angenehmer<br />
zu bedienenden<br />
Oberfläche.<br />
Ein vergleichbarer<br />
Verbesserungseffekt<br />
lässt<br />
sich unter Aftershot Pro mit einem kürzerem<br />
Workflow als unter den aktuell<br />
weniger eng integrierten offenen Lösungen<br />
erreichen. Um das Allerletzte aus<br />
dem Bild zu kitzeln, erscheint jedoch die<br />
Flexibilität von Rawtherapee das notwendige<br />
Mittel.<br />
Der Preis der proprietären Corel-Software<br />
Aftershot Pro ist im Vergleich zur kommerziellen<br />
Konkurrenz freundlich und<br />
das Angebot einer proprietären Lösung<br />
unter <strong>Linux</strong> besonders erfreulich. Insgesamt<br />
bietet Corel ein gutes Produkt zu<br />
einem fairen Preis, das zwar nicht in allen<br />
Belangen mit den freien Tools ebenbürtig<br />
ist, für die meisten Anwendungen<br />
jedoch mehr als genug Funktionen bringt<br />
– und diese besser zu integrieren weiß als<br />
die Konkurrenz.<br />
n<br />
Infos<br />
[1] Aftershot Pro: [http:// www. corel. com/<br />
corel/ product/ index. jsp? pid=prod4670071]<br />
[2] Bibble Labs: [http:// bibblelabs. com]<br />
[3] Digikam: [http:// www. digikam. org]<br />
[4] UF Raw: [http:// ufraw. sourceforge. net]<br />
[5] Rawtherapee: [http:// rawtherapee. com]<br />
[6] Gimp: [http:// www. gimp. org]<br />
[7] Thomas Leichtenstern, „Entwicklungshelfer“:<br />
<strong>Linux</strong>-User 3/12, S. 64-<br />
[8] Hugin: [http:// hugin. sourceforge. net]<br />
[9] Markus Feilner, Fritz Reichmann, „Runde<br />
Sache“: <strong>Linux</strong>-<strong>Magazin</strong> 01/12, S. 60<br />
[10] Thomas Leichtenstern, „Alles unter einem<br />
Dach: <strong>Linux</strong>User 09/10, S. 32<br />
Der Autor<br />
Fritz Reichmann arbeitet als Software Development<br />
Engineer bei der Amadeus Data Processing<br />
GmbH. Der leidenschaftliche Hobbyfotograf nutzt<br />
beruflich und privat <strong>Linux</strong> seit Kernel 1.2.12.
Software<br />
www.linux-magazin.de Libre Office 3.5 05/2012<br />
64<br />
Libre Office mit neuen Importfiltern<br />
Gut in Form<br />
Draw und Impress rüsten auf – die neue Libre-Office-Version 3.5 enthält erstmals einen Importfilter für MS-<br />
Visio-Dokumente und verspricht Powerpoint-Formen besser zu unterstützen. Der Test untersucht, wie fit die<br />
beiden Office-Module sind. Renate Hermanns<br />
© skaisbon, photocase.coma<br />
Anfang Februar veröffentlichten die<br />
Libre-Office-Entwickler einen neuen Release<br />
Candidate des freien Büropakets<br />
[1]. Alle Komponenten kommen mit<br />
Neuerungen oder Verbesserungen, auch<br />
das Zeichenprogramm Draw und die<br />
Präsentations-Software Impress. Gerade<br />
für Draw hatte die Nutzergemeinde in<br />
der Vergangenheit mehrfach den Wunsch<br />
geäußert, MS-Visio-Dateien bearbeiten<br />
zu können. In Rekordzeit stellten die<br />
Entwickler einen Importfilter für VSD-<br />
Files auf die Beine. Das Präsentationstool<br />
erweiterten sie ebenfalls um eine Importfunktion<br />
für Zeichenobjekte.<br />
Um die beiden neuen Features zu prüfen,<br />
installierten die Tester Libre Office<br />
3.5 (RC3 vom zweiten Februar, [2]) auf<br />
einem aktuellen Ubuntu-System (11.10).<br />
Sie deinstallierten zuvor die 3.4-Variante,<br />
wie im Wiki empfohlen [3]. Zwei selbst<br />
erstellte Dokumente sollen danach be-<br />
weisen, wie ausgereift die neuen Features<br />
tatsächlich sind. Draw wagt sich an ein<br />
mit Visio erzeugtes Netzwerkdiagramm,<br />
Impress importiert eine Powerpoint-Präsentation<br />
mit veränderbaren Formen.<br />
Visionen in Draw<br />
MS Visio erfreut sich vor allem in vielen<br />
Firmen und bei etlichen Windows-Anwendern<br />
großer Beliebtheit. Ein Grund<br />
Abbildung 1: Ein Diagramm mit Netzwerkstrukturen – einmal in MS Visio (links) und in Libre Office Draw (rechts): Die feinen Linien und die Details der Symbole sehen<br />
nach dem Import unverändert aus. Somit ist es nun erstmals möglich, VSD-Dokumente von Windows-Nutzern unter <strong>Linux</strong> zu öffnen.
Abbildung 2: Nach dem Abspeichern als ODG-Datei<br />
und erneutem Öffnen in Draw hat der Laptop leicht<br />
verschobene Linien.<br />
dürfte die intuitive Oberfläche des Visualisierungstools<br />
sein. Zudem lassen<br />
sich die einzelnen Visio-Schablonen mit<br />
Daten aus beliebigen Datenbanken und<br />
Excel-Tabellen verknüpfen.<br />
Bisher war es unmöglich, VSD-Dateien<br />
mit einem alternativen Programm unter<br />
Windows oder <strong>Linux</strong> zu öffnen. Anwendern<br />
blieb nur den Weg über den Export<br />
in ein anderes Format. Das ändert sich<br />
jetzt mit der neuen Libre-Office-Importfunktion<br />
von Draw. Mit Hochdruck haben<br />
die Entwickler in den letzten Monaten<br />
an dem Filter [4] gearbeitet – und er ist<br />
ihnen erstaunlich gut gelungen, wie die<br />
Tests zeigen. Die vorgefertigten Visio-Zeichenobjekte<br />
sind teilweise recht filigran.<br />
Dass die komplexen Vektorstrukturen<br />
beim Import in Draw erhalten bleiben,<br />
war offenbar das Hauptziel, und mit dem,<br />
was in Draw ankommt, können Anwender<br />
gut arbeiten (Abbildung 1).<br />
Das Zeichenprogramm speichert die<br />
importierten Dateien als Open-Document-Zeichnung<br />
(Endungen ».fodg« und<br />
».odg«) beziehungsweise ‐Vorlage (».otg«)<br />
sowie als Star-Office-Zeichnung (».sxd«)<br />
und ‐Vorlage (».std«). In allen Varianten<br />
zerfallen im Test die ehemals gruppierten<br />
Icons aus dem Netzwerkdiagramm beim<br />
Import in ihre Einzelteile.<br />
Als problematisch erweist sich der fehlende<br />
Verbund aber erst dann, wenn der<br />
Nutzer die geänderte Datei nach dem<br />
Speichern erneut öffnet. Bei einigen Zeichenobjekten,<br />
etwa dem Telefon und dem<br />
Laptop, verschieben sich ein paar Linien<br />
(Abbildung 2). Auch das erneute Gruppieren<br />
der Objekte vor dem Abspeichern<br />
in Draw löst das Problem nicht – hier ist<br />
Handarbeit angesagt.<br />
Ein Zurück zur Microsoft-Anwendung<br />
gibt es übrigens nicht. Das Windows-<br />
Programm öffnet keines der in Draw<br />
angebotenen Formate, auch der Export<br />
als Vektorgrafik (».svg«) liefert kein<br />
brauchbares Ergebnis. Das ist aber zu<br />
verschmerzen, zumal das Feature ja auch<br />
als Importfilter und nicht als Exportfilter<br />
angekündigt ist – vielleicht folgt dieser ja<br />
auch irgendwann.<br />
Impress versus Powerpoint<br />
Die Liste der Neuerungen in Libre Office<br />
3.5 [5] zeigt in zwei Screenshots<br />
anschaulich die Verbesserungen beim<br />
PPTX-Import benutzerdefinierter Formen.<br />
Die Vorgängerversion 3.4 veränderte<br />
einen Großteil der Custom Shapes<br />
noch stark, einige verschwanden beim<br />
Import komplett. In der neuen Release<br />
sind alle in Powerpoint angelegten Formen<br />
vorhanden, wie Abbildung 3 zeigt.<br />
Auch die verknüpfte Verweislinie einer<br />
Legendenform bleibt erhalten.<br />
Anwender können mit den optisch identischen<br />
Formen weiterarbeiten. Größen-<br />
und Lage-Änderungen sowie Veränderungen<br />
der enthaltenen Textfelder<br />
erweisen sich nicht als Problem. Die 3-D-<br />
Funktionen komplizierter Formen sind<br />
jedoch nur eingeschränkt verfügbar. So<br />
lässt etwa die Verweislinie einer Legende<br />
keine Veränderung mehr zu. Versucht der<br />
Nutzer diese Restriktion zu umgehen,<br />
verschwindet sie sogar völlig.<br />
Eine Enttäuschung erlebten die Tester<br />
beim Versuch, eine solche Präsentation<br />
in Impress zu speichern. Sowohl das originale<br />
PPTX-Format als auch das native<br />
ODP drücken der Datei ihren Stempel auf<br />
und verändern die Formen bis zur Unkenntlichkeit<br />
(siehe Abbildung 4). Der<br />
Hinweis, dass das Dokument Formatierungen<br />
und Inhalte enthalten kann, die<br />
das Programm nicht in dem aktuell ausgewählten<br />
Format zu speichern vermag,<br />
tröstet da nur wenig.<br />
Auch der versprochene Import von Smart-<br />
Art-Objekten in Impress klappt nicht. In<br />
Powerpoint können solche Objekte Aufzählungen<br />
grafisch aufbereitet anzeigen.<br />
Der Clou ist, dass Anwender den Textinhalt<br />
auch weiterhin wie normalen Text<br />
REGISTER<br />
NOW!<br />
Die Konferenz zum Thema Einsatz<br />
von Open Source Software in Rechenzentren<br />
und großen IT Umgebungen.<br />
Schwerpunktthema 2012:<br />
AGILE INFRASTRUCTURES<br />
mit dem Focus auf<br />
DEVOPS AND METHODS<br />
DATABASES<br />
SCALABILITY & INFRASTRUCTURE<br />
wwww.netways.de/osdc<br />
presented by<br />
NETWAYS ®
Software<br />
www.linux-magazin.de Libre Office 3.5 05/2012<br />
66<br />
Abbildung 3: Das Testdokument sieht in Powerpoint (links) genauso aus wie in Impress (rechts). Alle Formen importiert das Präsentationstool klaglos.<br />
editieren können und nicht direkt in das<br />
Objekt hineinschreiben müssen. Impress<br />
importiert diese Smart-Art-Objekte in der<br />
neuen Version, verliert auf dem Weg aber<br />
deren eigentliche Funktionalität.<br />
Die Autorin<br />
Renate Hermanns ist selbstständige<br />
Webentwicklerin.<br />
Sie plant und erstellt vor allem<br />
Templates für Contentmanagement-Systeme<br />
nach<br />
modernen Standards. HTML<br />
5 und CSS 3 sind ihre Werkzeuge, um Webseiten<br />
auch auf mobilen Endgeräten benutzerfreundlich<br />
auszugeben, und Javascript ermöglicht ihr<br />
den Spagat zwischen alten und neuen Browsergenerationen.<br />
Ihre Homepage ist [http:// www.<br />
css‐manufaktur. de].<br />
Nach dem Import stehen dem Nutzer nur<br />
die in einzelne Grafikobjekte zerlegten<br />
Elemente mit Textboxen zur Verfügung.<br />
Beschriftungen muss er dort direkt ändern.<br />
Das wäre zu verschmerzen, aber<br />
auch hier offenbart sich nach dem erneutem<br />
Öffnen ein trauriges Bild. Die Objekte<br />
sind nicht mehr besonders smart, sondern<br />
fast alle verschwunden. Händisches<br />
Nachbessern ist somit ausgeschlossen.<br />
Fast bemerkenswert<br />
Mit der verbesserten Importfunktion<br />
für Draw ist den Entwicklern ein großer<br />
Schritt gelungen. Libre Office 3.5 öffnet<br />
Zeichenobjekte aus Visio, und Anwender<br />
können diese Dokumente auch weiterverarbeiten.<br />
Der positive Eindruck setzt<br />
sich beim Impress-Filter für Powerpoint-<br />
Dateien leider nicht fort: Das Libre-Office-Präsentationstool<br />
vermag die importierten<br />
und bearbeiteten Dateien nicht<br />
brauchbar zu speichern und verändert<br />
die erneut geöffneten Testdokumente teilweise<br />
bis zur Unkenntlichkeit. (hej) n<br />
Infos<br />
[1] Libre Office: [http:// de. libreoffice. org]<br />
[2] Libre-Office-Download:<br />
[http:// de. libreoffice. org/ download]<br />
[3] Installationsanleitung:<br />
[http:// wiki. documentfoundation. org/<br />
Installing_LibreOffice_on_<strong>Linux</strong>]<br />
[4] Visio-Importfilter: [http:// de. libreoffice.<br />
org/ download/ 3‐5‐neuerungen/ # Filter]<br />
[5] Impress- und Draw-Verbesserungen:<br />
[http:// de. libreoffice. org/ download/ 3‐5‐<br />
neu erungen/ # Impress‐Draw‐Verbesserung]<br />
Abbildung 4: Nach dem Abspeichern und erneuten Öffnen einer Powerpoint-Präsentation mit Formen zeigen sich diese weit entfernt vom Original. Die PPTX-Datei<br />
präsentiert nur noch gleichförmige Rechtecke und unschöne Artefakte.
Software<br />
www.linux-magazin.de Tooltipps 05/2012<br />
68<br />
Werkzeuge im Kurztest<br />
Tooltipps<br />
Lziprecover 1.13<br />
Lzip-Archive reparieren<br />
Quelle: [http:// www. nongnu. org/ lzip/<br />
lziprecover. html]<br />
Lizenz: GPLv3<br />
Alternativen: File Ripper<br />
Kccmp 0.3<br />
Kernelkonfigurationen vergleichen<br />
Quelle: [http:// stoopidsimple. com/ kccmp]<br />
Lizenz: GPLv2<br />
Alternativen: Diff, Tkdiff<br />
Checksuite 3.3<br />
Monitoring-Toolsammlung<br />
Quelle: [http:// checksuite. sourceforge. net]<br />
Lizenz: GPLv2<br />
Alternativen: Nagios, Sawdog<br />
Fast jeder hat sich schon mal über defekte<br />
Archivdateien geärgert, die keinen<br />
Zugriff mehr auf den verpackten Inhalt<br />
erlauben. Für mit Lzip Komprimiertes<br />
empfiehlt sich Lziprecover und versucht<br />
sich an der Reparatur. Wunder sollten<br />
Anwender jedoch nicht erwarten. Lziprecover<br />
ist kein Ersatz für regelmäßige<br />
Sicherungskopien, denn je nach Größe<br />
des Schadens gestaltet sich die Instandsetzung<br />
aufwändig oder das Tool kann<br />
gar nichts mehr ausrichten.<br />
Leicht beschädigte Archive, bei denen<br />
etwa nur ein Byte am falschen Fleck<br />
sitzt, repariert Lziprecover mit »‐R«. Hat<br />
der Anwender weitere, ebenfalls defekte<br />
Kopien eines Archivs, kann das Tool sie<br />
zusammenfügen und eventuell zu einer<br />
intakten Datensammlung gelangen.<br />
Alternativ hat der Nutzer immer noch<br />
die Möglichkeit, wiederherstellbare Fragmente<br />
auf der Standardausgabe auszugeben<br />
und von Hand einzelne Dateien zu<br />
retten. Wer weiß, wo im lädierten Archiv<br />
die gesuchten Daten liegen, der kann<br />
außerdem einzelne Bereiche dekomprimieren.<br />
Die Quelldatei tastet Lziprecover<br />
dabei auf Wunsch nicht an.<br />
★★★★★ Lziprecover erweist sich als<br />
hilfreich bei der Korrektur leicht beschädigter<br />
Lzip-Archive. Sind diese stärker in<br />
Mitleidenschaft gezogen, ist viel Handarbeit<br />
gefordert.<br />
n<br />
Wer seine <strong>Linux</strong>-Kernel selbst baut, wird<br />
regelmäßig einen Blick in die ».config«-<br />
Dateien werfen oder die Standardkonfiguration<br />
einer neuen Version mit dem<br />
Vorgänger vergleichen. Meist kommt Diff<br />
dabei zum Einsatz, bequemer geht’s jedoch<br />
mit Kccmp. Das Tool nimmt zwei<br />
Kernel-Einrichtungsdateien entgegen,<br />
vergleicht sie und stellt die Einstellungen<br />
in einer Qt-4-basierten Oberfläche<br />
gegenüber.<br />
Auf Wunsch zeigt Kccmp nur die Parameter<br />
an, die in den beiden Konfigurationen<br />
voneinander abweichen. Alternativ gibt<br />
das Tool alle Optionen samt ihren Werten<br />
aus, die nur in einer der beiden Dateien<br />
vorkommen. Weiteren Bedienkomfort<br />
suchen Kernelbauer vergeblich. Eine<br />
Suchfunktion fehlt ebenso wie die Möglichkeit,<br />
Änderungen an den ».config«-<br />
Dateien vorzunehmen.<br />
Zwar dürfen Nutzer die einzelnen Felder<br />
markieren und die darin enthaltenen<br />
Werte ändern, diese Modifikationen landen<br />
aber nicht in den Einrichtungsdateien,<br />
wie eine Kontrolle mit Vim im Test<br />
ergab. Für schnelles Abgleichen zweier<br />
Kerne genügt Kccmp aber völlig.<br />
★★★★★ Kccmp erledigt das, was es verspricht,<br />
und liefert schnell einen Überblick<br />
über Abweichungen in Kernelkonfigurationen.<br />
n<br />
Diese nützliche Suite erleichtert das Leben<br />
von Sysadmins. Die acht Perl-Tools<br />
überprüfen etwa die Festplatte(n), Systemlast,<br />
I-Nodes, Links oder den Swapbereich.<br />
Checkdisk beispielsweise behält<br />
den Füllstand der Festplatte(n) im Auge.<br />
Checkhardware indes durchforstet die<br />
»dmesg«-Ausgabe nach möglichen Hardwarefehlern.<br />
Für die Überwachung der<br />
Systemlast ist Checkload zuständig. Es<br />
prüft die Angabe zu »load average« in<br />
der Voreinstellung alle fünf Minuten. Die<br />
Suche nach toten Prozessen übernimmt<br />
Checkzombie.<br />
Beim Aufruf gibt der Anwender den<br />
einzelnen Befehlen einen Schwellenwert<br />
sowie eine Mailadresse oder eine<br />
Pagernummer mit. Erreicht ein Tool die<br />
vorgegebene Grenze, alarmiert es den<br />
Sysadmin. Alternativ schreiben sämtliche<br />
Checkprogramme Logeinträge. Für<br />
die regelmäßige Kontrolle empfiehlt sich<br />
die Zusammenarbeit mit Cron. Eine entsprechende<br />
Beispielkonfiguration ist im<br />
Checksuite-Archiv enthalten. Hier finden<br />
Admins ebenfalls ein Beispiel für die Nutzung<br />
mit Logrotate.<br />
★★★★★ Checksuite ist eine interessante<br />
Alternative für alle Admins, die Nagios<br />
& Co. als zu mächtig und zu aufwändig<br />
empfinden. Wer nur die wichtigsten Eckdaten<br />
erfassen möchte, der kommt mit<br />
der Toolsammlung schnell ans Ziel. n
JETZT<br />
MIT DVD!<br />
MAGAZIN<br />
Sonderaktion<br />
Testen Sie jetzt<br />
3 Ausgaben<br />
für 3 Euro!<br />
Jetzt schnell bestellen:<br />
• Telefon 07131 / 2707 274<br />
• Fax 07131 / 2707 78 601<br />
• E-Mail: abo@linux-magazin.de<br />
• Web: www.linux-magazin.de/probeabo<br />
Mit großem Gewinnspiel unter:<br />
www.linux-magazin.de/probeabo<br />
Gewinnen Sie...<br />
die 7Links Outdoor-IP-Kamera „IPC-710IR“<br />
Einsendeschluss ist der 15.06.2012
Software<br />
www.linux-magazin.de Tooltipps 05/2012<br />
70<br />
Tmsu 0.0.5<br />
Dateien mit Tags versehen<br />
Quelle: [https:// bitbucket. org/ oniony/ tmsu/<br />
wiki/ Home]<br />
Lizenz: GPLv3<br />
Alternativen: keine<br />
Clamtk 4.37<br />
Grafische Oberfläche für Clam AV<br />
Quelle: [http:// clamtk. sourceforge. net]<br />
Lizenz: GPLv3<br />
Alternativen: Wbm Clam AV, Antivirus<br />
Scanner<br />
Getxbook 0.8<br />
Onlinebücher herunterladen<br />
Quelle: [http:// njw. me. uk/ software/<br />
getxbook]<br />
Lizenz: ISC<br />
Alternativen: I-Bookshelf<br />
Tags erweisen sich beim Verwalten von<br />
Musik und Bildern als extrem nützlich,<br />
und manch einer hat sich sicherlich<br />
schon gewünscht andere Dateien ähnlich<br />
auszuzeichnen. Tmsu erfüllt diesen<br />
Wunsch und erlaubt Anwendern, Dateien<br />
mit frei definierbaren Tags auszustatten.<br />
Die Originaldateien fasst das Tool nicht<br />
an, stattdessen erstellt es ein auf Fuse<br />
basierendes virtuelles Verzeichnissystem.<br />
Für jedes Tag existiert dort ein Unterverzeichnis,<br />
das symbolische Links auf die<br />
Urfassungen enthält.<br />
Vor dem Markieren erstellen Nutzer zunächst<br />
einen Mountpoint und aktivieren<br />
das virtuelle Dateisystem. Danach ist das<br />
Tool einsatzbereit und nimmt hinter dem<br />
Aufruf »tmsu tag« den Namen des Tags<br />
und die Datei(en) entgegen. Handelt es<br />
sich um einen neuen Begriff, fügt Tmsu<br />
ihn der Liste hinzu und legt ein entsprechendes<br />
Unterverzeichnis in seinem virtuellen<br />
Dateisystem an. Über »tmsu stats«<br />
erfährt der Anwender, wie viele Tags und<br />
markierte Dateien das Tool gerade verwaltet.<br />
Eine »dupes«-Funktion sucht nach<br />
doppelten Auszeichnungen. Außerdem<br />
enthalten sind Optionen, die Tags entfernen<br />
oder umbenennen.<br />
Sämtliche Fakten zu den Tags und den<br />
Dateien verwaltet Tmsu in einer SQlite-<br />
3-Datenbank im Benutzerverzeichnis. Sie<br />
umfasst drei Tabellen, die alle Informationen<br />
und Zuordnungen aufnehmen. Über<br />
»tmsu export« geben Nutzer die Daten im<br />
CSV-Format aus.<br />
★★★★★ Tmsu versieht beliebige Dateien<br />
mit Tags, ohne die Originale zu<br />
manipulieren. Auf diese Weise verwalten<br />
Anwender bequem große Datenmengen.<br />
Ein Blick lohnt sich.<br />
n<br />
Clamtk ist ein einfaches und übersichtliches<br />
GUI für den freien Virenscanner<br />
Clam AV. Das Programm setzt auf Tk-<br />
Bibliotheken und GTK-2-Perl. Bei jedem<br />
Aufruf verifiziert es zuerst, ob die Virensignaturen<br />
und die Clam-AV-Engine auf<br />
dem neuesten Stand sind. Gegebenenfalls<br />
lädt Clamtk dann Aktualisierungen aus<br />
dem Netz, es benötigt daher eine Internetverbindung.<br />
In der gut strukturierten Oberfläche scannen<br />
Nutzer mit wenigen Handgriffen<br />
einzelne Dateien oder ganze Verzeichnisse.<br />
Das Feintuning der Scanparameter<br />
erfolgt im »Advanced«-Menü. Hier<br />
nehmen Nutzer etwa versteckte Dateien<br />
vom Scan aus oder prüfen nur Dinge, die<br />
eine bestimmte Mindestgröße aufweisen.<br />
Außerdem klammern sie über Whitelists<br />
gleich ganze Verzeichnisse von einem<br />
Scandurchlauf aus.<br />
Das Ergebnis bereitet Clamtk als übersichtliche<br />
Liste auf. Vorschläge zur Weiterverarbeitung<br />
infizierter Daten macht<br />
das Tool nicht, also muss der Anwender<br />
selbst entscheiden, wie er vorgeht. Wer<br />
betroffene Dateien nicht direkt löschen<br />
möchte, der kann sie unter Quarantäne<br />
stellen oder umbenennen. Letzteres ist<br />
natürlich nicht besonders sicher. Für Anwender,<br />
die in einem restriktiven Netz<br />
arbeiten, bietet Clamtk Proxy-Einstellungen<br />
für die regelmäßigen Updates. Diese<br />
und andere Aufgaben automatisiert das<br />
Perl-Tool mit entsprechenden Crontab-<br />
Einträgen.<br />
★★★★★ Clamtk ist eine komfortable<br />
Oberfläche für den beliebten Virenscanner<br />
Clam AV. Anwender überprüfen mit<br />
wenigen Mausklicks, ob infizierte Dateien<br />
auf dem System liegen. n<br />
Getxbook lädt Bücher aus dem Netz herunter.<br />
Enthalten sind die drei Programme<br />
Getgbook, Getabook und Getbnbook für<br />
die drei Anbieter Google Books, Amazon<br />
und Barnes & Nobles. Um ein Werk von<br />
einem Dienst auf den eigenen Rechner<br />
zu bringen, ruft der Nutzer das entsprechende<br />
Tool zusammen mit der ID des<br />
gewünschten Werks auf. Bei Amazon ist<br />
das die ASIN, Google nutzt die Book ID<br />
und Barnes & Nobles die ISBN 13.<br />
Wenn nichts anderes angegeben ist, lädt<br />
der Befehl den gesamten verfügbaren Inhalt<br />
herunter. Es ist aber auch möglich,<br />
beim Aufruf Seitenzahlen anzugeben. Mit<br />
Hilfe von »seq« automatisieren Nutzer<br />
diesen Vorgang. Google beschränkt den<br />
maximalen Download pro IP-Adresse. Bei<br />
größeren Dokumenten muss der Anwender<br />
also in Etappen vorgehen. Getgbook<br />
merkt sich, welche Seiten es bereits übertragen<br />
hat.<br />
Für ihre Arbeit braucht die Toolsammlung<br />
direkten Internetzugriff, einen Proxy<br />
unterstützt sie nicht. Alle heruntergeladenen<br />
Seiten befinden sich in einem<br />
Verzeichnis mit der ID des Buches. Das<br />
Archiv enthält auch eine rudimentäre Tclbasierte<br />
Oberfläche, in die der Anwender<br />
die Buch-ID einträgt und das Tool auswählt.<br />
Sonderfunktionen wie die Erfassung<br />
einzelner Seiten unterstützt das GUI<br />
jedoch nicht.<br />
★★★★★ Getxbook besorgt Futter für Leseratten,<br />
welche die von Amazon, Google<br />
und Barnes & Nobles freigegebenen Bücher<br />
gerne offline lesen oder archivieren<br />
möchten. Abzüge in der B-Note gibt es<br />
lediglich wegen des fehlenden Proxy-<br />
Supports. (U. Vollbracht/hej) n
Aus dem Alltag eines Sysadmin: Pktstat<br />
Traffic Spotting<br />
Einführung 05/2012<br />
Sysadmin<br />
Gerade für Alltagsaufgaben wie das Überwachen des Netzwerkverkehrs sollte sich der Admin ein Standard tool<br />
küren, dass sowohl ausreichend funktional als auch nicht zu kompliziert zu handhaben ist. Charly Kühnast<br />
Inhalt<br />
72 Fünf Stats<br />
<strong>Linux</strong> bietet zahlreiche Tools zur Systemdiagnose:<br />
Vmstat, Netstat, Iostat,<br />
und Ifstat haben ihre Vorteile, aber am<br />
umfassendendsten berichtet Dstat.<br />
Heute schiebe ich die für Admins nicht<br />
gerade exotische Aufgabe, den Netzverkehr<br />
auf einem Interface menschenlesbar<br />
aufzudröseln, ins Licht dieser Kolumne.<br />
Grund: Auf der Suche nach einem Kompromiss<br />
zwischen dem einsilbigen Iptraf<br />
und dem geschwätzigen Wireshark bin<br />
ich auf Pktstat gestoßen. Das Tool gehört<br />
zum Umfang der meisten Distributionen,<br />
der Quellcode ist unter [1] erhältlich.<br />
Um die aktuellen Verbindungen auf der<br />
Schnittstelle zu sehen, tippe ich bloß:<br />
pktstat ‐i eth0<br />
In einer Ansicht, die entfernt an »top« erinnert,<br />
stellt Pktstat die Netzwerkaktivität<br />
nach Klassen sortiert (ICMP, TCP, UDP<br />
und so weiter) untereinander dar. Wem<br />
die Namensauflösung zu lange dauert,<br />
der schaltet sie mit dem Parameter »‐n«<br />
einfach ab. Bei Protokollen wie HTTP,<br />
FTP und X11 gibt Pktstat weitere Informationen<br />
über die übertragenen Daten aus,<br />
bei HTTP etwa den Pfad und die Requestmethode,<br />
also »GET« oder »POST«.<br />
Abbildung 1 zeigt den Download des ISO-<br />
Image der kommenden Ubuntu-LTS-Version<br />
12.04. Dabei fällt auf, dass Pktstat<br />
nicht die vollständigen Namen der Quellund<br />
der Zielmaschine anzeigt, sondern<br />
nur den Teil bis zum ersten Punkt – der<br />
Übersichtlichkeit wegen. Will ich partout<br />
den ganzen Namen sehen, lege ich Pktstat<br />
den Parameter »‐F« ins Gepäck.<br />
Die Übersicht geht aber spätestens flöten,<br />
wenn es auf der Netzwerkschnittstelle<br />
hektisch zugeht. Um Schritt zu halten,<br />
bediene ich mich zweier<br />
Schräubchen. Zum einen<br />
löscht Pktstat Verbindungen,<br />
für die keine<br />
Daten mehr fließen, erst<br />
nach 10 Sekunden aus<br />
der Übersicht. Diesen<br />
Wert verringere ich mit<br />
dem Parameter »‐k«<br />
(Keeptime), etwa auf 1<br />
Se kunde.<br />
Außerdem aktualisiert<br />
Pktstat seine Übersicht<br />
nur alle 5 Sekunden. Mit<br />
»‐w 1« mache ich ihm<br />
Beine, die Ansicht erneuert<br />
sich nun sekündlich.<br />
Für den Parameter »‐w« gibt es noch<br />
eine weitere Verwendung: Pktstat bietet<br />
einen so genannten Single-Shot-Modus,<br />
zum Beispiel per:<br />
pktstat ‐i eth0 ‐1 ‐w 10<br />
Durch »‐1« initiiere ich den Single-<br />
Shot-Modus. Pktstat läuft nun ohne<br />
Bild schirm ausgabe, bis die mit »‐w 10«<br />
festgelegten Sekunden abgelaufen sind.<br />
Danach beendet es sich und hinterlässt<br />
als Erbschaft eine übersichtliche Liste der<br />
erkannten Verbindungen.<br />
Neu sortiert<br />
Das Tool bietet noch einige Parameter,<br />
um die Ausgabe zu beeinflussen, am häufigsten<br />
benötige ich »‐l« (last seen). Damit<br />
sortiert Pkstat seine Übersicht danach,<br />
welche Verbindungen zuletzt aktiv waren.<br />
Je länger eine Kommunikation idle<br />
ist, umso weiter rutscht sie in der Liste<br />
nach unten. Mit »‐t« (top mode) arbeiten<br />
sich jene Datenströme nach oben, die am<br />
emsigsten Daten durchs Interface schaufeln.<br />
Die meisten Kommandozeilenparameter<br />
funktionieren auch interaktiv bei<br />
Abbildung 1: Das Downloaden eines ISO-Image entgeht Pktstat natürlich<br />
nicht. Die Namen von Quell- und Zielhost verkürzt das Tool hier bewusst.<br />
laufendem Pktstat; durch Drücken der<br />
Taste [L] aktiviere ich so den erwähnten<br />
Last-seen-Modus.<br />
Wer eine Weile damit arbeitet, wird mir<br />
sicherlich beipflichten, dass Admins<br />
sich mit Pktstat unkompliziert über die<br />
Netzwerk-Verkehrslage informieren können.<br />
Klassische Frage: Welcher Prozess<br />
schnorchelt hier gerade die ganze verfügbare<br />
Bandbreite ab? Für eine detektivische<br />
Stau-Ursachenforschung brauche<br />
ich aber nach wie vor Wireshark. (jk)n<br />
Infos<br />
[1] Pktstat: [http:// www. adaptive‐enterprises.<br />
com. au/ ~d/ software/ pktstat/]<br />
Der Autor<br />
Charly Kühnast administriert Unix-Syste me im<br />
Rechenzentrum Niederrhein in Kamp-Lintfort.<br />
Zu seinen Aufgaben gehören die Sicherheit und<br />
Verfügbarkeit der Firewalls<br />
und der DMZ. Im heißen Teil<br />
seiner Freizeit frönt er dem<br />
Ko chen, im feuchten Teil der<br />
Süßwasseraquaristik und im<br />
östlichen lernt er Japanisch.<br />
www.linux-magazin.de<br />
71
Sysadmin<br />
www.linux-magazin.de Dstat & Co. 05/2012<br />
72<br />
Systemdiagnose von Vmstat über Netstat bis Dstat<br />
<strong>Linux</strong>-Multimeter<br />
Um zu beobachten, was auf einem <strong>Linux</strong>-System passiert, hat der Admin Vmstat, Iostat, Netstat und Ifstat in<br />
seinem Fundus. Oder er greift zum Alleskönner Dstat, der diese vier Tools in sich vereint. Valentin Höbel<br />
© Serghei Velusceac, 123RF<br />
Systemadministratoren nutzen meist<br />
mehrere Tools, um die Ressourcen-Auslastung<br />
eines <strong>Linux</strong>-Systems zu beobachten.<br />
Spätestens wenn es um das Auffinden<br />
von Engpässen geht, steigt aber der<br />
Aufwand: Einige Tools müssen über längere<br />
Zeiträume hinweg laufen und verbrauchen<br />
dabei selbst Ressourcen. Dieser<br />
Artikel stellt mit »vmstat«, »iostat«, »netstat«<br />
und »ifstat« vier Programme vor,<br />
die zur Grundausstattung des Admin gehören.<br />
Zum Abschluss präsentiert er das<br />
Vielzweck-Tool »dstat«, das viele Analysefunktionen<br />
in sich vereint.<br />
Grundwissen<br />
Wer Systemgrößen interpretieren möchte,<br />
muss sich zuvor klarmachen, was sie<br />
bedeuten. Dabei dreht sich vieles um den<br />
virtuellen Speicher. Während der physische<br />
Arbeitsspeicher in Form von RAM-<br />
Riegeln eine greifbare Größe ist, scheinen<br />
die Grenzen bei der Verwaltung des virtuellen<br />
Speichers zu verschwimmen. Die<br />
Speicherverwaltung des Betriebssystems<br />
ist selbst für manchen erfahrenen <strong>Linux</strong>-<br />
Anwender ein Rätsel.<br />
Jeder Prozess unter <strong>Linux</strong> benötigt Arbeitsspeicher,<br />
um seine Aufgaben bewältigen<br />
zu können. Dafür alloziert das<br />
Betriebssystem Speicher, das heißt, es<br />
reserviert einen Bereich des Arbeitsspeichers<br />
von A bis B, den das Programm<br />
mit hoher Wahrscheinlichkeit zu einem<br />
späteren Zeitpunkt auch nutzt.<br />
Da jedoch nicht jeder laufende Prozess<br />
all seinen zugewiesenen Speicher permanent<br />
benötigt, lagert der Kernel diesen<br />
Speicher in einer Einheit namens<br />
Speicherseite (Page) auf die Festplatte<br />
aus (Page-out). Damit steht dem System<br />
wieder mehr Platz im physischen RAM<br />
zur Verfügung. Wird der komplette vom<br />
Prozess reservierte Speicher auf die Festplatte<br />
geschrieben, so bezeichnet man<br />
dies als Swapping. Lagert der Kernel<br />
jedoch nur einzelne Speicherseiten des<br />
allozierten RAM auf die Platte aus, nennt<br />
man dies Paging.<br />
Umgekehrt kann ein System den Speicher<br />
auch wieder in den RAM einlesen,<br />
das so genannte Page-in. Dieser Vorgang<br />
ist völlig normal und nicht unbedingt<br />
Anzeichen für Ressourcen-Engpässe. Das<br />
Paging auf die Platte kann aber bei Systemen<br />
mit hoher Auslastung dazu führen,<br />
dass der Kernel mehr mit der Verwaltung<br />
des virtuellen Speichers als mit den Prozessen<br />
selbst beschäftigt ist.<br />
Mit diesem Wissen erklärt sich auch der<br />
Unterschied zwischen Buffer und Cache:<br />
Beide Zwischenstationen spielen eine<br />
Rolle, wenn <strong>Linux</strong> Daten zwischen Systemkomponenten<br />
transferiert. Während<br />
ein Buffer Daten enthält, die noch auf<br />
die Festplatte geschrieben werden, dient<br />
ein Cache zum Einlesen von Daten von<br />
festen Speichermedien.<br />
Ein weiterer wichtiger Begriff ist das Context<br />
Switching. Dabei unterbricht <strong>Linux</strong><br />
die Bearbeitung eines Prozesses, sichert<br />
den Speicherkontext und arbeitet dann<br />
einen anderen Prozess ab. Das Context<br />
Switching ist eine der kostspieligsten<br />
Operationen in einem <strong>Linux</strong>-System.<br />
Steigt innerhalb kurzer Zeit die Anzahl<br />
der Context Switches von wenigen Tausend<br />
auf über 100 000, könnte dies ein<br />
Indikator für eine unnötig hohe Ressourcen-Nutzung<br />
(Overhead) bei der Bearbeitung<br />
von Prozessen sein.<br />
Mit diesem Wissen kann sich der <strong>Linux</strong>-<br />
Admin daranmachen, mit den Tools Engpässe<br />
aufzuspüren. Die Programme sollte<br />
er dabei als Benutzer Root aufrufen, für<br />
den alle Daten sichtbar sind.<br />
E Vmstat<br />
Den meisten <strong>Linux</strong>-Systembetreuern ist<br />
vermutlich Vmstat [1] ein Begriff. Dieses<br />
leistungsfähige Werkzeug zeigt eine tabellarische<br />
Übersicht der Prozesse, den<br />
RAM- und Page-Verbrauch, I/O sowie<br />
Informationen über die CPU-Aktivitäten.
Dstat & Co. 05/2012<br />
Sysadmin<br />
Abbildung 1: Ohne Optionen aufgerufen zeigt Vmstat Durchschnittswerte.<br />
Wer das Tool ohne Parameter aufruft,<br />
sieht nur eine einzige Zeile mit Werten,<br />
Darin finden sich Durchschnittswerte seit<br />
dem letzten Reboot (Abbildung 1).<br />
Spaltenweise<br />
Die Ausgabe von Vmstat erfolgt dabei<br />
standardmäßig in sechs Spalten. Der<br />
erste Teil »procs« enthält die Werte »r«<br />
für die Anzahl der auf CPU-Zeit wartenden<br />
Prozesse, während »b« für die<br />
Prozesse steht, die sich in einem schlafenden<br />
Zustand befinden, der sich nicht<br />
unterbrechen lässt.<br />
Die Spalte »memory« enthält unter<br />
»swpd« die Summe des genutzten virtuellen<br />
Speichers, »free« steht für die Summe<br />
des bisher ungenutzten RAM, »buff« für<br />
den Speicher, der als Buffer genutzt wird,<br />
und »cache« entsprechend für den als<br />
Cache verwendeten.<br />
Der »swap«-Bereich der Ausgabe nennt<br />
mit »si« den Speicher, den <strong>Linux</strong> pro Sekunde<br />
von der Festplatte in den RAM<br />
schaufelt (Swap-in), »so« betitelt den<br />
umgekehrten Vorgang (Swap-out). Die<br />
Spalte »io« macht deutlich, wie viele<br />
Blocks das System pro Sekunde liest<br />
(»bi«) und schreibt (»bo«). Ein Blick auf<br />
den »system«-Bereich zeigt hingegen die<br />
Anzahl der Interrupts (»in«) und Context-<br />
Switches (»cs«) pro Sekunde.<br />
Die letzte Spalte namens »cpu« ist recht<br />
ausführlich und gibt Werte in Prozent an:<br />
»us« zeigt den Anteil der CPU-Zeit, die<br />
Abbildung 2: Vmstat mit fünf Ausgabezeilen, die sich sekündlich aktualisieren.<br />
Prozesse aus dem Userspace beanspruchen,<br />
»sy« ist der Messwert für die CPU-<br />
Zeit, die der Kernel für das Bearbeiten<br />
von Systemvorgängen benötigt. Die Angabe<br />
»id« bezeichnet die Idle-Time. Der<br />
letzte Wert der aktuellen Spalte, »wa«,<br />
gibt die Prozesse an, die auf Input- oder<br />
Output-Vorgänge warten.<br />
Das Kommando »vmstat 1 5« lässt das<br />
Programm mit einer sekündlichen Aktualisierungsrate<br />
und fünf Ausgabezeilen<br />
laufen (Abbildung 2). In diesem Beispiel<br />
kommt es zweimal dazu, dass Prozesse<br />
auf CPU-Zeit warten und <strong>Linux</strong> gleichzeitig<br />
Daten von der Festplatte einliest (erste<br />
Ausgabezeile). In dem abgebildeten Beispiel<br />
sorgte das Kommando »updatedb«<br />
auf einem älteren Ubuntu 8.04 für die<br />
Ein- und Ausgaben sowie für die wartenden<br />
Prozesse.<br />
Eine nützliche Vmstat-Option ist »‐d« für<br />
Disk Statistics, sie führt zu einer leider<br />
etwas unübersichtlichen Zusammenfassung<br />
der I/O-Vorgänge im RAM und auf<br />
den Festplatten. Der Befehl »vmstat ‐s«<br />
zeigt Werte zu CPU- und Speichervorgängen<br />
in Listenform, was die Ausgabe<br />
für die automatisierte Auswertung durch<br />
Skripte brauchbar macht. Als interessantes<br />
Extra bietet Vmstat die Option »‐p«,<br />
gefolgt von der Angabe einer Partition.<br />
Damit zeigt das Programm ausschließlich<br />
Zahlen zu den Lese- und Schreibvorgängen<br />
auf der gewählten Partition.<br />
Vmstat erfreut sich zwar großer Beliebtheit<br />
im täglichen Einsatz. Seiner Funktionsvielfalt<br />
stehen aber Mängel bei der<br />
Darstellung gegenüber, es fehlt die klare<br />
Übersichtlichkeit.<br />
E Iostat<br />
Während Vmstat sich vielseitig gibt,<br />
konzentriert sich Iostat [2] auf die Einund<br />
Ausgabe-Operationen eines <strong>Linux</strong>-<br />
Systems. Das Tool zeigt auch ohne Kommandozeilen-Optionen<br />
eine aussagekräftige<br />
Statistik. Die Zeile »avg‐cpu« enthält<br />
Statistiken zu den CPUs und gibt einen<br />
Einblick in die allgemeine Auslastung.<br />
In Abbildung 3 scheint das System nicht<br />
viel zu tun zu haben: Die CPUs befinden<br />
sich zu rund 84 Prozent im Idle und<br />
nicht einmal ein Prozent der Prozesse<br />
wartet auf I/O. Sind wie hier mehrere<br />
CPUs vorhanden, zeigt Iostat die Durchschnittswerte<br />
über alle.<br />
Anders sieht es mit der Auslastung bei<br />
den Blockdevices aus: Hier stellt die<br />
Spalte »tps« die Transfers pro Sekunde<br />
dar, die mit I/O-Anfragen an das Gerät<br />
gleichzusetzen sind und im Beispiel eine<br />
höhere Aktivität aufweisen. Die Spalte<br />
»Blk_read/s« bezeichnet die Anzahl der<br />
Blöcke, die <strong>Linux</strong> pro Sekunde vom angegebenen<br />
Gerät liest. Mit einem Block<br />
sind in der Regel 512 Byte gemeint. Unter<br />
»Blk_wrtn/s« stehen die Schreibzugriffe<br />
in der gleichen Maßeinheit, während die<br />
letzten beiden Spalten »Blk_read« sowie<br />
»Blk_wrtn« Gesamtstatistiken seit dem<br />
letzten Systemstart darstellen.<br />
www.linux-magazin.de<br />
73<br />
Abbildung 3: Iostat informiert über CPUs und eingehängte Blockgeräte.<br />
Abbildung 4: Das Netzwerktool Netstat zeigt die lauschenden Verbindungen.
Sysadmin<br />
www.linux-magazin.de Dstat & Co. 05/2012<br />
74<br />
Der Aufruf von Iostat ohne Parameter<br />
gibt einen guten Überblick über das<br />
I/O-Geschehen. Bei Virtualisierung ist<br />
für Anwender zusätzlich der Wert »steal«<br />
von Interesse: Er zeigt an, wie viel Zeit<br />
die virtuellen Prozessoren mit unfreiwilligem<br />
Warten auf den Hypervisor verbringen.<br />
Wer die dargestellten Zahlen zu<br />
groß und somit zu unleserlich findet, der<br />
kann die Ausgabe per »iostat ‐m« auf<br />
MByte trimmen.<br />
Weiteres Feintuning erreicht der Admin<br />
mit der Angabe des Parameters »‐p« und<br />
der zu überwachenden Partition. Das<br />
Kommando »iostat ‐c« zeigt ausschließlich<br />
CPU-Werte an. Wer nicht an den Zahlen<br />
für die Blockdevices interessiert ist,<br />
kann sich damit unnötige Zeilen sparen.<br />
Für mehr Übersicht bei den Blockgeräten<br />
sorgt »iostat ‐d«, das die CPU-Statistiken<br />
versteckt. Natürlich lassen sich die Parameter<br />
auch kombinieren: »iostat ‐d ‐p<br />
drbd4« zeigt nur an, was gerade auf dem<br />
Device »drbd4« los ist.<br />
Iostat unterstützt auch per NFS eingehängte<br />
Dateisysteme. Mit »iostat ‐n« lässt<br />
der Admin eine Übersicht erstellen, die<br />
alle eingehängten NFS-Verzeichnisse sowie<br />
den aktuellen Traffic in Blöcken und<br />
KByte pro Sekunde angibt. Wer mehr Details<br />
zum I/O-Geschehen benötigt, dem<br />
sei die Manpage ans Herz gelegt. Dort<br />
finden sich weitere nützliche Schalter wie<br />
etwa »‐x«, der die Statistikanzeige um<br />
zahlreiche Werte erweitert.<br />
E Netstat<br />
Netstat [3], das Tool für die Netzwerkdiagnose,<br />
ist gleichermaßen in der Windows-<br />
und <strong>Linux</strong>-Welt beliebt. Obwohl es<br />
mittlerweile die meisten <strong>Linux</strong>-Systeme<br />
durch das Programm »ss« ersetzen, greifen<br />
Systembetreuer immer noch zu dem<br />
gewohnten Werkzeug, das bereits fast 30<br />
Jahre auf dem Buckel hat. Die Funktionen<br />
von Netstat sind so umfangreich, dass<br />
Abbildung 5: Alle oder einzelne Netzwerkinterfaces<br />
lassen sich mit Ifstat beobachten.<br />
dieser Artikel nur die allerwichtigsten<br />
vorstellen kann. Das Kommando »netstat<br />
‐‐ip« beispielsweise zeigt die Anzahl der<br />
gleichzeitig offenen Verbindungen, der<br />
Admin kann sie mit<br />
netstat --ip | wc ‐l<br />
zählen. Auskunft über lauschende Verbindungen<br />
erteilt Netstat mit der Option<br />
»‐l«, wie Abbildung 4 zeigt (Ausgabe gekürzt).<br />
Weitere nützliche Optionen nennt<br />
die Netstat-Manpage.<br />
E Ifstat<br />
Das Programm Ifstat [4] zeigt kurz und<br />
bündig den Netzwerktraffic für alle gefundenen<br />
Netzwerkinterfaces an. Ruft<br />
der Admin das Programm mit den Optionen<br />
»‐a ‐b« auf, erhält er rasch Übersicht<br />
(Abbildung 5), denn so erfasst es alle<br />
Schnittstellen. Die ein- und ausgehenden<br />
Daten gibt das Programm in KBit/s<br />
an. Nutzen die Dienste auf dem System<br />
nicht alle verfügbaren Interfaces, lassen<br />
sich die ungenutzten mit der Option »‐z«<br />
ausblenden. Wer die Ausgabe gerne so<br />
kurz wie möglich hält, lässt mit »ifstat ‐S«<br />
immer nur eine Zeile ausgeben, die sich<br />
ständig aktualisiert.<br />
E Dstat: Alle vereint<br />
Wem das zu viele einzelne Tools für die<br />
Systemanalyse sind, der findet in Dstat<br />
[5] eine eierlegende Wollmilchsau, die<br />
fast alle Funktionen in sich vereint. Seine<br />
Farbgebung und feste Spaltenbreiten führen<br />
zudem dazu, dass es die Zahlen stets<br />
übersichtlich geordnet präsentiert. Die<br />
GPL-Software Dstat wurde 2004 in Python<br />
geschrieben und ist modular aufgebaut.<br />
Jede Spalte in der Ausgabe wird<br />
von einem Modul erzeugt, das sich unter<br />
»/usr/share/dstat/« findet.<br />
Dstat ist bei den meisten Distributionen<br />
nachzuinstallieren, es steckt in der Regel<br />
im gleichnamigen Paket. Gleich ein<br />
erster Aufruf ohne Argumente zeigt die<br />
Ähnlichkeit mit Vmstat (Abbildung 6).<br />
So wie jener Klassiker stellt auch Dstat<br />
alle Werte in Tabellenform dar.<br />
Die rote Farbe ist nicht unbedingt ein<br />
Indikator für ein Problem. Dstat ändert<br />
die Farbe, sobald Werte über einen im<br />
Modul festgelegten Schwellenwert hinausgehen.<br />
Dies soll die Lesbarkeit der Daten<br />
erhöhen und den Systemadministrator<br />
auf Änderungen im Systemverhalten<br />
aufmerksam machen. Wem jedoch die<br />
Farben ein Dorn im Auge sind, der kann<br />
sie mit »‐‐nocolor« deaktivieren oder mit<br />
»‐‐bw« an ein Terminal mit heller Hintergrundfarbe<br />
anpassen.<br />
Die Spaltenbezeichnungen stimmen weitgehend<br />
mit denen von Vmstat überein<br />
Tabelle 1: Dstat-Optionen<br />
kurz lang Funktion<br />
-c --cpu CPU-Statistiken aktivieren<br />
‐d --disk Messwerte für Disk-Statistiken<br />
aktivieren<br />
‐g --page Paging visualisieren<br />
‐i --int Interrupt-Werte anzeigen<br />
‐l --load Aktuelle Systemlast anzeigen<br />
‐m --mem Zahlen zur RAM-Verwendung<br />
‐n --net Netzwerkstatistiken<br />
‐s --swap Zeigt Swap-Werte an<br />
‐y --sys Visualisiert Context-Switches<br />
und Interrupts<br />
‐v --vmstat Bildet Vmstat mit Dstat ab<br />
Abbildung 6: Dstat sorgt mit Tabellenform und Farben für Übersichtlichkeit.<br />
Abbildung 7: Dstat in der Anwendung auf Festplattenpartitionen.
Dstat & Co. 05/2012<br />
Sysadmin<br />
Abbildung 8: Auf der Jagd nach dem größten Speicherverbraucher: Hier hat<br />
Dstat den LDAP-Daemon ermittelt.<br />
und bedürfen daher keiner weiteren Erklärung.<br />
Interessant dagegen ist die große<br />
Anpassbarkeit, die Dstats modularer Aufbau<br />
erlaubt. Eine Übersicht über verfügbare<br />
Plugins verschafft das Kommando<br />
»dstat ‐‐list«. Der Aufruf von Dstat ohne<br />
Parameter entspricht der Standardeinstellung<br />
mit:<br />
dstat ‐c ‐d ‐n ‐g ‐y<br />
Schalter, die sich mit einem einzigen »‐«<br />
aufrufen lassen, bedienen fest in Dstat<br />
implementierte Funktionen. Optionen,<br />
die aus externen Modulen stammen,<br />
brauchen zwei Striche »‐‐«. Plugins lassen<br />
sich daher mit »dstat ‐‐Pluginname«<br />
aufrufen. Wer etwa »dstat ‐‐proc‐count«<br />
eingibt, erhält eine sich permanent aktualisiertende<br />
Statistik über die gleichzeitig<br />
laufenden Prozesse.<br />
Da Dstat die vielfältigen Funktionen von<br />
Vmstat, Iostat, Ifstat und Netstat abbildet,<br />
empfiehlt selbst der Programmautor<br />
Dag Wieers auf seiner Webseite, das Tool<br />
themenorientiert aufzurufen. Das bedeutet<br />
beispielsweise nur die Festplatten und<br />
Mountpunkte zu betrachten, was mit<br />
dem Kommando<br />
dstat ‐d ‐‐disk‐util ‐‐freespace<br />
gelingt. Das Ergebnis zeigt Abbildung 7<br />
(Ausgabe gekürzt). Dstat teilt die Ausgabe<br />
in vorhandene Disks und Partitionen.<br />
Wenn im Hintergrund Schreib- oder<br />
Abbildung 10: Dstat beim Beobachten der TCP- und UDP-Sockets.<br />
Löschvorgänge auf den dargestellten Partitionen<br />
erfolgen, machen sich die Änderungen<br />
automatisch in Dstat bemerkbar.<br />
Wer auf seinem System NFS-Verzeichnisse<br />
einbindet, findet diese ebenfalls in<br />
den Statistiken wieder.<br />
Regelmäßige Benutzer von Vmstat<br />
möchten sich vielleicht auf die Analyse<br />
des Speichers konzentrieren. Das Kommando<br />
dstat ‐g ‐l ‐m ‐s ‐‐top‐mem<br />
erzeugt eine Ansicht für diesen Zweck. In<br />
Abbildung 8 ist zu sehen, wie der LDAP-<br />
Server »slapd« im Laufe der Zeit mehr<br />
Ressourcen für sich beansprucht. Die<br />
Option »‐‐top‐mem« entlarvt den Prozess<br />
als Speicherverbraucher Nummer eins.<br />
Parallel zum steigenden RAM-Bedarf<br />
von »slapd« verzeichnet die Spalte »memory‐usage«<br />
einen Anstieg des Cache.<br />
Während des Dstat-Durchlaufs hat der<br />
Admin eine aufwändige LDAP-Suche gestartet,<br />
die den Daemon zum Lesen von<br />
der Festplatte veranlasste.<br />
Daneben kann der Dstat-Anwender auch<br />
den Fokus auf die Beobachtung der CPU<br />
legen, ähnlich wie es ihm mit Iostat möglich<br />
ist. Um den Prozess zu sehen, der die<br />
meiste CPU-Zeit benötigt, gibt er<br />
dstat ‐c ‐y ‐l ‐‐proc‐count ‐‐top‐cpu<br />
ein (Abbildung 9). Wie der Wert für »idl«<br />
unter »total‐cpu‐usage« signalisiert, ist<br />
das untersuchte System nicht<br />
sehr ausgelastet.<br />
Aufmerksame Systemadministratoren<br />
werden das Programm<br />
zudem noch auf das<br />
Netzwerk loslassen. Dazu<br />
dient das Kommando:<br />
Abbildung 9: Dstat verwandelt sich mit den richtigen Optionen in eine Art Iostat<br />
und beobachtet die CPU-Auslastung.<br />
dstat ‐n ‐‐socket ‐‐tcp ‐‐udp<br />
Während die Messwerte für<br />
die Sockets und das UDP-<br />
Protokoll in diesem Beispiel<br />
wenig Veränderung zeigen,<br />
ist unter »net/total« ersichtlich, dass die<br />
Netzwerkkarten gerade Anfragen beantworten<br />
mussten (Abbildung 10). Auch<br />
hier steckte ein LDAP-Search hinter der<br />
gesteigerten Aktivität, die Dstat durch<br />
Farbänderung visuell hervorhebt.<br />
Dstat entpuppt sich als Funktionswunder,<br />
gleichzeitig aber auch als regelrechtes<br />
Optionsmonster. Damit der Überblick<br />
nicht verloren geht, fasst Tabelle 1 die<br />
wichtigsten Optionen aus den Beispielen<br />
diese Artikels zusammen.<br />
Ausblick<br />
Wer Dstat für sich entdeckt hat, kommt<br />
schnell auf die Idee, Plugins für seine<br />
eigenen Anforderungen zu schreiben.<br />
Als Programmiersprache kommt dafür<br />
Python zum Einsatz. Sind die selbst<br />
gemachten Module unter »/usr/share/<br />
dstat/« abgelegt, lassen sie sich als Kommandozeilen-Option<br />
mit zwei Minuszeichen<br />
vor dem Modulnamen aufrufen.<br />
Eine passende Vorlage liefert die Datei<br />
»dstat_helloworld.py« im Modulverzeichnis.<br />
Das Codebeispiel lässt sich mit »dstat<br />
‐‐hello« aufrufen, erfüllt aber nur einen<br />
exemplarischen Zweck.<br />
Wer mehr Wert auf aussagekräftige und<br />
praxisnahe Beispiele legt, sollte einen<br />
Blick in die anderen Dateien im Verzeichnis<br />
»/usr/share/dstat« werfen. Hier gibt<br />
es für nahezu alle Anwendungsfälle bereits<br />
eine Vorlage, die sich für die eigenen<br />
Zwecke nutzen lässt. (mhu) n<br />
Infos<br />
[1] Vmstat: [http:// procps. sourceforge. net]<br />
[2] Iostat: [http:// sebastien. godard.<br />
pagesperso‐orange. fr/ documentation. html]<br />
[3] Netstat: [http:// www. tazenda. demon. co.<br />
uk/ phil/ net‐tools/]<br />
[4] Ifstat: [http:// gael. roualland. free. fr/ ifstat]<br />
[5] Dstat:<br />
[http:// dag. wieers. com/ home‐made/ dstat]<br />
www.linux-magazin.de<br />
75
Forum<br />
www.linux-magazin.de Recht 05/2012<br />
78<br />
EuGH kippt allgemeine Prüf- und Filterpflichten für Provider<br />
Nicht massentauglich<br />
Die Urheber und Rechteverwerter wollen nicht jedem einzelnen Raubkopierer nachlaufen, besser wäre es, in<br />
einem Rundumschlag die Provider in die Pflicht zu nehmen. Geht nicht, sagt jetzt der EuGH. Fred Andresen<br />
© sajola, photocase.com<br />
Mitte Februar hat der Europäische Gerichtshof<br />
(EuGH) über eine Vorlagesache<br />
entschieden [1], die ein belgisches Gericht<br />
eingereicht hatte. Die Belgier waren<br />
mit einem Rechtsstreit zwischen einer<br />
Urheberverwertungsgesellschaft und einem<br />
Social-Network-Betreiber befasst.<br />
Der EuGH hatte die Frage zu klären, ob<br />
die Pflicht des Social-Network-Betreibers,<br />
die Konten seiner Benutzer daraufhin zu<br />
überprüfen, ob dort urheberrechtlich geschütztes<br />
Material gelagert ist, mit dem<br />
europäischen Recht konform geht. Die<br />
Verwertungsrechte des beanstandeten<br />
Materials liegen bei der genannten Verwertungsgesellschaft.<br />
Im Ausgangsverfahren stritten diese Gesellschaft,<br />
die Autoren, Komponisten und<br />
Herausgeber musikalischer Werke vertritt,<br />
mit dem Betreiber der Internetplattform<br />
für ein soziales Netz. Wer sich auf<br />
dieser Plattform anmeldet, kann einen<br />
persönlichen Bereich (Profil) einrichten,<br />
den damit verbundenen Speicherplatz<br />
mit beliebigen Inhalten füllen und diese<br />
weltweit verfügbar machen. Auf der<br />
Plattform tauschen sich mehr als zehn<br />
Millionen Benutzer täglich aus.<br />
Neben der gewöhnlichen Chatfunktion,<br />
einem Tagebuch und einer Liste der persönlichen<br />
Vorlieben liegen dort unter<br />
anderem persönliche Fotos, aber auch<br />
Videos und Musik (Abbildung 1). Letzteres<br />
war der Verwertungsgesellschaft, die<br />
auch für die Verwendung der Werke ihrer<br />
Klientel im Web zuständig ist, ein Dorn<br />
im Auge. Diese Konstellation kennt man<br />
nicht nur in Belgien.<br />
Das sollen andere machen<br />
Im Februar 2009 meldete sich die Verwertungsgesellschaft<br />
bei dem Plattformbetreiber<br />
und wollte über eine finanzielle<br />
Abgeltung der Nutzungsrechte an den<br />
von ihr verwalteten Musikstücken verhandeln.<br />
Eine Einigung kam nicht zustande.<br />
Nachdem eine Anfang Juni gefor-<br />
derte Unterlassungserklärung vom Plattformbetreiber<br />
ausblieb, erhob die Verwertungsgesellschaft<br />
drei Wochen später<br />
eine Unterlassungsklage bei Gericht. In<br />
dieser Unterlassungserklärung hätte sich<br />
der Betreiber verpflichten sollen, künftig<br />
keine Stücke aus dem Repertoire der<br />
Gesellschaft über die Kundenprofile zu<br />
veröffentlichen.<br />
Der Plattformbetreiber wandte dagegen<br />
ein, dass die beantragte Unterlassungsanordnung<br />
zu einer allgemeinen Überwachungspflicht<br />
führe, die nach europarechtlichen<br />
Vorschriften verboten sei.<br />
Außerdem bedeute diese Verpflichtung,<br />
dass auf eigene Kosten und ohne zeitliche<br />
Beschränkung ein generelles und präventives<br />
Überwachungs- und Filtersystem für<br />
alle Nutzer einzurichten sei. Dies stelle<br />
eine Einschränkung der unternehmerischen<br />
Freiheit und gleichzeitig ein datenschutzrechtliches<br />
Problem dar, konterten<br />
die Firmenanwälte.<br />
Die betroffenen europäischen Rechtsvorschriften<br />
sind EU-Richtlinien, die unmittelbare<br />
Bindungswirkung entfalten, sei<br />
es durch die Umsetzung der Einzelstaaten<br />
in nationales Recht oder durch die<br />
Entfaltung unmittelbarer Rechtswirkung<br />
auch für den einzelnen Bürger, sofern<br />
die Mitgliedsstaaten die Richtlinien nicht<br />
vollständig oder fristgerecht umsetzen<br />
(siehe Kasten „Gemeinschaftsrecht“).<br />
Die von den Mitgliedsstaaten umgesetzten<br />
Rechtsvorschriften sind aber in jedem<br />
Fall richtlinienkonform auszulegen.<br />
EU-Recht geht vor<br />
Die für die Entscheidung maßgeblichen<br />
EU-Vorschriften sind die Richtlinie 2000/<br />
31/EG (E-Commerce-Richtlinie, [2]), die<br />
Richtlinie 2001/29/EG zur Harmonisierung<br />
bestimmter Aspekte des Urheber-
echts und der verwandten Schutzrechte<br />
in der Informationsgesellschaft (Urheberrechts-Richtlinie,<br />
[3]) sowie die Richtlinie<br />
2004/48/EG über den Schutz der<br />
Rechte am geistigen Eigentum [4].<br />
Kernaussagen<br />
Kernaussagen der E-Commerce-Richtline<br />
sind, dass der Dienstanbieter in der Regel<br />
nicht für die Inhalte Dritter verantwortlich<br />
ist und dass ihn keine allgemeinen<br />
Überwachungs- oder Ausforschungspflichten<br />
treffen. Das bestimmen die Artikel<br />
12 und 13 der Richtlinie. In den Erwägungsgründen<br />
steht dazu, dass es den<br />
Mitgliedsstaaten unbenommen bleibt,<br />
gerichtliche oder behördliche Anordnungen<br />
zu treffen, die Rechtsverletzungen<br />
abstellen oder verhindern. Das schließt<br />
die Löschung oder Sperrung der rechtswidrigen<br />
Inhalte ein.<br />
Dies trifft aber nur zu, solange es sich<br />
bei diesen Anordnungen nicht um allgemeine<br />
Überwachungs- oder Ausforschungspflichten<br />
handelt. Eine nach vernünftigem<br />
Ermessen zu erwartende und<br />
in den innerstaatlichen Vorschriften festgehaltene<br />
Sorgfaltspflicht ist den Dienste-<br />
Anbietern allerdings zuzumuten.<br />
Keine Verantwortung der<br />
Provider<br />
So soll der Dienste-Anbieter insbesondere<br />
dann von einer Verantwortlichkeit für die<br />
von seinen Nutzern eingestellten oder<br />
eingeleiteten Informationen frei bleiben,<br />
wenn er keine tatsächliche<br />
Kenntnis von der<br />
Rechtswidrigkeit hat<br />
und auch keine Tatsachen<br />
kennt, die offensichtlich<br />
auf Rechtswidrigkeit<br />
schließen<br />
lassen.<br />
Sobald er Kenntnis<br />
von der Rechtswidrigkeit<br />
erhält, muss er allerdings<br />
unverzüglich<br />
tätig werden und die<br />
betreffenden Inhalte<br />
löschen oder sperren.<br />
In der Urheberrechts-<br />
Richtlinie ist festgehalten,<br />
dass die Frage<br />
der Haftung eines Dienstanbieters der<br />
vorgenannten E-Commerce-Richtline vorbehalten<br />
bleibt.<br />
Die Mitgliedsstaaten müssen allerdings<br />
konkrete Maßnahmen festsetzen, um<br />
wirksame Sanktionen und Rechtsbehelfe<br />
zugunsten der Urheber (und Verwertungsgesellschaften)<br />
zu ermöglichen,<br />
wenn Dritte geschützte Inhalte im Internet<br />
verbreiten. Abgesehen von derartigen<br />
Maßnahmen, die bei Verletzungen im<br />
Einzelfall greifen, soll es aber bei den in<br />
der E-Commerce-Richtlinie aufgestellten<br />
Grundsätzen bleiben.<br />
Die Richtlinie über den Schutz der Rechte<br />
am geistigen Eigentum hält fest, dass es<br />
die Mitgliedsstaaten den in ihren Rechten<br />
verletzten Urhebern ermöglichen,<br />
Anordnungen auch gegen „Mittelspersonen“<br />
durchzusetzen, deren Dienste<br />
Abbildung 2: Das pauschale Überprüfen der Nutzer ist nicht zumutbar.<br />
Dritte missbrauchen, um rechtswidrig geschützte<br />
Inhalte anzubieten. Auch nach<br />
dieser Richtlinie soll es darüber hinaus<br />
bei den grundsätzlichen Regelungen der<br />
E-Commerce-Richtline bleiben.<br />
Das in Belgien angerufene Gericht hat vor<br />
diesem Hintergrund dem EuGH die Frage<br />
vorgelegt, ob die europarechtlichen Bestimmungen<br />
einer nationalen Anordnung<br />
entgegenstehen, die den Plattformbetreiber<br />
verpflichten ein System einzurichten,<br />
das sämtliche Informationen aller<br />
Plattformnutzer präventiv, also ohne gegebenen<br />
Anlass, auf eigene Kosten und<br />
zeitlich unbegrenzt filtert.<br />
Die Intention der klagenden Verwertungsgesellschaft<br />
ist also, nicht mehr<br />
einzelnen Rechtsverletzungen nachjagen<br />
zu müssen, sondern diese bereits vorab<br />
oder unmittelbar nach dem Einstellen der<br />
rechtswidrigen Inhalte durch Dritte wirksam<br />
zu verhindern. Der Plattformbetreiber<br />
hätte demnach die Pflicht, vorab die<br />
rechtswidrigen Inhalte zu ermitteln.<br />
© MPower., photocase.com<br />
Recht 05/2012<br />
Forum<br />
www.linux-magazin.de<br />
79<br />
© Denis Tevekov, 123RF<br />
Abbildung 1: Wer sich im Social Web als DJ betätigt, bekommt mit den Rechteverwertern Probleme.<br />
Abwägungssache<br />
Der angerufene EuGH hat gemäß den<br />
Erwägungsgründen, die Bestandteil der<br />
Richtlinien sind und diese konkretisieren,<br />
erkannt, dass auch die detaillierteren<br />
Bestimmungen der Urheberrechts-<br />
Richtlinie und der Richtlinie über den<br />
Schutz der Rechte am geistigen Eigentum<br />
nicht geeignet sind, die in der älteren<br />
E-Commerce-Richtline festgeschriebenen<br />
Grundsätze zu berühren. Und dort<br />
heißt es, dass generelle und präventive<br />
Ausforschungspflichten auf Kosten der
Forum<br />
www.linux-magazin.de Recht 05/2012<br />
80<br />
Dienstbetreiber unzulässig sind. Die beantragte<br />
Anordnung verstoße demnach<br />
gegen Gemeinschaftsrecht.<br />
Zwar sei es bereits durch die bisherige<br />
Rechtsprechung des EuGH [5] möglich,<br />
dass Mitgliedsstaaten Maßnahmen setzen,<br />
die es Urhebern und Verwertungsgesellschaften<br />
ermöglichen, bereits begangene<br />
Rechtsverletzungen zu verfolgen<br />
und auch neuen Verletzungen vorzubeugen.<br />
Dennoch gelten dafür auch die Beschränkungen,<br />
die sich aus den genannten<br />
Richtlinien ergeben (Abbildung 2).<br />
Das Ergebnis – nicht nur für<br />
den Einzelfall<br />
Obwohl es sich bei der Frage nur um<br />
die Überprüfung einer einzelnen gerichtlichen<br />
Anordnung handelte, stellt<br />
der EuGH damit eine Regel auf, an der<br />
sich gesetzliche Verpflichtungen der<br />
Mitgliedsstaaten messen lassen müssen.<br />
Befürchtungen, die Rechteverwerter mit<br />
starker Lobby könnten den Gesetzgeber<br />
dazu bewegen, eine allgemeine Prüfund<br />
Filterpflicht zu Lasten der Internetdienste-Anbieter<br />
einzuführen, um Urheberrechtsverletzungen<br />
künftig bereits in<br />
einem früheren Stadium und – für die<br />
Urheber und Verwertungsgesellschaften<br />
– kostenschonend auszuschließen, sind<br />
daher sachlich unberechtigt.<br />
Das heißt jedoch nicht, dass eine derartige<br />
Prüf- und Filterpflicht damit<br />
gänzlich unmöglich wäre. Würde eine<br />
Gemeinschaftsrecht<br />
Regelung nur eines<br />
der genannten Kriterien<br />
umgehen – zum<br />
Beispiel die zeitlich<br />
unbegrenzte Filterung<br />
oder die Kostenlast<br />
des Dienste-Anbieters<br />
– könnte sie durchaus<br />
konform zum europäischen<br />
Recht sein.<br />
Kostenfalle für<br />
Verwerter<br />
Während früher noch der Rat der Europäischen<br />
Union das einzige gesetzgebende Organ der<br />
EU war, arbeiten heute, also nach dem Abschluss<br />
des Vertrags von Maastricht, der Rat<br />
und das Europäische Parlament in aller Regel<br />
zusammen an der Rechtsetzung. Die Rechtsvorschriften<br />
der EU teilt man dabei in zwei<br />
Gruppen ein, das primäre und das sekundäre<br />
Gemeinschaftsrecht.<br />
Unter dem primären Gemeinschaftsrecht versteht<br />
man die Gründungsverträge der europäischen<br />
Gemeinschaften und deren Ergänzungen<br />
sowie den Vertrag über die Europäische Union<br />
mit seinen Änderungen und Ergänzungen. In<br />
diesen Vorschriften, vergleichbar etwa einer<br />
Verfassung, sind die Struktur, die Kompetenzen<br />
und die Entscheidungsabläufe detailliert<br />
geregelt.<br />
Das sekundäre Gemeinschaftsrecht bilden Verordnungen,<br />
Richtlinien, Entscheide, Empfehlungen<br />
und Stellungnahmen, daneben noch ein<br />
paar weitere Handlungsformen, die allerdings<br />
keine selbstständige Rechtswirkung entfalten.<br />
Die bedeutsamsten Akte des sekundären Gemeinschaftsrechts<br />
sind Richtlinien und Verordnungen.<br />
In Richtlinien bestimmt die EU ein Ziel sowie<br />
eine Frist für dessen Umsetzung. Die Mitgliedsstaaten<br />
müssen eine Richtlinie in nationales<br />
Recht umsetzen. Geschieht dies nicht innerhalb<br />
der in der Richtlinie gesetzten Frist, können<br />
sich die Bürger unter Umständen unmittelbar<br />
auf die Richtlinie berufen, um eigene Rechte<br />
geltend zu machen.<br />
Die Verordnungen gelten unmittelbar und direkt<br />
in allen Mitgliedsstaaten. Sie verpflichten<br />
und berechtigen die Bürger, Behörden oder<br />
Staaten unmittelbar, ohne dass die Regelung<br />
noch in innerstaatliches Recht umgesetzt werden<br />
müsste.<br />
Abbildung 3: Fehlt nur ein Teil der von den Rechteverwertern angestrebten<br />
Überwachung, lohnt sie sich finanziell nicht mehr.<br />
Faktisch ist es aber<br />
nur die Gesamtheit<br />
der Kriterien, die eine<br />
Prüf- und Filterpflicht<br />
für die Rechte-Inhaber<br />
interessant macht.<br />
Müssten die Verwerter<br />
auch nur einen Teil<br />
der Kosten tragen, die<br />
für die Filterung anfallen,<br />
geht die Kosten-Nutzen-Rechnung<br />
nicht mehr auf. Müssten sie regelmäßig<br />
erneute Filterungen beantragen, auch<br />
nicht. Das Begrenzen der Filter auf einzelne<br />
Benutzer setzt wiederum voraus,<br />
diese vorab zu ermitteln – ein Aufwand,<br />
der bereits bei der derzeit möglichen<br />
Rechtsdurchsetzung hohe Kosten verursacht<br />
(Abbildung 3).<br />
Alles in allem hat das Urteil des EuGH<br />
klargestellt, dass es auch weiterhin den<br />
Rechte-Inhabern obliegt, die Urheberrechtsverletzungen<br />
im Einzelfall zu verfolgen<br />
und auf eigene Kosten die Rechteverletzer<br />
zu ermitteln und Ansprüche<br />
gegen sie durchzusetzen. (uba) n<br />
Infos<br />
[1] EuGH, Urteil vom 16.02.1012, Az. C-360/10:<br />
[http:// lexetius. com/ 2012,205]<br />
[2] E-Commerce-Richtline: [http:// eur‐lex.<br />
europa. eu/ LexUriServ/ LexUriServ. do? uri<br />
=OJ:L:2000:178:0001:0016:DE:PDF]<br />
[3] Urheberrechtsrichtline: [http:// eur‐lex.<br />
europa. eu/ LexUriServ/ LexUriServ. do? uri<br />
=OJ:L:2001:167:0010:0019:DE:PDF]<br />
[4] Richtlinie zur Durchsetzung der Rechte<br />
am geistigen Eigentum: [http:// www.<br />
urheberrecht. org/ topic/ enforce/ eu/<br />
l_19520040602de00160025. pdf]<br />
[5] EuGH-Urteil vom 24.11.2011, Az. C70/10:<br />
[http:// www. telemedicus. info/<br />
urteile/ Telekommunikationsrecht/<br />
Providerhaftung/ 1315‐EuGH‐Az‐C7010<br />
‐Scarlet‐Extended‐Sperrverfuegungen<br />
‐gegen‐Provider. html]<br />
Der Autor<br />
© kallejipp, photocase.com<br />
RA Fred Andresen ist Mitglied<br />
der Rechtsanwaltskammer<br />
München und der Arbeitsgemeinschaft<br />
Informationstechnologie<br />
im Deutschen<br />
Anwaltverein (DAVIT).
Auf den Punkt gebracht<br />
Leserbriefe<br />
Leserbriefe 05/2012<br />
Forum<br />
Haben Sie Anregungen, Statements oder Kommentare? Dann schreiben Sie an [redaktion@linux-magazin.de].<br />
Die Redaktion behält es sich vor, die Zuschriften und Leserbriefe zu kürzen. Sie veröffentlicht alle Beiträge mit<br />
Namen, sofern der Autor nicht ausdrücklich Anonymität wünscht.<br />
www.linux-magazin.de<br />
81<br />
Nginx gegen Apache<br />
01/12, S. 54: Der Artikel „Schneller Shoppen“<br />
stellt Nginx im Event-driven-Betrieb<br />
via Fast-CGI einer Installation von Apache<br />
(Prefork) und Mod_php gegenüber. Das<br />
halte ich für unfair, denn auch Apache<br />
2 ließe sich via »apache2‐mpm‐event«<br />
ereignisgesteuert betreiben. Wer in diesem<br />
Szenario PHP nutzen möchte, muss<br />
zwangsläufig auch Fast-CGI verwenden.<br />
Der abgedruckte Benchmarktest vergleicht<br />
Äpfel mit Birnen. Ich glaube bei<br />
einer geeigneten Gegenüberstellung wären<br />
die Unterschied nicht groß gewesen.<br />
Ralf Hildebrandt, per E-Mail<br />
Die Versuchsanordnung für die Benchmarks<br />
war, im Nachhinein betrachtet,<br />
unglücklich gewählt. Nginx bietet dennoch<br />
bessere Werte bei Speicherverbrauch<br />
und Requests per Second, wie ein weiterer<br />
Benchmark unter [http://nbonvin.<br />
wordpress.com/2011/03/14/apache‐vs<br />
‐nginx‐vs‐varnish‐vs‐gwan/] zeigt. (Jan<br />
Brinkmann)<br />
Harte Nuss<br />
03/12, S. 72: Die Frage 12 des Winterrätsels<br />
ist vage formuliert. „Welche Ziffer<br />
brachte der erwähnte arabische Weise in<br />
die Wissenschaft?“ Die in der Antwort genannte<br />
Null datieren meine Schulbildung<br />
und die Wikipedia völlig anders als Ihr:<br />
Die Perser und Babylonier besaßen sie<br />
schon mehrere Jahrhunderte v.Chr. und<br />
in Ägypten hat man Zeugnisse aus dem<br />
2. Jahrhundert v.Chr. gefunden.<br />
Irgendwann im 5. bis 2. Jahrhundert<br />
v.Chr. hat der indische Gelehrte Pingala<br />
das Binärsystem mit Nullen und Einsen<br />
erfunden, wenn auch gegenüber dem<br />
modernen um 1 versetzt, da mit 1 beginnend.<br />
In der Antwort sprecht Ihr dann<br />
aber vom Konzept der Null, was ich entgegen<br />
eurer Frage nicht als Ziffer, sondern<br />
als die Zahl Null verstehe, etwas Abstrakteres,<br />
wofür die Menschheit viel länger<br />
gebraucht hat. Die gab es in Indien wohl<br />
ab dem 5. Jahrhundert, sie wurde 628<br />
im Lehrbuch „Brahmasphutasiddhanta“<br />
wissenschaftlich definiert. Das Verdienst<br />
der Araber ist wohl eher, dieses Wissen<br />
gen Westen vermittelt zu haben.<br />
Daniel Pfeiffer, per E-Mail<br />
Danke für die Präzisierung. Wie Sie<br />
schreiben, war den antiken Hochkulturen<br />
das Konzept der Null als neutrales Element<br />
der Addition oder als Ziffer etwa im<br />
Binärsystem bereits bekannt. Ihren Eingang<br />
als explizite Ziffer in der schriftlich<br />
niedergelegten Wissenschaftsliteratur des<br />
Abendlandes fand sie jedoch erst durch<br />
Al-Chwarizmi, der sein Werk „Über das<br />
Rechnen mit indischen Ziffern“ um 825<br />
auf Arabisch verfasste und dessen lateinische<br />
Übersetzung die Grundlage vieler<br />
schriftlich fixierter Rechenregeln bildete.<br />
(Nils Magnus)<br />
Knoppix 7.0<br />
04/12, S. 44: Ich bin von Knoppix 7.0<br />
hellauf begeistert, unter anderem weil<br />
es so gut mit meiner alten Hardware zusammenarbeitet.<br />
Leider konnte ich im<br />
Menü kein Tool zum Remastern der DVD<br />
finden. Was kann ich dazu benutzen? Wo<br />
finde ich außerdem das Programm, mit<br />
dem man den Rechner per Webcam und<br />
Kopfbewegung steuert? Und wann steht<br />
die neue Knoppix-Version zum allgemeinen<br />
Download bereit?<br />
R. H., per E-Mail<br />
Danke für das Lob. Zum Remastern: Ich<br />
zeige im Artikel in Listing 1, wie man das<br />
Hintergrundbild austauscht, die proprietären<br />
Komponenten löscht und das Ganze<br />
wieder in ein ISO-Image verpackt. Dazu<br />
sollten Sie sich mit <strong>Linux</strong> und der Kommandozeile<br />
auskennen. Ein grafisches<br />
Tool gibt es dafür nicht. Die Steuerung<br />
der Maus mit der Kamera heißt Viacam<br />
und ist unter »Barrierefreiheit« zu finden.<br />
Wie bei den öffentlichen Download-<br />
Versionen von Knoppix üblich, werde ich<br />
die neue Release auf meiner Webseite<br />
[http://knopper.net] ankündigen. Sie<br />
können den RSS-Feed im Browser abonnieren,<br />
um zu erfahren, wann es so weit<br />
ist. (Klaus Knopper)<br />
Virtuelles Wine<br />
03/12, S. 64: Zum Wine-Artikel „Neuer<br />
Jahrgang“: Das Verwalten der vorgestellten<br />
Kontexte über Präfixe lässt sich komfortabler<br />
gestalten. Meine Skriptsammlung<br />
„Virtual Wine“ [https://github.<br />
com/htgoebel/virtual‐wine] bereitet<br />
einen Kontext vor. Wird dieser aktiviert,<br />
kann der Anwender die Programme<br />
»wine« und »msiexec« ohne das umständliche<br />
Präfix aufrufen. Listing 1 zeigt eine<br />
typische Shellsitzung. Das Ganze ist inspiriert<br />
von »virtualenv« für Python.<br />
Hartmut Goebel, per E-Mail n<br />
Listing 1: Virtual Wine<br />
01 vwine‐setup ~/Präfix<br />
02 # Aktivieren / Umschalten<br />
03 ~/Präfix/bin/active<br />
04 # Wine benutzen<br />
05 wine regedit<br />
06 # Deaktivieren<br />
07 deactivate
Forum<br />
www.linux-magazin.de Bücher 05/2012<br />
82<br />
Ein Buch und ein Videotraining zu Jquery<br />
Tux liest<br />
Diese Rezensions-Seite widmet sich ganz Jquery. Ein gedrucktes Buch und ein Videotraining auf DVD-ROM treten<br />
an, um Programmierern beizubringen, wie sie mit der Bibliothek dynamische Webseiten bauen. Michael Müller<br />
Interaktive Seiten, kompatibel mit allen<br />
gängigen Browsern, dazu Ajax: So<br />
lauten die typischen Anforderungen an<br />
eine moderne Webpräsenz. Um sie zu<br />
erfüllen, setzen viele Entwickler auf die<br />
freie Javascript-Bibliothek Jquery. Das<br />
<strong>Linux</strong>-<strong>Magazin</strong> bespricht zwei Publikationen<br />
zum Thema, ein Buch und ein<br />
Videotraining auf DVD-ROM.<br />
Zwei Medienformate<br />
Ralph Steyers Buch „Jquery“ und André<br />
Wöstens gleichamiges Videotraining behandeln<br />
zunächst Grundlagen, Selektion,<br />
Document Object Model (DOM), Effekte<br />
und Ajax, danach kommen sie zu den<br />
Jquery-Spielarten UI und Mobile. Im Großen<br />
und Ganzen spannen somit beide<br />
vergleichbare Bögen auf.<br />
Die Unterschiede liegen im Detail: Steyer<br />
eröffnet sein Buch mit einigen Beispielen<br />
und relativ wenigen Erklärungen.<br />
Nach diesen Appetithappen erläutert er<br />
Jquery-Features in den folgenden Kapiteln<br />
ausführlich. Aus Platzgründen nutzt<br />
er dabei meist kurze und etwas abstrakte<br />
Codefragmente. Das Video dagegen spielt<br />
eigene Stärken aus und zeigt auch größere<br />
Webseiten, um dabei den Fokus auf<br />
jeweils interessante Stellen zu lenken.<br />
Damit das Ganze übersichtlich bleibt,<br />
präsentiert aber auch Wösten in der Regel<br />
keine langen Quelltexte.<br />
Info<br />
Ralph Steyer:<br />
„jQuery“<br />
Addison-Wesley, 2011<br />
500 Seiten<br />
35 Euro<br />
ISBN 978-3-8273-3072-7<br />
Die Auswirkungen von Änderungen kann<br />
er im Video sofort im Browser vorführen<br />
– live und in Farbe. Steyer bleiben hier<br />
nur Screenshots, von denen er jedoch<br />
ausführlich Gebrauch macht, sodass der<br />
Leser gut folgen kann.<br />
Ausgehend vom Jquery-Objekt zeigen<br />
beide, wie der Entwickler die Elemente<br />
der Webseite adressiert und manipuliert<br />
und wie er neue Elemente dynamisch<br />
einfügt. In Steyers Buch sind die Beispiele<br />
insgesamt kürzer, dafür jedoch zahlreicher.<br />
So erfährt der Leser zu diversen<br />
Themen einige zusätzliche Details. Teilweise<br />
sind Funktionen nacheinander aufgeschrieben,<br />
sodass eine Art Referenz<br />
entsteht, nach Themen geordnet. Zudem<br />
gibt es ein separates Kapitel zu Stylesheets,<br />
während das Video die Arbeit mit<br />
CSS nebenbei zeigt.<br />
Der Entstehung zusehen<br />
Das Video beschäftigt sich dagegen länger<br />
mit dem Einsatz von Formularen.<br />
Der Zuschauer kann das Entstehen einer<br />
kompletten Applikation, einer Online-<br />
Kontaktbörse, mitverfolgen, die später<br />
auch bei Jquery mobile wieder auftaucht.<br />
Insofern hat das Video einen stärkeren<br />
praktischen Bezug.<br />
Buch und Video gehen das Thema Jquery<br />
sachte an, sodass der Anwender keine<br />
Vorkenntnisse in diesem Bereich benötigt.<br />
Auch Wissen über HTML, CSS und<br />
Javascript ist für das Verständnis beider<br />
Werke nicht unbedingt Voraussetzung,<br />
aber empfehlenswert. Die Zielgruppe der<br />
Publikationen ist eher der fortgeschrittene<br />
Entwickler, auch wenn er im Bereich<br />
Jquery eventuell erst einsteigt.<br />
Steyers Buch ist locker und leicht zu lesen.<br />
Auch dem Video kann der Zuschauer<br />
sehr gut folgen, sobald er sich an einige<br />
sprachliche Wiederholungen gewöhnt<br />
hat. Beide Titel bieten umfassende Informationen<br />
zu Jquery. Auch wenn die<br />
Schwerpunkte der beiden Werke leicht<br />
verschieden sind – mehr Details im Buch,<br />
mehr Praxis im Video – sind Umfang und<br />
Qualität vergleichbar.<br />
Daher darf die Entscheidung des Käufers<br />
davon abhängen, wie sympathisch ihm<br />
die Eigenheiten des jeweiligen Mediums<br />
sind. Das Video hat eine Dauer von acht<br />
Stunden. Die rund 500 Seiten des Buches<br />
könnte ein geübter Leser eventuell<br />
in einer ähnlichen Zeit bewältigen. Viele<br />
werden sich aber gerne dafür doppelt so<br />
lange Zeit nehmen.<br />
So scheint das Buch auf den ersten Blick<br />
umfassender, da länger. Beim Video wirken<br />
aber Bild und Ton zusammen, sodass<br />
dies möglicherweise doch mehr bietet.<br />
Dabei ist allerdings das Lerntempo, abgesehen<br />
von einer Pausenmöglichkeit,<br />
weitgehend vorgegeben.<br />
Im Buch kann der Leser blättern sowie<br />
im Inhaltsverzeichnis oder Stichwortverzeichnis<br />
nachschlagen. Auch beim Video<br />
verfügen die einzelnen Abschnitte über<br />
Tags, die der Zuschauer über ein Stichwortverzeichnis<br />
direkt ansteuern kann.<br />
Lesezeichen lassen sich beim Buch wie<br />
auch bei der Videosoftware einsetzen.<br />
Ein Vorteil bleibt aber dem gedruckten<br />
Buch vorbehalten: Es ist nicht an ein<br />
Abspielgerät gebunden. (mhu) n<br />
Info<br />
André Wösten:<br />
„jQuery“<br />
Galileo Computing Videotraining<br />
8 Stunden<br />
40 Euro<br />
ISBN 978-3-8362-1762-0
Open Source<br />
bewegt.<br />
VIER TAGE:<br />
MATCH MAKING, FÜHRUNGEN,<br />
EXPERTEN!<br />
Open Data. Open Innovation. Open Communication!<br />
Nachhaltige Wertschöpfung durch offene Formen der Zusammenarbeit steht im Fokus<br />
des 18. <strong>Linux</strong>Tag in Berlin vom 23. – 26. Mai 2012.<br />
Hersteller, Unternehmen und Entwickler stellen sich der aktuellen Diskussion und<br />
präsentieren neue Konzepte und Geschäftsmodelle für die Software der Zukunft.<br />
<strong>Linux</strong>Tag 2012 – Open minds create effective solutions!<br />
23. –26. Mai 2012 in Berlin<br />
EUROPE‘S LEADING<br />
OPEN SOURCE EVENT<br />
www.linuxtag.org<br />
Medienpartner:<br />
Partner:<br />
Bronze Partner:<br />
Content Partner:<br />
MAGAZIN
Know-how<br />
www.linux-magazin.de Kern-Technik 05 /2012<br />
84<br />
Kernel- und Treiberprogrammierung mit dem <strong>Linux</strong>-Kernel – Folge 62<br />
Kern-Technik<br />
Für KGDB, den eingebauten Debugger des <strong>Linux</strong>-Kernels, gibt es die beiden Frontends KDB und GDB. Mit KDB<br />
und der richtigen Konfigurationsdatei kann es unter Ubuntu sofort losgehen. Wer Hochsprachen-Debugging<br />
mit GDB wünscht, installiert noch Virtualbox, Socat und einen speziellen Kernel. Jürgen Quade, Eva-Katharina Kunst<br />
© psdesign1, Fotolia<br />
62<br />
<strong>Linux</strong>-Kernel-Debugging ist ein heikles<br />
Thema. Während Windows & Co. schon<br />
seit gefühlten Ewigkeiten einen Kerneldebugger<br />
zur Verfügung stellen, hat es<br />
bei <strong>Linux</strong> 16 Jahre gedauert, bis Torvalds<br />
bereit war einen „Kerneldebugger light“<br />
in die Quellen aufzunehmen. Seit 2008<br />
ist der »kgdb« ein Bestandteil des <strong>Linux</strong>-<br />
Kerns, etwas später kam die Erweiterung<br />
»kdb« dazu.<br />
Mitgeliefert: KDB<br />
Dabei stellt »kdb« die einfachste Möglichkeit<br />
dar, den Kernel zu untersuchen.<br />
Viele Distributionen, beispielsweise auch<br />
Ubuntu, integrieren den KDB, allerdings<br />
ohne ihn gleich scharf zu schalten. Das<br />
ist jedoch schnell erledigt, denn sobald<br />
der Debugger die Schnittstellen kennt,<br />
über die er Kommandos bezieht und an<br />
die er die Ausgaben<br />
schicken soll, ist er<br />
auch schon aktiviert.<br />
Zur Auswahl stehen<br />
dafür die Konsole,<br />
repräsentiert durch<br />
das Keyboard und<br />
das Schlüsselwort<br />
»kbd«, sowie die serielle<br />
Schnittstelle<br />
(»ttyS0«).<br />
Die Schlüsselwörter<br />
schreibt der Superuser<br />
mit Hilfe von<br />
»echo« in die zum<br />
Kerneldebugger gehörende<br />
Konfigurationsdatei<br />
»kgdboc«. Die<br />
Variante für die Konsole<br />
(Keyboard) lässt<br />
sich unter Berücksichtigung<br />
der Option<br />
»kms« mit der folgenden Kommandozeile<br />
konfigurieren:<br />
echo kms,kbd > /sys/module/kgdboc/U<br />
parameters/kgdboc<br />
Achtung: »kbd« steht hier für Keyboard<br />
und nicht für den KDB. Mit dieser Konfiguration<br />
friert das System ein, sobald<br />
eine Kernelkomponente abstürzt oder ein<br />
Kernelmodul die Funktion »panic()« aufruft.<br />
Root kann das System aber auch von<br />
Hand zum Debuggen einfrieren, indem er<br />
das Kommando<br />
echo g >/proc/sysrq‐trigger<br />
eingibt oder die vier Tasten [Strg]+[Alt]+<br />
[S-Abf]+[G] gleichzeitig drückt. [G]<br />
steht dabei für das Kommando, um in<br />
den interaktiven Modus des Debuggers<br />
zu wechseln. Ein »help« im interaktiven<br />
Modus zeigt die weiteren Kommandos<br />
an. Der Anwender kann Speicherzellen<br />
auslesen und schreiben, die Prozessliste<br />
oder die letzten Kernelnachrichten anzeigen<br />
sowie Breakpoints setzen. Eines der<br />
wichtigsten Kommandos ist »go«, denn es<br />
veranlasst den Kernel dazu, seine Arbeit<br />
wieder aufzunehmen, als wäre gar nichts<br />
gewesen. Tabelle 1 listet die wichtigsten<br />
KDB-Kommandos auf.<br />
Nur Assembler-Code<br />
So umfangreich die Möglichkeiten auch<br />
sind, zwei Probleme schränken den Einsatz<br />
des eingebauten Debugger-Frontends<br />
ein: Erstens unterstützt KDB kein<br />
Debugging auf Hochsprachen-Niveau<br />
und zeigt dem Anwender nur Assembler-Code.<br />
Zweitens funktioniert er nur<br />
einwandfrei, wenn er entweder für die<br />
serielle Schnittstelle »ttyS0« konfiguriert<br />
ist oder von einer normalen Konsole aus<br />
aufgerufen wird.<br />
Immerhin ist es dank Kernel Mode Switching<br />
(KMS) mittlerweile möglich, den<br />
Debugger auch aus dem grafischen Modus<br />
mit X.org zu verwenden. In diesem<br />
Fall schaltet der Debugger bei der Aktivierung<br />
auf die erste Konsole, um von<br />
hier aus das System zu untersuchen. Sobald<br />
der Anwender ihn per »go« beendet,<br />
schaltet der Debugger wieder zurück zur<br />
grafische Oberfläche. Allerdings funktioniert<br />
das nicht in jedem Fall, es gibt<br />
beispielsweise Probleme in einer mittels<br />
Virtualbox virtualisierten Umgebung. Außerdem<br />
muss der Superuser KMS explizit<br />
durch Angabe des Schlüsselworts »kms«<br />
aktivieren.<br />
Die klassische Variante des Kerneldebuggings<br />
nutzt aber ohnehin die serielle<br />
Schnittstelle zur Ein- und Ausgabe.<br />
Dumm nur, dass man zwei Rechner dafür
enötigt. Außerdem besitzen moderne<br />
Desktop-PCs, Note- oder Netbooks gar<br />
keine serielle Schnittstelle mehr.<br />
Doch genau hier kann eine Virtualisierungslösung<br />
aushelfen. Schnell lässt sich<br />
mit Virtualbox ein Rechner zusammenklicken<br />
und mit einer seriellen Schnittstelle<br />
versehen. Diese ist als so genannte<br />
Hostpipe zu konfigurieren (Abbildung 1).<br />
In Virtualbox kann ein <strong>Linux</strong>, beispielsweise<br />
Ubuntu 11.10, als so genanntes Debug-Target<br />
laufen. Den Kerneldebugger<br />
des Targets schaltet Root mit folgendem<br />
Kommando scharf:<br />
Kern-Technik 05/2012<br />
Know-how<br />
www.linux-magazin.de<br />
85<br />
echo ttyS0,115200 > /sys/module/kgdboc/U<br />
parameters/kgdboc<br />
Zur Kommunikation mit dem Debugger<br />
des Targets muss auf dem Hostsystem ein<br />
Terminalprogramm installiert sein, hier<br />
bietet sich »minicom« an. Leider kann<br />
Minicom nicht direkt mit der Hostpipe<br />
(im Beispiel »/tmp/com1«) kommunizieren.<br />
Daher ist weitere Software erforderlich,<br />
die zwischen Hostpipe und Minicom<br />
vermittelt. Das übernimmt »socat«, sodass<br />
das gesamte Setup neben Virtualbox<br />
mit einem <strong>Linux</strong> aus Socat und Minicom<br />
besteht (siehe Abbildung 2).<br />
Komplexes Setup<br />
Nach dem Start unter Angabe der Hostpipe<br />
gibt »socat« den Namen der Gerätedatei<br />
aus, über die das Terminalprogramm<br />
auf die Daten zugreifen kann. Im<br />
Fall von Abbildung 3 beispielsweise ist<br />
das »/dev/pts/7«. Die Nummer dieses<br />
Pseudoterminals variiert von Mal zu Mal.<br />
Ist der Name der Gerätedatei gefunden,<br />
startet Root das Terminalprogramm:<br />
minicom ‐D /dev/pts/7<br />
Aktiviert er nun den Debugger – beispielsweise<br />
mit der magischen Tastenkombination<br />
[Strg]+[Alt]+[S-Abf]+[G] –, reicht<br />
Virtualbox sämtliche Ausgaben der seriellen<br />
Schnittstelle an die konfigurierte<br />
Hostpipe weiter und diese schließlich per<br />
Tabelle 1: Wichtige Kommandos des Kerneldebuggers KDB<br />
md Adresse<br />
go [Adresse]<br />
mm Adresse<br />
rd<br />
bt<br />
btp Prozess-ID<br />
cpu Nummer<br />
kgdb<br />
ps<br />
Prozess-ID<br />
reboot<br />
lsmod<br />
dmesg<br />
kill<br />
summary<br />
bp Adresse<br />
bc Nummer<br />
ss<br />
Speicherinhalte anzeigen („display memory“)<br />
Ausführung fortsetzen<br />
Abbildung 1: Debuggen eines virtualisierten <strong>Linux</strong>-Systems auf dem lokalen Rechner: Die serielle Schnittstelle<br />
konfiguriert der Virtualbox-Anwender als Hostpipe.<br />
Speicherinhalte verändern („modify memory“)<br />
CPU-Register anzeigen („display registers“)<br />
Aufrufreihenfolge von Funktionen („stack traceback“)<br />
Die Aufrufreihenfolge von Funktionen für Prozess anzeigen<br />
CPU Nummer auswählen<br />
In den KGDB-Modus wechseln<br />
Liste der aktiven Rechenprozesse anzeigen<br />
Zum Rechenprozess Prozess-ID wechseln<br />
System-Neustart<br />
Die Liste der geladenen Kernelmodule ausgeben<br />
Die letzten Kernelnachrichten ausgeben<br />
Einem Rechenprozess ein Signal zustellen<br />
Zusammenfassung wichtiger Systemparameter anzeigen<br />
Breakpoints setzen oder anzeigen<br />
Breakpoint Nummer löschen<br />
Einzelschritt<br />
»socat« an das Terminalprogramm. Minicom<br />
zeigt den Debugger-Prompt, nimmt<br />
Kommandos entgegen und sendet sie an<br />
KDB. Dessen Hilfsmenü lässt sich übrigens<br />
aufrufen, indem man gleichzeitig<br />
die Tasten [Strg]+[A] und anschließend<br />
[Z] drückt. Um Minicom zu verlassen,<br />
sind [Strg]+[A] und danach [Q] und [Return]<br />
einzugeben.<br />
Hohes Niveau<br />
Wie bereits erwähnt, ist KDB nicht in<br />
der Lage, auf Hochsprachen-Niveau<br />
zu debuggen. Ein auf dem Hostsystem<br />
laufender GDB dagegen ermöglicht es,<br />
Breakpoints auf einzelne Zeilen des C-<br />
Quelltextes zu setzen.<br />
Der GNU-Debugger spricht unter Umgehung<br />
des KDB mit dem eigentlichen Debug-Core<br />
des Kernels, dem KGDB. Diese<br />
Basiskomponente des Kerneldebuggers<br />
bezeichnet man auch als Debugserver.<br />
KGDB kann Speicherzellen lesen und<br />
schreiben, Breakpoints setzen und Codesequenzen<br />
reaktivieren. Darüber hinaus<br />
bedient er die serielle Schnittstelle, um<br />
darüber Kommandos zu empfangen und<br />
Debuginformationen auszugeben.<br />
Für seine Ein- und Ausgaben kann KGDB<br />
nicht auf die normalen <strong>Linux</strong>-Treiber zurückgreifen.<br />
Die meisten Treiber arbeiten<br />
nämlich über Interrupts, die während<br />
des Debuggens nicht benutzbar sind.<br />
Der Debugserver überprüft stattdessen<br />
per Polling regelmäßig und in kurzen Ab-
Know-how<br />
www.linux-magazin.de Kern-Technik 05 /2012<br />
86<br />
Bildschirm,<br />
Tastatur<br />
»minicom«<br />
»/dev/pts/7«<br />
»socat«<br />
»/tmp/com1«<br />
Abbildung 2: Debuggen des Kernels in einer virtualisierten Umgebung.<br />
ständen, ob neue Daten für ihn vorliegen<br />
(siehe Abbildung 4). Der KGDB stellt nur<br />
das Backend dar.<br />
Für komplexere Aufgaben wie etwa das<br />
Zuordnen von Maschinencode zu Quellcodezeilen<br />
ist ein Frontend erforderlich,<br />
das mit GDB zur Verfügung steht. Der<br />
GNU-Debugger wühlt sich durch den<br />
Quellcode und führt die Umsetzung zwischen<br />
Symbolen und realen Speicheradressen<br />
durch. Da der GDB funktionierendes<br />
Speicher- und Dateimanagement<br />
benötigt, läuft er auf einem zweiten<br />
Rechner, dem Debughost. Das Protokoll,<br />
über das Debugserver und Debughost<br />
kommunizieren, nennt sich »kgdboc«<br />
(„kdgb over console“).<br />
Für das Hochsprachen-Debugging sind<br />
allerdings einige Vorarbeiten notwendig.<br />
Der GDB benötigt nämlich nicht nur den<br />
Quellcode des Kernels,<br />
Target<br />
sondern auch das unkomprimierte<br />
Kernelobjekt<br />
selbst, und zwar<br />
<strong>Linux</strong>-Kernel<br />
inklusive der Symbolinformationen.<br />
Zudem<br />
muss der Kernel die<br />
Virtualbox notwendigen Debugkomponenten<br />
integriert<br />
haben. Das ist in<br />
vielen Fällen mit dem<br />
Neukompilieren auf<br />
dem Target gleichzusetzen<br />
(siehe Kasten<br />
„Debug-Kernel für Ubuntu 11.10“). Außerdem<br />
ist darauf zu achten, dass Debughost<br />
und Debugtarget zueinander passen:<br />
Das Debuggen eines 32-Bit-Targets mit<br />
einem 64-Bit-Host führte in den Versuchen<br />
der Autoren zu Problemen.<br />
Symbolinformationen<br />
Nach dem Neu-Übersetzen auf dem<br />
Target hat das Kernel-Buildsystem zwei<br />
Kernelobjekte angelegt. Auf einem x86-<br />
Rechner findet sich im Verzeichnis »arch/<br />
x86/boot/« das komprimierte Objekt<br />
»bz–Image«. Das unkomprimierte, mit<br />
Symbolinformationen versehene und für<br />
GDB benötigte Kernelobjekt liegt aber<br />
unter dem Namen »vmlinux« im Startverzeichnis<br />
des Quellcodes. Dieses Kernelobjekt<br />
kopiert der Anwender zusammen<br />
mit dem Quellcode auf die Hostmaschine.<br />
Am besten überträgt er den kompletten<br />
Dateibaum mit dem folgenden Kommando<br />
vom Target zum Host:<br />
scp ‐r /usr/src/linux‐3.0.0/ U<br />
Debughost:/usr/src/<br />
Ist die Target-Maschine mit dem neuen<br />
Kernel gebootet, kann die Debugsession<br />
beginnen. Dazu startet man den »gdb«<br />
mit dem Namen des Kernelobjekts als<br />
Parameter und verbindet ihn mit Hilfe<br />
des Kommandos »target remote /dev/<br />
pts/7« mit dem Debugserver (siehe Abbildung<br />
5). Selbstverständlich ist der<br />
Schnittstellenname (im Beispiel »/dev/<br />
pts/7«) an den von Socat ausgegebenen<br />
Wert anzupassen.<br />
Kommunikationsprobleme<br />
Der GDB wartet jetzt darauf, dass auf<br />
dem Target der Debugger startet. Sobald<br />
das geschehen ist, übernimmt er die<br />
Kontrolle. Anfänglich kann es zu Kommunikationsproblemen<br />
zwischen »gdb«<br />
und Target kommen. Es empfiehlt sich in<br />
diesem Fall, den Debugger zu beenden<br />
Listing 1: Erzeugen und installieren<br />
des Debug-Kernels<br />
01 # Notwendige Pakete installieren<br />
02 apt‐get install build‐essential libncurses‐dev<br />
linux‐source<br />
03 cd /usr/src/<br />
04 tar xvfj linux‐source‐3.0.0.tar.bz2<br />
Abbildung 3: Socat vermittelt zwischen Virtualbox und dem Debugger-Frontend.<br />
05 # Kernel konfigurieren<br />
06 cd linux‐source‐3.0.0/<br />
Host<br />
Target<br />
07 cp /boot/config‐3.0.0‐15‐generic .<br />
08 make localmodconfig<br />
GDB<br />
User<br />
09 # Debug‐Optionen einstellen<br />
Kernel<br />
10 make menuconfig<br />
11 # Kernel generieren:<br />
12 make ‐j4 bzImage modules<br />
13 make modules‐install<br />
14 # Kernelversion herausfinden<br />
15 ls ‐lrt /lib/modules<br />
16 # Installation<br />
Debug-<br />
Server<br />
Treiber im<br />
Polling-<br />
Betrieb<br />
serielle<br />
Schnittstelle<br />
KGDB<br />
KDB<br />
»kbd«<br />
(Keyboard)<br />
Hardware<br />
»kms«<br />
(Grafik)<br />
Kommandos<br />
dekodieren<br />
und<br />
ausführen<br />
Kernel-Debug-Subsystem<br />
17 cp .config /boot/config.3.0.13<br />
18 cp boot/arch/x86/boot/bzImage /boot/vmlinux‐3.0.13<br />
»kgdboc«<br />
19 update‐initramfs ‐c ‐k 3.0.13<br />
20 update‐grub<br />
Abbildung 4: Das Debug-Subsystem des Kernels: Ein Frontend wie GDB auf dem Debughost (links) kommuniziert<br />
per »kgdboc«-Protokoll mit dem Debugserver KGDB auf dem Target (rechts).
den Kernel zurück. Kommt auf dem Debug-Target<br />
das Kommando »umask« zum<br />
Aufruf, führt das nun zum gewünschten<br />
Einfrieren des Systems und der Debugger<br />
erhält die Kontrolle.<br />
Darüber hinaus bietet der GNU-Debugger<br />
in Kombination mit dem KGDB noch eine<br />
ganze Reihe weiterer Möglichkeiten. Wer<br />
den <strong>Linux</strong>-Kernel beispielsweise mit der<br />
Kommandozeilenoption »kgdbwait« startet,<br />
kann ihn bereits beim Booten untersuchen.<br />
Weitere Hinweise finden sich in der Dokumentation<br />
des <strong>Linux</strong>-Kernels [1] sowie<br />
insbesondere zum Einsatz des GDB beim<br />
Kerneldebuggen auch in der Kern-Technik-Folge<br />
60 [2]. (mhu)<br />
n<br />
Kern-Technik 05/2012<br />
Know-how<br />
www.linux-magazin.de<br />
87<br />
Abbildung 5: Der GDB ermöglicht nach Kopplung mit dem KGDB das Debugging auf Hochsprachen-Niveau.<br />
Infos<br />
[1] Jason Wessel, „Using kgdb, kdb and the<br />
kernel debugger internals“: [https:// www.<br />
kernel. org/ doc/ htmldocs/ kgdb. html]<br />
[2] Quade, Kunst, „Kern-Technik“, Folge 60,<br />
<strong>Linux</strong>-<strong>Magazin</strong> 01/12, S. 104<br />
– beispielsweise indem man auf einer<br />
anderen Konsole das Kommando »sudo<br />
killall gdb« absetzt. Danach startet man<br />
»gdb« erneut und verbindet ihn mit dem<br />
KGDB des Targets.<br />
Auf dem Target startet Root mit dem<br />
Kommando »echo g > /proc/sysrq-trigger«<br />
den Debugmodus. Zum Testen kann<br />
er sich beispielsweise mit dem GDB-<br />
Kommando »bt« den Stacktrace anzeigen<br />
lassen und per »break sys_umask« einen<br />
Breakpoint auf den Systemcall »umask()«<br />
setzen. Auf das Kommando »continue«<br />
gibt der GDB die Kontrolle wieder an<br />
Die Autoren<br />
Eva-Katharina Kunst, Journalistin, und Jürgen<br />
Quade, Professor an der Hochschule Niederrhein,<br />
sind seit den Anfängen von <strong>Linux</strong> Fans von Open<br />
Source. In der Zwischenzeit ist die dritte Auflage<br />
ihres Buches „<strong>Linux</strong>-Treiber entwickeln“<br />
erschienen.<br />
Debug-Kernel für Ubuntu 11.10<br />
KGDB und KDB sind Teile des <strong>Linux</strong>-Quellcodes,<br />
das Einspielen separater Patches entfällt. Allerdings<br />
sind die Debugger bei der Kernelkonfiguration<br />
zu berücksichtigen. Auch wenn Distributionen<br />
wie Ubuntu einen Kernel mit Debugger<br />
ausliefern, ist die Unterstützung unvollständig:<br />
Der Debugger hat nur lesenden Zugriff auf Code<br />
und Daten und kann daher keine Breakpoints<br />
setzen, zudem fehlen die Symbolinformationen.<br />
Das macht es erforderlich, einen eigenen Debugkernel<br />
zu bauen.<br />
Zunächst müssen mit »build‐essential«,<br />
»libncurses‐dev« und »linux‐source« die notwendigen<br />
Pakete installiert sein (siehe Listing<br />
1). Nach der Installation wechselt Root in das<br />
Verzeichnis »/usr/src« und packt dort den <strong>Linux</strong>-Quellcode<br />
aus, den Ubuntus Paketmanager<br />
als komprimiertes Archiv abgelegt hat. Danach<br />
wechselt er in das ausgepackte Quellcodeverzeichnis<br />
und kopiert die aktuelle Kernelkonfiguration<br />
in den Ordner.<br />
Da das Kompilieren eines vollständigen Ubuntu-<br />
Kernels mit all seinen Modulen sehr viel Zeit<br />
verschlingt, empfiehlt sich eine Alternative:<br />
Das Make-Target »localmodconfig« konfiguriert<br />
den <strong>Linux</strong>-Kernel mit genau jenen Treibern, die<br />
aktuell im System aktiv sind. Falls »make localmodconfig«<br />
Fragen stellt, reicht das Drücken<br />
der Return-Taste für die Standardeinstellung.<br />
Danach ist aber noch »make menuconfig« an<br />
der Reihe, um einige Optionen zu aktivieren<br />
beziehungsweise zu deaktivieren.<br />
Die relevanten Einstellungen finden sich sämtlich<br />
unterhalb des Menüpunkts »Kernel Hacking«.<br />
Benötigt werden die Optionen »Magic<br />
SysRq key«, »Kernel debugging«, »Compile the<br />
kernel with debug info«. Außerdem muss der<br />
Anwender die Option »KGDB: kernel debugger«<br />
aktivieren und darauf achten, dass im zugehörigen<br />
Untermenü die Punkte »KGDB_KDB: include<br />
kdb frontend for kgdb« und »KGDB_KDB: keyboard<br />
as input device« ausgewählt sind.<br />
Zu deaktivieren sind dagegen die Optionen<br />
»Write protect kernel read‐only data structures«<br />
und »Set loadable kernel module data as<br />
NX and test as RO«. Ist der Kernel konfiguriert,<br />
wird er zusammen mit den Modulen generiert.<br />
Der Parameter »‐j« legt übrigens fest, auf wie<br />
viele Prozessoren »make« beim Übersetzen zurückgreifen<br />
kann. Das Generieren des Kernels<br />
dauert je nach Leistung der Maschine wenige<br />
Minuten, aber manchmal auch eine Stunde.<br />
Noch mehr Geduld ist notwendig, wenn es in<br />
der virtuellen Maschine stattfindet.<br />
Nach dem Kompilieren geht es an die Installation.<br />
Zunächst sind die Module per »make<br />
modules‐install« auf dem Target an die richtige<br />
Stelle zu kopieren. Ein Blick in das Verzeichnis<br />
»/lib/modules« mit Hilfe des Kommandos »ls<br />
‐lrt« verrät in seinem letzten Eintrag, welche<br />
Kernelversion genau entstanden ist, beispielsweise<br />
3.0.13. Mit dieser Information kopiert<br />
der Anwender die Kernelkonfiguration und<br />
den Kernel selbst in das Verzeichnis »/boot«<br />
und erzeugt die zugehörige initiale Ramdisk.<br />
Im Verzeichnis »/boot« schließlich findet das<br />
Skript »update‐grub« den neuen Kernel und<br />
konfiguriert den Bootloader. Mit dem nächsten<br />
Booten ist der neue Systemkern aktiv.
Programmieren<br />
www.linux-magazin.de Bash Bashing 05/2012<br />
90<br />
Shellskripte aus der Stümper-Liga – Folge 20: Richtiges Locking<br />
Bash Bashing<br />
Es gibt Dinge, die sollte im Grundsatz immer nur einer machen, etwa eine Datenbank anlegen oder einen<br />
Prozess starten. Ein Lock stellt die Solonummer sicher. Überraschend viele Implementierungen für Locks in<br />
Shellskripten sind jedoch falsch. Bernhard Bablok<br />
Wenn unterschiedliche Prozesse oder<br />
Threads eine Ressource zeitgleich verändern,<br />
kann das zu katastrophalen Folgen<br />
führen – für die Datenintegrität genauso<br />
wie für den Ablauf der betreffenden Prozesse<br />
(drohende Race Conditions). Daher<br />
verfügen Multitasking-Betriebssysteme<br />
seit langem über Mechanismen, die<br />
wechselseitige Zugriffe miteinander zu<br />
synchronisieren helfen.<br />
Unter <strong>Linux</strong> gibt es dafür unter anderem<br />
so genannte Mutex-Semaphore (Mutex<br />
[1] steht für Mutual Exclusion, wechselseitiger<br />
Ausschluss). Die C-Bibliothek<br />
und die Systembibliotheken von Programmiersprachen<br />
machen den Zugriff<br />
auf Mutexe für Anwendungsprogramme<br />
verfügbar.<br />
Leider bleibt Bash-Skripten der Zugang<br />
zu diesen Mechanismen verwehrt. Workarounds<br />
müssen darum her, um die<br />
Zugriffe zu serialisieren. Das Problem:<br />
Die meisten davon<br />
funktionieren – aber<br />
nicht sicher, wie die<br />
nächsten Abschnitte<br />
zeigen.<br />
Open Suse nutzt zum<br />
Beispiel das Wrapper-<br />
Skript in Listing 1,<br />
das täglich den Logrotate-Dienst<br />
startet.<br />
Klar, dass gleichzeitig<br />
laufende Instanzen<br />
hier Unheil anrichten<br />
können. In Zeile 3<br />
überprüft das Skript<br />
daher, ob schon eine<br />
Instanz läuft. Wenn<br />
nicht, startet das<br />
Skript in Zeile 10 den<br />
Dienst.<br />
Dumm nur, wenn<br />
Log rotate genau in diesem Zeitfenster<br />
losläuft. Normalerweise passiert so etwas<br />
nicht – aber wenn etwas schief gehen<br />
kann, dann passiert es eines Tages auch.<br />
Vergleichbar fehlerhafte Implementierungen<br />
finden sich in erstaunlich vielen<br />
Skripten: die Abfrage auf einen Prozess<br />
beispielsweise oder auf das Vorhandensein<br />
einer Prozess-PID-Datei.<br />
Dass eigentlich Logrotate selbst dafür<br />
sorgen sollte, dass es nicht mehrfach zur<br />
selben Zeit mit identischer Konfigurationsdatei<br />
läuft, hilft nur bedingt weiter. Es<br />
bedarf vieler Wrapper-Skripte nur wegen<br />
der Unzulänglichkeiten der eigentlich damit<br />
gestarteten Programme.<br />
Eigene Locks<br />
Eine andere weitverbreitete Synchronisiertechnik<br />
arbeitet mit Lockdateien.<br />
Auch bei einem entsprechenden Beispiel<br />
in Listing 2 können zwei Instanzen des<br />
Skripts so unglücklich laufen, dass beide<br />
Instanzen die Existenz des Lockfiles zu<br />
einer Zeit abfragen, bevor das Lockfile<br />
erzeugt ist.<br />
Es ist tragisch, dass gerade eine Programmieranleitung<br />
für Anfänger aus quasi offizieller<br />
Quelle [2] eine Technik demonstriert,<br />
die nichts taugt und den Anfänger<br />
verdirbt. Dies erscheint besonders unverständlich,<br />
weil die richtige Lösung nicht<br />
aufwändiger wäre.<br />
Atomare Bedrohung für<br />
Race Conditions<br />
Locks funktionieren nur, wenn sie atomar<br />
sind. Das bedeutet, die Abfrage, ob ein<br />
Lock existiert, und die Anforderung eines<br />
Locks darf nur eine einzige Operation<br />
sein. Andernfalls könnte ein unglücklicher<br />
Kontextwechsel zwischen den beteiligten<br />
Prozessen zu der Situation führen,<br />
dass kurz nach der Lockabfrage eines<br />
Prozesses der andere Prozess das Lock<br />
anfordert und bekommt.<br />
Innerhalb eines Bash-Skripts gibt es als<br />
allgemein verfügbares Kommando nur<br />
»mkdir«, das dies leistet:<br />
mkdir /var/tmp/meinlock<br />
if [ $? ‐eq 0 ]; then<br />
echo "Lock erfolgreich gesetzt"<br />
else<br />
echo "Ein anderer Prozess hat das Lock"<br />
fi<br />
Der zugrunde liegende Systemcall gleichen<br />
Namens ist atomar – er scheitert<br />
darum pflichtgemäß, wenn das Verzeichnis<br />
schon existiert. Ansonsten legt er das<br />
Lockverzeichnis an.<br />
Je nach Anwendungsfall nutzt der Bash-<br />
Programmierer den Code in zwei Varianten.<br />
In den Listings 1 und 2 verlässt
das Skript im Else-Zweig das Programm.<br />
Wenn ein Skript allerdings nur warten<br />
will, bis die Ressource frei wird, muss<br />
eine einfache Schleife her:<br />
while ! mkdir /var/tmp/meinlock; do<br />
sleep 1<br />
done<br />
echo "Lock endlich erfolgreich gesetzt"<br />
Damit lässt sich das Locking-Problem im<br />
Prinzip lösen.<br />
Denial of Service<br />
Allerdings schickt ein beliebiger Nutzer<br />
– jeder hat Schreibrechte auf »/var/tmp«<br />
– das Programm in eine Endlosschleife,<br />
indem er einfach die Lockdatei anlegt.<br />
Eine Lockdatei gehört darum nicht in<br />
ein für alle schreibbares Verzeichnis. Üblicherweise<br />
ist es aber nicht der böse<br />
Angreifer, der hier gezielt ein Programm<br />
lahmlegt, sondern das Programm erledigt<br />
dies unbeabsichtigt selber. Denn wenn<br />
es aus irgendeinem Grund das Lockverzeichnis<br />
nicht mehr wegräumt, dann endet<br />
der nächste Lauf in der befürchteten<br />
Endlosschleife.<br />
Die Bash unterstützt den Skriptprogrammierer<br />
in diesem Punkt mit dem Trap-<br />
Kommando. Es fängt Signale ab (to trap,<br />
fangen) und ruft geeignet definierte Signalhandler<br />
auf, wie in Listing 3 zu sehen<br />
ist. Für das Locking sollte das Skript<br />
zumindest das »EXIT«-Signal verarbeiten<br />
(»INT« und »TERM« lösen letztlich auch<br />
ein »EXIT« aus).<br />
Infos<br />
[1] Willi Nüßer, „Futexe und andere Formen<br />
der Prozesssynchronisation“:<br />
<strong>Linux</strong>-<strong>Magazin</strong> 10/05, S. 84; [http://<br />
www.linux-magazin.de/Heft-Abo/Ausgaben/2005/10/Kampf-um-die-Ressourcen]<br />
[2] Fehlerhaftes Locking im Bash Beginners<br />
Guide: [http:// tldp. org/ LDP/ Bash<br />
‐Beginners‐Guide/ html/ sect_12_02. html]<br />
Der Autor<br />
Bernhard Bablok betreut bei der Allianz Managed<br />
& Operations Services SE ein großes Datawarehouse<br />
mit technischen Performancemessdaten<br />
von Mainframes bis zu Servern. Wenn er nicht<br />
Musik hört, mit dem Radl oder zu Fuß unterwegs<br />
ist, beschäftigt er sich mit Themen rund um <strong>Linux</strong><br />
und Objektorientierung.<br />
Im Exit-Handler räumt dann das Skript<br />
vorher gesetzte Locks weg. Eigene Handler<br />
für »INT« und »TERM« erlauben es<br />
dem Programmierer, vorher weitere Aktionen<br />
durchzuführen, zum Beispiel Änderungen<br />
zurückzunehmen. Das Beispielskript<br />
setzt in diesen Fällen nur einen<br />
anderen Exit-Code.<br />
Wider die Paranoia<br />
Gegen das Kill-Signal ist bekanntlich<br />
kein Kraut gewachsen, hierfür kann der<br />
Programmierer auch keinen Trap-Handler<br />
installieren. Ein derart abgewürgtes<br />
Programm hinterlässt also zwangsläufig<br />
ein Lock. Ein Ausweg daraus ist, im<br />
Lockverzeichnis Informationen über den<br />
Besitzer des Locks abzulegen, etwa Programmname<br />
und PID. Findet ein zweiter<br />
Prozess das Lockverzeichnis vor, prüft<br />
01 #!/bin/sh<br />
02 # exit immediately if there is another instance<br />
running<br />
03 if checkproc /usr/sbin/logrotate; then<br />
04 /bin/logger ‐t logrotate "ALERT another<br />
instance of logrotate is running ‐ exiting"<br />
05 exit 1;<br />
06 fi;<br />
07 <br />
08 TMPF=`mktemp /tmp/logrotate.XXXXXXXXXX`<br />
09 /usr/sbin/logrotate /etc/logrotate.conf 2>&1 |<br />
tee $TMPF<br />
Listing 3: Trap-Handler<br />
01 #!/bin/bash<br />
02 trap_exit() {<br />
03 echo "trapping exit signal" >&2<br />
04 }<br />
05 trap_int() {<br />
06 echo "trapping int signal" >&2<br />
07 exit 1<br />
08 }<br />
09 trap_term() {<br />
10 echo "trapping term signal" >&2<br />
11 exit 3<br />
12 }<br />
er in jedem Schleifendurchgang diese Informationen<br />
zusätzlich und übernimmt<br />
das Lock, falls der ursprüngliche Besitzer<br />
nicht mehr existiert.<br />
Look at Lock<br />
Listing 1: Start von Logrotate aus »/etc/cron.daily«<br />
Listing 2: Unsicheres Sperren mit einer Lockdatei<br />
01 #!/bin/bash<br />
02 LOCKFILE=/var/lock/makewhatis.lock<br />
03 <br />
04 # Previous makewhatis should execute<br />
successfully:<br />
05 [ ‐f $LOCKFILE ] && exit 0<br />
Richtiges Locking ist also gar nicht einfach.<br />
Oft implementiert der Programmierer<br />
Code, der nur für einen seltenen<br />
Ausnahmefall relevant ist – der vielleicht<br />
nie eintritt. Letztlich heißt es, immer abzuwägen<br />
zwischen dem Programmieraufwand<br />
jetzt und dem Aufwand für die<br />
Fehlersuche später, wenn mal das Skript<br />
nicht mehr so läuft wie früher oder sogar<br />
Daten korrumpiert sind. Unterm Strich<br />
lässt sich als Motto formulieren: Wenn<br />
schon Locking, dann richtig. Einfach erzeugte<br />
Lockdateien und Prozessabfragen<br />
sind keine Option. (jk)<br />
n<br />
10 EXITVALUE=${PIPESTATUS[0]}<br />
11 if [ $EXITVALUE != 0 ]; then<br />
12 # wait a sec, we might just have restarted<br />
syslog<br />
13 sleep 1<br />
14 # tell what went wrong<br />
15 /bin/logger ‐t logrotate "ALERT exited<br />
abnormally with [$EXITVALUE]"<br />
16 /bin/lo gger ‐t logrotate ‐f $TMPF<br />
17 fi<br />
18 rm ‐f $TMPF<br />
19 exit 0<br />
06 [...]<br />
07<br />
08 touch $LOCKFILE<br />
09 makewhatis ‐u ‐w<br />
10 exit 0<br />
13 <br />
14 trap trap_exit EXIT<br />
15 trap trap_int INT<br />
16 trap trap_term TERM<br />
17 <br />
18 let i=0<br />
19 while [ $i ‐lt 10 ]; do<br />
20 echo "sleeping ..." >&2<br />
21 sleep 1<br />
22 let i+=1<br />
23 done<br />
24 exit 0<br />
Bash Bashing 05/2012<br />
Programmieren<br />
www.linux-magazin.de<br />
91
Programmieren<br />
www.linux-magazin.de Perl-Snapshot 05/2012<br />
92<br />
Amazons Kindle am <strong>Linux</strong>-Rechner<br />
Datensauger<br />
Streicht ein Besitzer von Amazons E-Book-Reader Textstellen auf dem Gerät an, legt sein Kindle diese persönlichen<br />
Markierungen in einer Datei ab. Steckt der Kindle im USB-Port des <strong>Linux</strong>-Rechners, saugt ein Perl-Skript<br />
die Daten ab, speichert sie in einer Datenbank und erlaubt später Volltext-Suchabfragen. Michael Schilli<br />
© Dan Kuta ,photocase.com<br />
E-Books bilden immer mehr Eigenschaften<br />
von Büchern aus Papier nach: Der<br />
Käufer darf elektronische Bücher auf<br />
Amazons Kindle heutzutage nicht nur<br />
zeitweise an Freunde ausleihen, sondern<br />
auch Bookmarks im Text setzen (siehe<br />
Abbildung 1) und Passagen im digitalen<br />
Lesefutter anstreichen (Highlights oder<br />
Clippings). Praktischerweise schickt der<br />
Kindle diese Markierungen auch an einen<br />
zentralen Server, sodass sie dem User<br />
später auch auf anderen Lesegeräten zur<br />
Verfügung stehen.<br />
Eine kompakte Sammlung angestrichener<br />
Stellen aus verschiedensten Büchern hilft<br />
zudem nach Begriffen zu fahnden, von<br />
denen der Leser zwar weiß, dass er sie<br />
irgendwo markiert hat, sich aber nicht<br />
Online PLUS<br />
In einem Screencast demonstriert Michael<br />
Schilli das Beispiel: [http://www.<br />
linux-magazin.de/plus/2012/05]<br />
an den zugehörigen Buchtitel erinnern<br />
kann. In [2] schlägt ein Produktivitätsguru<br />
deswegen vor, die Highlights aus<br />
der personalisierten Kindle-Webseite<br />
auf Amazon.com mittels Cut & Paste zu<br />
extrahieren. Dieses Ansinnen lässt sich<br />
aber auch eleganter lösen: Der Kindle<br />
legt diese vom Nutzer generierten Informationen<br />
in einer Klartextdatei auf<br />
dem Dateisystem des Geräts ab, und die<br />
heute vorgestellten Perl-Skripte greifen<br />
sie einfach von dort ab, sobald der User<br />
seinen Kindle an den USB-Anschluss eines<br />
<strong>Linux</strong>-Rechners einstöpselt.<br />
Aktion beim Einstöpseln<br />
Nach dem Anschluss des Kindle an<br />
die USB-Buchse eines Ubuntu-Systems<br />
kommt zunächst der Dialog von Abbildung<br />
2 hoch, der vorschlägt, den Kindle<br />
mittels des MP3-Spielers Rhythmbox<br />
oder anderer Applikationen anzusteuern.<br />
Eine weitere Auswahlmöglichkeit in der<br />
angezeigten Liste weist Ubuntu dazu an,<br />
nichts dergleichen zu tun, und ein Klick<br />
auf »Always perform this action« hält<br />
Ubuntu auch in Zukunft von derartigem<br />
Unsinn ab.<br />
Ubuntu mountet das Dateisystem des<br />
Kindle anschließend unter »/media/<br />
Kindle«. Abbildung 3 zeigt, dass die<br />
Datei mit den gespeicherten Highlight-<br />
Informationen im Ordner »documents«<br />
unter dem Kindle-Rootverzeichnis liegt<br />
und »My Clippings.txt« (mit Leerzeichen)<br />
heißt. Ein Blick hinein offenbart, dass<br />
es sich um Klartext handelt. Die einzelnen<br />
Einträge notieren zeilenorientiert<br />
und grenzen sich vom folgenden Eintrag<br />
durch eine Kette von »=«-Zeichen ab<br />
(Abbildung 4).<br />
In der Textdatei finden sich nicht nur<br />
markierte Textpassagen, sondern auch<br />
Lesezeichen und Randnotizen, die der<br />
Besitzer über die Kindle-Tastatur selbst<br />
eingegeben hat, beispielsweise um sich<br />
über entdeckte Druckfehler lustig zu machen<br />
oder den Buchinhalt besserwisserisch<br />
zu kommentieren.<br />
Formatpfriemelei<br />
Zur maschinellen Umwandlung des<br />
Kindle-Klartextformats in Datenbankeinträge,<br />
die später auch Suchabfragen<br />
zulassen, dient das Modul »Clippings-<br />
Parser.pm« in Listing 1. Es nimmt einen<br />
Filedeskriptor der Clippings-Datei auf<br />
dem Kindle entgegen, durchforstet dann<br />
das undokumentierte Format und gibt die<br />
Einzelheiten wie Buchtitel, Autor, Seite,<br />
Highlight-Datum und Highlight-Text an<br />
den Aufrufer zurück.<br />
Die Methode »parse_fh()« nimmt einen<br />
Filedeskriptor auf die geöffnete Textdatei<br />
und eine Codereferenz als Callback ent-
gegen, den sie bei jedem gefundenen Eintrag<br />
anspringt. Die erste Zeile der Kindle-<br />
Datei kann vor dem ersten Eintrag am<br />
Zeilenanfang einige unlesbare Zeichen<br />
enthalten, die das Ersetzenkommando in<br />
Zeile 30 verschwinden lässt.<br />
Entspricht der Inhalt der aktuell untersuchten<br />
Textzeile in Skriptzeile 33 nicht<br />
dem aus »=«-Zeichen zusammengesetzten<br />
Eintragstrenner, hängt Zeile 38 den<br />
Inhalt an die Variable »$entry« an. Stößt<br />
das Skript auf eine Trennzeile zwischen<br />
Einträgen, ruft Zeile 34 die Methode<br />
»parse_entry« auf und übergibt ihr die<br />
bislang aufgesammelten Textdaten und<br />
den Callback, der nach erfolgreicher Analyse<br />
anzuspringen ist.<br />
In »parse_entry()« teilt der »split«-Befehl<br />
in Zeile 49 einen Eintrag in Überschrift<br />
(»$head«), Buchseite und Erfassungsdatum<br />
(»$whence«), eine Leerzeile und<br />
den markierten Text (»$text«) auf. Da die<br />
Kindle-Datei das Windows-Format mit<br />
»\r\n« als Zeilentrenner verwendet, nutzt<br />
»split« diese Kombination im regulären<br />
Ausdruck in Zeile 49.<br />
Manche E-Books, etwa Wörterbücher,<br />
geben keine Autoren in Klammern hinter<br />
dem Titel an, also bleibt das Autorenfeld<br />
in Zeile 61 in diesem Fall leer. Das letzte,<br />
Abbildung 1: Streicht der Leser Stellen im Text an, speichert der Kindle-Reader diese Markierungen in einer<br />
Textdatei und gibt sie auch an den zentralen Server weiter.<br />
durch den Trenner »|« abgesonderte Feld<br />
in der zweiten Zeile mit den Locationund<br />
Seitenangaben enthält das Datum,<br />
an dem die Textstelle markiert oder das<br />
Lesezeichen gesetzt wurde. In den Zeilen<br />
72 und 73 stehen alle Felder bereit und<br />
der Callback-Aufruf übergibt ihre Werte<br />
an die vom Hauptprogramm als Referenz<br />
hereingereichte Funktion.<br />
Mit dem Parser-Modul ist es nun ein<br />
Leichtes, die Kindle-Daten umzumodeln<br />
und in ein Format zu überführen, das<br />
schnelle Abfragen gestattet. Damit der<br />
User später mit der Volltextsuche nach<br />
Perl-Snapshot 05/2012<br />
Programmieren<br />
www.linux-magazin.de<br />
93<br />
Listing 1: »ClippingsParser.pm«<br />
01 ###########################################<br />
02 package ClippingsParser;<br />
03 ###########################################<br />
04 # Mike Schilli, 2012 (m@perlmeister.com)<br />
05 ###########################################<br />
06 use strict;<br />
07 use warnings;<br />
08<br />
09 ###########################################<br />
10 sub new {<br />
11 ###########################################<br />
12 my( $class ) = @_;<br />
13<br />
14 bless {}, $class;<br />
15 }<br />
16<br />
17 ###########################################<br />
18 sub parse_fh {<br />
19 ###########################################<br />
20 my( $self, $fh, $callback ) = @_;<br />
21<br />
22 my $line_sep = "==========\r\n";<br />
23 my $entry = "";<br />
24 my $first = 1;<br />
25<br />
26 while( my $line = ) {<br />
27<br />
28 if( $first ) {<br />
29 $first = 0;<br />
30 $line =~ s/^\W+//;<br />
31 }<br />
32<br />
33 if( $line eq $line_sep ) {<br />
34 $self‐>parse_entry( $entry,<br />
35 $callback );<br />
36 $entry = "";<br />
37 } else {<br />
38 $entry .= $line;<br />
39 }<br />
40 }<br />
41 }<br />
42<br />
43 ###########################################<br />
44 sub parse_entry {<br />
45 ###########################################<br />
46 my( $self, $entry, $callback ) = @_;<br />
47<br />
48 my( $head, $whence, $empty, $text ) =<br />
49 split /\r\n/, $entry, 4;<br />
50<br />
51 # format error?<br />
52 die "format error" if !defined $text;<br />
53<br />
54 $text =~ s/\r\n\Z//;<br />
55<br />
56 my( $title, $author ) =<br />
57 ( $head =~ /^(.*) \((.*?)\)$/ );<br />
58<br />
59 # sometimes there's no author<br />
60 if( !defined $author ) {<br />
61 $author = "";<br />
62 $title = $head;<br />
63 }<br />
64<br />
65 my @whence = split /\s*\|\s*/, $whence;<br />
66 my $when = pop @whence;<br />
67 my $what = join "|", @whence;<br />
68<br />
69 my( $type, $loc ) =<br />
70 ( $what =~ /^‐ (\w+) (.*)/ );<br />
71<br />
72 $callback‐>( $type, $loc, $author,<br />
73 $title, $when, $text );<br />
74 }<br />
75<br />
76 1;
Programmieren<br />
www.linux-magazin.de Perl-Snapshot 05/2012<br />
94<br />
Abbildung 2: Dieses nervige Popup lässt sich durch die Auswahl von »Do<br />
Nothing« und »Always perform this action« zum Schweigen bringen.<br />
Begriffen in markierten Textabschnitten<br />
suchen kann, speist das Skript in Listing<br />
3 die gefundenen Highlight-Daten in<br />
eine SQlite-Datenbank mit Volltext-Engine<br />
ein. Listing 2 zeigt, dass besondere<br />
»CREATE«-Kommandos mit dem<br />
Kommandozeilentool »sqlite3« notwendig<br />
sind, damit SQlite, das Datenbanken<br />
in flachen Binärdateien anlegt, die<br />
abgelegten Textdaten so indiziert, dass<br />
Suchabfragen nach mehreren Wörtern<br />
mit Google-Geschwindigkeit ablaufen.<br />
Volltext oder Pattern-<br />
Match<br />
SQL-Datenbanken erlauben im Normalmodus<br />
Suchkriterien wie »LIKE %begriff%«<br />
und kramen damit gemächlich<br />
Einträge hervor, deren Textspalten bestimmte<br />
Zeichenketten enthalten. Selbst<br />
wenn man von der schleppenden Geschwindigkeit<br />
absieht, zeigt sich noch ein<br />
weiterer Nachteil: Wer zum Beispiel nach<br />
Einträgen sucht, die die beiden Wörter<br />
„Perl“ und „Data“ irgendwo im Text verstreut<br />
enthalten, ist dies nur umständlich<br />
möglich. Eine Volltext-Engine hingegen<br />
spezialisiert sich auf derartige Abfragen<br />
und sucht grundsätzlich nur nach gan-<br />
zen Wörtern. Auf der<br />
Suche nach „Data“,<br />
fände sie keine Einträge<br />
mit „Database“,<br />
sucht sie aber nach<br />
„Date Time“, findet sie<br />
alle Texte, die die Wörter<br />
„Date“ und „Time“<br />
beliebig verstreut und<br />
in beliebiger Reihenfolge<br />
enthalten.<br />
Damit SQlite eine Tabelle<br />
mit Volltextindex<br />
anlegt, fordert Listing<br />
2 statt einer normalen Tabelle eine „Virtual<br />
Table“ an, die mit »USING FTS3«<br />
Version 3 des „Full Text Search“-Plugins<br />
einsetzt. FTS3 liegt SQlite seit Version<br />
3.5.0 im Jahr 2007 bei, und mit SQlite<br />
3.7.4 kam im Jahr 2010 die Release FTS4<br />
hinzu, die Verbesserungen der Performance,<br />
aber auch erhöhte Komplexität<br />
mit sich bringt [3].<br />
Die Volltexttabelle lässt sich wie normale<br />
Tabellen auch mit »INSERT«-Aufrufen füllen<br />
und mit »SELECT«-Queries abfragen.<br />
Sie bietet zwei zusätzliche<br />
Funktionen: Erstens<br />
verfügt sie über<br />
ein virtuelle Spalte,<br />
deren Name mit dem<br />
Tabellennamen identisch<br />
ist und die sich<br />
bei Abfragen wie eine<br />
Zusammenfassung aller<br />
Tabellenspalten<br />
ver hält. Im vorliegenden<br />
Fall liefert die<br />
»SELECT«-Bedingung<br />
WHERE highlights<br />
MATCH(?)<br />
alle Einträge, bei denen irgendeine Spalte<br />
auf den angegebenen »MATCH«-Operator<br />
anspricht.<br />
Der zweite Unterschied ist der »MATCH«-<br />
Operator, der eine wortorientierte Volltextsuche<br />
implementiert. So sucht etwa<br />
»MATCH("katze hund")« nach Texten,<br />
die beide Wörter irgendwo und in beliebiger<br />
Reihenfolge enthalten, und ist<br />
außerdem schlau genug Groß- und Kleinschreibung<br />
zu ignorieren. Es lässt sich<br />
sogar ein Stemming einstellen, bei dem<br />
„katze“ auch auf „katzen“ passt.<br />
Datenbankfutter<br />
Listing 3 sorgt für das Auslesen der Clippings-Datei<br />
auf dem Kindle und das Auffüllen<br />
der SQlite-Datenbank auf dem <strong>Linux</strong>-Rechner.<br />
Damit es sowohl das Modul<br />
»ClippingsParser.pm« als auch die Datenbankdatei<br />
»highlights.sqlite« findet, die<br />
sich im selben Verzeichnis wie das Skript<br />
befinden, wechselt der »BEGIN«-Block ab<br />
Zeile 12 zunächst in das Verzeichnis, in<br />
dem das Skript steht.<br />
Abbildung 3: Die Datei »My Clippings.txt« im Ordner »documents« auf dem<br />
Kindle speichert die angestrichenen Stellen im Textformat.<br />
Listing 2: »sqlite‐setup.sh«<br />
01 file=highlights.sqlite<br />
02 rm ‐f $file<br />
03<br />
04 sqlite3 $file
In die Logdatei »/var/log/kindle.log«<br />
schreibt es, was es gerade treibt. Das<br />
erweist sich als besonders hilfreich beim<br />
Debuggen, falls das Skript im Hintergrund<br />
läuft. Und dies ist die Regel, später ruft<br />
es das Udev-System des <strong>Linux</strong>-Kernels<br />
automatisch auf, sobald der User den<br />
Kindle anschließt.<br />
Dies erfordert auch, dass es sofort zurückkehrt<br />
und im Hintergrund weiterläuft,<br />
um dann die Clipping-Daten auszulesen<br />
und der Reihe nach in der Datenbank<br />
abzulegen. Hierzu setzt es in<br />
Zeile 35 einen Fork-Befehl ab und erzeugt<br />
einen Child-Prozess, der die anstehende<br />
Arbeit erledigt, während der Prozessvater<br />
sich verabschiedet. Da der Kernel das<br />
Skript als Root aufruft, setzt Zeile 33 mit<br />
dem Kommando »setuid« aus dem Posix-<br />
Modul die Rechte zurück auf den in Zeile<br />
8 gesetzten User, um keine unnötigen<br />
Sicherheitslöcher aufzureißen.<br />
Da das Kindle-Rootverzeichnis zum Zeitpunkt<br />
des Skriptstarts vielleicht noch gar<br />
Abbildung 5: Die Volltextsuche »clipfind« gibt alle angestrichenen Textstellen aus, die sowohl das Wort<br />
»file« als auch das Wort »directory« enthalten.<br />
nicht existiert, probiert die For-Schleife<br />
ab Zeile 40 zehnmal hintereinander, ob<br />
es die Clippings-Datei lesen kann. Falls<br />
nicht, wartet das Skript jeweils 4 Sekunden<br />
und startet einen neuen Versuch.<br />
Keine alten Hüte<br />
Schließt der User dasselbe Kindle-Gerät<br />
etliche Male hintereinander am Rechner<br />
an, stehen die meisten Einträge bereits<br />
in der Datenbank und blindes Kopieren<br />
würde zu unerwünschten Duplikaten<br />
führen, die die Datenbank nur unnötig<br />
aufschwemmen.<br />
Um diese Dubletten zu verhindern, hat<br />
das Shellskript in Listing 2 vorher eine<br />
zweite (reale) Tabelle »seen« definiert, die<br />
mit einer »UNIQUE«-Anweisung festlegt,<br />
dass die Kombination aus »type« (also<br />
Perl-Snapshot 05/2012<br />
Programmieren<br />
www.linux-magazin.de<br />
95<br />
ADMIN<br />
Netzwerk & Security<br />
Online-Archiv<br />
Rund 2.000 Seiten Artikel,<br />
Studien und Workshops aus<br />
fünf Jahren Technical Review<br />
+<br />
nur<br />
4,-e*<br />
im Monat<br />
Onlinezugriff auf alle<br />
Heftartikel aus dem<br />
ADMIN-<strong>Magazin</strong><br />
der Jahrgänge<br />
2009 bis 2011!<br />
Volltextsuche<br />
Praxisrelevante Themen<br />
für alle IT-Administratoren<br />
* Angebot gültig nur<br />
für Abonnenten eines<br />
Print- oder vollen<br />
digitalen ADMIN Abos<br />
Bestellen Sie unter: www.admin-magazin.de/archiv
Programmieren<br />
www.linux-magazin.de Perl-Snapshot 05/2012<br />
96<br />
Abbildung 6: Mit dem USB-Stecker lässt sich der<br />
Kindle an eine <strong>Linux</strong>-Box anschließen.<br />
Abbildung 7: Beim Einstöpseln des Kindle in den Ubuntu-Rechner erscheinen Meldungen des USB-Subsystems<br />
in der Logdatei »/var/log/messages«.<br />
»Highlight«, »Bookmark« oder »Note«),<br />
»loc« (Seitenangabe) und »title« (Buchtitel)<br />
eindeutig sein muss.<br />
Fügt nun Zeile 69 ungewollt einen dort<br />
bereits vorhandenen Record in die Ta-<br />
belle »seen« ein, führt dies automatisch<br />
zu einem Fehler, denn das Datenbanksystem<br />
weigert sich strikt, ein Duplikat<br />
einzuspeisen. Das »eval«-Konstrukt in<br />
Zeile 72 fängt diesen Fehler ab, und die<br />
»if«-Bedingung in Zeile 76 kehrt in diesem<br />
Fehlerfall vorzeitig aus dem Callback<br />
zurück. Wenn der Eintrag hingegen noch<br />
nicht vorhanden ist, dann bereitet Zeile<br />
78 pflichtschuldig einen neuen Eintrag<br />
Listing 3: »kindle‐connected«<br />
01 #!/usr/local/bin/perl ‐w<br />
02 use strict;<br />
03 use local::lib qw(/home/mschilli/perl5);<br />
04 use Log::Log4perl qw(:easy);<br />
05 use POSIX;<br />
06 use DBI;<br />
07<br />
08 my $run_as = "mschilli";<br />
09 my $clip_path =<br />
10 "/media/Kindle/documents/My Clippings.txt";<br />
11<br />
12 BEGIN {<br />
13 use FindBin qw($RealBin);<br />
14 chdir $RealBin;<br />
15 }<br />
16 use ClippingsParser;<br />
17<br />
18 my $logfile = "/var/log/kindle.log";<br />
19<br />
20 Log::Log4perl‐>easy_init({<br />
21 file => ">>$logfile",<br />
22 level => $DEBUG,<br />
23 });<br />
24<br />
25 my ( $name, $passwd, $uid, $gid ) =<br />
26 getpwnam( $run_as);<br />
27<br />
28 chown $uid, $gid, $logfile or<br />
29 LOGDIE "Cannot chown $logfile: $!";<br />
30 chmod 0644, $logfile or<br />
31 LOGDIE "Cannot chmod $logfile: $!";<br />
32<br />
33 POSIX::setuid( $uid );<br />
34<br />
35 my $pid = fork();<br />
36 die "fork failed" if !defined $pid;<br />
37 exit 0 if $pid; # parent<br />
38<br />
39 # wait until kindle root dir is mounted<br />
40 for( 1..10) {<br />
41 if( ‐f $clip_path) {<br />
42 last;<br />
43 } else {<br />
44 DEBUG "Waiting for $clip_path";<br />
45 sleep 5;<br />
46 next;<br />
47 }<br />
48 }<br />
49<br />
50 LOGDIE "$clip_path not found"<br />
51 if !‐f $clip_path;<br />
52<br />
53 my $dbh = DBI‐>connect(<br />
54 "dbi:SQLite:highlights.sqlite", "", "",<br />
55 { RaiseError => 1, PrintError => 0 }<br />
56 );<br />
57<br />
58 open my $fh, "
vor und Zeile 80 führt ihn anschließend<br />
korrekt in die Datenbank ein.<br />
Wer suchet, der findet<br />
Listing 4 nimmt Suchanfragen entgegen,<br />
fieselt die passenden Einträge aus der<br />
Datenbank heraus und präsentiert sie in<br />
Form eines Literaturverzeichnisses. Abbildung<br />
5 zeigt, wie »clipfind« Einträge<br />
sucht, die sowohl das Wort »file« als auch<br />
das Wort »directory« enthalten, und zwei<br />
Einträge zum Vorschein bringt. Der erste<br />
ist ein Absatz aus dem hervorragenden<br />
<strong>Linux</strong>-Buch „The <strong>Linux</strong> Programming Interface“<br />
von Michael Kerrisk, der zweite<br />
eine Passage aus dem „OpenVPN 2 Cookbook“<br />
von Jan Just Keijser.<br />
Automatisch loslegen<br />
Damit das Skript loslegt, wenn der User<br />
den Kindle einsteckt (Abbildung 6),<br />
stellt der Automatisierungsfachmann die<br />
»udev«-Regel (Listing 5) ins Verzeichnis<br />
»/etc/udev/rules.d« und ruft<br />
sudo service udev restart<br />
Infos<br />
[1] Listings zu diesem Artikel:<br />
[ftp:// www. linux‐magazin. de/ pub/ listings/<br />
magazin/ 2012/ 05/ Perl]<br />
[2] Michael Hyatt, „How to get your kindle<br />
highlights into Evernote“:<br />
[http:// michaelhyatt. com/ how‐to‐get‐your<br />
‐kindle‐highlights‐into‐evernote. html]<br />
[3] „SQlite FTS3 and FTS4 Extensions“:<br />
[http:// www. sqlite. org/ fts3. html]<br />
[4] Michael Schilli, „Bus-Touristik“:<br />
<strong>Linux</strong>-<strong>Magazin</strong> 04/11, S. 110:<br />
[http:// www. linux‐magazin. de/ Heft‐Abo/<br />
Ausgaben/ 2011/ 04/ Bus‐Touristik]<br />
Der Autor<br />
Michael Schilli arbeitet<br />
als Software-Engineer bei<br />
Yahoo in Sunnyvale, Kalifornien.<br />
In seinen seit 1997<br />
erscheinenden Snapshots<br />
forscht er jeden Monat nach<br />
praktischen Anwendungen der Skriptsprache Perl.<br />
Unter [mschilli@perlmeister. com] beantwortet er<br />
gerne Ihre Fragen.<br />
Abbildung 8: Das »/sys«-Verzeichnis offenbart die USB-Parameter des angeschlossenen Kindle-Readers.<br />
auf, um den »udev«-Service entsprechend<br />
auf die geänderte Konfiguration aufmerksam<br />
zu machen. Dabei erweist sich der<br />
Eintrag<br />
ENV{DEVTYPE}=="usb_device"<br />
als nützlich, denn er verhindert, dass der<br />
Handler in der »RUN«-Direktive vielfach<br />
angesprungen wird, weil ein frisch eingesteckter<br />
Kindle eine Reihe von Aktionen<br />
auslöst: Erst wird ein USB-Eintrag angelegt,<br />
dann eine Festplatte zugewiesen,<br />
danach eine Partition und weiterer Heckmeck.<br />
Jedes Mal die Clippings-Datei zu<br />
durchforsten wäre Verschwendung, abgesehen<br />
von der Systembelastung durch<br />
Parallelprozesse, die auf das Verzeichnis<br />
mit dem Kindle-Filesystem warten.<br />
Eine weitere Möglichkeit, das Anschließen<br />
des Kindle abzufangen, wäre der in<br />
Listing 4: »clipfind«<br />
01 #!/usr/local/bin/perl ‐w<br />
02 use strict;<br />
03 use Text::Wrap qw(fill);<br />
04 use DBI;<br />
05<br />
06 BEGIN {<br />
07 use FindBin qw($RealBin);<br />
08 chdir $RealBin;<br />
09 }<br />
10<br />
11 my $query = join " ", @ARGV;<br />
12<br />
13 my $dbh = DBI‐>connect(<br />
14 "dbi:SQLite:highlights.sqlite", "", "",<br />
15 { RaiseError => 1 } );<br />
16<br />
17 my $sth = $dbh‐>prepare(<br />
18 "SELECT * FROM highlights " .<br />
19 "WHERE type = 'Highlight' AND " .<br />
20 "highlights MATCH(?)" );<br />
Listing 5: »99‐kindle.rules«<br />
[4] vorgestellte Dämon, der sich auf den<br />
D-Bus des <strong>Linux</strong>-Systems setzt und den<br />
Mount-Event abfängt.<br />
Die in der »udev«-Regel angegebenen<br />
Werte für Vendor-ID und Product-ID finden<br />
<strong>Linux</strong>-Anwender heraus, indem sie,<br />
wie in der Abbildung 7 gezeigt, neue<br />
Einträge in der Datei »/var/log/messages«<br />
verfolgen, die dem Kindle zugewiesene<br />
Nummer im USB-Baum ausfindig<br />
machen (im Beispiel also 1-4.4.4-2) und<br />
anschließend im Verzeichnis »/sys/bus/<br />
usb« die entsprechenden Datei-Inhalte<br />
auslesen, wie es in Abbildung 8 gezeigt<br />
ist. Ab dann sollte aber alles automatisch<br />
funktionieren und die lokale Datenbank<br />
Kindle-Daten sofort beim Einstöpseln<br />
spiegeln. (uba)<br />
n<br />
21<br />
22 $sth‐>execute( $query );<br />
23<br />
24 my $serial = 1;<br />
25<br />
26 while( my $ref =<br />
27 $sth‐>fetchrow_hashref() ) {<br />
28<br />
29 my $output = "[$serial] " .<br />
30 "\"$ref‐>{title}\", $ref‐>{author}, " .<br />
31 "($ref‐>{loc}), \"$ref‐>{text}\"";<br />
32<br />
33 print fill("", "<br />
34 "\n\n";<br />
35<br />
36 $serial++;<br />
37 }<br />
", ($output)),<br />
1 SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1949", <br />
ATTRS{idProduct}=="0004", RUN+="/home/mschilli/git/articles/kindle‐highlights/eg/kindle‐connected"<br />
Perl-Snapshot 05/2012<br />
Programmieren<br />
www.linux-magazin.de<br />
97
Service<br />
www.linux-magazin.de IT-Profimarkt 05/2012<br />
100<br />
PROFI<br />
MARKT<br />
Sie fragen sich, wo Sie maßgeschneiderte<br />
<strong>Linux</strong>-Systeme und kompetente<br />
Ansprechpartner zu Open-Source-Themen<br />
finden? Der IT-Profimarkt weist Ihnen<br />
als zuverlässiges Nachschlagewerk<br />
den Weg. Die hier gelisteten Unternehmen<br />
beschäftigen Experten auf ihrem<br />
Gebiet und bieten hochwertige Produkte<br />
und Leistungen.<br />
Die exakten Angebote jeder Firma entnehmen<br />
Sie deren Homepage. Der ersten<br />
Orientierung dienen die Kategorien<br />
Hardware, Software, Seminaranbieter,<br />
Systemhaus, Netzwerk/TK und Schulung/Beratung.<br />
Der IT-Profimarkt-Eintrag<br />
ist ein Service von <strong>Linux</strong>-<strong>Magazin</strong><br />
und <strong>Linux</strong>User.<br />
Online-Suche<br />
Besonders bequem finden Sie einen<br />
<strong>Linux</strong>-Anbieter in Ihrer Nähe über die<br />
neue Online-Umkreis-Suche unter:<br />
[http://www.it-profimarkt.de]<br />
Informationen<br />
fordern Sie bitte an bei:<br />
<strong>Linux</strong> New Media AG<br />
Anzeigenabteilung<br />
Putzbrunner Str. 71<br />
D-81739 München<br />
Tel.: +49 (0)89/99 34 11-23<br />
Fax: +49 (0)89/99 34 11-99<br />
E-Mail: anzeigen@linux-magazin.de<br />
IT-Profimarkt – Liste sortiert nach Postleitzahl<br />
1 = Hardware 2 = Netzwerk/TK 3 = Systemhaus<br />
4= Fachliteratur 4= Seminaranbieter 5 = Software 5 = Software 6 = Schulung/Beratung 6 = Firma Anschrift Telefon Web 1 2 3 4 5 6<br />
imunixx GmbH UNIX consultants 01468 Moritzburg, Heinrich-Heine-Str. 4 0351-83975-0 www.imunixx.de 3 3 3 3 3<br />
Heinlein Professional <strong>Linux</strong> Support GmbH 10119 Berlin, Schwedter Straße 8/9b 030-405051-0 www.heinlein-support.de 3 3 3 3 3<br />
TUXMAN Computer 10369 Berlin, Anton-Saefkow-Platz 8 030-97609773 www.tuxman.de 3 3 3 3 3<br />
Hostserver GmbH 10405 Berlin, Winsstraße 70 030-47375550 www.hostserver.de 3<br />
Compaso GmbH 10439 Berlin, Driesener Strasse 23 030-3269330 www.compaso.de 3 3 3 3 3<br />
elego Software Solutions GmbH 13355 Berlin, Gustav-Meyer-Allee 25 030-2345869-6 www.elegosoft.com 3 3 3 3<br />
Logic Way GmbH 19061 Schwerin, Hagenower Str. 73 0385-39934-48 www.logicway.de 3 3 3 3<br />
Sybuca GmbH 20459 Hamburg, Herrengraben 26 040-27863190 www.sybuca.de 3 3 3 3 3<br />
iTechnology GmbH 20537 Hamburg, Normannenweg 28 0)40 20 22 62 10 www.itechnology.de 3 3 3 3<br />
Dr. Plöger & Kollegen secom consulting<br />
GmbH & Co. KG<br />
24105 Kiel, Waitzstr. 3 0431-66849700 www.secom-consulting.de 3 3 3 3 3<br />
beitco - Behrens IT-Consulting 26197 Ahlhorn, Lessingstr. 27 04435-9537330-0 www.beitco.de 3 3 3 3 3<br />
talicom GmbH 30169 Hannover, Calenberger Esplanade 3 0511-123599-0 www.talicom.de 3 3 3 3 3<br />
teuto.net Netzdienste GmbH 33602 Bielefeld, Niedenstr. 26 0521-96686-0 www.teuto.net 3 3 3 3 3<br />
MarcanT GmbH 33602 Bielefeld, Ravensberger Str. 10 G 0521-95945-0 www.marcant.net 3 3 3 3 3 3<br />
Hostserver GmbH 35037 Marburg, Biegenstr. 20 06421-175175-0 www.hostserver.de 3<br />
LINET Services GmbH 38122 Braunschweig, Am alten Bahnhof 4b 0531-180508-0 www.linet-services.de 3 3 3 3 3 3<br />
OpenIT GmbH 40599 Düsseldorf, In der Steele 33a-41 0211-239577-0 www.OpenIT.de 3 3 3 3 3<br />
<strong>Linux</strong>-Systeme GmbH 45277 Essen, Langenbergerstr. 179 0201-298830 www.linux-systeme.de 3 3 3 3 3<br />
Intevation GmbH 49074 Osnabrück, Neuer Graben 17 0541-33508-30 osnabrueck.intevation.de 3 3 3 3<br />
uib gmbh 55118 Mainz, Bonifaziusplatz 1b 06131-27561-0 www.uib.de 3 3 3 3<br />
LISA GmbH 55411 Bingen, Elisenhöhe 47 06721-49960 www.lisa-gmbh.de 3 3 3 3 3<br />
saveIP GmbH 64283 Darmstadt, Schleiermacherstr. 23 06151-666266 www.saveip.de 3 3 3 3 3<br />
ORDIX AG 65205 Wiesbaden, Kreuzberger Ring 13 0611-77840-00 www.ordix.de 3 3 3 3 3<br />
<strong>Linux</strong>Haus Stuttgart 70565 Stuttgart, Hessenwiesenstrasse 10 0711-2851905 www.linuxhaus.de 3 3 3 3 3<br />
IT-Profimarkt listet ausschließlich Unternehmen, die Leistungen rund um <strong>Linux</strong> bieten. Alle Angaben ohne Gewähr. <br />
(S.102)
OpenSource Training Ralf Spenneberg<br />
Schulungen direkt vom Autor<br />
<strong>Linux</strong> Administration / LPIC1<br />
AppArmor Administration<br />
Hacking Webapplications<br />
Virtualisierung mit XEN 4.x<br />
IPv6 mit <strong>Linux</strong><br />
Sourcefire 3D System<br />
<strong>Linux</strong> Firewall Lösungen<br />
DHCP, DNS und DNSSEC<br />
Advanced Monitoring<br />
Freie Distributionswahl:<br />
Opensuse, Fedora, Debian Squeeze,<br />
CentOS oder Ubuntu LTS<br />
Ergonomische Arbeitsplätze<br />
Umfangreiche Schulungsunterlagen mit<br />
Übungen<br />
Am Bahnhof 35<br />
48565 Steinfurt<br />
Tel.: 02552 638755<br />
Fax: 02552 638757<br />
5 Tage 07.05. 11.05.2012<br />
2 Tage 15.05. 16.05.2012<br />
4 Tage 29.05. 01.06.2012<br />
3 Tage 04.06. 06.06.2012<br />
3 Tage 12.06. 14.06.2012<br />
4 Tage 26.06. 29.06.2012<br />
5 Tage 03.09. 07.09.2012<br />
3 Tage 18.09. 20.09.2012<br />
4 Tage 17.09. 20.09.2012<br />
Weitere Informationen unter www.ost.de<br />
shop.embedded-projects.net<br />
HARDWARE FOR YOUR PROJECTS – ONLINESHOP<br />
Der perfekte Einstieg in die <strong>Linux</strong> Welt<br />
auf Mikrocontrollerbasis<br />
GNUBLIN <strong>Linux</strong>Board LPC3131<br />
- ARM9 Prozessor mit 180 MHz<br />
- 8 MB mobile SDRAM<br />
- Anstecken und loslegen<br />
- integrierter USB-RS232 Wandler<br />
- inkl. Beispielanwendungen<br />
- inkl. fertiges <strong>Linux</strong> und SD-Karte<br />
- inkl. Mini-USB Kabel<br />
Best.-Nr.: 700641<br />
Seminare/Markt 05/2012<br />
Service<br />
www.linux-magazin.de<br />
101<br />
Holzbachstraße 4, D-86152 Augsburg<br />
Tel +49 (0) 821 279599-0<br />
Fax +49 (0) 821 279599-20<br />
shop@embedded-projects.net<br />
Aktionspreis<br />
€ 49,95*<br />
inkl. 19 inkl. % 19 MwSt. % * Nur solange der Vorrat reicht!<br />
<strong>Linux</strong>-<strong>Magazin</strong><br />
ACADEMY<br />
X25<br />
Android User im Abo<br />
Die Monatszeitschrift für Android-Fans, Smartphone- und Tablet-Nutzer<br />
Neu mit Prämie!<br />
15% sparen beim Printoder<br />
Digital-Abo und<br />
exklusive Prämie sichern!<br />
Tasche ist nicht im Handel erhältlich.<br />
Angebot gilt nur solange der Vorrat<br />
reicht.<br />
Online-Training<br />
Prüfungsvorbereitung<br />
für LPIC 1 & 2<br />
Besorgen Sie sich Brief und<br />
Siegel für Ihr <strong>Linux</strong>-<br />
Knowhow mit der<br />
LPI-Zertifizierung.<br />
- Training für die Prüfungen<br />
LPI 101 und 102<br />
- Training für die Prüfungen<br />
LPI 201 und 202<br />
Sparen Sie mit<br />
paketpreiSen!<br />
20%<br />
Treue-Rabatt für<br />
Abonnenten<br />
Informationen und Anmeldung unter:<br />
academy.linux-magazin.de/lpic<br />
Jetzt bestellen unter:<br />
www.android–user.de/abo<br />
Telefon 07131 / 2707 274 • Fax 07131 / 2707 78 601 • E-Mail: abo@android-user.de<br />
LM-Academy_1-9h_Anzeige_LPIC-Mike.indd 1<br />
18.04.2011 11:05:38 AU_1-4DIN_ABO-praemie2012.indd Uhr<br />
1<br />
21.02.2012 12:59:51 Uhr
Service<br />
www.linux-magazin.de IT-Profimarkt / Stellen 05/2012<br />
102<br />
IT-Profimarkt / Stellen<br />
IT-Profimarkt – Liste sortiert nach Postleitzahl (Fortsetzung von S. 100)<br />
1 = Hardware 2 = Netzwerk/TK 3 = Systemhaus<br />
4= Seminaranbieter 5 = Software 6 = Beratung<br />
Firma Anschrift Telefon Web 1 2 3 4 5 6<br />
comundus GmbH 71332 Waiblingen, Schüttelgrabenring 3 07151-5002850 www.comundus.com 3<br />
Manfred Heubach EDV und Kommunikation 73728 Esslingen, Hindenburgstr. 47 0711-4904930 www.heubach-edv.de 3 3 3 3<br />
Waldmann EDV Systeme + Service 74321 Bietigheim-Bissingen, Pleidelsheimer Str. 25 07142-21516 www.waldmann-edv.de 3 3 3 3 3<br />
in-put Das <strong>Linux</strong>-Systemhaus 76133 Karlsruhe, Moltkestr. 49 0721-6803288-0 www.in-put.de 3 3 3 3 3 3<br />
B1 Systems GmbH 85088 Vohburg, Osterfeldstrasse 7 08457-931096 www.b1-systems.de 3 3 3 3 3<br />
ATIX AG 85716 Unterschleißheim, Einsteinstr. 10 089-4523538-0 www.atix.de 3 3 3 3 3 3<br />
OSTC Open Source Training and Consulting<br />
GmbH<br />
90425 Nürnberg, Waldemar-Klink-Str. 10 0911-3474544 www.ostc.de 3 3 3 3 3 3<br />
Computersysteme Gmeiner 95643 Tirschenreuth, Fischerhüttenweg 4 09631-7000-0 www.gmeiner.de 3 3 3 3 3<br />
CATATEC CH-3013 Bern, Dammweg 43 0041-31-3302630 www.catatec.ch 3 3 3<br />
EBP Gasser CH-4208 Nunningen, Winkel 6 0041-61793-0099 www.ebp-gasser.ch 3 3 3 3 3<br />
Syscon Systemberatungs AG CH-8003 Zürich, Zweierstrasse 129 0041-44-4542010 www.syscon.ch 3 3 3 3 3<br />
Würth Phoenix GmbH IT-39100 Bozen, Kravoglstraße 4 +39 0471 56 41 11 www.wuerth-phoenix.com 3 3 3 3<br />
IT-Profimarkt listet ausschließlich Unternehmen, die Leistungen rund um <strong>Linux</strong> bieten. Alle Angaben ohne Gewähr. <br />
n<br />
Zur Verstärkung unseres Teams suchen wir ab sofort:<br />
WEBHOSTING · SCHULUNGEN · SUPPORT<br />
Die Mittwald CM Service GmbH & Co KG ist einer der führenden Webhosting-Anbieter für Agenturen und Unternehmen im deutschsprachigen Raum.<br />
Neben sehr guten beruflichen Perspektiven bieten wir als ein Familienunternehmen mit langer Tradition ein hohes Maß an Eigenständigkeit in<br />
einem hoch motivierten Team.<br />
LINUX Systemadministrator (m/w)<br />
Ihre Aufgaben:<br />
Als Mitarbeiter in der Systemadministration bzw. Systementwicklung<br />
realisieren Sie im Team innovative Serverlösungen für unsere Hostingkunden.<br />
Darüber hinaus gehören Wartung und Optimierung unserer<br />
Systeme sowie die Automatisierung wieder kehrender Tätigkeiten zu Ihrem<br />
Aufgabengebiet.<br />
Netzwerkadministrator (m/w)<br />
Ihre Aufgaben:<br />
In dieser Position sind Sie für den Betrieb, die Überwachung und die Optimierung<br />
der hochredundanten Netzwerkinfrastruktur im Rechenzentrum<br />
zuständig. Sie arbeiten im Team neue Lösungen aus und sind kompetenter<br />
Ansprechpartner für andere administrative Abteilungen.<br />
Ihr Profil:<br />
Sie besitzen umfangreiche Kenntnisse im Umgang mit Apache<br />
Webservern sowie MySQL Datenbanken. Darüber hinaus verfügen Sie über<br />
praktische Erfahrungen im Erstellen von Shell-Skripten. Analytisches<br />
Denkvermögen und Kreativität helfen Ihnen bei der Entwicklung neuer<br />
Systemlösungen.<br />
Ihr Profil:<br />
Sie besitzen gute bis sehr gute Kenntnisse in den Bereichen IP-Routing<br />
sowie Switching und Ihnen sind Begriffe wie BGP und MPLS vertraut. Sie<br />
haben optimalerweise Erfahrungen mit F5 und Juniper Hardware gesammelt<br />
und fühlen sich bei der Fehlersuche auch unter Zeitdruck sehr wohl.<br />
Wir freuen uns auf Ihre aussagekräftige E-Mail Bewerbung an jobs@mittwald.de<br />
Kontakt: Mittwald CM Service GmbH & Co KG · Frau Sonja Brinkmann · Königsberger Straße 6 · 32339 Espelkamp<br />
Weitere Informationen erhalten Sie unter www.mittwald.de/jobs
Wir sind das weltweit führende Unternehmen in der Entwicklung und Herstellung messtechnischer<br />
Geräte für die Zustandsanalyse und Fehlerortung an Kabel und Rohrleitungen. Seit über 60 Jahren<br />
sind wir Partner aller bedeutenden Energie-, Telekom- und Wasserversorger. Unsere Produkte leisten<br />
einen wichtigen Beitrag zum zuverlässigen und somit wirtschaftlichen Betrieb der Einrichtungen<br />
unserer Kunden. SebaKMT ist in über 130 Ländern mit exzellent ausgebildeten Mitarbeitern und<br />
modernster technischer Ausstattung vertreten.<br />
Als wachsendes Familienunternehmen suchen wir ständig qualifizierte, engagierte und innovative<br />
Mitarbeiterinnen und Mitarbeiter, die mit uns konsequent den Weg vorangehen, um unsere Marktstellung<br />
zu sichern und auszubauen.<br />
Elektrizitätsnetze<br />
Power networks<br />
Kommunikationsnetze<br />
Communications networks<br />
Rohrleitungsnetze<br />
Water networks<br />
Kanal-TV-Inspektion<br />
CCTV inspection<br />
Leitungs- und Objektortung<br />
Line and object location<br />
Entwicklungsingenieur Software (m/w) –<br />
Embedded <strong>Linux</strong> Softwareentwicklung<br />
u<br />
u<br />
u<br />
u<br />
u<br />
Ihre Aufgaben<br />
Umsetzung von Softwareprojekten unter Berücksichtigung des SW-Designprozesses<br />
Komplette Begleitung der Projekte von der Definition über die Entwicklung<br />
bis hin zur Freigabe<br />
Qt Applikationsentwicklung unter Embedded <strong>Linux</strong><br />
Nutzung moderner SW-Entwicklungswerkzeuge, z.B. JIRA, Jenkins, CVS/SVN<br />
Mitwirkung an der Erarbeitung von Lasten- und Pflichtenheften<br />
innerhalb eines jungen Projektteams<br />
Ihr Einsatzort<br />
u<br />
01471 Radeburg / Dresden<br />
Ihre Arbeitszeit<br />
u<br />
u<br />
Vollzeit<br />
41 Stunden / Woche<br />
Der Arbeitsvertrag<br />
u<br />
unbefristet<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
u<br />
Ihr Profil<br />
Studium der Fachrichtung Informatik, Technische Informatik oder<br />
Elektrotechnik (FH, TU)<br />
Idealerweise Berufserfahrung in der Embedded <strong>Linux</strong> Softwareentwicklung<br />
Kenntnisse in C/C++ und Qt<br />
Verständnis für die SW-Entwicklung auf Microcontrollern sowie der<br />
Funktionsweise von analogen und digitalen Schaltungen<br />
Gute Englischkenntnisse in Wort und Schrift<br />
Gute PC-Kenntnisse, sichere Beherrschung von Microsoft Office<br />
Reisebereitschaft im In- und Ausland<br />
Wir bieten ...<br />
... eine abwechslungsreiche Tätigkeit in einem weltweit agierenden Unternehmen<br />
... konstruktive Atmosphäre und kollegiale Teamarbeit<br />
... leistungsgerechte Entlohnung<br />
... Arbeiten in einer zukunftssicheren Branche<br />
Besetzungstermin<br />
u ab sofort<br />
Bewerbungen bitte per Post<br />
oder Email an:<br />
SebaKMT<br />
z. Hd. Herrn Berth<br />
Röderaue 41<br />
01471 Radeburg<br />
Email:<br />
berth.t@sebakmt.com<br />
u<br />
u<br />
u<br />
u<br />
u<br />
Lebenslauf<br />
Zeugnisse<br />
aktuelles Lichtbild<br />
Gehaltsvorstellung<br />
nächstmöglicher<br />
Eintrittstermin<br />
Haben wir Ihr Interesse geweckt?<br />
Dann freuen wir uns auf Ihre aussagekräftige Bewerbung!<br />
Weitere Stellenangebote finden Sie<br />
unter www.sebakmt.com/jobs<br />
Hagenuk KMT Kabelmesstechnik GmbH • Röderaue 41 • 01471 Radeburg
Service<br />
www.linux-magazin.de Inserenten 05/2012<br />
104<br />
Inserentenverzeichnis<br />
1&1 Internet AG http://www.einsundeins.de 17<br />
ADMIN http://www.admin-magazin.de 95<br />
Android User GY http://www.android-user.de 31, 101<br />
embedded projects GmbH http://www.embedded-projects.net 101<br />
Fernschule Weber GmbH http://www.fernschule-weber.de 101<br />
Grazer <strong>Linux</strong>-Tage http://linuxtage.at 67<br />
Hagenuk http://www.sebakmt.com 103<br />
Heinlein Professional <strong>Linux</strong> Support GmbH http://www.heinlein-support.de 43<br />
Hetzner Online AG http://www.hetzner.de 108<br />
Hostserver GmbH http://www.hostserver.de 45<br />
Ico Innovative Computer GmbH http://www.ico.de 25<br />
InterNetX GmbH http://www.internetx.com 27<br />
<strong>Linux</strong>-<strong>Magazin</strong> http://www.linux-magazin.de 35, 69<br />
<strong>Linux</strong>-<strong>Magazin</strong> Academy http://academy.linux-magazin.de 101<br />
<strong>Linux</strong>-Onlineshop/Fidu http://www.linux-onlineshop.de 107<br />
<strong>Linux</strong>Tag - Messe Berlin GmbH http://www.linuxtag.org 83<br />
<strong>Linux</strong>User http://www.linuxuser.de 57<br />
Mittwald CM Service GmbH & Co. KG http://www.mittwald.de 2, 102<br />
netways GmbH http://www.netways.de 41, 65<br />
O’Reilly Verlag GmbH & Co KG http://www.oreilly.de 19<br />
Open Source Press GmbH http://www.opensourcepress.de 47<br />
PlusServer AG http://www.plusserver.de 62, 76, 88, 98<br />
Spenneberg Training & Consulting http://www.spenneberg.com 101<br />
Kamp Netzwerkdienste GmbH http://www.kamp.net 21<br />
<strong>Linux</strong> User Spezial http://www.linux-user.de/spezial 23<br />
<strong>Linux</strong>-Hotel http://www.linuxhotel.de 15<br />
Strato AG http://www.strato.de 1, 11<br />
Thomas Krenn AG http://www.thomas-krenn.com 39<br />
Würth Phönix http://wuerth-phoenix.com 9<br />
Veranstaltungen<br />
08.11.2011-09.04.2012<br />
VI Concurso Universitario de Software Libre –<br />
Desarrollo<br />
National, Spain<br />
http://www.concursosoftwarelibre.org/1112/<br />
02.-17.04.2012<br />
VI Concurso Universitario de Software Libre –<br />
Evaluación<br />
National, Spain<br />
http://www.concursosoftwarelibre.org/1112/<br />
12.-15.04.2012<br />
<strong>Linux</strong> Audio Conference 2012<br />
Stanford, CA, USA<br />
http://lac.linuxaudio.org/2012<br />
13.-15.04.2012<br />
Indiana <strong>Linux</strong>Fest<br />
Indianapolis, IN<br />
http://www.indianalinux.org/cms/<br />
17.-18.04.2012<br />
The Mobile Show<br />
Dubai, UAE<br />
http://www.terrapinn.com/2012/the-mobile-show/<br />
24.-26.04.2012<br />
Infosecurity Europe 2012<br />
London, UK<br />
http://www.infosec.co.uk<br />
25.-26.04.2012<br />
DevCon 5<br />
Santa Clara, CA, USA<br />
http://html5.tmcnet.com/conference/california/<br />
25.-27.04.2012<br />
NSDI ’12<br />
San Jose, CA<br />
http://www.usenix.org/events/nsdi12/<br />
27.-29.04.2012<br />
Penguicon<br />
Dearborn, MI<br />
http://www.penguicon.org<br />
28.04.2012<br />
Grazer <strong>Linux</strong>-Tage 2012<br />
Graz, Österreich<br />
http://www.linuxtage.at<br />
28.-29.04.2012<br />
<strong>Linux</strong>Fest Northwest<br />
Bellingham, WA<br />
http://linuxfestnorthwest.org<br />
03.-05.05.2012<br />
<strong>Linux</strong>wochen Wien<br />
Wien, Österreich<br />
http://linuxwochen.at<br />
07.-11.05.2012<br />
Ubuntu Developer Summit<br />
Oakland, CA, USA<br />
http://uds.ubuntu.com<br />
12.05.2012<br />
10. <strong>Linux</strong>-Informationstag der LUG Hanau<br />
Hanau, Deutschland<br />
http://www.hulug.de<br />
18.-20.05.2012<br />
Akademy-es<br />
Zaragoza, Spain<br />
http://kde-espana.es/akademy-es2012/anuncio.php<br />
24.-26.05.2012<br />
<strong>Linux</strong>wochen Linz<br />
Linz, Österreich<br />
http://www.liwoli.at<br />
28.05.-01.06.2012<br />
Linaro Connect Q2.12<br />
Gold Coast, Hong Kong<br />
http://connect.linaro.org/events/event/linaro-connectq2-12/#welcome<br />
08.-10.06.2012<br />
Southeast <strong>Linux</strong>Fest<br />
Charlotte, NC, USA<br />
http://www.southeastlinuxfest.org<br />
12.-13.06.2012<br />
Cloud Computing World Forum London<br />
Earls Court, London<br />
Veranstalter: Keynote World Media Ltd<br />
http://www.cdnconference.com/index.php<br />
26.-29.06.2012<br />
Open Source Bridge<br />
Portland, OR<br />
http://opensourcebridge.org/<br />
30.06.-06.07.2012<br />
Akademy 2012<br />
Tallinn, Estonia<br />
http://akademy.kde.org<br />
08.-14.07.2012<br />
DebConf12<br />
Managua, Nicaragua<br />
http://debconf.org<br />
10.-15.07.2012<br />
Wikimania 2012<br />
Washington, DC, USA<br />
http://wikimania2012.wikimedia.org<br />
16.-20.07.2012<br />
OSCON<br />
Portland, OR, USA<br />
http://www.oscon.com/oscon2012<br />
26.07.-01.08.2012<br />
Guadec 2012<br />
A Coruña, Spain<br />
http://www.guadec.org<br />
08.-10.08.2012<br />
USENIX Security ’12<br />
Bellevue, WA<br />
http://www.usenix.org/events/sec12/<br />
08.-09.09.2012<br />
Barcelona Ruby Conference<br />
Barcelona, Spain<br />
http://baruco.org<br />
19.09.2012<br />
2012 High Performance Computing for Wall Street<br />
New York City, NY<br />
http://www.flaggmgmt.com/hpc/<br />
08.-10.10.2012<br />
OSDI ’12<br />
Hollywood, CA<br />
http://www.usenix.org/events/osdi12/<br />
07.-09.11.2012<br />
<strong>Linux</strong>con Europe<br />
Barcelona, Spain<br />
https://events.linuxfoundation.org/events/linuxconeurope
Impressum<br />
<strong>Linux</strong>-<strong>Magazin</strong> eine Publikation der <strong>Linux</strong> New Media AG<br />
Redaktionsanschrift Putzbrunner Str. 71<br />
81739 München<br />
Tel.: 089/993411-0<br />
Fax: 089/993411-99 oder -96<br />
Internet<br />
www.linux-magazin.de<br />
E-Mail<br />
redaktion@linux-magazin.de<br />
Geschäftsleitung<br />
Chefredakteure<br />
stv. Chefredakteure<br />
Brian Osborn (Vorstand), bosborn@linuxnewmedia.de<br />
Hermann Plank (Vorstand), hplank@linuxnewmedia.de<br />
Jan Kleinert (V.i.S.d.P.), jkleinert@linux-magazin.de (jk)<br />
Ulrich Bantle (Online), ubantle@linux-magazin.de (uba)<br />
Markus Feilner, mfeilner@linux-magazin.de (mfe)<br />
Mathias Huber, mhuber@linux-magazin.de (mhu)<br />
Print- und Onlineredaktion<br />
Aktuell, Forum Ulrich Bantle, ubantle@linux-magazin.de (uba)<br />
Mathias Huber, mhuber@linux-magazin.de (mhu)<br />
Software, Programmierung Mathias Huber, mhuber@linux-magazin.de (mhu)<br />
Sysadmin, Know-how Markus Feilner, mfeilner@linux-magazin.de (mfe)<br />
Ständige Mitarbeiter Fred Andresen (fan), Zack Brown, Mela Eckenfels, Peter<br />
Kreußel, Tim Schürmann, Heike Jurzik (hej), Charly Kühnast,<br />
Martin Loschwitz, Michael Schilli, Mark Vogelsberger, Uwe<br />
Vollbracht, Britta Wülfing (bwü), Arnold Zimprich (azi)<br />
Schlussredaktion<br />
Grafik<br />
Bildnachweis<br />
DELUG-DVD<br />
Chefredaktionen<br />
International<br />
Produktion<br />
Onlineshop<br />
Abo-Infoseite<br />
Abonnenten-Service<br />
ISSN 1432 – 640 X<br />
Jürgen Manthey<br />
Klaus Manuel Rehfeld, Mike Gajer,<br />
xhoch4, München (Titel-Illustration)<br />
123RF.com, Fotolia.de, Photocase.com, Pixelio.de und andere<br />
Thomas Leichtenstern, tleichtenstern@linuxnewmedia.de (tle)<br />
<strong>Linux</strong> <strong>Magazin</strong>e International<br />
Joe Casad (jcasad@linux-magazine.com)<br />
<strong>Linux</strong> <strong>Magazin</strong>e Poland<br />
Artur Skura (askura@linux-magazine.pl)<br />
<strong>Linux</strong> <strong>Magazin</strong>e Spain<br />
Paul C. Brown (pbrown@linux-magazine.es)<br />
<strong>Linux</strong> <strong>Magazin</strong>e Brasil<br />
Rafael Peregrino (rperegrino@linuxmagazine.com.br)<br />
Christian Ullrich, cullrich@linuxnewmedia.de<br />
shop.linuxnewmedia.de<br />
www.linux-magazin.de/Produkte<br />
Lea-Maria-Schmitt<br />
abo@linux-magazin.de<br />
Tel.: 07131/27 07 274<br />
Fax: 07131/27 07 78 601<br />
CH-Tel: +41 43 816 16 27<br />
Preise Print Deutschland Österreich Schweiz Ausland EU<br />
No-Media-Ausgabe 4 5,95 4 6,70 Sfr 11,90 (siehe Titel)<br />
DELUG-DVD-Ausgabe 4 8,50 4 9,35 Sfr 17,— (siehe Titel)<br />
Jahres-DVD (Einzelpreis) 4 14,95 4 14,95 Sfr 18,90 4 14,95<br />
Jahres-DVD (zum Abo 1 ) 4 6,70 4 6,70 Sfr 8,50 4 6,70<br />
Mini-Abo (3 Ausgaben) 4 3,— 4 3,— Sfr 4,50 4 3,—<br />
Jahresabo No Media 4 63,20 4 71,50 Sfr 99,96 4 75,40<br />
Jahresabo DELUG-DVD 4 87,90 4 96,90 Sfr 142,80 4 99,90<br />
Preise Digital Deutschland Österreich Schweiz Ausland EU<br />
Heft-PDF Einzelausgabe 4 5,95 4 5,95 Sfr 7,70 4 5,95<br />
DigiSub (12 Ausgaben) 4 63,20 4 63,20 Sfr 78,50 4 63,20<br />
DigiSub (zum Printabo) 4 12,— 4 12,— Sfr 12,— 4 12,—<br />
HTML-Archiv (zum Abo 1 ) 4 12,— 4 12,— Sfr 12,— 4 12,—<br />
Preise Kombiabos Deutschland Österreich Schweiz Ausland EU<br />
Mega-Kombi-Abo 2 4 143,40 4 163,90 Sfr 199,90 4 173,90<br />
Profi-Abo 3 4 136,60 4 151,70 Sfr 168,90 4 165,70<br />
1<br />
nur erhältlich in Verbindung mit einem Jahresabo Print oder Digital<br />
2<br />
mit <strong>Linux</strong>User-Abo (DVD) und beiden Jahres-DVDs, inkl. DELUG-Mitgliedschaft (monatl.<br />
DELUG-DVD)<br />
3<br />
mit ADMIN-Abo und beiden Jahres-DVDs<br />
Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schülerausweises<br />
oder einer aktuellen Immatrikulationsbescheinigung. Der aktuelle Nachweis ist bei<br />
Verlän gerung neu zu erbringen. Andere Abo-Formen, Ermäßigungen im Ausland etc.<br />
auf Anfrage.<br />
Adressänderungen bitte umgehend mitteilen, da Nachsendeaufträge bei der Post nicht<br />
für Zeitschriften gelten.<br />
Pressemitteilungen<br />
Marketing und Vertrieb<br />
Mediaberatung D, A, CH<br />
presse-info@linux-magazin.de<br />
Petra Jaser, anzeigen@linuxnewmedia.de<br />
Tel.: +49 (0)89 / 99 34 11 – 24<br />
Fax: +49 (0)89 / 99 34 11 – 99<br />
Mediaberatung USA Ann Jesse, ajesse@linuxnewmedia.com<br />
und weitere Länder Tel.: +1 785 841 8834<br />
Eric Henry, ehenry@linuxnewmedia.com<br />
Tel.:+1 785 917 0990<br />
Pressevertrieb<br />
Druck<br />
MZV Moderner Zeitschriften Vertrieb GmbH & Co. KG<br />
Ohmstraße 1, 85716 Unterschleißheim<br />
Tel.: 089/31906-0, Fax: 089/31906-113<br />
Vogel Druck und Medienservice GmbH, 97204 Höchberg<br />
Der Begriff Unix wird in dieser Schreibweise als generelle Bezeichnung für die Unixähnlichen<br />
Betriebssysteme verschiedener Hersteller benutzt. <strong>Linux</strong> ist eingetragenes<br />
Marken zeichen von Linus Torvalds und wird in unserem Markennamen mit seiner<br />
Erlaubnis verwendet.<br />
Eine Haftung für die Richtigkeit von Veröffentlichungen kann trotz sorgfältiger Prüfung<br />
durch die Redaktion vom Verlag nicht übernommen werden. Mit der Einsendung von<br />
Manus kripten gibt der Verfasser seine Zustimmung zum Abdruck. Für unverlangt<br />
eingesandte Manuskripte kann keine Haftung übernommen werden.<br />
Das Exklusiv- und Verfügungsrecht für angenommene Manuskripte liegt beim Verlag. Es<br />
darf kein Teil des Inhalts ohne ausdrückliche schriftliche Genehmigung des Verlags in<br />
irgendeiner Form vervielfältigt oder verbreitet werden.<br />
Copyright © 1994 – 2012 <strong>Linux</strong> New Media AG<br />
Impressum 05/2012<br />
Service<br />
www.linux-magazin.de<br />
105<br />
Krypto-Info<br />
GnuPG-Schlüssel der <strong>Linux</strong>-<strong>Magazin</strong>-Redaktion:<br />
pub 1024D/44F0F2B3 2000-05-08 Redaktion <strong>Linux</strong>-<strong>Magazin</strong><br />
<br />
Key fingerprint = C60B 1C94 316B 7F38 E8CC E1C1 8EA6 1F22 44F0 F2B3<br />
Public-Key der DFN-PCA:<br />
pub 2048R/7282B245 2007-12-12,<br />
DFN-PGP-PCA, CERTIFICATION ONLY KEY (DFN-PGP-Policy: 2008-2009)<br />
<br />
Key fingerprint = 39 D9 D7 7F 98 A8 F1 1B 26 6B D8 F2 EE 8F BB 5A<br />
PGP-Zertifikat der DFN-User-CA:<br />
pub 2048R/6362BE8B (2007-12-12),<br />
DFN-PGP-User-CA, CERTIFICATION ONLY KEY (DFN-PGP-Policy: 2008-2009)<br />
<br />
Key fingerprint = 30 96 47 77 58 48 22 C5 89 2A 85 19 9A D1 D4 06<br />
Root-Zertifikat der CAcert:<br />
Subject: O=Root CA, OU=http://www.cacert.org, CN=CA Cert Signing Authority/<br />
Email=support@cacert.org<br />
SHA1 Fingerprint=13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33<br />
MD5 Fingerprint=A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B<br />
GPG-Schlüssel der CAcert:<br />
pub 1024D/65D0FD58 2003-07-11 [expires: 2033-07-03]<br />
Key fingerprint = A31D 4F81 EF4E BD07 B456 FA04 D2BB 0D01 65D0 FD58<br />
uid CA Cert Signing Authority (Root CA) <br />
Autoren dieser Ausgabe<br />
Konstantin Agouros Filmreif austeilen 28<br />
Konstantin Agouros Turnschuh Ade! 48<br />
Fred Andresen Recht 78<br />
Bernhard Bablok Bash Bashing 90<br />
Florian Effenberger Der Dreck soll weg 52<br />
Renate Hermanns Gut in Form 64<br />
Eva-Katharina Kunst Kern-Technik 84<br />
Charly Kühnast Traffic Spotting 71<br />
Charly Kühnast Turnschuh Ade! 48<br />
Martin Loschwitz Dabeibleiben ist alles 40<br />
Martin Loschwitz Kleine Wölkchen 44<br />
Martin Loschwitz Turnschuh Ade! 48<br />
Michael Müller Tux liest 82<br />
Jürgen Quade Kern-Technik 84<br />
Fritz Reichmann Nach dem Schuss 58<br />
Michael Schilli Datensauger 92<br />
Tim Schürmann Paketzentren 22<br />
Dr. Udo Seidel Turnschuh Ade! 48<br />
Thilo Uttendorfer Log-Wellenreiter 32<br />
Valentin Höbel <strong>Linux</strong>-Multimeter 72<br />
Zack Brown Zacks Kernel-News 18<br />
Thilo Uttendorfer Turnschuh Ade! 48<br />
Uwe Vollbracht Tooltipps 68<br />
Valentin Höbel Log-Wellenreiter 32
Service<br />
www.linux-magazin.de <strong>Vorschau</strong> 06/2012 1/2011 05/2012 12/2010<br />
106<br />
<strong>Vorschau</strong><br />
06/2012 Dachzeile<br />
Zeiterfassungen<br />
© MARIUSZ PRUSACZYK, 123RF<br />
MAGAZIN<br />
Überschrift<br />
Wer wann wie viel gearbeitet hat, gerät bei Projektarbeitern oft<br />
zur fehlerträchtigen Schätzung. Zeiterfassungstools verschaffen<br />
eine genauere Übersicht, helfen bei der Abrechnung und bekämpfen<br />
Prokrastination. Die nächste Bitparade testet GUI- und<br />
CLI-Programme sowie eine Android-App auf Praxistauglichkeit.<br />
Sugar-Chat<br />
Instant Messaging als Dauerkanal in Richtung Kunde steht für<br />
Support- und Vertriebsabteilungen hoch im Kurs. Leider sind<br />
die getauschten Informationen von flüchtiger Natur. Sugar CRM<br />
besitzt jedoch ein gut dokumentiertes API, über das mit Dropbox<br />
und Pidgin die relevanten Daten nutzbar bleiben.<br />
Vielsprachigkeit bei Admins<br />
Die meisten <strong>Linux</strong>-Systemadmins sind zugleich Skript-Entwickler<br />
– wer sonst sollte die unzähligen kleinen Tools schreiben<br />
und verbessern, die den anforderungsreichen Arbeitsalltag zu<br />
bewältigen erst möglich machen!? Das kommende <strong>Magazin</strong><br />
will den durch viel Bash und etwas Perl bestimmten Blick zum<br />
Vorteil aller weiten. Der Konfigurationsmanager Puppet zeigt,<br />
wie ein in Ruby verfasstes Tool sehr effizient strukturierte Dateien<br />
interpretiert. Auch für Netzwerkprotokolle haben vermeintliche<br />
Exoten oft das bessere Händchen. Selbst das typsichere<br />
und ausdrucksstarke Haskell kann einiges stemmen.<br />
Pfeilschnell: Google Dart<br />
Mit der Skriptsprache Dart nimmt Google das altehrwürdige<br />
Javascript ins Visier. Dart soll einige Probleme des Vorgängers<br />
beheben, alten Ballast über Bord werfen, höhere Sicherheit bieten<br />
und obendrein die Skripte viel schneller ausführen. Dennoch<br />
stoßen Javascript-Programmierer auf viel Vertrautes.<br />
Die Ausgabe 06/2012<br />
erscheint am 3. Mai 2012<br />
Ausgabe 05/2012<br />
erscheint am 19.04.2012<br />
© Flaivoloka, sxc.hu<br />
Netzwerke<br />
In der kommenden Ausgabe zeigen wir,<br />
mit wel chen Mitteln Sie unter <strong>Linux</strong> am<br />
einfachsten Datenbestände über das Netz<br />
schaufeln können. Beim Transport kleiner<br />
und großer Dateien über das Internet<br />
schützt starke Krypto graphie die Dokumente<br />
vor dem Zugriff Unbefugter. Außerdem<br />
geben wir Tipps zur Konfiguration<br />
des zentralen Knotenpunkts im heimischen<br />
Netzwerk – dem WLAN-Router.<br />
3D mit Bino<br />
Spätestens seit dem Hollywood-Blockbuster Avatar hat der 3D-Hype<br />
auch die Wohnzimmer erobert. Unter <strong>Linux</strong> schauen Sie 3D-Filme<br />
am einfachsten mit dem quelloffenen Videoplayer Bino, einen<br />
passenden Monitor natürlich vorausgesetzt. Wir zeigen, wie Sie<br />
Software und System so konfigurieren, dass der nächste Filmabend<br />
auch in der dritten Dimension klappt.<br />
Video-DVDs erstellen<br />
Wer einmal die Tools zum Konvertieren von Videos in die Hand genommen<br />
hat, weiß eine einfach zu bedienende GUI zu schätzen.<br />
Devede reduziert den Parameterwald auf die sinnvollen Optionen und<br />
hilft Ihnen dabei, mit wenigen Mausklicks eine fertige Video-DVD zu<br />
erstellen.<br />
Satchbook 13 von Rockiger<br />
Ein charmante Idee: Das Satchbook von Rockiger<br />
verspricht ein perfekt eingerichtetes Notebook mit<br />
Ubuntu. Im ersten Anlauf hat sich der Laptop allerdings<br />
einige Kritik gefallen lassen müssen in<br />
puncto Qualität der Hardware.<br />
Jetzt hat der Hersteller mit einer<br />
neuen Version und neuen Komponenten<br />
nachgelegt. Wir stellen<br />
diese erneut im Praxistest auf dem<br />
Prüfstand.