26.02.2014 Aufrufe

LinuxUser Pakete im Griff (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

www.linux-user.de<br />

PAkETE<br />

<strong>im</strong> <strong>Griff</strong><br />

Ubuntu 12.04: Was das neue LTS-Release mitbringt S. 10<br />

Alexandria schafft endlich Ordnung <strong>im</strong> Bücherregal S. 52<br />

Grep und Co.: Textsuche in komplexen Formaten S. 82<br />

EUR 5,50<br />

Deutschland<br />

ÖsterreichEUR 6,30<br />

Schweiz sfr 11,00<br />

Benelux EUR 6,50<br />

Spanien EUR 7,45<br />

Italien EUR 7,45<br />

06.2012<br />

06.2012<br />

Das Magazin für die Praxis<br />

Curl • GREP • lxc • Myunity • Openbox • Pogo • Paketverwaltung<br />

Software komfortabel finden, installieren und Verwalten<br />

PAKETE IM GRIFF<br />

Software einfach selbst paketieren S. 38<br />

So verpacken Sie mit dem Skript Checkinstall jede Software<br />

passend und integrieren sie sauber ins Paketmanagement<br />

Slackware ohne Schrecken S. 46<br />

Die besten alternativen Paketverwaltungswerkzeuge für<br />

das Urgestein unter den Distributionen und seine Ableger<br />

Professionelle Tools für Debian & Co. S. 22, 30, 35, 42<br />

Software schneller finden mit Debtags, Releases mixen mit Apt-Pinning,<br />

komfortabler Zugriff via Apt-Shell, Ubuntu Software-Center <strong>im</strong> Detail<br />

Clevere Apps für das digitale Tonstudio S. 60<br />

So steuern Sie von Android aus die Audio-Suite auf dem Linux-Rechner<br />

und verwandeln jedes Tablet und Smartphone in ein Musikinstrument<br />

Pogo S. 70<br />

Der Audioplayer<br />

für den Puristen<br />

cURL S. 78<br />

Der Allrounder für<br />

den Datentransfer<br />

4 195111 005504 06<br />

Openbox-Themes<br />

maßschneidern S. 66<br />

Individuelles und schlankes<br />

Design mit wenig Aufwand<br />

Sandbox für System<br />

und Programme S. 74<br />

Dank integriertem LXC ganz<br />

einfach zur virtuellen Instanz<br />

Volle Kontrolle über Ubuntu Unity S. 56<br />

Wie Sie mit dem intuitiven Konfigurationseditor MyUnity<br />

den Canonical-Desktop nach Ihren Wünschen umgestalten


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-<strong>Pakete</strong> | Online-Speicher | Webshops | V-Server<br />

* Aktion bis 31.05.12. Preis inkl. MwSt.<br />

Servicetelefon: 0 18 05 - 007 677<br />

(0,14 €/Min. aus dem dt. Festnetz, Mobilfunk max. 0,42 €/Min.)


editorial<br />

Conditio sine qua non<br />

Sehr geehrte Leserinnen und Leser,<br />

Mandriva ist der Pleite wieder<br />

einmal knapp entgangen. Am<br />

30. April beschloss eine seit den<br />

finanziellen Turbulenzen rund<br />

um den Jahreswechsel mit Spannung<br />

erwartete Aktionärshauptversammlung<br />

endlich die schon<br />

lange geplante, dringende Refinanzierung<br />

der Firma [1].<br />

Mandriva war <strong>im</strong> Dezember erheblich<br />

ins Schwanken geraten,<br />

als eine solche Kapitalerhöhung<br />

fehlschlug: Zwar war der Hauptaktionär<br />

Townarea – er hält mehr<br />

als 50 Prozent der Mandriva-Anteile<br />

und vertreibt über das Moskauer<br />

Unternehmen ROSA eine<br />

eigene Distribution auf Mandriva-Basis<br />

– zu einer solchen Finanzspritze<br />

bereit, doch blockierte<br />

der französische Großaktionär<br />

SARL Linlux (42 Prozent<br />

der Anteile) dieses Vorgehen. Seit<br />

Januar hielt sich Mandriva mit<br />

Unterstützung der Paris Region<br />

Economic Development Agency<br />

über Wasser, einer lokalen Industriehilfsorganisation<br />

[2]. Mittlerweile<br />

hat Mandrivas COO Jean-<br />

Manuel Croset die SARL-Anteile<br />

übernommen und so den Weg für<br />

die Kapitalerhöhung freigemacht.<br />

Doch nun beginnt sich massiv<br />

zu rächen, dass Mandriva Ende<br />

2010 durch die Massenentlassung<br />

von Entwicklern und das<br />

fortgesetzte Ignorieren der Benutzer<br />

basis den Fork des durch<br />

die Community getriebenen Ablegers<br />

Mageia provozierte. Während<br />

Mageia dieser Tage bereits<br />

sein zweites Release vorlegt, hat<br />

Mandriva seit August 2011 kein<br />

neues Release mehr veröffentlicht,<br />

derzeit steht auch keines in<br />

Aussicht. Stattdessen versuchte<br />

Jean-Manuel Croset, in den letzten<br />

Wochen <strong>im</strong> Gespräch mit Mageia-Vertretern<br />

mögliche Formen<br />

der Zusammenarbeit auszuloten<br />

– dem Vernehmen nach bis hin zu<br />

einem kompletten Aufsetzen von<br />

Mandriva-Produkten auf Mageia-<br />

Code. Offensichtlich fehlt dem<br />

Distributor aktuell jede Art von<br />

Organisation, mit der er seine<br />

kommerziellen Produkte pflegen<br />

und aktualisieren könnte.<br />

Dies räumt Croset selbst in<br />

einem Post <strong>im</strong> Unternehmensblog<br />

[3] ein: „Ich bin sicher, dass<br />

wir eine Community brauchen<br />

und unser Unternehmen ohne<br />

diese nicht auskommt.“ Bei<br />

Mageia allerdings blitzte Croset<br />

erst einmal ab: Das Projekt hätte<br />

Mandriva zwar als Kontributor<br />

wie jeden anderen akzeptiert, war<br />

aber nicht bereit, dem Unternehmen<br />

irgendwelche Sonderrechte<br />

einzuräumen. Eine Zusammenarbeit<br />

ist aber vorderhand offenbar<br />

schon daran gescheitert, dass<br />

Mandriva derzeit mangels Manpower<br />

gar nicht in der Lage ist,<br />

etwas beizutragen.<br />

Dass es ohne Community nicht<br />

geht, zeigt auch der Fall Open-<br />

Office, der das gleiche Muster erkennen<br />

lässt wie bei Mandriva:<br />

Hier wie dort schlägt die (<strong>im</strong> Fall<br />

Ora cles durch eine Politik der Entwicklung<br />

hinter verschlossenen<br />

Türen provozierte) geforkte Gemeinschaftsversion<br />

die Firmenvariante<br />

bei den Releases um Längen.<br />

Seit Januar 2011 erschien<br />

kein neues OpenOffice mehr –<br />

während der gleichen Zeit legte<br />

die Document Foundation drei<br />

Hauptversionen und ungezählte<br />

Minor-Releases vor. Wie ein Vergleich<br />

des Suse-Entwicklers Michael<br />

Meeks zeigt [4], mangelt es<br />

auch OpenOffice an Entwicklern<br />

und in der Folge an Innovationskraft:<br />

30 OOo-Entwickler vs.<br />

300 bei LibO, 110 Code-Commits<br />

monatlich bei OOo vs. 1400 bei<br />

LibO, kaum Neues bei OpenOffice,<br />

aber zahllose nützliche Features<br />

bei LibreOffice.<br />

Dass Open Source, Community<br />

und kommerzielles Interesse sich<br />

nicht ausschließen müssen, das<br />

beweist dagegen Red Hat aufs<br />

Feinste: Seine Fedora-Community<br />

blüht genauso wie das Unternehmen,<br />

das mittlerweile mehr als<br />

eine Milliarde Dollar jährlich umsetzt<br />

[5]. Open-Source-Kommerz<br />

ohne Community geht dagegen<br />

offensichtlich gar nicht: Wer<br />

nichts zurück gibt, bekommt<br />

nichts mehr. Die Firmen brauchen<br />

die Community, die Projekte<br />

aber gedeihen <strong>im</strong> Zweifelsfall<br />

ohne ein kontrollfetischistisches<br />

Unternehmen <strong>im</strong> Rücken sogar<br />

besser – beruhigend zu wissen.<br />

Herzliche Grüße,<br />

Jörg Luther<br />

Chefredakteur<br />

[[1] Refinanzierung: http:// blog. mandriva. com/ en/ 2012/ 04/ 30/ this‐t<strong>im</strong>e/<br />

info<br />

[2] Zwischenlösung: http:// blog. mandriva. com/ en/ 2012/ 01/ 30/ not‐this‐t<strong>im</strong>e/<br />

[3] Mandriva sucht Community: http:// blog. mandriva. com/ en/ 2012/ 04/ 12/ hellocommunity‐make‐yourself‐heard/<br />

[4] „A LibreOffice / Apache Open Office Comparison“:<br />

http:// people. gnome. org/ ~michael/ blog/ 2012‐04‐26‐ooo‐comparison. html<br />

[5] Red-Hat-Jahresergebnis: http:// de. redhat. com/ about/ news/ press‐archive/​<br />

2012/ 3/ red‐hat‐reports‐fourth‐quarter‐and‐fiscal‐year‐2012‐results<br />

www.linux-user.de 06 | 12<br />

3


06 | 12<br />

82<br />

Manche Dateiformate<br />

sperren sich gegen die<br />

Mustersuche. In diesem<br />

Fall helfen Grep-Varianten.<br />

74<br />

Mit einer virtuellen Umgebung testen<br />

Sie gefahrlos neue oder exper<strong>im</strong>entelle<br />

Software, verschaffen<br />

dem Browser be<strong>im</strong> Online-Banking ein sicheres<br />

Zuhause und setzen <strong>im</strong> Handumdrehen einen<br />

kleinen Server auf. Dabei bringt Linux mit LXC<br />

die notwendige Technik gleich mit.<br />

56<br />

Canonical hat der Benutzergemeinde<br />

mit Unity ein neues<br />

Desktop-Konzept aufgezwungen.<br />

Mit dem kleinen Programm MyUnity holen Sie<br />

sich ein Stück Freiheit zurück und verleihen<br />

der Oberfläche Ihre persönliche Note.<br />

Heft-DVD<br />

Aktuelles<br />

Schwerpunkt<br />

DEFT 7.1 ................ 6<br />

DEFT vereint spezielle Programme<br />

für Forensiker mit einigen<br />

zusätzlichen Schmankerln<br />

in einer Distribution und macht<br />

damit die mühsame Einzelinstallation<br />

der zahlreichen Tools<br />

überflüssig.<br />

Ubuntu 12.04 LTS . . . . . . . 10<br />

Ubuntu 12.04 „Precise Pangolin“<br />

glänzt mit fünf Jahren Desktop-<br />

Support. In der neuen LTS-Version<br />

räumten die Entwickler viele<br />

Schwächen des Vorgängers aus.<br />

digitale Fernbedienung<br />

für die Audio-<br />

60Ob<br />

Suite oder exotisches Musikinstrument –<br />

neue und pfiffige Apps für Musiker verwandeln Android-<br />

Geräte in ein praktisches Werkzeug für das Tonstudio.<br />

Angetestet ............. 14<br />

Torrents opt<strong>im</strong>al nutzen mit Bitflu<br />

1.42, Bilder einfach vergleichen<br />

mit Diff<strong>im</strong>g 1.3.0, Skripte grafisch<br />

aufpeppen mit Gxmessage 2.20,<br />

professionelle Netzwerk analyse<br />

mit Wireshark 1.6.7<br />

Neues rund um Linux .... 16<br />

Linus Torvalds he<strong>im</strong>st Technik-<br />

„Nobel preis“ ein, XFCE 4.10<br />

rundum aufpoliert, Stable-Release:<br />

KDE-Bürosuite Calligra 2.4,<br />

Siduction: Distributionsbau live<br />

per Beamer verfolgen, FrOSCon<br />

2012 sucht Vorträge<br />

Report<br />

LibreOffice-Box ......... 18<br />

Wir stellen die Macher sowie die<br />

Geschichte hinter der Box vor und<br />

zeigen, wie auch Sie das Projekt<br />

tatkräftig unterstützen können.<br />

Debtags . . . . . . . . . . . . . . . 22<br />

Das Debtags-Projekt erleichtert<br />

durch neue Tags die Auswahl passender<br />

Software deutlich.<br />

Apt-Shell . . . . . . . . . . . . . . 30<br />

So nutzen Sie die Funktionen des<br />

Debian-Paketmanagements über<br />

ein zentrales Interface.<br />

Apt-Pinning . . . . . . . . . . . . 35<br />

So mischen Sie in behutsamer<br />

Dosierung ein stabiles Debian mit<br />

topaktuellen Komponenten.<br />

Checkinstall ............ 38<br />

Mit Checkinstall bekommen Sie<br />

selbst kompilierte Software sauber<br />

ins System und wieder heraus.<br />

Software Center . . . . . . . . 42<br />

Die einst schlanke Alternative<br />

zum klassischen Paketmanagement<br />

mutiert mit der Version 5.2<br />

zum zentralen App-Store.<br />

Slackware . . . . . . . . . . . . . 46<br />

Mit den richtigen Tools meistern<br />

Sie das Urgestein unter den Distributionen<br />

so spielend leicht wie<br />

andere Distributionen.<br />

4<br />

06 | 12


Heft-DVDs<br />

Auf den Heft-DVDs dieser Ausgabe befindet<br />

sich ausschließlich Anwendungssoftware.<br />

Die Datenträger enthalten keine jugendgefährdenden<br />

Inhalte.<br />

22<br />

Für Linux-Anwender<br />

gehören die Vorzüge<br />

des Paketmanagements längst zum Alltag. Wir zeigen, wie<br />

Sie dank Apt-Pinning und Checkinstall mit Versionen jonglieren, durch<br />

Debtags und Apt-Shell komfortabler mit <strong>Pakete</strong>n arbeiten und untersuchen,<br />

welche Vorteile das neueste Software Center von Ubuntu bringt.<br />

Auf der Heft-DVD:<br />

Auf den Datenträgern zum<br />

Heft finden Sie viele interessante<br />

Programme, wie etwa<br />

Alexandria, mit dem Sie den<br />

Bestand Ihrer Bibliothek<br />

komfortabel katalogisieren.<br />

Praxis<br />

Alexandria . . . . . . . . . . . . . 52<br />

Mit wachsendem Buchbestand<br />

geht oft der Überblick über die<br />

Sammlung verloren. Mit Alexandria<br />

katalogisieren Sie die private<br />

Bibliothek <strong>im</strong> Nu.<br />

MyUnity . . . . . . . . . . . . . . . 56<br />

MyUnity passt den Ubuntu-<br />

Desktop an Ihre persönlichen<br />

Wünsche an. Dabei bringt das<br />

Tool viele Einstellungen zurück,<br />

die Canonical aus der Oberfläche<br />

entfernt hat.<br />

Apps für Musiker . . . . . . . 60<br />

Mit diesen Apps verwandeln sich<br />

Android-Geräte in eine kompakte<br />

Fernsteuerung für das Linux-<br />

Tonstudio – oder sogar in ein esoterisches<br />

Musikinstrument.<br />

Openbox-Themes . . . . . . . 66<br />

Bauen Sie sich einfach selbst ein<br />

passendes Outfit für den beliebten<br />

Fenstermanager Openbox.<br />

Eine leicht verständliche Syntax<br />

sorgt für schnelle Erfolge.<br />

Pogo . . . . . . . . . . . . . . . . . . 70<br />

Weniger ist mehr – getreu dieser<br />

Devise lenkt der Audio-Player<br />

Pogo die Aufmerksamkeit des<br />

Benutzers ganz auf die Musik.<br />

Netz&System<br />

LXC . . . . . . . . . . . . . . . . . . . 74<br />

Mithilfe von LXC lagern Sie mit<br />

wenigen Handgriffen unsichere<br />

Applikationen oder Testsysteme<br />

in einen virtuellen Container aus.<br />

Know-how<br />

cURL .................. 78<br />

Upload, Download oder sogar<br />

Twittern per Shell-Skript? Alles<br />

kein Problem: Mit cURL gelingen<br />

derartige Aktionen mit wenigen<br />

Befehlen.<br />

Grep-Varianten . . . . . . . . . 82<br />

Grep gehört zu den elementaren<br />

Linux-Werkzeugen. Eine Reihe<br />

von Zusatztools hilft bei der Suche<br />

in Formaten, die dem kleinen<br />

Tool sonst verwehrt bleiben.<br />

Service<br />

Editorial ................ 3<br />

IT-Prof<strong>im</strong>arkt .......... 88<br />

Events/Inserenten . . . . . . 94<br />

Impressum ............. 95<br />

<strong>Vorschau</strong> . . . . . . . . . . . . . . 96<br />

Heft-DVD-Inhalt . . . . . . . . 97<br />

Fünf Jahre Support machen<br />

die aktuelle LTS-Version<br />

Ubuntu 12.04 LTS zum idealen<br />

Kandidaten für jeden<br />

Produktivrechner. Lesen Sie<br />

mehr dazu ab Seite 10.<br />

LibreOffice-Box 3.5.2<br />

bringt wieder neue<br />

Vorlagen, Makros und<br />

ein SDK zum Programmieren<br />

der<br />

freien Büro-Suite<br />

mit. Lesen Sie ab<br />

Seite 18, was die<br />

Macher bewegt und<br />

wie Sie ihnen bei der<br />

Arbeit helfen können.<br />

Die Forensik-Distribution<br />

DEFT 7.1 bringt essenzielle<br />

Programme für die<br />

Problemsuche mit. Ein Artikel<br />

ab Seite 6 erläutert,<br />

wie Sie diese <strong>im</strong> Ernstfall<br />

opt<strong>im</strong>al einsetzen.<br />

<strong>LinuxUser</strong> DVD-Edition<br />

Hinweis: Haben Sie die DVD-Edition dieser Ausgabe erworben,<br />

finden Sie ab Seite 97 wei tere Informationen zu<br />

den Programmen auf den beiden Datenträgern. Haben Sie<br />

dagegen die güns tigere No-Media-Ausgabe erstanden,<br />

enthält dieses Heft keine Datenträger.<br />

www.linux-user.de<br />

12 | 10 5


heft-dvd<br />

DEFT 7.1<br />

IT-Security-Distribution DEFT<br />

Spürhund<br />

DEFT vereint spezielle Programme für Forensiker<br />

mit einigen zusätzlichen Schmankerln<br />

in einer Distribution und macht damit die<br />

mühsame Einzelinstallation zahlreicher<br />

Tools überflüssig. Erik Bärwaldt<br />

© Saniphoto, Fotolia<br />

DEFT 7.1<br />

Heft-DVD 1, Seite B<br />

bootfähig und<br />

installierbar<br />

README<br />

DEFT eignet sich als<br />

Werkzeug für IT-Profis,<br />

Administratoren und<br />

Forensiker, die Sicherheitslücken<br />

aufspüren<br />

und Daten rekonstruieren<br />

müssen.<br />

Immer raffiniertere Schadsoftware<br />

gepaart mit dem Leichtsinn<br />

und der Unwissenheit vieler Anwender<br />

sowie den konzeptionellen<br />

Schwächen einiger Betriebssysteme<br />

machen professionellen<br />

wie auch He<strong>im</strong>-Administratoren<br />

das Leben schwer. Nach dem<br />

Motto „Vorbeugen ist besser als<br />

Heilen“ empfiehlt es sich, jede IT-<br />

Infrastruktur in Sachen Sicherheit<br />

regelmäßig auf Herz und<br />

Nieren zu testen, um so das Risiko<br />

von Einbrüchen und Schäden<br />

zu min<strong>im</strong>ieren.<br />

Als äußerst nützliches Tool, das<br />

jeder Admin in seinem Repertoire<br />

haben sollte, trägt DEFT-Linux [1]<br />

dazu bei, unerwünschte Besucher<br />

von den eigenen Servern und<br />

Clients fernzuhalten: Es deckt<br />

Sicherheitslecks schnell auf, sodass<br />

man sie rechtzeitig abdichten<br />

kann. Das als Live-System mit<br />

Installationsmöglichkeit konzipierte<br />

DEFT – das Kürzel steht<br />

für Digital Evidence and Forensics<br />

Toolkit – gibt Ihnen dazu<br />

eine äußerst umfangreiche<br />

Sammlung an Werkzeugen aus<br />

verschiedenen Welten an die<br />

Hand, sodass Sie auch be<strong>im</strong> Einsatz<br />

neuester Hard- und Software<br />

bestens gewappnet sind.<br />

DEFT basiert auf Lubuntu und<br />

nutzt LXDE als Desktop-Umgebung,<br />

was auch <strong>im</strong> Live-Betrieb<br />

ein Arbeiten mit schnellen Reaktionszeiten<br />

bei moderater Hardware-Beanspruchung<br />

ermöglicht.<br />

Optische G<strong>im</strong>micks suchen Sie<br />

dagegen vergebens. Das Startmenü<br />

des Grub-Bootmanagers<br />

offeriert als Optionen neben dem<br />

Live-Betrieb auch die Möglichkeit,<br />

das System komplett ins<br />

RAM zu laden, um auf älteren<br />

Rechnern eine bessere Leistung<br />

zu erhalten, sowie DEFT auf der<br />

Festplatte einzurichten. Unter<br />

der Haube arbeitet ein moderner<br />

3.0.0-Kernel, und dank der Ubuntu-Basis<br />

mit ihrem schier unerschöpflichen<br />

Software-Fundus<br />

installieren Sie Programme aller<br />

Art unkompliziert nach.<br />

Nach dem Start <strong>im</strong> Live-Modus<br />

präsentiert sich die Distribution<br />

zunächst mit einem spartanisch<br />

anmutenden Textbildschirm. Von<br />

dort aus öffnen Sie bis zu sechs<br />

Shell-Sitzungen ([Alt]+[F1]...[F6])<br />

jeweils mit Root-Rechten. Das ermöglicht<br />

den reibungslosen Betrieb<br />

von DEFT auch auf älteren<br />

Rechnern, deren Grafikkarte der<br />

X-Server nicht unterstützt.<br />

Möchten Sie den grafischen Desktop<br />

starten, dann geben Sie am<br />

Prompt den Befehl deft‐gui ein.<br />

Ein erster Blick in die Menüs<br />

der Sicherheitsdistribution zeigt<br />

eine sorgfältige Anpassung des<br />

Systems an den Einsatzzweck:<br />

Neben den gängigen Programmgruppen<br />

für universelle Arbeiten<br />

finden Sie <strong>im</strong> Menü DEFT eine<br />

stattliche Anzahl von Untermenüs,<br />

die neben vielen Linux-Programmen<br />

auch Windows-Software<br />

enthalten. Letztere bewegt<br />

Wine zur problemlosen Kooperation<br />

mit Linux (Abbildung A).<br />

Forensisches<br />

Professionelles Systemmanagement<br />

und forensische Arbeiten<br />

lassen sich in vielen Fällen nur<br />

über die Kommandozeile schnell<br />

und effizient bewältigen. Viele<br />

der in DEFT integrierten Programme<br />

öffnen daher <strong>im</strong> grafischen<br />

Modus ein Terminal und<br />

erwarten die Eingabe entsprechender<br />

Befehle und Parameter.<br />

So können Sie aus dem Live-Mo-<br />

6 06 | 12<br />

www.linux-user.de


DEFT 7.1<br />

heft-dvd<br />

dus <strong>im</strong> Terminal oder der Shell-<br />

Sitzung sofort Partitionsangaben<br />

die Massenspeicher des untersuchten<br />

Rechners abrufen (fdisk)<br />

und bei Bedarf zu prüfende oder<br />

reparierende Laufwerke zugänglich<br />

machen (mount). Auch mit<br />

Disk-Images und Hash-Algorithmen<br />

lässt sich auf der Kommandozeile<br />

wesentlich effizienter arbeiten<br />

als über die wenigen verfügbaren<br />

grafischen Tools.<br />

Zu den alltäglichen Aufgaben<br />

von Forensikern, die sich oftmals<br />

mit der Beweismittelsicherung in<br />

Fällen von Computerkr<strong>im</strong>inalität<br />

beschäftigen, zählt die Untersuchung<br />

von verdächtigen Datenträgern,<br />

Partitionen und Dateien.<br />

Dazu liefert DEFT ein Spektrum<br />

einschlägig bekannter Werkzeuge.<br />

Die Beweissicherung erfordert,<br />

zunächst verdächtige Images<br />

oder Partitionen auf einen<br />

unbelasteten Datenträger zu kopieren,<br />

da die Arbeit mit Original-<br />

Datenpartitionen Veränderungen<br />

hervorrufen und so Beweismittel<br />

zerstören könnte, sodass sie vor<br />

Gericht in keinem Fall standhielte.<br />

DEFT ermöglicht die komplette<br />

Kopie einer solchen Partition<br />

oder eines Images mithilfe von<br />

Linux-Bordmitteln wie dem Befehl<br />

dd. Haben Sie die Kopie auf<br />

einem neutralen Datenträger angelegt,<br />

können Sie diesen mounten<br />

und auf die Daten in jedem<br />

gewünschtem Modus zugreifen.<br />

Besonders hinterhältig sind<br />

Rootkits, die sich unbemerkt in<br />

das System einschmuggeln und<br />

die Kontrolle von außen auf den<br />

Rechner ermöglichen. Zum Lokalisieren<br />

solcher Rootkits bringt<br />

DEFT mit Rkhunter und Chkrootkit<br />

sehr leistungsfähige Tools<br />

mit [2]. Als Virenscanner fungiert<br />

ClamTK, den Sie aber nur über<br />

den grafischen Desktop erreichen<br />

(DEFT | Ant<strong>im</strong>alware tools | Virus<br />

Scanner). Das Python-Skript PDF<br />

Parser fahndet in PDF-Dateien<br />

nach Schadcode.<br />

Suchen Sie nach gelöschten Dateien<br />

und Partitionen oder wollen<br />

Sie beschädigte Dateien rekonstruieren,<br />

so liefert DEFT dazu mit<br />

Test Disk sowie PhotoRec zwei<br />

leistungsfähige Kommandozeilenprogramme,<br />

die Verborgenes<br />

ans Tageslicht befördern [3]. Mit<br />

Foremost sowie Scalpel erhalten<br />

Sie zwei bekannte Programme,<br />

die beschädigte Dateien in vielen<br />

Fällen wieder rekonstruieren.<br />

Spezialfälle<br />

Auch die inzwischen sehr beliebten<br />

Smartphones knöpft sich<br />

DEFT vor. Dazu hat es die Programme<br />

Bbwhatsapp, Ipddump,<br />

IPhone Analyzer und iPhone<br />

Backup Analyzer an Bord, die eine<br />

genaue Untersuchung der Smartphone-Daten<br />

ermöglichen.<br />

Macht der Netzwerkzugang<br />

Prob leme, oder vermuten Sie einen<br />

von Schadsoftware verursachten<br />

Datentransfer, steht das Mitschneiden<br />

und Analysieren der <strong>im</strong><br />

Netz ein- und ausgehenden Datenpakete<br />

an. Dazu bietet DEFT<br />

neben dem klassischen Sniffer<br />

Wireshark [4] auch das weniger<br />

bekannte Xplico, das insbesondere<br />

auch E-Mails und HTTP-Inhalte<br />

extrahieren kann. Mit Ettercap<br />

steht eine Suite zur Sicherheitsanalyse<br />

bereit, das über Man-In-<br />

The-Middle-Angriffe hilft, Lücken<br />

<strong>im</strong> Netz aufzudecken.<br />

Manchmal scheitert der Zugang<br />

zu einem Rechner bereits an einem<br />

Passwortschutz. Neben sogenannten<br />

Supervisor-Passwörtern,<br />

die den Bootvorgang und<br />

den Festplattenzugriff absichern,<br />

gibt es auch noch CMOS-Passwortschutzmechanismen,<br />

die den<br />

Zugriff auf die Hardware erschweren.<br />

Daher bietet DEFT<br />

auch unterschiedliche Software<br />

zum Auslesen und Rekonstruieren<br />

vergebener Passwörter an. Zu<br />

den Tools gehören bekannte Programme<br />

wie der Login-Cracker<br />

Hydra, der Passwortanalysator<br />

und Cracker John the Ripper sowie<br />

Programme zum Ermitteln<br />

von Datei- und Archivpasswörtern,<br />

wie Pdfcrack oder Fcrackzip.<br />

Mit Cmospwd ermitteln Sie ein<br />

für den Zugriff auf das Rechner-<br />

BIOS vergebenes Passwort.<br />

Mit Outguess [5] liefert DEFT<br />

zusätzlich ein steganografisches<br />

Tool, mit dem Sie in PNM- und<br />

JPEG-Bilddateien Informationen<br />

verstecken. Dazu bettet es in eine<br />

beliebige Bilddatei beispielsweise<br />

A Die grafische Oberfläche<br />

von DEFT bietet<br />

eine interessante Programmauswahl.<br />

www.linux-user.de<br />

06 | 12 7


heft-dvd<br />

DEFT 7.1<br />

B Durch BitP<strong>im</strong> hat<br />

Ihr Smartphone keine<br />

Gehe<strong>im</strong>nisse mehr.<br />

einen Text ein, indem es Farbwerte<br />

verändert. Insbesondere in<br />

Bilddateien mit 24 oder 32 Bit<br />

Farbtiefe ist das menschliche<br />

Auge nicht mehr in der Lage, einzelne<br />

lediglich um ein Bit voneinander<br />

abweichende Farbwerte zu<br />

erkennen. Diesen Umstand<br />

macht sich die Software zunutze<br />

und manipuliert die einzelnen<br />

Pixelwerte so, dass der Betrachter<br />

Original und „Fälschung“ nicht<br />

mehr unterscheiden kann [6].<br />

DEFT beherbergt darüber hinaus<br />

eine stattliche Anzahl sogenannter<br />

OSINT-Applikationen.<br />

Diese Programme fallen in die<br />

Kategorie der Open Source Intelligence,<br />

die Methoden der nachrichtendienstlichen<br />

Informationsbeschaffung<br />

umfasst. In diese<br />

Riege zählen Programme oder<br />

auch Add ons für Webbrowser, die<br />

ein anonymes Surfen <strong>im</strong> Internet<br />

gestatten. DEFT trägt zusätzlich<br />

einige Online-Dienste zusammen,<br />

die das anonyme Surfen ohne einen<br />

präparierten Browser bieten.<br />

Eine gegen Online-Schnüffelei<br />

durch viele Extensions gehärtete<br />

Variante von Googles Webbrowser<br />

Chrome befindet sich auch <strong>im</strong><br />

Software-Fundus von DEFT.<br />

Daneben finden sich in DEFT<br />

mehrere Dutzend Programme für<br />

die Beschaffung von unterschiedlichsten<br />

Informationen aus dem<br />

Internet, das sogenannte Data<br />

Mining. Diese Tools dienen sowohl<br />

dem Tracking<br />

als auch<br />

dem Gewinnen<br />

von Informationen<br />

über Personen<br />

aus verschiedenen<br />

öffentlich<br />

zugänglichen<br />

Quellen, wie etwa<br />

sozialen Netzwerken.<br />

Dadurch lassen<br />

sich zunehmend<br />

detaillierte<br />

Profile bis hin zur<br />

geografischen Lokalisierung<br />

einer<br />

Person zusammenstellen.<br />

Grafische Tools<br />

Neben den zahlreichen oben erwähnten<br />

Anwendungen für die<br />

Kommandozeile bietet DEFT<br />

auch etliche Programme für die<br />

grafische Oberfläche. Damit Sie<br />

sowohl CLI- als auch GUI-Software<br />

s<strong>im</strong>ultan nutzen können,<br />

haben die Entwickler alle angebotenen<br />

Tools in den Menüs des<br />

LXDE-Desktops untergebracht.<br />

Sofern Sie dort ein Programm<br />

aufrufen, das die Kommandozeile<br />

voraussetzt, startet ein Terminal,<br />

in dem Sie die Software ausführen.<br />

In den einzelnen Untermenüs<br />

eingruppiert finden sich jedoch<br />

auch jene Programme, die<br />

eine komplett grafische Bedienoberfläche<br />

bieten.<br />

Neben einigen System-Tools wie<br />

dem Mount-Manager und den üblichen<br />

Standard-Programmen unter<br />

Linux – wie LibreOffice,<br />

Firefox oder Chrome – finden Sie<br />

hier auch das Vidalia Control Panel<br />

zur Installation eines anonymen<br />

Internetzugangs, den Profiler<br />

Maltego oder BitP<strong>im</strong>, ein grafisches<br />

Werkzeug zum Auslesen<br />

von Smartphone-Daten. Da einige<br />

der Programme auf Wine oder<br />

Java aufsetzen, sind beide Laufzeitumgebungen<br />

bereits eingerichtet<br />

(Abbildung B).<br />

Insbesondere Forensiker müssen<br />

ihre einzelnen Arbeitsschritte<br />

genau dokumentieren, um Sachverhalte<br />

<strong>im</strong> Bedarfsfall auch gerichtsfest<br />

darlegen zu können.<br />

DEFT bietet daher <strong>im</strong> Menü<br />

DEFT | Reporting tools mehr als<br />

ein halbes Dutzend Anwendungen,<br />

die der Visualisierung von<br />

Arbeitsschritten und Informationen<br />

dienen. Darunter befinden<br />

sich neben Screenshot- und Aufzeichnungssoftware<br />

für Desktop-<br />

Aktivitäten auch Mindmapper,<br />

die einzelne Arbeitsabläufe grafisch<br />

darstellen. Schließlich<br />

bringt DEFT einen Texteditor sowie<br />

einen elektronischen Notizblock<br />

mit, sodass keinerlei Informationen<br />

verloren gehen können.<br />

Fazit<br />

DEFT präsentiert sich als das<br />

„Schweizer Taschenmesser“ sowohl<br />

für ambitionierte Administratoren<br />

als auch für Forensiker.<br />

Dank Lubuntu-Unterbau eignet<br />

sich die Distribution ausgezeichnet<br />

für den Einsatz auf älteren<br />

Maschinen, wobei <strong>im</strong> Test selbst<br />

auf acht Jahre alten Systemen die<br />

in DEFT <strong>im</strong>plementierten Java-<br />

Programme erstaunlich flott zu<br />

Werke gingen. Die Fülle der (oft<br />

kommandozeilenbasierten) Programme<br />

lässt kaum Wünsche offen,<br />

wobei DEFT allerdings deutlich<br />

mehr als nur Grundlagenwissen<br />

voraussetzt: Einige der Programme<br />

können, sofern nicht<br />

sachgemäß angewendet, reichlich<br />

Schaden anrichten. (jlu) n<br />

[1] DEFT-Linux: http:// www. deftlinux. net<br />

[2] Rootkits aufspüren: Erik Bärwaldt,<br />

info<br />

„Alarmstufe Root“, LU 03/​2009, S. 76,<br />

http:// www. linux‐community. de/ 17880<br />

[3] Testdisk und PhotoRec: Erik Bärwaldt,<br />

„Spurensuche“, LU 07/​2010, S. 68,<br />

http:// www. linux‐community. de/ 21144<br />

[4] Wireshark: Erik Bärwaldt, „Effektiver<br />

Räuber“, LU 02/​2009, S. 70,<br />

http:// www. linux‐community. de/ 17598<br />

[5] Outguess: Erik Bärwaldt, „Gut versteckt!“,<br />

LU 11/​2007, S. 94,<br />

http:// www. linux‐community. de/ 14367<br />

[6] Steganografie brechen: Erik Bärwaldt, „Gut<br />

versteckt?“, LU 04/​2008, S. 80,<br />

http:// www. linux‐community. de/ 15241<br />

8 06 | 12<br />

www.linux-user.de


Neu!<br />

Professional Server<br />

Brandneue Dedicated Root-Server von HP<br />

Neu! Jetzt bereits mit Linux Ubuntu 12.04<br />

AKTION bis 31.05.2012 20,00€ sparen mit Gutscheincode<br />

LU-4E18E06s12-189<br />

Neu! Neu! Neu!<br />

Professional Server S<br />

Professional Server M<br />

Professional Server L<br />

CPU<br />

Intel XEON E3-1230<br />

Intel XEON E3-1240<br />

Intel XEON E3-1270<br />

Leistung<br />

4 x 3,2 GHz inkl. HT<br />

4 x 3,3 GHz inkl. HT<br />

4 x 3,4 GHz inkl. HT<br />

Arbeitsspeicher<br />

16 GB DDR3 ECC<br />

24 GB DDR3 ECC<br />

32 GB DDR3 ECC<br />

Festplatten 7.200 rpm<br />

2 x 1 TB Enterprise-Edition<br />

2 x 2 TB Enterprise-Edition<br />

2 x 2 TB Enterprise-Edition<br />

Anbindung<br />

1.000 MBit Flatrate<br />

1.000 MBit Flatrate<br />

1.000 MBit Flatrate<br />

KVM over IP per iLO<br />

IPv4 Adresse inkl.<br />

IPv6 Subnetz (/64) inkl.<br />

Betriebssysteme<br />

Admin-Panel<br />

Extras<br />

Monatsgrundgebühr ab<br />

Einrichtungsgebühr<br />

Ubuntu 12.04, Debian 6.0, CentOS 6, openSUSE 12.1, FreeBSD 9 & Windows 2008 R2 (19,99 € Aufpreis <strong>im</strong> Monat)<br />

Plesk 10.4 oder Confixx 3.3 inklusive<br />

100 GB Backup-Speicher, Monitoring, Reset- und Rescue-System<br />

59,99 € 79,99 €<br />

99,99 €<br />

0,00 €<br />

0,00 €<br />

0,00 €<br />

Jetzt informieren & bestellen Tel.: 0211 / 545 957 - 330 www.webtropia.com<br />

powered by


heft-dvd<br />

Ubuntu 12.04 LTS<br />

Neues in Ubuntu 12.04 LTS „Precise Pangolin“<br />

Akkurates Gürteltier<br />

Ubuntu 12.04 „Precise Pangolin“ glänzt mit<br />

fünf Jahren Desktop-Support. In der neuen<br />

LTS-Version räumten die Entwickler<br />

zahlreiche Schwächen des<br />

Vorgängers 11.10 aus.<br />

Kristian Kißling<br />

© Vlad Geras<strong>im</strong>ov, www.vladstudio.com, CC-BY-SA 2.0<br />

README<br />

Ubuntu 12.04 LTS<br />

(64 Bit) bootfähig<br />

auf Heft-CD<br />

Ubuntu 12.04 LTS<br />

(32-Bit-DVD) bootfähig<br />

auf Heft-DVD<br />

Mit Ubuntu 12.04 liefert<br />

Canonical die aktuelle<br />

langzeitunterstützte<br />

Version der Distribution<br />

aus. Angesichts vieler<br />

Neuerungen und Verbesserungen<br />

erscheint<br />

ein Upgrade attraktiv,<br />

sofern Sie sich auf den<br />

eigenwilligen Desktop<br />

Unity einlassen.<br />

Im Laufe seines Lebenszyklus<br />

stellte sich Ubuntu 11.10 nicht<br />

gerade als Glanzstück in der<br />

Ubuntu-Entwicklung heraus:<br />

Lange Boot-Zeiten, hoher Energie<br />

verbrauch und Bugs in der mitgelieferten<br />

Software hinterließen<br />

bei vielen Benutzern einen faden<br />

Beigeschmack. In den jetzt erschienenen<br />

Nachfolger Ubuntu<br />

12.04 LTS integrierten die Entwickler<br />

zahlreiche Fehlerbereinigungen<br />

sowie Verbesserungen<br />

und versprechen, die Version fünf<br />

Jahre lang zu warten (LTS = Long<br />

Term Support). Tatsächlich ging<br />

das „akkurate Schuppentier“, wie<br />

sich der Codename übersetzen<br />

ließe, von Anfang an recht pfleglich<br />

mit den Rechnern seiner Anwender<br />

um. Bereits die Alpha 1<br />

verursachte kaum Probleme, lediglich<br />

Mozillas Duo Firefox und<br />

Thunderbird erwies sich <strong>im</strong> täglichen<br />

Umgang als etwas zickig.<br />

Unity aufgemöbelt<br />

Der Ubuntu-Desktop Unity<br />

bringt in der neuen Version einige<br />

heiß diskutierte Neuerungen<br />

mit. Dazu zählt nicht zuletzt das<br />

(noch als exper<strong>im</strong>entell geltende)<br />

Head-up-Display HUD, eine Innovation,<br />

die bislang kein anderes<br />

Betriebssystem anbietet. Sobald<br />

Sie kurz [Alt] drücken, erscheint<br />

es in Form einer Eingabezeile und<br />

kennt <strong>im</strong> Idealfall sämtliche<br />

Menüpunkte eines Programms<br />

(Abbildung A). Um eine Funktion<br />

aufzurufen, geben Sie einfach die<br />

ersten Buchstaben der gesuchten<br />

Funktion ein, anstatt sich durch<br />

die Menühierarchie zu wühlen.<br />

Noch funktioniert das HUD aber<br />

lediglich mit ausgesuchten Programmen,<br />

darunter G<strong>im</strong>p, Libre-<br />

Office und Firefox.<br />

Im Anwendungsstarter Dash<br />

ändert sich ebenfalls einiges. Die<br />

Überblicksseite, die bisher nach<br />

einem kurzen Druck auf [Windows]<br />

sowie be<strong>im</strong> Anklicken des<br />

Dash-Symbols <strong>im</strong> Starter erschien,<br />

existiert nicht mehr. Stattdessen<br />

landen Sie gleich in einer Übersicht<br />

mit den zuletzt geöffneten<br />

Anwendungen und Dateien sowie<br />

der als Letztes heruntergeladenen<br />

Software.<br />

Wie bisher geben Sie nur einige<br />

Buchstaben ein, um das Start-<br />

Icon für ein best<strong>im</strong>mtes Programm<br />

aufzurufen. Neuerdings<br />

müssen Sie jedoch doppelt auf<br />

[Pfeil-unten] drücken, um den<br />

Fokus auf das Starticon zu legen,<br />

da dieser be<strong>im</strong> ersten Druck<br />

lediglich in der Kategorienzeile<br />

landet. Hier holen Sie über [Eingabe]<br />

alle verfügbaren Anwendungen<br />

einer Kategorie ans Tageslicht.<br />

Ein neues Feature richtet<br />

sich speziell an Ein- und Umsteiger:<br />

Drückt man länger [Windows],<br />

holt das eine Liste mit<br />

wichtigen Tastaturkürzeln für<br />

Unity auf den Schirm (Abbildung<br />

B). Diese verrät, dass Sie<br />

die Filter („lenses“) nun über<br />

[Strg]+[Tab] ansteuert. Ganz<br />

rechts stoßen Sie übrigens auf<br />

einen bisher unbekannten Filter,<br />

der sich um die lokalen Video-<br />

Dateien kümmert (Abbildung C,<br />

nächste Doppelseite), aber auch<br />

Online-Videoquellen wie YouTube<br />

und die 3Sat-Mediathek anzapft.<br />

Um zwischen Anwendungen<br />

hin- und herzuspringen, verwen-<br />

10 06 | 12<br />

www.linux-user.de


Ubuntu 12.04 LTS<br />

heft-dvd<br />

den Sie weiterhin<br />

[Alt]+[Tab]. Verharren<br />

Sie dabei länger auf<br />

dem Icon einer Anwendung<br />

mit mehreren<br />

offenen Fenstern, zeigen<br />

sich diese einzeln,<br />

und Sie wählen eines<br />

aus. Über [Strg]+[Alt]<br />

und die Pfeiltasten<br />

wechseln Sie zwischen<br />

den virtuellen Desktops<br />

hin und her – was<br />

ebenfalls ein neu entworfenes<br />

Fenster auf<br />

den Plan ruft (Abbildung<br />

D, folgende Seite).<br />

Drücken Sie<br />

[Alt]+[F2], landen Sie<br />

in der Schnellstartzeile,<br />

über die Sie – wie gewohnt<br />

– einige Kommandos absetzen.<br />

Nicht zuletzt spendierten<br />

die Entwickler einzelnen Anwendungen<br />

neue Quicklist-Einträge:<br />

Klicken Sie beispielsweise mit der<br />

rechten Maustaste auf das Nautilus-Starter-Icon,<br />

greifen Sie<br />

direkt auf die Lesezeichen des<br />

Date<strong>im</strong>anagers zu. Erscheint Ihnen<br />

Unity <strong>im</strong> Umgang mit Informationen<br />

zu neugierig, gelangen<br />

Sie nun über die Systemeinstellungen<br />

oben rechts zu einem Tool<br />

namens Privatsphäre. Hier stellen<br />

Sie pauschal für einen Zeitraum<br />

oder bezogen auf<br />

Anwendungen und<br />

Dateitypen ein, welche<br />

Informationen Unity<br />

sich merken soll und<br />

welche es besser<br />

vergisst.<br />

Apropos Systemeinstellungen:<br />

Die wurden<br />

für Ubuntu 12.04<br />

nicht nur optisch überarbeitet,<br />

sondern auch<br />

durch neue und geänderte<br />

Einträge ergänzt.<br />

So passen Sie unter<br />

Darstellung ein paar<br />

wenige Unity-Parameter<br />

an und treffen auf<br />

geänderte Ubuntu-<br />

One-Optionen sowie<br />

auf eine Möglichkeit,<br />

einen ganzen Zoo von Ubuntu-<br />

Rechnern über das Verwaltungstool<br />

Landscape zu konfigurieren<br />

(Verwaltungsdienst). Wollen Sie<br />

weitgehender an Unity herumschrauben,<br />

helfen Werkzeuge wie<br />

die CompizConfig-Einstellungsverwaltung<br />

und MyUnity [1].<br />

Neue (alte) Software<br />

Bei den Standardprogrammen<br />

gibt es wieder einmal Veränderungen:<br />

Rhythmbox hat sich seinen<br />

Platz zurückerobert und löst<br />

damit nicht nur den Audio-Player<br />

Banshee ab, sondern bringt zugleich<br />

den Ubuntu One Music<br />

Store mit. Da der Schritt bei einigen<br />

Banshee-Entwicklern auf Unverständnis<br />

stieß, wollen die Entwickler<br />

auf dem nächsten Ubuntu<br />

Developer Summit (UDS) diskutieren,<br />

wie sie künftig solche Entscheidungen<br />

fällen – schließlich<br />

möchte man die Upstream-Entwickler<br />

nicht jedes Mal vor den<br />

Kopf stoßen.<br />

Firefox und Thunderbird liegen<br />

in Version 11 vor und scheinen –<br />

nach anfänglichen Problemen –<br />

A Neu und noch exper<strong>im</strong>entell:<br />

Über das<br />

HUD finden Sie innerhalb<br />

von Anwendungen<br />

schnell Funktionen.<br />

B Diese Übersicht mit<br />

nützlichen Tastenkombinationen<br />

erscheint,<br />

wenn Sie länger auf<br />

[Windows] drücken.<br />

www.linux-user.de<br />

06 | 12 11


heft-dvd<br />

Ubuntu 12.04 LTS<br />

C Ein neuer Filter<br />

erkennt die Filme und<br />

Videos auf der Festplatte.<br />

Zudem greifen<br />

Sie hier auch auf externe<br />

Videoquellen aus<br />

dem Internet zu, etwa<br />

auf YouTube und die<br />

3Sat-Mediathek.<br />

D Wollen Sie den<br />

virtuellen Desktop verlassen,<br />

zeigt Ihnen dieses<br />

Fenster, auf welcher<br />

Arbeitsfläche Sie<br />

sich gerade befinden.<br />

seit der Beta 2 stabil zu funktionieren.<br />

Das globale Menü von<br />

Thunderbird verschwindet auf<br />

kleinen Displays allerdings noch<br />

<strong>im</strong>mer hinter den Indikatoren.<br />

Positives gibt es bei den Mult<strong>im</strong>edia-Anwendungen<br />

zu melden.<br />

So funktionieren Tools wie Arista<br />

Transcoder (Abbildung E) offenbar<br />

besser, was zum Beispiel das<br />

Rippen von DVDs ermöglicht.<br />

Wer einen Personal Video Recorder<br />

sucht, kann jetzt guten<br />

Gewissens die Kombination aus<br />

XBMC „Eden“ und Tvheadend aus<br />

einem PPA installieren [2]. XBMC<br />

mit Live-TV-Support läuft inzwischen<br />

deutlich stabiler als noch<br />

unter Ubuntu 11.10, es kommt<br />

nur noch sehr selten zu Abstürzen.<br />

Auch am Software-Center<br />

haben die Entwickler gearbeitet:<br />

Zu jeder Applikation liefert es<br />

jetzt eine Reihe von Empfehlungen,<br />

auch wenn die Auswahl noch<br />

willkürlich erscheint. Für neu installierte<br />

Software ergänzt das<br />

Software-Center seit Neuestem<br />

automatisch die richtigen Sprachpakete.<br />

LibreOffice ist nicht nur<br />

mit einer neuen Version 3.5 an<br />

Bord, es speichert auch die lokale<br />

Konfiguration inklusive Backups<br />

neuerdings unter ~/.config/libreoffice.<br />

Das Anlegen von Sicherheitskopien<br />

müssen Sie weiterhin<br />

explizit aktivieren, über Extras |<br />

Optionen | Allgemein dürfen Sie<br />

zudem exper<strong>im</strong>entelle (instabile)<br />

Funktionen freischalten.<br />

Unter der Haube<br />

Von den Änderungen unter der<br />

Oberfläche bekommen Sie als<br />

normaler Anwender<br />

wenig mit. Zu den auffälligsten<br />

Dingen gehört<br />

noch, dass „Precise“<br />

Clickpads unterstützt,<br />

also die berührungsempfindlichen<br />

Bedienflächen auf<br />

Notebooks.<br />

Auch <strong>im</strong> Kernel, der<br />

nun in der Version 3.2<br />

vorliegt, gibt es spürbare<br />

Änderungen: So<br />

entdeckt Ubuntu<br />

eingestöpselte<br />

Kopfhörer besser.<br />

Dieser Patch<br />

(„jack detection“)<br />

war eigentlich für<br />

den Kernel 3.3<br />

vorgesehen, wurde<br />

aber zurückportiert.<br />

Weitere<br />

Neuerungen <strong>im</strong><br />

Betriebssystem-<br />

Kern: Ubuntu<br />

nutzt jetzt denselben<br />

Kernel für<br />

die Server- und<br />

die Desktop-Variante,<br />

um den<br />

Pflegeaufwand zu<br />

min<strong>im</strong>ieren. Zudem<br />

unterstützen<br />

die Kernel-Entwickler<br />

nach längerer Diskussion<br />

weiterhin den Non-PAE-Kernel,<br />

der vorzugsweise bei sehr alten<br />

Rechnern zum Einsatz kommt.<br />

Vor allem Distributionen wie<br />

Lubuntu zielen auf solche Rechner<br />

ab, die durchaus eine Daseinsberechtigung<br />

haben – zum Beispiel<br />

als Thin Clients.<br />

Geht auf dem Rechner etwas<br />

schief, meldet sich gewöhnlich<br />

Apport und will Informationen<br />

über den Bug an die Entwickler<br />

schicken. Praktischerweise checkt<br />

das Tool jetzt selbstständig, ob<br />

der Fehler bereits bekannt ist,<br />

und weist gegebenenfalls darauf<br />

hin. Eine weitere Änderung<br />

kommt von Debian und betrifft<br />

die Rechteverwaltung: Administratoren<br />

zählen nun zur Gruppe<br />

sudo, nicht mehr wie bisher zu<br />

admin. Aus Kompatibilitätsgründen<br />

behalten aber existierende<br />

Admins der Gruppe admin ihre<br />

gewohnten Möglichkeiten.<br />

Auch <strong>im</strong> Bereich der Namensauflösung<br />

(DNS) gibt es Veränderungen.<br />

Mit dnsmasq löst nun ein<br />

neues Werkzeug die Namen von<br />

IP-Adressen auf. Der Network-<br />

Manager verwaltet das Tool über<br />

die Localhost-Schnittstelle<br />

(127.0.0.1); es soll IP-Adressen<br />

schneller auflösen und kommt<br />

12 06 | 12<br />

www.linux-user.de


Ubuntu 12.04 LTS<br />

heft-dvd<br />

besser mit Split-DNS-Szenarios<br />

von VPN-Nutzern zurecht. Auch<br />

eine zweite Änderung ist dem<br />

NetworkManager geschuldet: Die<br />

Datei /etc/resolv.conf lässt sich<br />

nicht mehr manuell ändern – die<br />

Einträge <strong>im</strong> Network-Manager<br />

überschreiben solche Eingriffe.<br />

Stattdessen gehören DNS- Einträge<br />

für statische IP-Adressen<br />

(dns‐nameservers, dns‐search und<br />

dns‐domain) in die passende<br />

interface-Datei unter /etc/network/<br />

interfaces. Wollen Sie dagegen die<br />

resolvconf mit eigenen Werten<br />

überschreiben, dann gehören<br />

diese in das Verzeichnis /etc/<br />

resolvconf/resolv.conf.d/ [3].<br />

Upstart<br />

Be<strong>im</strong> Startvorgang hält Ubuntu<br />

nicht nur weiterhin an Upstart<br />

fest, sondern setzt sogar auf die<br />

neue Version 1.4. Die führt setuid<br />

und setgid ein, um Jobs <strong>im</strong> Rechtekontext<br />

best<strong>im</strong>mter User zu<br />

starten. Sie finden zudem für jeden<br />

Job Log-Dateien unter /var/<br />

log/upstart/Job‐Name.log. Nicht zuletzt<br />

entfällt die Brücke zwischen<br />

Upstart und Udev, um Probleme<br />

mit defekten und unbekannten<br />

Geräten zu verhindern, die be<strong>im</strong><br />

Anschließen lediglich Datenmüll<br />

übermitteln. Da seit Ubuntu<br />

10.04 der Energieverbrauch<br />

zunehmend aus dem Ruder lief,<br />

legten die Entwickler auch hier<br />

nach: Sie erweiterten unter anderem<br />

die pm-utils (Power Management<br />

Utilities) um Skripte, die <strong>im</strong><br />

Batteriemodus den Stromverbrauch<br />

von USB- und PCI-Geräten<br />

drosseln. Zudem wurden einzelne<br />

Anwendungen repariert,<br />

damit sie den Kernel bei Untätigkeit<br />

nicht länger unnötig wecken.<br />

Profi-Tools<br />

Im Serverbereich versucht das<br />

Ubuntu-Projekt weiter Fuß zu<br />

fassen. Mit MaaS („Metal as a<br />

Service“) prägte Mark Shuttleworth<br />

in seinem Blog nicht nur<br />

ein neues Buzzword, so heißt<br />

auch ganz konkret ein installierbares<br />

Softwarepaket (maas). Es<br />

soll Administratoren<br />

dabei helfen,<br />

Ubuntu über<br />

PXE, DHCP und<br />

Cobbler auf viele<br />

Rechner in einem<br />

Netzwerk zu verteilen,<br />

um diese<br />

dann zentral über<br />

ein Webinterface<br />

zu verwalten [4].<br />

Das Ganze klingt<br />

weder neu noch<br />

originell, dürfte<br />

sich für Admins aber als effizient<br />

erweisen und setzt unter anderem<br />

auf die Service-Orchestration-Lösung<br />

Juju.<br />

Netzwerkbetreuer dürften sich<br />

auch für die Zentyal-<strong>Pakete</strong> in<br />

den Ubuntu-Repositories interessieren:<br />

Diese erlauben es, verschiedene<br />

Netzwerk- und Serverdienste<br />

(DHCP, DNS, LDAP usw.)<br />

über ein übersichtliches Webinterface<br />

zu verwalten. Die Cloud-<br />

Computing-Architektur Open-<br />

Stack ist ebenso in der neuesten<br />

Variante an Bord wie die Virtualisierungslösung<br />

KVM. Auch das<br />

Thema High Performance Computing<br />

kommt voran: Im Universe-Repository<br />

gibt es nun Version<br />

1.5 von OpenMPI für die<br />

ARM-Architektur.<br />

Diese Architektur unterstützt<br />

das „akkurate Schuppentier“<br />

noch besser: Die ARMv7-Images<br />

beherrschen nun hardfloat, nutzen<br />

also die Fließkomma-Einheiten<br />

(FPU) der ARM-Prozessoren.<br />

Das soll die Performance der<br />

damit kompilierten Anwendungen<br />

um 5 bis 40 Prozent steigern.<br />

Images für OMAP3, OMAP4,<br />

AC100 sowie Freescale i.MX5x<br />

stehen zum Download bereit,<br />

unterstützt wird unter anderem<br />

das Panda Board ES.<br />

Fazit<br />

Im Lichte der Neuerungen kann<br />

man ein Upgrade von Ubuntu<br />

11.10 auf 12.04 ohne Weiteres<br />

empfehlen. Wem Unity nicht<br />

passt, schaut sich den LXDE-<br />

Desktop an (lubuntu-desktop).<br />

Im Profibereich setzt Canonical<br />

klar auf die Cloud und das automatisierte<br />

Ausliefern von Diensten<br />

und Images. Das Design und<br />

Marketing von Ubuntu hat Canonical<br />

inzwischen gut <strong>im</strong> <strong>Griff</strong>. Das<br />

Buffet ist eröffnet, nun bleibt abzuwarten,<br />

ob die Anwender – vor<br />

allem zahlende Kunden – tatsächlich<br />

in Scharen kommen, damit<br />

Mark Shuttleworth sein ehrgeiziges<br />

Ziel von 200 Millionen Ubuntu-Nutzern<br />

bis 2015 erreicht.<br />

Einen dicken Strich durch die<br />

Rechnung könnte allerdings Unity<br />

machen: Zwar testet Ubuntu<br />

hier Innovationen, die den Zeichen<br />

der Zeit folgen (Android,<br />

Windows 8) und hält zusätzlich<br />

Desktop-Alternativen in der Hinterhand,<br />

dennoch stellt dieser<br />

Schritt eine riskante Strategie<br />

dar. Da sich nicht wenige traditionelle<br />

Ubuntu-Nutzer nach Alternativen<br />

umsehen, muss die Distribution<br />

zwangsläufig neue Nutzergruppen<br />

gewinnen. Die passenden<br />

Pläne dafür hat das Unternehmen<br />

mit Ubuntu TV und<br />

Ubuntu for Android bereits in der<br />

Tasche. (kki/​jlu) n<br />

info<br />

[1] MyUnity: Florian Effenberger, „P<strong>im</strong>p my<br />

Unity“, LU 06/​2012, S. 56,<br />

http:// www. linux‐community. de/ 25450<br />

[2] PPA für XBMC Eden und TVheadend:<br />

https:// launchpad. net/ ~alexandr‐surkov/​<br />

+archive/ xbmc‐pvr<br />

[3] DNS-Änderungen: http:// www. stgraber. org/​<br />

2012/ 02/ 24/ dns‐in‐ubuntu‐12‐04/<br />

[4] Metal as a Service: https:// wiki. ubuntu.​<br />

com/ ServerTeam/ MAAS<br />

E Einige Mult<strong>im</strong>ediaprogramme,<br />

darunter<br />

der Arista-Transcoder,<br />

scheinen in der 12.04<br />

wieder besser zu funktionieren.<br />

Glossar<br />

PAE: Physical Adress Extension.<br />

Diese Erweiterung<br />

der Paging-Einheit<br />

erlaubt es, auf 32-Bit-<br />

CPUs ab dem Intel Pentium<br />

Pro/AMD Athlon<br />

mehr als 4 GByte (2 32<br />

Byte) physischen Arbeitsspeicher<br />

anzusprechen.<br />

www.linux-user.de<br />

06 | 12 13


aktuelles<br />

Angetestet<br />

JJJJI<br />

Mit Bitflu setzen Sie<br />

ohne großen Aufwand<br />

einen dedizierten Download-Server<br />

für das lokale<br />

Netz auf. Aufgrund<br />

der fehlenden Authentifizierungsfunktion<br />

kann<br />

allerdings jeder Anwender<br />

auf jeden Download<br />

zugreifen.<br />

Torrent-Download-Dienst Bitflu für He<strong>im</strong>netzwerke<br />

Wenn von einem BitTorrent-<br />

Client die Rede ist, denken die<br />

meis ten Anwender an eine grafische<br />

Anwendung oder zumindest<br />

an einen Konsolen-Client.<br />

Das in Perl programmierte Bitflu<br />

schlägt hier etwas aus der Art: Es<br />

<strong>im</strong>plementiert einen Server, der<br />

erlaubt, über eine Telnet-Konsole<br />

oder eine Web-Oberfläche Downloads<br />

anzustoßen und zu verwalten.<br />

Damit eignet sich Bitflu besonders,<br />

um einen dedizierten<br />

Download-Rechner in einem<br />

He<strong>im</strong>netzwerk einzurichten. Da<br />

das Tool von Haus aus weder Verschlüsselung<br />

noch Authen ti fizierung<br />

unterstützt, empfiehlt<br />

sich der Einsatz <strong>im</strong> Internet nicht.<br />

Nach dem Entpacken des Archivs<br />

rufen Sie Bitflu ohne aufwendige<br />

Installation direkt auf. Zum Betrieb<br />

braucht es lediglich die Perl-<br />

Module Danga::Socket und<br />

Digest::SHA sowie eine Firewall-<br />

Freigabe für den BitTorrent-Port<br />

6688 auf TCP und UDP. Bitflu<br />

selbst erwartet nach dem<br />

Start die Benutzerbefehle<br />

via Telnet am Port 4001 der<br />

lokalen Netzwerkschnittstelle.<br />

Auf diesem Weg lassen<br />

Sie sich den Status der<br />

aktuellen Übertragungen<br />

anzeigen, ändern <strong>im</strong> laufenden<br />

Betrieb die Konfiguration<br />

oder greifen auf ausgewählte<br />

Betriebssystembefehle wie<br />

Netstat oder Dig zu. Zur Konfiguration<br />

von Bitflu dient die Datei<br />

~/.bitful.config. Hier legen Sie alternative<br />

Netzwerkschnittstellen<br />

und Ports fest, aktivieren IPv6,<br />

passen die Struktur der Unterverzeichnisse<br />

an oder reglementieren<br />

die Übertragungsgeschwindigkeit.<br />

Über die Parameter maxpeers,<br />

total peers und trackerblacklist<br />

steuern Sie den Torrent-Verkehr.<br />

Eine Reihe von Plugins erweitert<br />

das Funktionsportfolio von Bitflu.<br />

Dazu zählen beispielsweise<br />

die VFS-Unterstützung sowie die<br />

Web-Oberfläche.<br />

Bitflu 1.42<br />

Lizenz: Artistic License 2.0<br />

Quelle: http:// bitflu. workaround. ch/​<br />

index. html<br />

JJJJJ<br />

Das grafische Tool<br />

Wireshark bietet einen<br />

relativ einfachen Einstieg<br />

ins Paket-Sniffing.<br />

Erfahrene Anwender wissen<br />

insbesondere die<br />

ausgefeilten Analysefunktionen<br />

des Tools zu<br />

schätzen.<br />

Mit Wireshark wissen, was <strong>im</strong> Netz los ist<br />

Spätestens wenn der Datendurchsatz<br />

in den Keller geht und die<br />

Verbindung <strong>im</strong>mer wieder abbricht,<br />

will man wissen, was <strong>im</strong><br />

Netzwerk genau vor sich geht. Mit<br />

Wireshark schneiden Sie den Datenverkehr<br />

zur Analyse mit und<br />

werten ihn wahlweise <strong>im</strong> laufenden<br />

Betrieb oder später in aller<br />

Ruhe aus. Für das Capturing<br />

greift Wireshark auf die Pcap-<br />

Bibliotheken zurück, welche die<br />

Netzwerkschnittstelle in den Promiscuous<br />

Mode versetzen. Neben<br />

dem grafischen Tool Wireshark<br />

enthält das Quellarchiv mit<br />

Tshark auch ein Programm für<br />

den Einsatz auf der Konsole. Die<br />

Tools Mergecap, Text2cap, Capinfo<br />

und Rawshark zum Filtern<br />

von rohen Paketdaten runden das<br />

Sort<strong>im</strong>ent ab. Dabei eignet sich<br />

das grafische Wireshark am besten<br />

zum raschen Auswerten der<br />

erfassten Daten. Neben verschiedenen<br />

Symbolleisten, die Filteroder<br />

Statusinformationen<br />

enthalten, gliedert sich die<br />

Oberfläche in die drei Bereiche<br />

Paketliste, Paketdetails<br />

und Paket-Bytes<br />

(Paket inhalt in Rohform).<br />

Der Bereich Paketliste führt<br />

alle mitgeschnittenen Verbindungen<br />

fortlaufend<br />

nummeriert tabellarisch<br />

auf. Neben einem Zeitstempel<br />

enthalten die Einträge<br />

die IP-Adressen von Sender<br />

und Empfänger, das verwendete<br />

Übertragungsprotokoll,<br />

die Paketgröße sowie ein<br />

Feld mit Zusatzinformationen.<br />

Ans Eingemachte geht es den<br />

<strong>Pakete</strong>n <strong>im</strong> Bereich Paketdetails:<br />

Hier finden Sie neben detaillierten<br />

Informationen zu gesetzten Paket-<br />

Flags auch die MAC-Adressen von<br />

Sender und Empfänger. Wireshark<br />

ordnet die Informationen nach<br />

Übertragungsprotokoll, sodass Sie<br />

sofort die Daten des Ethernet-, IPoder<br />

TCP-Frames finden. Ist ein<br />

Application-Level-Protokoll wie<br />

MySQL oder HTTP mit <strong>im</strong> Spiel,<br />

wertet Wireshark dessen Informationen<br />

ebenfalls aus. Neben der<br />

Anzeige von Paketinformationen<br />

glänzt Wireshark durch seine Auswertungsfunktionen<br />

wie beispielsweise<br />

TCP-Stream-Verfolgung.<br />

Das Programm zeigt dabei den<br />

Inhalt von Transaktionen, die sich<br />

über mehrere Datenpakete erstrecken,<br />

zusammengefasst an.<br />

Wireshark 1.6.7<br />

Lizenz: GPLv2<br />

Quelle: http:// www. wireshark. org/<br />

14 06 | 12<br />

www.linux-user.de


Angetestet<br />

aktuelles<br />

Bilder einfach vergleichen mit Diff<strong>im</strong>g<br />

Diff<strong>im</strong>g 1.3.0<br />

Lizenz: GPLv2<br />

Quelle: http:// thehive. xbee. net/ index.​<br />

php? module=pages& func=display&​<br />

pageid=11<br />

Für den Vergleich von Textdateien<br />

greifen versierte Anwender auf<br />

das bewährte Tool Diff zurück.<br />

Für den Vergleich von Bildinhalten<br />

bietet Diff<strong>im</strong>g eine bessere<br />

Alternative. Es eignet sich besonders<br />

dazu, verschiedene Kompressionsstufen<br />

eines Bildformats zu<br />

vergleichen oder die Raytracing-<br />

Parameter eines Bildes zu opt<strong>im</strong>ieren.<br />

Das Programm bietet eine<br />

übersichtliche grafische Oberfläche,<br />

in der Sie bequem BMP-,<br />

PNG- oder JPEG-Bilder vergleichen.<br />

Die Bilder lassen sich dabei<br />

wahlweise einzeln betrachten oder<br />

in der Doppelpanel-Ansicht gegenüberstellen.<br />

Je nach Einstellung<br />

zeigt Diff<strong>im</strong>g die Bilder in voller<br />

Auflösung oder passt sie der Fenstergröße<br />

an. Der Vergleich des<br />

Bild inhaltes erfolgt auf RGB-Basis,<br />

wobei intern das Format QImage<br />

zum Einsatz kommt. Unterschiede<br />

<strong>im</strong> Alpha-Kanal oder bei Texturen<br />

berücksichtigt Diff<strong>im</strong>g dabei jedoch<br />

nicht. Auf Wunsch zeigt das<br />

Tool nur die Pixel an, in denen<br />

sich der Inhalt der verglichenen<br />

Bilder unterscheidet. Der Statistikbereich<br />

am rechten Fensterrand<br />

liefert außerdem Bildinformationen<br />

wie Größe oder die durchschnittliche<br />

Fehleranzahl. Eine<br />

Farbskala <strong>im</strong> unteren Bereich gibt<br />

Aufschluss, wie Diff<strong>im</strong>g die Bildunterschiede<br />

farblich einstuft und<br />

darstellt. Zum Vergleich großer<br />

Bildmengen steht außerdem eine<br />

Slide-Compare-Funktion bereit.<br />

Dabei vergleicht Diff<strong>im</strong>g die Bilder<br />

aus zwei unterschiedlichen Verzeichnissen,<br />

wozu<br />

deren Reihenfolge<br />

in beiden Verzeichnissen<br />

identisch<br />

sein muss.<br />

Sie blättern dann<br />

mit den Navigationselementen<br />

der<br />

Symbolleiste einfach<br />

schrittweise<br />

durch die Vergleichsbilder.<br />

JJJII<br />

Mit seiner übersichtlichen<br />

grafischen Oberfläche<br />

erleichtert Diff<strong>im</strong>g<br />

den schnellen Vergleich<br />

von Bilddateien.<br />

Gxmessage peppt Skripte mit GUI-Fenstern auf<br />

Wer intensiv mit Linux arbeitet, spielsweise als Variable. Alternativ<br />

kommt um das Automatisieren<br />

liest das Tool die Ausgabe aus<br />

von Abläufen per Shell-Skript einer Datei ein. Standardmäßig<br />

nicht herum. Erscheint dabei die versieht Gxmessage die Fenster<br />

Konsolenausgabe in der GUI nicht lediglich mit einem OK-Button.<br />

attraktiv genug, lässt sie sich mit Der Parameter ‐buttons ermöglicht<br />

Gxmessage bequem aufpeppen.<br />

jedoch die Angabe einer<br />

Das Tool erinnert ein wenig an Schalterliste. Diese enthält den<br />

das bekannte Xmessage, setzt jedoch<br />

Namen jedes Buttons sowie den<br />

die GTK-Bibliotheken voraus entsprechenden Rückgabewert. In<br />

und erzeugt attraktivere Fenster. einem Skript lässt sich über diese<br />

Einige der Xmessage-Optionen Rückgabewerte der weitere Ablauf<br />

übernahmen die Entwickler und steuern. Zusätzliche Parameter<br />

fügten weitere, nützliche Funktionen<br />

ermöglichen, das Erscheinungsbild<br />

hinzu. Den auszugebenden und das Verhalten eines<br />

Text geben Sie Gxmessage be<strong>im</strong> Gxmessage- Fenster anzupassen.<br />

Aufruf mit, in einem Skript bei-<br />

So erscheint das Fenster auf<br />

Gxmessage 2.20<br />

Wunsch ohne Rahmen, <strong>im</strong> Zentrum<br />

des Bildschirms, in Mausnähe<br />

Lizenz: GPLv3<br />

platziert oder auf einer festen<br />

Quelle: http:// homepages. ihug. co. nz/​ Position. Daneben lassen sich auch<br />

000_LU1106_F-Weber_neu1.qxd ~trmusson/ programs. html# 18.09.2006 gxmessage Schrift- 19:00 und Uhr Hintergrundfarbe Seite 1 sowie<br />

die Schriftart anpassen. Um<br />

ein best<strong>im</strong>mtes Erscheinungsbild<br />

der Gxmessage-Fenster festzunageln,<br />

legen Sie die entsprechenden<br />

Einstellungen in der Konfigurationsdatei<br />

~/.gtkrc‐2.0 dauerhaft<br />

fest. Eine entsprechende Beispielkonfiguration<br />

findet sich in der<br />

Manpage zu Gxmessage. (jlu) n<br />

JJJII<br />

Mit Gxmessage bringen<br />

Sie die Ausgabe eigener<br />

Skripte stilvoll in einem<br />

Fenster unter. Das Tool<br />

erfordert nur wenige Parameter<br />

und lässt sich<br />

schnell integrieren.<br />

X23


Aktuelles<br />

Neues rund um Linux<br />

Der neue XFCE-App-Finder in der<br />

erweiterten Ansichtsoption.<br />

XFCE 4.10: Schlanker Desktop rundum aufpoliert<br />

Mit der neuen stabilen Version<br />

4.10 des freien XFCE-Desktops<br />

stellen die Entwickler nach fast<br />

eineinhalb<br />

Jahren Arbeit<br />

den<br />

Nachfolger<br />

von XFCE<br />

4.8 vor.<br />

Die Oberfläche<br />

orientiert<br />

sich<br />

weiter am<br />

klassischen<br />

Desktop-<br />

Konzept,<br />

umfasst aber eine ganze Reihe<br />

von technischen und optischen<br />

Verbesserungen (http:// xfce.​<br />

org/ download/ changelogs/ 4.​<br />

10). So kombiniert ein komplett<br />

neu geschriebener Application-Finder<br />

das Beste aus<br />

den Welten des bisherigen<br />

Xfce4-appfinder und Xfrun4.<br />

Zudem hat das Panel die neue<br />

Ansichtsoption Deskbar erhalten,<br />

die für eine vertikale Ausrichtung<br />

sorgt. In Kombination<br />

mit der nun möglichen<br />

Anordnung von Plugins in Reihen<br />

soll dieser Ansichtsmodus<br />

die Übersichtlichkeit verbessern.<br />

Anwendungen starten Sie<br />

jetzt mit einem einzelnen<br />

Mausklick, dasselbe gilt auch<br />

für das Öffnen von Dateien.<br />

Mittels des neuen M<strong>im</strong>e-Type-<br />

Editors ordnen Sie Dateitypen<br />

unkompliziert den von Ihnen<br />

dafür favorisierten Anwendungen<br />

zu. Der Window-Manager<br />

Xfwm4 lässt sich nun so<br />

konfigurieren, dass er be<strong>im</strong><br />

Ziehen von Anwendungsfenstern<br />

in die Bildschirmecken<br />

diese kachelartig anordnet. Um<br />

die Beteiligungsmöglichkeiten<br />

für Anwender zu erleichtern,<br />

verlagerten die Entwickler die<br />

XFCE-Dokumentation komplett<br />

aus den Programmpaketen<br />

in ein Wiki unter http://​<br />

docs. xfce. org. (uba/​jlu)<br />

kurz notiert<br />

Der Spielehersteller Valve<br />

portiert derzeit den Steam-<br />

Client, die Source Engine und<br />

das Ballerspiel Left 4 Dead 2<br />

auf Linux (http:// tinyurl. com/​<br />

lu0612- valve). Valve will später<br />

weitere Spiele für Linux<br />

herausbringen und zudem andere<br />

Entwickler anhalten, ihre<br />

Spiele auf Linux zu portieren.<br />

Linux 3.2 wird zu einer der von<br />

den Entwicklern längerfristig<br />

gepflegten Version (https://​<br />

lkml. org/ lkml/ 2012/ 4/ 22/​<br />

123). Diese Version bildet die<br />

Basis für Ubuntu 12.04 und<br />

auch für das kommende<br />

Debian 7 „Wheezy“.<br />

Die Wahlberechtigten des<br />

Projektes haben den Italiener<br />

Stefano Zacchiroli für eine<br />

dritte Amtszeit zum Debian-<br />

Projektleiter gewählt (http://​<br />

www. debian. org/ vote/ 2012/​<br />

vote_001). Dabei ließ Zacchiroli<br />

die Mitbewerber Wouter<br />

Verhelst und Gergely Nagy<br />

sehr deutlich hinter sich.<br />

Das von Canonical abgeschobene<br />

Kubuntu hat mit Blue<br />

Systems (http:// blue‐systems.​<br />

com) einen neuen Sponsor<br />

gefunden. Chefentwickler Jonathan<br />

Riddell und sein Kollege<br />

Aurélien Gâteau verlassen<br />

Canonical und arbeiten<br />

bei der deutschen Firma weiter<br />

Vollzeit an Kubuntu.<br />

Siduction: Distributionsbau live per Beamer verfolgen<br />

Eine einmalige Möglichkeit<br />

zum Einblick in die Arbeit an<br />

einer Linux-Distribution bietet<br />

das Siduction-Projekt am Freitagabend,<br />

25. Mai, auf dem<br />

LinuxTag 2012 in Berlin: Während<br />

einer kleinen Party bauen<br />

die Entwickler rund um Ferdinand<br />

Thommes live das neueste<br />

Release der auf Debian<br />

„Sid“ basierenden Distribution<br />

Die Technology Academy Finland<br />

hat Linus Torvalds mit<br />

Linus Torvalds wurde mit dem<br />

Technik-Pendant zum Nobelpreis<br />

ausgezeichnet (Bild: Millennium<br />

Technology Prize)<br />

mit dem innovativen Desktop<br />

Razor-Qt. Die Besucher können<br />

den Entstehungsprozess<br />

per Beamer<br />

verfolgen.<br />

Die noch<br />

sehr junge<br />

Desktop-Umgebung Razor-Qt<br />

basiert auf dem Qt4-Framework<br />

und begnügt sich ähnlich<br />

wie XFCE mit sehr wenig Speicher<br />

und Rechenleistung. Das<br />

Siduction-Team will mit dem<br />

Live-Release den Desktop bekannter<br />

machen<br />

und<br />

fördern, um<br />

ihn dann<br />

schnell neben KDE SC, XFCE<br />

und LXDE als vollwertiges Release<br />

in die offizielle Distribution<br />

aufzunehmen. (jlu)<br />

Linus Torvalds mit dem Millennium Technology Prize ausgezeichnet<br />

dem Millennium Technology<br />

Prize ausgezeichnet, der als<br />

technisches Pendant zum<br />

grundlagenwissenschaftlich<br />

orientierten Nobelpreis gilt.<br />

Die mit 1,1 Millionen Euro dotierte<br />

Auszeichnung wird seit<br />

2004 alle zwei Jahre für „eine<br />

die Lebensqualität und das<br />

Wohl der Menschen erheblich<br />

verbessernde technologische<br />

Innovation“ verliehen. Zu den<br />

bisherigen Preisträgern zählt<br />

unter anderem auch T<strong>im</strong> Berners-Lee,<br />

der Erfinder des<br />

World Wide Web.<br />

Linus Torvalds Betriebssystemkern,<br />

der „zu dem weit<br />

verbreiteten Linux-Betriebssystem<br />

weiterentwickelt<br />

wurde“, habe eine Kettenreaktion<br />

ausgelöst, in deren Verlauf<br />

ein Arbeitsaufwand von<br />

etwa 73 000 Mannjahren geleistet<br />

worden sei, begründete<br />

das Preiskomitee die Verleihung<br />

(http:// www. technology<br />

academy. fi/ blog/ 2012/ 04/ 19/​<br />

laureates/). Des Weiteren hätten<br />

die Leistungen von Linus<br />

Torvalds großen Einfluss auf<br />

die verteilte Software-Entwicklung,<br />

auf Netzwerktechnologien<br />

und insbesondere die<br />

Offenheit des Webs ausgeübt,<br />

das erst Linux für Millionen,<br />

wenn nicht gar Milliarden<br />

Menschen geöffnet habe. (jlu)<br />

16<br />

06 | 12<br />

Das Neueste rund um Linux, aktuelle Kurztests und Artikel aus<br />

<strong>LinuxUser</strong> finden Sie täglich auf www.linux-community.de


Neues rund um Linux<br />

aktuelles<br />

KDE-Bürosuite Calligra in stabiler Version 2.4 erschienen<br />

Die freie Bürosuite Calligra (ex:<br />

KOffice) für den KDE-Desktop<br />

gibt es jetzt mit der neuen Version<br />

2.4 erstmals als stabiles<br />

Release. Die Suite besteht aus<br />

der Textverarbeitung Calligra<br />

Words, der Tabellenkalkulation<br />

Sheets und dem Präsentationsprogramm<br />

Stage, für Diagramme<br />

ist die Komponente<br />

Flow zuständig. Krita und Karbon<br />

heißen die Anwendungen<br />

für Bitmap- und Vektorgrafiken.<br />

Kexi ist ein GUI-Programm<br />

für die Arbeit mit Datenbanken,<br />

und Calligra Plan dient<br />

zum Projektmanagement. Neu<br />

ist unter anderem Braindump,<br />

ein Programm für Notizen.<br />

Die Software verwendet das<br />

Open Document Format<br />

(ODF) als Standard-Dateiformat.<br />

Für Version 2.4 haben die<br />

Entwickler die Engine für das<br />

Textlayout komplett neu <strong>im</strong>plementiert,<br />

um fortgeschrittene<br />

Features von ODF abzubilden.<br />

Daneben erhielt die Benutzeroberfläche<br />

eine Überarbeitung,<br />

die Importfilter für<br />

Microsofts Office-Format wurden<br />

verbessert. Der Quelltext<br />

sowie Binaries für verschiedene<br />

Linux-Distributionen und<br />

Windows stehen – bereits in<br />

einem Bugfix-Release<br />

2.4.1 – auf<br />

der Projekt-Website<br />

http:// www.​<br />

calligra. org zum<br />

Download bereit.<br />

Für die Mac-Ausgabe<br />

sucht das<br />

Projekt noch<br />

Helfer. (mhu)<br />

Zur Calligra-Suite zählt auch das<br />

leistungsfähige Grafikprogramm<br />

Krita. (Bild: Calligra / David Revoy)<br />

FrOSCon 2012 sucht Vorträge rund um freie Software<br />

Die Free and Open Source Software<br />

Conference (FrOSCon)<br />

lädt am 25. August zum siebten<br />

Mal an die Hochschule Bonn-<br />

Rhein-Sieg nach Sankt Augustin<br />

ein. Für die Konferenz hat<br />

nun der Call for Papers begonnen<br />

(http:// www. froscon. de/​<br />

programm/ call‐for‐papers/).<br />

Gesucht werden Beiträge rund<br />

um freie Software und Open<br />

Source, insbesondere zu Betriebssystemen,<br />

Entwicklung,<br />

Administration, Sicherheit,<br />

rechtlichen Fragen und Bildung.<br />

Open Data, Big Data und<br />

Digital Privacy sind weitere<br />

Themen, die es in diesem Jahr<br />

mit Vorträgen und Workshops<br />

zu bestücken gilt. Noch bis 23.<br />

Mai 2012 können Interessierte<br />

Vorschläge für Vorträge oder<br />

Workshops bei der FrOSCon<br />

einreichen. (uba) n<br />

Kann eine<br />

Schulungseinrichtung<br />

für mehr als EINEN<br />

Themenbereich<br />

berühmt werden?<br />

Das Linuxhotel ist bekannt für erstklassige Open-Source-Schulungen. In den letzten Jahren kamen Java<br />

und andere Programmiersprachen hinzu - wie <strong>im</strong>mer 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 <strong>im</strong>mer 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


eport<br />

LibreOffice-Box<br />

LibreOffice-Box braucht Mitstreiter<br />

Team sucht Worker<br />

Die LibreOffice-Box fasst die freie Bürosuite samt zahlloser hilfreicher Vorlagen, nützlicher Erweiterungen<br />

und ergänzender freier Software zusammen. Wir stellen die Macher sowie die Geschichte hinter der Box vor<br />

und zeigen, wie auch Sie das Projekt tatkräftig unterstützen können. Florian Effenberger<br />

LibreOffice-Box 3.5.2<br />

LU/libreoffice_box/<br />

README<br />

Die LibreOffice-Box –<br />

die DVD-Distribution der<br />

freien Bürosuite – findet<br />

in Schulen und Unis sowie<br />

auf Messen und<br />

Fortbildungen reißenden<br />

Absatz. 2011<br />

schaffte sie es samt<br />

Dokumentation sogar in<br />

die Regale der Buchhändler,<br />

und auch international<br />

kommt die Idee<br />

gut an. Jetzt suchen die<br />

Macher nach Mitstreitern,<br />

um die Arbeit auch<br />

künftig bewältigen zu<br />

können.<br />

So mancher kennt sie noch aus<br />

OpenOffice-Zeiten als PrOOo-<br />

Box, schon damals war sie auf jeder<br />

Veranstaltung präsent: Die<br />

Rede ist von der LibreOffice-<br />

Box [1], der DVD-Distribution zur<br />

freien Bürosuite. Als sich <strong>im</strong><br />

Herbst 2010 ein großer Teil der<br />

damaligen OpenOffice.org-Community<br />

zur Document Foundation<br />

formierte, waren auch die<br />

Macher der Box mit von der Partie<br />

und gaben ihrem Projekt nicht<br />

nur einen neuen Namen, sondern<br />

auch einen frischen Anstrich <strong>im</strong><br />

charakteristischen TDF-Grün.<br />

Erich Christian (Abbildung A),<br />

seit vielen Jahren <strong>im</strong> Projekt, erinnert<br />

sich: „Schon zum Münchener<br />

Office-Kongress für Wirtschaft<br />

und Verwaltung <strong>im</strong> November<br />

2010 stellten wir auf Basis der<br />

damaligen LibreOffice-3.3-Beta<br />

die erste Box für die Teilnehmer<br />

fertig. Seitdem gibt es jedes Mal<br />

kurz nach Veröffentlichung einer<br />

neuen Programmversion auch<br />

eine aktualisierte DVD, inklusive<br />

Sonderausgaben für die wichtigsten<br />

Messen.“<br />

Sein Kollege Friedrich<br />

Strohmaier (Abbildung B),<br />

ebenfalls ein Mann der<br />

ersten Stunde, erklärt die<br />

Idee hinter der Silberscheibe:<br />

„LibreOffice ist zwar ein hervorragendes<br />

Programm, doch die<br />

Menschen wollen etwas zum Anfassen<br />

haben. Die LibreOffice-Box<br />

stellt neben dem Programm in<br />

vier Sprachen zahlreiche Extras<br />

und Erweiterungen zusammen.<br />

Obendrein macht sie mit ihrer<br />

einfachen und übersichtlichen<br />

Oberfläche die Installation zum<br />

Kinderspiel. Gerade auf den Messen<br />

ist daher die DVD ein beliebtes<br />

Objekt zum Mitnehmen bei<br />

vielen Besuchern. In jüngster Zeit<br />

greifen zudem <strong>im</strong>mer mehr Schulen,<br />

Universitäten und Organisationen<br />

auf die Box zurück, um ihre<br />

Mitarbeiter mit LibreOffice auszurüsten<br />

– Bestellungen von<br />

50 bis 100 Stück vorgebrannter<br />

Medien kommen durchaus vor.“<br />

Dabei ist die Abgabe auf Messen<br />

genauso wie der Versand durch<br />

verschiedene Anbieter [2] ein zusätzlicher<br />

Service, denn die gesamte<br />

Box gibt es auch kostenfrei<br />

zum Herunterladen und Selbstbrennen<br />

<strong>im</strong> Internet. Besonders<br />

stolz sind die Macher, dass es das<br />

18 06 | 12<br />

www.linux-user.de<br />

Paket <strong>im</strong> letzten Sommer sogar in<br />

den Buchhandel geschafft hat [3],<br />

ein kleines Handbuch inklusive<br />

(Abbildung C). Die Idee macht zudem<br />

international Schule: So arbeiten<br />

schon seit einiger Zeit<br />

Teams aus Süd- und Nordamerika<br />

daran, lokalisierte Versionen zu<br />

erstellen [4]. Für die deutschsprachige<br />

Version gibt es sogar eine<br />

Online-Ausgabe [5], die sich ideal<br />

für den direkten Zugriff auf die<br />

enthaltenen Dateien eignet.<br />

Mithelfer gesucht<br />

Doch der schnelle Release-Zyklus<br />

von LibreOffice [6] macht alle<br />

vier Wochen eine Neuauflage der<br />

Box nötig, will das Team die Inhalte<br />

aktuell halten. Das weiß<br />

auch Uwe Richter, der (etwaskamerascheue)<br />

dritte Mann <strong>im</strong><br />

Team, aus eigener Erfahrung:<br />

„Das Herstellen der DVD kostet<br />

enorm viel Zeit, die Arbeit stemmen<br />

wir <strong>im</strong> Wesentlichen leider<br />

nur zu dritt. Software will aktualisiert,<br />

Vorlagen wollen erweitert<br />

und das Gesamtergebnis getestet<br />

werden. Das hat nicht nur mir einige<br />

lange Nächte beschert<br />

– besonders kurz<br />

vor Messen wie der<br />

© Paulo José O. Amaro, LGPL3+


LibreOffice-Box<br />

report<br />

A Erich Christian kümmert<br />

sich seit Langem um die<br />

LibreOffice-Box.<br />

CeBIT, bei der wir mit einer aktuellen<br />

Ausgabe aufwarten wollen.“<br />

Besonders am Herzen liegt ihm<br />

zudem die CD-Version für Windows-Anwender,<br />

eine der wichtigsten<br />

Zielgruppen für das Projekt.<br />

„Sofern die Zeit es zulässt,<br />

versuchen wir ein bis zwei Wochen<br />

nach Veröffentlichung der<br />

DVD die entsprechende CD fertigzustellen“,<br />

fügt er hinzu. Diese Arbeitsbelastung<br />

lässt sich auf Dauer<br />

aber nicht zu dritt stemmen,<br />

weswegen das Team derzeit darüber<br />

nachdenkt, nur noch bei jeder<br />

zweiten oder dritten LibreOffice-<br />

Version eine Neuauflage der Box<br />

herauszubringen [7].<br />

Neue Mitstreiter wünscht sich<br />

auch Erich Christian: „Zwar hat<br />

die Gründung des LibreOffice-<br />

Projekts viele neue Entwickler ins<br />

Boot geholt, und LibreOffice an<br />

und für sich ist insgesamt sehr<br />

gut aufgestellt – doch gerade bei<br />

der Box würde uns der ein oder<br />

andere zusätzliche Helfer wirklich<br />

gut tun.“ Dabei sind keinesfalls<br />

nur Technik-Experten gefragt,<br />

stellt er klar, denn: „Die Arbeit an<br />

der Box spiegelt die ganze Vielfalt<br />

des LibreOffice-Projekts wider.“<br />

Jede Hilfe zählt<br />

Zu tun gibt es jede Menge, wie<br />

Friedrich Strohmaier zu berichten<br />

weiß: „Eine der regelmäßigen Aufgaben<br />

ist das Testen eines fertigen<br />

DVD-Abbilds. Bevor wir das<br />

Paket verteilen oder ins Presswerk<br />

schicken, wollen wir sicherstellen,<br />

dass auch alles funktioniert. Dazu<br />

brauchen wir Anwender, die zeitnah<br />

das aktuelle<br />

ISO-<br />

Image herunterladen,<br />

brennen, und<br />

unter Linux,<br />

Mac OS X<br />

oder Windows<br />

testen,<br />

damit wir etwaige<br />

Fehler<br />

rechtzeitig<br />

beseitigen<br />

können. Auch<br />

für Hinweise auf zusätzliche Software,<br />

gute Vorlagen, weitere Extensions<br />

oder aktuelle Versionen<br />

sind wir jederzeit dankbar, denn<br />

das große Programmangebot will<br />

gepflegt werden.“<br />

Die Oberfläche der LibreOffice-<br />

Box basiert auf HTML. Unter<br />

Windows wird sie durch den auf<br />

der DVD mitgelieferten K-Meleon-Browser<br />

dargestellt, der auch<br />

eine bequeme Installation der<br />

Software über ein Menü ermöglicht.<br />

Zum Verwalten dieser Oberfläche<br />

sowie der Projekt-Homepage<br />

dient das CMS Silverstripe,<br />

erklärt Erich Christian: „Wer uns<br />

be<strong>im</strong> Korrigieren der Texte oder<br />

be<strong>im</strong> Pflegen der Seiten unterstützen<br />

möchte, der benötigt<br />

dank des grafischen Editors keine<br />

HTML-Kenntnisse. Hauptaufgabe<br />

ist das Einpflegen neuer Programmversionen,<br />

aber auch Überarbeitungen<br />

der Oberfläche sind<br />

<strong>im</strong>mer gern gesehen.“<br />

Um das fertige Produkt möglichst<br />

bekannt zu machen, sollen<br />

in Zukunft auch eigene Flyer erstellt<br />

werden: „Zwar funktioniert<br />

das Marketing für LibreOffice<br />

schon sehr gut, aber speziell für<br />

die Box benötigen wir noch eigene<br />

Materialien, um potenziellen Anwendern<br />

die Idee dahinter näher<br />

zu bringen. Jemand, der textsicher<br />

be<strong>im</strong> Verfassen von Flyern<br />

und Pressemitteilungen ist, oder<br />

Kreative, die für die grafische Gestaltung<br />

sorgen können, sind uns<br />

<strong>im</strong>mer willkommen: Das Auge isst<br />

schließlich mit.“, fasst Uwe Richter<br />

die Situation zusammen. Ein<br />

B Friedrich Strohmaier ist<br />

seit vielen Jahren eine treibende<br />

Kraft hinter der Box.<br />

wichtiges Anliegen ist ihm auch<br />

die Bereitstellung der Box als<br />

Repository, mit dem Linux-Anwender<br />

<strong>im</strong>mer die aktuelle Version<br />

von LibreOffice installieren<br />

können, ohne auf entsprechende<br />

<strong>Pakete</strong> ihres Distributors zu<br />

warten. Eine DEB-Variante für<br />

Debian, Ubuntu und Derivate<br />

gibt es schon, doch sucht das<br />

Team für die RPM-Repositories<br />

unter OpenSuse, Fedora und Co.<br />

noch nach einem Maintainer.<br />

Aktuell in Arbeit ist zudem eine<br />

Neuauflage der beliebten Community-Broschüre,<br />

die wichtige Fachartikel<br />

und Hilfestellungen rund<br />

um LibreOffice beinhaltet [8]. Die<br />

Koordination aller Arbeiten erfolgt<br />

dabei über die Mailingliste<br />

discuss@de. libreoffice. org der<br />

deutschsprachigen LibreOffice-<br />

Community [9]. Für direkte Anfragen<br />

steht das Team auch gerne persönlich<br />

unter team@libreofficebox.<br />

or g zur Verfügung und hilft be<strong>im</strong><br />

Einstieg. Friedrich Strohmaier bemerkt<br />

zusammenfassend: „Die<br />

LibreOffice-Box hat schon vielen<br />

Anwendern den Weg zum freien<br />

Office geebnet. Damit wir nach einem<br />

fulminanten Start auch in<br />

Zukunft neue Ideen einbringen<br />

können, brauchen wir dringend<br />

Mitstreiter, die uns dabei unterstützen.“<br />

(jlu) n<br />

info<br />

[1] LibreOffice-Box: http:// de. libreofficebox. org<br />

[2] DVD-Versand: http:// de. libreofficebox. org/​<br />

download/ anbieter/<br />

[3] Ausgabe für den Buchhandel: http:// www.​<br />

opensourcepress. de/ libreoffice<br />

[4] Internationale Version:<br />

http:// www. libreofficebox. org/ projects/<br />

[5] Online-Variante:<br />

http:// dvd. de. libreofficebox. org<br />

[6] LibreOffice-Releasezyklus: http:// wiki.​<br />

documentfoundation. org/ ReleasePlan<br />

[7] LibreOfficeBox-Releaseplan:<br />

http:// wiki. documentfoundation. org/​<br />

LibreOffice‐Box_Release‐Plan/ de<br />

[8] Community-Broschüre:<br />

http:// wiki. documentfoundation. org/ DE/​<br />

Projektbroschuere<br />

[9] Deutschsprachige Mailingliste: http:// de.​<br />

libreoffice. org/ hilfe‐kontakt/ mailing‐listen/<br />

C Die LibreOffice-Box<br />

als Ausgabe für den<br />

Buchhandel (Bild:<br />

Open Source Press).<br />

Der Autor<br />

Florian Effenberger<br />

engagiert sich seit<br />

vielen Jahren ehrenamtlich<br />

für freie Software.<br />

Er ist Chairman<br />

of the Board der Document<br />

Foundation.<br />

Zuvor war er fast sieben<br />

Jahre <strong>im</strong> Projekt<br />

OpenOffice.org aktiv,<br />

zuletzt als Marketing<br />

Project Lead.<br />

www.linux-user.de<br />

06 | 12 19


schwerpunkt<br />

Debtags<br />

© Kathleen Ellis, 123RF<br />

<strong>Pakete</strong> zielgenau finden mit Debtags<br />

Dschungelführer<br />

Das Debtags-<br />

Projekt erweitert<br />

die Beschreibung<br />

von Debian-<strong>Pakete</strong>n<br />

um zusätzliche<br />

Distributionen, die auf dem Debian-Paketformat<br />

aufsetzen, stellen<br />

zur Paketverwaltung die Tools<br />

Dpkg, Apt, Aptitude oder Synaptic<br />

bereit. Damit lassen sich <strong>Pakete</strong><br />

problemlos installieren, aktualisieren<br />

und <strong>im</strong> Bedarfsfall wieder<br />

vollständig aus dem System entfernen.<br />

Durch die schiere Menge<br />

an <strong>Pakete</strong>n geht jedoch mit der<br />

Zeit der Überblick verloren, welche<br />

Software überhaupt verfügbar<br />

ist. Die Auswahl und das Entdecken<br />

neuer oder besser geeigneter<br />

Programme gerät mehr und<br />

mehr zum zufälligen Ereignis.<br />

Bislang verfügt jedes Debian-Paket<br />

nur über eine control-Datei,<br />

die das Paket über fest definierte<br />

Felder [1] genauer beschreibt (siehe<br />

Kasten Das Debian-Paketformat).<br />

Die thematische Zuordnung<br />

zu einer Software-Kategorie erfolgt<br />

dabei über das Feld section.<br />

Begriffe. Das erleichtert<br />

die Auswahl<br />

passender<br />

Software deutlich.<br />

Frank Hofmann<br />

README<br />

Das Debian-Paketsystem<br />

gilt als robust und<br />

ausgefeilt. Mit der steigenden<br />

Anzahl verfügbarer<br />

<strong>Pakete</strong> stößt deren<br />

bisher thematische<br />

Einordnung zunehmend<br />

an ihre Grenzen. Das<br />

Debtags-Projekt bietet<br />

eine alternative Klassifizierung<br />

der Software<br />

und erleichtert damit<br />

die Orientierung <strong>im</strong> Paketdschungel.<br />

Das Debian-Paketformat<br />

Zu jedem Debian-Paket gehört ein control-File, welches<br />

das Paket über fest definierte Felder genauer beschreibt<br />

[1]. Zu den Pflichtfeldern bei Binärpaketen zählen:<br />

• Package für den Paketnamen,<br />

• Version für die Paketversion (beinhaltet Software-Versionsnummer<br />

und Paketierungs-Versionsnummer),<br />

• Architecture für die Rechnerarchitektur, für die das Paket<br />

übersetzt wurde (oder all, wenn es architekturunabhängig<br />

ist, wie etwa Dokumentationspakete oder in Skriptsprachen<br />

wie Perl geschriebene Software),<br />

• Maintainer für den Namen und die E-Mail-Adresse des Paketverantwortlichen<br />

und<br />

• Description für die Beschreibung des <strong>Pakete</strong>s.<br />

Außerdem gilt die Empfehlung, be<strong>im</strong> Paketieren der Software<br />

zusätzlich die beiden Felder Section für die Software-<br />

Kategorie und Priority für die Wichtigkeit des <strong>Pakete</strong>s auszufüllen,<br />

um das Einordnen zu erleichtern.<br />

Weitere Felder enthalten den Namen des Quellpaketes<br />

(Source), die Markierung des <strong>Pakete</strong>s als unbedingt erforderlich<br />

(Essential) und die Beschreibung der Beziehungen<br />

zu anderen <strong>Pakete</strong>n. Letzteres umfasst Depends für eine Abhängigkeit,<br />

Recommends für eine Empfehlung, Suggests für<br />

einen Vorschlag, Enhances als Erweiterung, Replaces für<br />

das Ersetzen eines bisherigen <strong>Pakete</strong>s, Breaks für eine Störung,<br />

Conflicts für einen Konfliktfall, Provides für eine Bereitstellung<br />

und Pre‐Depends für eine Voraussetzung.<br />

Daneben finden sich eine Angabe zum belegten Speicherplatz<br />

nach der Installation des <strong>Pakete</strong>s (Installed‐Size)<br />

sowie zur Webseite, von der das Quellpaket stammt und<br />

auf der man weitere Informationen zum Projektstatus nachlesen<br />

kann (Homepage).<br />

Bei der control-Datei handelt es sich um eine Textdatei, in<br />

der jedes Feld mit einem Feldbezeichner beginnt, gefolgt<br />

von einem Doppelpunkt als Trennzeichen und anschließend<br />

dem Inhalt des Feldes. Wegen der unterschiedlichen Inhalte<br />

finden sich die Angaben sowohl in einzelnen Textzeilen als<br />

auch in mehreren aufeinanderfolgenden Absätzen.<br />

Das Beispiel in der Tabelle Paket-Infos (Auszug) zu Xz-utils<br />

zeigt die Informationen zum Paket xz-utils, das Werkzeuge<br />

zum Kompr<strong>im</strong>ierer Xz bereitstellt. Das Paket liegt in der<br />

Software-Version 5.0.0, Paketrevision 2 für die Plattform<br />

i386 vor. Es hängt von den beiden <strong>Pakete</strong>n libc6 und<br />

liblzma2 ab (Depends) und schlägt als Ergänzung das Paket<br />

xz-lzma vor (Suggests). Mit älteren Versionen des Pakets<br />

xz-lzma lässt es sich nicht gleichzeitig verwenden (Breaks),<br />

und be<strong>im</strong> Dist‐Upgrade gilt es darauf zu achten, dass das<br />

Paket Dateien enthält, die früher <strong>im</strong> Paket xz-lzma lagerten<br />

(Replaces): Daher muss vorab xz-lzma aktualisiert werden,<br />

bevor xz-utils auf den neuesten Stand gebracht werden<br />

kann. Xz-utils zählt zu den Werkzeugen und rangiert daher<br />

in der Kategorie utils. Da es als wesentliches Paket für<br />

das Linux-System fungiert, ist es in der Priorität auch als<br />

erforderlich gekennzeichnet (Priority: required).<br />

22 06 | 12<br />

www.linux-user.de


Debtags<br />

schwerpunkt<br />

Dieses Feld section beschreibt daneben<br />

den Bereich, zu dem das<br />

Paket gehört. Zählt es zum Bereich<br />

main (siehe Kasten Paketbereiche),<br />

enthält das Feld nur die<br />

Software-Kategorie. Für <strong>Pakete</strong><br />

aus den Bereichen contrib und<br />

non-free steht vor der Software-<br />

Kategorie durch einen Schrägstrich<br />

getrennt noch der Paketbereich:<br />

area/section. Als Software-<br />

Kategorien stehen bislang beispielsweise<br />

database, editors, kernel<br />

oder science zur Verfügung.<br />

Eine komplette Liste der genutzten<br />

Kategorien finden Sie <strong>im</strong> Debian<br />

Policy Manual [2].<br />

Für Debian stehen aktuell etwa<br />

35 000 <strong>Pakete</strong> bereit. Die Zuordnung<br />

eines <strong>Pakete</strong>s zu einer Kategorie<br />

spiegelt den hauptsächlichen<br />

Anwendungs- und Einsatzbereich<br />

der enthaltenen Software<br />

wider. Bislang ist nur ein Eintrag<br />

pro Paket zulässig. Infolgedessen<br />

fällt einerseits das Klassifikationsraster<br />

recht grob aus, und andererseits<br />

erschwert das das Einordnen<br />

von <strong>Pakete</strong>n, die sich<br />

nicht ausschließlich oder zweifelsfrei<br />

einer Kategorie zuordnen<br />

lassen. Der Maintainer eines <strong>Pakete</strong>s<br />

muss daher abwägen, welche<br />

Kategorie am besten passt.<br />

Die Grobrasterung in der Klassifikation<br />

erschwert auch die Recherche<br />

vor einer Installation.<br />

Debian-<strong>Pakete</strong> zählen zu einem der<br />

drei Bereiche main, contrib und nonfree.<br />

Für die entsprechende Zuordnung<br />

der Programme und <strong>Pakete</strong> gelten<br />

die folgenden Bedingungen:<br />

• main enthält nur freie Software.<br />

• contrib umfasst <strong>Pakete</strong>, bei denen<br />

es sich zwar um freie Software handelt,<br />

die aber von nicht freien <strong>Pakete</strong>n<br />

abhängt.<br />

• non-free n<strong>im</strong>mt alle <strong>Pakete</strong> unter<br />

nicht-freien Lizenzen auf und gilt<br />

nicht als offizieller Bestandteil von<br />

Debian.<br />

Ubuntu verwendet dagegen die Bereiche<br />

main, restricted, universe und<br />

multi verse [15]. Die Bereiche main<br />

und restricted enthalten jeweils freie<br />

und nicht-freie Software, die das<br />

Eine flinke Auswahl gelingt nur,<br />

wenn Sie vorab genau wissen,<br />

welche Software Sie einrichten<br />

möchten, Sie den Paketnamen in<br />

korrekter Schreibweise kennen<br />

und mit der Zuordnung zu den<br />

Paketkategorien vertraut sind. In<br />

der Praxis heißt das, dass Sie zumindest<br />

ungefähr wissen müssen,<br />

wo das betreffende Paket in der<br />

Hierarchie eingeordnet wurde.<br />

Das Gefühl dafür erlangen Sie<br />

meist erst <strong>im</strong> Lauf der Zeit.<br />

Paketbereiche<br />

Ubuntu-Team vollständig unterstützt.<br />

<strong>Pakete</strong> aus dem Bereich universe und<br />

multiverse entsprechen den ersten<br />

beiden Kategorien, genießen jedoch<br />

keinen Support seitens Canonical.<br />

Mandriva und dessen Community-Fork<br />

Mageia orientieren sich am Vorbild<br />

von Debian und gruppieren die <strong>Pakete</strong><br />

<strong>im</strong> Repository ebenfalls in main (Basissystem),<br />

contrib (Community-<strong>Pakete</strong>)<br />

und nonfree (proprietäre Software<br />

unter nicht-freier Lizenz).<br />

Bei anderen Distributionen gibt es oft<br />

keine solche Unterscheidung. So besteht<br />

Fedora beispielsweise nur aus<br />

freier Software und braucht daher<br />

keine Paketbereiche. Nicht-freie <strong>Pakete</strong><br />

müssen Sie in diesem Fall von<br />

weiteren, externen Paketquellen aus<br />

dem Netz beziehen.<br />

Installation und Recherche<br />

Paketmanager werten die einzelnen<br />

Felder der Paketbeschreibung<br />

zum Einrichten des Pakets aus.<br />

So wissen Apt, Aptitude und<br />

Synaptic, wo es die <strong>Pakete</strong> gibt<br />

und welche anderen <strong>Pakete</strong> es<br />

aufgrund von Abhängigkeiten<br />

nachzuziehen gilt. Sie laden das<br />

Benötigte dann zur Installation<br />

von einem Paketmirror herunter.<br />

Als Ergebnis kommt oft eine ganze<br />

Liste von <strong>Pakete</strong>n zusammen,<br />

die entfernt, aktualisiert oder installiert<br />

werden müssen. Dpkg<br />

agiert <strong>im</strong> Hintergrund und bekommt<br />

die Aufgabe übertragen,<br />

die ausgewählten <strong>Pakete</strong> zu entfernen<br />

oder einzurichten.<br />

Dabei macht das automatische<br />

Auflösen der Paketabhängigkeiten<br />

in beide Richtungen durch<br />

Apt die Pflege des Software-Bestands<br />

für Sie erst handhabbar<br />

(siehe auch Kasten Paketabhängigkeiten<br />

manuell auflösen). Als<br />

Dreh- und Angelpunkt des bestehenden<br />

Systems fungieren jedoch<br />

das Wissen um die existierenden<br />

Feldname<br />

Package<br />

Inhalt<br />

xz‐utils<br />

Version 5.0.0‐2<br />

Architecture<br />

Maintainer<br />

i386<br />

A Die Ausgabe des Paketstatus<br />

mittels Dpkg.<br />

Paket-Infos (Auszug) zu Xz-utils<br />

Jonathan Nieder <br />

Installed‐Size 452<br />

Depends libc6 (>= 2.6), liblzma2 (>= 5.0.0)<br />

Suggests<br />

xz‐lzma<br />

Breaks<br />

xz‐lzma (


schwerpunkt<br />

Debtags<br />

B Ergebnisliste:<br />

Grafische Webbrowser,<br />

die nicht zu Gnome<br />

Listing 2<br />

gehören.<br />

Software-<strong>Pakete</strong> sowie deren korrekte<br />

Benennung und Einordnung<br />

(„Klassifikation“). Die Suche<br />

nach ähnlichen <strong>Pakete</strong>n <strong>im</strong> Sinn<br />

von Einsatzzweck, Funktionsumfang<br />

oder thematischer Einordnung<br />

funktioniert bislang nicht.<br />

<strong>Pakete</strong> mit ähnlichen Namen<br />

finden Sie mit Dpkg, Apt-cache<br />

und Aptitude über eine Option<br />

Listing 1<br />

$ apt‐cache rdepends xz‐utils<br />

xz‐utils<br />

Reverse Depends:<br />

reprepro<br />

lintian<br />

libdpkg‐perl<br />

dpkg‐dev<br />

devscripts<br />

xzdec<br />

...<br />

$ apt‐rdepends xz‐utils<br />

Paketlisten werden gelesen... Fertig<br />

Abhängigkeitsbaum wird aufgebaut<br />

Statusinformationen werden eingelesen... Fertig<br />

xz‐utils<br />

Hängt ab von: libc6 (>= 2.6)<br />

Hängt ab von: liblzma2 (>= 5.0.0)<br />

libc6<br />

Hängt ab von: libc‐bin (= 2.11.3‐2)<br />

Hängt ab von: libgcc1<br />

libc‐bin<br />

libgcc1<br />

Hängt ab von: gcc‐4.4‐base (= 4.4.5‐8)<br />

Hängt ab von: libc6 (>= 2.2.4)<br />

gcc‐4.4‐base<br />

liblzma2<br />

Hängt ab von: libc6 (>= 2.3.6‐6~)<br />

und ein Muster. Apt-cache und<br />

Aptitude unterstützen hier reguläre<br />

Ausdrücke [3], während Dpkg<br />

ein eigenes Musterformat verwendet.<br />

Zudem sucht es nur in<br />

der Paketliste, wohingegen Aptcache<br />

und Aptitude die Paketbeschreibung<br />

automatisch mit einbeziehen.<br />

Um etwa alle <strong>Pakete</strong> zum Spiel<br />

OpenTTD zu finden, rufen Sie<br />

Dpkg über dpkg ‐l '*openttd*' auf<br />

(Abbildung A, vorige Seite). Mit<br />

der Option ‐l listet Dpkg alle installierten<br />

<strong>Pakete</strong> auf, das über die<br />

Option übermittelte Muster<br />

'*openttd*' schränkt die Ausgabe<br />

entsprechend ein.<br />

Als entsprechendes Suchmuster<br />

für Apt-cache und Aptitude dient<br />

ein regulärer Ausdruck, der mit<br />

einem ^ beginnt. Es findet somit<br />

alle Zeichenketten, die mit der<br />

Folge openttd beginnen. Die Ausgabe<br />

von Apt-cache und Aptitude<br />

fällt ähnlich ausführlich aus wie<br />

jene von Dpkg und listet Zeile für<br />

Zeile nur <strong>Pakete</strong> mit deren Namen<br />

und Kurzbeschreibung auf<br />

Listing 3<br />

(Listing 3). Die Basis bilden<br />

die Paketlisten, die<br />

Apt aufgrund der Einträge<br />

in /etc/apt/sources.<br />

list von den darin angegebenen<br />

Paketquellen bezogen<br />

und danach unter<br />

/var/lib/apt/lists/ gespeichert<br />

hat.<br />

Die Ausgabe von Aptitude<br />

zeigt zusätzlich den<br />

jeweiligen Status des <strong>Pakete</strong>s<br />

an (siehe auch Kasten<br />

Paketstatus). In Listing<br />

3 sind vier der fünf<br />

<strong>Pakete</strong> bereits auf dem<br />

System installiert (i),<br />

drei davon automatisch<br />

(A). p bezeichnet ein in<br />

der Paketliste verfügbares, aber<br />

noch nicht installiertes Paket.<br />

Wie Sie in Abbildung A auf der<br />

vorigen Seite sehen, kennzeichnet<br />

Dpkg das fragliche Paket<br />

openttd-opensfx dagegen mit u für<br />

„unbekannt“ und n für „nicht installiert“.<br />

Das Debtags-Projekt<br />

Auf der Debconf – der jährlich<br />

stattfindenden Debian-Entwicklerkonferenz<br />

[4] – 2005 in Helsinki<br />

veröffentlichte der italienische<br />

Entwickler Enrico Zini seine<br />

Überlegungen, wie man die Debian-<strong>Pakete</strong><br />

übersichtlicher ordnen<br />

könnte [5]. Sein Konzept ermöglicht,<br />

zahlreiche Aspekte eines <strong>Pakete</strong>s<br />

zu erfassen, was verschiedenste<br />

Sichtweisen auf die Software<br />

und die zur Suche verwendeten<br />

Begrifflichkeiten abdeckt<br />

und damit eine themen- oder aspektbasierte<br />

Klassifikation und<br />

Suche zulässt. Die Suchanfragen<br />

bestehen aus nahezu umgangssprachlichen<br />

Begriffen und ergänzen<br />

die Auswahl über die bisher<br />

$ aptitude search '^openttd'<br />

i openttd ‐ Erweiterte Neuumsetzung von Transport Tycoon<br />

Deluxe<br />

i A openttd‐data ‐ Gemeinsame Datendateien für das Spiel OpenTTD<br />

i A openttd‐opengfx ‐ Freier Grafiksatz für das Spiel OpenTTD<br />

i A openttd‐openmsx ‐ Freie Musiksammlung für das Spiel OpenTTD<br />

p openttd‐opensfx ‐ a sound set for use with the OpenTTD game<br />

24 06 | 12<br />

www.linux-user.de


Debtags<br />

schwerpunkt<br />

verwendeten Debian-<br />

Sections und Paketnamen.<br />

Enrico Zini betreut<br />

heute als Maintainer<br />

das zugehörige Debian-Paket<br />

debtags [6].<br />

Debtags steht als Abkürzung<br />

für „Debian<br />

Tags“ und beinhaltet<br />

eine Zusammenstellung<br />

von abgest<strong>im</strong>mten<br />

Kategorien und<br />

Begriffen. Das Vorgehen<br />

lässt sich mit der<br />

Verschlagwortung eines<br />

Buch- oder Dokumentbestandes<br />

vergleichen,<br />

zu dessen Kategorisierung<br />

einheitliche Begriffe für gleiche<br />

Sachverhalte dienen.<br />

Das dabei genutzte Schema<br />

kennt man in der Wissenschaft<br />

unter dem Begriff Facettenklassifikation<br />

(„faceted classification“,<br />

[7]). Es beschreibt ein Objekt<br />

durch mehrere Begriffe, wobei jeder<br />

davon einen spezifischen Aspekt<br />

oder eine Eigenschaft des<br />

Objekts repräsentiert. Diese unterschiedlichen<br />

Begriffe bezeichnet<br />

man als Tags und das Verfahren<br />

folglich als Tagging.<br />

Die Menge der Tags für Debian-<br />

<strong>Pakete</strong> entwickelt sich stetig weiter,<br />

da einerseits mehr und mehr<br />

<strong>Pakete</strong> klassifiziert werden und<br />

andererseits weitere, bislang fehlende<br />

Tags durch die Mitwirkung<br />

der Debian-Anwender hinzukommen.<br />

Die derzeit gültigen Tags<br />

finden Sie in einer Liste auf der<br />

Debtags-Website [8]. Die für ein<br />

Debian-Paket vergebenen Tags<br />

zeigt folgender Befehl an:<br />

$ debtags show Paketname<br />

Dabei führt debtags die Paketinformationen<br />

aus der control-Datei<br />

mit den Begriffen aus der Debtags-Datenbank<br />

zusammen. Die<br />

zusätzliche Zeile in der Ausgabe<br />

von Debtags filtern Sie mit einem<br />

Grep-Aufruf heraus. Listing 4<br />

zeigt die aktuelle Klassifikation<br />

für den PDF-Betrachter Xpdf.<br />

Die Angaben kennzeichnen Xpdf<br />

als X11-Programm (x11::application,<br />

interface::x11), das zu den<br />

Anwendungen (role::program,<br />

scope::application) zählt, genauer<br />

gesagt zu den Betrachtern für<br />

PDF und Text (use::viewing, workswith‐format::pdf,<br />

works‐with::text).<br />

Des Weiteren kann man erkennen,<br />

dass Xpdf für die Bedienoberfläche<br />

das Motif-Framework<br />

(uitoolkit::motif) verwendet und<br />

in der Sprache C++ (<strong>im</strong>plemented‐in::c++)<br />

entwickelt wurde.<br />

Um nun beispielsweise herauszufinden,<br />

welche X11-tauglichen<br />

Spiele Sie einrichten könnten,<br />

greifen Sie zur Debtags-Option<br />

search. Sie übergeben ihr eine Tag-<br />

Liste und erhalten eine Übersicht<br />

aller Debian-<strong>Pakete</strong>, die bislang in<br />

den entsprechenden Kategorien<br />

einsortiert sind – <strong>im</strong> Beispiel aus<br />

Listing 5, folgende Seite, in game‐<br />

::s<strong>im</strong>ulation und interface::x11.<br />

Die Suche anhand der Kategoriebezeichner<br />

erscheint etwas<br />

mühsam, insbesondere dann,<br />

wenn man die einzelnen Tags<br />

noch nicht genau kennt. Hier helfen<br />

kleine Werkzeuge weiter, welche<br />

die Idee der Debian-Tags aufgreifen<br />

und passend um Schnittstellen<br />

erweitern.<br />

Grep-dctrl<br />

Das Debian-Paket dctrl-tools ergänzt<br />

die Möglichkeiten zur Suche<br />

in den Paketlisten erheblich.<br />

Zum diesem Paket gehören die<br />

Werkzeuge grep‐dctrl, grep‐status,<br />

grep‐available, grep‐aptavail und<br />

grep‐debtags. Grep-dctrl ist das<br />

Hauptprogramm, bei allen anderen<br />

„Werkzeugen“ aus dem Paket<br />

handelt es sich lediglich um symbolische<br />

Links darauf. Während<br />

Grep-available und Grep-status<br />

die Datenbanken von Dpkg<br />

durchsuchen, bedient sich Grepaptavail<br />

der Apt-Datenbank,<br />

Grep-debtags nutzt die Debtags-<br />

Datenbank.<br />

Das Kommando Grep-dctrl konzentriert<br />

sich nur auf die bestehenden,<br />

installierten <strong>Pakete</strong> des<br />

Systems und arbeitet daher häufig<br />

erheblich schneller. Wie Frank<br />

Ronneburg in seinem Standardwerk<br />

„Das Debian-Anwender-<br />

C Packagesearch hat<br />

<strong>Pakete</strong> aufgespürt, die<br />

eine Verbindung zu<br />

Xpdf aufweisen.<br />

Paketstatus<br />

Falls Sie den exakten Namen des fraglichen <strong>Pakete</strong>s kennen, finden<br />

Sie dessen Status auch mithilfe von Dpkg und Grep heraus:<br />

Die Dpkg-Option ‐s Paketname liefert Paketinformationen aus der<br />

control-Datei des Pakets, ein nachfolgendes Grep filtert die<br />

Zeile mit dem Installationsstatus heraus:<br />

$ dpkg ‐s aptitude | grep ‐i status<br />

Status: install ok installed<br />

In diesem Fall zeigt die Überprüfung für das Paket aptitude, dass<br />

es bereits vollständig installiert ist.<br />

Listing 4<br />

$ debtags show xpdf | grep ‐i tag<br />

Tag: <strong>im</strong>plemented‐in::c++, interface::x11,<br />

role::program, scope::application, uitoolkit::motif,<br />

use::viewing, works‐with‐format::pdf, works‐with::text,<br />

x11::application<br />

www.linux-user.de<br />

06 | 12 25


schwerpunkt<br />

Debtags<br />

D Packagesearch beherrscht<br />

auch die Suche<br />

nach Debian-Tags.<br />

handbuch“ [9] betont, lässt sich<br />

mit Grep-dctrl „sehr schnell best<strong>im</strong>men,<br />

welche <strong>Pakete</strong> von einem<br />

best<strong>im</strong>mten Maintainer betreut<br />

werden oder welche Version<br />

eines <strong>Pakete</strong>s aktuell ist.“<br />

Grep-dctrl versteht nicht nur<br />

anders als Dpkg und Apt reguläre<br />

Ausdrücke, sondern kann gleichzeitig<br />

in mehreren Feldern der<br />

Paketbeschreibung suchen. Die<br />

einzelnen Feldinhalte verknüpfen<br />

Sie zudem bei Bedarf mit den logischen<br />

Operatoren AND, OR und<br />

NOT miteinander. Beispielsweise<br />

zeigt der folgende Aufruf in einem<br />

Terminal die Statusinformationen<br />

zum Paket Dpkg an:<br />

lässt nur exakte Treffer zu. Dieser<br />

Aufruf entspricht dpkg ‐s dpkg.<br />

Möchten Sie alle verfügbaren<br />

<strong>Pakete</strong> anzeigen, bei denen die<br />

Beschreibung die Zeichenfolge<br />

dpkg unabhängig von der Schreibweise<br />

enthält, hilft der Aufruf:<br />

$ grep‐available ‐F Description U<br />

‐i dpkg<br />

Mit der Option ‐F Description<br />

wählen Sie dabei das Feld Description<br />

mit der Paketbeschreibung<br />

aus. Mit ‐i erfolgt die Suche unabhängig<br />

von Groß- und Kleinschreibung.<br />

Indem Sie den Aufruf<br />

um die Option ‐s Package zu<br />

spiel. Die Option ‐e Suchstring<br />

sorgt dafür, dass<br />

Grep-status den Suchstring<br />

als regulären Ausdruck<br />

interpretiert.<br />

Grep-status kann auch<br />

die Namen der installierten<br />

<strong>Pakete</strong> anzeigen, die<br />

ein best<strong>im</strong>mter Maintainer<br />

betreut. Dazu weisen<br />

Sie das Tool mit der Option<br />

‐F Maintainer an, das<br />

Feld mit dem Namen des<br />

Paketbetreuers auszuwerten.<br />

Der folgende Aufruf<br />

zeigt die Namen aller <strong>Pakete</strong><br />

an, für die der Betreuer<br />

axelbeckert verantwortlich<br />

zeichnet:<br />

$ grep‐status ‐F Maintainer ‐s PU<br />

ackage 'axelbeckert'<br />

Das Kommando Grep-debtags<br />

kombiniert die vorgestellten Optionen<br />

mit den Kategorien aus<br />

dem Debtags-Projekt. Das folgende<br />

Kommando zeigt den Namen<br />

und die Kurzbeschreibung (Option<br />

‐d) aller X11-basierten, grafischen<br />

Webbrowser an, die keine<br />

KDE-Bibliotheken benötigen:<br />

$ grep‐debtags ‐d ‐s Package webU<br />

::browser ‐a interface::x11 ‐a ‐U<br />

! suite::kde<br />

Listing 5<br />

$ grep‐status ‐F Package ‐X dpkg<br />

Die Option ‐F wählt den Feldbezeichner<br />

aus, hier über Package<br />

den Paketnamen. Die Option ‐X<br />

$ debtags search "game::s<strong>im</strong>ulation && interface::x11"<br />

billard‐gl ‐ 3D billiards game<br />

cultivation ‐ game about the interactions within a<br />

gardening community<br />

flightgear ‐ Flight Gear Flight S<strong>im</strong>ulator<br />

foobillard ‐ a 3D billiards game using OpenGL<br />

fretsonfire‐game ‐ game of musical skill and fast fingers<br />

‐ Game files<br />

gtkpool ‐ s<strong>im</strong>ple pool billiard game written with GTK+<br />

libopenscenegraph‐dev ‐ 3D scene graph, development files<br />

lincity‐ng ‐ City s<strong>im</strong>ulator game with polished graphics<br />

oolite ‐ space‐s<strong>im</strong> game Oolite ported to GNUStep/OpenGL<br />

linux<br />

...<br />

$ grep‐available ‐F Description U<br />

‐i ‐s Package dpkg<br />

ergänzen, verringern Sie die Liste<br />

auf die Namen der installierten<br />

<strong>Pakete</strong>. Die Option ‐s best<strong>im</strong>mt,<br />

welches Feld aus der Paketbeschreibung<br />

der Befehl ausgibt –<br />

hier ist es der Paketname.<br />

Möchten Sie eine Liste der installierten<br />

<strong>Pakete</strong> sehen, deren Namen<br />

eine der beiden Zeichenketten<br />

apt oder dpkg enthält, führt<br />

folgender Aufruf zum Ziel:<br />

$ grep‐status ‐F Package ‐s PackU<br />

age ‐e 'apt|dpkg'<br />

Die beiden Optionen ‐F und ‐s<br />

wirken analog zum vorigen Bei-<br />

Das klappt allerdings nur dann,<br />

wenn das Paket debtags installiert<br />

ist, welches dann fleißig in den<br />

Debian-Tags stöbert. Die Angabe<br />

web::browser reduziert die Gesamtliste<br />

zunächst auf entsprechend<br />

klassifizierte <strong>Pakete</strong>.<br />

Die nachfolgenden Parameter<br />

stellen logische Verknüpfungen<br />

dar, ‐a als AND-Operator und ‐a<br />

‐! als negiertes AND. In der reduzierten<br />

Gesamtliste verbleiben<br />

daher am Ende nur jene <strong>Pakete</strong>,<br />

die mit dem Tag interface::x11,<br />

aber nicht suite::kde gekennzeichnet<br />

sind. Abbildung B auf<br />

der vorigen Doppelseite zeigt die<br />

Ausgabe <strong>im</strong> Terminal.<br />

Findige Entwickler haben zu<br />

den Kommandozeilenwerkzeugen<br />

26 06 | 12<br />

www.linux-user.de


Debtags<br />

schwerpunkt<br />

die passenden Benutzeroberflächen<br />

Package search [10],<br />

Adept [11] und<br />

Xara [12] geschaffen.<br />

Die schlichte<br />

und zeitlose Eleganz<br />

der Kommandozeile<br />

ist dabei einer mitunter<br />

verwirrenden,<br />

komplexen Bedienoberfläche<br />

gewichen,<br />

die für die gewünschten<br />

Ergebnisse<br />

etwas Zeit und<br />

Exper<strong>im</strong>entierfreudigkeit<br />

voraussetzt.<br />

Alle drei genannten<br />

Programme bieten<br />

sich als Ersatz zu<br />

den Werkzeugen auf der Kommandozeile<br />

an und erlauben zudem<br />

– mit den entsprechenden<br />

Benutzerrechten gestartet – das<br />

Hinzufügen und Entfernen von<br />

<strong>Pakete</strong>n sowie das Aktualisieren<br />

der Paketdatenbank.<br />

Suche eingrenzen<br />

Packagesearch stellt zur Suche <strong>im</strong><br />

Paketbestand zwei verschiedene<br />

Einstiegspunkte bereit. Eine<br />

Kombination von Eingabefeldern<br />

links oben <strong>im</strong> Programmfenster<br />

ermöglicht die Suche mithilfe einer<br />

Zeichenkette, reguläre Ausdrücke<br />

<strong>im</strong> Suchstrings unterstützt<br />

das Tool dabei aber nicht.<br />

Immerhin lässt sich der Suchraum<br />

über das Auswahlfeld Installationsstatus<br />

eines <strong>Pakete</strong>s weiter<br />

eingrenzen (alle <strong>Pakete</strong>, aktualisierbar,<br />

bereits installiert oder<br />

nicht installiert). Möchten Sie nur<br />

in den Paketnamen suchen, entfernen<br />

Sie das Häkchen bei Beschreibungen<br />

durchsuchen.<br />

Abbildung C auf der vorigen<br />

Doppelseite zeigt eine textorientierte,<br />

ähnlichkeitsbasierte Suche<br />

anhand des Kriteriums xpdf mit<br />

den Details zum Paket libpopplerdev,<br />

der Entwicklungsvariante der<br />

PDF-Rendering-Bibliothek Poppler.<br />

Das Suchergebnis erscheint<br />

als Auswahlliste links unten. Die<br />

Liste lässt sich über die Spaltenköpfe<br />

der Tabelle sortieren –<br />

alphabetisch nach dem Paketnamen,<br />

nach dem Grad der Übereinst<strong>im</strong>mung<br />

mit dem Suchstring<br />

(Score), nach der installierten und<br />

verfügbaren Version und nach der<br />

Kurzbeschreibung des <strong>Pakete</strong>s.<br />

Wählen Sie einen Eintrag aus<br />

der Listen an, so erscheinen die<br />

Details zum entsprechenden Paket<br />

<strong>im</strong> Dialog rechts unten. Über<br />

die einzelnen Reiter wählen Sie<br />

zwischen der ausführlichen Paketbeschreibung,<br />

den kompletten<br />

Paketinformationen sowie den<br />

Dateien aus, die das Paket enthält.<br />

Die Liste können Sie über<br />

das Textfeld zusätzlich filtern.<br />

Über die Eingabefeld-Kombination<br />

oben rechts gelingt die Suche<br />

mittels Debian-Tags. Dazu wählen<br />

Sie zunächst den Reiter Debtags<br />

aus, die darunter angeordnete<br />

Liste sortiert Packagesearch jeweils<br />

hierarchisch. Als Sortierkriterium<br />

für die Liste dienen hingegen<br />

die vergebenen ID-Tags für<br />

die Klassifikationsebenen. Das<br />

über der Liste angeordnete Eingabefeld<br />

fungiert als Filter für die<br />

Liste und zeigt nur jene Einträge<br />

der Liste an, bei denen es eine<br />

Übereinst<strong>im</strong>mung mit dem ID-<br />

Tag gibt. Alle anderen Einträge<br />

blendet das Programm aus. Ein<br />

Doppelklick auf einen Listenein-<br />

E Eine erfolgreiche<br />

Suche in der GUI-<br />

Applikation Xara nach<br />

<strong>Pakete</strong>n aus dem Umfeld<br />

von Fluxbox.<br />

F Das Programm<br />

Adept hat eine ganze<br />

Reihe von <strong>Pakete</strong>n aus<br />

dem Kontext von<br />

Ghostscript (Xubuntu)<br />

gefunden.<br />

www.linux-user.de<br />

06 | 12 27


schwerpunkt<br />

Debtags<br />

G Hier liefert Adept<br />

Zusatzinformationen<br />

zum Spiel OpenTTD.<br />

Der Autor<br />

Frank Hofmann<br />

(http:// www. efho. de)<br />

hat Informatik an der<br />

Technischen Universität<br />

Chemnitz studiert.<br />

Derzeit arbeitet er in<br />

Berlin <strong>im</strong> Büro 2.0<br />

(http:// www. buero20.​<br />

o r g ), einem Open-<br />

Source-Experten-Netzwerk,<br />

als Dienstleister<br />

mit Spezialisierung<br />

auf Druck und Satz.<br />

Er ist Mitgründer des<br />

Schulungsunternehmens<br />

Wizards of<br />

FOSS (http:// www.​<br />

wizards‐of‐foss. de/).<br />

Seit 2008 koordiniert<br />

er das Regionaltreffen<br />

der Linux User Groups<br />

aus der Region Berlin-<br />

Brandenburg.<br />

trag interpretiert das ausgewählten<br />

Debian-Tag als Suchkriterium.<br />

Eine Mehrfachauswahl funktioniert<br />

ebenfalls, es erscheinen<br />

alle Suchkriterien in der Eingabefeld-Kombination<br />

oben links.<br />

Entsprechend der Suchkriterien<br />

zeigt Packagesearch in der Liste<br />

unten links nur die dazu passenden<br />

<strong>Pakete</strong> an. Abbildung D (vorige<br />

Doppelseite) zeigt die Suche<br />

anhand der Kriterien X-Window-<br />

System und Login Manager mit<br />

den Details für das Paket kdm,<br />

und davon wiederum nur die <strong>Pakete</strong>,<br />

die nicht installiert sind.<br />

Ins Deutsche übersetzt<br />

Als recht hilfreich erweist sich der<br />

Schalter Suche löschen – er hebt<br />

die getroffene Auswahl wieder<br />

auf. Positiv fällt auch die vollständige<br />

Übersetzung der Benutzeroberfläche<br />

ins Deutsche auf.<br />

Xara verwendet einen ganz ähnlichen<br />

Dialogaufbau wie Packagesearch,<br />

ist jedoch komplett in<br />

englischer Sprache gehalten. Die<br />

oberen beiden Dialogboxen zeigen<br />

Detailinformationen zum<br />

ausgewählten Paket an – links die<br />

Übersicht und rechts weiterführende<br />

Details. Über das Eingabefeld<br />

Search stöbern Sie in diesem<br />

Detailfeld. Setzen Sie dabei das<br />

Häkchen bei case sensitive, hebt<br />

Xara nur exakte Treffer <strong>im</strong> Text<br />

des Detailfeldes hervor.<br />

Einfach oder erweitert<br />

Die unteren beiden Dialogboxen<br />

präsentieren das Ergebnis der<br />

Paketsuche – links die Liste der<br />

Suchtreffer mit Paketname, Ver -<br />

sion und Beschreibung, rechts die<br />

Parameter zur Suche.<br />

Hinter dem Reiter Advanced verbirgt<br />

sich eine Suche auf der Basis<br />

der Debian-Tags, die auch reguläre<br />

Ausdrücke versteht. Der Reiter<br />

S<strong>im</strong>ple bietet hingegen eine Unmenge<br />

textbasierter Eingabe- und<br />

Auswahlfelder zum Filtern. Alternativ<br />

gelingt eine Suche in den<br />

Paketnamen und der Beschreibung<br />

auch über den Menüpunkt<br />

Tools | Enter query.<br />

Das Suchergebnis finden Sie links<br />

unten, die Auswahl eines <strong>Pakete</strong>s<br />

füllt auch die beiden oberen Dialogboxen<br />

mit passenden Inhalten.<br />

Abbildung E (vorige Seite) zeigt<br />

das Suchergebnis für Programme,<br />

die zum Windowmanager Fluxbox<br />

passen.<br />

Mit dem Paketmanager Adept<br />

[13] dürfte jeder altgediente<br />

KDE-Benutzer schon einmal in<br />

Berührung gegekommen sein<br />

(Abbildung F, vorige Seite). Das<br />

Tool stellt Debian-Tags für das jeweils<br />

ausgewählte Paket dar, eine<br />

detailliertere Suche in den einzelnen<br />

Klassifikationsebenen analog<br />

zu Packagesearch und Xara beherrscht<br />

es aber nicht. Der empfohlene<br />

Nachfolger Apper hat die<br />

Ideen des Debtags-Projektes bislang<br />

noch gar nicht aufgegriffen<br />

und in die Benutzeroberfläche integriert.<br />

Suche eingrenzen<br />

Auch auf der Webseite des Debian-Projekts<br />

können Sie bei der<br />

Suche nach ähnlichen <strong>Pakete</strong>n auf<br />

das Debtags-Konzept zurückgreifen.<br />

Die Website listet zu jedem<br />

Paket in der rechten Spalte weiterführende<br />

Informationen auf –<br />

unter anderem Ressourcen, Paket<br />

betreuer, Projektwebsite und<br />

ähnliche <strong>Pakete</strong>. Abbildung G<br />

zeigt diese Informationen für das<br />

Spiel OpenTTD.<br />

Möchten Sie dagegen anhand<br />

der Debian-Tags suchen, dann<br />

nutzen Sie dazu den Debtag-Service<br />

von Debian [14]. Enrico Zini<br />

stellt dort alle Informationen<br />

zum Entwicklungsstand des Debtags-Projektes<br />

online. Neben einer<br />

Programmschnittstelle (API)<br />

zur Anbindung eigener Projekte<br />

umfasst das beispielsweise auch<br />

einen Editor zur Modifikation der<br />

Tags, statistische Daten sowie<br />

eine Debtags-basierte Suche.<br />

danksagung<br />

Der Autor bedankt sich bei Enrico<br />

Zini und Axel Beckert für deren kritische<br />

Anmerkungen und Ergänzungen<br />

<strong>im</strong> Vorfeld dieses Artikels.<br />

Die Verschlagwortung der Debian-<strong>Pakete</strong><br />

anhand der Debian-<br />

Tags eröffnet ein riesiges Potenzial,<br />

Software auf der Basis individueller<br />

Sichtweisen und Beschreibungen<br />

zu ordnen und anhand<br />

dieser Kriterien zu lokalisieren.<br />

Bislang ist lediglich eine Teilmenge<br />

der <strong>Pakete</strong> katalogisiert,<br />

neue <strong>Pakete</strong> werden vielfach bereits<br />

in dieses Schema eingeordnet.<br />

Die vorgestellten Text- und<br />

GUI-Werkzeuge zeigen bereits<br />

jetzt, wie einfach und zielgenau<br />

eine Recherche nach passender<br />

Software sein kann. (jlu) n<br />

[1] Felder der control-Datei:<br />

info<br />

http:// www. debian. org/ doc/ debian‐policy/​<br />

ch‐controlfields. html<br />

[2] Software-Kategorien:<br />

http:// www. debian. org/ doc/ debian‐policy/​<br />

ch‐archive. html# s‐subsections<br />

[3] Reguläre Ausdrücke: Frank Hofmann,<br />

„Schnipseljagd“, LU 09/​2011, S. 84,<br />

http:// www. linux‐community. de/ 24091<br />

[4] Debian-Entwicklerkonferenz:<br />

http:// debconf. org/<br />

[5] Debtags-Backgrounder: Enrico Zini, „A cute<br />

introduction to Debtags“, http:// debtags.​<br />

alioth. debian. org/ paper‐debtags. html<br />

[6] Wikiseite zu Debtags:<br />

http:// wiki. debian. org/ Debtags<br />

[7] Facettenklassifikation: http:// de. wikipedia.​<br />

org/ wiki/ Facettenklassifikation<br />

[8] Derzeit gültige Debtags: http:// debtags.​<br />

debian. net/ exports/ stable‐tags<br />

[9] Grep-dctrl <strong>im</strong> „Debian-Anwenderhandbuch“:<br />

http:// debiananwenderhandbuch. de/​<br />

grep‐dctrl. html<br />

[10] Packagesearch: http:// packages. debian.​<br />

org/ squeeze/ packagesearch<br />

[11] Adept (Debian-Paket):<br />

http:// packages. debian. org/ sid/ adept<br />

[12] Xara: http:// packages. debian. org/​<br />

squeeze/ xara‐gtk<br />

[13] Adept-Tipps: Heike Jurzik, „Knoppix und<br />

Ubuntu“, EasyLinux 01/​2006, S. 82,<br />

http:// www. easylinux. de/ Artikel/ ausgabe/​<br />

2006/ 01/ 082‐ubuntu‐tipps/<br />

[14] Debtags bei Debian:<br />

http:// debtags. debian. net<br />

[15] Paketklassifikation bei Ubuntu:<br />

http:// wiki. ubuntuusers. de/ Paketquellen<br />

[16] Debian-Paket apt-rdepends:<br />

http:// packages. debian. org/ squeeze/​<br />

apt‐rdepends<br />

28 06 | 12<br />

www.linux-user.de


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 einstellbar<br />

■ NEU: Performance Features: bis zu 6 CPU, bis zu<br />

24 GB RAM und bis zu 800 GB HDD<br />

■ NEU: Jederzeit weitere Virtuelle Maschinen zubuchbar<br />

■ NEU: Stundengenaue Abrechnung<br />

■ Hosting in den sicheren 1&1 Hochleistungs-Rechenzentren<br />

■ Linux- oder Windows-Betriebssystem,<br />

bei Bedarf Parallels Plesk Panel 10 unl<strong>im</strong>ited 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 />

39, 99<br />

€/Monat*<br />

Basiskonfiguration mit 1 CPU, 1 GB RAM,<br />

100 GB HDD.<br />

Performance Features ab 0,01 € pro Stunde<br />

und Einheit zubuchbar.<br />

NEU: Management und Monitoring<br />

Ihrer Server-Dienste <strong>im</strong> 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 39,99 €/Monat. Performance Features ab 0,01 € pro Stunde und Einheit zubuchbar. Konfi guration und Leistungsberechnung jeweils<br />

stundengenau. Einmalige Einrichtungsgebühr 39,– €. 1 Monat Mindestvertragslaufzeit. Preise inkl. MwSt.


schwerpunkt<br />

Apt-Shell<br />

Komfortabel <strong>Pakete</strong> managen<br />

mit der Apt-Shell<br />

© Eglischay, sxc.hu<br />

Zentraler<br />

Zugangspunkt<br />

Die Apt-Shell bietet eine Bedienoberfläche für viele Tools rund um das ausgefeilte Debian-Paketmanagement.<br />

Mit ihr nutzen Sie die vielfältigen Funktionen über ein zentrales Interface. Thomas Winde, Frank Hofmann<br />

README<br />

Debian hat mit seiner<br />

Paketverwaltung Maßstäbe<br />

gesetzt. Das Programm<br />

Aptsh ist eine<br />

Bedienoberfläche für etliche<br />

Apt-Werkzeuge und<br />

bietet den Komfort der<br />

kleinen Schritte für jedermann.<br />

Bei jeder Installation eines Debian-Grundsystems<br />

gelangt automatisch<br />

das Paket apt mit auf den<br />

Rechner (siehe Kasten Der lange<br />

Weg zu Apt). Dieses enthält die<br />

Tools Apt-cdrom, Apt-get und<br />

Apt-cache sowie die entsprechenden<br />

Konfigurationsdateien. Weitere<br />

Apt-<strong>Pakete</strong> installieren Sie<br />

bei Bedarf mittels Apt-get nach.<br />

Die Konfigurationsdateien von<br />

Apt finden Sie unter /etc/apt. In<br />

der Datei /etc/apt/sources.list<br />

stehen die Bezugsquellen für die<br />

<strong>Pakete</strong> beziehungsweise die Paketdatenbanken.<br />

Jede Zeile der<br />

Datei enthält dabei eine Bezugsquelle,<br />

mit den vier Feldern Paketart,<br />

Bezugsquelle, Distribution<br />

und Komponenten. So beschreibt<br />

etwa der Eintrag:<br />

deb http://ftp.de.debian.org/debU<br />

ian/ squeeze main<br />

eine Quelle für Debian-Binärpakete<br />

(deb), die Sie vom deutschen<br />

FTP-Server des Debian-Projektes<br />

beziehen, daraus die Distribution<br />

squeeze und davon wiederum nur<br />

die freien Komponenten aus dem<br />

Bereich main.<br />

Die Datei /etc/apt/sources.lst<br />

entsteht während der Installation<br />

des Systems automatisch. Für<br />

den Alltagseinsatz können Sie auf<br />

Änderungen an dieser Konfiguration<br />

verzichten. Für weitere <strong>Pakete</strong><br />

und Paketquellen bedarf die<br />

Datei hingegen einer näheren<br />

Inspektion. Je nachdem, welche<br />

Variante Sie zum Installieren des<br />

Grundsystems gewählt haben,<br />

stehen in der Datei nur die bislang<br />

verwendeten Paketquellen –<br />

also CDs oder Paket-Mirrors.<br />

Paketquellen hinzufügen<br />

Bereits während der Installation<br />

und auch nachträglich können Sie<br />

weitere Paketquellen hinzufügen.<br />

Für CDs und DVDs nutzen Sie<br />

Apt-cdrom. Liegt ein Datenträger<br />

<strong>im</strong> Laufwerk, setzen Sie als root<br />

folgenden Befehl ab:<br />

# apt‐cdrom add<br />

A Über das Autovervollständigen der Apt-Shell erhalten Sie sehr schnell einen<br />

Überblick über die integrierten Kommandos.<br />

30 06 | 12<br />

www.linux-user.de


Apt-Shell<br />

schwerpunkt<br />

Das System liest den Datenträger<br />

und überprüft, ob es sich dabei<br />

um ein Installationsmedium für<br />

Debian handelt. Verläuft dieser<br />

Test erfolgreich, legt Apt-cdrom<br />

einen neuen Eintrag für den Datenträger<br />

in der Datei /etc/apt/<br />

sources.lst an.<br />

Bei der Auswahl eines geeigneten<br />

Mirrors hilft das Programm<br />

Netselect-apt [1] aus dem gleichnamigen<br />

Paket weiter. Damit laden<br />

Sie die Liste aktueller Debian-Paketmirrors<br />

herunter. Nachdem<br />

Sie aus dieser Liste einen geeigneten<br />

Server ausgewählt haben,<br />

erstellt Netselect-apt dazu<br />

einen passenden Eintrag in der<br />

Datei /etc/apt/sources.list.<br />

Mit dem Programm Netselect<br />

[2] prüfen Sie die Erreichbarkeit<br />

eines Paket-Mirrors. Netselect<br />

erwartet als Parameter eine<br />

Liste von URLs verschiedener Paket-Mirrors.<br />

Es vergleicht diese<br />

untereinander bezüglich der Erreichbarkeit<br />

und gibt eine Empfehlung<br />

in Form einer Punktzahl<br />

zurück, welcher Mirror als der geeignetste<br />

erscheint.<br />

Je nach Netztopologie, Standort<br />

und Anbindung fällt das Ergebnis<br />

unterschiedlich aus. Im Beispiel<br />

aus Listing 1 macht ftp.debian.org<br />

mit 1654 Punkten das Rennen.<br />

Erfahrenere Benutzer öffnen die<br />

Konfigurationsdatei einfach in ihrem<br />

Lieblingstexteditor und passen<br />

diese Datei von Hand an.<br />

Erste Schritte<br />

Für ein besseres Verständnis der<br />

Apt-Befehle lohnt es sich, einen<br />

Blick auf die interaktive Shell<br />

Aptsh aus dem gleichnamigen Paket<br />

zu werfen. Falls noch nicht<br />

auf dem System vorhanden, installieren<br />

Sie es mittels apt‐get install<br />

aptsh einfach nach. Danach<br />

rufen Sie die Aptsh über das<br />

gleichnamige Kommando auf.<br />

Die Entwickler der Aptsh beschreiben<br />

diese als „nette Pseudo-<br />

Shell mit Auto-Vervollständigung<br />

und vereinfachtem Zugriff auf die<br />

Apt-Befehle“. Die Parameter von<br />

Apt-get und Apt-cache stehen als<br />

einzelne Kommandos in der<br />

Aptsh bereit. Damit entfällt das<br />

wiederholte Aufrufen der vollständigen<br />

Apt-get und Apt-cache-<br />

Kommandos. Je nach Kommando<br />

ruft die Aptsh <strong>im</strong> Hintergrund<br />

die passenden Apt-Befehle auf.<br />

Nach dem Start der Aptsh fällt<br />

als Erstes der bunte Prompt auf.<br />

Einen ersten Überblick zu den<br />

Kommandos erhalten Sie, indem<br />

Sie [Tab] zwe<strong>im</strong>al drücken (Abbildung<br />

A). Dabei nutzen Sie die Eigenschaft<br />

aus, dass die Aptsh<br />

Kommandos und Paketnamen<br />

komplettiert. Dieses automatische<br />

Vervollständigen kennen Sie<br />

schon aus der Bash.<br />

Für eine ausführliche Hilfe steht<br />

das Kommando help bereit. Die<br />

Aptsh zeigt daraufhin den Inhalt<br />

der englischsprachigen Manpage<br />

an. Ein ebenfalls englischsprachiges<br />

Handbuch mit vielen Beispielen<br />

verbirgt sich hinter help‐howto.<br />

Um nur eine kurze Hilfe zu einem<br />

Listing 1<br />

# netselect ‐vv ftp.debian.org ftp.tu‐chemnitz.de ftp.tu‐dresden.de<br />

ftp.informatik.hu‐berlin.de<br />

Running netselect to choose 1 out of 4 addresses.<br />

.............<br />

ftp.informatik.hu‐berlin.de 9999 ms 30 hops 0% ok<br />

ftp.debian.org<br />

752 ms 12 hops 100% ok<br />

(10/10) [ 1654]<br />

ftp.tu‐chemnitz.de 9999 ms 30 hops 0% ok<br />

ftp.tu‐dresden.de 9999 ms 30 hops 0% ok<br />

1654 ftp.debian.org<br />

In der ersten Hälfte der 1990er-Jahre<br />

existierten noch recht wenige Distributionen.<br />

Zu den Pionieren zählen<br />

Yggdrasil, SLS, Slackware, Suse,<br />

Red Hat und Debian. Bis dahin gab es<br />

kaum distributionsspezifische <strong>Pakete</strong><br />

– der Anwender passte die Software<br />

nach den eigenen Bedürfnissen an<br />

und pflegte diese Version dann kontinuierlich<br />

weiter.<br />

Ein einfaches Verwalten der Software<br />

war zu diesem Zeitpunkt noch nicht<br />

möglich, weil die Strukturen nicht erdacht<br />

und umgesetzt waren. Abhängigkeiten<br />

der Software ließen sich<br />

nicht automatisch auflösen. Der Benutzer<br />

musste einerseits wissen, welche<br />

Software einander bedingte, und<br />

andererseits, welche Versionen und<br />

Varianten sich miteinander vertrugen.<br />

Namensgleiche Dateien und Verzeichnisse<br />

waren ohnehin problematisch.<br />

Die große Kunst bestand <strong>im</strong> Wissen,<br />

in welcher Reihenfolge es die Software<br />

zu installieren galt.<br />

Aus diesem Wissen heraus startete<br />

1993 das Debian-Projekt unter Ian<br />

Murdock mit einer revolutionären<br />

Der lange Weg zu Apt<br />

Idee: dem Bereitstellen von kompilierten,<br />

sauber aufeinander abgest<strong>im</strong>mten<br />

Software-<strong>Pakete</strong>n. Es folgte<br />

die Entwicklung von Dpkg („Debian<br />

Package“), dem Paketsystem, das bis<br />

heute ein robuster Baustein des Systems<br />

geblieben ist. Das Paketformat<br />

kommt unter anderem bei Derivaten<br />

wie Ubuntu und Skolelinux sowie den<br />

beiden Live-Systemen Knoppix und<br />

Grml zum Einsatz.<br />

Be<strong>im</strong> Einsatz von Dpkg besteht das<br />

Problem, dass die Abhängigkeiten zwischen<br />

den <strong>Pakete</strong>n nicht automatisch<br />

aufgelöst werden. Dem Unix-Prinzip<br />

„ein Werkzeug für eine Aufgabe“ folgend<br />

entstand Apt (Advanced Packaging<br />

Tool) als Oberfläche für Dpkg.<br />

Apt steuert Dpkg an und löst die Abhängigkeiten<br />

der <strong>Pakete</strong> automatisch<br />

auf. Durch diesen Komfort erlangte<br />

das Tool sehr schnell große Popularität.<br />

Nach kurzer Zeit standen weitere<br />

Oberflächen für Apt bereit, so zum<br />

Beispiel Aptitude, das eine Kommandozeilenschnittstelle<br />

und eine Ncurses-Oberfläche<br />

bereitstellt, sowie Synaptic<br />

für das X-Window-System.<br />

B Die Aptsh zeigt auf<br />

Wunsch eine kurze<br />

Hilfe zu den Kommandos<br />

an.<br />

www.linux-user.de<br />

06 | 12 31


schwerpunkt<br />

Apt-Shell<br />

C Die Installation des<br />

Midnight Commanders<br />

aus dem Paket mc gelingt<br />

mit dem Befehl<br />

install mc.<br />

D Da Apt intern<br />

die Abhängigkeiten<br />

zwischen den <strong>Pakete</strong>n<br />

verwaltet, sehen Sie<br />

auf einen Blick, welche<br />

<strong>Pakete</strong> eine Installation<br />

noch mit ins<br />

System holt.<br />

best<strong>im</strong>mten Befehl zu erhalten,<br />

ergänzen Sie obigen Aufruf von<br />

help um das Kommando (Abbildung<br />

B, vorherige Seite). Möchten<br />

Sie die Shell verlassen, gelingt<br />

das über die Kommandos quit<br />

und exit, alternativ steht die<br />

Kombination [Strg]+[D] bereit.<br />

Umgang mit <strong>Pakete</strong>n<br />

Zu den am häufigsten genutzten<br />

Befehlen zählt zweifelsohne install<br />

Paketname. Er dient zum Installieren<br />

von <strong>Pakete</strong>n (Abbildung<br />

C). Ergänzen Sie den Paketnamen<br />

um ein Minuszeichen,<br />

entfernen Sie <strong>Pakete</strong> wieder aus<br />

dem System (siehe remove).<br />

Der Befehl update aktualisiert die<br />

interne Paketdatenbank auf der<br />

Basis der in /etc/apt/sources.lst<br />

angegebenen Paketquellen. Sie<br />

sollten update regelmäßig und vor<br />

allem vor jedem Benutzen von<br />

install und upgrade ausführen, um<br />

nicht mit veralteten Einträgen in<br />

den Listen zu arbeiten.<br />

Mit upgrade ersetzen Sie die installierten<br />

<strong>Pakete</strong> durch aktuellere<br />

Versionen der gleichen Distribution.<br />

Regelmäßig Upgrades<br />

empfehlen sich schon wegen der<br />

Sicherheitsaktualisierungen.<br />

Mit dist‐upgrade verhält sich<br />

ähnlich wie upgrade. Hier aktualisiert<br />

das System nicht nur einzelne<br />

<strong>Pakete</strong>, sondern die komplette<br />

Distribution. Diese Aktion fällt<br />

unter Umständen sehr umfangreich<br />

aus. Daher empfiehlt es<br />

sich, vorab ausreichend Zeit einzuplanen.<br />

Das Erneuern der <strong>Pakete</strong><br />

führt häufig zu veränderten<br />

Abhängigkeiten, die wiederum<br />

weitere Korrekturen nach sich<br />

ziehen können.<br />

Das Löschen von installierten<br />

<strong>Pakete</strong>n gelingt mit den beiden<br />

Kommandos remove Paketname und<br />

purge Paketname. Bei Ersterem entfernen<br />

Sie nur die entsprechende<br />

Installation, wobei die Konfigurationsdateien<br />

unberührt bleiben.<br />

Ihre mühevoll erarbeiteten Einstellungen<br />

bleiben so erhalten<br />

und stehen bei einer erneuten<br />

Installation wieder bereit.<br />

Mit purge hingegen löschen Sie<br />

die entsprechenden Konfigurationsdateien<br />

mit. Bitte beachten<br />

Sie, dass Apt von sich aus überprüft,<br />

ob das Löschen dabei auch<br />

andere <strong>Pakete</strong> beeinträchtigt. <strong>Pakete</strong>,<br />

die ohne das von Ihnen benannte<br />

Paket nicht mehr funktionieren,<br />

schlägt es ebenfalls zum<br />

Entfernen vor. Besonders, wenn<br />

Sie Bibliotheken oder grundlegende<br />

<strong>Pakete</strong> wie den Linux-Kernel<br />

zum Löschen auswählen, fällt<br />

die Liste zu entfernender <strong>Pakete</strong><br />

sehr lang aus.<br />

Bibliotheken, die noch <strong>im</strong> System<br />

lagern, aber keinen Bezug<br />

mehr zu anderen installierten <strong>Pakete</strong>n<br />

aufweisen und daher nutzlos<br />

Speicherplatz belegen, kennzeichnet<br />

die Paketverwaltung als<br />

Waisen („orphans“). Mit dem<br />

Kommando orphans erhalten Sie<br />

die passende Liste, die Sie mit<br />

autoclean bereinigen. Das verwandte<br />

Kommando orphans‐all<br />

erweitert die Liste um alle Programme,<br />

die „beziehungslos“<br />

sind, also nicht nur Bibliotheken.<br />

Apt verwendet einen Zwischenspeicher<br />

unter /var/cache/apt/archives/,<br />

um die <strong>Pakete</strong> zu parken,<br />

die Sie von einem Mirror bezogen<br />

haben. Möchten Sie ein Paket installieren,<br />

prüft Apt vorab, ob die<br />

Datei bereits dort vorliegt, und<br />

Listing 2<br />

aptsh> dump | grep "Package:" |<br />

sort | less<br />

Package: 2vcard<br />

Package: 3270‐common<br />

Package: 3c5x9utils<br />

Package: 3dchess<br />

Package: 3depict<br />

...<br />

aptsh><br />

E Auf Wunsch liefert<br />

die Paketdatenbank<br />

statistische Daten.<br />

32 06 | 12<br />

www.linux-user.de


Apt-Shell<br />

schwerpunkt<br />

nutzt gegebenenfalls diese zur<br />

Installation. Falls noch nicht vorhanden,<br />

bezieht Apt das entsprechende<br />

Paket aus einer Paketquelle<br />

und legt eine Kopie <strong>im</strong> Zwischenspeicher<br />

ab.<br />

Je größer Ihre Exper<strong>im</strong>entierfreude<br />

ausfällt, desto mehr<br />

n<strong>im</strong>mt der Umfang des Zwischenspeichers<br />

zu. Statt den Cache von<br />

Hand zu bereinigen, indem Sie<br />

die <strong>Pakete</strong> <strong>im</strong> Verzeichnis Stück<br />

für Stück löschen, nutzen Sie einfach<br />

das Kommando clean. Dieses<br />

löscht alle <strong>Pakete</strong> aus dem Zwischenspeicher.<br />

Das Kommando show Paketname<br />

liest aus der Datenbank die Informationen<br />

zum angegebenen Paket<br />

aus und zeigt diese an. Mit<br />

showpkg Paketname hingegen sehen<br />

Sie neben der verfügbaren Version<br />

alle Abhängigkeiten. Die Befehle<br />

depends Paketname und rdepends<br />

Paketname liefern nur die jeweiligen<br />

Abhängigkeiten separat.<br />

Mittels unmet Paketname<br />

zeigt Aptsh<br />

alle unerfüllten<br />

Abhängigkeiten<br />

sowie die jeweiligen<br />

Empfehlungen<br />

(Abbildung D).<br />

Meistens informativer<br />

Natur<br />

sind die statistischen<br />

Daten zur<br />

Paketdatenbank,<br />

die das Kommando<br />

stats zugänglich<br />

macht (Abbildung<br />

E). Die Zahlen<br />

basieren auf<br />

den <strong>Pakete</strong>n, über<br />

die das System Bescheid weiß,<br />

und weicht auf Ihrem Linux-System<br />

in der Regel von denen <strong>im</strong><br />

Beispiel ab.<br />

Eine vollständige Übersicht über<br />

alle <strong>Pakete</strong> in den angegebenen<br />

Paketquellen gibt das Kommando<br />

pkgnames aus. Die Liste aller <strong>Pakete</strong>,<br />

die sich gerade <strong>im</strong> Zwischenspeicher<br />

befinden, ermittelt der<br />

Befehl dump. Beide Ausgaben fallen<br />

meist sehr ausführlich aus. Gegebenenfalls<br />

helfen die Shell-Tools<br />

Grep, Sort und Less, das Wesentliche<br />

zu extrahieren und den<br />

Überblick zu behalten (Listing 2).<br />

F Durch reguläre Ausdrücke<br />

reduzieren Sie<br />

das Suchergebnis geschickt<br />

auf die gewünschten<br />

Einträge.<br />

Einfach auf LinuX umstEigEn!<br />

DigiSub-Mini * : 2 digitale Ausgaben EasyLinux!<br />

5€<br />

FÜR 2 AUSGABEN<br />

ihRE VoRtEiLE<br />

❱ EasyLinuX ist idEaL<br />

füR WindoWs-umstEigER<br />

❱ mit schRitt-füR-schRittanLEitungEn<br />

Zum ERfoLg<br />

❱<br />

❱<br />

2X tEstEn ohnE Risiko,<br />

das digisuB-mini ist<br />

JEdERZEit kündBaR!<br />

nutZBaR auf notEBook und Pc,<br />

taBLEt odER smaRtPhonE!<br />

JEtZt gLEich BEstELLEn!<br />

n tel.: 07131 / 2707 274 n fax: 07131 / 2707 78 601 n uRL: www.easylinux.de/abo n E-mail: abo@easylinux.de<br />

www.linux-user.de<br />

06 | 12 33<br />

*geht ohne Kündigung in ein digitales Jahresabo mit 4 Ausgaben pro Jahr über und ist jederzeit kündbar!


schwerpunkt<br />

Apt-Shell<br />

G Kurzinformationen<br />

zu den ausgewählten<br />

<strong>Pakete</strong>n helfen bei der<br />

schnellen Auswahl von<br />

Software.<br />

H Was verbirgt sich<br />

in einem Paket? Das<br />

Kommando listfiles<br />

holt es ans Licht.<br />

Die Autoren<br />

Thomas Winde bietet<br />

als selbstständiger<br />

Unternehmer Ausflugsfahrten<br />

an und<br />

blickt auf eine langjährige<br />

Erfahrung als<br />

Linux-Anwender zurück.<br />

Als Mitorganisator<br />

der Chemnitzer<br />

Linux-Tage ist er für<br />

das Einsteigerforum<br />

verantwortlich und<br />

hält auf verschiedenen<br />

Veranstaltungen<br />

Vorträge.<br />

Frank Hofmann arbeitet<br />

derzeit in Berlin <strong>im</strong><br />

Büro 2.0, einem Experten-Netzwerk,<br />

als<br />

Dienstleister mit Spezialisierung<br />

auf Druck<br />

und Satz. Er ist Mitgründer<br />

von Wizards of<br />

FOSS und koordiniert<br />

seit 2008 das Treffen<br />

der Linux User Groups<br />

aus der Region Berlin-<br />

Brandenburg.<br />

Dabei fischt Grep nur solche Zeilen<br />

aus der Ausgabe von dump, die<br />

das Wort Package enthalten; Sort<br />

sortiert die Ausgabe anschließend<br />

aufsteigend und übergibt sie<br />

schließlich an den Pager Less.<br />

Mit dem Kommando search<br />

starten Sie eine Volltextsuche in<br />

der Paketdatenbank über die Paketnamen<br />

und deren Beschreibungen.<br />

Die Aptsh versteht auch<br />

find anstatt von search. Der Beitrag<br />

„Dschungelführer“ [3] beschäftigt<br />

sich ausführlich mit diesem<br />

Thema.<br />

Als weitere Befehle, die Details<br />

zu einem Paket ausgeben, bietet<br />

die Aptsh neben madison noch dotty<br />

an. Ersterer zeigt die Versionen<br />

eines Programms tabellarisch an,<br />

welche die ausgewählten Quellen<br />

anbieten; Letzterer generiert einen<br />

Graphen <strong>im</strong> Dot-<br />

Format, der die Abhängigkeiten<br />

eines <strong>Pakete</strong>s<br />

nachzeichnet.<br />

Für die Liebhaber des<br />

Veterans Dselect sind die<br />

Kommandos dumpavail<br />

und dselect‐upgrade interessant:<br />

Das erste gibt<br />

nur die Paketliste aus,<br />

das zweite aktualisiert<br />

die Dselect-Datenbank.<br />

Spezifische Befehle<br />

Die Apt-Shell verfügt<br />

über eigene Kommandos,<br />

zu denen es kaum Pendants<br />

bei Apt-get und Apt-cache gibt.<br />

Mit ls Muster und rls Muster stöbern<br />

Sie in den Quellen nach dem<br />

angegebenen Muster. Das r in rls<br />

steht für die Unterstützung regulärer<br />

Ausdrücke <strong>im</strong> Suchmuster<br />

(Abbildung F, vorige Seite).<br />

Für eine kurze Information zu<br />

einem Paket rufen Sie das Kommando<br />

whatis Paketname auf. Das<br />

gibt die kurze Beschreibung aus<br />

der Control-Datei des Debian-Pakets<br />

aus. Abbildung G zeigt die<br />

Ausgabe für die <strong>Pakete</strong> der Programme<br />

Dpkg, Aptitude, Xara-gtk<br />

und Packages earch.<br />

Das Aptsh-Kommando listfiles<br />

Paketname entspricht dem Kommando<br />

dpkg ‐L Paketname (oder<br />

dpkg ‐‐listfiles Paketname). Darüber<br />

erhalten Sie eine Auflistung<br />

aller Dateien, die in dem bezeichneten<br />

Debian-Paket enthalten<br />

sind (Abbildung H).<br />

Auf die Frage, welches Paket<br />

eine best<strong>im</strong>mte Datei enthält,<br />

gibt das Kommando whichpkg<br />

Dateiname eine Antwort. Es entspricht<br />

dem Aufruf von apt‐file<br />

search Dateiname, durchsucht die<br />

einzelnen <strong>Pakete</strong> und liefert als<br />

Ergebnis eine Liste der <strong>Pakete</strong> zurück.<br />

Abbildung I zeigt das Suchergebnis<br />

für den schlanken PDF-<br />

Betrachter Mupdf – die beiden<br />

<strong>Pakete</strong> mupdf und mupdf-tools.<br />

Falls Sie weder Kommandozeile<br />

noch Aptsh mögen, stehen noch<br />

andere Programme zum Verwalten<br />

der <strong>Pakete</strong> bereit. Dazu zählen<br />

Aptitude, Synaptic, Xara und<br />

Packagesearch. Während sich Aptitude<br />

<strong>im</strong> Terminal und auf kleineren<br />

Maschinen wohlfühlt, setzen<br />

die drei letztgenannten ein<br />

funktionierendes X-Window-System<br />

und deutlich mehr verfügbare<br />

Ressourcen voraus.<br />

Fazit<br />

Mit Apt-get und Apt-cache können<br />

Sie das gesamte Debianbasierte<br />

System installieren und<br />

stets zuverlässig auf dem aktuellen<br />

Stand halten. Die Apt-Shell<br />

vereinfacht das Bedienen der<br />

Werkzeuge. Brauchen Sie nähere<br />

Informationen zum Inhalt der<br />

<strong>Pakete</strong>, ist Apt-file das Richtige.<br />

Verwenden Sie kein Debian und<br />

keines seiner Derivate, brauchen<br />

Sie trotzdem nicht auf die Vorteile<br />

von Apt zu verzichten: Diverse<br />

Portierungen stehen bereit, darunter<br />

Apt-rpm [4] und sogar Apt<br />

für Windows [5]. (agr) n<br />

info<br />

[1] Paket Netselect-apt: http:// packages.​<br />

debian. org/ squeeze/ netselect‐apt<br />

[2] Paket Netselect: http:// packages. debian.​<br />

org/ squeeze/ netselect<br />

[3] <strong>Pakete</strong> finden mit Debtags: Frank Hofmann,<br />

„Dschungelführer“, LU 06/​2012, S. 22,<br />

http:// www. linux‐community. de/ 25926<br />

[4] Apt-rpm: http:// apt‐rpm. org<br />

[5] Apt für Windows:<br />

http:// code. google. com/ p/ apt‐windows/<br />

I Bei der Suche nach<br />

best<strong>im</strong>mten Dateien in<br />

einem Paket unterstützt<br />

Sie Apt-Shell mit<br />

dem Befehl whichpkg.<br />

34 06 | 12<br />

www.linux-user.de


Apt-Pinning<br />

schwerpunkt<br />

Tricks zum Mischen<br />

von Debian-Releases<br />

Festgenagelt<br />

Dank Pinning mischen Sie<br />

in behutsamen Dosen ein<br />

stabiles Debian mit ausgesuchten<br />

topaktuellen Komponenten –<br />

und profitieren dabei trotzdem von<br />

problemlosen Updates.<br />

Thomas Drilling<br />

© Barunpatro, sxc.hu<br />

Zwar steckt bei vielen Distributionen<br />

ein Debian unter der Haube,<br />

doch war das Original selbst<br />

als Desktop-Distribution lange<br />

weniger populär als seine diversen<br />

Abkömmlinge: Insbesondere<br />

der Stable-Zweig enttäuschte <strong>im</strong><br />

Desktop-Einsatz durch mangelnde<br />

Aktualität der Programme. Für<br />

den Server-Einsatz boten die<br />

Stable-<strong>Pakete</strong> andererseits aufgrund<br />

der Stabilität oft die ideale<br />

Basis. Desktop-Nutzer wichen auf<br />

ein Derivat aus oder nutzten das<br />

Unstable-Repository. Im Gegensatz<br />

zu früheren Jahren gilt Debian<br />

Unstable übrigens zum gegenwärtigen<br />

Zeitpunkt durchaus als<br />

brauchbare Basis für ein System.<br />

Mischmasch<br />

Möchten Sie trotzdem grundsätzlich<br />

be<strong>im</strong> Stable-Release bleiben<br />

und benötigen nur das eine oder<br />

andere Paket in einer neueren<br />

Version, dann finden Sie das Gewünschte<br />

häufig <strong>im</strong> Testing-, Unstable-<br />

oder Exper<strong>im</strong>ental-Zweig.<br />

Dabei brauchen Sie das Paket<br />

nicht manuell an der Paketverwaltung<br />

vorbei aus dem Quellcode<br />

oder einer externen Quelle<br />

zu installieren, was ohnehin <strong>im</strong>mer<br />

die Stabilität des Gesamtsystems<br />

gefährdet.<br />

Das intelligente Paketmanagement<br />

von Debian ermöglicht das<br />

individuelle Mischen von <strong>Pakete</strong>n<br />

aus den verschiedenen Zweigen.<br />

Allerdings sind dabei Probleme<br />

mit den Abhängigkeiten vorprogrammiert.<br />

Um dem vorzubeugen,<br />

erweitern Sie als Erstes die<br />

Konfigurationsdatei /etc/apt/apt.<br />

conf um den folgenden Eintrag:<br />

APT:: Default‐Release "stable"<br />

Damit setzen Sie ein sogenanntes<br />

Target-Release, mit dem Sie der<br />

Paketverwaltung mitteilen, dass<br />

sie be<strong>im</strong> Holen von <strong>Pakete</strong>n das<br />

Stable-Release bevorzugen soll,<br />

selbst wenn für ein Paket mehrere<br />

passende Versionen existieren.<br />

Apt verwendet dann be<strong>im</strong> Aktualisieren<br />

oder Installieren stets die<br />

hier angegebene Version und ignoriert<br />

etwaige neuere <strong>Pakete</strong> aus<br />

anderen Releases.<br />

Alternativ übergeben Sie das<br />

Ziel-Release auf der Kommandozeile<br />

an das Programm Apt-get als<br />

Parameter. Möchten Sie tatsächlich<br />

ein Paket in einer neueren<br />

Version installieren, teilen Sie<br />

Apt-get be<strong>im</strong> Aufruf explizit den<br />

Wechsel auf das neuere Release<br />

für das betreffende <strong>Pakete</strong> mit.<br />

Listing 1 zeigt zwei alternative<br />

Aufrufe für diesen Zweck.<br />

Mit beiden Kommandos weisen<br />

Sie Apt-get an, das Paket icedove<br />

(die Thunderbird-Variante von<br />

Debian) entgegen der Voreinstellung<br />

mitsamt den zugehörigen<br />

Abhängigkeiten aus dem Unstable-Zweig<br />

zu installieren. Dieses<br />

Verfahren des manuellen Mischens<br />

zweier Releases funktioniert<br />

zwar <strong>im</strong> Einzelfall, birgt<br />

aber Gefahren. Je mehr <strong>Pakete</strong><br />

Sie aus Stable und Unstable oder<br />

Stable und Testing mischen, umso<br />

mehr Abhängigkeiten zieht Aptget<br />

nach und installiert dazu weitere<br />

Bibliotheken, die ihrerseits<br />

Updates erfordern.<br />

Die Praxis lehrt, dass dieses Verfahren<br />

nur <strong>im</strong> begrenzten Umfang<br />

zuverlässig funktioniert –<br />

und wenn, dann nur für zwei Re-<br />

sudo apt‐get ‐t testing install icedove<br />

sudo apt‐get install icedove/testing<br />

README<br />

Die Paketverwaltung von<br />

Debian gilt als besonders<br />

flexibel. Daher<br />

dient sie auch oft als<br />

Fundament für andere<br />

Distributionen, die sich<br />

vom Original oft nur<br />

durch einen aktuelleren<br />

Vorrat an <strong>Pakete</strong>n abheben.<br />

Streben Sie ein<br />

möglichst aktuelles Debian<br />

an, können Sie<br />

aber auch mittels Apt-<br />

Pinning Quellen aus Stable,<br />

Unstable und Testing<br />

mischen.<br />

Listing 1<br />

www.linux-user.de<br />

06 | 12 35


schwerpunkt<br />

Apt-Pinning<br />

Default-Prioritäten<br />

Priorität<br />

Bedeutung<br />

leases. Mischen Sie dagegen <strong>Pakete</strong><br />

aus Stable, Unstable und Testing<br />

oder gar Exper<strong>im</strong>ental, bemerken<br />

Sie mit Sicherheit bald Probleme<br />

bei der Stabilität. Ein vollständiges<br />

Release-Update auf Unstable<br />

mittels apt‐get dist‐upgrade bringt<br />

in diesem Fall meist ein zuverlässigeres<br />

System hervor.<br />

Pinning<br />

Es gibt aber noch einen weiteren<br />

Weg, <strong>Pakete</strong> aus verschiedenen<br />

Releases zu mischen: Pinning (genauer<br />

Apt-Pinning) ist eine Technik,<br />

mit der Sie konkret steuern,<br />

welche der in der Datei /etc/apt/<br />

sources.list eingetragenen Paketquellen<br />

Apt be<strong>im</strong> Installieren eines<br />

<strong>Pakete</strong>s bevorzugt.<br />

Enthält die Konfiguration mehrere<br />

Paketquellen – dabei darf es<br />

sich durchaus um unterschiedliche<br />

Releases handeln, etwa<br />

Stable und Testing – dann existiert<br />

ein Paket höchstwahrscheinlich<br />

in verschiedenen Versionen.<br />

Apt ermittelt per Default für jede<br />

einzelne Version des <strong>Pakete</strong>s eine<br />

Priorität und installiert dann die<br />

< 0 Apt installiert das Paket niemals.<br />

1 bis 100 Apt installiert das Paket nur, wenn es noch keine installierte<br />

Version des <strong>Pakete</strong>s gibt.<br />

101 bis<br />

500<br />

501 bis<br />

990<br />

991 bis<br />

1000<br />

Apt installiert das Paket, es sei denn, die installierte<br />

Version ist neuer oder es existiert in einem anderen<br />

Release (bezogen auf Stable, Testing, Unstable) eine<br />

neuere Version.<br />

Apt installiert das Paket, es sei denn, es gibt eine<br />

zum Target-Release gehörige Version oder die installierte<br />

Version ist neuer.<br />

Apt installiert das Paket auf jeden Fall, es sei denn<br />

die installierte Version ist neuer.<br />

> 1000 Apt installiert das Paket auf jeden Fall, auch wenn das<br />

Installieren ein Downgrade nach sich zieht.<br />

Pinning-Parameter<br />

Parameter Schlüsselwort Bedeutung Beispiel<br />

a= archive Zweig unstable, testing<br />

c= component Komponente main, contrib,<br />

non‐free<br />

l= label Bezeichner Debian, DeMudi<br />

n= name Codename wheezy, sid<br />

o= origin Herkunft Debian, DeMudi<br />

v= version Version 6.0.3<br />

Version mit der höchsten Vorrangstufe.<br />

Die Apt-Konfigurationsdatei<br />

/ etc/apt/preferences dient dem expliziten<br />

Festlegen solcher Stellenwerte<br />

und überschreibt die automatisch<br />

ermittelte Priorität, was<br />

Ihnen eine feinere und bessere<br />

Kontrolle darüber erlaubt, welche<br />

Version eines <strong>Pakete</strong>s Sie installieren.<br />

Passt in der Datei preferences<br />

kein Eintrag auf die zu installierende<br />

Software oder existiert<br />

keine solche Datei, verwendet<br />

Apt eine Default-Priorität (siehe<br />

Tabelle Default-Prioritäten).<br />

Seit Debian 6 geschieht das Pinning<br />

nicht mehr explizit in einer<br />

einzigen Datei (/etc/apt/preferences),<br />

sondern in Form mehrerer<br />

Dateien <strong>im</strong> Verzeichnis /etc/apt/<br />

preferences.d. Jede einzelne darf<br />

beliebig viele Regeln enthalten.<br />

Die Namen der Dateien dürfen<br />

Sie frei wählen. Jede Regel besteht<br />

aus einem Block der in<br />

Listing 2 gezeigten Form.<br />

In die erste Zeile Package gehört<br />

<strong>im</strong>mer der Name des <strong>Pakete</strong>s, der<br />

gegebenenfalls Jokerzeichen enthalten<br />

darf, zum Beispiel den Asterisk<br />

(*) für alle <strong>Pakete</strong>. In der<br />

Zeile Pin: definieren Sie das Kriterium<br />

für die Installation: Eine<br />

solche umfasst bei Bedarf das Release,<br />

die Version oder die Herkunft<br />

(engl.: „origin“), wobei Sie<br />

Wildcards verwenden dürfen. Die<br />

Tabelle Pinning-Parameter zeigt<br />

mögliche Optionen.<br />

Listing 2<br />

Package: Paket<br />

Pin: PIN‐Definition<br />

Pin‐Priority: Priorität<br />

Listing 3<br />

Package: icedove<br />

Pin: version 3.0.*<br />

Pin‐Priority: 1001<br />

Package: *<br />

Pin: origin ""<br />

Pin‐Priority: 999<br />

Package: *<br />

Pin: release unstable<br />

Pin‐Priority: 20<br />

In der dritten Zeile folgt schließlich<br />

die Priorität, also der numerischen<br />

Wert gemäß der Angaben<br />

aus der Tabelle Default-Prioritäten.<br />

Das Zusammenwirken der<br />

einzelnen Möglichkeiten und Optionen<br />

wird verständlicher, wenn<br />

Sie sich einige Beispiele ansehen.<br />

Das etwas komplexere Beispiel<br />

aus Listing 3 zeigt die Möglichkeiten<br />

von Apt-Pinning auf.<br />

Apt arbeitet die Einträge in der<br />

angegebenen Reihenfolge von<br />

oben nach unten ab. Dabei ignoriert<br />

es alle weiteren Einträge, sobald<br />

es auf einen für das Paket<br />

oder die Gruppe passenden Eintrag<br />

trifft. Die Konfiguration bewirkt<br />

aufgrund des ersten Eintrags,<br />

dass Apt <strong>im</strong>mer die aktuellste<br />

Version von Icedove 3.0.x<br />

installiert, also selbst dann, wenn<br />

aufgrund eines in den Paketquellen<br />

vorhandenen Unstable-Releases<br />

eine Version 3.1 existiert. Der<br />

Eintrag bewirkt sogar, dass das<br />

Paketmanagement einen Downgrade<br />

auf 3.0.x vorn<strong>im</strong>mt, sobald<br />

Sie mit Apt-get versuchen, das<br />

Paket icedove zu installieren, dieses<br />

aber bereits in Version 3.1<br />

eingrichtet ist.<br />

Der zweite Eintrag sorgt dafür,<br />

dass jedes andere auf dem lokalen<br />

System installierte Paket eine höhere<br />

Priorität erhält. Das gewährleistet<br />

wiederum, dass der Paketmanager<br />

bei einem Update oder<br />

be<strong>im</strong> Auflösen von Abhängigkeiten<br />

nur wenige oder gar keine<br />

neuen Versionen aus einem Online-Repository<br />

holt.<br />

Der dritte Eintrag der Konfiguration<br />

sorgt schließlich dafür,<br />

dass Apt ein auf dem lokalen System<br />

noch gar nicht installiertes<br />

Paket aus einem in Ihrer /etc/apt/<br />

sources. list aufgeführten Uns<br />

ta ble- Release installiert, sobald<br />

Sie es explizit zum Installieren<br />

aufrufen. Bei einem bereits installierten<br />

Paket würde Apt allerdings<br />

Listing 4<br />

Package: *<br />

Pin: release v=6.04, l=Debian<br />

Pin‐Priority: 1000<br />

36 06 | 12<br />

www.linux-user.de


Apt-Pinning<br />

schwerpunkt<br />

aufgrund der höheren Priorität<br />

des zweiten Eintrags ein bereits<br />

installiertes Paket aus dem Stable-<br />

Release behalten, obwohl es sich<br />

um eine ältere Version handelt.<br />

Pinning-Grundlagen<br />

Ein paar Beispiele verdeutlichen<br />

am besten, wie Sie das Pinning<br />

gezielt nach Release, Herkunft<br />

oder Version steuern. Das Festnageln<br />

auf ein Release dürfte der<br />

häufigsten Form der Anwendung<br />

entsprechen. Mit dem Eintrag aus<br />

Listing 4 haben ab sofort sämtliche<br />

<strong>Pakete</strong> aus der derzeitigen<br />

Stable-Distribution den Vorzug<br />

(v=6.04), selbst wenn in anderen<br />

Paketquellen aktuellere <strong>Pakete</strong><br />

existieren sollten. Der Versuch,<br />

ein solches Verhalten mit einem<br />

einfachen Pin: release a=stable zu<br />

steuern würde fehlschlagen, da<br />

dies die Stable-Paketquelle squeezeupdates<br />

nicht berücksichtigt.<br />

Listing 5<br />

Package: *kde<br />

Pin: origin ftp.informatik.<br />

tu‐berlin.de<br />

Pin‐Priority: 600<br />

Package: samba*<br />

Pin: version 3.5.6*<br />

Pin‐Priority: 1000<br />

Listing 6<br />

Das Pinning nach Herkunft ist<br />

ebenfalls eine gelegentlich anzutreffende<br />

Form des Pinnings. Mit<br />

dem Eintrag aus Listing 5 erreichen<br />

Sie, dass Apt für ein Paket<br />

oder eine Paketgruppe eine ganz<br />

best<strong>im</strong>mte Quelle (etwa ein eigenes,<br />

selbst gepflegtes Repository)<br />

bevorzugt, weil die <strong>Pakete</strong> dort<br />

aktueller sind.<br />

Das Pinning nach Version ermöglicht<br />

es, das Installieren eines<br />

<strong>Pakete</strong>s in einer ganz best<strong>im</strong>mten<br />

Version zu erzwingen. Mit dem<br />

Eintrag aus Listing 6 verhindern<br />

Sie beispielsweise explizit, dass<br />

das Paketmanagement das Paket<br />

samba jemals in einer neueren<br />

Version als 3.5.6.x installiert. Außerdem<br />

verhindert die dritte Zeile<br />

der Konfiguration das unbeabsichtigte<br />

„automatische“ Deinstallieren<br />

des <strong>Pakete</strong>s aufgrund<br />

von Konflikten.<br />

Package: *<br />

Pin: release a=testing<br />

Pin‐Priority: 1000<br />

Package: *<br />

Pin: release a=unstable<br />

Pin‐Priority: 900<br />

Package: *<br />

Pin: release o=Debian<br />

Pin‐Priority: 10<br />

Listing 7<br />

Bei den Einträgen in Listing 7 genießt<br />

das Testing-Release grundsätzlich<br />

die höchste Priorität, der<br />

Unstable-Zweig erhält eine etwas<br />

niedrigere Priorität. <strong>Pakete</strong> aus<br />

anderen Releases haben mit 10<br />

eine sehr niedrigere Priorität. Mit<br />

dieser Konfiguration erreichen<br />

Sie, dass Apt grundsätzlich <strong>Pakete</strong><br />

aus Testing bevorzugt.<br />

Fazit<br />

Mit dem Pinning existiert seit<br />

Debian „Woody“ eine elegante,<br />

aber auch komplexe Möglichkeit,<br />

unter Debian <strong>Pakete</strong> aus unterschiedlichen<br />

Releases in einem<br />

System zu mischen. Obwohl dies<br />

relativ gut funktioniert, sollten<br />

Sie es damit nicht übertreiben:<br />

Die Erfahrung lehrt, dass dieses<br />

Verfahren in der Regel nur mit<br />

zwei verschiedenen Releases<br />

wirklich gut funktioniert.<br />

Pinning klappt übrigens mit allen<br />

Debian-basierten Distributionen:<br />

Bei Ubuntu lauten lediglich<br />

die Bezeichnungen für Releases,<br />

Versionen und Abteilungen anders.<br />

(agr/​jlu) n<br />

info<br />

[1] Apt-Pinning-Howto: http://​debian an wen<br />

derhandbuch. de/ apt‐get. html<br />

[2] Preferences-Datei:<br />

http:// wiki. debian. org/ de/ AptPreferences<br />

Android User <strong>im</strong> Abo<br />

Die Monatszeitschrift für Android-Fans, Smartphone- und Tablet-Nutzer<br />

Jetzt bestellen unter:<br />

www.android–user.de/abo<br />

www.linux-user.de<br />

Telefon 07131 / 2707 274 • Fax 07131 / 2707 78 601 • E-Mail: abo@android-user.de<br />

Neu mit Prämie!<br />

15% sparen be<strong>im</strong> Print- oder<br />

Digital-Abo und exklusive<br />

Prämie sichern!<br />

Tasche ist nicht <strong>im</strong> Handel erhältlich.<br />

Angebot gilt nur solange der Vorrat<br />

reicht.<br />

06 | 12 37


schwerpunkt<br />

Checkinstall<br />

Paketbau in Eigenregie mit Checkinstall<br />

Gut geschnürt<br />

Ihr Lieblingsprogramm gibt es nur als Quelltext zum Selbstbauen?<br />

Kein Problem: Mithilfe von Checkinstall bekommen Sie die Software<br />

sauber ins System und auch wieder heraus. Thomas Drilling<br />

© Goodmorph, sxc.hu<br />

README<br />

Selbst geschnürte <strong>Pakete</strong><br />

bieten den Vorteil,<br />

die Software sauber ins<br />

System integrieren und<br />

wieder entfernen zu können.<br />

Das Skript Checkinstall<br />

hilft, die notwendigen<br />

Angaben zu sammeln,<br />

und übern<strong>im</strong>mt<br />

das Bauen des entsprechenden<br />

<strong>Pakete</strong>s.<br />

Optionen<br />

Option<br />

Funktion<br />

Linux-Anwender sehen sich heute<br />

selten mit der Situation konfrontiert,<br />

Software aus Quellcode<br />

übersetzen und installieren zu<br />

müssen. Die Paketquellen aller<br />

wichtigen Distributionen zeigen<br />

sich bestens bestückt, bei Debian<br />

„Squeeze“ finden sich beispielsweise<br />

über 29 000 <strong>Pakete</strong> in den<br />

Repositories [1]. Hinzu kommen<br />

zahlreiche Spezialquellen mit launigen<br />

Namen wie Launchpad,<br />

Packman, RPM Fusion, Medibuntu<br />

oder Demudi.<br />

Manchmal kommt es trotzdem<br />

vor, dass Sie auf der Suche nach<br />

einem Programm auf Freecode [2]<br />

‐D erzeugt ein Debian-Paket<br />

‐R erzeugt ein RPM-Paket<br />

‐S erzeugt ein Slackware-Paket<br />

‐‐include= Dateien be<strong>im</strong> Bauen des Pakets miteinbeziehen<br />

‐‐exclude= Dateien nicht mit ins Paket aufnehmen<br />

‐‐nodoc keine Dokumentation mit ins Paket aufnehmen<br />

‐‐newslack erzeugt eine Paketbeschreibung für Slackware 8.1<br />

oder neuer<br />

‐‐backup Dateien sichern, die das Installationsskript verändert<br />

‐‐help zeigt eine Übersicht über alle Optionen<br />

‐‐version zeigt die Programmversion an<br />

oder Sourceforge [3] nur auf den<br />

Quellcode stoßen. Dann heißt es<br />

selbst Hand anlegen. Gleiches<br />

gilt, wenn Sie auf die neueste Entwicklerversion<br />

angewiesen sind<br />

und diese direkt aus dem Versionskontrollsystem<br />

ausbuchen.<br />

Licht und Schatten<br />

Zwar erweist sich der Zugriff auf<br />

den Quellcode zweifelsohne als<br />

Vorteil von Linux gegenüber proprietären<br />

Plattformen, der Einsatz<br />

bringt aber – vom Aufwand<br />

des Übersetzens einmal ganz abgesehen<br />

– auch Probleme mit<br />

sich. Schließlich haben die Entwickler<br />

nicht umsonst das Paketmanagement<br />

erfunden und pflegen<br />

ihre jeweiligen Ansätze mit<br />

meist großen Aufwand.<br />

Wer Software mit dem Compiler<br />

übersetzt und mit make install ins<br />

System integriert, der mogelt sich<br />

an den Paketmanagementsystemen<br />

vorbei. Diese bemerken solche<br />

Software schlicht nicht und<br />

berücksichtigen sie folglich nicht<br />

be<strong>im</strong> Prüfen von Abhängigkeiten.<br />

Dabei geht zwangsläufig irgendwann<br />

der Überblick über die installierte<br />

Software verloren. Zudem<br />

lässt sich auf diese Weise<br />

ins tallierte Software nur mit<br />

Mühe wieder entfernen, weil viele<br />

Entwickler dem Makefile das<br />

dazu erforderliche Ziel uninstall<br />

nicht <strong>im</strong>mer beifügen.<br />

Das Aktualisieren einer direkt<br />

aus den Quellen eingerichteten<br />

Software fällt ebenfalls kompliziert<br />

aus. Weitere Probleme drohen<br />

bei selbst übersetzten Bibliotheken:<br />

Installieren Sie ein anderes<br />

Programm, das dieselbe Bibliothek<br />

benötigt, regulär mithilfe<br />

des Paketmanagements, bemerkt<br />

dies das Vorhandensein der Bibliothek<br />

nicht und behandelt sie<br />

als fehlende Abhängigkeit.<br />

Gern führen Verfechter des manuellen<br />

Paketbaus das Argument<br />

des komfortablen Verteilens an,<br />

was für den Einsatz des <strong>im</strong><br />

Folgenden vorgestellten Tools<br />

Checkinstall [4] aber nicht zutrifft:<br />

Das Tool schafft Probleme<br />

mit Abhängigkeiten nicht oder<br />

nur bedingt aus der Welt.<br />

Wer also den Bau von <strong>Pakete</strong>n<br />

anstrebt, um Software für best<strong>im</strong>mte<br />

Distributionen zu verteilen,<br />

dem bleibt kaum eine Alternative<br />

zu manuellen Verfahren<br />

38 06 | 12<br />

www.linux-user.de


Hochwertiges Glas-Display<br />

Kapazitiver 7”-Multitouch<br />

HD-Wiedergabe über HDMI<br />

Original Google App-Pack<br />

microSD-Karte bis 32 GB<br />

UMTS Internet über USB<br />

Android 4.0-Tablet mit<br />

kapazitivem 7”-TFT<br />

3 Opt<strong>im</strong>ierte System-Performance<br />

3 Schneller, präziser, bequemer<br />

3 Neueste Android-Version 4.0<br />

3 WLAN integriert, UMTS 3G<br />

3 HDMI-Ausgang für FullHD<br />

3 Inkl. G-Data Security App für<br />

mehr Sicherheit<br />

3 Webcam, Mikro, Lautsprecher<br />

3 Schneller DDR3-RAM<br />

Bestell-Nr. PX-8778–374<br />

Ausführliche Infors unter:<br />

www.pearl.de/lu06<br />

7”-Glaspanel<br />

4.0<br />

Jetzt mit<br />

Android 4.0<br />

Multitouch Tablet<br />

Android 4.0 & Glas-TFT<br />

Jetzt gleich Code scannen und bestellen:<br />

Preis-Hit!<br />

statt 1 f 199,90<br />

f99, 90<br />

www.pearl.de/lu06<br />

1=ursprüngliche UVP des Lieferanten · Keine Gewähr für Aktualität. · Preis zzgl. Versandkosten (innerhalb Deutschlands d 4,90 bei Bankeinzug) · PEARL Agency Allgemeine Vermittlungsgesellschaft mbH, Pearl-Str. 1-3, 79426 Buggingen, Germany


schwerpunkt<br />

Checkinstall<br />

A Im Beispiel prüft<br />

Configure wie üblich<br />

die Voraussetzungen<br />

für die Installation.<br />

wie Dpkg-deb (Debian/​Ubuntu)<br />

oder Rpmbuild (Fedora/​Open­<br />

Suse). Das bedeutet aber einen<br />

erheblichen Aufwand und setzt<br />

grundlegende Kenntnisse <strong>im</strong><br />

Paketbau sowie <strong>im</strong> Umgang mit<br />

Entwicklungswerkzeugen voraus.<br />

Funktionsumfang<br />

Möchten Sie dagegen auf einem<br />

lokalen Rechner Software über<br />

das Paketmanagement verwalten,<br />

dann eignet sich die automatische<br />

Methode mit Checkinstall<br />

opt<strong>im</strong>al – und genau dafür ist sie<br />

gedacht. Das pfiffige kleine Skript<br />

von Felipe Eduardo Sánchez Díaz<br />

Durán kursiert seit vielen Jahren<br />

– erste Versionen stammen aus<br />

dem Jahr 2000.<br />

Checkinstall erstellt aus einem<br />

vorkompilierten Quelltextpaket<br />

automatisch ein Distributionspaket.<br />

Das funktioniert via Parameter<br />

wahlweise für Debian, Open­<br />

Suse oder sogar Slackware. In Abhängigkeit<br />

des zugehörigen Parameters<br />

spuckt es am Ende ein<br />

passendes Paket aus. Die über<br />

Jahre am häufigsten eingesetzte<br />

Checkinstall-Version 1.6.1 datiert<br />

auf 2006, die noch aktuelle und<br />

in nahezu allen Distributionen<br />

enthaltene Version 1.6.2 <strong>im</strong>merhin<br />

auf das Jahr 2008.<br />

Gemäß Beschreibung in den Debian<br />

Paketquellen handelt es sich<br />

bei dem Programm um einen<br />

„Installations-Verfolger“, was<br />

ziemlich treffend beschreibt, was<br />

das Skript tut: Checkinstall überwacht<br />

die Anpassungen von Installationsroutinen<br />

wie make install<br />

und erstellt aus den gesammelten<br />

Daten ein Paket. Sie können<br />

das erstellte Paket dann nutzen,<br />

um die Software bei Bedarf<br />

wieder vom System zu entfernen,<br />

theoretisch aber auch, um sie auf<br />

anderen Rechnern zu installieren.<br />

Letzteres funktioniert nur bedingt,<br />

je nachdem ob das Programm<br />

Abhängigkeiten aufweist<br />

und welcher Art diese sind. Außerdem<br />

gibt es weitere Einschränkungen:<br />

Das Skript funktioniert<br />

nicht bei Programmen, die<br />

statisch gegen die Libc linken,<br />

oder bei solchen, bei denen das<br />

SUID/​GUID-Bit gesetzt ist.<br />

Checkinstall erledigt seine Aufgabe<br />

arbeitsteilig: Nach dem Sammeln<br />

der Informationen erstellt<br />

es ein weiteres, temporäres Skript<br />

und führt dieses wiederum mit<br />

dem Skript installwatch aus, das<br />

ebenfalls zum Umfang von<br />

Check install gehört. Dieses wiederum<br />

greift auf eine Bibliothek<br />

zurück, die letztendlich die Dateizugriffe<br />

protokolliert.<br />

hen zum Übersetzen von Quellcode<br />

der klassische Dreisatz der<br />

nächste logische Schritt:<br />

# ./configure && make && make inU<br />

stall<br />

Dabei prüft der Configure-Aufruf<br />

Abhängigkeiten und Voraussetzungen,<br />

das Kommando make<br />

zeichnet für das eigentliche Übersetzen<br />

zuständig, und make install<br />

kopiert die übersetzten Code-<br />

Teile schließlich <strong>im</strong> System, was<br />

bedeutet, dass es je nach Komplexität<br />

des Programms zahlreiche<br />

Files <strong>im</strong> Dateibaum verteilt.<br />

Um das Ausführen eines mitgelieferten<br />

Configure-Skriptes kommen<br />

Sie nicht herum. Nur so finden<br />

Sie heraus, ob die Voraussetzungen<br />

für die Installation überhaupt<br />

erfüllt sind, und haben die<br />

Möglichkeit, vorab nachzubessern<br />

– etwa indem Sie Devel­<br />

<strong>Pakete</strong>, Compiler und Bibliotheken<br />

installieren (Abbildung A).<br />

Den Aufruf make install sollten<br />

Sie dagegen künftig durch checkinstall<br />

ersetzen. Ohne Parameter<br />

führt Checkinstall ein make install<br />

aus. Alternativ geben Sie das zu<br />

beobachtende Skript über einen<br />

Parameter an:<br />

# checkinstall ‐D install.sh<br />

Um das Auflösen von Abhängigkeiten<br />

müssen Sie sich selbst<br />

kümmern. Es besteht die Möglichkeit,<br />

Abhängigkeiten mit ‐‐requires<br />

anzugeben. Damit findet<br />

sich die Angabe aber lediglich in<br />

der Steuerdatei des Pakets wieder.<br />

Die Option ‐D <strong>im</strong> Beispiel erzeugt<br />

ein Debian-Paket, weitere Ausgabeformate<br />

finden Sie der Tabelle<br />

Optionen auf der vorigen Seite.<br />

Einsatz<br />

Haben Sie den Quellcode des auserkorenen<br />

Programms heruntergeladen,<br />

in einem beliebigen mit<br />

passenden Rechten versehenen<br />

Verzeichnis entpackt und die Entwicklungswerkzeuge<br />

installiert,<br />

dann wäre be<strong>im</strong> regulären Vorge­<br />

info<br />

[1] Anzahl der <strong>Pakete</strong> in „Squeeze“:<br />

http:// de. wikipedia. org/ wiki/ Debian#​<br />

Versionsgeschichte<br />

[2] Freecode: http:// freecode. com<br />

[3] Sourceforge: http:// sourceforge. net<br />

[4] Checkinstall: http:// asic‐linux. com. mx/​<br />

~izto/ checkinstall/<br />

40 06 | 12<br />

www.linux-user.de


Checkinstall<br />

schwerpunkt<br />

Bei Bedarf unterbinden Sie das automatische<br />

Einrichten mit dem<br />

Parameter ‐‐install=no und erzeugen<br />

nur das Paket, etwa zum späteren<br />

Installieren <strong>im</strong> Live-System.<br />

Hat das Skript alle gewünschten<br />

Parameter erfasst, stellt es abschließend<br />

einige Fragen.<br />

Das Programm bietet an, die Dokumentation<br />

ins Paket aufzunehmen.<br />

Danach haben Sie die Möglichkeit,<br />

eine Beschreibung für die<br />

Software zu hinterlegen (Abbildung<br />

B). Diese findet sich <strong>im</strong> Paketmanager<br />

wieder. Wer Checkinstall<br />

nur nutzt, um ein Quellpaket<br />

für lokale Rechner zu erzeugen,<br />

verzichtet darauf in der Regel.<br />

Danach zeigt Checkinstall eine<br />

Übersicht der Informationen an,<br />

die Sie noch einmal bearbeiten<br />

dürfen. Achten Sie in jedem Fall<br />

auf den korrekten Namen des <strong>Pakete</strong>s<br />

nebst Versionsnummer.<br />

Check install konstruiert diese beiden<br />

Informationen ohne Angabe<br />

aus dem Namen des Verzeichnisses,<br />

in dem Sie das Skript ausführen.<br />

Der richtige Paketname ist<br />

besonders wichtig, wenn Sie eine<br />

neuere Version eines <strong>Pakete</strong>s installieren,<br />

das Sie in einer älteren<br />

Version oder aus einer anderen<br />

Quelle über das reguläre Paketmanagement<br />

bereits installiert<br />

haben. Mit der Möglichkeit, den<br />

Namen dann entsprechend abzuändern,<br />

verhindern Sie, dass das<br />

System ein Paket überschreibt.<br />

Checkinstall warnt aber <strong>im</strong> Übrigen<br />

davor, dass ein Überschreiben<br />

einer über das reguläre Paketmanagement<br />

bereits installierten Datei<br />

droht, und bricht dann ab. In<br />

ähnlicher Weise führt eine falsche<br />

Versionsnummer dazu, dass die<br />

Paketverwaltung das ältere Paket<br />

wieder als Aktualisierung vorschlägt.<br />

Sie kommen also in solchen<br />

Fällen nicht umhin, sich mit<br />

dem Schema der Programmversionen<br />

der von Ihnen genutzten Distribution<br />

auseinanderzusetzen.<br />

Checkinstall zeigt nach dem Fertigstellen<br />

der Installation an, ob<br />

diese erfolgreich verlief.<br />

Fazit<br />

Wann <strong>im</strong>mer Sie in Zukunft Software<br />

aus Quellen übersetzen wollen<br />

oder müssen, lohnt sich der<br />

Einsatz von Checkinstall. Das<br />

pfiffige Skript protokolliert den<br />

Installationsprozess und stellt damit<br />

bei Bedarf eine Option zur<br />

Deinstallation bereit – quasi als<br />

Nebeneffekt des <strong>Pakete</strong>s.<br />

Das Tool aber deshalb als Paketbau-Automaten<br />

zu beschreiben,<br />

wäre reichlich übertrieben, denn<br />

die Checkinstall-Methode ist und<br />

bleibt ein Provisorium. Sie erstellen<br />

lediglich ein einfaches Paket,<br />

in der Regel ohne jede Information<br />

zu Abhängigkeiten. Daher<br />

eignen sich mit dem Skript gebaute<br />

<strong>Pakete</strong> nicht zur Weitergabe<br />

– es sei denn, Sie berücksichtigen<br />

Abhängigkeiten bereits be<strong>im</strong><br />

Bauen des <strong>Pakete</strong>s. (agr) n<br />

B Checkinstall fragt<br />

interaktiv fehlende<br />

Informationen ab, etwa<br />

eine Beschreibung für<br />

das Paket.<br />

MAGAZIN<br />

ONLINE<br />

Linux-Magazin newsLetter<br />

Newsletter<br />

informativ<br />

kompakt<br />

Nachrichten rund um die<br />

Themen Linux und Open<br />

Source lesen Sie täglich<br />

<strong>im</strong> Newsletter des Linux-<br />

Magazins.<br />

tagesaktuell<br />

06 | 12 41<br />

www.linux-magazin.de/newsletter<br />

www.linux-user.de


schwerpunkt<br />

Ubuntu 12.04 Software-Center<br />

Canonicals App-Store für Linux<br />

Paketzentrale<br />

Von der Alternative<br />

für die Paketverwaltung<br />

zum<br />

zentralen App-<br />

Store <strong>im</strong> Stil von<br />

Apple und Android<br />

– mit dem aktuellen<br />

Ubuntu 12.04<br />

wird das Ubun tu<br />

Software-Center<br />

erwachsen.<br />

Thomas Drilling<br />

README<br />

Optisch und funktional<br />

hat das Ubuntu Software-Center<br />

zwar durchaus<br />

einiges zu bieten,<br />

besonders <strong>im</strong> neuen<br />

Ubuntu 12.04. Bei genauerer<br />

Betrachtung<br />

fehlen Canonicals App-<br />

Store-Imitat aber einige<br />

wesentliche Details, die<br />

für eine saubere Software-Verwaltung<br />

unabdingbar<br />

erscheinen.<br />

Für den Umgang mit Software<br />

aus offiziellen Paketquellen stehen<br />

je nach Distribution viele<br />

Frontends bereit. Bei Ubuntu und<br />

Kubuntu basieren diese <strong>im</strong> Kern<br />

auf Apt beziehungsweise Aptitude,<br />

seien es nun Synaptic,<br />

Muon, GDebi oder der Menüpunkt<br />

Anwendungen hinzufügen/​<br />

entfernen. Einsteiger und Nutzer,<br />

die von Windows oder Mac OS X<br />

zu Linux wechseln, tun sich mit<br />

dieser Vielfalt oft schwer.<br />

An dieser Stelle setzt das Ubuntu<br />

Software-Center (USC, [1]) an:<br />

Als Mischung aus Paketverwaltung<br />

und App-Store lässt es sich<br />

sowohl zum Installieren von Software<br />

aus den Ubuntu-Repositories<br />

nutzen als auch zum Kauf<br />

und zur Einrichtung kommerzieller<br />

Programme von Drittherstellern.<br />

Canonical selbst bezeichnet<br />

das Software-Center gern auch<br />

als einen „virtuellen Katalog“.<br />

Dieser Artikel stellt in den folgenden<br />

Beispielen das mit Ubuntu<br />

12.10 [2] ausgelieferte Software-Center<br />

5.2 vor.<br />

Grundlegendes<br />

Der Startbildschirm des Ubuntu<br />

Software-Centers umfasst <strong>im</strong> Wesentlichen<br />

die beiden Hauptbereiche<br />

Was ist neu und Bestbewertet<br />

sowie einen Navigationsbereich<br />

links, mit dessen Hilfe Sie durch<br />

die einzelnen Paketkategorien navigieren.<br />

Außerdem gibt es eine<br />

Werkzeugleiste mit Vor- und Zurück-Buttons,<br />

den Schaltflächen<br />

Alle Anwendungen und Installiert<br />

zum Wechseln zwischen den Ansichten,<br />

einem weiteren Symbol<br />

für den Verlaufs-Cache sowie einem<br />

Suchfeld.<br />

Zusätzlich schränken Sie die Paket-Anzeige<br />

bei Bedarf mithilfe<br />

des (Unity-typisch erst be<strong>im</strong> Anfahren<br />

der oberen Bildschirmkante<br />

mit dem Mauszeiger erscheinenden)<br />

Menüs Ansicht | Alle Anwendungen<br />

oder Ansicht | Von Canonical<br />

betreute Anwendungen<br />

auch global auf entsprechende <strong>Pakete</strong><br />

ein.<br />

Rechts neben den Schaltflächen<br />

Alle Anwendungen und Installiert<br />

findet sich ein kleiner Pfeil mit<br />

dessen Hilfe Sie die zugrunde liegenden<br />

Software-Channels mit<br />

den Einträgen Bereitgestellt durch<br />

Ubuntu, Canonical Partner und<br />

Zum Kauf auswählen können.<br />

Das Paketbewertungssystem<br />

mit bis zu fünf Sternen gibt insbesondere<br />

Einsteigern und weniger<br />

erfahrenen Anwendern eine<br />

Hilfe bei der Suche nach nützli-<br />

42 06 | 12<br />

www.linux-user.de


Ubuntu 12.04 Software-Center<br />

schwerpunkt<br />

chen Anwendungen an die Hand.<br />

Daneben zeigt USC in der Detailansicht<br />

für installierte <strong>Pakete</strong> in<br />

Amazon-Manier, welche Apps andere<br />

Nutzer bevorzugen. Die Bewertung<br />

selbst ergibt sich<br />

schlicht aus der Anzahl an Installationen<br />

für das betreffende Paket.<br />

Um selbst eine solche Wertung<br />

abzugeben, klicken Sie auf<br />

Ansicht | Empfehlungen einschalten<br />

… , und bestätigen Sie den<br />

Folge-Dialog mit Empfehlung einschalten.<br />

Allerdings sendet USC<br />

bei Aktivieren dieser Funktion in<br />

regelmäßigen Abständen eine<br />

anonyme Liste Ihrer installierten<br />

Anwendungen an Canonical.<br />

A Nicht besonders üppig,<br />

aber in USC vorhanden:<br />

Software, Bücher<br />

und Zeitschriften<br />

zum Kaufen.<br />

Software kaufen<br />

Möchten Sie beispielsweise alle<br />

zum Kauf angebotenen kommerziellen<br />

Programme anzeigen,<br />

wählen Sie <strong>im</strong> Ausklappmenü bei<br />

Alle Anwendungen den Eintrag<br />

Zum Kauf (Abbildung A). Möchten<br />

Sie beispielsweise eine PDF-<br />

Ausgabe von <strong>LinuxUser</strong> erwerben,<br />

suchen Sie das Produkt in<br />

der Rubrik Bücher und Zeitschriften<br />

und klicken auf den zugehörigen<br />

Eintrag, um Detailinformationen<br />

einzusehen, wie etwa das<br />

aktuelle Inhaltsverzeichnis.<br />

Zum Einleiten des Kaufes klicken<br />

Sie rechts daneben auf die<br />

Schaltfläche Kaufen …. Nach dem<br />

Akzeptieren der Nutzungsbedingungen<br />

müssen Sie sich mit einem<br />

Ubuntu Single-Sign-Onoder<br />

Launchpad-Account authentifizieren,<br />

wie Sie ihn unter anderem<br />

auch für den Online-Speicherdienst<br />

Ubuntu One benötigen.<br />

Wollen Sie hier abbrechen,<br />

klicken Sie auf go back to Ubuntu<br />

Software-Center. Möchten Sie<br />

fortfahren und besitzen bereits<br />

ein Ubuntu-Konto, tragen Sie<br />

Ihre Account-Daten ein und klicken<br />

auf Fortfahren. Um einen<br />

Ubuntu-Account anzulegen, steht<br />

die Schaltfläche Neues Konto zur<br />

Verfügung. Das Anlegen des Kontos<br />

ist mithilfe eines Assistenten<br />

schnell erledigt; allerdings ließ<br />

die Bestätigungs-Mail <strong>im</strong> Test gut<br />

10 Minuten auf sich warten. Nach<br />

erfolgreicher Anmeldung leitet<br />

das Software-Center Sie an das<br />

angeschlossene Payment-System<br />

weiter. Seit Ende 2011 können<br />

Sie außer mit der Kreditkarte<br />

auch via Paypal bezahlen.<br />

Möglicherweise fragen Sie sich,<br />

was <strong>im</strong> Falle gekaufter Software<br />

passiert, wenn Sie ein solches Paket<br />

versehentlich löschen: Der<br />

Kauf eines Software-<strong>Pakete</strong>s via<br />

Ubuntu Software-Center bringt<br />

Sie nicht in den physischen Besitz<br />

der Installationspakete. USC be-<br />

Tipp<br />

Das <strong>im</strong> Software-Center<br />

verfügbare kommerzielle<br />

Angebot<br />

umfasst neben Software<br />

auch Bücher<br />

und Zeitschriften.<br />

Hier finden Sie unter<br />

anderem die elektronischen<br />

Versionen<br />

der aktuellen und älteren<br />

deutschen und<br />

internationalen Ausgaben<br />

von <strong>LinuxUser</strong>,<br />

Linux-Magazin und<br />

den meisten anderen<br />

Publikationen von<br />

Linux New Media.<br />

B USC gruppiert verfügbare<br />

<strong>Pakete</strong> mithilfe<br />

der Abstraktionsebenen<br />

Software Channels<br />

und Kategorien;<br />

ein Filtern nach Paketquelle,<br />

Status oder<br />

Sektion wie bei Synaptic<br />

kennt USC nicht.<br />

www.linux-user.de<br />

06 | 12 43


schwerpunkt<br />

Ubuntu 12.04 Software-Center<br />

C OneConf vergleicht<br />

die Paketlisten zweier<br />

Rechner mit Ubuntu.<br />

Tipp<br />

Nutzer älterer<br />

Ubuntu-Versionen<br />

vor 10.10 „Maverick<br />

Meerkat“ müssen<br />

den OneConf-Dienst<br />

zum Synchronisieren<br />

gegebenenfalls<br />

nachinstallieren. One-<br />

Conf lässt sich ganz<br />

allgemein dazu einsetzen,<br />

Nutzerdaten<br />

wie Musik oder Bilder<br />

zwischen verschiedenen<br />

Rechnern abzugleichen.<br />

rücksichtigt das geschilderte Szenario<br />

aber freundlicherweise in<br />

seinem Standard-Funktionsumfang:<br />

In einem solchen Fall klicken<br />

Sie auf Datei | Vorherige Einkäufe<br />

erneut installieren.<br />

Danach müssen Sie sich mit<br />

dem gleichen Konto anmelden,<br />

über das Sie den Kauf getätigt haben.<br />

USC zeigt dann alle bisherigen<br />

Einkäufe in einer Liste an<br />

und Sie können das gewünschte<br />

Paket jederzeit erneut installieren,<br />

auch bei der Neuinstallation<br />

eines Ubuntu-Rechners.<br />

Programme installieren<br />

Die Möglichkeit des komfortablen<br />

Software-Kaufs in USC erscheint<br />

zwar reizvoll, wird unter<br />

Linux aber wohl nie denselben<br />

Stellenwert besitzen, wie unter<br />

Mac OS X oder Android. Hier<br />

dient das Software-Center eher<br />

als grafisch ansprechendes Frontend<br />

zum Installieren freier Software<br />

auf Basis der zugrunde liegenden<br />

Paketquellen. Dazu klicken<br />

Sie zunächst <strong>im</strong> linken Bereich<br />

auf den gewünschten Eintrag<br />

der alphabetisch gruppierten<br />

Haupt-Kategorien wie Barrierefreiheit,<br />

Bildung, Büro, Entwicklungswerkzeuge<br />

und so weiter.<br />

Je nach Bestückung der jeweiligen<br />

Kategorie zeigt USC <strong>im</strong> Folgedialog<br />

entweder direkt die Paketliste<br />

in vertikaler<br />

Form oder weitere<br />

Subkategorien am<br />

oberen Ende des<br />

Fensters, durch<br />

die Sie Ihre Suche<br />

weiter eingrenzen.<br />

Gibt es in der betreffenden<br />

Rubrik<br />

Unterkategorien,<br />

erscheint unterhalb<br />

der Kategorienliste<br />

die Zusammenstellung<br />

Bestbewertet aus<br />

(Abbildung<br />

B, vorherige<br />

Seite). Die Anzahl<br />

der <strong>im</strong> Folgedialog<br />

angezeigten<br />

Programme hängt davon ab, ob<br />

Sie in der Werkzeugleiste den Filter<br />

Alle Anwendungen oder Installiert<br />

gesetzt haben. Bei Alle Anwendungen<br />

markiert das Software-Center<br />

die installierten Anwendungen<br />

mit einem grünen<br />

Häkchen. Zum Installieren klicken<br />

Sie auf das gewünschte Paket.<br />

USC zeigt dann eine detaillierte<br />

Paketbeschreibung mitsamt<br />

Screenshot und Leistungsmerkmalen.<br />

Ein Klick auf die Schaltfläche<br />

Installieren veranlasst das<br />

Software-Center schließlich, das<br />

Paket einzurichten. Wer mag,<br />

kann das Installieren eines <strong>Pakete</strong>s<br />

auch ganz konventionell über<br />

den Menüpunkt Datei | Installieren<br />

erledigen.<br />

Was komfortabel aussieht und<br />

es für Einsteiger auch ist, offenbart<br />

gegenüber Synaptic doch einige<br />

Defizite: So zeigt Synaptic<br />

etwa auf Wunsch über das Kontextmenü<br />

Eigenschaften auch Abhängigkeiten<br />

an und liefert bei<br />

eingerichteten <strong>Pakete</strong>n die Liste<br />

installierter Dateien. Das Ubuntu<br />

Software-Center beherrscht weder<br />

das eine noch das andere.<br />

Via OneConf abgleichen<br />

Eine weitere Besonderheit von<br />

USC: Sie können damit eine persönliche<br />

Liste installierten <strong>Pakete</strong><br />

zwischen mehreren Ubuntu-<br />

Rechnern abgleichen. Die Funktion<br />

basiert auf dem Dienst One-<br />

Conf [3], einem Python-Skript,<br />

das auf Basis einer Zusammenarbeit<br />

zwischen Software-Center<br />

und Ubuntu One das Synchronisieren<br />

übern<strong>im</strong>mt. Dazu wählen<br />

Sie den Menüeintrag Datei | Zwischen<br />

Rechnern abgleichen. Im folgenden<br />

Dialog müssen Sie sich<br />

wie be<strong>im</strong> Software-Kauf mit Ihrem<br />

Ubuntu-Single-Sign-On-Konto<br />

be<strong>im</strong> Ubuntu Software-Center<br />

anmelden. Besitzen Sie noch kein<br />

USC-, Ubuntu-One- oder Launchpad-Konto,<br />

können Sie auch an<br />

dieser Stelle eines anlegen.<br />

USC zeigt dann alle auf dem lokalen<br />

PC (Eintrag Dieser Rechner<br />

(Ubuntu 12.04) <strong>im</strong> Navigationsbereich<br />

links) installierten Anwendungen.<br />

Der erste <strong>im</strong> Navigationsbereich<br />

links angezeigte<br />

Ubuntu-PC ist stets der lokale<br />

Rechner, an dem Sie USC gestartet<br />

haben. Zum Verwenden der<br />

Synchronisationsfunktion melden<br />

Sie sich an einem anderen<br />

Ubuntu-PC mit demselben Ubuntu<br />

Single-Sign-On-Account am<br />

Ubuntu Software-Center an. Das<br />

lokal verwendete Benutzerkonto<br />

spielt hierbei keine Rolle.<br />

Der zweite Ubuntu-PC zeigt<br />

nach Aufruf der Funktion Zwischen<br />

Rechnern abgleichen den ersten<br />

Ubuntu-PC als zweiten Eintrag<br />

in seiner Rechner-Liste. In<br />

Abbildung C sehen Sie das Ubuntu<br />

Software-Center in der Version<br />

5.0.6 unter Kubuntu 11.10 in<br />

diesem Modus. Markieren Sie<br />

[1] Ubuntu Software-Center:<br />

info<br />

https:// wiki. ubuntu. com/ SoftwareCenter<br />

[2] Kurzvorstellung Ubuntu 12.04 LTS:<br />

Kristian Kißling, „Akkurates Gürteltier“,<br />

<strong>LinuxUser</strong> 06/​2012, S. 10,<br />

http:// www. linux‐community. de/ 26171<br />

[3] Ubuntu OneConf:<br />

https:// wiki. ubuntu. com/ OneConf<br />

[4] Software-Center 4 versus Synaptic:<br />

https:// wiki. ubuntu. com/ SoftwareCenter/<br />

SynapticSoftwareCenterComparison<br />

[5] Ubuntu Apps Directory:<br />

https:// apps. ubuntu. com/ cat/<br />

44 06 | 12<br />

www.linux-user.de


Ubuntu 12.04 Software-Center<br />

schwerpunkt<br />

jetzt auf dem zweiten PC den Listeneintrag<br />

des Ubuntu-12.04-<br />

Rechners, führt OneConf <strong>im</strong><br />

Hauptfenster zwei Einträge auf:<br />

Elemente auf <br />

sind nicht auf diesem<br />

Rechner und Elemente auf<br />

diesem Rechner sind nicht auf<br />

(Abbildung D).<br />

Die große Diskrepanz (45 zu<br />

1585 <strong>Pakete</strong>n) resultiert hier aus<br />

den unterschiedlichen Releases<br />

(„Oneiric“ vs. „Precise“) sowie<br />

Desktops (KDE vs. Unity).<br />

Möchten Sie ein Programm, das<br />

nur auf einem der beiden Rechner<br />

eingerichtet ist, auf dem anderen<br />

installieren, so markieren Sie es<br />

in der Liste des Rechners, auf<br />

dem es bereits lagert, und klicken<br />

auf Installieren. Das eigentliche<br />

Synchronisieren, also der Abgleich<br />

der Paketlisten zur Laufzeit,<br />

läuft als Hintergrund-Prozess<br />

/usr/share/oneconf/oneconf‐service,<br />

wobei OneConf in<br />

der linken unteren<br />

Ecke jeweils<br />

den Zeitpunkt<br />

des letzten Synchronisierens<br />

anzeigt.<br />

Dabei verlinkt<br />

es sowohl<br />

sämtliche Daten<br />

als auch die Sync-Liste mit dem<br />

eigenen USC.<br />

Das Ubuntu Software-Center<br />

aktualisiert die Liste jedesmal,<br />

wenn Sie ein Paket installieren –<br />

egal, ob via Software-Center, Aptget,<br />

Synaptic, Aptitude oder PPA.<br />

Um den Abgleich zu stoppen,<br />

dient das Zahnradsymbol in der<br />

linken unteren Ecke (Stop Syncing<br />

).<br />

Fazit<br />

Optisch hat Ubuntus Software-<br />

Center einiges zu bieten und<br />

dürfte vor allem Umsteiger überzeugen,<br />

die auf den App-Store-<br />

Look stehen. Im Gegensatz zum<br />

ausgereiften und funktionalen<br />

Synaptic erweist sich USC aber<br />

als etwas unvollständig. Ein interessanter,<br />

allerdings auf USC<br />

4.0.2 basierender Feature-Vergleich<br />

[4] offenbart dann auch<br />

weitere Defizite.Übrigens gibt es<br />

inzwischen eine Online-Version<br />

des Software-Centers mit der Bezeichnung<br />

Ubuntu Apps Directory<br />

[5], die <strong>im</strong> Browser das Gleiche<br />

anzeigt wie die Desktop-App und<br />

einen Download-Button bietet.<br />

Der öffnet das lokale Ubuntu<br />

Software-Center zur Installation<br />

oder bietet bei einem fremden<br />

Betriebssystem einen Link zum<br />

Download von Ubuntu an. (jlu) n<br />

D Die Software-Ausstattung<br />

der beiden<br />

gezeigten Ubuntu-PCs<br />

differiert deutlich.<br />

Probelesen ohne risiko<br />

Und Gewinnen!<br />

die 7Links OutdOOr-iP-kamera „iPC-710ir“<br />

mit WLan, infrarOt und BeWegungserkennung<br />

naChtsiCht Bis zu 15 meter durCh<br />

24 infrarOt-Leds<br />

stauB- und WasserdiChtes gehäuse aus<br />

LeiChtmetaLL<br />

sonderAkTion!<br />

Testen sie jetzt<br />

3 Ausgaben für<br />

nUr 3€*<br />

www.linux-user.de<br />

Telefon: 07131 /2707 274<br />

Fax: 07131 / 2707 78 601<br />

E-Mail: abo@linux-user.de<br />

Mit großem Gewinnspiel unter:<br />

www.linux-user.de/probeabo<br />

06 | 12 45<br />

* Angebot gilt innerhalb Deutschlands<br />

und Österreichs. In der Schweiz: SFr 4,50.<br />

Weitere Preise: www.linux-user.de/produkte


schwerpunkt<br />

Paket-Tools für Slackware<br />

<strong>Pakete</strong> verwalten unter Slackware<br />

An der<br />

Quelle<br />

Slackware zählt zu den Urgesteinen<br />

unter den Distributionen. Zur Paketverwaltung<br />

greift es auf Tarballs zurück, was<br />

das Einrichten von Software – je nach Betrachtungsweise<br />

– sehr aufwendig oder<br />

sehr einfach macht. Thomas Drilling<br />

© Tom Grundy, 123RF<br />

Sbopkg 0.35,<br />

Spkg 1.0, Judy 1.0.5<br />

LU/slackware/<br />

README<br />

Slackware unterscheidet<br />

sich insbesondere<br />

in Sachen Paketformat<br />

und Paketverwaltung<br />

von allen anderen Linux-<br />

Versionen: Es benutzt<br />

gewöhnliche Tarballs, in<br />

denen es keine Abhängigkeiten<br />

definiert. Wir<br />

stellen Ihnen Tools vor,<br />

die das Installieren von<br />

Software unter Slackware<br />

erleichtern.<br />

Slackware Linux ist die älteste<br />

noch aktive Linux-Distribution<br />

und rangiert auf Distrowatch.com<br />

trotz ihrer teils nicht mehr ganz<br />

taufrischen Konzepte <strong>im</strong>mer<br />

noch auf Platz 16 von 329 aktuell<br />

gelisteten Distributionen. Dafür<br />

gibt es Gründe, obwohl Slackware<br />

[1] mit seiner Philosophie<br />

die Nutzergemeinde spaltet: Die<br />

liegt nämlich von jeher pr<strong>im</strong>är<br />

darin, sich möglichst nah und unverfälscht<br />

an einem echten Unix-<br />

System zu orientieren und auf<br />

möglichst unnötigen Ballast zu<br />

verzichten. Das bedeutet in praktischer<br />

Konsequenz, dass es faktisch<br />

keine distributionsspezifischen,<br />

grafischen Tools zur Systemkonfiguration<br />

gibt.<br />

So muss der Benutzer sämtliche<br />

Einstellungen über das Bearbeiten<br />

der zugehörigen Konfigurationsdateien<br />

erledigen – je nach<br />

Standpunkt und Sichtweise ein<br />

Vor- oder Nachteil. Profis schätzen<br />

jedoch die einfache, aber verlässliche<br />

Struktur. Das zeigt sich<br />

unter anderem in der Paketverwaltung,<br />

die genau genommen<br />

keine ist: Bei Slackware-<strong>Pakete</strong>n<br />

handelt es sich schlicht um kompr<strong>im</strong>ierte<br />

TAR-Archive, sodass<br />

sich keine Abhängigkeiten verwalten<br />

lassen.<br />

Für weniger versierte Nutzer ist<br />

das eher von Nachteil; fortgeschrittene<br />

Anwender und Admins<br />

aber schätzen am Slack ware-<br />

Paketformat aber, dass es ermöglicht<br />

– etwa bei komplexeren<br />

Software-Suiten –, nur Teile einer<br />

Software zu nutzen oder überflüssige<br />

Software problemlos zu<br />

entfernen, ohne dass dabei weitreichende<br />

Auswirkungen auf das<br />

Gesamtsystem auftreten. Haben<br />

Sie Slackware erfolgreich installiert,<br />

was übrigens trotz eines<br />

textbasierten Installers relativ<br />

problemlos funktioniert, finden<br />

Sie <strong>im</strong> Verzeichnis /var/log/package<br />

eine Liste der installierten <strong>Pakete</strong><br />

(Abbildung A).<br />

Da Slackware mit s<strong>im</strong>plen Tarballs<br />

arbeitet, können Sie die einzelnen<br />

Einträge der Paketliste<br />

problemlos mit einen Archivtool<br />

wie Ark öffnen. Dabei zeigt sich,<br />

dass Slackware zusätzlich auf<br />

Kompr<strong>im</strong>ierung setzt.<br />

Alles kompr<strong>im</strong>iert<br />

Öffnen Sie ein Paket oder eine Paketbeschreibung<br />

zum Beispiel unter<br />

KDE via Dolphin-Kontext menü<br />

Öffnen mit | Dienstprogramme |<br />

Ark, fragt die Anwendung nach<br />

dem verwendeten Kompressionsverfahren.<br />

Bei Slackware ab Version<br />

13 (aktuell: Slackware 13.37)<br />

ist das wie in Abbildung A zu sehen<br />

LZMA. Frühere Slackware-<br />

Versionen verwendeten dagegen<br />

schlicht Gzip. Damit änderte sich<br />

in der 13er-Serie der Distribution<br />

nicht nur die Endung der Paketnamen<br />

von .tgz auf .txz, die neuen<br />

Slack ware- <strong>Pakete</strong> sind auch<br />

nicht mehr mit älteren Versionen<br />

kompatibel.<br />

46 06 | 12<br />

www.linux-user.de


Paket-Tools für Slackware<br />

schwerpunkt<br />

Zwar gelingt das Einrichten der<br />

auf den Slackware-Installationsmedien<br />

enthaltenen <strong>Pakete</strong> mithilfe<br />

der mitgelieferten Tools und<br />

Skripte recht problemlos, schon<br />

für das Einspielen von Sicherheitsupdates<br />

bedarf es aber zusätzlicher<br />

Werkzeuge wie etwa<br />

des seit der Slackware 12.2 verfügbaren<br />

Tools Slackpkg. Darüber<br />

hinaus lösen slapt‐get [2] und<br />

swaret [3] be<strong>im</strong> Installieren von<br />

Slackware-Software gleich Abhängigkeiten<br />

mit auf. Beide lassen<br />

sich allerdings nur dann sinnvoll<br />

nutzen, wenn es <strong>im</strong> offiziellen<br />

Slackware-Repo aktualisierbare<br />

<strong>Pakete</strong> gibt. Das ist aber derzeit<br />

nicht der Fall, denn beide Tools<br />

kommen ebenso wie Slackpkg<br />

nicht mit dem neuen Paketformat<br />

TXZ zurecht.<br />

Das Management des Slackware-Repositories<br />

zwischen den<br />

Releases darf man getrost als<br />

konservativ bezeichnen: So kann<br />

es vorkommen, dass Maintainer<br />

Patrick Volkerding über den gesamten<br />

Lifecycle eines Releases<br />

keine Upgrades von Software-<strong>Pakete</strong>n<br />

veröffentlicht. Er verwaltet<br />

nämlich sämtliche <strong>Pakete</strong> selbst,<br />

die zur offiziellen Distribution<br />

gehören. Daneben definiert er<br />

auch die Release-Zyklen und trifft<br />

sämtliche Design-Entscheidungen.<br />

Dass bei Slackware vieles, ja<br />

eigentlich alles von Volkerdings<br />

Befinden abhängt, zeigt sich unter<br />

anderem daran, dass das<br />

Haupt-Repository [4] seit einiger<br />

Zeit nicht mehr funktioniert. Bis<br />

zur Fertigstellung des mithilfe<br />

des Django-Frameworks entwickelten<br />

Nachfolgers [5] steht es<br />

schlicht nicht zur Verfügung.<br />

Software aus dem Quellen<br />

Dem leidgeprüften Slackware-<br />

Nutzer bleibt also aufgrund der<br />

geschilderten Umstände nicht<br />

viel anderes übrig, als sich durch<br />

das manuelle Übersetzen von<br />

Quellsoftware mit neuesten Updates<br />

zu versorgen. Dieses Handicap<br />

beeindruckt hartgesottene<br />

Slackware-Nutzer sicher wenig,<br />

denn bei ihnen<br />

handelt es<br />

sich in der Regel<br />

um fortgeschrittene<br />

Anwender,<br />

die<br />

sich gerade<br />

aus den oben<br />

geschilderten<br />

Gründen bewusst<br />

für die<br />

Distribution<br />

entschieden<br />

haben.<br />

Potenzielle<br />

Nutzer sollten<br />

aber wissen,<br />

worauf sich<br />

sich gegebenenfalls<br />

einlassen,<br />

denn der virtuose Umgang<br />

mit dem einschlägigen Build-<br />

Tools ist bei Slackware Pflicht.<br />

Wer sich dabei nicht noch mit der<br />

komplexen Materie der Abhängigkeiten<br />

auseinandersetzen<br />

möchte, insbesondere <strong>im</strong> Zusammenhang<br />

mit Shared Libraries,<br />

sollte sich das Tool Sbopkg [6] ansehen,<br />

das Interessanteste unter<br />

den genannten Third Party Tools.<br />

Sbopkg verwendet vorgefertigte<br />

Buildskripte, um Quell-Software<br />

aus dem unabhängigen Build-Repository<br />

Slackbuilds ([7], Abbildung<br />

B, nächste Seite) zu übersetzen<br />

und daraus ein Paket zu<br />

erstellen. Sie laden den Source-<br />

Tarball oder ein vorkompiliertes<br />

Slackware-Paket der aktuellen<br />

Version Sbopkg 0.35.0 2011 von<br />

der Projektseite herunter.<br />

Obwohl das Paketformat TGZ<br />

etwas anderes befürchten lässt,<br />

ist das Tool durchaus kompatibel<br />

mit Slackware 13.37. Sie installieren<br />

es daher problemlos mit<br />

# installpkg sbopkg‐version‐noarU<br />

ch‐1_cng.tgz<br />

Für das Aktualisieren künftiger<br />

Versionen nutzen Sie dann das<br />

Kommando<br />

# upgradepkg sbopkg‐version‐noarU<br />

ch‐1_cng.tgz<br />

Nach jedem Update müssen Sie<br />

allerdings etwaige Änderungen<br />

in der dann ebenfalls aktualisierten<br />

mitgelieferten Datei sbopkg.<br />

conf.new in das existente File<br />

sbo pkg.conf einbinden.<br />

Direkt be<strong>im</strong> ersten Start erzeugt<br />

das Programm Sbopkg die für die<br />

SBo (Slackbuilds) benötigten Verzeichnisse<br />

/var/lib/sbopkg, /var/<br />

log/sbopkg, /var/cache/sbopkg und<br />

/ tmp/SBo automatisch. Anschließend<br />

zeigt es den SBo-Paketbrowser<br />

an, mit dem Sie komfortabel<br />

<strong>im</strong> Ncurses-basierten Menü nach<br />

aktualisierbarer Software fahnden<br />

(Abbildung C, nächste Seite).<br />

Be<strong>im</strong> ersten Einsatz müssen Sie<br />

allerdings zuerst die Paketliste<br />

mit dem Online-Stand von Slackbuilds<br />

abgleichen, wozu Sie den<br />

Menüpunkt Sync wählen. Über<br />

den zweiten Menü-Eintrag, Slack-<br />

Build, werfen Sie bei Bedarf einen<br />

Blick in das zugrunde liegende<br />

Buildskript. Via Packages zeigen<br />

Sie bereits installierte SBo-<strong>Pakete</strong><br />

an oder deinstallieren sie, während<br />

Updates für installierte SBo-<br />

<strong>Pakete</strong> verfügbare Aktualisierungen<br />

einrichten.<br />

Für die Suche nach nicht installierten,<br />

verfügbaren SBo-<strong>Pakete</strong>n<br />

stehen die Menüpunkte Browse<br />

und Search zur Auswahl. Mit<br />

Browse verschaffen Sie sich einen<br />

Überblick über das gesamte SBo-<br />

A Nach der Installation<br />

finden Sie unter<br />

/ var/log/packages die<br />

komplette Liste installierter<br />

<strong>Pakete</strong>.<br />

Glossar<br />

Tarballs: Archive aus<br />

mehreren, per Tar („Tape<br />

Archiver“) in ein File zusammengefasste<br />

Dateien.<br />

Ein Tarball wird in<br />

aller Regel zusätzlich<br />

mit Gzip, Bzip2 oder<br />

einem anderen Kompr<strong>im</strong>ierer<br />

gepackt.<br />

LZMA: Der Lempel-Ziv-<br />

Markow-Algorithmus zur<br />

Datenkompression<br />

zeichnet sich durch eine<br />

sehr gute Kompr<strong>im</strong>ierung<br />

und eine schnelle,<br />

wenig RAM und CPU-<br />

Leistung erfordernde<br />

Dekompression aus.<br />

Shared Libraries: Dynamische<br />

Bibliotheken,<br />

die von Programmen zur<br />

Laufzeit nachgeladen<br />

werden. Die Dateien<br />

tragen unter Linux üblicherweise<br />

einen auf<br />

lib beginnenden Namen<br />

und die Endung<br />

.so für „shared object“.<br />

www.linux-user.de<br />

06 | 12 47


schwerpunkt<br />

Paket-Tools für Slackware<br />

B Slackbuilds ist ein<br />

unabhängiges Repository<br />

mit Source-<strong>Pakete</strong>n<br />

und Build-Skripten<br />

für Slackware.<br />

3 Das Pakettool<br />

Sbopkg verfügt über<br />

ein übersichtliches<br />

Menü.<br />

Repository. Wissen Sie bereits,<br />

welches Paket Sie brauchen, führt<br />

eine gezielte Suchen über Search<br />

meist schneller zum Ziel (Abbildung<br />

D). Bei der Suche wechseln<br />

Sie mit [Tab] zwischen den Funktionen<br />

zum Suchen nach<br />

Paketnamen oder zum<br />

Stöbern in der Paketbeschreibung.<br />

Ein gefundenes Paket wählen<br />

Sie mit an und fügen es<br />

mit der Auswahlliste<br />

hinzu, woraufhin Sie dann<br />

weitere <strong>Pakete</strong> zur Installation<br />

auswählen können.<br />

Bei Anwahl des letzten Menüpunktes,<br />

Build, schließlich baut<br />

Sbopkg aus dem oder den ausgewählten<br />

Sbo-Quellpaketen ein<br />

Slackware-Paket. Sbopkg fragt zuvor,<br />

ob es das gewünschte Paket<br />

nur zusammenstellen oder auch<br />

gleich installieren soll. Zum Start<br />

des Build-Prozesses müssen Sie<br />

<strong>im</strong> Folgedialog bestätigen<br />

(Abbildung E). Je nach<br />

Paket gilt es, danach auf der<br />

Kommandozeile die eine oder andere<br />

Frage des Build-Skripts zu<br />

beantworten. Geht etwas schief,<br />

müssen Sie das Paket mit Remove<br />

zunächst aus dem Cache entfernen,<br />

bevor Sie fortfahren.<br />

Der Inoffizielle<br />

Neben den genannten Bordwerkzeugen<br />

und Third-Party-Paketwerkzeugen<br />

für Slackware darf<br />

die Software Spkg [8] nicht fehlen:<br />

Das Tool bezeichnet sich als<br />

„inoffizieller Slackware-Paketmanager“<br />

und wird seit 2005 kontinuierlich<br />

weiterentwickelt.<br />

Spkg unterstützt seit der Version<br />

1.0rc12 vom April 2010 auch<br />

TXZ-<strong>Pakete</strong> von Slackware 13.x.<br />

Es lässt sich problemlos parallel<br />

zu den offiziellen Pkgtools nutzen<br />

und kann Slackware-<strong>Pakete</strong><br />

installieren, entfernen und aktualisieren.<br />

Außerdem bringt es gegenüber<br />

den Pkgtools eine Reihe<br />

von Vorteilen mit sich, wie etwa<br />

den „Dry-Mode“, der keinerlei<br />

Veränderungen am Original-<br />

Dateisystem zulässt oder den<br />

„Safe-Mode“, der das Installieren<br />

von Untrusted-<strong>Pakete</strong>n erlaubt.<br />

Außerdem gibt es eine Rollback-<br />

Funktion und weitere Features.<br />

Sie laden die aktuelle Version<br />

1.0 als Quelltext entweder von<br />

der Projektseite [9] herunter oder<br />

checken sie direkt von Github<br />

[10] aus. Das Übersetzen und<br />

Installieren funktioniert genauso<br />

wie bei anderen Distributionen,<br />

setzt aber voraus, dass Sie wahlweise<br />

bei der Basisinstallation<br />

oder nachträglich mit installpkg<br />

oder mit sbopkg die erforderlichen<br />

Build-Werkzeuge installiert haben.<br />

Außerdem benötigt das in C<br />

geschriebene Spkg neben der Version<br />

2.2.1 der GNU-C-Bibliothek<br />

die <strong>Pakete</strong> Judy-1.0.3, popt-1.7<br />

und zlib-1.1.4.<br />

Bereits hier zeigt sich das Abhängigkeiten-Problem<br />

be<strong>im</strong> manuellen<br />

Übersetzen von Software<br />

unter Slackware: Im Gegensatz zu<br />

Popt und Zlib findet sich die<br />

C-Bib liothek Judy weder <strong>im</strong> Standard-Installationsumfang<br />

von<br />

Slack ware noch <strong>im</strong> Slackbuilds-<br />

Repo. Da das offizielle Slackware-<br />

Repo derzeit wie erwähnt nicht<br />

funktioniert, müssen Sie die<br />

Quellen von Judy von der Sourceforge-Projektseite<br />

[11] herunterladen.<br />

Sie entpacken den Tarball,<br />

wechseln ins entstandene Quell-<br />

Verzeichnis und richten die Bibliothek<br />

mittels des üblichen Dreischritts<br />

ein:<br />

# ./configure && make && make inU<br />

stall<br />

Da Judy 1.0.3 keine weiteren Abhängigkeiten<br />

aufweist, sollte dieser<br />

Schritt auf jedem Slackware-<br />

System funktionieren.<br />

Haben Sie alles Notwendige beisammen,<br />

wechseln Sie ins Verzeichnis<br />

der Spkg-Sourcen und<br />

übersetzen beziehungsweise installieren<br />

die Software wie Judy<br />

ebenfalls mit dem klassischen<br />

Dreischritt. Das Makefile kennt<br />

freundlicherweise ein Uninstall-<br />

Target, sodass Sie das Paket auf<br />

Wunsch mit make uninstall auch<br />

wieder deinstallieren.<br />

info<br />

[1] Slackware:http:// www. slackware. com/<br />

[2] Slapt-get: http:// software. jaos. org/<br />

[3] Swaret:<br />

http:// freecode. com/ projects/ swaret<br />

[4] Alter Slackware-Paketbrowser:<br />

http:// www. slackware. com/ packages/<br />

[5] Kommende Version des Slackware-Paketbrowsers:<br />

http:// packages. slackware. it/<br />

[6] Sbopkg: http:// www. sbopkg. org<br />

[7] Slackbuilds-Projekt:<br />

http:// www. slackbuilds. org/<br />

[8] Spkg: http:// spkg. megous. com<br />

[9] Spkg herunterladen:<br />

http:// spkg. megous. com/ dloads. php<br />

[10] Spkg auf Github:<br />

https:// github. com/ megous/ spkg<br />

[11] C-Bibliothek Judy:<br />

http:// sourceforge. net/ projects/ judy/<br />

[12] Workshop Checkinstall: Thomas Drilling,<br />

„Gut geschnürt“, LU 06/​2012, S. 38,<br />

http:// www. linux‐community. de/ 25910<br />

48 06 | 12<br />

www.linux-user.de


Paket-Tools für Slackware<br />

schwerpunkt<br />

D Über das Programm Sbopkg suchen Sie komfortabel nach installierten<br />

oder <strong>im</strong> Repository verfügbaren Quellpaketen.<br />

E Sbopkg baut aus <strong>im</strong> Repo Slackbuilds verfügbaren Quellpaketen<br />

Slackware-<strong>Pakete</strong> und installiert diese auf Wunsch.<br />

Hat be<strong>im</strong> Übersetzen und Einrichten<br />

alles geklappt, können Sie<br />

Spkg seinem vorgesehenen Einsatzzweck<br />

zuführen. Zum Installieren<br />

eines TGZ-<strong>Pakete</strong>s verwenden<br />

Sie den Aufruf spkg 'Paketname.txz',<br />

das Entfernen funktioniert<br />

analog mit spkg ‐d 'Paketname'.<br />

Eine Hilfe erhalten Sie mit<br />

spkg ‐help oder durch Aufrufen<br />

der Manpage über man spkg.<br />

Fazit<br />

Da Slackware mit der Version 13<br />

das Paketformat geändert hat,<br />

funktionieren viele ehemals populäre<br />

Tools wie Slackpkg, Slaptget<br />

oder Swaret mit der aktuellen<br />

Version nicht mehr oder nur eingeschränkt.<br />

Damit reduziert sich<br />

das Repertoire alternativer Pakettools<br />

auf das zweifelsohne leistungsfähige<br />

Spkg. Da die erwähnten<br />

Paket-Tools nur dann einen<br />

Nutzen bringen, wenn es überhaupt<br />

Repositories mit aktualisierbaren<br />

Slackware-<strong>Pakete</strong>n gibt,<br />

greifen ambitionierte Slackware-<br />

Nutzer in der Regel lieber zu<br />

Quellcode-<strong>Pakete</strong>n.<br />

Statt Quellsoftware zu übersetzen<br />

und dabei zwangsläufig die<br />

erforderlichen Abhängigkeiten<br />

manuell aufzulösen, können Sie<br />

das Tool Checkinstall [12] nutzen,<br />

um vor dem Installieren ein<br />

offizielles Slackware-Paket zu erzeugen.<br />

Das erleichtert <strong>im</strong>merhin<br />

das Deinstallieren, löst aber nicht<br />

das Problem der Abhängigkeiten.<br />

Das Highlight unter den hier<br />

vorgestellten Paket-Tools stellt<br />

zweifelsohne Sbopkg dar: Das<br />

Werkzeug dient zwar ebenfalls<br />

„nur“ dem Installieren von<br />

Source-<strong>Pakete</strong>n, löst aber dank eines<br />

von den Machern gepflegten<br />

Online-Repositories auch Abhängigkeiten<br />

auf. Das Slackbuilds-<br />

Repo fällt zwar nicht so umfangreich<br />

aus wie etwa ein Debian-<br />

Mirror, liefert aber <strong>im</strong>merhin<br />

eine Vielzahl nützlicher Programme<br />

und Bibliotheken. (jlu) n<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 />

www.linux-user.de<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<br />

06 | 12 49


praxis<br />

Alexandria<br />

Bücherbestände unkompliziert verwalten mit Alexandria<br />

Flinker Bibliothekar<br />

Mit wachsendem<br />

Buchbestand geht<br />

oft der Überblick<br />

über die gesammelten<br />

Werke verloren.<br />

Mit Alexandria<br />

katalogisieren<br />

Sie die private Bibliothek<br />

schnell<br />

und problemlos.<br />

Alexandria 0.6.6<br />

LU/alexandria/<br />

README<br />

Die Bibliotheksverwaltung<br />

Alexandria bietet<br />

für den privaten Gebrauch<br />

einen sehr guten<br />

Funktionsumfang,<br />

ohne dabei eine aufwendige<br />

Installation mit<br />

Datenbank-Servern<br />

vorauszusetzen.<br />

Erik Bärwaldt<br />

© Kirsty Pargeter, 123RF<br />

Lesen bildet, so sagt ein altes<br />

Sprichwort, und selbst moderne<br />

elektronische Medien wie die E-<br />

Books und das Internet konnten<br />

das gedruckte Buch bislang nicht<br />

verdrängen. Mancher Literaturfreund<br />

verliert aber mit der Zeit<br />

den Überblick über den stetig<br />

wachsenden eigenen Bestand, sodass<br />

der Einsatz einer elektronischen<br />

Kartei lohnt.<br />

Mit Linux und der kleinen Software<br />

Alexandria [1] bringen Sie<br />

schnell und unkompliziert Ordnung<br />

in die Sammlung. Das Programm<br />

eignet sich darüber hinaus<br />

zum Verwalten der Bestände<br />

kleiner Bibliotheken, da es nicht<br />

nur das Erfassen von Neuzugängen<br />

mithilfe eines Barcode-Scanners<br />

unterstützt, sondern zusätzlich<br />

auch über eine einfache Ausleihfunktion<br />

verfügt.<br />

Dabei hat Alexandria gegenüber<br />

Anwendungen für große Bibliotheken<br />

den Vorteil, keine zusätzliche<br />

Datenbank <strong>im</strong> Hintergrund<br />

zu benötigen, was Installation<br />

und Betrieb des Systems deutlich<br />

erleichtert. Die Software ist daher<br />

in wenigen Minuten installiert<br />

und einsatzbereit.<br />

Auf die Platte<br />

Das Programm findet sich in den<br />

Repositories der meisten großen<br />

Distributionen. Daher klappt die<br />

Installation in der Regel komfortabel<br />

per Mausklick. Da die Applikation<br />

sehr viele Abhängigkeiten<br />

aufweist, sollten Sie die Installation<br />

per Synaptic, YaST oder ein<br />

ähnliches Werkzeug erledigen,<br />

das alle notwendigen <strong>Pakete</strong> dann<br />

automatisch nachzieht und ins<br />

System integriert.<br />

Nach der Installation finden<br />

Sie das Programm auf einem<br />

Gnome-2-Desktop <strong>im</strong> Menü<br />

Anwendungen | Büroprogramme<br />

unter dem Eintrag Alexandria<br />

Büchersammlungs-Manager. Die<br />

Applikation startet nach einem<br />

Mausklick in eine sehr<br />

spartanisch anmutende<br />

Oberfläche, die sich in<br />

drei Bereiche gliedert.<br />

Im oberen Teil des Programmfensters<br />

befinden<br />

sich neben einem<br />

Menü eine weitere Zeile<br />

mit einigen Schaltflächen<br />

für grundlegende Funktionen<br />

sowie ein Eingabefeld.<br />

Links <strong>im</strong> Fenster<br />

finden Sie eine Liste der<br />

vorhandenen Bibliotheken<br />

sowie unterschiedliche<br />

Gruppen zum Status eines<br />

Buches. Im rechten Teil<br />

des Fensters schließlich<br />

listet die Applikation<br />

die registrierten Bücher auf (Abbildung<br />

A).<br />

Bibliotheken<br />

Mithilfe der Bibliotheken ordnen<br />

Sie den Buchbestand grob nach<br />

Themen. Um eine neue Bibliothek<br />

anzulegen, klicken Sie entweder<br />

<strong>im</strong> Programmfenster ganz<br />

links auf die Schaltfläche mit einem<br />

symbolisierten Blatt Papier<br />

oder <strong>im</strong> Menü Bibliothek auf Neue<br />

Bibliothek. In der Liste der Bibliotheken<br />

links erscheint ein neuer<br />

Eintrag Unbenannt. Über das Eingabefeld<br />

ändern Sie bei Bedarf<br />

den Namen und speichern ihn<br />

mit [Eingabe].<br />

Um nicht jedes Buch mit allen<br />

zugehörigen Daten umständlich<br />

manuell erfassen zu müssen, besteht<br />

die Möglichkeit, auf Online-<br />

Kataloge verschiedener großer<br />

52 06 | 12<br />

www.linux-user.de


Alexandria<br />

praxis<br />

Bibliotheken zuzugreifen und darin<br />

das Werk anhand der ISBN-<br />

Nummer zu identifizieren. Alexandria<br />

unterstützt dabei das<br />

Z39.50-Protokoll, das <strong>im</strong> Bibliothekswesen<br />

lange als Standard<br />

galt. Mittlerweile setzt sich aber<br />

zunehmend Search/​Retrieve via<br />

URL (SRU) durch.<br />

Um auf die Datenbestände öffentlicher<br />

Bibliotheken zuzugreifen,<br />

müssen Sie jedoch für jede<br />

einzelne Bibliothek die entsprechenden<br />

Datenbanken und deren<br />

Zugangsdaten in Alexandria hinterlegen.<br />

Zwar kennt die Software<br />

bereits eine ganze Reihe Server<br />

einzelner Bibliotheken, jedoch<br />

gibt es in neueren Versionen von<br />

Alexandria keinen einzigen deutschen<br />

Server mehr.<br />

Die Entwickler trifft hier keine<br />

Schuld: Mehrere deutsche Bibliotheken<br />

haben jüngst ihre Zugangsdaten<br />

modifiziert oder gar<br />

ganz von der Webseite entfernt,<br />

sodass die alten Einstellungen<br />

kein Ergebnis liefern. Einige Bibliotheken<br />

erlauben nur noch die<br />

Suche per Webbrowser, geben jedoch<br />

keine Zugangsdaten mehr<br />

für den Zugriff auf die Informationssysteme<br />

über andere Schnittstellen<br />

bekannt.<br />

Es gilt also, Server-Zugänge für<br />

deutschsprachige Bibliotheken<br />

ausfindig zu machen und diese in<br />

Alexandria einzutragen ([2],[3]).<br />

Dazu öffnen Sie <strong>im</strong> Programmfenster<br />

<strong>im</strong> Menü Bearbeiten den<br />

Eintrag Einstellungen und klicken<br />

anschließend auf den Reiter Anbieter<br />

oben rechts. Nun öffnet<br />

sich eine Liste der in Alexandria<br />

aktivierten Z39.50-Datenbanken.<br />

Um einen neuen Datenbank-<br />

Server hinzuzufügen oder einen<br />

bestehenden zu modifizieren, setzen<br />

Sie unten <strong>im</strong> Anbieterfenster<br />

ein Häkchen vor dem Eintrag Erweiterte<br />

Einstellungen. Anschließend<br />

klicken Sie auf die Schaltfläche<br />

Hinzufügen. Im folgenden<br />

Dialog Neuer Anbieter tragen Sie<br />

nun die Zugangsdaten ein (Abbildung<br />

B). In Ubuntu 10.04 fehlt<br />

allerdings die Ruby-Bibliothek<br />

libmarc‐ruby, die das<br />

Programm für diese<br />

Funktion benötigt.<br />

Um diese nachzuziehen,<br />

müssen Sie das<br />

PPA des Alexandria-<br />

Teams [4] einbinden.<br />

Achten Sie bei der<br />

Eingabe der Zugangsdaten<br />

insbesondere<br />

darauf, dass Sie das<br />

korrekte Format für<br />

die Datensätze auswählen.<br />

Da die Dateiformate bei<br />

den einzelnen Bibliotheken variieren<br />

und Alexandria nur die gebräuchlichsten<br />

drei Formate unterstützt,<br />

bleibt bei mancher Bibliothek<br />

der Zugang zu einem Server<br />

verwehrt.<br />

Nach korrekter Eingabe der Daten<br />

sollten Sie den neuen Anbieter<br />

durch Klicken auf die Schaltfläche<br />

Hoch an den Anfang der<br />

Liste positionieren, weil das Programm<br />

stets die Liste von oben<br />

nach unten durchläuft. Die deutsche<br />

Bezugsquelle käme sonst zuletzt<br />

an die Reihe.<br />

Bücher erfassen<br />

Haben Sie die Zugänge zu<br />

deutschsprachigen Bibliotheken<br />

erfolgreich eingerichtet, können<br />

Sie mit dem Einpflegen Ihres Bestandes<br />

beginnen. Dazu aktivieren<br />

Sie zunächst mit einem Klick<br />

<strong>im</strong> Bereich Bibliotheken: den gewünschten<br />

Eintrag. Danach klicken<br />

Sie oben links auf die Schaltfläche<br />

mit dem Pluszeichen.<br />

Im sich öffnenden Fenster Ein<br />

Buch hinzufügen geben Sie nun die<br />

ISBN-Nummer des zu erfassenden<br />

Werkes ein. Diese finden Sie<br />

üblicherweise auf dem hinteren<br />

Buchdeckel und zusätzlich stets<br />

<strong>im</strong> Inneren auf der Seite, die dem<br />

Titel nachfolgt.<br />

Durch einen anschließenden<br />

Klick auf die Schaltfläche Hinzufügen<br />

n<strong>im</strong>mt die Software Kontakt<br />

zu den Datenbank-Servern<br />

<strong>im</strong> Internet auf und versucht, Daten<br />

wie Titel, Autor, Verlag und<br />

Erscheinungsjahr aus den Online-<br />

Datenbanken zu ermitteln.<br />

Findet Alexandria das Buch, so<br />

legt es <strong>im</strong> rechten Bereich des<br />

Fensters ein entsprechendes<br />

Symbol an. Wollen Sie mehrere<br />

Bücher auf diese Weise katalogisieren,<br />

so aktivieren Sie das Häkchen<br />

vor dem Eintrag Dialog nach<br />

dem Hinzufügen offen halten. Alexandria<br />

gestattet nun beliebig<br />

viele weitere Eingaben, ohne dass<br />

Sie den Dialog <strong>im</strong>mer wieder neu<br />

starten müssen.<br />

Insbesondere alte Bücher verfügen<br />

über keine ISBN-Nummer<br />

und lassen sich daher über die<br />

Standard-Suche in Alexandria<br />

nicht finden. Damit Sie jedoch<br />

nicht umständlich die relevanten<br />

Daten manuell eingeben müssen,<br />

gestattet es die Software, anhand<br />

des Titels, des Autors oder eines<br />

Schlüsselwortes die Online-Datenbanken<br />

zu durchsuchen.<br />

Dazu aktivieren Sie <strong>im</strong> Dialog<br />

Ein Buch hinzufügen den Radio-<br />

Button Suche: und wählen anschließend<br />

das gewünschte Suchkriterium<br />

<strong>im</strong> Auswahlfeld rechts<br />

davon aus. Nun geben Sie <strong>im</strong> Eingabefeld<br />

den gewünschten Begriff<br />

ein. Ein Klick auf Suchen aktiviert<br />

die Online-Suche. Je nachdem,<br />

A Das Hauptfenster –<br />

hier mit zwei neu erfassten<br />

Büchern –<br />

wirkt aufgeräumt.<br />

Glossar<br />

Z39.50-Protokoll: Ein<br />

seit 1984 entwickeltes<br />

Netzwerkprotokoll, das<br />

es ermöglicht, bibliografische<br />

Datenbanken<br />

abzufragen. Es unterstützt<br />

unterschiedliche<br />

Datensatzstrukturen<br />

und ist daher nicht an<br />

eine best<strong>im</strong>mte Datenbank<br />

gebunden.<br />

SRU: Baut auf den<br />

Datenstrukturen von<br />

Z39.50 auf, bietet aber<br />

mit CQL eine verbesserte<br />

Abfragesprache<br />

sowie die Möglichkeit,<br />

Datensätze <strong>im</strong> XML-Format,<br />

zum Beispiel als<br />

MARC21-xml, zurück zu<br />

liefern.<br />

Tipp<br />

Unterstützen die Kataloge<br />

sowohl die<br />

UNIMARC- als auch<br />

die USMARC-Datenstruktur,<br />

sollten Sie<br />

Letztere bei der Konfiguration<br />

berücksichtigen.<br />

Datensätze <strong>im</strong><br />

USMARC-Format liefern<br />

mehr Informationen.<br />

B Neue Datenbank-<br />

Server erfassen Sie in<br />

Alexandria in einem<br />

übersichtlichen Dialog.<br />

www.linux-user.de<br />

06 | 12 53


praxis<br />

Alexandria<br />

C Selbst antiqua -<br />

rische Werke ohne<br />

ISBN-Nummer findet<br />

Alexandria.<br />

D Der Dialog zu<br />

den Eigenschaften eines<br />

Buches erlaubt<br />

unter anderem das Erfassen<br />

von Leihdaten.<br />

wie oft sich der eingegebene Begriff<br />

in den Beständen der Bibliotheken<br />

findet, n<strong>im</strong>mt die Suche<br />

einige Zeit in Anspruch.<br />

Alexandria listet die gefundenen<br />

Einträge anschließend unter der<br />

Eingabemaske auf. Sie können die<br />

Liste komfortabel durchgehen<br />

und – sollte sich der gesuchte Eintrag<br />

darunter befinden – diesen<br />

markieren und durch einen Klick<br />

auf Hinzufügen in die Sammlung<br />

übernehmen (Abbildung C).<br />

Visualisierung<br />

Um die grundlegenden Daten zu<br />

einem erfassten Werk einzusehen,<br />

fahren Sie mit dem Mauszeiger<br />

über das Buchsymbol in der<br />

Hauptansicht. Alexandria zeigt<br />

Ihnen Titel und Untertitel sowie<br />

Autor und Verlag in unterschiedlichen<br />

Schriftgrößen und -attributen<br />

an, sodass Sie die wichtigen<br />

Angaben <strong>im</strong> Blick haben.<br />

Benötigen Sie darüber hinaus<br />

weitere Informationen zum Buch<br />

oder möchten Sie ergänzende Angaben<br />

hinzufügen, so öffnen Sie<br />

per Doppelklick mit der linken<br />

Maustaste den Dialog mit den<br />

Eigenschaften. In diesem Fenster<br />

halten Sie bei Bedarf neben den<br />

bibliographischen Daten zum<br />

Buch auch subjektive Eindrücke<br />

durch eine Bewertung fest. Zusätzlich<br />

bietet der Dialog die<br />

Möglichkeit, <strong>im</strong> Reiter Bemerkungen<br />

kurze Texte zu hinterlegen.<br />

Haben Sie das Buch verliehen,<br />

so tragen Sie den Entleiher ebenso<br />

wie das Datum der Ausleihe <strong>im</strong><br />

Reiter Leihstatus ein. Dadurch behalten<br />

Sie stets den Überblick, an<br />

wen Sie Ihre Bücher verliehen haben<br />

(Abbildung D).<br />

Statusanzeigen<br />

Alexandria bietet verschiedene<br />

Möglichkeiten, um den Status eines<br />

Buches zu kennzeichnen: So<br />

können Sie ankreuzen, ob sich ein<br />

Werk in Ihrem Besitz befindet<br />

oder ob Sie es nur gelesen haben,<br />

daneben dürfen Sie Schlagwörter<br />

(„Tags“) dafür vergeben. Je nachdem,<br />

welche Einträge Sie vornehmen,<br />

erscheint das betreffende<br />

Buch in einer der links <strong>im</strong> Programmfenster<br />

angezeigten Gruppen,<br />

den sogenannten intelligenten<br />

Bibliotheken, die den Buchbestand<br />

automatisch nach best<strong>im</strong>mten<br />

Kriterien sortieren.<br />

Verleihen Sie beispielsweise<br />

häufig Bücher und möchten<br />

schnell einen Überblick gewinnen,<br />

welche Werke derzeit verliehen<br />

sind, so klicken Sie einfach<br />

auf den Eintrag Verliehen links in<br />

der Liste. Die Software zeigt dann<br />

sofort rechts <strong>im</strong> Fenster alle derzeit<br />

nicht <strong>im</strong> Bestand befindlichen<br />

Bücher auf. Analog schlagen<br />

Sie alle gelesenen Bücher,<br />

Ihre persönlichen Favoriten oder<br />

eine Buch-Wunschliste nach.<br />

nebenstehende Eingabefeld. In<br />

Ersterem wählen Sie ein einzelnes<br />

Suchkriterium aus, wobei das<br />

Programm Teile eines Begriffs als<br />

Basis für die Suche akzeptiert.<br />

So reicht es, wenn Sie den Vornamen<br />

eines gesuchten Autors<br />

eingeben, einen Teil der ISBN-<br />

Nummer oder Schlagwörter, die<br />

Sie zu einem Werk erfasst haben.<br />

Alexandria zeigt Ihnen das Ergebnis<br />

in der Liste darunter an. So<br />

gewinnen Sie selbst bei großen<br />

Beständen schnell den Überblick.<br />

Fazit<br />

Die Software gefällt durch eine<br />

schnelle Arbeitsweise, ausreichende<br />

Funktionen zum Erfassen<br />

und Suchen und durch die intuitiv<br />

zu bedienende Oberfläche.<br />

Weniger erfreut die Online-Anbindung<br />

an externe Bibliotheken:<br />

Hier gilt es, für den deutschsprachigen<br />

Raum manuell Zugänge<br />

anzulegen. Dieses umständliche<br />

Prozedere geht auf die Änderungs-<br />

und Modifikationswut der<br />

Verwaltungen deutscher Bibliotheken<br />

zurück, die teilweise nur<br />

noch die Online-Suche <strong>im</strong> Webbrowser<br />

zulassen, aber keinen externen<br />

Zugriff mehr mithilfe des<br />

Z39.50-Protokolls.<br />

Ein weiteres kleines Manko<br />

stellt bei den neuen Versionen ab<br />

0.6.4 die unter einigen Linux-Distributionen<br />

vorhandene Instabilität<br />

der Software dar: So kam es<br />

<strong>im</strong> Test unter Fedora 15 und<br />

Mandriva 2010.2 nachvollziehbar<br />

zu Abstürzen bei der Ansicht der<br />

Bucheigenschaften. Es besteht<br />

also noch Verbesserungsbedarf.<br />

Für Leseratten ist Alexandria jedoch<br />

trotz der kleinen Probleme<br />

allemal einen Blick wert. (agr) n<br />

info<br />

Offline-Suche<br />

Für das Durchstöbern des Buchbestandes<br />

bietet Ihnen Alexandria<br />

ein beachtliches Spektrum an<br />

Suchkriterien. Sie nutzen dazu<br />

einfach <strong>im</strong> Hauptfenster des Programms<br />

das Auswahlfeld und das<br />

[1] Alexandria-Homepage:<br />

http:// alexandria. rubyforge. org<br />

[2] Listen mit Zugangsdaten:<br />

http:// irspy. indexdata. com<br />

[3] Liste mit Z39.50-Servern: http:// www.​<br />

allegro‐c. de/ z3950/ z39_dbs. htm.<br />

[4] PPA Alexandria-Team: https:// launchpad.​<br />

net/ ~alexandria‐team/ +archive/ ppa<br />

54 06 | 12<br />

www.linux-user.de


Alle AusgAben der letzten 12 MonAte<br />

Sie haben ein admin verpaSSt? Kein problem!<br />

bei uns können Sie alle ausgaben des admin magazin<br />

der letzten 12 monate ganz einfach und versandkostenfrei<br />

unter www.admin-magazin.de/einzelheft nachbestellen:<br />

admin 04/2011 admin 05/2011 admin 06/2011<br />

admin 01/2012 admin 02/2012 admin 03/2012<br />

damit Sie keine ausgabe mehr verpassen,<br />

bestellen Sie am besten gleich ein abo<br />

vom admin magazin und sparen:<br />

Telefonisch unter: 07131 / 2707 274,<br />

per Fax: 07131 / 2707 78 601 oder<br />

E-Mail: abo@admin-magazin.de,<br />

Web: www.admin-magazin.de/abo


praxis<br />

MyUnity<br />

Mit MyUnity den Ubuntu-Desktop konfigurieren<br />

P<strong>im</strong>p my Unity<br />

MyUnity passt den Ubuntu-Desktop an Ihre persönlichen Wünsche<br />

an. Dabei bringt das Tool viele Einstellungen zurück, die Canonical<br />

aus der Oberfläche entfernt hat. Florian Effenberger<br />

© William Attard McCarthy, 123RF<br />

MyUnity 3.1.4 (Quellen)<br />

LU/myunity/<br />

README<br />

MyUnity lässt Sie einfach<br />

und unkompliziert<br />

einige Optionen von<br />

Ubuntus Unity-Desktop<br />

konfigurieren. Da es<br />

keine Root-Rechte erfordert,<br />

kann jeder Anwender<br />

des Systems seine<br />

Oberfläche damit individuell<br />

anpassen. Allerdings<br />

bleibt das Optionsangebot<br />

eher schmal.<br />

Ubuntus Unity spaltet die Gemüter.<br />

Während die einen auf den<br />

neuen Desktop schwören, wünschen<br />

sich die anderen verzweifelt<br />

die klassische Umgebung zurück.<br />

Eines ist jedoch beiden Gruppen<br />

gemein: Es fehlt eine Möglichkeit,<br />

die Konfiguration mit einfachen<br />

Mitteln zu ändern. MyUnity [1]<br />

schickt sich an, diese Lücke zu<br />

schließen: Dank seiner einfachen<br />

und übersichtlichen Oberfläche<br />

kann jeder Nutzer das Erscheinungsbild<br />

und Verhalten der Arbeitsumgebung<br />

verändern.<br />

In jedem Fall<br />

schnell eingerichtet<br />

Bei Ubuntu 12.04 LTS [2] – der<br />

zweiten Ubuntu-Version, bei der<br />

die klassische GNOME-Oberfläche<br />

nicht mehr von Haus aus als<br />

Alternative zur Verfügung steht –<br />

hat MyUnity bereits Eingang in<br />

A Die Ubuntu-Version 11.10 trägt den Codenamen „Oneiric“, das neue 12.04<br />

LTS dagegen heißt „Precise“ – auch wenn das PPA etwas anderes behauptet.<br />

die offiziellen Universe-Repositories<br />

gefunden, aus denen Sie es<br />

bei Bedarf einrichten. Auch unter<br />

Ubuntu 11.10 lässt es sich aber<br />

schnell und einfach über <strong>Pakete</strong><br />

von Drittanbietern [3] nachinstallieren.<br />

Die dazu notwendigen Befehle<br />

zeigt Listing 1. Lassen Sie<br />

sich bei der Installation via PPA<br />

übrigens nicht durch den Hinweistext<br />

irritieren, der unter<br />

Umständen falsche Versionsnummern<br />

nennt (Abbildung A): Das<br />

Paket funktionierte <strong>im</strong> Test problemlos<br />

mit „Oneiric“. Nach Abschluss<br />

der Installation starten<br />

Sie MyUnity am besten mittels<br />

des Dash, indem Sie den Anfangsbuchstaben<br />

des Programmnamens<br />

eingeben (Abbildung B).<br />

Listing 1<br />

$ sudo apt‐add‐repository<br />

ppa:myunity/ppa<br />

$ sudo apt‐get update<br />

$ sudo apt‐get install myunity<br />

56 06 | 12<br />

www.linux-user.de


MyUnity<br />

praxis<br />

Quadratisch,<br />

praktisch, Root<br />

Nach dem ersten Start präsentiert<br />

sich MyUnity sehr aufgeräumt.<br />

Die Oberfläche gliedert<br />

sich in insgesamt sieben Bereiche,<br />

von denen sechs Konfigurationsmöglichkeiten<br />

enthalten (Abbildung<br />

C). Mittels der Pfeilsymbole<br />

<strong>im</strong> Programmfenster wechseln<br />

Sie zwischen den Kategorien, alternativ<br />

klicken Sie deren Namen<br />

direkt an: Launcher, Dash, Panel,<br />

Desktop, Font und Themes.<br />

Im Test wurden die meisten der<br />

geänderten Einstellungen sofort<br />

aktiv, zudem gibt es auch keine<br />

Funktionen, mit denen Sie das<br />

System wirklich unbrauchbar machen<br />

könnten. „Verklicken“ Sie<br />

sich einmal, dann stellen Sie alle<br />

Optionen in der aktuellen Kategorie<br />

durch die entsprechende<br />

Schaltfläche oben rechts <strong>im</strong> Programmfenster<br />

auf den Standard<br />

zurück. Im Test wich das Ergebnis<br />

dann zwar teilweise von Ubuntus<br />

Vorgabeeinstellungen ab, führte<br />

aber dennoch zu einem ordentlichen<br />

Desktop.<br />

Die erste Kategorie, Launcher<br />

genannt, beeinflusst das Erscheinungsbild<br />

des Programmstarters.<br />

Anwender mit kleinen Bildschirmen<br />

stellen hier beispielsweise<br />

die Symbolgröße von 48 auf<br />

32 Pixel, was Platz spart (Abbildung<br />

D), aber auch extrem große<br />

Icons lassen sich hier einstellen.<br />

Noch unaufdringlicher wird der<br />

Launcher, wenn Sie ihn transparent<br />

schalten oder automatisch<br />

ausblenden, solange Sie ihn nicht<br />

nutzen. Beides ermöglicht My-<br />

Unity ebenso wie die anzuzeigenden<br />

Laufwerke zu konfigurieren.<br />

Über die Schaltfläche Quicklist bearbeiten<br />

Sie zudem die Einträge,<br />

die der Programmstarter standardmäßig<br />

vorhält, um schnellen<br />

Zugriff auf die wichtigsten Programme<br />

bereitzustellen – zumindest<br />

theoretisch, denn <strong>im</strong> Test,<br />

C Die Oberfläche von MyUnity fasst die möglichen Einstellungen in sechs<br />

verschiedene Konfigurationsbereiche zusammen.<br />

ließen sich weder Symbole entfernen<br />

noch neue hinzufügen.<br />

Die zweite Kategorie, Dash, hält<br />

deutlich weniger Optionen bereit.<br />

Im Test konnten wir nur konfigurieren,<br />

ob der Hintergrund „verwischt“<br />

werden und welche Größe<br />

das Fenster haben soll, womit<br />

beispielsweise eine Anpassung für<br />

Netbooks möglich ist – die Schaltflächen<br />

zum Deaktivieren der Anzeige<br />

installierter oder zuletzt benutzter<br />

Anwendungen<br />

war ohne Funktion.<br />

Recht übersichtlich ist<br />

auch die dritte Kategorie,<br />

Panel, mit der Sie<br />

die Transparenz der in<br />

Ubuntu 11.10 neu hinzugekommenen,<br />

Mac-<br />

OS-X-ähnlichen<br />

Menüzeile regeln (Abbildung<br />

E,<br />

nächste Seite).<br />

Die Einstellung<br />

nehmen Sie dabei<br />

entweder generell<br />

oder nur<br />

für max<strong>im</strong>ierte<br />

Fenster vor.<br />

Ordnung<br />

schaffen<br />

Die vierte Kategorie,<br />

Desktop,<br />

dient der Konfiguration<br />

der Arbeitsoberfläche.<br />

B MyUnity rufen Sie<br />

am einfachsten über<br />

das Dash auf.<br />

D Kleine Icons auf<br />

transparentem Hintergrund<br />

(links) oder<br />

große Symbole (rechts)<br />

auf schwarzem Hinteergrund,<br />

das aktive<br />

Programm hervorgehoben<br />

– MyUnity bietet<br />

für den Launcher eine<br />

Vielzahl von Varianten.<br />

www.linux-user.de<br />

06 | 12 57


praxis<br />

MyUnity<br />

E Bunt statt schwarz –<br />

die transparente Menüleiste<br />

macht optisch<br />

durchaus was her.<br />

Tipp<br />

Verweigert MyUnity<br />

bei Ihnen seinen<br />

Dienst, dann ist<br />

eventuell ein altes<br />

oder kaputtes Profil<br />

daran schuld. Auf<br />

unserem Testsystem,<br />

das schon einige<br />

Ubuntu-Versionen auf<br />

dem Buckel hat, ignorierte<br />

MyUnity zunächst<br />

scheinbar jedwede<br />

Änderung.<br />

Kaum testeten wir<br />

das Programm jedoch<br />

mit einem neuen,<br />

frischen Benutzerprofil,<br />

klappte alles wie<br />

am Schnürchen.<br />

F Individualisten konfigurieren<br />

mit MyUnity<br />

auch die einzelnen<br />

Schriftarten.<br />

Standardmäßig bleibt der Desktop<br />

von Ubuntu zunächst leer<br />

und wartet auf das Befüllen durch<br />

den Anwender, denn die Entwickler<br />

haben keine Symbole dafür<br />

vordefiniert. Erscheint es Ihnen<br />

jedoch zu müßig, ständig die Programmleiste<br />

zu bemühen, um auf<br />

Laufwerke und spezielle Ordner<br />

zuzugreifen, und wollen Sie erst<br />

recht nicht alle Verknüpfungen<br />

händisch anlegen, dann schalten<br />

Sie mithilfe von MyUnity per<br />

Mausklick einfach Ihre Wunsch-<br />

Icons hinzu.<br />

Zur Auswahl stehen dabei das<br />

Home-Verzeichnis, der Direktzugriff<br />

auf die Netzwerkumgebung,<br />

das Einblenden aller gemounteten<br />

Laufwerke sowie der Mülle<strong>im</strong>er,<br />

den Sie durch einen<br />

Rechtsklick auf das neue Symbol<br />

zudem schnell und einfach leeren.<br />

Mit Active „Show Desktop“ Icon<br />

blenden Sie den aktuellen Desktop<br />

als kleines Symbol <strong>im</strong> Programmstarter<br />

ein, um mit einem<br />

Klick die Sicht darauf freizulegen.<br />

Auch die Zahl der virtuellen<br />

Desktops konfigurieren Sie direkt<br />

<strong>im</strong> MyUnity-Dialog.<br />

Schriftarten und<br />

Themes anpassen<br />

Hinter der Kategorie mit dem Namen<br />

Fonts verbirgt sich die Übersicht<br />

zur Schriftkonfiguration<br />

(Abbildung F). Zum einen verändern<br />

Sie dort das Erscheinungsbild<br />

mittels Kantenglättung (Antialiasing),<br />

zum anderen konfigurieren<br />

Sie das sogenannte Hinting<br />

[4]. Daneben stellen Sie die<br />

Schriftart und ‐größe für einzelne<br />

Elemente wie Fensterüberschriften<br />

oder Desktop-Symbole. Der<br />

Nutzen dieser Option erweist<br />

sich allerdings als eingeschränkt:<br />

Einige Programme übernehmen<br />

die Änderung nur nach einem<br />

Neustart, andere ignorieren sie<br />

komplett. Kandidaten für Letzteres<br />

sind insbesondere solche, die<br />

auf einem eigenen oder fremden<br />

Toolkit basieren.<br />

Die letzte Kategorie, Themes genannt,<br />

gibt Ihnen Zugriff auf das<br />

Design des Systems. Das Theme<br />

regelt Farben und Schriftarten<br />

sowie das Aussehen der Programmfenster<br />

(die sogenannte<br />

Fensterdekoration). Unabhängig<br />

davon stellen Sie die Darstellung<br />

der einzelnen Symbole ein, das<br />

sogenannte Icon Set. Falls Ihnen<br />

das aktuelle Ubuntu-Design nicht<br />

gefällt, Sie das Aussehen anderer<br />

Betriebssysteme <strong>im</strong>itieren möchte<br />

oder einen möglichst hohen<br />

Kontrast benötigen, dann werden<br />

Sie hier fündig.<br />

Alternativen zu Unity<br />

Fazit: Mehr Funktionen<br />

dringend gewünscht<br />

MyUnity macht genau das, was es<br />

verspricht – es lässt den Anwender<br />

einfach und unkompliziert einige<br />

Optionen von Ubuntus Unity-Desktop<br />

konfigurieren. Da es<br />

keine Root-Rechte erfordert, kann<br />

jeder Anwender des Systems seine<br />

Oberfläche damit individuell anpassen.<br />

Allerdings bleibt das Angebot<br />

insgesamt betrachtet eher<br />

dürftig, und wer tiefergehende<br />

Änderungen vornehmen will,<br />

muss auf andere Tools zurückgreifen.<br />

Wünschenswert wäre zudem<br />

noch eine bessere Erklärung der<br />

einzelnen Optionen, beispielsweise<br />

in Form von kurzen Hilfetexten,<br />

denn derzeit muss man <strong>im</strong><br />

Zweifel die Funktion schlicht erst<br />

einmal ausprobieren. (jlu) n<br />

info<br />

[1] MyUnity: http:// www. uielinux. org/ myunity/<br />

[2] Kurzvorstellung Ubuntu 12.04 LTS:<br />

Kristian Kißling, „Akkurates Schuppentier“,<br />

LU 06/​2012, S. 10,<br />

http:// www. linux-community. de/ 26171<br />

[3] Personal Package Archives erklärt:<br />

http:// wiki. ubuntuusers. de/ Launchpad/ PPA<br />

[4] Hinting-Grundlagen:<br />

http:// de. wikipedia. org/ wiki/ Hinting<br />

Wer sich partout nicht mit Unity anfreunden<br />

möchte, für den gibt es<br />

mehrere Alternativen.<br />

Neben der Installation einer alternativen<br />

Desktop-Umgebung fanden wir<br />

<strong>im</strong> Internet zahlreiche Anleitungen mit<br />

teils recht unterschiedlicher Herangehensweise.<br />

Während die einen die<br />

Ins tallation des <strong>Pakete</strong>s gnome-panel<br />

heranziehen, bevorzugen andere stattdessen<br />

gnome-shell oder schlagen<br />

dessen Alternative gnome-sessionfallback<br />

als Lösung vor.<br />

All diesen Ansätzen ist jedoch gemein,<br />

dass die von Canonical umgesetzte<br />

Integration verschiedener Tools<br />

und Dienste in die Oberfläche nicht<br />

mehr so reibungslos vonstatten geht,<br />

sodass der Weg wohl fortgeschrittenen<br />

Anwendern vorbehalten ist.<br />

Der Autor<br />

Florian Effenberger engagiert sich seit<br />

vielen Jahren ehrenamtlich für freie<br />

Software. Er ist Chairman of the<br />

Board der Document Foundation.<br />

Zuvor war Florian fast sieben Jahre <strong>im</strong><br />

Projekt OpenOffice.org aktiv, zuletzt<br />

als Marketing Project Lead. Seine<br />

Arbeitsschwerpunkte liegen darüber<br />

hinaus in der Konzeption von Unternehmens-<br />

und Schulnetzwerken samt<br />

Lösungen zur Softwareverteilung auf<br />

der Basis freier Software.<br />

Zudem schreibt Florian für deutschund<br />

englischsprachige Fachpublikationen<br />

und beschäftigt sich dabei auch<br />

mit rechtlichen Fragestellungen.<br />

58 06 | 12<br />

www.linux-user.de


Hier startet<br />

iHr UBUNtU!<br />

● JaHres-aBo FÜr NUr E 26,90<br />

15%<br />

sparEn<br />

●<br />

iMMer Mit aKtUeLLster<br />

UBUNtU-DistriBUtioN aUF DVD<br />

NeU:<br />

● Digitales Jahresabo<br />

<strong>im</strong> PDF-Format für<br />

nur E 24,20!<br />

Jetzt BesteLLeN<br />

Telefon: 07131 / 2707 274<br />

Fax: 07131 / 2707 78 601<br />

E-Mail: abo@ubuntu-user.de<br />

Internet: http://www.ubuntu-user.de<br />

ich möchte Ubuntu User für nur E 6,73<br />

Ja,<br />

pro Ausgabe abonnieren.<br />

Ich erhalte Ubuntu User viermal <strong>im</strong> Jahr zum Vorzugs preis von e 6,73 statt e 7,90 <strong>im</strong> Einzelverkauf,<br />

bei jährlicher Verrechnung e 26,90 (*Österreich: e 29,90, Schweiz: SFr 53,90,<br />

restliches Europa: e 33,90). Ich gehe keine langfristige Bindung ein. Möchte ich das Abo<br />

nicht länger beziehen, kann ich die Bestellung jederzeit und fristlos kündigen. Geld für bereits<br />

bezahlte, aber noch nicht gelieferte Ausgaben erhalte ich zurück. Sollten Sie noch Fragen<br />

haben, hilft Ihnen unser Abo-Service gerne weiter (089-20959127).<br />

Linux New Media AG, Putzbrunner Straße 71, 81739 München; Aufsichtsrat: Rudolf Strobl<br />

(Vorsitz), Vorstand: Brian Osborn, Hermann Plank, Handelsregister: HRB 129161 München<br />

Name, Vorname<br />

Datum<br />

Unterschrift<br />

Mein Zahlungswunsch: Bequem per Bankeinzug Gegen Rechnung<br />

Straße, Nr.<br />

BLZ<br />

Konto-Nr.<br />

PLZ<br />

Ort<br />

Bank


praxis<br />

Apps für Musiker<br />

© Julien Tromeur, 123RF<br />

README<br />

Der technische Umfang<br />

eines Android-Geräts ermöglicht<br />

viele Einsatzmöglichkeiten<br />

<strong>im</strong> Audio-<br />

Bereich. Mit den passenden<br />

Apps steuern<br />

Sie Musiksoftware auf<br />

dem Linux-PC, senden<br />

MIDI-Signale an diese<br />

oder erzeugen durch die<br />

mobile Hardware gleich<br />

selbst die Töne.<br />

Linux-Musiksoftware mit<br />

Android-Apps steuern<br />

Sound-Droiden<br />

Mit den richtigen Apps verwandelt sich das Android-Gerät in eine<br />

kompakte Fernsteuerung für das Linux-Tonstudio – oder sogar in ein<br />

esoterisches Musikinstrument. Hartmut Noack<br />

Android ist ein Linux – und doch<br />

wieder nicht. Mit dem, was Sie<br />

von Ihrem Desktop als Linux kennen,<br />

hat es den Kern gemeinsam.<br />

Für alles oberhalb dieser Ebene<br />

benutzt es jedoch ganz eigene<br />

Methoden. Deshalb sind sämtliche<br />

Apps für Android in Java<br />

geschrieben und laufen eben<br />

nicht auf einem Desktop-Linux,<br />

und umgekehrt läuft Software für<br />

Linux in mehr als 9 von 10 Fällen<br />

auf Android nicht.<br />

Das gilt auch für den inzwischen<br />

ansehnlichen Fundus der für Linux<br />

verfügbaren freien Programme<br />

zum Bearbeiten von Audiound<br />

Video-Material. Es lohnt sich<br />

also nicht, <strong>im</strong> Play-Store von<br />

Google nach Qtractor, Guitarix<br />

oder Audacity zu suchen. Geben<br />

Sie jedoch den Suchbegriff „Ardour“<br />

ein, dann finden Sie tatsächlich<br />

eine App [1] namens<br />

Ardroid mit dem Logo der Profi-<br />

Musikanwendung.<br />

Das charakteristische rote Dreieck<br />

steht freilich nicht für die<br />

Harddisk-Recording-Suite selbst,<br />

sondern für eine Software zum<br />

Fernbedienen, mit der Sie bei Bedarf<br />

den Mixer und das Laufwerk<br />

von Ardour 3 von einem Android-<br />

Gerät aus steuern (Abbildung A).<br />

Eigentlich logisch: Wofür würde<br />

sich ein handlicher, kleiner Computer<br />

mit drahtloser Netzanbindung<br />

besser eignen als zum Fernsteuern?<br />

Droiden greifen ein<br />

Wer ein Android-Gerät sowie einen<br />

PC mit Musiksoftware besitzt,<br />

verfügt nach einigen Klicks<br />

über einen ganzen Park von virtuellen<br />

Geräten, über die er die Programme<br />

auf dem PC ganz neuartig<br />

bedient. Diverse Apps<br />

für And roid erzeugen und verschicken<br />

Signale, mit denen Sie<br />

Musikinstrumente und Effekte<br />

steuern und Noten anschlagen<br />

(Abbildung B). Die meisten legen<br />

eine Tastatur-Grafik oder Schlagflächen<br />

für Percussion auf die<br />

Touch-Oberfläche. Diese spielen<br />

Sie dann wie sehr kleine Hardware-Keyboards<br />

oder E-Drums.<br />

Einige Apps nutzen die erweiterten<br />

Möglichkeiten des Touchscreens,<br />

registrieren die Anschlagstärke<br />

und reagieren auf<br />

Richtung und Geschwindigkeit<br />

von Bewegungen über die Oberfläche.<br />

Andere erzeugen Musiksignale<br />

aus Kamerabildern oder<br />

aus den Daten von Kompass und<br />

Bewegungssensor. Die Möglichkeiten<br />

gehen also nicht nur über<br />

das hinaus, was ein so kleines Gerät<br />

vermuten ließe: Smartphones<br />

ermöglichen tatsächlich Spielweisen,<br />

die man von traditionellen<br />

Instrumenten her nicht kennt.<br />

Egal, ob Sie in einer App auf virtuelle<br />

Klaviertasten drücken oder<br />

das Telefon schütteln, um den Bewegungssensor<br />

aus der Reserve<br />

zu locken: Im Endeffekt entstehen<br />

<strong>im</strong>mer Daten, die irgendwie<br />

zu einer Software gelangen müssen,<br />

die sie zu lesen und als Musik<br />

zu interpretieren vermag –<br />

und zwar mit weniger als zehn<br />

Millisekunden Latenz, wenn<br />

möglich. Ein klassisches Keyboard<br />

schließen Sie per USB an<br />

60 06 | 12<br />

www.linux-user.de


Apps für Musiker<br />

praxis<br />

den Rechner an, und<br />

mit etwas Glück stehen<br />

unter Linux die<br />

Signale sofort <strong>im</strong><br />

MIDI-Server bereit.<br />

Die USB-Schnittstelle<br />

an Android-Geräten<br />

sieht dergleichen<br />

(noch) nicht vor.<br />

And roid sendet vorzugsweise<br />

drahtlos<br />

in Ihrem Netzwerk.<br />

Somit benötigen Sie<br />

entweder einen Server<br />

auf dem Android-Gerät,<br />

dessen<br />

Signale ein Client<br />

unter Linux empfängt<br />

und verarbeitet,<br />

oder einen Server<br />

unter Linux, der<br />

<strong>im</strong> Netzwerk Ports<br />

bereitstellt, welche die Android-<br />

App der Wahl dann versteht.<br />

Open Sound Control<br />

Wie überall sonst in der Welt der<br />

Steuersignale für Musikanwendungen<br />

funken auch Android-<br />

Apps in den Formaten MIDI und<br />

Open Sound Control (OSC). Hinter<br />

dem Kürzel OSC [2] verbirgt<br />

sich ein modernes, von vornherein<br />

auf Netzwerkbetrieb ausgelegtes<br />

System für Musiksignale.<br />

Wie der Name vermuten lässt,<br />

steht OSC unter einer offenen Lizenz.<br />

Die Entwickler hoffen, mit<br />

diesem Protokoll einige Probleme<br />

zu lösen, die ihnen be<strong>im</strong> altbewährten<br />

MIDI-System oft Bauchschmerzen<br />

bereiteten.<br />

Der interessanteste Vorteil von<br />

OSC liegt in der viel höheren Auflösung<br />

der Abstufungen von Signalen.<br />

So erlaubt es für den Hörer<br />

tatsächlich stufenlos wirkende<br />

Tonhöhenschwankungen für Tremolo-Effekte,<br />

nicht-temperierte<br />

St<strong>im</strong>mungen für ganze Orchester<br />

und vieles mehr. MIDI ist für solche<br />

Feinheiten zu grob gerastert.<br />

Diese Flexibilität macht OSC zu<br />

einer beliebten Spielwiese für Instrumentenbauer,<br />

die mit dem<br />

System neuartige Möglichkeiten<br />

für Musiker schaffen wollen.<br />

Linux als offenes System wäre für<br />

OSC eigentlich die ideale Plattform,<br />

die Unterstützung steckt<br />

aber noch in den Kinderschuhen.<br />

Lediglich das eingangs erwähnte,<br />

<strong>im</strong>mer noch exper<strong>im</strong>entell eingestufte<br />

Ardroid bietet <strong>im</strong> Zusammenwirken<br />

mit dem ebenfalls<br />

noch exper<strong>im</strong>entellen Ardour 3<br />

eine zeitgemäße OSC-Anwendung<br />

für Linux.<br />

Das hängt vor allem damit zusammen,<br />

dass sich OSC von vornherein<br />

sehr flexibel gibt. Es existieren<br />

keine standardisierten Befehle<br />

für die verschiedenen Funktionen<br />

zum Steuern und Regeln.<br />

Letztlich müssten Projekte wie<br />

Rosegarden oder Qtractor ihre eigene<br />

OSC-Fernbedienung programmieren<br />

und pflegen, was<br />

aber außer den Ardour-Entwicklern<br />

bisher niemand tut.<br />

Ardroid<br />

Für die Datenübertragung nutzt<br />

OSC standardmäßig UDP, wobei<br />

Sie damit rechnen müssen, dass<br />

jede App eine andere Portnummer<br />

verwendet, und dass Anwendungen<br />

auf dem PC ihrerseits<br />

ebenfalls willkürlich ihre Portnummern<br />

wählen. Die Verbindung<br />

von Ardroid mit Ardour<br />

zeigt das exemplarisch: Sobald<br />

Ardour 3 auf einem Rechner <strong>im</strong><br />

gleichen Netzwerk läuft wie das<br />

Android-Gerät, tragen Sie in der<br />

Ardroid-App unter Setup die IP<br />

des Rechners ein, auf dem Sie<br />

Ardour gestartet haben.<br />

Anschließend schalten Sie in Ardour<br />

3 unter Edit | Preferences |<br />

User Interaction den Listeneintrag<br />

OSC ein. Jetzt lauscht Ardour 3<br />

an Port 3819/​udp auf eingehende<br />

OSC-Befehle. Die Portnummer<br />

lässt sich in der Datei ~/.config/<br />

ardour3/ardour.rc per Hand ein­<br />

A Die App Ardroid verwandelt<br />

Android-Geräte<br />

automatisch in<br />

eine Fernbedienung<br />

für ein laufendes Ardour-3-Projekt.<br />

Dazu<br />

ist die App auf die<br />

OSC-Schnittstelle der<br />

Software abgest<strong>im</strong>mt.<br />

Glossar<br />

Latenz: Zeit zwischen<br />

dem Entgegennehmen<br />

einer Eingabe und dem<br />

Beginn der Rückgabe.<br />

Be<strong>im</strong> Spiel von<br />

Musikins trumenten erfordert<br />

der professionelle<br />

Einsatz eine Latenz<br />

von weniger als<br />

zehn Millisekunden. Der<br />

Soundserver Jack<br />

garantiert unter Linux<br />

auf einem durchschnittlichen<br />

aktuellen PC<br />

Latenzen um fünf Millisekunden.<br />

UDP: User Datagram<br />

Protocol. Ein auf besonders<br />

schnelle, effiziente<br />

Datenübertragung opt<strong>im</strong>iertes<br />

Netzwerkprotokoll,<br />

das alle modernen<br />

Betriebssysteme unterstützen.<br />

B Die Zahl der Android-Apps<br />

für Musiker<br />

ist beträchtlich und<br />

wächst stetig. Viele der<br />

Apps arbeiten mit dem<br />

Soundsystem von<br />

Linux zusammen.<br />

www.linux-user.de<br />

06 | 12 61


praxis<br />

Apps für Musiker<br />

C Die App GEOSC<br />

überträgt die via GPS<br />

ermittelten geografischen<br />

Koordinaten des<br />

Telefons als<br />

OSC- Anweisungen.<br />

Das ermöglicht es, bei<br />

großen Beschallungsanlagen<br />

in weitläufigen<br />

Gebäuden die<br />

Lautstärke an die<br />

Position des Hörers<br />

anzupassen.<br />

D Die App Control lädt vom Nutzer auf Webservern abgelegte Interface-Dateien<br />

in einem speziellen XML-Format. Damit setzen Sie auf<br />

best<strong>im</strong>mte Software abgest<strong>im</strong>mte Layouts um.<br />

stellen: Auf diesem Weg lässt sich<br />

Ardour theoretisch auch mit Apps<br />

verbinden, die einen anderen Port<br />

verwenden.<br />

Mit einem Klick auf Connect in<br />

Ardroid findet die App die OSC-<br />

Ports von Ardour automatisch<br />

und <strong>im</strong>portiert die Mixerkanäle<br />

der gerade in Ardour gestarteten<br />

Session. Sofort sehen<br />

Sie in Ardroid die Mixerspuren<br />

des Ardourprojekts<br />

und daneben Buttons, mit<br />

denen Sie Spuren nach Bedarf<br />

stumm oder auf solo<br />

schalten sowie für die Aufnahme<br />

scharf machen.<br />

Der Schieberegler unter der<br />

Spurenliste arbeitet synchronisiert<br />

mit der Position des Play-<br />

Zeigers in Ardour auf dem PC.<br />

Die Laufwerkstasten darunter<br />

steuern an dieser Position Play/​<br />

Stop, springen zum Anfang und<br />

schalten den Loop-Modus sowie<br />

die Aufnahme an oder aus.<br />

Wer es ohne menschlichen Helfer<br />

mit Ardour aufn<strong>im</strong>mt, der<br />

weiß diese kleine App bald sehr<br />

zu schätzen. Drahtlos mit dem<br />

Mobiltelefon fällt es zum Beispiel<br />

vom Schlagzeughocker aus deutlich<br />

leichter, Ardour 3 zu bedienen,<br />

als mit einer Funktastatur<br />

und einem Opernglas, mit Sie<br />

versuchen, den Bildschirm <strong>im</strong><br />

Auge zu behalten.<br />

Wie OSC funktioniert<br />

Es gibt Android-Apps, die OSC-Befehle senden, und<br />

es gibt Linux-Software, die solche Befehle empfängt.<br />

Allerdings fehlen OSC <strong>im</strong> Gegensatz zu MIDI standardisierte<br />

Befehle, und so versteht ein Linux-Programm,<br />

das Befehle von Apps wie Control oder<br />

TouchOSC empfängt, diese normalerweise nicht.<br />

Das hat nichts mit Android oder Linux zu tun, sondern<br />

hängt mit der beinahe grenzenlosen Vielseitigkeit<br />

von OSC zusammen. Das offene Konzept des<br />

Protokolls legt nahe, entweder Anwendungen auf<br />

konkrete OSC-Sender oder Sender auf Anwendungen<br />

individuell abzust<strong>im</strong>men.<br />

Für MIDI hat sich das sehr intuitive MIDI-learn durchgesetzt.<br />

Dieses ermöglicht, in entsprechend ausgerüsteten<br />

Anwendungen eingehenden Signalen nach<br />

Belieben den Zugriff auf Parameter des Programms<br />

beizubringen. Ein Pendant OSC-learn gibt es noch<br />

nicht – ohne Texteditor geht es hier also nicht. Die<br />

Daten, die man dazu bearbeiten muss, weisen eine<br />

eher s<strong>im</strong>ple Struktur auf [13].<br />

Sowohl in den Layouts der steuernden Apps als<br />

auch in der Konfiguration der Schnittstellen der empfangenden<br />

Software gilt es, zueinander passende<br />

Adressen zu definieren. Über die Adresse gelangt<br />

die Botschaft vom Sender zum Empfänger, und dort,<br />

wo das Sinn ergibt, schickt auch der Empfänger<br />

Rückmeldungen an den Sender (Abbildung E). Dies<br />

hat zur Folge, dass die meisten OSC-Lösungen entweder<br />

auf nur zusammen mit einem best<strong>im</strong>mten<br />

Programm funktionieren (wie Ardroid mit Ardour 3)<br />

oder auf ein vom Nutzer programmierbares System<br />

setzen (wie Pure Data oder MaxMSP).<br />

Ähnlich wie bei einem Telefongespräch ist freilich<br />

die Verbindung an sich noch nicht alles: Sie ermöglicht<br />

es lediglich, die Daten zu übertragen. OSC-Botschaften<br />

heißen Argumente und dürfen aus einer<br />

MIDI-Note, einem genauen Fließkommawert für eine<br />

Frequenz, einem Lautstärkewert oder dem Tempo<br />

eines Sequencers bestehen.<br />

Der Komplexität sind dabei keine Grenzen gesetzt,<br />

und es gibt keine Vorgaben, was die Argumente in<br />

der empfangenden Software bewirken. Von daher<br />

begrenzt nur die Fantasie des Programmierers die<br />

Möglichkeiten. So berichtet etwa ein Nutzer der<br />

FPMIDI-App <strong>im</strong> Google Play Store begeistert, dass er<br />

das Licht in seiner Wohnung vom Telefon aus mithilfe<br />

der App d<strong>im</strong>mt oder herausregelt.<br />

Eine Anleitung für den Aufbau eines Layouts für die<br />

freie App OSC Control finden Sie auf der Webseite<br />

ihres Entwicklers Charlie Roberts [14]. Musikern,<br />

die wenig Neigung verspüren, eine programmierbare<br />

Umgebung wie PD zu erlernen, bleibt zu wünschen,<br />

dass mit der Zeit die Zahl der Apps <strong>im</strong> Stil von<br />

Ardroid zun<strong>im</strong>mt, um OSC unter Linux zu verbreiten.<br />

Alles <strong>im</strong> Eigenbau<br />

Der Play-Store von Google bietet<br />

noch etliche weitere OSC-fähige<br />

Controllerapps, einige davon mit<br />

erheblich weiter gehenden Funktionen<br />

als Ardroid, das explizit<br />

für die Mixerfunktionen von Ardour<br />

3 gebaut ist. Manche davon<br />

bringen Funktionen mit, deren<br />

praktischer Nutzen eher selten<br />

zutage tritt (Abbildung C). Für<br />

die unter Linux mit Wine ASIO<br />

gut benutzbare proprietäre Musiksuite<br />

Reaper finden Sie <strong>im</strong><br />

Play-Store die Fernbedienung<br />

OSC Control [3], die Ardroid<br />

ziemlich ähnelt.<br />

Da kein mit Jack oder Alsa­<br />

MIDI vergleichbarer, zentralisierter<br />

OSC-Empfänger für Linux<br />

existiert, bleiben die wenigen einzelnen<br />

Programme, die OSC unter<br />

Linux unterstützen. Hier zählt<br />

Ardour zur Riege der traditionell<br />

gestalteten Audio-Software,<br />

62 06 | 12<br />

www.linux-user.de


Apps für Musiker<br />

praxis<br />

Csound und Pure Data orientieren<br />

sich eher an den Bedürfnissen<br />

von Musikprogrammierern. Wer<br />

die Lernkurve nicht scheut, für<br />

den besteht schon heute die Möglichkeit,<br />

OSC-Apps wie Charlie<br />

Roberts Control [4] mit selbst gemachten<br />

Patches für Csound und<br />

Pure Data einzusetzen.<br />

Der Einstieg funktioniert dabei<br />

eigentlich <strong>im</strong>mer auf dieselbe<br />

Weise: Es gilt, der zu steuernden<br />

Software unter Linux die von der<br />

App gesendeten Befehle beizubringen.<br />

Dazu müssen Sie entweder<br />

ein Layout-Interface für die<br />

App einrichten (Abbildung D)<br />

oder das Interface der Linux-Anwendung<br />

anpassen.<br />

Beides geschieht per Hand meist<br />

in XML-Dateien, zuweilen ist ein<br />

erneutes Kompilieren des Programms<br />

erforderlich. Der Kasten<br />

Wie OSC funktioniert erklärt das<br />

Prinzip genauer. Für alle, die lieber<br />

fertig lauffähig zusammengebaute<br />

Anwendungen benutzen,<br />

bleiben darüber hinaus die vielen<br />

Apps, die das gute alte MIDI-Protokoll<br />

unterstützen.<br />

Alte Blechköppe<br />

Auch MIDI-Signale müssen bis<br />

auf Weiteres von Android via<br />

Netzwerk in den Linux-Rechner.<br />

Dort muss dann ein geeigneter<br />

Server die Daten entgegennehmen<br />

und ins MIDI-System<br />

weiterleiten. Im Umfeld einschlägiger<br />

Apps finden Sie<br />

mehrere Linux-taugliche Server<br />

für MIDI-Daten, wie zum Beispiel<br />

DSMIDI [5].<br />

Das Projekt steht unter der<br />

LGPL und entstand eigentlich für<br />

den Einsatz auf Nintendo-Konsolen<br />

und iPhones, läuft aber auch<br />

unter Linux. Außerdem existieren<br />

die ersten Apps für Android. Der<br />

Server läuft ohne Weiteres in einer<br />

Umgebung wie Ubuntu KX­<br />

Studio [6]. Nach einem Klick auf<br />

das Binary aus dem Tar-Archiv erscheint<br />

eine winzige Qt-Oberfläche,<br />

und <strong>im</strong> Alsa-MIDI-Reiter von<br />

Qjackctl taucht umgehend ein<br />

neuer I/​O-Port auf.<br />

Anschließend geben Sie in einer<br />

Musik-App auf dem Android­<br />

Gerät die IP-Adresse des Rechners<br />

an, auf dem der Server läuft.<br />

Noten und Controller-Events stehen<br />

unverzüglich an diesem Port<br />

für Linux-Anwendungen mit<br />

MIDI-Eingang bereit. Borce Trajkovski<br />

gehört zu den Entwicklern,<br />

die DSMIDI in ihren Apps<br />

tadellos unterstützen. Sein Mixer<br />

[7] und sein Schlagzeug [8]<br />

machen beide sofort Spaß.<br />

Dabei zeigt das Schlagzeug My­<br />

Drums (Abbildung F) besonders<br />

deutlich, wo die Stärken und<br />

Schwächen be<strong>im</strong> Mult<strong>im</strong>edia-Betrieb<br />

von Android liegen: Verbunden<br />

mit dem Soundfont-Player<br />

Fluidsynth unter Linux erklingen<br />

die von den MIDI-Noten der App<br />

getriggerten Samples vom PC<br />

deutlich schneller und zuverlässiger<br />

als die eingebauten Sounds<br />

direkt vom Telefon. Eigenartigerweise<br />

bietet der Autor keine<br />

werbefreie Bezahlvariante der<br />

proprie tären Freeware an.<br />

Die ebenfalls perfekt mit DSMI­<br />

DI verkabelte App Ivory Tower [9]<br />

wendet sich an Gitarristen, bietet<br />

aber auch für alle anderen eine interessante<br />

Alternative zu den üblichen<br />

Schlagflächen und Klaviaturen.<br />

Aus der Umfeld von Google<br />

selbst stammt das unter GPLv3<br />

frei lizenzierte FingerplayMIDI<br />

(Abbildung G, nächste Seite).<br />

E Das Tool OSCdump<br />

liest Kommandos, die<br />

TouchOSC oder Finger-<br />

PlayMIDI senden.<br />

Diese Informationen<br />

ermöglichen es, OSC-<br />

Schnittstellen in Linux-<br />

Anwendungen auf die<br />

jeweilige App abzust<strong>im</strong>men.<br />

Tipp<br />

Kommt die Verbindung<br />

nicht zustande,<br />

stehen eventuell eine<br />

Firewall oder zu<br />

restriktiv eingestellte<br />

Richtlinien in Sicherheitssystemen<br />

wie<br />

AppArmor <strong>im</strong> Wege.<br />

F Das kleine Android-<br />

Schlagzeug MyDrums<br />

sieht nicht nur gut aus,<br />

es verhält sich außerdem<br />

anschlagdynamisch<br />

und erzeugt mit<br />

Fluidsynth keine spürbaren<br />

Latenzen.<br />

www.linux-user.de<br />

06 | 12 63


praxis<br />

Apps für Musiker<br />

G Die MIDI-Signale<br />

von FPMIDI ordnen Sie<br />

<strong>im</strong> Synth AMS komfortabel<br />

den Parametern<br />

der Klangmodule zu.<br />

Schon in wenigen<br />

Minuten wächst so ein<br />

neuartiges Instrument,<br />

das zum stundenlangen<br />

Spielen verführt.<br />

H Die App VL-Tone<br />

zeigt Ihnen kostenlos,<br />

was die Herren von<br />

Trio in den 1980ern sahen,<br />

als sie den Hit „Da<br />

Da Da“ einspielten.<br />

Den FPMIDI-eigenen Server mit<br />

dem irreführenden Namen Finger<br />

Server finden Sie von der App aus<br />

über die Adresse des Linux-PCs.<br />

Das setzt voraus, dass die Software<br />

läuft. Auf der Webseite der<br />

App [10] finden Sie eine ZIP-Datei,<br />

die den Server als Java-Programm<br />

sowie ein Skript für Linux<br />

enthält. Sobald der Server <strong>im</strong> Terminal<br />

meldet, dass er auf Connection<br />

from Phone wartet, laden Sie<br />

in einem weiteren Terminal einen<br />

Satz virtueller MIDI-Ports:<br />

$ sudo modprobe snd‐virmidi<br />

Geben Sie die IP-Adresse des<br />

Linux-PCs <strong>im</strong> Menü der App <strong>im</strong><br />

Feld Server Address ein. Bei der<br />

Gelegenheit prüfen Sie gleich<br />

noch, ob unter Server Type der<br />

Eintrag FingerServer gewählt ist.<br />

Sobald Sie die Adresse eingetragen<br />

haben, klicken Sie Connect to<br />

Server. Nun sollten <strong>im</strong> Terminal<br />

auf dem PC Signale einlaufen. In<br />

den Optionen der App finden Sie<br />

ganz unten den Punkt MIDI Out<br />

Device. Läuft alles so, wie gewünscht,<br />

finden Sie hier die MI­<br />

DI-Ports, die ALSA über das Modul<br />

snd‐virmidi in Linux anbietet.<br />

Singende Roboter<br />

Auf jeden MIDI/​OSC-Sender für<br />

Android kommen wenigstens drei<br />

Apps, die selbstständig Geräusche<br />

verursachen. Viele davon orientieren<br />

sich an den klassischen<br />

Elektronikinstrumenten Keyboard<br />

und Drum-Computer. Fast<br />

noch öfter finden Sie in den verschiedenen<br />

Quellen für Android<br />

virtuelle Gitarren und Bässe aller<br />

Art. Einige dieser an sich konventionellen<br />

Apps gefallen mit teils<br />

detaillierten Nachbauten kultiger<br />

Hardware. VL-Tone stellt einen<br />

ziemlich genauen Nachbau des<br />

gleichnamigen Min<strong>im</strong>alsynths<br />

von Casio bereit (Abbildung H).<br />

Eine ganze Serie klassischer<br />

Synths bietet der Entwickler Nick<br />

Copeland an. Unter dem Namen<br />

Bristol-Synths stehen seine Emulationen<br />

auch direkt unter Linux<br />

bereit. Die Bristol-Sammlung ist<br />

frei lizenziert und kostenlos, die<br />

Android-Versionen kosten jeweils<br />

1,50 bis 2 Euro. Die Investition<br />

lohnt sich schon deswegen, weil<br />

werbefinanzierte Apps zuweilen<br />

den Stromverbrauch verdoppeln,<br />

und die Klangerzeuger allein viel<br />

Energie benötigen.<br />

Die für Kaufsoftware übliche<br />

Frist von 15 Minuten zum Stornieren<br />

sollten Sie bei Sound-Erzeugern<br />

intensiv zum Testen nutzen.<br />

Selbst Bezahlsynths laufen<br />

nicht <strong>im</strong>mer zufriedenstellend<br />

und oft nicht auf jedem Gerät.<br />

Die meisten angebotenen Gitarren<br />

funktionieren eher mittelmäßig.<br />

Robotic Guitarist von Pedrocorp<br />

stellte sich be<strong>im</strong> Test auf einem<br />

aktuellen Motorola Defy+<br />

unter fünf kostenlosen Apps noch<br />

als die brauchbarste heraus – und<br />

bleibt dennoch hinter dem zurück,<br />

was von einer wirklich guten<br />

virtuellen Gitarre zu erwarten<br />

wäre. Das Instrument spricht einfach<br />

nicht schnell genug an.<br />

Aus technischen Gründen lassen<br />

sich zurzeit unter Android<br />

keine Latenzen unter 40 Millisekunden<br />

erreichen. Allerdings<br />

bringt es schon keine echte App<br />

selbst auf diesen Wert, und so<br />

dauert es mitunter eine halbe Sekunde,<br />

bevor ein auf der Touch-<br />

Oberfläche gespielter Akkord<br />

wirklich ganz zu hören ist. Ganz<br />

64 06 | 12<br />

www.linux-user.de


Apps für Musiker<br />

praxis<br />

langsame Balladen von Leonard<br />

Cohen wären unter diesen Umständen<br />

möglich. Wer jedoch am<br />

Lagerfeuer mit flotten Rocksongs<br />

punkten möchte, sollte sich besser<br />

noch nicht allein auf eine<br />

And roid-Gitarre verlassen.<br />

Sehr viel mehr Spaß machen<br />

Android-Klangerzeuger, die nur<br />

einen oder zwei Klänge gleichzeitig<br />

ausgeben, statt Akkorde aus<br />

mehreren Samples zusammenzusetzen.<br />

Das gilt ganz besonders<br />

dann, wenn sie obendrein noch<br />

die Besonderheiten der Nutzerschnittstellen<br />

von Android-Geräten<br />

ausspielen. Bewegungssensor<br />

und Kompass haben Entwickler<br />

bereits zu etlichen Musik-Apps<br />

inspiriert, die Geräusche machen,<br />

sobald Sie Ihr Telefon schütteln.<br />

Vom einfachen Shaker bis zu einigen<br />

teils seltsamen Theremin-Derivaten<br />

findet sich hier alles, was<br />

sich auf solche Art spielen lässt.<br />

Einige Entwickler nutzen die<br />

speziellen Möglichkeiten des<br />

Touch-Displays, um neue, interessante<br />

virtuelle Instrumente zu<br />

programmieren. Das bereits als<br />

MIDI-Controller erwähnte Ivory<br />

Tower erzeugt zusätzlich selbst<br />

Klänge. Ähnliche Spieloberflächen<br />

finden Sie in Ethereal Dialpad,<br />

das als Open-Source-Projekt<br />

einige Derivate hervorgebracht<br />

hat. Ein mit dem Finger bewegter<br />

Punkt auf einer Fläche bringt das<br />

min<strong>im</strong>alistisch gestaltete Synthe<br />

(Abbildung I) zum Klingen. Genau<br />

so funktioniert Synthoid, das<br />

sich mit einer Vintage-Synthoberfläche<br />

inklusive Holzfurnier<br />

eher altmodisch präsentiert.<br />

Hart verkabelt<br />

Das Übertragen von Controller-<br />

Signalen via Netzwerk ist schön<br />

und gut, macht aber nur so lange<br />

Spaß, wie Telefon und PC auch<br />

tatsächlich drahtlos kommunizieren.<br />

Für den Live-Betrieb bedeutet<br />

das, dass Sie jeden Abend ein<br />

funktionierendes WLAN am Ort<br />

des Konzerts einrichten müssen.<br />

Der Tethering-Modus von Android<br />

würde sich für solche Situationen<br />

ebenfalls eignen, verbraucht<br />

aber so viel Energie, dass das<br />

Konzert nicht viel länger als eine<br />

Stunde dauern dürfte.<br />

Prinzipiell sind das keine unüberwindbaren<br />

Schwierigkeiten,<br />

aber eigentlich sollten mobile Geräte<br />

das Leben einfacher machen.<br />

Da wäre es doch praktischer, einfach<br />

das Android-Gerät über ein<br />

USB-Kabel mit einem PC zu verbinden,<br />

der die MIDI-Daten der<br />

Lieblings-App ohne viel Theater<br />

<strong>im</strong> MIDI-System von Jack oder<br />

Alsa bereitstellt – ganz ohne<br />

Netzwerk-Setup und damit verbundene<br />

Unwägbarkeiten, Theater<br />

mit der Bandbreite oder<br />

Stromfresserei.<br />

Seit Version 3.1 bietet Android<br />

zwar einen Host-Mode, der sich<br />

allerdings noch in einem rud<strong>im</strong>entären<br />

Stadium befindet, sodass<br />

die Entwickler sich derzeit<br />

noch abwartend verhalten. Einige<br />

emsige Hacker haben aber bereits<br />

erste Lösungen parat. Die fallen<br />

meist noch recht abenteuerlich<br />

aus und setzen grundsätzlich<br />

selbst kompilierte Module auf<br />

gerooteten Geräten voraus, zeigen<br />

aber, dass es prinzipiell funktioniert<br />

[11]. Ebenfalls ohne<br />

Netzwerk-Setup kommen Sie mit<br />

Bluetooth zurecht: Eine App für<br />

Pure Data ist bereits in Arbeit [12].<br />

Fazit<br />

Waren noch vor ein bis zwei Jahren<br />

Musikprogramme auf Mobilgeräten<br />

fast automatisch iOS-<br />

Apps auf einem Apple-Gerät, ist<br />

heute auch in Android-Apps viel<br />

Musik drin. Dass viele der kleinen<br />

Anwendungen gut mit Linux zusammenarbeiten,<br />

weckt für die<br />

Zukunft die Hoffnung auf noch<br />

mehr interessante, neue Anwendungen<br />

<strong>im</strong> Zusammenspiel beider<br />

Welten. Solange Sie nur Noten<br />

und Steuersignale übertragen,<br />

macht ein Android-Gerät plus<br />

Linux-Audio-Software schon heute<br />

eine gute Figur. (agr) n<br />

info<br />

[1] Ardroid: https:// play. google. com/ store/​<br />

apps/ details? id=org. ardour<br />

[2] Open Sound Control:<br />

http:// opensoundcontrol. org<br />

[3] OSC Control:<br />

https:// play. google. com/ store/ apps/​<br />

details? id=com. rcsprogramming<br />

[4] Control:<br />

http:// www. charlie‐roberts. com/ control<br />

[5] DSMIDI:<br />

http:// dsmi. tobw. net/ index. php? cat_id=1<br />

[6] Ubuntu KXStudio:<br />

http:// kxstudio. sourceforge. net<br />

[7] Wireless Mixer:<br />

https:// play. google. com/ store/ apps/​<br />

details? id=com. bti. wirelessMixer<br />

[8] My Drums: https:// play. google. com/ store/​<br />

apps/ details? id=com. bti. myDrums<br />

[9] Ivory Tower: https:// play. google. com/ store/​<br />

apps/ details? id=uk. co. codeidea. ivorytower<br />

[10] Fingerplay MIDI: http:// thesundancekid.​<br />

net/ blog/ fingerplay‐midi/<br />

[11] USB-Hosts für Android: http:// sven. killig.​<br />

de/ android/ N1/ 2. 2/ usb_host/<br />

[12] Netzwerk über Bluetooth:<br />

http:// nettoyeur. noisepages. com/ 2011/​<br />

01/ midi‐over‐bluetooth‐part‐iv‐software/<br />

[13] Einführung in Open Sound Control: http://​<br />

opensoundcontrol. org/ introduction‐osc<br />

[14] Layouts erstellen für OSC Control: http://​<br />

charlie‐roberts. com/ Control/ ? page_id=51<br />

I Die auf den ersten<br />

Blick s<strong>im</strong>ple Oberfläche<br />

von Synthe ermöglicht<br />

erstaunlich flexible<br />

Einstellungen für<br />

Klänge und reizt alles<br />

aus, was sich mit dem<br />

Touchinterface machen<br />

lässt.<br />

Glossar<br />

Theremin: Vom russischen<br />

Ingenieur Lew<br />

Termen 1920 in der<br />

UdSSR entwickeltes,<br />

elektronisches<br />

Musikins trument. Termen<br />

wanderte 1928 in<br />

die USA aus und veränderte<br />

seinen Namen in<br />

„Thérémin“. Das Prinzip<br />

des Instruments beruht<br />

auf dem Bewegen der<br />

Hand in einem elektrischen<br />

Feld um eine<br />

Art Antenne herum. Der<br />

typische, weich heulende<br />

Klang des Theremin<br />

kam unter anderem<br />

in diversen Science-Fiction-Filmen<br />

oder bei den<br />

Beach Boys in ihrem<br />

Klassiker „Good Vibrations“<br />

zum Einsatz.<br />

Tethering: Hier funktioniert<br />

der Empfänger<br />

gleichzeitig als Sender.<br />

Ein Telefon, das via<br />

UMTS mit dem Internet<br />

verbunden ist, kann <strong>im</strong><br />

Tethering-Modus als<br />

WLAN-Hotspot fungieren,<br />

indem es seine<br />

Wifi-Empfangseinheit für<br />

Verbindungen von externen<br />

WLAN-Empfängern<br />

(Laptop, PC etc.) zur<br />

Verfügung stellt.<br />

www.linux-user.de<br />

06 | 12 65


praxis<br />

Openbox-Themes<br />

Themen für Openbox selbst erstellen<br />

Alles<br />

<strong>im</strong> Rahmen<br />

Wenn Sie trotz des großen Angebots an Themen für Openbox nichts finden, was Ihren Bedürfnissen<br />

entspricht, greifen Sie einfach selbst zum virtuellen Zeichenstift. Mario Blättermann<br />

© Theswedish, sxc.hu<br />

README<br />

Themen für Openbox<br />

gibt es wie Sand am<br />

Meer. Manchmal passt<br />

aber nicht ein einziges<br />

wirklich perfekt. Bauen<br />

Sie sich einfach selbst<br />

ein passendes Outfit.<br />

Eine leicht verständliche<br />

Syntax sorgt dafür,<br />

dass Sie schnelle<br />

Erfolge erzielen.<br />

Glossar<br />

Xlib: Lange bevor GUI-<br />

Bibliotheken wie GTK<br />

oder Qt die Bühne<br />

be traten, war die Xlib<br />

der Allrounder zum<br />

Zeichnen grafischer<br />

Programm oberflächen.<br />

Heute setzen Entwickler<br />

in der Regel auf neuere<br />

Toolkits. Für einfache<br />

Oberflächen eignet sich<br />

die Xlib wegen der geringen<br />

Systemanforderungen<br />

hervorragend.<br />

Die Entscheidung der LXDE-Entwickler,<br />

Openbox [1] zu integrieren,<br />

statt ein eigenes Projekt zu<br />

entwickeln, hob den funktionalen<br />

Fenstermanager wieder ein Stück<br />

mehr aus der grauen Masse heraus.<br />

Passgenau und ohne große<br />

Verrenkungen fügt er sich nicht<br />

nur in LXDE, sondern auch in<br />

Gnome und KDE ein. Puristen,<br />

die Openbox ohne Sahne und<br />

Schokostreusel bevorzugen, sind<br />

auf dem Vormarsch.<br />

Die min<strong>im</strong>ale Dekoration, die<br />

Openbox <strong>im</strong> Wesentlichen mithilfe<br />

der Xlib zeichnet, statt sie aus<br />

allerlei Mini-Grafiken zu komponieren,<br />

kommt dabei vor allem<br />

leistungsschwacher Hardware zugute.<br />

Dabei zieht dieser Ansatz<br />

nicht zwangsläufig Ödnis nach<br />

sich: Die Bandbreite der Optionen<br />

be<strong>im</strong> Bau von Themen erweist<br />

sich als erstaunlich groß.<br />

Der Einstieg<br />

Sie müssen nicht unbedingt bei<br />

null anfangen: Im Openbox-Wiki<br />

finden Sie ein Beispiel [2] für ein<br />

Thema, das zwar kaum höheren<br />

ästhetischen Ansprüchen genügt,<br />

aber eine gute Ausgangsbasis für<br />

die kreative Arbeit bildet, weil es<br />

die enthaltenen Objektbeschreibungen<br />

recht gut erklärt. Dabei<br />

müssen nicht zwangsläufig sämtliche<br />

Zeilen des Beispiels auch <strong>im</strong><br />

eigenen Thema auftauchen. Werte,<br />

die Sie nicht definieren, erhalten<br />

automatisch eine Standard-<br />

Belegung. Bei Bedarf fügen Sie<br />

später problemlos individuelle<br />

Änderungen hinzu.<br />

Eine andere Möglichkeit bestünde<br />

darin, als Basis einen Stil aus<br />

Blackbox zu verwenden [3], dem<br />

Urahn von Openbox. Die Syntax<br />

der beiden Fenstermanager ist<br />

trotz vieler Jahre der Trennung<br />

Farbwahl<br />

Um Farbwerte zu ermitteln, brauchen<br />

Sie nicht unbedingt ein ausgewachsenes<br />

Bildbearbeitungsprogramm wie<br />

G<strong>im</strong>p. Sofern die Python-Bindings für<br />

GTK2 auf dem System installiert sind,<br />

finden Sie in dessen Demo-Dateien<br />

(meist /usr/lib/pygtk/2.0/demos)<br />

das Skript colorsel.py. Kopieren Sie<br />

es, und setzen Sie mit dem Befehl<br />

chmod+x colorsel.py oder über die<br />

noch <strong>im</strong>mer weitestgehend kompatibel<br />

– nicht zuletzt, weil seit<br />

Langem niemand mehr Blackbox<br />

weiterentwickelt und daher kaum<br />

Inkonsistenzen auftreten.<br />

Openbox speichert die Konfiguration<br />

der Themes <strong>im</strong> Ordner<br />

/ home/Benutzer/.themes/openbox‐3 in<br />

einer Datei namens themerc. Diese<br />

packen Sie als Vorlage in einen<br />

Ordner, der den Namen des neu<br />

zu erstellenden Themas trägt,<br />

und legen diesen unter /home/Benutzer/.themes<br />

ab.<br />

In vielen Fällen geht es darum,<br />

das Erscheinungsbild der Fenster<br />

an den Look des verwendeten<br />

GTK- oder Qt-Themas anzupassen.<br />

Da Qt ohne viel Aufhebens<br />

entsprechende Funktion des Date<strong>im</strong>anagers<br />

die entsprechenden Rechte,<br />

um die Datei auszuführen. Be<strong>im</strong> Start<br />

des Skripts erscheint zunächst ein<br />

einfaches Fenster mit einer Farbfläche.<br />

Ein Klick auf den Knopf Change<br />

the above color bringt den eigentlichen<br />

Farbwähler mit Farbrad, Schiebereglern,<br />

Anzeigefeldern und Pipette<br />

zum Vorschein (Abbildung A).<br />

66 06 | 12<br />

www.linux-user.de


Openbox-Themes<br />

praxis<br />

B Schon ganz ansehnlich,<br />

aber noch etwas<br />

unübersichtlich.<br />

in der Lage ist, sich das Kleid von<br />

GTK überzustreifen, nutzt dieser<br />

Artikel als Ausgangspunkt ein<br />

Thema für GTK+ 2: Bei „T-ish“ [4]<br />

handelt es sich um eine Variante<br />

des altbekannten Clearlooks-Themas<br />

für Gnome.<br />

Um nicht mühsam in der GTK-<br />

Konfiguration nach den richtigen<br />

Farbwerten suchen zu müssen,<br />

nutzen Sie die Farbpipette als<br />

Werkzeug der Wahl. Diese steht<br />

auch ohne G<strong>im</strong>p oder ein anderes<br />

Grafikprogramm bereit (siehe<br />

dazu Kasten Farbwahl). Die Pipette<br />

arbeitet nicht unbedingt pixelgenau.<br />

Eine <strong>im</strong> Bildbetrachter<br />

vergrößerte Ansicht eines<br />

Screenshots erleichtert die Farbwahl<br />

erheblich. Dabei sollte das<br />

Bildschirmfoto das Fenster eines<br />

GTK2-Programms samt geöffneter<br />

Menüs zu erstellen. Das erreichen<br />

Sie durch eine verzögerte<br />

Aufnahme, die Ihnen die Zeit<br />

gibt, während des zuvor festgelegten<br />

Countdowns das entsprechende<br />

Element zu öffnen.<br />

Rahmenkosmetik<br />

Ein Klick mit der Pipette auf den<br />

Hintergrund des fotografierten<br />

Fensters liefert den hexadez<strong>im</strong>alen<br />

Wert #E2E0E1. Genau diese Farbe<br />

kommt später in diesem Beispiel<br />

für den Hintergrund der<br />

Menüs zum Einsatz. Folglich lautet<br />

der entsprechende Eintrag in<br />

der themerc so wie in Zeile 1 von<br />

Listing 1.<br />

Um das kräftige Schwarz des<br />

Rahmens um die Menüs etwas zu<br />

entschärfen, kommt hier ein dezenter<br />

Farbton<br />

zum Einsatz.<br />

Die<br />

Pipette liefert<br />

für das<br />

Menü eines<br />

Gtk-Programms<br />

den Wert #989396, der<br />

sich in den Zeilen 3 bis 5 von Listing<br />

1 niederschlägt. Die Zeilen 3<br />

und 4 legen dabei für die allgemeinen<br />

Fensterrahmen den Farbwert<br />

fest, der Wert in Zeile 5 gilt<br />

für den Rahmen des Menüs.<br />

Das Gtk-Thema unterlegt die<br />

Menüeinträge in einem grauen<br />

Farbton, der von oben nach unten<br />

abdunkelt. Dieser soll natürlich<br />

auch in den Openbox-Menüs<br />

erscheinen. Die Pipette zeigt hier<br />

für den oberen Bereich den Wert<br />

#BDBDBD, für den unteren #A6A6A6<br />

(Listing 1, Zeilen 7 bis 11). Die<br />

erste Zeile dieses Bereichs sorgt<br />

für den Farbverlauf. Er entspricht<br />

zwar nicht hundertprozentig dem<br />

Original, was aber nur bei näherem<br />

Hinsehen auffällt.<br />

A Der schlanke Dialog hilft be<strong>im</strong> Auswählen der Farbe mit<br />

der Pipette, die Sie unter dem Farbrad finden.<br />

Linientreu<br />

Andere Umgebungen kennen<br />

zahlreiche Themen, die nicht<br />

mehr so streng visuell zwischen<br />

Titel und Inhalt der Fenster trennen.<br />

In früheren Openbox-Versionen<br />

war so etwas nicht ohne Weiteres<br />

möglich, denn dort saß stets<br />

eine Linie <strong>im</strong> Fensterrahmen.<br />

Manche Entwickler haben das<br />

umgangen, indem sie in ihrem<br />

Thema sowohl Titel des Fensters<br />

als auch Rahmen die gleiche Farbe<br />

zuwiesen. Das führte allerdings<br />

zu Problemen, wenn kein<br />

Compositing-Manager lief, der<br />

mittels Schatten dem Fenster<br />

doch zu einem Rahmen verhalf<br />

(siehe Kasten Compositing).<br />

Seit Openbox 3.5.0 können Sie<br />

in der Themendefinition die Farbe<br />

der Linie unter dem Fenstertitel<br />

festlegen (Listing 1, Zeile<br />

13). Der Asterisk * fungiert dabei<br />

als Platzhalter für diverse Bezeichnungen<br />

wie active oder inactive.<br />

Auf diese Weise verschlanken<br />

Sie die Datei themerc wieder<br />

etwas. Bei Bedarf fügen Sie für<br />

die konkreten Zustände individuelle<br />

Werte ein, die dann den Wert<br />

aus der Zeile mit dem Platzhalter<br />

überschreiben.<br />

01 menu.items.bg.color: #E2E0E1<br />

02 <br />

03 window.active.border.color: #989396<br />

04 window.inactive.border.color: #989396<br />

05 menu.border.color: #989396<br />

06 <br />

07 menu.items.active.bg: Raised Gradient Vertical<br />

08 menu.items.active.bg.color: #BDBDBD<br />

09 menu.items.active.bg.colorTo: #A6A6A6<br />

10 menu.items.active.text.color: #000000<br />

11 menu.items.active.disabled.text.color: #FFFFFF<br />

12 <br />

13 window.*.title.separator.color: #989396<br />

14 <br />

15 *.title.bg: Flat<br />

16 *.title.bg.color: #e2e0e1<br />

17 <br />

18 window.active.label.text.color: #000000<br />

19 window.inactive.label.text.color: #989898<br />

20 <br />

21 window.active.label.text.font:<br />

shadow=y:shadowtint=30:shadowoffset=1<br />

22 menu.title.text.font:<br />

23 <br />

shadow=y:shadowtint=30:shadowoffset=1<br />

Beispiel-Thema<br />

LU/openbox/<br />

Listing 1<br />

24 window.active.button.*.bg: Flat Gradient Vertical<br />

Border<br />

25 window.active.button.*.bg.color: #BDBDBD<br />

26 window.active.button.*.bg.colorTo: #A6A6A6<br />

27 window.active.button.*.<strong>im</strong>age.color: #000000<br />

28 window.inactive.title.bg: Flat<br />

29 window.inactive.title.bg.color: #e2e0e1<br />

30 window.inactive.label.text.color: #989898<br />

31 <br />

32 window.active.button.disabled.bg: Flat Solid Vertical<br />

Border<br />

33 window.active.button.disabled.bg.color: #BDBDBD<br />

34 window.active.button.disabled.<strong>im</strong>age.color: #BDBDBD<br />

35 window.inactive.button.disabled.bg: Flat Solid<br />

Vertical<br />

36 window.inactive.button.disabled.bg.color: #e2e0e1<br />

37 window.inactive.button.disabled.<strong>im</strong>age.color: #eae6e9<br />

www.linux-user.de<br />

06 | 12 67


praxis<br />

Openbox-Themes<br />

C Obconf hilft Ihnen<br />

be<strong>im</strong> Testen des neuentwickelten<br />

Themas.<br />

Glossar<br />

XBM-Datei: Die einfachste<br />

Form einer Grafikdatei.<br />

Das Format<br />

speichert nur die Angabe,<br />

ob ein Bildpunkt<br />

schwarz oder weiß ist,<br />

und dazu die Ausmaße<br />

des Bildes. Openbox<br />

nutzt XBM als Format<br />

für die Fensterknöpfe.<br />

Die Farben für Vordergrund<br />

und Hintergrund<br />

stellen Sie in der Themendatei<br />

an.<br />

Nun steht der Weg offen, einen<br />

fließenden Übergang von der Titelzeile<br />

zum Rest des Fensters zu<br />

schaffen (Abbildung B, vorherige<br />

Seite). Dazu verwenden Sie den<br />

Farbwert des Hintergrundes für<br />

den Fenstertitel (Listing 1, Zeilen<br />

15 und 16).<br />

Arbeit am Detail<br />

So weit, so gut – nur der Text<br />

passt rein gar nicht mehr ins neue<br />

Farbschema. Im aktiven Fenster<br />

sollte man die Schrift eindeutig<br />

lesen können, während das inaktive<br />

Fenster einen mehr informativen<br />

Zweck hat und der Text ausgegraut<br />

sein darf. Die Werte in<br />

den Zeilen 15 und 16 von Listing<br />

1 setzen diese Vorgaben um.<br />

Nett anzuschauen ist auch eine<br />

Schattierung des Titeltexts der<br />

aktiven Fenster und der Menütitel<br />

(Zeilen 18 und 19).<br />

Die meisten kreativen Möglichkeiten<br />

bieten zweifellos die Fensterknöpfe.<br />

Dazu nutzen Sie entweder<br />

die mit Openbox gelieferten<br />

Vorlagen oder definieren bei<br />

Bedarf eigene Formen, die als<br />

XBM-Datei vorliegen müssen. Für<br />

den Anfang sollten Sie sich jedoch<br />

auf die Standardformen beschränken.<br />

Openbox kennt keine Option,<br />

die Knöpfe der Fenster in verschiedenen<br />

Farben darzustellen.<br />

Der Schließen-Knopf erscheint<br />

als stets genauso in Rot oder Blau<br />

wie jener zum Max<strong>im</strong>ieren oder<br />

Min<strong>im</strong>ieren. Das verwundert eigentlich,<br />

weil andere Fenstermanager<br />

verschieden gefärbte Knöpfe<br />

seit Langem ermöglichen.<br />

Die derzeit noch blaue Farbe der<br />

Knöpfe passt nicht mehr zum<br />

Rest des Themas. Eine Möglichkeit<br />

wäre, die Grautöne der<br />

Menüeinträge auf die Knöpfe abzubilden<br />

(Listing 1, Zeilen 24<br />

bis 30). Inaktive Fenster erhalten<br />

wieder rein informative, schlichte<br />

graue Knöpfe in der Färbung des<br />

Titeltexts ohne Umrandung.<br />

Testlauf<br />

Zum Testen des neuen Gewandes<br />

eignet sich das Programm Obconf<br />

[5] hervorragend. Schon<br />

während des Bearbeitens der themerc<br />

haben Sie die Möglichkeit, es<br />

praktisch in Echtzeit zu testen. Es<br />

genügt, kurz auf ein beliebiges<br />

Thema zu wechseln und dann<br />

Compositing<br />

Eine eigene Anbindung an die Compositing-Funktionen<br />

des X-Servers hat Openbox derzeit nicht an<br />

Bord und lädt sich diese Fracht wohl auf lange Sicht<br />

auch nicht auf. Dennoch müssen Sie auf Schatten,<br />

An<strong>im</strong>ationen und Transparenzen nicht verzichten.<br />

Der Weg zum Erfolg führt über die Compositing-<br />

Werkzeuge Xcompmgr [8] oder Cairo-compmgr [9].<br />

Dazu fügen Sie den Startprogrammen der Arbeitsumgebung<br />

beispielsweise folgenden Befehl hinzu:<br />

xcompmgr ‐CcfF ‐I‐.015 ‐O‐.03 ‐D6 ‐t‐1 ‐l‐3-U<br />

r4.2 ‐o.5 &<br />

Die Parameter sorgen für das weiche Einblenden<br />

sich öffnender Fenster und ansehnliche Schattierungen.<br />

Außerdem sorgt die Zeile dafür, dass VTEbasierte<br />

Terminalfenster keinen Schatten erhalten,<br />

was ansonsten dazu führt, dass das Fenster be<strong>im</strong><br />

Verschieben den Schatten wie einen verwaschenen<br />

Brautschleier hinter sich her zieht. Das liegt an Inkompatibilitäten<br />

mit der Transparenz des Terminals<br />

und betrifft zum Beispiel das Gnome-Terminal, jenes<br />

von XFCE und zahlreiche weitere.<br />

Cairo-compmgr kommt mit einer ansprechenden grafischen<br />

Oberfläche zum Konfigurieren daher und<br />

kennt unter anderem Optionen zum An<strong>im</strong>ieren von<br />

Menüs. Es nistet sich als Symbol <strong>im</strong> Benachrichtigungsfeld<br />

ein. Von dort rufen Sie es ganz einfach<br />

über das Kontextmenü auf.<br />

Weder Cairo-compmgr noch Xcompmgr werden derzeit<br />

aktiv weiterentwickelt, beide enthalten etliche<br />

Bugs. Seien Sie also darauf gefasst, gelegentlich einen<br />

halbtransparenten schwarzen Trauerflor auf<br />

dem Bildschirm vorzufinden, wo eigentlich noch<br />

nicht einmal ein Fenster liegen sollte, dessen Schatten<br />

er sein könnte. Artefakte bereits geschlossener<br />

Fenster und Menüs treten ebenfalls gelegentlich<br />

auf. Meist verschwinden sie durch einen Wechsel<br />

der Arbeitsfläche wieder.<br />

Falls Sie <strong>im</strong> Eigenbau auf farblich abgesetzte Fenster-<br />

und Menürahmen verzichten, erwächst daraus<br />

an sich kein Problem. Bedenken Sie aber, dass<br />

solch eine Konstellation das entsprechende Thema<br />

für Openbox-Fans beinahe nutzlos macht, wenn<br />

diese – aus welchen Gründen auch <strong>im</strong>mer – kein<br />

Compositing nutzen: Durch den dann fehlenden Rahmen<br />

gerät das Unterscheiden mehrerer hintereinander<br />

angeordneter Fenster zum Vexierspiel.<br />

info<br />

[1] Openbox: http:// openbox. org<br />

[2] Beispiel für ein Openbox-Thema: http://​<br />

openbox. org/ wiki/ Help:Themes# Example<br />

[3] Blackbox-Stile: http:// blackboxwm.​<br />

sourceforge. net/ BlackboxStyles<br />

[4] T-ish-Thema: http:// art. gnome. org/​<br />

download/ themes/ gtk2/ 1154/​<br />

GTK2‐TIshForClearlooks. tar. gz<br />

[5] Konfigurationsprogramm Obconf:<br />

http:// openbox. org/ wiki/ ObConf:About<br />

[6] Themenpool: http:// box‐look. org/ index.​<br />

php? xcontentmode=7402<br />

[7] Beispielthema aus diesem Artikel:<br />

http:// mariobl. fedorapeople. org/ Openbox/​<br />

Linuxuser. tar. bz2<br />

[8] Compositing-Manager für die Befehlszeile:<br />

http:// freedesktop. org/ wiki/ Software/​<br />

xapps<br />

[9] Compositing-Manager mit grafischem<br />

Einstellungswerkzeug:<br />

http:// cairo‐compmgr. tuxfamily. org/<br />

68 06 | 12<br />

www.linux-user.de


Openbox-Themes<br />

praxis<br />

D Ein „schwarzes Schaf“ <strong>im</strong> Titel<br />

des Fensters macht den an sich guten<br />

Eindruck des Themas kaputt.<br />

wieder zum eigenen Thema zurückzuschalten.<br />

Allerdings aktualisiert<br />

die Software das <strong>Vorschau</strong>bild<br />

nicht direkt (Abbildung C),<br />

sondern erst nach einem Neustart<br />

des Programms.<br />

Denken Sie <strong>im</strong>mer daran, dass<br />

die neue Kreation anfangs nur an<br />

der Oberfläche der Optionen von<br />

Openbox kratzt. Deshalb empfiehlt<br />

es sich, möglichst viele Programme<br />

damit zu testen. Zwar<br />

füllt Openbox eventuell fehlende<br />

Werte stets mit Standards auf,<br />

das führt aber gelegentlich zu völlig<br />

unerwarteten Effekten bei einem<br />

Element – zum Beispiel einen<br />

etwas seltsam wirkenden<br />

Knopf zum Max<strong>im</strong>ieren des Fensters<br />

(Abbildung D).<br />

Einen solchen Knopf zeigt<br />

Openbox <strong>im</strong>mer dann an, wenn<br />

sich das betreffende Fenster nicht<br />

max<strong>im</strong>ierten lässt und der Knopf<br />

deswegen keine Funktion hat.<br />

Sinnvollerweise sollte der Knopf<br />

in aktiven Fenstern einen leeren<br />

Rahmen zeigen und in inaktiven<br />

Fenstern ausgegraut sein (Listing<br />

1, Zeilen 32 bis 37).<br />

Abbildung E zeigt den vorläufigen<br />

Status. Der Aufwand hat sich<br />

gelohnt, das Ziel, ein dem Gtk-<br />

Thema entsprechendes Outfit zu<br />

kreieren, ist zweifellos erfüllt.<br />

Öffentlichkeitsarbeit<br />

Ein <strong>im</strong> stillen Kämmerlein entwickeltes<br />

Thema sollte nicht unbedingt<br />

dort bleiben, egal, ob Sie<br />

eine nennenswerte Anzahl an<br />

Fans erwarten: Selbst, wenn Sie<br />

nur einen einzigen Nutzer damit<br />

glücklich machen, hat sich das<br />

Veröffentlichen bereits gelohnt.<br />

Den bekanntesten und umfangreichsten<br />

Themen-Pool finden Sie<br />

auf Box-look.org [6]. Neben der<br />

Möglichkeit des Veröffentlichens<br />

des eigenen Themas liefert die<br />

Webseite Anregungen und Ideen<br />

für weitere Eigenkreationen. Insbesondere<br />

das oben beschriebene<br />

Anpassen an ein GTK-Thema<br />

birgt noch reichlich Potenzial<br />

zum Entfalten.<br />

Das <strong>im</strong> Rahmen des Artikels<br />

entstandene Thema können Sie<br />

aus dem Netz herunterladen [7].<br />

Es schöpft die verfügbaren Optionen<br />

bei Weitem nicht aus und hat<br />

eher den Status einer Machbarkeitsstudie.<br />

Viele Zeilen der<br />

themerc sind auskommentiert:<br />

Hier gilt es eigene Werte einzusetzen.<br />

(agr) n<br />

E Das Thema macht<br />

schon eine gute Figur,<br />

verträgt aber noch<br />

etwas Kosmetik.<br />

Digitales aBO<br />

linuxUser: Das Monatsmagazin für die Praxis<br />

DigisUB *<br />

nur 56,10 €<br />

<strong>im</strong> Jahr (12 PDFs)<br />

* Digitales Abo, jederzeit kündbar<br />

www.linux-user.de<br />

Jetzt Bestellen Unter:<br />

www.linux-user.de/digisub<br />

Telefon: 07131 /2707 274<br />

Fax: 07131 / 2707 78 601<br />

06 | 12 69<br />

E-Mail: abo@linux-user.de


praxis<br />

Audioplayer Pogo<br />

Der min<strong>im</strong>alistische Audioplayer Pogo<br />

Extrem reduziert<br />

Weniger ist mehr – mit dieser Devise schickt sich der einfach aufgebaute<br />

Audioplayer Pogo an, die Aufmerksamkeit des Benutzers<br />

wieder zurück auf die Musik zu lenken. Mario Blättermann<br />

© Cesare2008, sxc.hu<br />

README<br />

Pogo 0.6<br />

LU/pogo/<br />

Musikverwaltungen wie<br />

Amarok, Banshee oder<br />

Exaile erleichtern es, <strong>im</strong><br />

Dschungel der Audio-<br />

Dateien nicht den Überblick<br />

zu verlieren. Die<br />

Alternative Pogo verfolgt<br />

einen neuen Ansatz<br />

für diese Aufgabe.<br />

Installation<br />

Noch haben nicht alle Distributionen den Audio-<br />

Player Pogo für sich entdeckt. OpenSuse und Fedora<br />

bieten <strong>Pakete</strong> der aktuellen Version 0.6 in den offiziellen<br />

Repositories an. Daneben existiert noch ein<br />

Paket <strong>im</strong> Arch Linux User Repository [5]. Ubuntuund<br />

Debian-Systeme versorgen Sie über ein PPA des<br />

Entwicklers [6], das dieser regelmäßig mit neuen<br />

stabilen Versionen befüllt.<br />

Verwenden Sie eine andere Distribution, dann richten<br />

Sie Pogo recht s<strong>im</strong>pel aus den Quellen ein. Sie<br />

benötigen Python in Version 2 sowie einige Python-<br />

Module, welche die Datei README <strong>im</strong> Tarball aufführt<br />

[7]. Für eine zusätzliche Integration in das<br />

Framework Zeitgeist benötigen Sie außerdem das<br />

entsprechende Paket der verwendeten Distribution.<br />

Im Gegensatz zu anderen Python-Programmen verwendet<br />

Pogo ein einfaches Makefile, über das Sie<br />

mittels make install mit Root-Rechten das Programm<br />

einrichten. Sehen Sie das Makefile aber vorher<br />

noch einmal durch, um gegebenenfalls in dessen<br />

fünfter Zeile den Installationspfad zu ändern,<br />

der standardmäßig auf /usr zielt. Nicht zur Distribution<br />

gehörende Software sollten Sie jedoch besser<br />

nach /usr/local installieren.<br />

Manchmal führt kaum ein Weg<br />

daran vorbei, sich den Code einer<br />

etablierten Software zu schnappen<br />

und ein eigenes Projekt daraus<br />

abzuleiten. Nach wenig erfolgreichen<br />

Versuchen des deutschen<br />

Entwicklers Jendrik Seipp,<br />

dem Decibel Audio Player zu dem<br />

von ihm gewünschten Verhalten<br />

zu verhelfen, entwarf er Pogo [1].<br />

Obwohl schon der Urahn Decibel<br />

[2] in den Augen vieler Benutzer<br />

zu den weniger gut ausgestatteten<br />

Playern zählt, schaltet Pogo<br />

von den Bedienmöglichkeiten her<br />

noch einen Gang zurück. Es war<br />

naheliegend, dass ein solches Vorhaben<br />

eine Frage nach dem Wieso<br />

und Warum aufwerfen würde [3].<br />

Nachdem der Programmautor<br />

buchstäblich fast jeden Audio-<br />

Player für Linux ausprobiert hatte,<br />

stellte er fest, dass keiner davon<br />

genau das tat, was er <strong>im</strong> Sinn<br />

hatte. Decibel kam dem Gewünschten<br />

zwar schon sehr nahe,<br />

entsprach aber nicht exakt Seipps<br />

Bedürfnissen. Daher versuchte er,<br />

einige Dinge in Decibel zu integrieren<br />

und machte Vorschläge für<br />

neue Features wie eine Suchfunktion,<br />

eine bessere Platzaufteilung<br />

und weniger Knöpfe. Außerdem<br />

wollte er die Titel in der Wiedergabeliste<br />

nach Album gruppieren,<br />

da er das als praktisch empfand.<br />

Aber er stieß auf taube Ohren.<br />

Zwar konnte Seipp bei Decibel<br />

seine Pläne nicht umsetzen, hätte<br />

aber ohne dieses Projekt seiner<br />

Aussage nach wohl keine Möglichkeit<br />

gehabt, seine Ideen tatsächlich<br />

in die Tat umzusetzen:<br />

Das sauber programmierte Decibel<br />

machte es leicht, den Quellcode<br />

eigenen Wünschen anzupassen,<br />

und erwies sich daher als das<br />

perfekte Testfeld für neue Funktionen.<br />

Das Resultat der Exper<strong>im</strong>ente,<br />

Pogo, liegt inzwischen in<br />

der Version 0.6 vor und lässt sich<br />

recht einfach auf dem eigenen<br />

Rechner einrichten (siehe Kasten<br />

Installation).<br />

Min<strong>im</strong>alist<br />

Verglichen mit den Standard-Audio-Anwendungen<br />

der großen Arbeitsumgebungen<br />

fällt Pogo eher<br />

bescheiden aus. Während andere<br />

Musikprogramme regelrecht mit<br />

Funktionen überladen sind, offeriert<br />

das Pogo-Hauptfenster (Abbildung<br />

A) nur relativ wenig Bedienmöglichkeiten.<br />

So existiert keine Möglichkeit,<br />

den Rechner nach Musikdateien<br />

zu durchsuchen und eine Bibliothek<br />

daraus zu erstellen. Es gilt<br />

also, selbst in einem Dateibaum<br />

in der linken Spalte Dateien oder<br />

ganze Ordner auszuwählen und<br />

diese per Doppelklick oder durch<br />

Ziehen mit der Maus in der rechten<br />

Spalte zu platzieren. Andererseits<br />

an<strong>im</strong>iert Pogo Sie auf diese<br />

Weise dazu, Ordnung zu halten<br />

und sich nicht auf die Fähigkeiten<br />

einer Software zu verlassen.<br />

70 06 | 12<br />

www.linux-user.de


Audioplayer Pogo<br />

praxis<br />

Selbst in gut aufgeräumten Musiksammlungen<br />

benötigt man jedoch<br />

gelegentlich eine Suchfunktion.<br />

Links oberhalb des Dateibaums<br />

finden Sie dazu eine Eingabezeile.<br />

Dort geben Sie dort<br />

einfach einen <strong>im</strong> gesuchten Titel<br />

oder Dateinamen enthaltenen Begriff<br />

ein und drücken anschließend<br />

die Eingabetaste. Die Treffer<br />

zeigt das Programm in der linken<br />

Spalte an, ein Klick auf das<br />

Symbol ganz rechts in der Eingabezeile<br />

löscht den Suchtext. Dann<br />

zeigt die Applikation wieder die<br />

Baumansicht.<br />

Zum Abspielen der Audio-Dateien<br />

nutzt Pogo das Gstreamer-<br />

Framework. Die Anzahl der unterstützten<br />

Formate hängt davon<br />

ab, ob Sie die entsprechenden<br />

Gstreamer-Module auf dem System<br />

installiert haben. An einer<br />

Datei, welche VLC oder Mplayer<br />

klaglos wiedergeben, scheitert<br />

Pogo unter Umständen.<br />

Plugins<br />

Ein Klick auf das Werkzeugsymbol<br />

rechts oben über der Wiedergabeliste<br />

öffnet ein kleines Menü,<br />

über das Sie bei Bedarf ein Infound<br />

ein Einstellungsfenster aufrufen.<br />

Drei Erweiterungen bringt<br />

Pogo bereits mit.<br />

Eine Funktion für Desktop-Benachrichtigungen,<br />

die be<strong>im</strong> Titelwechsel<br />

erscheinen, bietet die<br />

Möglichkeit, einen unerwünschten<br />

Ohrwurm einfach zu überspringen.<br />

Stört Sie die Nachricht,<br />

reicht ein Klick, um sie auszublenden.<br />

In den Einstellungen des<br />

[1] Pogo: https:// launchpad. net/ pogo<br />

info<br />

[2] Decibel: http:// decibel. silent‐blade. org/<br />

[3] Fragerunde in Launchpad: https:// answers.​<br />

launchpad. net/ pogo/ +question/ 176459<br />

[4] Webradio in Pogo: https:// bugs. launchpad.​<br />

net/ pogo/ +bug/ 798592<br />

[5] Pogo für Archlinux: http:// aur. archlinux. org/​<br />

packages. php? ID=41596<br />

[6] Pogo-PPA: https:// code. launchpad. net/​<br />

~pogo‐dev/ +archive/ daily<br />

[7] Download: https:// launchpad. net/ pogo/​<br />

trunk/ 0. 6/ +download/ pogo‐0. 6. tar. gz<br />

Plugins (Abbildung B) stellen Sie<br />

bei Bedarf die <strong>im</strong> Popup angezeigte<br />

Zeichenkette anhand vorgegebener<br />

Variablen zusammen. Auch<br />

konfigurieren Sie hier, ob das<br />

Pop up die Möglichkeit zum Überspringen<br />

eines Titels anbietet.<br />

Wie seine großen Brüder zeigt<br />

auch Pogo Alben-Cover an. Dabei<br />

greift es sowohl auf die <strong>im</strong> Musikordner<br />

abgelegten Bilddateien zurück<br />

als auch auf Cover aus dem<br />

Internet, sofern es welche findet.<br />

Die Bilder erscheinen rechts unten<br />

in der Wiedergabeliste, was<br />

insofern etwas unpraktisch erscheint,<br />

als lange Titelnamen das<br />

Cover nicht umfließen, sondern<br />

der Text zum Teil verschwindet.<br />

Für Partyabende, bei denen Laptop,<br />

Verstärker und Lautsprecher<br />

als Ausstattung genügen, eignet<br />

sich ein Equalizer zum Feintuning.<br />

Pogo hat ein virtuelles<br />

Mischpult als Plugin an Bord und<br />

bietet als Vorauswahl diverse<br />

Klangkurven an (Abbildung C).<br />

Fazit<br />

Bei allem Min<strong>im</strong>alismus wäre es<br />

wünschenswert, dass Pogo die<br />

vielfältigen Möglichkeiten von<br />

Gstreamer besser nutzt und beispielsweise<br />

Internet-Radiosender<br />

einbindet. Das ließe<br />

sich einfach realisieren, indem<br />

das Programm die auf<br />

den Webseiten der Sender<br />

angebotenen Wiedergabelisten<br />

<strong>im</strong> M3U-Format in<br />

der Baumansicht anzeigt –<br />

ein entsprechender Feature-Wunsch<br />

existiert<br />

schon länger [4]. Der Entwickler<br />

hat ihn akzeptiert, aber bisher<br />

nicht in die Tat umgesetzt. Weitere<br />

Wünsche betreffen das Min<strong>im</strong>ieren<br />

des Hauptfensters ins Benachrichtigungsfeld<br />

und die Anzeige<br />

von Liedtexten aus dem Internet.<br />

Dennoch: Suchen Sie lediglich<br />

einen digitalen Plattenteller<br />

zum Abspielen der gespeicherten<br />

Musik, sind Sie mit Pogo gut<br />

bedient. Insbesondere auf weniger<br />

gut ausgestatteten Rechnern<br />

macht das Programm eine gute<br />

Figur. Einmal die Wiedergabeliste<br />

füllen, Pogo starten und gelegentlich<br />

auf die Popups schauen, was<br />

gerade läuft – das ist alles. Angesichts<br />

der schleppenden Entwicklung<br />

des Urahns Decibel erweist<br />

sich Pogo allemal als lohnende<br />

Alternative. (agr/​jlu) n<br />

A Das Hauptfenster<br />

von Pogo überzeugt<br />

durch eine sinnvoll<br />

reduzierte Auswahl an<br />

Funktionen.<br />

B Pogo blendet auf<br />

Wunsch be<strong>im</strong> Titelwechsel<br />

Informationen<br />

zum aktuellen Musikstück<br />

ein.<br />

C Mit einem Equalizer<br />

sorgt Pogo für ein noch<br />

feineres Klangbild.<br />

www.linux-user.de<br />

06 | 12 71


netz&System<br />

LXC<br />

Virtualisierung mit LXC<br />

Sandkastenspiele<br />

Mithilfe der <strong>im</strong> Kernel integrierten Technik<br />

LXC lagern Sie mit wenigen Handgriffen unsichere<br />

Applikationen oder Testsysteme ganz einfach in einen<br />

virtuellen Container aus. Florian Effenberger<br />

© Patrick Dignard, sxc.hu<br />

README<br />

Mit LXC steht ein noch<br />

recht junger, aber umso<br />

interessanterer Ansatz<br />

zum Virtualisieren von<br />

Systemen und Programmen<br />

bereit. Er ist bereits<br />

<strong>im</strong> aktuellen Kernel<br />

enthalten und verhält<br />

sich ressourcensparend.<br />

Wir zeigen am<br />

Beispiel eines Root-Servers,<br />

wie Sie virtuelle<br />

Systeme mit Netzwerkanbindung<br />

betreiben.<br />

Das Testsystem<br />

Der Markt für Software zum<br />

Virtualisieren wächst seit Jahren<br />

stetig. Namen wie VMware, Virtualbox,<br />

Xen, Qemu oder KVM<br />

sind jedem ernsthaften Anwender<br />

geläufig. Mit den Linux Containers<br />

(LXC, [1]) gesellt sich der<br />

Gattung ein noch recht junger<br />

Vertreter hinzu, der einige Annehmlichkeiten<br />

bietet.<br />

Das ganze System gleicht dabei<br />

in etwa den sogenannten Jails<br />

unter BSD oder den Containern<br />

unter Solaris. Im laufenden System,<br />

dem Host, richten Sie damit<br />

für den Gast einen abgeschotteten<br />

und gesicherten Bereich ein,<br />

innerhalb dessen Sie einzelne<br />

Dienste oder ganze Systeme virtualisieren.<br />

Im LXC-Jargon heißt<br />

diese virtuelle Umgebung wie bei<br />

Solaris Container.<br />

Im Vergleich zu vielen anderen<br />

Lösungen arbeitet LXC dabei direkt<br />

auf der Ebene des Betriebssystems.<br />

Während VMware oder<br />

Als Testsystem für diesen Artikel kam ein Ubuntu 11.10 „Oneiric<br />

Ocelot“ in der 64-Bit-Variante für Server zum Einsatz. Als Hardware<br />

diente ein Root-Server eines deutschen Hosters, ausgestattet<br />

unter anderem mit Intel-Xeon-Prozessor.<br />

Virtualbox einen vollständigen<br />

Rechner samt BIOS und Hardware<br />

emulieren und sich daher<br />

ideal zum Installieren von anderen<br />

Betriebssystemen eignen,<br />

nutzt LXC die bereits vorhandene<br />

Hardware und den bestehenden<br />

Kernel, um entsprechende Container<br />

bereitzustellen.<br />

Dieses Verfahren spart durch<br />

das Weglassen zahlreicher<br />

Abstraktionsebenen viele Ressourcen.<br />

Dafür ermöglicht es aber<br />

nur ein „Linux <strong>im</strong> Linux“, denn es<br />

stellt keine virtuelle Maschine bereit,<br />

sondern lediglich eine virtuelle<br />

Umgebung. Möchten Sie beispielsweise<br />

einen Windows-Gast<br />

innerhalb eines Linux-Hosts virtualisieren,<br />

müssen Sie auf andere<br />

Lösungen ausweichen [2].<br />

LXC eignet sich sowohl für Umgebungen,<br />

die aus Sicherheitsgründen<br />

getrennte Instanzen mit<br />

eigenen Ressourcen erfordern, als<br />

auch für Bereiche, in denen es<br />

eine gewisse Flexibilität zu gewährleisten<br />

gilt. Bei Bedarf ziehen<br />

Sie einen Container mit wenigen<br />

Handgriffen auf einen anderen<br />

Host um. Der Ansatz eignet<br />

sich unter anderem für den Einsatz<br />

bei Providern, die kostengünstig<br />

virtuelle Server bereitstellen<br />

wollen, sowie für Software-Entwickler,<br />

die täglich in genau<br />

definierten Umgebungen arbeiten<br />

müssen.<br />

Der Ansatz bringt jedoch zwei<br />

Nachteile mit sich: Zum einen<br />

steigt durch das Virtualisieren auf<br />

Betriebssystemebene das Risiko,<br />

dass virtuelle Hosts bei Sicherheitslücken<br />

<strong>im</strong> Kernel oder bei<br />

schlechter Konfiguration einen<br />

Zugang zum eigentlichen Host erhalten.<br />

Zum anderen fallen das<br />

erste Einrichten und die Konfiguration<br />

bisher noch recht schwer.<br />

Vorarbeiten<br />

Einer der großen Vorteile von<br />

LXC liegt darin, dass neuere Kernel-Versionen<br />

(in der Regel ab<br />

2.6.31) es direkt integrieren – ein<br />

aufwendiges Übersetzen von Modulen<br />

oder gar Patchen des Systems<br />

entfällt. Die Inbetriebnahme<br />

erfordert lediglich drei Schritte:<br />

das Einrichten der Programme<br />

zum Verwalten (der Werkzeuge,<br />

mit denen Sie die Container erstellen<br />

und bearbeiten), das Einrichten<br />

eines solchen Containers<br />

74 06 | 12<br />

www.linux-user.de


LXC<br />

netz&syStem<br />

und zu guter Letzt das Konfigurieren<br />

der Netzwerkanbindung<br />

des virtuellen Hosts.<br />

Vor der eigentlichen Installation<br />

von LXC stellen Sie zunächst sicher,<br />

dass Sie das Host-System<br />

ausreichend abgesichert haben.<br />

Soll die virtuelle Maschine später<br />

online gehen, empfiehlt es sich,<br />

eine zusätzliche IPv4-Adresse bereit<br />

zu halten. Diese schalten Sie<br />

zwar nicht auf den Host selbst<br />

auf, haben sie aber idealerweise<br />

be<strong>im</strong> Einrichten der virtuellen<br />

Umgebung bereits zur Hand.<br />

Sind diese Voraussetzungen erfüllt,<br />

installieren Sie die eigentlichen<br />

<strong>Pakete</strong> über die Kommandzeile<br />

mittels sudo apt‐get install<br />

lxc cgroup‐lite debootstrap libcap2‐bin<br />

libvirt‐bin bridge‐utils.<br />

Anschließend zeigt der Befehl<br />

lxc‐checkconfig, ob das System alle<br />

Anforderungen erfüllt.<br />

Schutzverpackung<br />

LXC kennt zwei Betriebsmodi:<br />

Das Virtualisieren eines einzelnen<br />

Programms wie etwa einer<br />

Bash-Shell oder aber die Installation<br />

eines kompletten Basissystems<br />

in einem Container. Ersteres<br />

eignet sich unter anderem dazu,<br />

um einzelne Dienste und Programme<br />

in einer gesicherten Umgebung<br />

(„Sandbox“) zu starten.<br />

Letzteres erweist sich insbesondere<br />

dann als ideal, wenn Sie verschiedene<br />

virtuelle Server planen.<br />

Der Start eines einzelnen Programms<br />

innerhalb eines Containers<br />

zeigt sehr schön das Prinzip<br />

hinter LXC. Rufen Sie am Host-<br />

System den Befehl w auf, erhalten<br />

Sie – gesetzt den Fall, dass Sie<br />

keinen speziell präparierten Sicherheits-Kernel<br />

einsetzen – eine<br />

Übersicht aller angemeldeten<br />

Nutzer (Listing 1, oben). Zudem<br />

fördert ein beherztes ps auxw alle<br />

Prozesse zutage, die insgesamt<br />

auf dem System aktiv sind (Listing<br />

1, unten).<br />

Nun geht es an das Einrichten<br />

einer virtuellen Instanz. Starten<br />

Sie nun (dazu benötigen Sie<br />

administrative Rechte) unter<br />

Zuhilfenahme des Befehls<br />

# lxc‐execute ‐n RestrictedShellU<br />

/bin/bash<br />

einen Container namens RestrictedShell,<br />

der nichts anderes macht,<br />

als /bin/bash aufzurufen. Sie befinden<br />

sich anschließend direkt<br />

auf der Kommandozeile dieser<br />

LXC-Instanz.<br />

Der Container (der Gast) erbt<br />

vom System (dem Host) nahezu<br />

die gesamte Umgebung. Dazu<br />

zählen unter anderem das Dateisystem<br />

samt Benutzern, Gruppen<br />

und Quotas, der Kernel samt zugehöriger<br />

Module sowie der Zugriff<br />

auf die Hardware. Dennoch<br />

bleibt der Container in weiten<br />

Teilen vom übrigen System isoliert,<br />

wie ein Blick auf die vollkommene<br />

leere Übersicht beweist,<br />

die der Befehl w zutage fördert<br />

(Listing 2, oben). Ein ps auxw<br />

zeigt ebenfalls nicht gerade viel<br />

(Listing 2, unten).<br />

Noch deutlicher erscheint das<br />

Ganze <strong>im</strong> Vergleich der Ausgabe<br />

von Htop: Der Container (Abbildung<br />

A, folgende Seite) vermag<br />

nicht die Prozesse des Hosts zu<br />

sehen (Abbildung B, folgende<br />

Seite). An dieser Stelle beenden<br />

Sie dieses erste Exper<strong>im</strong>ent ganz<br />

einfach durch die Eingabe von<br />

exit, und gelangen so wieder zur<br />

Kommandozeile des physikalischen<br />

Systems zurück.<br />

$ w<br />

13:37:48 up 2 days, 1:36, 2 users, load average: 0,02, 0,03, 0,05<br />

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT<br />

floeff pts/0 188‐1‐2‐3‐dynip. 13:31 23.00s 0.29s 0.29s ‐bash<br />

mmuster pts/16 188‐4‐5‐6‐dynip. 13:37 0.00s 0.27s 0.00s w<br />

Listing 1<br />

$ ps auxw<br />

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND<br />

proftpd 561 0.0 0.0 98312 2128 ? SNs Feb19 0:00 proftpd: (accepting connections)<br />

root 810 0.0 0.0 47272 9560 ? Ss Feb18 0:06 /usr/sbin/munin‐node<br />

daemon 1572 0.0 0.0 16776 380 ? Ss Feb18 0:00 atd<br />

polw 1713 0.0 0.0 55104 12848 ? Ss Feb18 0:00 policyd‐weight (master)<br />

postfw 1718 0.0 0.0 62436 15756 ? Ss Feb18 0:03 /usr/sbin/postfwd<br />

clamav 2005 0.0 0.8 195516 137080 ? Ssl Feb18 0:11 /usr/sbin/clamd<br />

...<br />

# w<br />

14:24:47 up 2 days, 2:23, 1 user, load average: 0,03, 0,11, 0,08<br />

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT<br />

Listing 2<br />

# ps auxw<br />

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND<br />

root 1 0.0 0.0 10496 632 pts/0 S 14:16 0:00 /usr/lib/lxc/lxc‐init ‐‐ /bin/bash<br />

root 2 0.0 0.0 30372 5552 pts/0 S 14:16 0:00 /bin/bash<br />

root 70 0.0 0.0 22060 1244 pts/0 R+ 14:25 0:00 ps auxw<br />

www.linux-user.de<br />

06 | 12 75


netz&System<br />

LXC<br />

schen Systems beschreiben. Auf<br />

unserem Testsystem hält das Verzeichnis<br />

/usr/lib/lxc/templates unter<br />

anderem Vorlagen für Debian,<br />

Fedora, OpenSuse und Ubuntu<br />

als virtualisierte Umgebung bereit,<br />

wobei <strong>im</strong> Test Letzteres zum<br />

Einsatz kam.<br />

Zum Erstellen eines Containers<br />

für den Host vm1.domain.local legen<br />

Sie <strong>im</strong> Verzeichnis /etc/lxc<br />

eine Konfigurationsdatei gleichen<br />

Namens an und füllen diese mit<br />

dem Inhalt aus Listing 3. Damit<br />

weisen Sie der Maschine eine<br />

IPv4-Adresse mit entsprechender<br />

Netzmaske zu (Zeile 2), aktivieren<br />

diese und koppeln sie an das<br />

Netzwerkinterface eth0 (Zeile 3).<br />

Die Netzmaske hängt von der lokalen<br />

Konfiguration ab – <strong>im</strong> Test<br />

war /27 Voraussetzung be<strong>im</strong> Provider.<br />

Für Verbindungen zur Außenwelt<br />

nutzt der Container eine<br />

sogenannte virtuelle MAC-Adresse<br />

(Zeile 4), ebenfalls eine Vorgabe<br />

des Providers.<br />

Mit dieser Min<strong>im</strong>alkonfiguration<br />

erstellen Sie den Container<br />

unter Zuhilfenahme des schon<br />

bekannten Tools. Der Befehl<br />

# lxc‐create ‐t ubuntu ‐n vm1.doU<br />

main.local ‐f /etc/lxc/vm1.domaiU<br />

n.local.conf<br />

A Im Container zeigt<br />

Htop eine deutlich verkürzte<br />

Prozessliste …<br />

Tipp<br />

Im geschilderten<br />

Set up greift die Firewall<br />

des Host-Systems<br />

in der Regel<br />

nicht – der Container<br />

ist also völlig ungeschützt.<br />

Schnelle<br />

Abhilfe schafft die<br />

Installation von UFW<br />

und das Sperren<br />

nicht benötigter<br />

Ports <strong>im</strong> Gast.<br />

LXC-Befehle<br />

Befehl Funktion<br />

lxc‐execute<br />

lxc‐start<br />

lxc‐stop<br />

lxc‐destroy<br />

lxc‐netstat<br />

lxc‐ps<br />

lxc‐monitor<br />

lxc‐ls<br />

lxc‐info<br />

lxc‐freeze<br />

lxc‐unfreeze<br />

Als wesentlich vielseitiger und zudem<br />

sicherer erweist sich allerdings<br />

die Installation eines kompletten<br />

Basissystems <strong>im</strong> Container.<br />

Das grundlegende Prinzip<br />

gleicht dabei jenem des vorherigen<br />

Versuchs: Einen Teil des Systems<br />

teilen sich Container und<br />

Host, der Rest bleibt isoliert in<br />

der virtuellen Umgebung. Dazu<br />

erzeugen Sie einen Container, der<br />

ein komplett eigenes Dateisystem<br />

erhält, und somit ein eigenes Basissystem<br />

samt Benutzern und eigener<br />

IP-Adresse.<br />

startet eine einzelne Applikation in der Sandbox<br />

startet einen kompletten Container<br />

erzwingt das Beenden des Containers (nicht empfohlen)<br />

löscht einen Container samt aller enthaltenen Dateien<br />

führt den Befehl netstat <strong>im</strong> Container aus<br />

listet Prozesse eines Containers auf<br />

überwacht den Status eines Containers<br />

listet alle verfügbaren Container auf<br />

zeigt den Status eines Containers an<br />

hält einen Container an<br />

setzt einen Container fort<br />

Alles <strong>im</strong> Container<br />

Als Dreh- und Angelpunkt dient<br />

dabei das Tool lxc‐create (siehe<br />

Tabelle LXC-Befehle). Es greift<br />

auf sogenannte Vorlagen zurück,<br />

welche die Installation eines fri-<br />

Listing 3<br />

01 lxc.network.type=macvlan<br />

02 lxc.network.ipv4=1.2.3.4/27<br />

03 lxc.network.link=eth0<br />

04 lxc.network.<br />

hwaddr=00:11:22:33:44:55<br />

05 lxc.network.flags=up<br />

Listing 4<br />

auto lo<br />

iface lo inet loopback<br />

auto eth0<br />

iface eth0 inet manual<br />

up route add default gw 1.2.3.1<br />

up route add ‐net 1.2.3.0<br />

netmask 255.255.255.224 gw<br />

1.2.3.1 eth0<br />

installiert das Basissystem, das<br />

der Host unter /var/lib/lxc/vm1.<br />

domain.local/rootfs abbildet. Um<br />

den Container <strong>im</strong> Test ans Netz<br />

zu bekommen, brauchte es allerdings<br />

noch etwas Handarbeit.<br />

Zum einen galt es, die nötigen<br />

Netzwerkrouten zu setzen. In vielen<br />

anderen Netzwerken entfällt<br />

diese Aufgabe. Übertragen Sie<br />

den Inhalt aus Listing 4 in die Datei<br />

/etc/network/interfaces <strong>im</strong> Container,<br />

die als /var/lib/lxc/vm1.<br />

domain.local/rootfs/etc/network/<br />

interfaces am Host vorliegt.<br />

Ganz gleich, ob be<strong>im</strong> Hoster oder<br />

<strong>im</strong> He<strong>im</strong>netzwerk – der Container<br />

benötigt zum Auflösen der Namen<br />

noch Zugriff auf einen DNS-Server,<br />

den Sie einfach in der Datei<br />

/ etc/resolvconf/resolv.conf.d/head<br />

<strong>im</strong> Container eintragen. Das entspricht<br />

der Datei / var/lib/lxc/vm1.<br />

domain.local/rootfs/etc/resolvconf/<br />

resolv.conf.d/head am Host. Der<br />

Eintrag nameserver 8.8.8.8 bindet<br />

beispielsweise den Nameserver<br />

von Google ein.<br />

Der erste Start<br />

Nach diesen Konfigurationsarbeiten<br />

steht der Container für erste<br />

Listing 5<br />

127.0.0.1 localhost<br />

1.2.3.4 vm1.domain.local vm1<br />

::1 ip6‐localhost ip6‐loopback<br />

fe00::0 ip6‐localnet<br />

ff00::0 ip6‐mcastprefix<br />

ff02::1 ip6‐allnodes<br />

ff02::2 ip6‐allrouters<br />

ff02::3 ip6‐allhosts<br />

76 06 | 12<br />

www.linux-user.de


LXC<br />

netz&syStem<br />

Exper<strong>im</strong>ente bereit. Sie starten<br />

dazu die virtuelle Maschine <strong>im</strong><br />

Vordergrund über den Befehl<br />

# lxc‐start ‐n vm1.domain.local<br />

Die Konsole zeigt also das Login<br />

des Containers an. Melden Sie<br />

sich dort als Benutzer root mit<br />

gleichlautendem Passwort an,<br />

und ändern Sie Letzteres sodann<br />

mittels passwd.<br />

Als Nächstes stellen Sie sicher,<br />

dass der Zugriff auf das Netzwerk<br />

funktioniert: Ein Ping auf eine externe<br />

Seite wie www.linux‐user.de<br />

und der Versuch, sich von außen<br />

per SSH auf die neue Maschine<br />

einzuloggen, sorgen für Klarheit.<br />

Derzeit läuft die virtuelle Maschine<br />

noch <strong>im</strong> Vordergrund.<br />

Funktioniert alles wie gewünscht,<br />

beenden Sie den Container mittels<br />

halt. Achten Sie darauf, den<br />

Befehl <strong>im</strong> Terminal des Containers<br />

einzugeben. Dann starten Sie<br />

ihn erneut, diesmal aber mittels:<br />

# lxc‐start ‐d ‐n vm1.domain.local<br />

Das zusätzliche ‐d sorgt dafür,<br />

dass LXC nun <strong>im</strong> Hintergrund<br />

läuft, <strong>im</strong> sogenannten Detachedoder<br />

Headless-Modus. Alles Weitere<br />

richten Sie jetzt per SSH ein.<br />

Spitze des Eisbergs<br />

Der Gast steht jetzt zum Einsatz<br />

bereit. Es bestünde nun die Möglichkeit,<br />

ihn nach entsprechendem<br />

Anpassen der Konfigurationsdatei<br />

beliebig oft zu klonen.<br />

Verfügen Sie über drei weitere IP-<br />

Adressen, dann kopieren Sie dazu<br />

einfach die Konfiguration des<br />

Containers in /etc/lxc, passen jeweils<br />

die Angaben zum Netzwerk<br />

an, und erzeugen die Container<br />

mit lxc‐create (siehe Kasten Das<br />

doppelte Lottchen).<br />

Auf dem Testsystem galt es allerdings,<br />

<strong>im</strong> Container noch einige<br />

weitere Anpassungen vorzunehmen<br />

– insbesondere die Datei<br />

/ etc/hosts war unvollständig. Das<br />

Muster in Listing 5 kann als Beispiel<br />

für eigene Ergänzungen dienen.<br />

Zudem fehlten in unserem<br />

Template die Verzeichnisse /run/<br />

lock und /run/shm, was unter Umständen<br />

zu Fehlermeldungen<br />

führt (und vermutlich auf einen<br />

Bug zurückzuführen ist).<br />

Über die Konfiguration des Containers<br />

regeln Sie bei Bedarf noch<br />

wesentlich mehr, als dieses kleine<br />

Beispiel zu zeigen vermag: So definieren<br />

Sie eigene Mountpoints<br />

und Root-Dateisysteme, bilden<br />

falls nötig komplexe Netzwerkkonfigurationen<br />

ab und weisen<br />

über Control Groups (Cgroups)<br />

des Kernels best<strong>im</strong>mte Berechtigungen<br />

und Ressourcen zu.<br />

Damit sollten Sie sich spätestens<br />

beschäftigen, wenn Sie virtuelle<br />

Maschinen für Dritte bereitstellen.<br />

In der Ubuntu-Standardkonfiguration<br />

darf jede virtuelle<br />

Maschine die Systemzeit des<br />

Hosts ändern und kann dadurch<br />

für ein kleines Chaos sorgen. Abhilfe<br />

schafft der Parameter lxc.<br />

cap.drop=sys_t<strong>im</strong>e in der Konfiguration.<br />

Ausführlichere Informationen<br />

zu allen Konfigurationsmöglichkeiten<br />

erhalten Sie mittels<br />

man lxc.conf. Weitere Informationen<br />

liefern die Dokumentation<br />

unter /usr/share/doc/lxc und<br />

das Ubuntuusers.de-Wiki [3].<br />

Funktionieren alle Container zu<br />

Ihrer Zufriedenheit, weisen Sie<br />

LXC noch an, sie bei jedem Reboot<br />

des Hosts automatisch zu<br />

starten. Dazu setzen Sie in /etc/<br />

default/lxc den Eintrag RUN auf<br />

yes. Für jeden Gast, den Sie be<strong>im</strong><br />

Systemstart laden möchten, legen<br />

Sie anschließend einen symbolischen<br />

Link der Konfiguration in<br />

/ etc/lxc/auto an (Listing 6).<br />

Fazit<br />

Die noch recht junge Virtualisierungslösung<br />

LXC überzeugt vor<br />

allem durch ein ressourcensparendes<br />

Verhalten und die direkte<br />

Integration in den Kernel. Die<br />

Konfiguration fällt zwar etwas<br />

umständlich aus. Falls Sie es nicht<br />

scheuen, etwas Zeit zu investieren<br />

und auf grafische Oberflächen<br />

verzichten können, dann<br />

sollten Sie unbedingt einen Blick<br />

auf LXC wagen. (agr) n<br />

info<br />

[1] LXC: http:// lxc. sourceforge. net<br />

[2] Desktop-Virtualisierung: LU 04/​2012, Schwerpunkt ab S. 20, http:// www.​<br />

linux‐community. de/ Internal/ Artikel/ Print‐Artikel/ <strong>LinuxUser</strong>/ 2012/ 04<br />

[3] Ubuntuusers.de-Wiki: http:// wiki. ubuntuusers. de/ LXC<br />

B … auf dem Host sehen<br />

Sie die vollständige<br />

Prozessliste.<br />

Der Autor<br />

Florian Effenberger<br />

engagiert sich seit<br />

vielen Jahren ehrenamtlich<br />

für freie Software.<br />

Er ist Chairman<br />

of the Board der Document<br />

Foundation.<br />

Zuvor war er fast sieben<br />

Jahre <strong>im</strong> Projekt<br />

OpenOffice.org aktiv,<br />

zuletzt als Marketing<br />

Project Lead.<br />

Listing 6<br />

# ln ‐s /var/lib/lxc/vm1.domain.local/config /etc/lxc/<br />

auto/vm1.domain.local.conf<br />

Das doppelte Lottchen<br />

Nach Anlegen des Containers befindet sich dessen Konfiguration<br />

unterhalb von /var/lib/lxc. Um nachträglich Parameter anzupassen,<br />

müssen Sie diese dann direkt dort ändern – die anfangs<br />

angelegte Datei in /etc/lxc dient lediglich als Vorlage zum Erstellen<br />

des Gastes, sie spielt für den Betrieb keine Rolle.<br />

www.linux-user.de<br />

06 | 12 77


know-how<br />

cURL<br />

Dateien und Daten übertragen <strong>im</strong> Netz mit cURL<br />

Flexibles Werkzeug<br />

Uploads, Downloads und Twittern per Shell-Skript? Kein<br />

Problem: Wenn Sie cURL verwenden, gelingen solche<br />

Aktionen mit wenigen Befehlen. Falko Benthin<br />

cURL 7.25<br />

LU/curl/<br />

© PHOTOPRESS/​Victorinox<br />

README<br />

Vielseitiger geht es<br />

kaum noch: Ob Download,<br />

Upload oder Datentransfer<br />

via Formular,<br />

der flexible Client<br />

for URLs, kurz cURL,<br />

versteht sich auf viele<br />

Aufgaben. Seine umfangreichen<br />

Funktionen<br />

erlauben es sogar, einen<br />

schlanken Twitter-<br />

Client in der Shell zu<br />

<strong>im</strong>plementieren.<br />

Wer den<br />

Download von Dateien<br />

automatisieren<br />

möchte,<br />

der landet<br />

schnell be<strong>im</strong> klassischen<br />

Tool Wget. Sobald aber<br />

komplexe Operationen anstehen,<br />

wie etwa das Ausfüllen von Formularen,<br />

kommt der Spezialist<br />

cURL ins Spiel: Der „Client for<br />

URLs“ erweist sich in vielen Fällen<br />

als ein praktisches Kommandozeilen-Tool.<br />

Er kommt vorwiegend<br />

zum Einsatz, um Webseiten,<br />

GPG-Schlüssel und kleine Dateien<br />

herunterzuladen, spielt dabei<br />

aber seinen vollen Funktionsumfang<br />

bei Weitem nicht aus.<br />

Mit DICT, File, FTP, FTPS,<br />

Gopher, HTTP, HTTPS, IMAP,<br />

IMAPS, LDAP, LDAPS, POP3,<br />

POP3S, RTMP, RTSP,<br />

SCP, SFTP, SMTP, SMT-<br />

PS, Telnet und TFTP beherrscht<br />

cURL zahlreiche der <strong>im</strong> Netz gängigen<br />

Protokolle. Neben dem Herunterladen<br />

eignet es sich auch,<br />

um Dateien auf entfernte Server<br />

zu übertragen, und unterstützt<br />

zudem Cookies. Darüber hinaus<br />

erlaubt es, Formulare auf Webseiten<br />

auszufüllen und – in ein<br />

Skript verpackt – viele Aufgaben<br />

automatisiert abzuarbeiten.<br />

Bereits 1988 startete das schwedische<br />

Entwicklerteam Haxx [1]<br />

das Projekt cURL [2]. Die aktuelle<br />

Version des in C <strong>im</strong>plementierten<br />

Programms liegt bei 7.25.0. Es<br />

steht<br />

unter<br />

der MIT-<br />

Lizenz und basiert<br />

auf der Bibliothek Libcurl [3],<br />

für die Schnittstellen für viele aktuelle<br />

Programmiersprachen existieren<br />

(unter anderem C/C++,<br />

Java, Perl, PHP, Python und<br />

Ruby). Es gibt cURL nicht nur für<br />

Linux, sondern auch für viele andere<br />

Betriebssysteme.<br />

Da sich cURL in den Repositories<br />

der meisten Distributionen<br />

findet, lässt es sich mithilfe der<br />

jeweiligen Tools leicht installieren.<br />

Gelüstet es Sie nach der aktuellsten<br />

Version, dann finden Sie<br />

deren Quellcode auf der Downloadseite<br />

des Projektes [4] und installieren<br />

die Software via ./configure<br />

&& make && make install.<br />

78 06 | 12<br />

www.linux-user.de


cURL<br />

know-how<br />

Runter …<br />

Anders als Wget verarbeitet cURL<br />

nur einzelne Dateien und eignet<br />

sich somit nicht, um komplette<br />

Webseiten rekursiv herunterzuladen.<br />

Liefern Sie als Parameter nur<br />

die URL zu einer Seite, gibt das<br />

Programm deren Quelltext auf<br />

der Standardausgabe aus. Mithilfe<br />

der Option ‐‐output Datei (‐o)<br />

weisen Sie cURL an, die heruntergeladene<br />

Seite in der Datei mit<br />

dem angegebenen Namen auf der<br />

Festplatte abzulegen.<br />

Um den Namen der Datei beizubehalten,<br />

den sie auf dem Server<br />

hatte, brauchen Sie diesen nicht<br />

einmal manuell anzugeben: Es genügt<br />

dazu, anstelle von ‐‐output<br />

die Option ‐‐remote‐name oder ‐O<br />

zu verwenden.<br />

Obwohl cURL keine rekursiven<br />

Downloads beherrscht, gelingt es<br />

trotzdem, mehrere Dateien auf<br />

einmal abzufragen. Sie haben<br />

zum Beispiel die Möglichkeit,<br />

mehrere URLs hintereinander<br />

aufzuführen oder – falls die Namen<br />

der Dateien auf dem Server<br />

einem Schema folgen – Variablen<br />

zu verwenden. So ruft etwa die<br />

Befehlszeile aus Zeile 1 von Listing<br />

1 aus einer Galerie 100 Bilder<br />

ab, wohingegen Zeile 2 die<br />

Profile der Mitarbeiter mit den<br />

Personalnummern „87945“ und<br />

„1679575“ einsammelt.<br />

Damit sich die Dateien be<strong>im</strong><br />

Speichern nicht gegenseitig überschreiben,<br />

nutzen Sie die Fähigkeit<br />

der Option ‐‐output, auch Positionsparameter<br />

auszuwerten.<br />

Im konkreten Fall lautet die Variable<br />

#1. Für jede weitere Stelle<br />

zählen Sie die Nummer einfach<br />

hoch. Um die Personalnummern<br />

in den Dateinamen aufzunehmen,<br />

nutzen Sie die Anweisung<br />

aus Zeile 3 von Listing 1.<br />

cURL beschränkt sich wie erwähnt<br />

bei der Kommunikation<br />

nicht auf das HTTP-Protokoll. Es<br />

erlaubt ebenso einfach, Dateien<br />

via FTP, FTPS und sogar SCP und<br />

SFTP herunterzuladen. Benutzername<br />

und Passwort integrieren<br />

Sie dazu gegebenenfalls mittels<br />

des Parameters ‐‐user und einem<br />

Doppelpunkt zwischen den beiden<br />

Angaben in die Abfrage.<br />

Zeile 4 von Listing 1 demonstriert<br />

den Zugriff auf einen FTP-<br />

Server, während Zeile 5 eine Datei<br />

von einem SSH-Server abruft.<br />

Der Vorteil liegt darin, dass Sie<br />

das Passwort sofort mitgeben,<br />

was das automatische Abarbeiten<br />

von Skripten vereinfacht. Kommen<br />

SCP und SFTP zum Einsatz,<br />

können Sie sich zudem mittels<br />

des Public-Key-Verfahrens authentifizieren<br />

(Zeile 6).<br />

cURL beherrscht mehrere Methoden<br />

zur Authentifikation via<br />

HTTP. Dazu zählen Basic, Digest,<br />

NTLM und Negotiate, wobei Basic<br />

(‐‐basic) als Voreinstellung<br />

zum Einsatz kommt. Setzt der<br />

Server auf eine andere Methode,<br />

versucht cURL, diese selbst zu ermitteln.<br />

Optional helfen Sie dem<br />

Programm mit ‐‐digest, ‐‐ntlm<br />

oder ‐‐negotiate auf die Sprünge.<br />

Damit vermeiden Sie unnötige<br />

HTTP-Requests, und cURL arbeitet<br />

die Kommandos schneller ab.<br />

Geraten Sie an eine Datei, die<br />

überraschend langsam über die<br />

Leitung tröpfelt, und verspüren<br />

Sie das dringende Bedürfnis, den<br />

laufenden Download abzubrechen,<br />

dürfen Sie das getrost tun –<br />

cURL unterstützt die Wiederaufnahme<br />

eines abgebrochenen<br />

01 curl http://meine.galerie.de/bild[1‐100].jpg ‐O<br />

Downloads. Mittels ‐continue‐at ‐<br />

(‐C) setzt cURL die Arbeit an der<br />

fraglichen Stelle fort – sofern der<br />

Server mitspielt. Bei Webservern<br />

erfordert das die Unterstützung<br />

für HTTP 1.1 erforderlich.<br />

… und rauf<br />

cURL versteht sich neben dem<br />

Download auch auf den Upload<br />

von Dateien. Es beherrscht dabei<br />

die Protokolle FTP, FTPS, SFTP<br />

und SCP. Um eine Datei auf einen<br />

Server zu übertragen, verwenden<br />

Sie <strong>im</strong> entsprechenden Befehl den<br />

Schalter ‐‐upload‐file (oder ‐T),<br />

gefolgt vom Dateinamen. Nutzen<br />

Sie anstelle des Dateinamens einen<br />

Bindestrich, sendet cURL die<br />

auf der Standardeingabe eintreffenden<br />

Zeichen an den Server<br />

(Abbildung A). SFTP oder SCP<br />

arbeiten aufgrund der Protokollstruktur<br />

nicht mit der Standardeingabe<br />

zusammen.<br />

Unterbrochene Uploads lassen<br />

sich wie Downloads mit ‐continue‐at<br />

‐ fortsetzen, sofern der<br />

Server die entsprechenden Voraussetzungen<br />

mitbringt. Neben<br />

dem Wiederaufnehmen von Uploads<br />

ist es mit cURL auch möglich,<br />

Dateien auf einem (S)FTP-<br />

Server fortzuschreiben.<br />

Anstatt <strong>im</strong>mer eine ganze Datei<br />

zu aktualisieren, lassen sich mit<br />

dieser Funktionalität auch nur<br />

Listing 1<br />

02 curl http://www.firma‐xy.de/personal/{87945,1679575}/profil.htm<br />

03 curl 'http://www.firma‐xy.de/personal/{87945,1679575}/profil.htm'<br />

‐‐output "profil_#1.htm"<br />

04 curl ‐‐user user:pa55w0rt ‐O ftp://meinserver/datei.txt<br />

05 curl ‐‐user user:pa55w0rt ‐O scp://meinserver/home/ich/meine_datei.<br />

txt<br />

06 curl ‐‐user user: ‐‐key ~/.ssh/id_rsa ‐‐pubkey ~/.ssh/id_rsa.pub ‐O<br />

scp://meinserver/home/ich/meine_datei.txt<br />

A Selten gebraucht,<br />

aber möglich: die<br />

Standardausgabe in<br />

eine Datei auf einem<br />

entfernten Server<br />

schicken.<br />

www.linux-user.de<br />

06 | 12 79


know-how<br />

cURL<br />

B Der Fortschrittsbalken<br />

zeigt als Mittelweg<br />

zwischen vielen und<br />

keinen Statusinformationen<br />

in übersichtlicher<br />

Weise den Fortgang eines<br />

Downloads an.<br />

Listing 2<br />

‐‐data Variable1=Wert1&Variable2=Wert2<br />

Listing 3<br />

#! /bin/bash<br />

# CLI‐Twittern ohne API und OAuth<br />

# Variablen setzen<br />

_user="Benutzername"<br />

_pass="Passwort"<br />

_tweet=$1<br />

einzelne Zeichen, Zeilen oder Abschnitte<br />

an eine bestehende Datei<br />

anhängen. Um von diesem Feature<br />

Gebrauch zu machen, fügen<br />

Sie den Parameter ‐‐append (‐a) in<br />

den Befehl ein. Existiert die Zieldatei,<br />

wird sie erweitert, existiert<br />

sie nicht, wird sie angelegt.<br />

echo "Login ..."<br />

curl ‐K curlrc.twitter \<br />

‐‐data "session[username_or_email]=$_<br />

user&session[password]=$_pass" \<br />

https://twitter.com/sessions?phx=1 >> /dev/null<br />

echo "authenticity_token auslesen ..."<br />

_token=$(curl ‐K curlrc.twitter \<br />

https://twitter.com/intent/tweet | grep "twttr.form_<br />

authenticity_token" \<br />

| sed "s/.*twttr.form_authenticity_token = '//" | sed<br />

"s/'.*//")<br />

echo "zwitschern ..."<br />

curl ‐K curlrc.twitter \<br />

‐‐data "status=$_tweet&authenticity_token=$_token" \<br />

https://twitter.com/intent/tweet/update >> /dev/null<br />

echo "ausloggen ..."<br />

curl ‐K curlrc.twitter \<br />

‐‐data "authenticity_token=$_token" \<br />

https://twitter.com/intent/session >> /dev/null<br />

echo "Cookies löschen"<br />

rm cookies.txt<br />

Formulare<br />

Neben dem Hoch- und Herunterladen<br />

von Dateien ermöglicht es<br />

das kleine Kommandozeilenwerkzeug,<br />

Formulare in Webseiten automatisiert<br />

auszufüllen. Das<br />

klappt zumindest solange, wie die<br />

Webseite nicht mit Captchas<br />

überprüft, ob ein Mensch die Daten<br />

eingibt, oder die Felder des<br />

Formulars zufällige Zeichenketten<br />

als Namen erhalten, wie das<br />

bei Banken der Fall ist.<br />

Da cURL zusätzlich Cookies unterstützt,<br />

steht dem Skripten eigentlich<br />

nichts mehr <strong>im</strong> Weg. Es<br />

wäre beispielsweise möglich, über<br />

einen Server ein Formular zu einem<br />

best<strong>im</strong>mten Zeitpunkt auszufüllen<br />

und abzuschicken, während<br />

Sie einer anderen Tätigkeit<br />

nachgehen.<br />

Um das Formular auszufüllen,<br />

gilt es <strong>im</strong> Vorfeld die Namen aller<br />

Eingabefelder zu ermitteln. Dabei<br />

leistet das Perl-Skript Formfind<br />

[5] des cURL-Entwicklers<br />

Daniel Stenberg wertvolle Dienste.<br />

Nach getaner Arbeit geben Sie<br />

die einzelnen Felder in einer Zeile<br />

ähnlich der aus Listing 2 an.<br />

Der Parameter ‐‐data (kurz ‐d)<br />

steht für normale Formulardaten<br />

des M<strong>im</strong>e-Typs application/x‐wwwform‐urlencoded),<br />

die URL-encodiert<br />

anzugeben sind. Neuere<br />

cURL-Versionen verfügen über<br />

den Schalter ‐‐data‐urlencode, mit<br />

dem cURL Ihnen das Codieren<br />

der fraglichen Zeichen abn<strong>im</strong>mt.<br />

Listing 4<br />

silent = true<br />

cookie = cookie‐twitter.txt<br />

cookie‐jar = cookie‐twitter.txt<br />

user‐agent = "Mozilla/5.0<br />

(Windows NT 6.1; WOW64; rv:11.0)<br />

Gecko/20100101 Firefox/11.0"<br />

Listing 5<br />

01 curl dict://dict.org/<br />

d:Hallo:deu‐eng<br />

02 curl dict://dict.org/d:matrix<br />

Handelt es sich be<strong>im</strong> Formular<br />

um ein Upload-Formular für Dateien<br />

(MIME: multipart/form‐data),<br />

verwenden Sie die Option ‐‐form<br />

(‐F), gefolgt von den jeweils auszufüllendem<br />

Feldnamen und den<br />

zugehörigen Daten.<br />

Die Schalter ‐‐cookie und ‐‐cookie‐jar<br />

kommen zum Einsatz,<br />

wenn eine Webseite Cookies einsetzt,<br />

etwa um Informationen zu<br />

einer Session zu speichern. Mit<br />

‐‐cookie‐jar (‐c) legen Sie eingehende<br />

Daten in einer Datei ab,<br />

während ‐‐cookie (kurz ‐b) diese<br />

wieder an eine Webseite überträgt.<br />

Das ist oft dann der Fall,<br />

wenn Nutzer sich authentifizieren<br />

müssen, um hinterher Inhalte<br />

geschützter Bereiche anzuschauen.<br />

Hier kommt oft zusätzlich der<br />

Schalter ‐‐location (‐L) ins Spiel,<br />

mit dem Sie cURL anweisen, einer<br />

eventuell auftretenden Weiterleitung<br />

zu folgen.<br />

Listing 3 zeigt, wie Sie cURL<br />

einsetzen, um auf der Kommandozeile<br />

eine Meldung an den<br />

Kurznachrichtendienst Twitter<br />

abzusetzen, und dabei die Twitter-API<br />

sowie das vor einigen Monaten<br />

eingeführte Authentifizieren<br />

via OAuth umgehen. Dabei<br />

kommt zusätzlich eine angepasst<br />

Konfiguration (curlrc.twitter)<br />

zum Einsatz (Listing 4).<br />

Im ersten Schritt authentifiziert<br />

sich cURL und speichert die nötigen<br />

Cookies. Danach liest das<br />

Skript den Wert eines versteckten<br />

Feldes aus (authenticity_token),<br />

denn ohne diesen ist es unmöglich,<br />

der Welt etwas zu zwitschern.<br />

Anschließend überträgt<br />

das Skript den eigentlichen<br />

Tweet, meldet sich be<strong>im</strong> Twitter-<br />

Dienst ab, und es löscht die nun<br />

unnötigen Cookies.<br />

Umwege<br />

Mitunter passiert, dass Angebote<br />

<strong>im</strong> Web einer regional beschränkten<br />

Zielgruppe vorbehalten sind.<br />

Wer mit einer IP anfragt, die aus<br />

einem nicht erwünschten geografischen<br />

Bereich stammt, guckt<br />

dann in die Röhre. Daneben gibt<br />

80 06 | 12<br />

www.linux-user.de


cURL<br />

know-how<br />

es auch Fälle, in denen Sie eventuell<br />

nicht möchten, dass die eigene<br />

IP in den Log-Dateien eines<br />

Webservers auftaucht.<br />

Hier lohnt sich ein Umweg über<br />

gastfreundliche Proxies. cURL<br />

zeigt sich hier erfreulicherweise<br />

sehr kontaktfreudig: Anonyme<br />

Proxies und solche, die eine Authentifizierung<br />

verlangen, unterstützt<br />

die Software problemlos.<br />

Sie setzt lediglich voraus, dass es<br />

sich um HTTP- oder Socks-Proxies<br />

(v4/​v5) handelt.<br />

Um cURL anzuweisen, eine<br />

Webseite oder eine Datei über einen<br />

HTTP-1.1-Proxy abzurufen,<br />

nutzen Sie den Schalter ‐‐proxy<br />

(kurz ‐x), gefolgt von der Proxy-<br />

URL und dem Port. Socks-Proxies<br />

sprechen Sie mit ‐‐socks4 beziehungsweise<br />

‐‐socks5 an. Für<br />

HTTP-1.0-Proxies steht der Parameter<br />

‐‐proxy1.0 bereit.<br />

Gemischtes<br />

Be<strong>im</strong> Download informiert Sie<br />

cURL detailliert über dessen Fortschritt.<br />

Neben der gesamten Größe<br />

der Datei zeigt das Tool unter<br />

anderem an, wie viel es bereits<br />

übertragen hat, wie hoch die aktuelle<br />

und durchschnittliche<br />

Übertragungsraten ausfallen, wie<br />

viel Zeit bereits vergangen ist und<br />

wie viel Zeit es voraussichtlich<br />

noch braucht.<br />

Diese Informationen unterdrücken<br />

Sie entweder mit ‐‐silent<br />

oder sorgen mit ‐‐progress‐bar für<br />

ein deutlich eingängigeres visuelles<br />

Feedback. Statt vieler Ziffern<br />

taucht dann ein s<strong>im</strong>pler Fortschrittsbalken<br />

auf, den Sie auch<br />

von einer mehrere Meter entfernt<br />

stehenden Kaffeemaschine mit<br />

Leichtigkeit <strong>im</strong> Auge behalten<br />

(Abbildung B).<br />

Brauchen Sie auf die Schnelle<br />

eine Definition oder Übersetzung,<br />

hilft cURL ebenfalls mithilfe<br />

des DICT-Protokolls weiter. Die<br />

Anfrage aus Zeile 1 von Listing 5<br />

sucht nach einer Übersetzung für<br />

das Wort „Hallo“. Ähnlich einfach<br />

holen Sie sich Definitionen ab:<br />

Zeile 2 von Listing 5 demonstriert,<br />

wie Sie die Bedeutung des<br />

Wortes „Matrix“ via cURL abfragen<br />

(Abbildung C). cURL unterstützt<br />

daneben viele Kommandos<br />

des Standards RFC 2229 [6], beispielsweise<br />

MATCH, DEFINE, SHOW DB<br />

und SHOW STRATEGIES.<br />

Bei Bedarf rufen Sie mit cURL<br />

lediglich ausgewählte Teile einer<br />

Datei ab (‐‐range, ‐r). Das kleine<br />

Kommandozeilenprogramm unterstützt<br />

außerdem Zertifikate<br />

und LDAP und arbeitet bei Bedarf<br />

sogar als Telnet-Client. Mit seiner<br />

Hilfe übertragen Sie Mails an<br />

SMTP-Server, ändern den Zeitstempel<br />

von Dateien auf einem<br />

Server oder integrieren Extra-<br />

Header in eine Anfrage.<br />

Fazit<br />

cURL erweist sich als vielseitiges<br />

Werkzeug, mit dem Sie elegant<br />

unterschiedlichste Aufgaben lösen.<br />

Um den reichhaltigen Funktionsumfang<br />

zu erlernen, lohnt es<br />

sich, die Manpage eingehend zu<br />

studieren. Das Programm macht<br />

nicht nur auf der Kommandozeile<br />

eine gute Figur, sondern auch in<br />

vielen Programmiersprachen. Die<br />

Bibliothek Libcurl erspart Entwicklern<br />

viel Zeit und Arbeit, die<br />

in ihren Programmen die Inhalte<br />

entfernter Dateien verarbeiten.<br />

Zu den interessantesten Fähigkeiten<br />

von cURL zählt die Möglichkeit,<br />

Formulare automatisiert<br />

auszufüllen. Da Anbieter aber<br />

permanent bestrebt sind, Anwender<br />

auf ihre Seiten zu locken und<br />

zu verhindern, dass Skripte Inhalte<br />

automatisch verarbeiten, passiert<br />

es in der Praxis <strong>im</strong>mer wieder,<br />

dass Skripte, die lange Zeit<br />

funktionierten, plötzlich gegen<br />

die Wand fahren und umfangreiches<br />

Nachbessern erfordern.<br />

Kommen allerdings Captchas<br />

zum Einsatz, dann stößt cURL an<br />

seine Grenzen. Solange das jedoch<br />

nicht bei allen Webseiten<br />

der Fall ist, beschert Ihnen die<br />

Spielerei mit dem pfiffigen Tool<br />

viele Aha-Erlebnisse. (agr) n<br />

info<br />

[1] Haxx: http:// www. haxx. se<br />

[2] cURL: http:// curl. haxx. se<br />

[3] Libcurl: http:// curl. haxx. se/ libcurl/<br />

[4] cURL herunterladen:<br />

http:// curl. haxx. se/ download. html<br />

[5] Formfind: https:// github. com/ bagder/ curl/​<br />

blob/ master/ perl/ contrib/ formfind<br />

[6] RFC 2229 (DICT):<br />

http:// tools. ietf. org/ html/ rfc2229<br />

C Dank der DICT-Unterstützung<br />

hilft cURL<br />

auch bei der Suche<br />

nach Übersetzungen<br />

und Definitionen.<br />

Tipp<br />

Ziehen Sie cURL oft<br />

für sehr spezielle Arbeiten<br />

heran, lohnt<br />

es sich, einige Einstellungen<br />

wie Proxies<br />

oder den String<br />

für den User-Agent in<br />

einer gesonderten<br />

Konfigurationsdatei<br />

abzulegen und diese<br />

mit der Option ‐K<br />

auszuwählen.<br />

www.linux-user.de<br />

06 | 12 81


know-how<br />

Grep-Varianten<br />

Suche in Datenformaten (Teil 1)<br />

Mit Struktur<br />

© Ayla87, sxc.hu<br />

Grep gehört zu<br />

den elementaren<br />

Linux-Werkzeugen.<br />

Eine Reihe von<br />

Zusatztools hilft<br />

bei der Suche in<br />

Formaten, die dem<br />

kleinen Tool sonst<br />

versperrt bleiben.<br />

README<br />

Axel Beckert,<br />

Frank Hofmann<br />

Das Durchforsten spezieller<br />

Datenformate gerät<br />

mit Grep manchmal<br />

sehr aufwendig – kleine<br />

Helfer erleichtern die<br />

Aufgabe. Dieser Artikel<br />

stellt eine Auswahl an<br />

Tools vor, die sich für<br />

entsprechende Spezialaufgaben<br />

eignen.<br />

Listing 1<br />

Die Diskussion begann <strong>im</strong> Rahmen<br />

der OpenRheinRuhr 2011:<br />

Welche Tools eignen sich am besten<br />

für die Suche in den verschiedenen<br />

Dateiformaten? Das<br />

Hauptaugenmerk galt Programmen,<br />

die ähnlich wie Grep auf der<br />

Kommandozeile funktionieren.<br />

Es kam rasch eine größere Menge<br />

an Werkzeugen zusammen, wobei<br />

sich schnell herausstellte, dass<br />

nur wenige Nutzer diese kannten.<br />

In der Folge entstand eine erste<br />

Übersicht solcher Tools, die Axel<br />

Beckert kurz darauf in seinem<br />

Blog [1] veröffentlichte. Die Liste<br />

beinhaltet neben dem Anwendungsbereich<br />

und Datenformat<br />

zusätzlich den Paketnamen für<br />

auf Debian oder Ubuntu basierende<br />

Linux-Distributionen.<br />

Dieser Blog-Eintrag<br />

löste ein reges Exper<strong>im</strong>entieren<br />

aus. Leser<br />

schickten weitere Hinweise,<br />

die eine erneute<br />

Recherche nach sich zogen,<br />

und in der Folge<br />

gelang es, die Liste weiter<br />

zu vervollständigen.<br />

Daraus entstanden bereits<br />

ein Artikel zur Suche in<br />

Postscript- und PDF-Dokumenten<br />

[2] sowie in Archiven und<br />

kompr<strong>im</strong>ierten Daten [3]. Nun<br />

steht eine Auswahl von Tools für<br />

verschiedene Anwendungsformate<br />

<strong>im</strong> Mittelpunkt.<br />

Exakte Position<br />

Bei der Suche über viele Dateien<br />

ist es wichtig, den Dateinamen<br />

und die exakte Zeilennummer zu<br />

erfahren, in der ein Treffer auftritt.<br />

Grep leistet das über die<br />

Kombination der beiden Optionen<br />

‐o und ‐n. Dabei sorgt ‐o als<br />

Kurzform für ‐‐only‐matching dafür,<br />

dass Grep nur den exakten<br />

Treffer ohne den Kontext ausgibt,<br />

‐n (‐‐line‐number) stellt die<br />

Zeilennummer voran.<br />

$ cat ‐n datei1<br />

1 Muster<br />

2 muster<br />

$ cat ‐n datei2<br />

1 muster<br />

2 MusTer<br />

$ grep ‐on ‐E "Mus[tT]er" datei*<br />

datei1:1:Muster<br />

datei2:2:MusTer<br />

Listing 2<br />

Suchen Sie mit Grep über mehrere<br />

Dateien, so stellt das Programm<br />

der Ausgabe den Dateinamen<br />

voran. Dabei trennt es Dateiname,<br />

Zeilennummer und Treffer<br />

jeweils durch einen Doppelpunkt<br />

voneinander (Listing 1) und hebt,<br />

falls ‐‐color mit <strong>im</strong> Spiel ist, diese<br />

farblich unterschiedlich hervor.<br />

Gnumeric<br />

Zur Office-Suite des Gnome-Projekts<br />

zählt die Tabellenkalkulation<br />

Gnumeric. Das Paket enthält<br />

neben dem eigentlichen Programm<br />

die beiden nützlichen<br />

Werkzeuge Ssconvert und Ssgrep.<br />

Die ersten beiden Buchstaben<br />

stehen für „Spreadsheet“, also<br />

Tabellenblatt. Während Ssconvert<br />

Gnumeric-Rechenblätter in<br />

$ ssgrep ‐cH "Nano[Ss]tation" datei<br />

datei:4<br />

$ ssgrep ‐Hn "Nano[Ss]tation" datei<br />

datei:Blatt1!C4:8xUbiquiti NanoStation M5<br />

datei:Blatt1!C5:2xUbiquiti NanoStation 5<br />

datei:Blatt1!C6:2xUbiquiti Nanostation M5<br />

datei:Blatt1!C8:1xUbiquiti NanoStation M5<br />

82 06 | 12<br />

www.linux-user.de


Grep-Varianten<br />

know-how<br />

andere Formate umwandelt,<br />

sucht Ssgrep in diesen nach dem<br />

übergebenen Suchmuster.<br />

Dabei unterstützt das Programm<br />

jedes Datenformat, für<br />

das Gnumeric einen Import-Filter<br />

besitzt. Neben dem nativen Gnumeric-Format<br />

(Gzip-kompr<strong>im</strong>iertes<br />

XML) fallen unter anderem<br />

CSV-Daten, Microsoft Excel,<br />

Quattro Pro sowie das XML-Format<br />

von OpenOffice und Libre-<br />

Office Calc [4] in diese Kategorie.<br />

Der Aufruf von Ssgrep ähnelt<br />

dem von Grep in vielerlei Hinsicht:<br />

Das Programm erwartet<br />

zwei Parameter – als Erstes die<br />

Optionen mit dem Suchmuster,<br />

als Zweites den Namen der Gnumeric-Datei,<br />

in der Sie suchen<br />

möchten. Es interpretiert das angegebene<br />

Muster als regulären<br />

Ausdruck [5] und ermöglicht<br />

somit Flexibilität be<strong>im</strong> Formulieren.<br />

Als Treffer gibt es den<br />

gesamten Inhalt der Zelle aus.<br />

Mit der Option ‐H (Kurzform für<br />

‐‐with‐filename) gibt es zusätzlich<br />

den Dateinamen aus. Die Option<br />

‐c zählt die Treffer („count“). Mit<br />

‐n (kurz für‐‐print‐locus) erhalten<br />

Sie zusätzlich den Namen des Rechenblattes<br />

sowie die Zellennummer.<br />

Listing 2 zeigt den Aufruf<br />

von Ssgrep zur Datei aus Abbildung<br />

A. Die beiden Optionen ‐l<br />

und ‐L erweisen sich als nützlich,<br />

wenn Sie mehrere Dateien durchsuchen<br />

und nur den Namen der<br />

Datei benötigen, in der das Programm<br />

eine Übereinst<strong>im</strong>mung<br />

mit dem Muster findet. Mit der<br />

Option ‐l erhalten Sie eine Positivliste,<br />

mit ‐L hingegen eine Negativliste,<br />

also Dateien ohne Treffer.<br />

Diese beiden Optionen helfen<br />

dabei, den Suchraum einzugrenzen.<br />

Für die Tabellenkalkulation<br />

Calc von OpenOffice und Libre-<br />

Office existiert kein Kommandozeilenwerkzeug,<br />

das ähnlich wie<br />

Ssgrep funktioniert. Allerdin