Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
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. Allerdings<br />
hat Klaus Becker auf der Mailingliste<br />
der deutschen Debian-Anwender<br />
ein Skript gepostet [6],<br />
das Unzip und Grep kombiniert,<br />
und so eine Suche ermöglicht.<br />
Die grafische Alternative namens<br />
Loook [7], ein Python-Skript mit<br />
Tk-Oberfläche, beherrscht die Suche<br />
in allen Dokumenten von<br />
Open- und LibreOffice (Abbildung<br />
B). Es steht bisher allerdings<br />
nicht als Paket für Debian oder<br />
Ubuntu bereit, sondern nur als<br />
ZIP-Datei zum freien Download.<br />
Im mittleren Eingabefeld<br />
(Search Path) des Fensters legen<br />
Sie fest, in welchem Verzeichnis<br />
die Software nach passenden Dateien<br />
sucht. Das dritte Eingabefeld<br />
(Search terms) n<strong>im</strong>mt das<br />
Suchkriterium auf. Allerdings verarbeitet<br />
Loook keine regulären<br />
Ausdrücke, sondern nur exakte<br />
Zeichenketten.<br />
Sie haben die Möglichkeit, einen<br />
oder mehrere Suchbegriffe einzugeben<br />
und diese logisch miteinander<br />
zu verknüpfen. Dazu wählen<br />
Sie <strong>im</strong> Schalter Mode den entsprechenden<br />
Eintrag aus. Alle<br />
Treffer erscheinen in der unteren<br />
Box, ein Klick auf den Dateinamen<br />
öffnet die Datei. Welches<br />
Programm Sie dazu verwenden,<br />
best<strong>im</strong>men Sie über das oberste<br />
Eingabefeld (Viewer).<br />
ID3-Tags<br />
Wer über ein Archiv von Audio-<br />
Daten verfügt, kennt das Problem,<br />
flink den richtigen<br />
Sound-Schnipsel wiederzufinden.<br />
Eine<br />
Struktur der Dateien<br />
nach Genre oder<br />
Künstler und das entsprechende<br />
Einsortieren<br />
in passend benannte<br />
Verzeichnisse sorgt<br />
für eine erste Orientierung. Viele<br />
Programme sortieren anhand der<br />
Tags, die Sie in den Musikdateien<br />
hinterlegt haben. Bei MP3 sind<br />
das unter anderem Titel, Interpret,<br />
Album, Jahr, Genre, Kommentar,<br />
Nummer des Titels,<br />
Komponist, Originalinterpret,<br />
Copyright und URL.<br />
Für die Recherche auf der Kommandozeile<br />
steht Taggrepper [8]<br />
bereit. Es unterstützt bislang die<br />
Formate MP3, Ogg Vorbis und<br />
FLAC. Taggrepper akzeptiert ein<br />
oder mehrere Suchwörter, die Sie<br />
über eine Option dem entsprechenden<br />
Tag in der Datei zuordnen.<br />
Die Optionen gibt es jeweils<br />
in einer Kurz- und einer Langvariante:<br />
So dient ‐a als Äquivalent<br />
für ‐‐artist und führt zu einem<br />
Vergleich mit dem Interpreten.<br />
Eine Ausnahme bildet ‐‐any‐tag,<br />
A Ein Rechenblatt<br />
mit einer umfangreichen<br />
Produktliste in<br />
der Tabellenkalkulation<br />
Gnumeric.<br />
Tipp<br />
Ssgrep kennt keine<br />
Option ‐‐color. Möchten<br />
Sie etwas Farbe<br />
ins Ergebnis bringen,<br />
filtern Sie die Ausgabe<br />
durch ein nachfolgendes<br />
grep ‐‐color.<br />
B Loook hilft bei der<br />
Suche in Open- und<br />
LibreOffice-Dateien.<br />
C Ex Falso kitzelt aus<br />
einer MP3-Datei neben<br />
den Tags noch weitere<br />
Informationen heraus.<br />
www.linux-user.de<br />
06 | 12 83
know-how<br />
Grep-Varianten<br />
D XMLStarlet gibt<br />
zeilenweise den Inhalt<br />
eines Knotens aus.<br />
Glossar<br />
XSLT: Abkürzung für Extensible<br />
Stylesheet Language<br />
Transformation.<br />
Bezeichnet das Anwenden<br />
von Funktionen auf<br />
die Knoten des XML-<br />
Strukturbaums.<br />
Listing 3<br />
welches das Suchwort mit jedem<br />
Tag in der Datei vergleicht.<br />
Alle Suchwörter behandelt Taggrepper<br />
als Perl-kompatible reguläre<br />
Ausdrücke (PCRE, [9]) und<br />
gestattet somit max<strong>im</strong>ale Flexibilität<br />
in der Anfrage. Die Ausgabe<br />
des Programms beinhaltet normalerweise<br />
nur die Namen der<br />
Musikdateien, bei denen es einen<br />
Treffer gab. Worauf der jeweilige<br />
Treffer beruht, erfahren Sie, indem<br />
Sie den Aufruf um weitere<br />
Parameter ergänzen, beispielsweise<br />
um ‐‐display‐artist für den<br />
Interpreten (Listing 3). Diese<br />
Option lässt sich für alle oben<br />
genannten Tags nutzen.<br />
Für die rekursive Suche über<br />
mehrere Verzeichnisebenen hinweg<br />
bietet Taggrepper die Option<br />
‐r an (Listing 4). Kombinieren Sie<br />
$ taggrepper ‐‐display‐artist ‐a NDR *20*.mp3<br />
stenkelfeld200.mp3<br />
Artist: NDR 2 ‐ Neues aus Stenkelfeld<br />
tenkelfeld204.mp3<br />
Artist: NDR 2 ‐ Neues aus Stenkelfeld<br />
Listing 4<br />
$ taggrepper ‐r ‐‐any‐tag "Redaktion" ‐‐display‐artist<br />
‐‐display‐title .<br />
./hr2/derTag_20101125.mp3<br />
Title: Der Papst <strong>im</strong> Beichtstuhl ‐ Aus dem Inneren des<br />
Vatikans<br />
Artist: Redaktion Der Tag<br />
./hr2/derTag_20101209.mp3<br />
Title: Das Empire schlägt zurück ‐ Assange und die<br />
verratene Freiheit<br />
Artist: Redaktion Der Tag<br />
./hr2/derTag_20110902.mp3<br />
Title: Wo der Bodden blubbert... Unbekanntes<br />
Mecklenburg‐Vorpommern<br />
Artist: Redaktion Der Tag<br />
die verschiedenen Optionen miteinander,<br />
finden Sie schnell die<br />
gewünschte Musikdatei – vorausgesetzt<br />
natürlich, dass die entsprechenden<br />
Tags in den Audio-<br />
Daten richtig eingetragen sind.<br />
Genügt der Funktionsumfang<br />
von Taggrepper Ihren Ansprüchen<br />
nicht, stehen etliche grafische<br />
Alternativen bereit, beispielsweise<br />
Easytag [10] und<br />
Ex Falso [11]. Diese bieten nicht<br />
nur die Möglichkeit, die Inhalte<br />
der Tags zu verändern, sondern<br />
ermitteln bei Bedarf auch die Details<br />
zu Bitrate, Länge des Audio-<br />
Stücks und dessen MPEG-Stufe<br />
(Abbildung C, vorherige Seite).<br />
XML-Daten<br />
Bei XML-Dateien handelt es sich<br />
um Textdateien mit einer definierten<br />
Struktur, am einfachsten<br />
zu vergleichen mit HTML. Der<br />
Unterschied besteht darin, dass<br />
Sie bei der Vergabe der Tags mehr<br />
Möglichkeiten haben. Im hierarchischen<br />
XML-Baum bezeichnet<br />
jedes Element einen Knoten.<br />
Wenden Sie Grep auf eine XML-<br />
Datei an, findet es alle Zeilen <strong>im</strong><br />
Dokument, die das Suchwort enthalten.<br />
Die Suche mittels Grep ist<br />
kontextunabhängig, sofern Sie<br />
diese nicht mithilfe eines regulären<br />
Ausdrucks an eine best<strong>im</strong>mte<br />
Zeichenfolge binden.<br />
Um aber eine Anfrage der Form<br />
„Finde alle Unterknoten von Knoten<br />
mit dem Namen Name und<br />
Listing 5<br />
<br />
<br />
<br />
XML<br />
Elizabeth Castro<br />
3‐8272‐5994‐0<br />
<br />
<br />
Reif für die Insel.<br />
England für Anfänger und<br />
Fortgeschrittene<br />
Bill Bryson<br />
9‐783442‐46596‐5<br />
<br />
<br />
gib deren Inhalt aus“ zu beantworten,<br />
bedarf es anderer Werkzeuge.<br />
Das Formulieren einer solchen<br />
auf Knoten oder die Hierarchie<br />
bezogenen, vom Kontext abhängigen<br />
Suche gelingt nur in<br />
Kombination mit Sed und Awk<br />
oder in Form einer Folge von<br />
XSLT-Anweisungen.<br />
Das World Wide Web Consortium<br />
W3C [12] hat die Positionsangabe<br />
eines Knotens <strong>im</strong> XML-<br />
Strukturbaum seit Längerem unter<br />
dem Begriff XPath standardisiert.<br />
Die Pfadangabe ähnelt der<br />
von Linux-Verzeichnissen, die<br />
Hierarchie-Ebenen trennt jeweils<br />
ein Schrägstrich.<br />
Im Laufe der Zeit gab es mehrfach<br />
den Versuch, unter dem<br />
Namen Xmlgrep ein Grep-Analogon<br />
für die Suche in XML-Daten<br />
zu etablieren. Es existieren verschiedene<br />
<strong>Pakete</strong>, die ein solches<br />
oder ähnliches Kommando beinhalten.<br />
Dazu zählen etwa das<br />
Perl-Modul XML::Twig [13], das<br />
Paket XMLStar [14], die XMLcoreutils<br />
[15] und XMLclitools<br />
[16]. Xgrep [17] steht für Ubuntu<br />
paketiert bereit, XML_grep2 [18]<br />
gibt es dagegen nur <strong>im</strong> Quellcode.<br />
Perl-Modul XML::Twig<br />
Das Perl-Modul XML::Twig bietet<br />
unter anderem die Werkzeuge<br />
XML_grep und XML_spellcheck<br />
(bei Debian und Ubuntu <strong>im</strong> Paket<br />
xml-twig-tools) an. XML_grep verwendet<br />
zur Suche von Mustern in<br />
XML-Dateien eine Untermenge<br />
von XPath. Als Aufrufparameter<br />
akzeptiert XML_grep verschiedene<br />
Optionen, eine XPath-Angabe<br />
und die XML-Datei.<br />
Listing 5 zeigt ein Beispiel für<br />
ein kurzes XML-Format zum<br />
Speichern von Buchtiteln. Die<br />
Option ‐‐text_only bei der Abfrage<br />
in Listing 6 sorgt dafür, dass<br />
das Tool nur den Inhalt der Kno-<br />
Listing 6<br />
$ xml_grep ‐‐text_only<br />
"//sort<strong>im</strong>ent/buch/isbn" buch.xml<br />
3‐8272‐5994‐0<br />
9‐783442‐46596‐5<br />
84 06 | 12<br />
www.linux-user.de
Grep-Varianten<br />
know-how<br />
ten ausgibt. Die<br />
XPath-Angabe benennt<br />
einen Knoten<br />
in der dritten<br />
Ebene der Hierarchie,<br />
der mit <br />
bezeichnet ist.<br />
Das Paket<br />
XMLStar bezeichnet<br />
sich als XML-<br />
Werkzeugsatz für<br />
die Kommandozeile<br />
und ermöglicht<br />
das Transformieren, Abfragen,<br />
Validieren und Modifizieren von<br />
XML-Dateien in der Shell. Es<br />
steht als Debian/Ubuntu-Paket<br />
bereit (xmlstarlet), welches das<br />
gleichnamige Tool mitbringt.<br />
Die Tests für diesen Artikel erfolgten<br />
auf der Basis der von den<br />
Entwicklern zuletzt freigegebenen<br />
Version 1.3.1 aus dem<br />
Januar 2012, da dieses Release<br />
stark fehlerbereinigt ist und stabiler<br />
läuft als die bislang in Debian<br />
6.0 „Squeeze“ oder Ubuntu<br />
11.10 „Oneiric“ verfügbaren<br />
<strong>Pakete</strong>. Die Aufrufe in den Beispielen<br />
erfolgten mit der lokal aus dem<br />
Quellcode übersetzten Version.<br />
Der Aufruf zur Suche nach Unterknoten<br />
ähnelt dem von XML_<br />
grep, es kommen nur noch einige<br />
Parameter dazu (Abbildung D).<br />
Der Parameter sel steht für „select“<br />
und bewirkt das Auswählen<br />
der Knoten, ‐t steht für den Einsatz<br />
eines (zur Laufzeit erzeugten)<br />
XSLT-Templates und ‐v als<br />
Kurzform für ‐‐value‐of, auf den<br />
der XPath-Ausdruck für den gewünschten<br />
Knoten folgt. Am<br />
Schluss des Aufrufs steht die zu<br />
verarbeitende XML-Datei. Die<br />
Axel Beckert (http:// noone. org/ abe/)<br />
hat Informatik an der Universität des<br />
Saarlandes in Saarbrücken studiert.<br />
Er arbeitet zurzeit als Systemadministrator<br />
an der ETH Zürich am Departement<br />
für Physik. Nebenher engagiert<br />
er sich ehrenamtlich be<strong>im</strong> Debian-<br />
Projekt, in der Linux User Group Switzerland<br />
(LUGS), be<strong>im</strong> Hackerfunk sowie<br />
in verschiedenen weiteren Open-<br />
Source-Projekten.<br />
Abbildung D zeigt den Inhalt der<br />
verwendeten XML-Datei und das<br />
Suchergebnis – die Inhalte der<br />
beiden Knoten mit den<br />
ISBN-Nummern.<br />
Falls Sie sich für das zur Laufzeit<br />
erzeugte XSLT-Template interessieren,<br />
machen Sie es mit dem<br />
Parameter ‐C sichtbar. Dabei zeigt<br />
die Applikation nur das Template<br />
an, sucht jedoch nicht (Abbildung<br />
E). Das hilft einerseits, zu<br />
verstehen, wie das Programm<br />
funktioniert und wie das Suchergebnis<br />
zustande kommt. Andererseits<br />
erleichtert es die Suche nach<br />
möglichen Fehler. Nebenbei erhöht<br />
es das Verständnis für das<br />
Verarbeiten von XML-Formaten<br />
mit XSLT und XPath, was sich sicherlich<br />
auch an anderer Stelle als<br />
nützlich erweist.<br />
In die gleiche Kategorie sortiert<br />
sich Sgrep [19] ein. Es sucht nach<br />
komplexen, ineinander verschachtelten<br />
Strukturen und<br />
Mustern, benutzt dabei aber eine<br />
eigene Abfragesprache, die deutlich<br />
vom Format der regulären<br />
Ausdrücke abweicht. Listing 7<br />
zeigt eine Suche nach allen Knoten<br />
<strong>im</strong> Dokument.<br />
über die Autoren<br />
Frank Hofmann (http:// www. efho. de)<br />
hat Informatik an der TU Chemnitz<br />
studiert. Derzeit arbeitet er in Berlin<br />
<strong>im</strong> Büro 2.0, einem Open-Source-<br />
Expertennetzwerk, als Dienstleister<br />
mit Spezialisierung auf Druck und<br />
Satz. Er ist Mitgründer des Schulungsunternehmens<br />
Wizards of FOSS. Seit<br />
2008 koordiniert er das Regionaltreffen<br />
der Linux User Groups aus der<br />
Region Berlin-Brandenburg.<br />
Das Wissen über den richtigen<br />
Einsatz des Werkzeugs Grep gehört<br />
zu den Grundlagen bei der<br />
Suche nach Stellen in Textdateien.<br />
Im Fall von best<strong>im</strong>mten Anwendungsformaten<br />
fällt die Suche<br />
aber eher umständlich aus.<br />
Die vorgestellten Werkzeuge decken<br />
diese Spezialfälle für ausgewählte<br />
Formate ab und helfen Ihnen<br />
damit, bei der Suche Zeit zu<br />
sparen und außerdem Fehler zu<br />
vermeiden. (agr) n<br />
$ sgrep '"" .. ""' buch.xml<br />
3‐8272‐5994‐09‐783442‐46596‐5<br />
info<br />
[1] Axel Beckert: Blog-Eintrag „grep everything“,<br />
http:// noone. org/ blog/ English/ Computer/ Shell/ grep%20everything. futile<br />
[2] Suche in PS- und PDF-Dokumenten: Frank Hofmann „Gesucht, gefunden“,<br />
LU 02/2012, S. 82, http:// www. linux‐community. de/ 25255<br />
[3] Suche in Archiven: Axel Beckert, Frank Hofmann, „Nadel <strong>im</strong> Datenhaufen“,<br />
LU 04/2012, http:// www. linux‐community. de/ 25403<br />
[4] Im- und Exportformate in Gnumeric:<br />
http:// projects. gnome. org/ gnumeric/ features. shtml<br />
[5] Reguläre Ausdrücke: Frank Hofmann, „Schnipseljagd“, LU 09/2011, S. 84,<br />
http:// www. linux‐community. de/ 24091<br />
[6] Desktopsuche für ODF-Dokumente:<br />
http:// lists. debian. org/ debian‐user‐german/ 2012/ 02/ msg00316. html<br />
[7] Loook: http:// www. danielnaber. de/ loook/<br />
[8] Taggrepper: http:// gitorious. org/ taggrepper/ pages/ Home<br />
[9] Perl Compatible Regular Expressions: http:// www. pcre. org<br />
[10] Easytag: http:// easytag. sourceforge. net<br />
[11] Ex Falso: http:// code. google. com/ p/ quodlibet/<br />
[12] World Wide Web Consortium (W3C), http:// www. w3. org/<br />
[13] XML::Twig: http:// search. cpan. org/ ~mirod/ XML‐Twig/<br />
[14] XMLStar: http:// xmlstar. sourceforge. net<br />
[15] XML-coreutils: http:// xml‐coreutils. sourceforge. net<br />
[16] XMLclitools: http:// robur. slu. se/ jensl/ xmlclitools/<br />
[17] Xgrep: http:// packages. ubuntu. com/ natty/ utils/ xgrep<br />
[18] XML_grep2: http:// www. mirod. org/ module/ xml_grep2/ xml_grep2. html<br />
[19] Sgrep: http:// www. cs. helsinki. fi/ u/ jjaakkol/ sgrep. html<br />
E Ausgabe des<br />
on-the-fly erzeugten<br />
XSLT-Templates.<br />
danksagung<br />
Die Autoren bedanken<br />
sich bei Thomas<br />
Osterried, Julius<br />
Plenz und Michael<br />
Stehmann für deren<br />
kritische Anmerkun -<br />
gen, Kommentare<br />
und Ergänzungen <strong>im</strong><br />
Vorfeld des Artikels.<br />
Listing 7<br />
www.linux-user.de<br />
06 | 12 85
service<br />
IT-Prof<strong>im</strong>arkt<br />
PROFI<br />
MARKT<br />
Sie fragen sich, wo Sie maßgeschneiderte<br />
Linux-Systeme sowie kompetente Ansprechpartner<br />
zu Open-Source-Themen<br />
finden? Der IT-Prof<strong>im</strong>arkt weist Ihnen<br />
hier als zuverlässiges Nachschlagewerk<br />
den Weg. Die <strong>im</strong> Folgenden gelisteten<br />
Unternehmen beschäftigen Experten auf<br />
ihrem Gebiet und bieten hochwertige<br />
Produkte und Leistungen.<br />
Die exakten Angebote jeder Firma entnehmen<br />
Sie deren Homepage. Der ersten Orientierung<br />
dienen die Kategorien Hardware,<br />
Software, Seminaranbieter, Systemhaus,<br />
Netzwerk/TK sowie Schulung/Beratung.<br />
Der IT-Prof<strong>im</strong>arkt-Eintrag ist ein<br />
Service von Linux-Magazin und <strong>LinuxUser</strong>.<br />
Online-Suche<br />
Besonders komfortabel finden Sie einen<br />
Linux-Anbieter in Ihrer Nähe online über<br />
die neue Umkreis-Suche unter:<br />
[http://www.it-prof<strong>im</strong>arkt.de]<br />
Weitere Informationen:<br />
Linux New Media AG<br />
Anzeigenabteilung<br />
Putzbrunner Str. 71<br />
D-81739 München<br />
Tel: +49 (0) 89 / 99 34 11-23<br />
Fax: +49 (0) 89 / 99 34 11-99<br />
E-Mail: anzeigen@linux-user.de<br />
it-Prof<strong>im</strong>arkt (Liste sortiert nach Postleitzahl)<br />
Firma Anschrift Telefon Web 1 2 3 4 5 6<br />
Schlittermann internet & unix support 01099 Dresden, Tannenstr. 2 0351-802998-1 www.schlittermann.de 3 3 3 3<br />
<strong>im</strong>unixx GmbH UNIX consultants 01468 Moritzburg, Heinrich-Heine-Str. 4 0351-83975-0 www.<strong>im</strong>unixx.de 3 3 3 3 3<br />
Heinlein Professional Linux Support GmbH 10119 Berlin, Schwedter Straße 8/9b 030-405051-0 www.heinlein-support.de 3 3 3 3 3<br />
TUXMAN Computer 10369 Berlin, Anton-Saefkow-Platz 8 030-97609773 www.tuxman.de 3 3 3 3 3<br />
Hostserver GmbH 10405 Berlin, Winsstraße 70 030-47375550 www.hostserver.de 3<br />
Compaso GmbH 10439 Berlin, Driesener Strasse 23 030-3269330 www.compaso.de 3 3 3 3 3<br />
Linux Information Systems AG Berlin 12161 Berlin, Bundesallee 93 030-818686-03 www.linux-ag.com 3 3 3 3 3<br />
elego Software Solutions GmbH 13355 Berlin, Gustav-Meyer-Allee 25 030-2345869-6 www.elegosoft.com 3 3 3 3<br />
verion GmbH 16244 Altenhof, Unter den Buchen 22 e 033363-4610-0 www.verion.de 3 3 3<br />
Logic Way GmbH 19061 Schwerin, Hagenower Str. 73 0385-39934-48 www.logicway.de 3 3 3 3<br />
Sybuca GmbH 20459 Hamburg, Herrengraben 26 040-27863190 www.sybuca.de 3 3 3 3 3<br />
iTechnology GmbH 20537 Hamburg, Normannenweg 28 0)40 20 22 62 10 www.itechnology.de 3 3 3 3<br />
JEL Ingenieurbuero 23911 Einhaus, Hauptstr. 7 04541-8911-71 www.jelt<strong>im</strong>er.de 3<br />
Dr. Plöger & Kollegen secom consulting GmbH & Co. KG 24105 Kiel, Waitzstr. 3 0431-66849700 www.secom-consulting.de 3 3 3 3 3<br />
beitco - Behrens IT-Consulting 26197 Ahlhorn, Lessingstr. 27 04435-9537330-0 www.beitco.de 3 3 3 3 3<br />
talicom GmbH 30169 Hannover, Calenberger Esplanade 3 0511-123599-0 www.talicom.de 3 3 3 3 3<br />
teuto.net Netzdienste GmbH 33602 Bielefeld, Niedenstr. 26 0521-96686-0 www.teuto.net 3 3 3 3 3<br />
MarcanT GmbH 33602 Bielefeld, Ravensberger Str. 10 G 0521-95945-0 www.marcant.net 3 3 3 3 3 3<br />
Hostserver GmbH 35037 Marburg, Biegenstr. 20 06421-175175-0 www.hostserver.de 3<br />
LINET Services GmbH 38122 Braunschweig, Am alten Bahnhof 4b 0531-180508-0 www.linet-services.de 3 3 3 3 3 3<br />
OpenIT GmbH 40599 Düsseldorf, In der Steele 33a-41 0211-239577-0 www.OpenIT.de 3 3 3 3 3<br />
Linux-Systeme GmbH 45277 Essen, Langenbergerstr. 179 0201-298830 www.linux-systeme.de 3 3 3 3 3<br />
Linuxhotel GmbH 45279 Essen, Antonienallee 1 0201-8536-600 www.linuxhotel.de 3<br />
OpenSource Training Ralf Spenneberg 48565 Steinfurt, Am Bahnhof 3-5 02552-638755 www.opensource-training.de 3<br />
Intevation GmbH 49074 Osnabrück, Neuer Graben 17 0541-33508-30 osnabrueck.intevation.de 3 3 3 3<br />
Sigs Datacom GmbH 53842 Troisdorf, Lindlaustraße 2c 02241-2341-201 sigs-datacom.de 3<br />
uib gmbh 55118 Mainz, Bonifaziusplatz 1b 06131-27561-0 www.uib.de 3 3 3 3<br />
LISA GmbH 55411 Bingen, Elisenhöhe 47 06721-49960 www.lisa-gmbh.de 3 3 3 3 3<br />
saveIP GmbH 64283 Darmstadt, Schleiermacherstr. 23 06151-666266 www.saveip.de 3 3 3 3 3<br />
LAMARC EDV-Schulungen u. Beratung GmbH 65193 Wiesbaden, Sonnenberger Straße 14 0611-260023 www.lamarc.com 3 3 3 3<br />
1 = Hardware 2 = Netzwerk/TK 3 = Systemhaus 4 = Seminaranbieter 5 = Software 6 = Schulung/Beratung (S<br />
88 06 | 12<br />
www.linux-user.de
IT-Prof<strong>im</strong>arkt<br />
service<br />
it-Prof<strong>im</strong>arkt (Fortsetzung von S. 88)<br />
Firma Anschrift Telefon Web 1 2 3 4 5 6<br />
ORDIX AG 65205 Wiesbaden, Kreuzberger Ring 13 0611-77840-00 www.ordix.de 3 3 3 3 3<br />
LinuxHaus Stuttgart 70565 Stuttgart, Hessenwiesenstrasse 10 0711-2851905 www.linuxhaus.de 3 3 3 3 3<br />
Manfred Heubach EDV und Kommunikation 73728 Esslingen, Hindenburgstr. 47 0711-4904930 www.heubach-edv.de 3 3 3 3<br />
Waldmann EDV Systeme + Service 74321 Bietighe<strong>im</strong>-Bissingen, Pleidelshe<strong>im</strong>er Str. 25 07142-21516 www.waldmann-edv.de 3 3 3 3 3<br />
in-put Das Linux-Systemhaus 76133 Karlsruhe, Moltkestr. 49 0721-6803288-0 www.in-put.de 3 3 3 3 3 3<br />
Bodenseo 78224 Singen, Pomeziastr. 9 07731-1476120 www.bodenseo.de 3 3 3<br />
Linux Information Systems AG 81739 München, Putzbrunnerstr. 71 089-993412-0 www.linux-ag.com 3 3 3 3 3<br />
LinuxLand International GmbH 81739 München, Putzbrunnerstr. 71 089-99341441 www.linuxland.de 3 3 3 3 3 3<br />
Synergy Systems GmbH 81829 München, Konrad-Zuse-Platz 8 089-89080500 www.synergysystems.de 3 3 3 3 3<br />
B1 Systems GmbH 85088 Vohburg, Osterfeldstrasse 7 08457-931096 www.b1-systems.de 3 3 3 3 3<br />
ATIX AG 85716 Unterschleißhe<strong>im</strong>, Einsteinstr. 10 089-4523538-0 www.atix.de 3 3 3 3 3 3<br />
OSTC Open Source Training and Consulting GmbH 90425 Nürnberg, Waldemar-Klink-Str. 10 0911-3474544 www.ostc.de 3 3 3 3 3 3<br />
Dipl.-Ing. Christoph Stockmayer GmbH 90571 Schwaig, Dreihöhenstr. 1 0911-505241 www.stockmayer.de 3 3 3<br />
pascom - Netzwerktechnik GmbH & Co.KG 94469 Deggendorf, Berger Str. 42 0991-270060 www.pascom.net 3 3 3 3 3<br />
fidu.de IT KG 95448 Bayreuth, Ritter-v.-Eitzenb.-Str. 19 09208-657638 www.linux-onlineshop.de 3 3 3 3<br />
Computersysteme Gmeiner 95643 Tirschenreuth, Fischerhüttenweg 4 09631-7000-0 www.gmeiner.de 3 3 3 3 3<br />
RealStuff Informatik AG CH-3007 Bern, Chutzenstrasse 24 0041-31-3824444 www.realstuff.ch 3 3 3<br />
CATATEC CH-3013 Bern, Dammweg 43 0041-31-3302630 www.catatec.ch 3 3 3<br />
Syscon Systemberatungs AG CH-8003 Zürich, Zweierstrasse 129 0041-44-4542010 www.syscon.ch 3 3 3 3 3<br />
Würth Phoenix GmbH IT-39100 Bozen, Kravoglstraße 4 +39 0471 56 41 11 www.wuerth-phoenix.com 3 3 3 3<br />
1 = Hardware 2 = Netzwerk/TK 3 = Systemhaus 4 = Seminaranbieter 5 = Software 6 = Schulung/Beratung <br />
Die Linux New Media AG ist das weltweit größte Medienunternehmen rund um Linux und Open Source. Der Verlag produziert eine umfangreiche Reihe an<br />
Monats- und Sonderpublikationen zum Thema Linux, Open Source, Android, und anderen IT-Themen. Zielgruppenorientierte Onlineangebote kennzeichnen<br />
einen wichtigen Teil der Zukunftsstrategie des Unternehmens. Die Linux New Media AG agiert international, ihre Print- und Online-Publikationen erscheinen<br />
in fünf Sprachen weltweit.<br />
Wir suchen zum 1. Juni 2012 eine/n<br />
Redakteur (m/w) in Vollzeit<br />
für Themen rund um Windows.<br />
Die Microsoft-Betriebssysteme sind für Sie ein offenes Buch. Windows 8 läuft bereits seit Monaten auf<br />
Ihren Rechnern. Die Welt von Windows Phone 8 und Windows RT ist ganz Ihre und Sie brennen darauf,<br />
Smartphones, Tablets und Anwendungen in die Hände zu bekommen.<br />
Sie schreiben pointiert, sind selbstständiges Arbeiten gewohnt, können Artikel redigieren und Autoren<br />
briefen.<br />
Hat die Stellenanzeige Ihr Interesse geweckt, freuen wir uns über eine Bewerbung an:<br />
Linux New Media AG<br />
Frau Liane Ganguin<br />
Putzbrunner Str. 71<br />
81739 München<br />
Tel.: 089 / 99 34 11 -00<br />
E-Mail: bewerbung@linuxnewmedia.de
service<br />
Usergroups<br />
linux.usergroups<br />
Im Folgenden die Liste der uns bekannten Linux-Usergroups <strong>im</strong> deutschsprachigen Raum in Kurzfassung. Änderungen und Updates bitte der Redaktion (usergroups@linuxnewmedia.de) mitteilen (Name, Beschreibung,<br />
Treffpunkt, Adresse, Ansprechpartner, Homepage, E-Mail, Telefon, Fax, Mitgliederzahl ...).<br />
Aachen<br />
Aachen<br />
Ahaus<br />
Ahlen/Westfalen<br />
Ahrtal<br />
Aichach<br />
Allershausen<br />
Altdorf /<br />
Nürnberg<br />
Amberg<br />
Ansbach<br />
Aschaffenburg<br />
Augsburg<br />
Backnang<br />
Bad Brückenau<br />
Bad Driburg<br />
Bad Hersfeld<br />
Bad Wildungen<br />
Bamberg<br />
Basel (CH)<br />
Bautzen<br />
Bayreuth<br />
Bergisch<br />
Gladbach<br />
Berlin<br />
Berlin<br />
Berlin /<br />
Friedrichshain-<br />
Kreuzberg<br />
Berlin /<br />
Lichtenrade<br />
Berlin /<br />
Marzahn-<br />
Hellersdorf<br />
Bern (CH)<br />
Biel / Bienne /<br />
Seeland (CH)<br />
Aachener Linux-Usergroup<br />
(ALUG)<br />
http://www.alug.de<br />
Computer-Club an der RWTH<br />
Aachen e.V. (CCAC)<br />
http://www.ccac.rwth-aachen.<br />
de<br />
Linux-Usergroup Ahaus (LUGAH)<br />
http://www.lugah.de<br />
LUG Ahlen<br />
http://linuxahlen.li.funpic.de/<br />
Linux-Usergroup Ahrtal (Ahrlug)<br />
http://www.ahrlug.de<br />
Linux-Usergroup Aichach<br />
http://www.lug-aichach.de<br />
Linux-Usergroup Ampertal<br />
(LUGA)<br />
http://www.luga.net<br />
GNU/Linux User Group Altdorf<br />
(GLUGA)<br />
http://www.gluga.de<br />
Open-Source-Stammtisch<br />
Amberg (amTuxTisch)<br />
http://www.amtuxtisch.de/<br />
Linux-Usergroup Ansbach<br />
(LUGAN)<br />
http://www.lug-an.de<br />
Linux-Usergroup Aschaffenburg<br />
(LUGAB)<br />
http://www.lugab.de<br />
Linux-Usergroup Augsburg<br />
(LUGA)<br />
http://www.luga.de<br />
Linux-Usergroup Backnang<br />
http://www.lug-bk.de<br />
Linux-Usergroup Bad Brückenau<br />
BrunoZehe@web.de<br />
Linux-Usergroup Bad Driburg<br />
http://www.bdpeng.de.vu<br />
Linux-Usergroup Hersfeld<br />
http://www.lugh.de<br />
Linux-Usergroup Bad Wildungen<br />
http://linuxheaven.cjb.net<br />
Linux-Usergroup Bamberg<br />
(GLUGBA)<br />
http://www.lug-bamberg.de<br />
Linux-Usergroup Basel (BLUG)<br />
http://www.blug.ch<br />
Linux-Usergroup Bautzen<br />
http://www.lug-bz.de<br />
Linux-Usergroup Bayreuth<br />
http://www.linux-bayreuth.de<br />
Bergische Linux- und Unix-<br />
Enthusiasten u. -Freunde<br />
(BLUEFROGS)<br />
http://www.bluefrogs.de<br />
Linux-Usergroup Berlin (BeLUG)<br />
http://www.belug.de<br />
Ubuntu Berlin<br />
http://www.ubuntu-berlin.de<br />
LinuxWorks!<br />
http://friedrichshain.homelinux.<br />
org<br />
Linux-Usergroup Lichtenrade<br />
(LUGL)<br />
http://www.lugl.net<br />
Open-Source-Fan-Group<br />
Marzahn-Hellersdorf (OSFanG)<br />
http://www.osfang.de<br />
Linux-Usergroup Bern (LUGBE)<br />
http://www.lugbe.ch<br />
Linux-Usergroup Seeland<br />
(LugSeeland)<br />
http://www.lugseeland.ch<br />
Bielefeld<br />
Bitburg-Prüm<br />
Bocholt<br />
Bochum<br />
Bonn<br />
Bonn<br />
Bozen (Südtirol)<br />
Brandenburg<br />
Bremen<br />
Bremerhaven<br />
Bretten<br />
Bruchsal<br />
Buchholz<br />
Nordheide<br />
Burghausen<br />
Böblingen /<br />
Sindelfingen<br />
Celle<br />
Cham<br />
Chemnitz<br />
Coesfeld<br />
Cottbus<br />
Damme<br />
Darmstadt<br />
Datteln<br />
Delitzsch<br />
(Sachsen)<br />
Detmold<br />
Dorfen<br />
Dormagen<br />
Dortmund<br />
Linux Usergroup Ostwestfalen-<br />
Lippe<br />
http://lug-owl.de/Lokales/<br />
Bielefeld/<br />
Linux-Usergruppe Schneifeltux<br />
http://www.schneifeltux.de<br />
Linux-Usergroup Bocholt (BLUG)<br />
http://www.blug.de<br />
Linux-Usergroup Bochum<br />
(BGLUG)<br />
http://www.bglug.de<br />
Bonner Linux-Usergroup<br />
(BOLUG)<br />
http://www.bonn.linux.de/<br />
Linux/Unix Usergroup Sankt<br />
Augustin (LUUSA)<br />
http://www.luusa.org<br />
Linux-Usergroup Bozen (LUGBZ)<br />
http://www.lugbz.org<br />
Brandenburger Linux User<br />
Group e.V. (BraLUG)<br />
http://www.bralug.de<br />
Linux-Stammtisch Bremen<br />
http://lug-bremen.info<br />
Linux-Stammtisch Bremerhaven<br />
http://www.lug-bhv.de/<br />
Brettener Linux-Usergroup<br />
(BRELUG)<br />
http://www.brelug.de<br />
Linux-Usergroup Bruchsal<br />
http://www.lug-bruchsal.de<br />
Linux-Usergroup Buchholz<br />
Nordheide<br />
http://www.lug-buchholznordheide.de<br />
Linux-Usergroup Burghausen<br />
http://www.lug-burghausen.org<br />
Linux-Usergroup Böblingen/<br />
Sindelfingen (LUGBB)<br />
http://www.lugbb.org<br />
LUG Celle<br />
http://www.lug-celle.de<br />
Linux-Usergroup Oberpfalz<br />
(LUGO)<br />
http://lugo.signum-media.de<br />
Linux-Usergroup Chemnitz<br />
(CLUG)<br />
http://www.clug.de<br />
Linux-Usergroup Coesfeld<br />
http://www.lug-coesfeld.de<br />
Cottbuser Linux-Usergroup<br />
(COLUG)<br />
http://www.colug.de/<br />
Users of Linux Damme (ULD)<br />
http://www.damme.de<br />
Linux User Group Darmstadt<br />
(DaLUG)<br />
http://www.dalug.org<br />
Linux-Usergroup Datteln (LUGD)<br />
http://www.lug-datteln.de<br />
Linux-Usergroup Delitzsch<br />
http://www.lug-delitzsch.de<br />
Linux-Usergroup Ostwestfalen-<br />
Lippe (LUGOWL)<br />
http://lug-owl.de/Lokales/<br />
Detmold/<br />
Linux-Usergroup Dorfen (LUGD)<br />
http://www.dolug.de<br />
PinguinPower (PP)<br />
http://www.dorlug.de<br />
Linux-Usergroup Dortmund<br />
(LUGRUDO)<br />
http://www.outerspace.de/<br />
lugrudo/<br />
Dresden<br />
Duisburg<br />
Duisburg<br />
Düsseldorf<br />
Ebstorf<br />
Eggenfelden<br />
Eichsfeld<br />
Eisenach<br />
Elmshorn<br />
Erding<br />
Erkelenz<br />
Erlangen<br />
Essen<br />
Essen<br />
Essen<br />
Essen<br />
Esslingen<br />
Ettlingen / Albtal<br />
Fischbachtal<br />
Flensburg<br />
Frammersbach<br />
Frankfurt<br />
Freiburg<br />
Freiburg<br />
Freising<br />
Friedrichshafen<br />
Fulda<br />
Fürstenfeldbruck<br />
Linux-Usergroup Dresden<br />
http://lug-dd.schlittermann.de/<br />
Duisburger Linux-Usergroup<br />
(DULUG)<br />
http://www.dulug.de<br />
Linux-Usergroup Duisburg<br />
(LUG-DUI)<br />
http://lugdui.ihg.uni-duisburg.<br />
de<br />
Linux-Usergroup Düsseldorf<br />
(DLUG)<br />
http://www.dlug.de<br />
Ebstorfer Linux-Stammtisch<br />
(ELST)<br />
support@konqi-werkstatt.de<br />
Eggenfeldener Linux-Usergroup<br />
(EgLUG)<br />
http://www.lug-eggenfelden.org<br />
Eichsfelder Linux User Group<br />
(EICLUG)<br />
http://linux.eichsfeld.net<br />
Linux-Usergroup Eisenach<br />
http://lug-eisenach.de/<br />
Computerclub Elmshorn e.V.<br />
http://www.cceev.de/<br />
Linux-Usergroup Erding<br />
http://www.lug-erding.de<br />
Linux-Usergroup Erkelenz<br />
http://www.lug-erkelenz.de<br />
Erlanger Linux-Usergroup<br />
(ERLUG)<br />
http://www.erlug.de<br />
Essener Linux-Freunde (ELiF)<br />
http://www.linuxstammtisch.de<br />
Essener Linux-Stammtisch<br />
(ELiSta)<br />
http://members.tripod.de/elista<br />
Essener Linux-Usergroup<br />
(ELUG)<br />
http://www.elug.de<br />
Perl Mongers <strong>im</strong> Ruhrgebiet<br />
(Ruhr.pm)<br />
http://ruhr.pm.org/<br />
Linux-Usergroup Esslingen<br />
http://rhlx01.rz.fht-esslingen.<br />
de/lug/<br />
LUG Albtal<br />
http://www.lug-albtal.de<br />
Linux Usergroup Fischbachtal<br />
(FIBALUG)<br />
http://fibalug.de<br />
Linux-Usergroup Flensburg<br />
(LUGFL)<br />
http://www.lugfl.de<br />
Frammersbacher LUG<br />
kke@gmx.net<br />
Linux-Usergroup Frankfurt<br />
http://www.lugfrankfurt.de<br />
Freiburger Linux-Usergroup<br />
(FLUG)<br />
http://www.freiburg.linux.de<br />
LUG der Studentensiedlung<br />
Freiburg (StuSieLUG)<br />
http://linux.studentensiedlung.<br />
de<br />
Linux-Usergroup Freising<br />
(LUGFS)<br />
http://www.lug-fs.de<br />
Yet another Linux User Group<br />
(YALUG)<br />
http://yalug.de<br />
Linux-Usergroup Fulda<br />
http://lug.rhoen.de<br />
LUG des Bürgernetzes Landkreis<br />
Fürstenfeldbruck (LUG FFB)<br />
http://lug.ffb.org/<br />
Fürth<br />
Gießen<br />
Gießen<br />
Grafing<br />
Greifswald<br />
Groß-Gerau<br />
Groß-Z<strong>im</strong>mern<br />
Gummersbach<br />
Guntersblum<br />
Gunzenhausen<br />
Gütersloh<br />
Göppingen<br />
Göttingen<br />
Göttingen<br />
Haiger<br />
Halberstadt<br />
Halle<br />
Hamburg<br />
Hamburg<br />
Hameln<br />
Hanau<br />
Hannover<br />
Hatten<br />
Hattingen<br />
Hegau<br />
Heidenhe<strong>im</strong><br />
Heilbad<br />
Heiligenstadt<br />
Fürther Linux-Usergroup (FLUG)<br />
http://www.fen-net.de/flug<br />
Linux-Usergroup Gießen (LUGG)<br />
http://lugg.tg.fh-giessen.de<br />
LUG der Liebig-Schule Gießen<br />
(LioLUG)<br />
http://liolug.liebigschulegiessen.de/<br />
Linux-Usergroup Grafing (LUGG)<br />
http://www.lug-grafing.org<br />
Linux-Usergroup Greifswald<br />
http://www.lug-hgw.de/<br />
Linux-Usergroup Groß-Gerau<br />
(LUGGG)<br />
http://www.luggg.de<br />
Linux-Usergroup Groß-Z<strong>im</strong>mern<br />
(GROZILUG)<br />
http://www.grozilug.de<br />
Gummersbacher Linux-<br />
Usergroup (GULUG)<br />
http://www.gulug.de<br />
Guntersblumer Linux-Usergroup<br />
(GLUG)<br />
http://www.ghks.de/glug/<br />
Gunzenhauser Linux-Usergroup<br />
(LUGGUU)<br />
http://www.gunnet.de/linux<br />
Linux-Usergroup Ostwestfalen-<br />
Lippe (LUGOWL)<br />
http://lug-owl.de/Lokales/<br />
Guetersloh/<br />
Linux-Usergroup Filstal<br />
http://lug.fto.de/<br />
Göttinger Linux User Group<br />
(GOELUG)<br />
http://www.goelug.de/<br />
Göttinger Unix/Linux-<br />
Anwendergruppe (GULAG)<br />
http://gulag.de<br />
Linux-Usergroup Lahn-Dill-Kreis<br />
(LDK/LUG)<br />
http://www.ldknet.org/lug/<br />
Linux-Usergroup Halberstadt<br />
http://www.lug-hbs.de<br />
Hallesche Linux-Usergroup<br />
(HALIX)<br />
http://www.halix.info<br />
LUG-Balista Hamburg e.V. (LUG-<br />
Balista )<br />
http://www.lug-balista.de<br />
Unix-Gruppe der Hamburger<br />
MH e.V.<br />
http://www.hmh-ev.de<br />
Linux-Usergroup Weserbergland<br />
(LBW)<br />
http://tux.hm<br />
Hanauer Linux-Usergroup<br />
(HULUG)<br />
http://www.hulug.de/<br />
Linux-Usergroup Hannover<br />
(LUGH)<br />
http://lug-hannover.de<br />
Linux-Usergroup Oldenburg-<br />
Land (LUGOLand)<br />
http://www.lugoland.de<br />
Hattinger Linux-Usergroup<br />
(HatLug)<br />
http://www.hatlug.de<br />
Hegau Linux User Gruppe<br />
(Hegau LUG)<br />
http://www.linuxag.hegau.org<br />
Linux User Group Heidenhe<strong>im</strong><br />
http://www.lug-hdh.de<br />
Linux-Stammtisch LinuxNode<br />
Eichsfeld<br />
http://linuxnode.eichsfeld.net<br />
90<br />
06 | 12
Usergroups/Markt<br />
service<br />
linux.usergroups (Fortsetzung von S. 89)<br />
Heilbronn<br />
Herford<br />
Herrenberg<br />
Hesel<br />
Hildeshe<strong>im</strong><br />
Holzminden<br />
Horrhe<strong>im</strong><br />
Hoyerswerda<br />
Idstein (Taunus)<br />
Ingolstadt<br />
Iserlohn<br />
Itzehoe<br />
Jena<br />
Jever<br />
Kaarst<br />
Kaiserslautern<br />
Kaiserslautern<br />
Karlsruhe<br />
Kassel<br />
Kiel<br />
Kierspe-<br />
Meinerzhagen<br />
Koblenz<br />
Koblenz<br />
Konstanz<br />
Konz<br />
Krefeld<br />
Kreuzlingen (CH)<br />
Linux-Usergroup Heilbronn<br />
(LUUG HN)<br />
http://www.luug-hn.org<br />
GNU/Linux Usergroup Herford<br />
(GLUGHF)<br />
http://lug-owl.de/LugWiki/<br />
GLUGHF<br />
Linux-Stammtisch <strong>im</strong> Gäu<br />
(LiStiG)<br />
http://www.listig.org<br />
CC Ostfriesland - Linux-Gruppe<br />
http://www.cco-online.de/linux<br />
Hildeshe<strong>im</strong>er Linux-Usergroup<br />
(NG) (HiLUG-NG)<br />
http://www.hilug-ng.de<br />
Computerclub Hochsolling e.V.<br />
http://www.cch-holzminden.de/<br />
Linux-Usergroup Vaihingen/<br />
Enz (VLUG)<br />
http://www.vlug.de<br />
Linux-Usergroup Hoyerswerda<br />
(HOYLUG)<br />
http://linux.griebel-web.eu/<br />
Linux-Usergroup Taunus (LUG-<br />
Taunus)<br />
http://www.lug-taunus.org<br />
Linux-Usergroup Ingolstadt e.V.<br />
http://www.lug-in.de<br />
Linux-Usergroup Iserlohn<br />
http://area51.fh-swf.de/<br />
Computer Club Itzehoe e.V.<br />
(CCIZ)<br />
http://www.cc-itzehoe.de<br />
Linux-Usergroup Jena (LUG<br />
Jena)<br />
http://www.lug-jena.de<br />
Friesische Linux-Usergroup<br />
(FriLUG)<br />
http://www.frilug.de<br />
Kaarster Linux-Usergroup<br />
(KAALUG)<br />
http://www.kaalug.de<br />
Linux-Usergroup Kaiserslautern<br />
(LUG-KL)<br />
http://www.lug-kl.de<br />
Universität Kaiserslautern<br />
(UNIX-AG)<br />
http://www.unix-ag.uni-kl.<br />
de/~linux/<br />
Karlsruher Linux-Usergroup<br />
(KaLUG)<br />
http://www.karlsruhe.linux.de<br />
Linux-Usergroup Kassel (LUGK)<br />
http://www.lug-kassel.de<br />
LUG Kiel<br />
http://www.lug-kiel.de<br />
Linux-Usergroup Märkischer<br />
Kreis (LUGMK)<br />
linuxusergroupmk@netscape.<br />
net<br />
Linux User Group Mayen-<br />
Koblenz (LUG-MYK)<br />
http://www.lug-myk.de/<br />
LUG der Universität Koblenz<br />
http://www.colix.org<br />
Linux-Usergroup Bodensee<br />
(LLUGB)<br />
http://llugb.amsee.de/<br />
Linux-Usergroup Konz (TRILUG)<br />
http://www.trilug.fh-trier.de<br />
Linux-Usergroup Krefeld<br />
(LUG-KR)<br />
http://www.lug-kr.de<br />
Linux-Usergroup Kreuzlingen<br />
http://linuxtreff.ch/<br />
Köln<br />
Köln<br />
Landau<br />
Landshut<br />
Langen (Hessen)<br />
/ Dreieich /<br />
Egelsbach<br />
Langenfeld<br />
Lauf an der<br />
Pegnitz<br />
Leipzig<br />
Lenningen<br />
Lindenberg<br />
Lingen / Rheine<br />
Linz (A)<br />
Lippstadt / Soest<br />
/ Erwitte<br />
Lohr<br />
Loitsche<br />
Ludwigsburg<br />
Luxembourg<br />
Lübeck<br />
Lüneburg<br />
Lünen<br />
Lörrach<br />
Lörrach<br />
Magdeburg<br />
Mainz<br />
Marburg<br />
Marktredwitz<br />
Marl<br />
Memmingen<br />
Meppen<br />
Kölner Gentoo Linux User Group<br />
(KGLUG)<br />
http://www.kglug.de<br />
Linux-Workshop Köln (LiWoK)<br />
http://www.uni-koeln.de/<br />
themen/linux/<br />
Linux-Usergroup Landau (LUG-<br />
Landau)<br />
http://www.lug-ld.de<br />
Linux-Usergroup Landshut<br />
http://www.lalug.de<br />
Langener Linux-Usergroup<br />
(LaLUG)<br />
http://www.lalug.net<br />
Langenfelder Linux-Usergroup<br />
(LANLUG)<br />
http://www.lanlug.org<br />
Linux-Usergroup Lauf a. d.<br />
Pegnitz (LUGLAUF)<br />
http://www.lug-lauf.de<br />
Leipziger Linux-Stammtisch<br />
http://www.gaos.org/lug-l/<br />
Linux User Group Lenningen<br />
http://linuxusergrouplenningen.<br />
de.vu<br />
Linux-Usergroup Lindau (LugLi)<br />
http://www.allgaeu.org/lugli<br />
Linux-Usergroup Spelle<br />
http://www.spelle.net/lugs<br />
Linux-Usergroup Linz (LUGL)<br />
http://www.lugl.at<br />
Linux Usergroup Erwitte<br />
http://www.lug-erwitte.de<br />
Linux-Usergroup Lohr (LUG<br />
Lohr)<br />
http://lug.lohr-am-main.de<br />
Linux-Stammtisch Loitsche<br />
(LSL)<br />
http://www.t-online.de/home/<br />
mumumu/<br />
Linux-Usergroup Raum<br />
Ludwigsburg (LuLUG)<br />
http://www.lulug.de<br />
Linux Luxembourg (LiLux)<br />
http://www.linux.lu<br />
Linux-Usergroup Lübeck<br />
http://www.linuxuser-luebeck.<br />
de<br />
Linux-Usergroup Lüneburg<br />
(LueneLUG)<br />
http://luene-lug.org<br />
LUG Lünen<br />
http://www.lug-luenen.de<br />
Linux-Usergroup Lörrach<br />
(LUGLOE)<br />
http://www.lug-loerrach.de<br />
Lörracher Linux Usergroup<br />
(LÖLUG)<br />
http://www.loelug.de<br />
Magdeburger Linux User Group<br />
e. V. (MDLUG)<br />
http://www.mdlug.de<br />
Linux-Usergroup Mainz (UFO)<br />
http://www.ufo.uni-mainz.de<br />
Marburger Linux-Usergroup<br />
(MRLUG)<br />
http://www.mr-lug.de<br />
Linux-Gruppe Marktredwitz<br />
ststroes@tirnet.de<br />
Linux-Usergroup Marl<br />
http://www.lug-marl.de<br />
Linux-Usergroup Allgäu (LUGAL)<br />
http://www.lugal.de<br />
Linux-Usergroup Meppen<br />
http://www.lug-meppen.de<br />
vertrieb@jelt<strong>im</strong>er.de<br />
Wareneingang<br />
Inventuren<br />
<br />
Erfassung mit<br />
Barcodes<br />
100.000 fach<br />
bewährte Qualität<br />
HT-630<br />
Inventuren<br />
Wareneingang<br />
Ausweiserstellung<br />
Zutrittssysteme<br />
Zeiterfassung<br />
Joberfassung<br />
12345678<br />
JEL-MR370<br />
Terminal<br />
als WEBSERVER<br />
Kronach<br />
Linux-Usergroup Kronach<br />
http://www.lug-kronach.de<br />
Metelen<br />
Linux-Stammtisch Metelen<br />
http://www.linuxdu.de<br />
S. 92<br />
06 | 12 91
service<br />
Usergroups<br />
linux.usergroups (Fortsetzung von S. 91)<br />
Mitterteich<br />
Moers<br />
Mosbach<br />
Mühlhe<strong>im</strong> a. d.<br />
Ruhr<br />
München<br />
München<br />
München<br />
München<br />
München Süd-<br />
Ost / Ottobrunn<br />
München Süd-<br />
West<br />
Münster<br />
Mönchengladbach<br />
Mörfelden-<br />
Walldorf<br />
Naumburg<br />
Neubrandenburg<br />
Neuburg an der<br />
Donau<br />
Neuenburg<br />
Nieder-Olm<br />
Niederrhein<br />
Nienburg<br />
Norderstedt<br />
Nordheide<br />
Nußdorf / Aiging<br />
Nürnberg<br />
Oberhausen<br />
Oberkirchen<br />
Oberpfalz<br />
Linux-Usergroup Mitterteich<br />
http://www.linux-mitterteich.de<br />
Linux-Usertreffen in Moers<br />
opers@syrinx1.du.gtn.com<br />
Linux-Usergroup Mosbach<br />
(LUGMOS)<br />
http://linuxwiki.de/LugMosbach<br />
Penguins hour - Workshops und<br />
Selbsthilfegruppe (Penhour)<br />
http://www.az-muelhe<strong>im</strong>.de/<br />
penhour/<br />
BSD Social Event München (BSE)<br />
http://bse.42.org<br />
BSD-Usergroup in München<br />
(BIM)<br />
http://berklix.org/b<strong>im</strong>/<br />
Münchner Gentoo Linux User<br />
Group (MGLUG)<br />
http://www.mglug.de<br />
Münchner Linux-Usergroup<br />
(MUC-LUG)<br />
http://www.muc-lug.de<br />
Linux-Usergroup Ottobrunn<br />
(LUGOTT)<br />
http://www.lug-ottobrunn.de<br />
Linux-Usergroup Würmtal<br />
(WLUG)<br />
http://wlug.acos.net<br />
Linux-Stammtisch Münster<br />
(MueSLI)<br />
http://www.mueslihq.de<br />
Linux-Usergroup<br />
Mönchengladbach (LUGMOE)<br />
http://www.lugmoe.de<br />
Linux Usergroup Mörfelden-<br />
Walldorf (MöWa-LUG)<br />
http://www.moewa-lug.de<br />
Linux User Group Naumburg<br />
(LUGNMB)<br />
http://lugnmb.dyndns.org<br />
Linux-Usergroup<br />
Neubrandenburg e.V. (LUG-NB)<br />
http://www.lug-nb.de<br />
LUG Neuburg an der Donau<br />
(LUG ND)<br />
http://www.lug-nd.de<br />
Linux-Usergroup Neuenburg<br />
http://w3-net.ri-web.de/cont/<br />
lugnbg/index.php<br />
Rheinhessener Linux-<br />
Gemeinschaft<br />
info@kkcs.de<br />
Niederrheinische Linux Unix<br />
User Group (NLUUG)<br />
http://www.nluug.de<br />
Linux-Usergroup Nienburg<br />
(NILUG)<br />
http://ni-linux.de<br />
Linux-Usergroup Norderstedt<br />
(LUGN)<br />
http://www.lug-norderstedt.de<br />
LUUG Nordheide<br />
http://www.luug-nordheide.de<br />
Linux-Usergroup Traunstein<br />
(LUGTra)<br />
http://www.lug-ts.de<br />
Linux-Usergroup Nürnberg<br />
(LUGNü)<br />
http://www.align.de/<br />
Linux-Usergroup Oberhausen<br />
(LUGOR)<br />
http://www.linuxob.de<br />
LUG Renchtal-Tuxe<br />
http://tuxe.renchtal.com<br />
Linux-Usergroup Oberpfalz<br />
http://www.cham.baynet.<br />
de/lugo/<br />
Oberwallis (CH)<br />
Offenburg<br />
Oldenburg<br />
Olpe<br />
Osnabrück<br />
Ostwestfalen-<br />
Lippe<br />
Paderborn<br />
Passau<br />
Peine<br />
Pfaffenhofen<br />
(Ilm)<br />
Pforzhe<strong>im</strong><br />
Pirmasens<br />
Potsdam<br />
Preetz<br />
(Schleswig-<br />
Holstein)<br />
Prerow<br />
Quedlinburg<br />
Quickborn<br />
Rathenow<br />
Ravensberg<br />
Ravensburg<br />
Ravensburg<br />
Regensburg<br />
Regensburg<br />
Reutlingen<br />
Rheda-<br />
Wiedenbrück<br />
Rhein-Neckar<br />
Rosenhe<strong>im</strong><br />
Rostock<br />
Linux-Usergroup Oberwallis<br />
(LUGO)<br />
http://www.lugo.ch<br />
Linux-Usergroup Offenburg<br />
(LUGOG)<br />
http://www.lugog.de<br />
Linux-Usergroup Oldenburg<br />
(LUGO)<br />
http://oldenburg.linux.de<br />
Linux-Usergroup Olpe<br />
http://www.lug-raum-olpe.de.vu<br />
Linux-Usergroup Osnabrück<br />
http://www.lugo.de<br />
Linux-Usergroup Ostwestfalen-<br />
Lippe (LUG-OWL)<br />
http://www.lug-owl.de<br />
Linux-Usergroup Ostwestfalen-<br />
Lippe (LUG-OWL)<br />
http://lug-owl.de/Lokales/<br />
Paderborn/<br />
Linux-/Unix-Usergroup Passau<br />
(LUGP)<br />
http://www.fmi.uni-passau.<br />
de/~lug/<br />
Linux-Usergroup Peine (LUGP)<br />
http://www.lug-peine.org<br />
Hallertux e.V.<br />
http://www.hallertux.de<br />
Linux-Usergroup Pforzhe<strong>im</strong><br />
(LUGP)<br />
http://www.pf-lug.de<br />
Linux-Stammtisch Pirmasens<br />
http://www.ic.pirmasens.de<br />
Potsdamer Linux-Usergroup<br />
(UPLUG)<br />
http://www.uplug.de<br />
Linux Usergroup Preetz<br />
(PreetzLUG)<br />
http://preetzlug.de<br />
Linux-Usergroup Prerow<br />
c.dittmann@magrathea.de<br />
Linux-Usergroup Quedlinburg<br />
(LUGQLB)<br />
http://www.lug-qlb.de<br />
Quickborner Linux-Usergroup<br />
(QLUG)<br />
http://www.qlug.net<br />
Linux-Stammtisch Rathenow<br />
http://linux.php4u.org<br />
Linux-Usergroup Ravensberg<br />
(LUGRAV)<br />
http://www.lugrav.de<br />
Informatik- und Netzwerkverein<br />
Ravensburg e.V (LUGRA)<br />
http://www.infnet.verein.<br />
de/linux/<br />
Linux-Usergroup Ravensburg<br />
(LUG)<br />
http://www.yalug.de<br />
Linux-Usergroup Regensburg<br />
http://www.lugr.de<br />
Regensburger Linux-Usergroup<br />
(R-LUG)<br />
http://www.regensburg.franken.<br />
de/rlug/<br />
Linux-Usergroup Reutlingen<br />
http://www.lug-reutlingen.de<br />
Linux-Usergroup Rheda-<br />
Wiedenbrück (LUG-RHWD)<br />
http://www.lug-rhwd.de<br />
Unix Usergroup Rhein-Neckar<br />
e.V. (UUGRN)<br />
http://www.uugrn.org<br />
Linux-Usergroup Rosenhe<strong>im</strong><br />
http://www.lug-rosenhe<strong>im</strong>.org<br />
Rostocker Linux-Usergroup<br />
http://linux.baltic.net<br />
Rotenburg<br />
Rotenburg a.d.<br />
Fulda<br />
Rothenburg o. d.<br />
Tauber<br />
Römerberg /<br />
Speyer<br />
Saalfeld<br />
Saarland<br />
Salem<br />
Salzburg (A)<br />
Sauerland<br />
Schaumburg<br />
Schwabach<br />
Schweinfurt<br />
Schweiz (CH)<br />
Schwerin<br />
Schwäbisch<br />
Gmünd<br />
Seehe<strong>im</strong>-<br />
Jugenhe<strong>im</strong><br />
Senftenberg<br />
Siegen<br />
Sindelfingen /<br />
Böblingen<br />
Sinshe<strong>im</strong><br />
Speyer<br />
St. Pölten (A)<br />
Stormarn<br />
Stuttgart<br />
Taubertal<br />
Thüringen<br />
Tirol (A)<br />
Traunstein<br />
Trier<br />
Troisdorf /<br />
Siegburg / Spich<br />
Computerverein Rotenburg<br />
(CVR)<br />
http://www.cvr.de/linux<br />
init4 - Die Linux-Enthusiasten<br />
(init4)<br />
http://www.init4.de<br />
Linux-Usergroup Rothenburg<br />
(LUGROT)<br />
http://lugrot.de<br />
LUG Römerberg / Speyer<br />
http://linuxwiki.de/<br />
LugRoemerbergSpeyer<br />
LUG Slf/Ru<br />
http://lug-slf.de<br />
Linux User Group Saar e.V.<br />
(LUG Saar)<br />
http://www.lug-saar.de<br />
Linux-Usergroup Salem<br />
http://www.lug-salem.de<br />
Linux-Usergroup Salzburg<br />
http://www.salzburg.luga.or.at<br />
Linux-Usergroup Sauerland<br />
http://www.lug-sauerland.de<br />
Linux-Usergroup Schaumburg<br />
http://www.lug-schaumburg.de<br />
Linux User Schwabach e.V.<br />
(LUSC)<br />
http://www.lusc.de<br />
Linux-Usergroup Schweinfurt<br />
http://www.lug-sw.de<br />
Linux-Usergroup Switzerland<br />
http://www.lugs.ch<br />
West-Mecklenburger Linux-<br />
Usergroup (WEMELUG)<br />
http://www.wemelug.de<br />
Linux-Stammtisch Schwäbisch<br />
Gmünd (LSSG)<br />
http://www.uliweb.de/lssg<br />
Linux-Usergroup Darmstadt<br />
http://www.mathematik.tudarmstadt.de/dalug/<br />
Linux-Usergroup Senftenberg<br />
(LUGSE)<br />
http://www.lugse.de<br />
UNIX-AG Siegen (Uni-GH Sie)<br />
http://www.si.unix-ag.org<br />
Böblingen-Club Linux-User-<br />
Gruppe (SinLUG)<br />
http://www.mefia.org<br />
Linux-Usergroup Sinshe<strong>im</strong><br />
(SiLUG)<br />
http://www.linuxwiki.de/<br />
LugSinshe<strong>im</strong><br />
Linux-Usergroup Ketsch<br />
http://www.lug-ketsch.de<br />
Linux-Usergroup St. Pölten<br />
(LUGSP)<br />
http://www.lugsp.at<br />
Linux-Usergroup Stormarn<br />
http://www.lug-stormarn.de<br />
Linux-Usergroup Stuttgart<br />
(LUGS)<br />
http://www.lug-s.org/<br />
Taubertäler Linux-Usergroup<br />
(TaLUG)<br />
http://www.talug.de/<br />
Thüringer Linux-Usergroup<br />
(TLUG)<br />
http://www.tlug.de/<br />
Tiroler Linux Usergroup (LUGT)<br />
http://www.lugt.at<br />
Linux-Usergroup Traunstein<br />
(LUGTS)<br />
http://www.lug-ts.de<br />
Linux User Group Trier (LUG<br />
Trier)<br />
http://www.lug-trier.de<br />
Troisdorfer Linux-Usergroup<br />
(TroLUG)<br />
http://www.trolug.de<br />
Tuttlingen<br />
Tübingen<br />
Ulm<br />
Untermain<br />
Viersen<br />
Villingen-<br />
Schwenningen<br />
Voralpen (A)<br />
Vorarlberg (A)<br />
Waiblingen<br />
Waldkraiburg<br />
Walsrode<br />
Wedel<br />
Weinhe<strong>im</strong><br />
Weißenbrunn<br />
Wernigerode<br />
Westerwald<br />
Wien (A)<br />
Wien (A)<br />
Wien (A)<br />
Wiesbaden<br />
Wilhelmshaven<br />
Witten<br />
Wolfsburg<br />
Wolfsburg<br />
Worms<br />
Wuppertal<br />
Würmtal<br />
Würzburg<br />
Würzburg<br />
Zweibrücken<br />
Zwickau<br />
Linux-Usergroup Tuttlingen<br />
http://lug.intuttlingen.de/<br />
Linux-Usergroup Tübingen<br />
(LUGT)<br />
http://tuebingen.linux.de<br />
Linux-Usergroup Ulm (LUGU)<br />
http://lugulm.de<br />
Linux-Usergroup Untermain<br />
(LUGU)<br />
http://www.lug-untermain.de<br />
Linux-Usergroup Viersen (LUGV)<br />
http://www.lug-viersen.de<br />
Linux User Group Villingen-<br />
Schwenningen e.V. (LUG-VS e.V.)<br />
http://www.lug-vs.org<br />
Linux-Usergroup Voralpen<br />
(VALUG)<br />
http://www.valug.at<br />
Linux-Usergroup Vorarlberg<br />
(LUGV)<br />
http://www.lugv.at<br />
Computerclub Waiblingen e.V.<br />
http://www.ccwn.org<br />
Linux-Usergroup Waldkraiburg<br />
http://www.lug-waldkraiburg.<br />
org<br />
Linux-Usergroup Walsrode<br />
http://www.lug-walsrode.de/<br />
Linux-Usergroup Wedel (LUG<br />
Wedel)<br />
http://www.lug-wedel.de<br />
Computer-Club Weinhe<strong>im</strong> e.V.<br />
(CCW)<br />
http://ccw.iscool.net<br />
Linux-Usergroup Kronach<br />
(LUGKR)<br />
http://www.kronachonline.de<br />
Linux-Usergroup Wernigerode<br />
(LUGWR)<br />
http://www.lug-wr.de<br />
Linux-Usergroup Westerwald<br />
http://www.lug-westerwald.de<br />
Linux Usergroup Wien<br />
http://www.viennalinux.at<br />
Linux-Usergroup Austria (LUGA)<br />
http://www.luga.or.at<br />
Linux-Usergroup TU Wien (LLL)<br />
lll@radawana.cg.tuwien.ac.at<br />
Linux-Usergroup Wiesbaden<br />
Penguin Usergroup<br />
http://www.pug.org<br />
Linux-Usergroup Wilhelmshaven<br />
(LUG-WHV)<br />
http://www.lug-whv.de<br />
Wittener Linux-Usergroup<br />
(WitLUG)<br />
http://www.witlug.de<br />
Wolfsburger Linux-Usergroup<br />
(WOBLUG)<br />
http://www.lug.wolfsburg.de<br />
Wolfsburger Unix-Usergroup<br />
(WUUG)<br />
http://www.unix.necoac.de<br />
Wormser Linux User Group<br />
(WoLUG)<br />
http://www.wolug.de<br />
Wuppertaler Linux-Usergroup<br />
(WupLUG)<br />
http://www.wuplug.org<br />
Würmtaler Linux-Usergroup<br />
(WLUG)<br />
http://www.wlug.de<br />
Linux-Usergroup Würzburg<br />
(LUGWUE)<br />
http://www.lugwue.de<br />
Linux-Usergroup Würzburg<br />
(WÜLUG)<br />
http://www.wuelug.de<br />
Linux-Usergroup Zweibrücken<br />
http://www.lug-zw.de<br />
Linux-Usergroup Zwickau<br />
(ZLUG)<br />
http://www.zlug.org<br />
<br />
92 06 | 12<br />
www.linux-user.de
Seminare<br />
service<br />
DiD you<br />
know?<br />
©mipan, fotolia<br />
Linux-Magazin<br />
ACADEMY<br />
20%<br />
Treue-Rabatt für<br />
Abonnenten<br />
Online-Training<br />
IT-Sicherheit<br />
Grundlagen<br />
mit Tobias Eggendorfer<br />
Themen:<br />
- physikalische Sicherheit<br />
- logische Sicherheit<br />
• Betriebssystem<br />
• Netzwerk<br />
- Sicherheitskonzepte<br />
- Sicherheitsprüfung<br />
Inklusive Benutzer- und<br />
Rechteverwaltung, Authentifizierung,<br />
ACLs sowie wichtige<br />
Netzwerkprotokolle und mehr!<br />
Informationen und Anmeldung unter:<br />
academy.linux-magazin.de/sicherheit<br />
UNIX-C-C++ Java<br />
Seminare<br />
in Nürnberg<br />
(oder inhouse)<br />
UNIX/Linux<br />
UNIX/Linux-Aufbau<br />
C, C-Aufbau<br />
C++<br />
OOA/OOD (mit UML)<br />
Java<br />
Perl, XML<br />
weitere Kurse auf Anfrage, Telephonhotline<br />
Dipl.-Ing.<br />
Christoph Stockmayer GmbH<br />
90571 Schwaig/Nbg • Dreihöhenstraße 1<br />
Tel.: 0911/505241 • Fax 0911/5009584<br />
EMail: sto@stockmayer.de<br />
http://www.stockmayer.de<br />
Linux-Magazin<br />
ACADEMY<br />
LM-Academy_1-9h_Security-Mike.indd 1<br />
OpenSource Training Ralf Spenneberg<br />
Schulungen direkt vom Autor<br />
12.04.2011 14:00:35 Uhr<br />
Online-Training<br />
Prüfungsvorbereitung<br />
für LPIC 1 & 2<br />
Besorgen Sie sich Brief und<br />
Siegel für Ihr Linux-<br />
Knowhow mit der<br />
LPI-Zertifizierung.<br />
- Training für die Prüfungen<br />
LPI 101 und 102<br />
- Training für die Prüfungen<br />
LPI 201 und 202<br />
Sparen Sie mit<br />
paketpreiSen!<br />
20%<br />
Treue-Rabatt für<br />
Abonnenten<br />
Virtualisierung mit XEN 4.x<br />
IPv6 mit Linux<br />
Sourcefire 3D System<br />
Linux Firewall Lösungen<br />
DHCP, DNS und DNSSEC<br />
Advanced Monitoring<br />
LPIC3<br />
Virtualisierung mit KVM<br />
Hacking Webapplications<br />
Freie Distributionswahl:<br />
Opensuse, Fedora, Debian Squeeze,<br />
CentOS oder Ubuntu LTS<br />
Ergonomische Arbeitsplätze<br />
Umfangreiche Schulungsunterlagen mit<br />
Übungen<br />
3 Tage 04.06. 06.06.2012<br />
3 Tage 12.06. 14.06.2012<br />
4 Tage 26.06. 29.06.2012<br />
5 Tage 03.09. 07.09.2012<br />
3 Tage 18.09. 20.09.2012<br />
4 Tage 17.09. 20.09.2012<br />
5 Tage 08.10. 12.10.2012<br />
3 Tage 09.10. 11.10.2012<br />
4 Tage 16.10. 19.10.2012<br />
Informationen und Anmeldung unter:<br />
academy.linux-magazin.de/lpic<br />
Am Bahnhof 35<br />
48565 Steinfurt<br />
Tel.: 02552 638755<br />
Fax: 02552 638757<br />
Weitere Informationen unter www.ost.de<br />
WusstEn siE’s?<br />
Linux-Magazin und <strong>LinuxUser</strong><br />
haben ein englisches<br />
Schwester magazin!<br />
Am besten, Sie informieren gleich<br />
Ihre Linux-Freunde in aller Welt...<br />
Treue-Rabatt für<br />
Abonnenten<br />
www.linux-magazine.com<br />
Linux-Magazin<br />
LM-Academy_1-9h_Anzeige_LPIC-Mike_v2.indd 1<br />
ACADEMY<br />
Online-Training<br />
Erfolgreicher Einstieg in<br />
WordPress 3<br />
mit Hans-Georg Esser, Chefredakteur EasyLinux<br />
Ansprechende Webseiten, Blogs und<br />
Shops einfach selber erstellen<br />
❚ Installation in 5 Minuten<br />
❚ Designs ändern<br />
❚ Opt<strong>im</strong>ieren für Suchmaschinen<br />
❚ Funktionen erweitern<br />
❚ Benutzerrechte festlegen<br />
❚ Geld verdienen mit Werbung<br />
❚ Besucher analysieren<br />
❚ Sicherheit und Spam-Schutz<br />
20%<br />
Informationen und Anmeldung unter:<br />
academy.linux-magazin.de/wordpress<br />
22.02.2012 17:12:54 Uhr<br />
Treue-Rabatt für<br />
Abonnenten<br />
Linux-Magazin<br />
ACADEMY<br />
Online-Training<br />
mit Hans-Georg Esser, Chefredakteur EasyLinux<br />
OpenOffice -<br />
Arbeiten mit Vorlagen<br />
Erleichtern Sie sich Ihre<br />
tägliche Arbeit mit (Auszug):<br />
❚ einheitlichen Dokumentenvorlagen<br />
❚ automatischen Formatierungen<br />
❚ generierten Inhaltsverzeichnissen<br />
20%<br />
Treue-Rabatt für<br />
Abonnenten<br />
Mit vielen<br />
Praxisbeispielen<br />
Informationen und Anmeldung unter:<br />
academy.linux-magazin.de/openoffice<br />
LMI_3-9h_german_24-11-2011.indd 1<br />
24.11.2011 1-9h_Anzeige_wordpress_v02.indd 11:25:52 Uhr www.linux-user.de 1<br />
06 | 12 93<br />
LM_Academy_1-9h_Anzeige_openoffice-Mike.indd 1<br />
18.04.2011 11:18:15 Uhr<br />
12.04.2011 15:08:54 Uhr
service<br />
Veranstaltungen / Autoren / Inserenten<br />
veranstaltungen<br />
14.-17.05.2012<br />
AnDevCon III<br />
San Francisco Bay, CA, USA<br />
http://www.andevcon.com/<br />
18.-20.05.2012<br />
Akademy-es<br />
Saragossa, Spanien<br />
http://kde-espana.es/akademy-es2012/anuncio.php<br />
23.-26.05.2012<br />
LinuxTag 2012<br />
Messegelände Berlin, Halle 7<br />
Messedamm 22<br />
14055 Berlin, Deutschland<br />
http://www.linuxtag.org/2012/<br />
24.-26.05.2012<br />
Linuxwochen Linz<br />
Kunstuniversität Linz<br />
Hauptplatz 8<br />
4040 Linz, Österreich<br />
http://www.liwoli.at/<br />
08.-10.06.2012<br />
Southeast LinuxFest<br />
Charlotte, NC, USA<br />
http://www.southeastlinuxfest.org/<br />
12.-13.06.2012<br />
Cloud Computing World Forum London<br />
Earls Court, London<br />
http://www.cdnconference.com/index.php<br />
12.-15.06.2012<br />
USENIX Federated Conferences Week<br />
Boston, MA, USA<br />
https://www.usenix.org/conference/fcw12<br />
17.-21.06.2012<br />
International Supercomputing Conference<br />
Congress Center Hamburg<br />
Am Dammtor / Marseiller Straße<br />
20357 Hamburg, Deutschland<br />
http://www.isc-events.com/isc12/<br />
25.-27.06.2012<br />
Velocity Conference<br />
Santa Clara, CA, USA<br />
http://velocityconf.com/<br />
26.-29.06.2012<br />
Open Source Bridge<br />
Portland, OR, USA<br />
http://opensourcebridge.org/<br />
30.06.-06.07.2012<br />
Akademy 2012<br />
Tallinn, Estland<br />
http://akademy.kde.org<br />
02.-03.07.2012<br />
I Congreso sobre Software Libre para Ciencias, Física e<br />
Química, Tecnoloxia e Matemáticas<br />
Lugo, Spanien<br />
http://www.igaciencia.org/<br />
08.-14.07.2012<br />
DebConf12<br />
Managua, Nicaragua<br />
http://debconf.org<br />
10.-15.07.2012<br />
Wik<strong>im</strong>ania 2012<br />
Washington, DC, USA<br />
http://wik<strong>im</strong>ania2012.wik<strong>im</strong>edia.org<br />
16.-20.07.2012<br />
OSCON<br />
Portland, OR, USA<br />
http://www.oscon.com/oscon2012<br />
26.07.-01.08.2012<br />
Guadec 2012<br />
A Coruña, Spanien<br />
http://www.guadec.org<br />
08.-10.08.2012<br />
USENIX Security ’12<br />
Bellevue, WA, USA<br />
http://www.usenix.org/events/sec12/<br />
29.-31.08.2012<br />
LinuxCon North America<br />
San Diego, CA, USA<br />
https://events.linuxfoundation.org/events/linuxcon<br />
08.-09.09.2012<br />
Barcelona Ruby Conference<br />
Barcelona, Spanien<br />
http://baruco.org/<br />
08.-10.10.2012<br />
OSDI ’12<br />
Hollywood, CA, USA<br />
http://www.usenix.org/events/osdi12/<br />
07.-09.11.2012<br />
Linuxcon Europe<br />
Barcelona, Spanien<br />
https://events.linuxfoundation.org/events/linuxconeurope<br />
09.-14.12.2012<br />
LISA ’12<br />
San Diego, CA, USA<br />
http://www.usenix.org/events/lisa12/<br />
Autoren<br />
Erik Bärwaldt Forensik-Distribution DEFT-Linux 7.1 (6),<br />
Private Bibliothek organisieren mit Alexandria (52)<br />
Axel Beckert Effektive Suche in Anwendungsdaten (82)<br />
Falko Benthin Internet auf der Kommandozeile mit cURL (78)<br />
Mario Blättermann Individuelle Themes für Openbox gestalten (66),<br />
Min<strong>im</strong>alistischer Audio-Player Pogo <strong>im</strong> Test (70)<br />
Andreas Bohle Inhalt (4), <strong>Vorschau</strong> (96)<br />
Thomas Drilling Debian-Repos mischen mittels Apt-Pinning (35),<br />
Source-<strong>Pakete</strong> integrieren mit Checkinstall (38),<br />
Paketverwaltung <strong>im</strong> Ubuntu Software Center (42),<br />
Tools für das Slackware-Paketmanagement (46)<br />
Florian Effenberger LibreOffice-Box sucht Helfer und Tester (18),<br />
Ubuntu individuell anpassen mit MyUnity (56),<br />
Virtualisierung mit Linux-Containern (74)<br />
Frank Hofmann <strong>Pakete</strong> identifizieren mit Debtags (22),<br />
Debian-Paketmanagement mit der Apt-Shell (30),<br />
Effektive Suche in Anwendungsdaten (82)<br />
Kristian Kißling Neues in Ubuntu 12.04 LTS „Precise Pangolin“ (10)<br />
Thomas Leichtenstern Neues auf den Heft-DVDs (97)<br />
Jörg Luther Editorial (3), Aktuelles (16)<br />
Hartmut Noack Android-Apps für Linux-Musiker (60)<br />
Uwe Vollbracht Aktuelle Software <strong>im</strong> Kurztest (14)<br />
Thomas Winde Debian-Paketmanagement mit der Apt-Shell (30)<br />
Inserenten<br />
1&1 Internet AG www.einsundeins.de 29<br />
ADMIN www.admin-magazin.de 55<br />
Android User www.android-user.de 37, 49<br />
EasyLinux www.easylinux.de 33<br />
Fernschule Weber GmbH www.fernschule-weber.de 15<br />
Hetzner Online AG www.hetzner.de 100<br />
JEL GmbH www.jelgmbh.de 91<br />
Linux Magazine www.linux-magazine.com 93<br />
Linux New Media AG www.linuxnewmedia.de 89<br />
Linux-Hotel www.linuxhotel.de 17<br />
Linux-Magazin Academy www.academy.linux-magazin.de 93<br />
Linux-Magazin Online www.linux-magazin.de 41<br />
Linux-Onlineshop www.linux-onlineshop.de 99<br />
<strong>LinuxUser</strong> www.linuxuser.de 45, 69, 95<br />
Pearl Agency GmbH www.pearl.de 39<br />
PlusServer AG www.plusserver.de 20, 50, 72, 86<br />
Schlittermann schlittermann.de 91<br />
Spenneberg Training www.spenneberg.com 93<br />
Stockmayer GmbH www.stockmayer.de 93<br />
Strato AG www.strato.de 2<br />
Ubuntu User www.ubuntu-user.de 59<br />
Webtropia www.webtropia.com 9<br />
94 06 | 12<br />
www.linux-user.de
Impressum<br />
service<br />
Anschrift<br />
Homepage<br />
Artikel und Foren<br />
Abo/Nachbestellung<br />
E-Mail (Leserbriefe)<br />
Abo-Service<br />
Pressemitteilungen<br />
<strong>LinuxUser</strong> ist eine Monatspublikation der Linux New Media AG.<br />
Putzbrunner Str. 71, 81739 München<br />
Telefon: (089) 99 34 11-0, Fax: (089) 99 34 11-99<br />
http://www.linux-user.de<br />
http://www.linux-community.de<br />
http://www.linux-user.de/bestellen/<br />
<br />
<br />
<br />
Chefredakteur Jörg Luther (v. i. S. d. P.) (jlu)<br />
Stellv. Chefredakteur Andreas Bohle (agr)<br />
Redaktion<br />
Linux-Community<br />
Datenträger<br />
Ständige Mitarbeiter<br />
Grafik<br />
Sprachlektorat<br />
Produktion<br />
Druck<br />
Geschäftsleitung<br />
Mediaberatung<br />
D / A / CH<br />
USA und andere<br />
Thomas Leichtenstern (tle)<br />
Andreas Bohle (agr)<br />
Thomas Leichtenstern (tle)<br />
Mirko Albrecht, Erik Bärwaldt, Falko Benthin, Thomas Drilling,<br />
Florian Effenberger, Karsten Günther, Frank Hofmann, Christoph<br />
Langer, T<strong>im</strong> Schürmann, Vince-Áron Szabó, Uwe Vollbracht<br />
Elgin Grabe (Titel und Layout)<br />
Bildnachweis: Stock.xchng, 123rf.com, Fotolia.de und andere<br />
Astrid Hillmer-Bruer, Elke Knitter<br />
Christian Ullrich <br />
Vogel Druck und Medienservice GmbH & Co. KG, 97204 Höchberg<br />
Brian Osborn (Vorstand, verantwortlich für den Anzeigenteil)<br />
<br />
Hermann Plank (Vorstand)<br />
<br />
Petra Jaser <br />
Tel.: +49 (0)89 / 99 34 11 24<br />
Fax: +49 (0)89 / 99 34 11 99<br />
National Sales Director<br />
Ann Jesse <br />
Tel.: +1 785 841 88 34<br />
National Account Manager<br />
Eric Henry <br />
Tel.: +1 785 917 09 90<br />
Es gilt die Anzeigenpreisliste vom 01.01.2012.<br />
Pressevertrieb<br />
Abonnentenservice<br />
D / A / CH<br />
MZV Moderner Zeitschriften Vertrieb GmbH & Co. KG<br />
Ohmstraße 1, 85716 Unterschleißhe<strong>im</strong><br />
Tel.: (089) 3 19 06-0, Fax: (089) 3 19 06-113<br />
Lea-Maria Schmitt <br />
Postfach 1165, 74001 Heilbronn<br />
Telefon: +49 (0)7131 27 07-274<br />
Telefax: +49 (0)7131 27 07 -78-601<br />
<strong>im</strong>pressum<br />
Abo-Preise <strong>LinuxUser</strong> Deutschland Österreich Schweiz Ausland EU<br />
No-Media-Ausgabe 1 € 5,50 € 6,30 Sfr 11,00 (siehe Titel)<br />
DVD-Ausgabe € 8,50 € 9,35 Sfr 17,00 (siehe Titel)<br />
Jahres-DVD (Einzelpreis) € 14,95 € 14,95 Sfr 18,90 € 14,95<br />
Jahres-DVD (zum Abo 2 ) € 6,70 € 6,70 Sfr 8,50 € 6,70<br />
Mini-Abo (3 Ausgaben) € 3,00 € 3,00 Sfr 4,50 € 3,00<br />
Jahresabo No Media € 56,10 € 64,60 Sfr 92,40 € 71,60<br />
Jahresabo DVD € 86,70 € 95,00 Sfr 142,80 € 99,00<br />
Preise Digital Deutschland Österreich Schweiz Ausland EU<br />
Heft-PDF Einzelausgabe € 5,50 € 5,50 Sfr 7,15 € 5,50<br />
DigiSub (12 Ausgaben) € 56,10 € 56,10 Sfr 72,90 € 56,10<br />
DigiSub (zum Abo 2 ) € 12,00 € 12,00 Sfr 12,00 € 12,00<br />
HTML-Archiv (zum Abo 2 ) € 12,00 € 12,00 Sfr 12,00 € 12,00<br />
Preise Kombi-Abos Deutschland Österreich Schweiz Ausland EU<br />
Mega-Kombi-Abo 3 € 143,40 € 163,90 Sfr 199,90 € 173,90<br />
(1) nur erhältlich unter http://shop.linuxnewmedia.de, Bestellung versandkostenfrei<br />
(2) nur erhältlich in Verbindung mit einem Jahresabo Print oder Digital<br />
(3) <strong>LinuxUser</strong>-Abo (DVD-Ausgabe) plus Linux-Magazin-Abo inkl. DELUG-Mitgliedschaft<br />
(monatl. DELUG-DVD) sowie beiden Jahres-DVDs<br />
Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schülerausweises<br />
oder einer aktuellen Immatrikulationsbescheinigung. Der Nachweis ist bei Verlängerung neu<br />
zu erbringen. Infos zu anderen Abo-Formen etc. unter http://shop.linuxnewmedia.de.<br />
Bitte teilen Sie Adressänderungen umgehend dem Abo-Service mit, da Nachsendeaufträge<br />
bei der Post nicht für Zeitschriften gelten.<br />
Linux ist ein eingetragenes Warenzeichen von Linus Torvalds und wird von uns mit seiner<br />
freundlichen Genehmigung verwendet. »Unix« wird als Sammelbegriff für die Gruppe der<br />
Unix-ähnlichen Betriebssysteme (wie beispielsweise HP/UX, FreeBSD, Solaris) verwendet,<br />
nicht als Bezeichnung für das Trademark (»UNIX«) der Open Group. Der Linux-Pinguin<br />
wurde von Larry Ewing mit dem Grafikprogramm »The GIMP« erstellt.<br />
Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Prüfung<br />
durch die Redaktion – vom Verlag nicht übernommen werden. Mit der Einsendung von<br />
Manuskripten oder Leserbriefen gibt der Verfasser seine Einwilligung zur Veröffent lich ung<br />
in einer Publikation der Linux New Media AG. Für unverlangt eingesandte Manuskripte<br />
oder Beiträge übernehmen Redaktion und Verlag keinerlei Haftung.<br />
Autoreninfos: http://www.linux-user.de/Autorenhinweise. Die Redaktion behält sich vor,<br />
Einsendungen zu kürzen und zu überarbeiten. Das exklusive Urheber- und Verwertungsrecht<br />
für angenommene Manus kripte liegt be<strong>im</strong> Verlag. Es darf kein Teil des Inhalts ohne schriftliche<br />
Genehmigung des Verlags in irgendeiner Form vervielfältigt oder verbreitet werden.<br />
Copyright © 1999 - 2012 Linux New Media AG ISSN: 1615-4444<br />
Probelesen ohne risiko<br />
www.linux-user.de 10 | 11<br />
sonDerAkTion!<br />
Testen sie jetzt<br />
3 Ausgaben für<br />
nUr 3€*<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 />
* Angebot gilt innerhalb Deutschlands<br />
und Österreichs. In der Schweiz: SFr 4,50.<br />
Weitere Preise: www.linux-user.de/produkte<br />
95
VORSCHAU<br />
Das nächste Heft: 07/2012<br />
Ausgabe 07/2012 erscheint am 21. Juni 2012<br />
© Tpacific, sxc.hu<br />
Fotos und Video bearbeiten<br />
Von PAL bis HD, von JPG bis zum hochauflösenden<br />
RAW-Format – wer sich mit digitalem Bildmaterial<br />
auseinandersetzt, sieht sich aus dem<br />
Stand mit einer Vielzahl von Formaten und Standards<br />
konfrontiert. Zum Glück bringt jedes halbwegs<br />
aktuelle Linux-System bereits ab Werk eine<br />
ebenso große Zahl an Tools mit, die Ihnen bei der<br />
Arbeit mit dem digitalen Material hilfreich zur<br />
Seite stehen. In der kommenden Ausgabe bringen<br />
wir etwas Ordnung in diesen Werkzeugkasten<br />
und helfen Ihnen so, für die jeweilige Aufgabe das<br />
richtige Tool auf Anhieb zu finden.<br />
T<strong>im</strong>eline<br />
Bei Ereignissen in einer zeitlichen<br />
Abfolge drängt sich das Darstellen<br />
auf einem Zeitstrahl förmlich<br />
auf. Das Python-Tool T<strong>im</strong>eline<br />
macht seinem Name alle Ehre<br />
und erlaubt das Erfassen, Gestalten<br />
und Navigieren in einer Zeitleiste.<br />
Damit bringen Sie nicht<br />
nur Übersicht in wichtige Ereignisse,<br />
sondern verwenden die<br />
Software bei Bedarf zusätzlich als<br />
handlichen Kalender.<br />
OwnCloud 3<br />
Die moderne Welt ist mobil und<br />
mit ihr die Daten der Anwender.<br />
Mit OwnCloud buhlt ein neuer<br />
Dienst um die Gunst der Nutzer,<br />
der das einfache Teilen von Musik,<br />
Bildern, Terminen und Kontaktdaten<br />
verspricht. Wir prüfen,<br />
ob der Neuling seine Hausaufgaben<br />
gemacht hat.<br />
Lenovo ThinkPad W530<br />
Mit dem ThinkPad W530 plant Lenovo einen Nachfolger<br />
für das Arbeitstier W520, der sich der Highend-<br />
Serie als würdig erweist: Auf Basis von Intels<br />
neuer Plattform Ivy Bridge verspricht der 15-Zöller<br />
Leistung satt, genug um eine Workstation auf<br />
dem he<strong>im</strong>ischen Schreibtisch zu ersetzen. Ideal<br />
also für alle, die ihr Büro auf Reisen mitnehmen,<br />
aber nicht auf eine ordentliche<br />
Performance verzichten wollen.<br />
Ausgabe 02/2012 ist am 12. April 2012 erschienen<br />
© Thomas B., Fotolia<br />
Mult<strong>im</strong>edia-Netzwerk<br />
Wir sehen uns in dieser Ausgabe<br />
das He<strong>im</strong>netzwerk unter einem<br />
Mult<strong>im</strong>edia-Gesichtspunkt an: Es<br />
geht um das Streaming von Audiound<br />
Video-Dateien, Software, die<br />
Windows-Rechner mitversorgt,<br />
und die Möglichkeit, mit Tonido<br />
vom Internet aus auf Ihre lokalen<br />
Mediadateien zuzugreifen.<br />
Thunderbird komplett<br />
Wir zeigen <strong>im</strong> Detail, wie Sie das<br />
Mail-Programm Thunderbird konfigurieren<br />
– auch für ungewöhnlichere<br />
Aufgaben. Themen sind unter<br />
anderem Filter, Mailinglisten<br />
und Spam-Vermeidung. Ergänzend<br />
gibt es außer der Reihe in<br />
den Tipps und Tricks eine Sammlung<br />
von Thunderbird-Tipps.<br />
Dual-Head-Betrieb<br />
Zwei Monitore an einem Computer<br />
zu betreiben, kann die tägliche<br />
Arbeit deutlich komfortabler<br />
machen, zumal auch hochauflösende<br />
Geräte mit 22 Zoll schon<br />
für ca. 200 Euro erhältlich sind.<br />
Wir zeigen, wie Sie Ihr System<br />
konfigurieren müssen, um vom<br />
Zweitbildschirm zu profitieren.<br />
MAGAZIN<br />
© © Tatiana Popova, 123RF<br />
Ausgabe 07/2012 erscheint am 06. Juni 2012<br />
Wunderdroge Filesystem Serverlandschaft in klein Maschinenöl statt Deo<br />
XFS, Ext 3 und 4, Reiser, Btr-FS –<br />
das kommende Linux-Magazin<br />
macht mit Know-how-Artikeln<br />
und anhand einer Fülle erhellender<br />
Performance-Messungen klar,<br />
welches der vielen Dateisysteme<br />
unter welchen Bedingungen genau<br />
die richtige Wahl ist.<br />
Berater oder Sysadmins demonstrieren<br />
die Machbarkeit eines<br />
Infra struktur-Setups gern am lebenden<br />
Objekt. Statt ein Rechenzentrum<br />
zu blockieren, überzeugen<br />
sie mit einem Virtualisier-<br />
Laptop, das neben Servern und<br />
Clients I-SCSI-Storage abbildet.<br />
Seit „Star Wars“ wünschen sich<br />
viele Kinder einen C-3PO an<br />
ihrer Seite. Das Startup eines Ex-<br />
Finanz managers entlässt jetzt<br />
mit „NAO“ einen humanoiden<br />
Roboter ins Leben: knapp 60<br />
Zent<strong>im</strong>eter groß, 5,7 Kilo schwer<br />
und mit Linux-Hirn gesegnet.<br />
96<br />
06 | 12<br />
Die Redaktion behält sich vor, Themen aus aktuellem Anlass zu ändern oder zu streichen.
DVD-Inhalt<br />
service<br />
Neues auf den<br />
Heft-DVDs<br />
DEFT 7.1: Forensischer Werkzeugkasten<br />
Die Live-Distribution DEFT Linux 7.1 („Digital Evidence and Forensics Toolkit“) richtet sich<br />
mit einer Vielzahl von Programmen speziell an IT-Forensiker und Penetration-Tester. Es<br />
basiert auf Lubuntu und nutzt LXDE als Desktop-Umgebung, was vor allem <strong>im</strong> Live-<br />
Betrieb ein Arbeiten mit schnellen Reaktionszeiten bei moderaten Hardware-Anforderungen<br />
ermöglicht. Das Startmenü des Grub-Bootmanagers offeriert als<br />
Optionen neben dem Live-Betrieb die Möglichkeit, das System komplett ins<br />
RAM zu laden, um auf älteren Rechnern eine bessere Leistung zu erhalten.<br />
Unter der Haube arbeitet ein moderner 3.0.0-Kernel.<br />
Professionelles Systemmanagement und forensische Arbeiten lassen sich<br />
in vielen Fällen nur über die Kommandozeile schnell und effizient bewältigen.<br />
So können Sie aus dem Live-Modus sofort Partitionsangaben der <strong>im</strong><br />
zu untersuchenden System vorhandenen Massenspeicher abrufen (fdisk)<br />
und bei Bedarf Laufwerke zugänglich machen (mount).<br />
Das aktuelle Release enthält einen neuen „Open Source Intelligence<br />
(OSINT) Browser“. Dabei handelt es sich um eine angepasste Version von<br />
Google Chrome mit zahlreichen Erweiterungen, darunter etwa Zenmap,<br />
Traceroute und Hping3. Zu den Neuzugängen zählen die Forensik-Tools Usn-<br />
Jrnl-Parser und Lslnk. Zahlreiche weitere Komponenten spendierten die Entwickler<br />
Aktualisierungen: So hoben sie etwa Bulk Extractor auf 1.2.0, Libewf auf<br />
20120304, Guymager auf 0.6.5-1 und Xplico 1.0 auf Version 1.0. Wie Sie DEFT 7.1<br />
als digitalen „Spürhund“ gegen Angreifer und zur Spurensicherung einsetzen, beschreibt<br />
ein ausführlicher Artikel ab Seite 6 in diesem Heft.<br />
LibreOffice-Box 3.5.2<br />
LibreOffice n<strong>im</strong>mt mit den jüngsten Versionen gegenüber dem Vorgänger OpenOffice <strong>im</strong>mer<br />
mehr Fahrt auf und bedient Anwender in sehr kurzen Intervallen mit neuen Versionen<br />
und Features. Da kommen Folgeprojekte wie die LibreOffice-Box, die ein rundes<br />
Büropaket für Linux, Mac OS X und Windows schnürt, schon mal etwas ins<br />
Schwitzen. Auf Bitte von <strong>LinuxUser</strong> stellten die Entwickler eine – eigentlich aus<br />
Gründen der Arbeitsbelastung gar nicht geplante – LibreOffice-Box 3.5.2 fertig.<br />
Dafür an dieser Stelle ein herzliches Dankeschön! Als Unterstützung<br />
übernahm die Redaktion <strong>im</strong> Gegenzug das Testen der 64-Bit- und Mac-<br />
Repositories – finden Sie dort also noch Fehler, sind wir daran schuld.<br />
Generell handelt es sich bei der LibreOffice-Box um ein herunterladbares<br />
DVD-ISO-Image, das neben den eigentlichen Programmen für alle<br />
unterstützten Betriebssysteme eine Vielzahl zusätzlicher Elemente enthält.<br />
So finden Sie darauf etwa Vorlagen aus allen Bereichen: Ob Einnahme-<br />
und Ausgabebelege, Fahrtenbücher oder einfach nur ein Monatskalender<br />
– hier ist für jeden etwas dabei. Daneben enthält die Box eine ganze<br />
Reihe von Erweiterungen, welche die Fähigkeiten der Office-Suite in verschiedene<br />
Richtungen ausbauen. So erlaubt beispielsweise die Extension<br />
Photo Album das einfache Erstellen von Fotoalben mit Impress und Writer2La-<br />
TeX wandelt ODF-Dokumente ins universelle LaTeX-Format um. Allerdings<br />
braucht das Team der LibreOffice-Box dringend Unterstützung, um weiter ein Box-<br />
Release zu jeder Version der Bürosuite gewährleisten zu können. Wie Sie dabei mithelfen<br />
können, lesen Sie <strong>im</strong> Artikel ab Seite 18 in dieser Ausgabe.<br />
06 | 12 97
Service<br />
DVD-Inhalt<br />
Ubuntu 12.04 LTS<br />
Statt wie bisher nur drei<br />
Jahre lang garantiert Canonical<br />
nun fünf Jahre<br />
Unterstützung für die<br />
LTS-Versionen des Desktops.<br />
Technisch bringt<br />
die Distribution das viel<br />
diskutierte HUD (Headup<br />
Display) mit. Damit<br />
durchsuchen Sie blitzgeschwind<br />
das Applikationsmenü.<br />
Als Kernel dient Linux<br />
3.2.0, als Bürosuite<br />
LibreOffice 3.5.2.2. Den<br />
Desktop stellt wieder<br />
Unity, diesmal in Version<br />
5.8. Ebenfalls verbessert<br />
präsentiert sich Canonicals<br />
Cloud-Client namens<br />
Ubuntu One. Fünf GByte<br />
Speicherplatz stellt Canonical<br />
dazu kostenfrei<br />
bereit. Auf Seite B der<br />
Heft-DVD finden Sie die<br />
32-Bit-DVD-Variante der<br />
Distribution, die Heft-<br />
CD enthält den 64-Bit-<br />
Ableger von Ubuntu<br />
12.04 LTS. Einen Artikel<br />
zu den Neuerungen lesen<br />
Sie ab Seite 10. (tle)<br />
Bei der DVD-Edition von <strong>LinuxUser</strong> ist hier der Datenträger eingeklebt (siehe Kasten auf Seite 5).<br />
Bitte wenden Sie sich per E-Mail an cdredaktion@linux-user.de, falls es Probleme mit der Disk gibt.<br />
Der BitTorrent-Client Bitflu 1.4.2 läuft dezent als Dienst <strong>im</strong> Hintergrund.<br />
Der Zugriff erfolgt wahlweise über Telnet oder eine Web-Oberfläche. In<br />
lokalen Netzwerken setzen Sie bei Bedarf mit Bitflu sogar in wenigen<br />
Handgriffen einen eigenen BitTorrent-Download-Server auf.<br />
Mit Wireshark 1.6.7 steht Ihnen eine grafische Anwendung für die Analyse<br />
des Netzwerkverkehrs zur Verfügung. Das Programm erlaubt das Mitschneiden<br />
von Verbindungen und erleichtert Ihnen durch Aufbereiten der<br />
Paketdaten das Aufspüren von Unregelmäßigkeiten und Fehlern – das<br />
ult<strong>im</strong>ative Werkzeug für jeden waschechten Netzwerker.<br />
Mit der kleinen Software Alexandria 0.6.60 bringen Sie schnell und unkompliziert<br />
Ordnung in Ihre Büchersammlung. Das Programm eignet sich<br />
darüber hinaus auch zur Verwaltung kleiner Bibliotheken, da es nicht nur<br />
die Erfassung von Neuzugängen mithilfe eines Barcode-Scanners unterstützt,<br />
sondern zusätzlich eine Ausleihfunktion mitbringt.<br />
Der Desktop Unity von Canonical, der sich auch in der aktuellen Ubuntu-<br />
Version 12.04 wiederfindet, spaltet nach wie vor die Open-Source-Gemeinde.<br />
Das Programm MyUnity 3.1.4 ermöglicht es Ihnen zumindest,<br />
über eine einfache und übersichtliche Oberfläche das Erscheinungsbild<br />
und Verhalten der Arbeitsumgebung Unity in wenigen Augenblicken an den<br />
eigenen Geschmack anzupassen.<br />
AKTUELLE PROGRAMME AUF DER HEFT-DVD<br />
Die Mediaplayer-Alternative Pogo 0.6 verfolgt einen eigenwilligen, min<strong>im</strong>alistischen<br />
Ansatz. Alle Komfortfunktionen der bekannten Programme<br />
bleiben hier außen vor. Suchen Sie aber lediglich einen digitalen Plattenteller<br />
zum Abspielen der auf dem PC gespeicherten Musik, sind Sie mit<br />
Pogo gut bedient. Insbesondere auf weniger gut ausgestatteten Rechnern<br />
macht sich die Genügsamkeit des Programms angenehm bemerkbar.<br />
Der Client for URLs, cURL 7.25, beherrscht mit DICT, FILE, FTP, FTPS,<br />
Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP,<br />
RTSP, SCP, SFTP, SMTP, SMTPS, Telnet und TFTP viele <strong>im</strong> Netz gängige<br />
Protokolle. Neben dem Herunterladen eignet er sich auch dazu, Dateien<br />
auf entfernte Server zu übertragen.<br />
Das Datenbank-Management-System Apache CouchDB 1.2.0 versucht,<br />
das einfache Datenmodell einer dokumentenorientierten Datenbank mit<br />
der Skalierbarkeit und Leistung eines relationalen DBMS zu verknüpfen.<br />
Die Software bringt zudem einen eigenen Webserver mit.<br />
Der Webserver Nginx 1.2.0 eignet sich nicht nur für High-Traffic-Websites:<br />
Neben guter Performance zeichnet sich die Software durch hohe<br />
Modularität, einfache Konfiguration und geringen Ressourcenverbrauch<br />
aus, sodass er sich damit ausgezeichnet als Alternative für den Betrieb<br />
auf betagter Webserver-Hardware qualifiziert.<br />
98<br />
06 | 12
IhrLinuxSpezialist<br />
Linux-Onlineshop<br />
YOUR /HOME/SHOP<br />
linux@linux-onlineshop.de<br />
+++ www.Linux-Onlineshop.de +++ www.Linux-Onlineshop.de +++ www.Linux-Onlineshop.de +++<br />
Linux-Onlineshop<br />
Tuxedo Mini<br />
DerNameTuxedoComputersvereintsowohldieAnsprüchealsauchdasProduktspektrum<br />
in sich:Tuxedo ist<strong>im</strong> Englischen derMaßanzug.Ebenso stecktdarin derName des<br />
Linux-MaskotchenTux!TuxedoComputerssindalsonichtnurPCsmitLinux-Hardware<strong>im</strong><br />
Maßanzug,manerkenntsieschonsofortam Namenalssolche!<br />
NurdortwoTuxedodraufsteht,istalsoauchLinux-Hardware<strong>im</strong> Maßanzugdrin:)<br />
Tuxedo Six<br />
Tuxedo One<br />
Tuxedo Book 500<br />
Tuxedo Book 300<br />
Tuxedo Book 100<br />
Geek und Nerd Shirts<br />
Über300 T-Shirts sowie<br />
Polos + Langarm + Sweats<br />
Linux USB-Sticks<br />
2 bis 16 GB<br />
Debian,Fedora,Mint,<br />
Knoppix,Kubuntu,<br />
PCLinuxOS,Puppy,<br />
sidux,openSUSE,<br />
Ubuntu,Xubuntuauf2<br />
bis16GB USB-Sticks.<br />
Tassen & W ärmer<br />
Tux,Ubuntu,Vi,Ref. .<br />
Biergartenbundle<br />
Polo + Cap + Bierkrug<br />
+<br />
Ubuntu 12.04 LTS<br />
Doppel-DVD + 88 S.Handb.<br />
Tuxedo Micro<br />
derkleinste Tuxedo<br />
Tux Plüschtiere<br />
von 8 bis 100cm<br />
SiesehenhierlediglicheinenkleinenAusschnitaus<br />
unserem Sort<strong>im</strong>ent!Sicherfinden auch Sieunter<br />
unserenfast300verschiedenenMotivendasrichtige<br />
fürsichoderalsGeschenkfürandere;-)<br />
Sie sehen hierlediglich einen kleinen AuschnittunsererSonderangebote!<br />
UnsergesamtesSort<strong>im</strong>entkönnen Sie unterwww.linux-onlineshop.de einsehen!<br />
w w w .Linux-Onlineshop.de<br />
Fon:+49 (0)921 /16498787-0 Mail:linux@linux-onlineshop.de Fax:+49 (0)921 /16498787-9<br />
Postanschrift:Linux-Onlineshop.de ~ fidu.de IT KG ~ Ritter-v.-Eitzenb.-Str.19 ~ D-95448 Bayreuth