Shell: Grundlagen für COMMUNITY-EDITIONXUX_Cube: Spieletauglicher das clevere Skripting S. 48 Frei kopierenBüro-PC und mit beliebig satter weiter Leistung verteilen S. 84 ! 04.2017

04.2017

Distributionen fürs Grobe: System- und Datenrettung, Security & Privacy, Mobileinsatz DISTROS SPEZIELLE DISTROS Knoppix 8: Neues Major-Release SPEZIELLE DISTROS SPEZIELLE als exklusive LU-Edition S. 14 NST: Security-Experte fürs lokale Netzwerk S. 34 Whonix: Umfassender Schutz der Privatsphäre S. 22 Boot Repair Disk: Effizienter Ersthelfer für startunwillige Rechner S. 28

Professioneller Editor für PDF-Dokumente S. 64 Ausgereift und mächtig, aber kostenlos zu nutzen: Mit dem Master PDF Editor 4 Formulare ausfüllen, Texte bearbeiten, formatieren, kommentieren und scannen

Belletristisches Werkzeug S. 54 Protokollflut im Griff S. 70 Ob Kurzgeschichte, Drehbuch oder Roman: Systemd-Logdateien effizient und vier freie Suiten für Autoren im Vergleich einfach auswerten mit Journalctl

Top-Distris auf zwei • Fairphone 2 • GeckoLinux • I-Nex • Journalctl • Master PDF Editor • Nitrokey • PhotoQt Spigot SPEZIELLE 2 • GeckoLinux I-Nex Journalctl Master PDF Editor Nitrokey • Fairphone Heft-DVDs BASH • GECKO • I-NEX • KNOPPIX • NITROKEY • PHOTOQT • SPIGOT • • SPIGOT • PHOTOQT • NITROKEY • KNOPPIX • I-NEX • GECKO • BASH

EUR 8,50 EUR 9,35 sfr 17,00 EUR 10,85 EUR 11,05 EUR 11,05

2 DVD-10 04 www.-user.de Deutschland Österreich Schweiz Benelux Spanien Italien 4 196067 008502 04 Editorial Münchner Geschichten

Sehr geehrte Leserinnen und Leser, gut ein Jahrzehnt lang galt die IT-Migra­ Anstoß zu der Beschlussfassung Mitte tion der Stadt München auf Linux und Februar war ein Gutachten  des Be­ freie Software als beispielhaftes, welt­ ratungsunternehmens Accenture über weit führendes Konzept für die Umstel­ den Zustand der städtischen IT und lung öffentlicher Verwaltungen auf eine Möglichkeiten zu deren Verbesserung. herstellerunabhängige, sprich: vom Das äußerst lesenswerte Dokument Jörg Luther ­Monopolisten Microsoft gelöste Basis. identifiziert als Ursache der – völlig Chefredakteur Für entsprechendes Erstaunen sorgte ­unbestrittenen – Münchner IT-Misere am 15. Februar national wie internatio­ hauptsächlich ein komplettes Versagen nal ein Beschluss des Münchener Stadt­ des Managements. rats , der vielerorts als „Aus für LiMux“ Als Versäumnisse der Verantwortli­ „weil die Bürgermeister zu feige sind, kolportiert wurde. chen nennt die Studie insbesondere das selbst die Verantwortung für die IT-­ Tatsächlich sieht die Entscheidung Fehlen einer transparenten und effizien­ Strategie zu übernehmen.“ ­lediglich vor, als Alternative zum Linux- ten Steuerung der IT, ineffiziente Vor­ Weil der politische Wille fehlt, den gra­ Standardclient LiMux einen Windows- habensplanung, unzureichende Auf­ vierendsten der identifizierten Schwach­ 10-Client zu entwickeln und einzuführen. wandsschätzung, undurchsichtige Kos­ punkte abzuhelfen – dazu müsste man Anschließend soll geprüft werden, ob die tenzuordnung, mangelndes Bewusstsein sämtlichen Referaten, zahlreichen Amts­ Stadt bis zum 31. Dezember 2020 kom­ für IT-Sicherheit, das Fehlen ordnungs­ inhabern und vielen bequem endgebet­ plett auf Windows umsteigt. Erst nach gemäßer Arbeitsabläufe sowie gravie­ teten städtischen Beamten auf die Füße Vorlage eines Kostenvoranschlags will rende Personalengpässe aufgrund man­ steigen – wird München auch mit seiner der Stadtrat endgültig über eine LiMux- gelnder konkreter Planung. Erschwerend „neuen“ IT-Strategie vorhersehbar an die Ablösung durch Windows entscheiden. hinzu kommt der parallele, weitgehend Wand fahren. In der nächsten Iteration Im Gegensatz zu vielen anderen Kom­ unkoordinierte Einsatz von nicht weni­ aber bitte ohne Linux – freie Software ist mentatoren des Geschehens hoffe ich ger als 15 Client-Betriebssystemversio­ zu schade als Feigenblatt für ignorante inständig, dass die Stadt München so nen, 18 Server-Betriebssystemen auf Politiker und unfähige Bürokraten. bald wie möglich ihren Linux-Client 10 Plattformen, 8 Datenbanken, 3 Web­ durch Windows ablöst, und am besten server -Varianten und 5 Identy-Manage­ Herzliche Grüße, auch gleich noch alle andere eingesetzte ment-Systemen  – ein Albtraum für freie Software durch Microsoft-Produkte Planung, Koordination und Support. ersetzt. Warum? Damit eine inkompe­ Die Stadträte der in München regie­ tente, ignorante und beratungsresisten­ renden CSU/​SPD-Koalition („GroKo“) te Stadtverwaltung nicht länger ihre Un­ ­haben in der Sitzung vom 15. Februar fähigkeit bemänteln kann, indem sie Li­ ­allerdings fröhlich fast alle Empfehlun­ nux und freie Software ständig als Sün­ gen aus der Studie ignoriert. Windows denbock vorschiebt. soll Linux ablösen, statt es da zu ergän­ zen, wo es gar nicht anders geht; Libre­ Office und freie Software sollen „markt­ üblichen Lösungen“ weichen. Zwar gibt man der Stadt durch Einführen eines IT- Referats endlich das Pendant eines CIOs, doch die Opposition hat diesen Posten in der Sitzung völlig korrekt als „Sünden­ Weitere Infos und bock“ identifiziert, den man nur braucht, interessante Links

www.linux‑user.​­ de/​­ qr/38832​­

04.2017 www.linux-user.de 3

04

Linux gibt detailliert Auskunft über Obwohl für den Druck konzipiert, 44 die im PC verbaute Hardware – so- 64 hat sich PDF als Austauschformat Mit Systemd hat Linux ein neues fern Sie die entsprechenden Befehle be- etabliert. Mit dem Master PDF Editor neh- 70 Log-System erhalten. Das Kom- herrschen. Das Tool I-Nex serviert Ihnen die men Sie an dem eigentlich geschlossenen mandozeilen-Tool Journalctl hilft Ihnen Daten in einer übersichtlichen Oberfläche. Format stressfrei kleine Änderungen vor. dabei, den Datenreichtum auszuwerten.

Heft-DVD Schwerpunkt Schwerpunkt

GeckoLinux ...... 10 Knoppix 8 .0...... 14 Boot Repair Disk...... 28 GeckoLinux will OpenSuse für Einsteiger Das bekannte Live-System liegt wieder in Bei der Installation eines Betriebssystems auf leichter zugänglich machen. Der Spin nutzt einer generalüberholten Version vor. Klaus einer Festplatte oder SSD läuft nicht immer daher sowohl „Leap“ als auch „Tumbleweed“ Knopper gibt einen Überblick über die alles rund. Mit der Spezial-Distribution Boot als Unterbau. Bei den insgesamt acht resul- Neuerungen, die in diese Major-Release der Repair Disk sorgen Sie dafür, dass Ihre Boot- tierenden Varianten aus zwei Repos findet Distribution eingeflossen sind. konfiguration bei Problemen schnell wieder sich für fast jeden Anspruch an Auswahl und auf die Beine kommt. Aktualität das Passende. Whonix...... 22 Die zunehmende Neugier verschiedener NST...... 34 ­Akteure macht Anonymität im Internet im- Das Absichern von Netzen gegen Angrei- mer wichtiger. Whonix bietet eine bequem fer ist keine triviale Aufgabe. Das Network Aktuelles zu installierende und umfassende Lösung, Security Toolkit hilft Ihnen mit einem Satz um Ihre Privatsphäre zu wahren. gut aufeinander abgestimmter Werkzeuge News: Software...... 8 dabei, Schwachstellen zu identifizieren und Bunte Cat-Alternative Azcat 1.0.5, zu beseitigen – bevor es zu spät ist. Webgalerie-­Generator Lazygal 0.9.1, effektiver CSV-Dateifilter Uncsv 0.9.1, Verzeichniskomparator Vddiff 1.7.0

Mit der vorliegenden DVD ge- 14 langen Sie in den Besitz einer exklusiven LU-Edition von Knoppix 8.0, in der eine Menge Know-how steckt. Mit viel Liebe zum Detail hat Maintai- ner Klaus Knopper ein Live-System zu- sammengestellt, das topaktuelle Soft- ware und viele innovative Tools enthält.

4 04.2017

Oft reichen die Möglichkeiten 86 der Shell für arithmetische Ope- Das aktuelle Knoppix 8.0 kommt rationen. Sollen die Ergebnisse genauer 14 runderneuert und bringt eine Der Rechnerstart endet mit einen sein, greifen Sie einfach zu Spigot, einem Vielzahl topaktueller Programme mit. In 28 schwarzen Bildschirm? Dann ist CLI-Programm, das Rechenoperationen in einem Beitrag erklärt Maintainer Klaus es Zeit, um zur Boot Repair Disk zu greifen beliebiger Genauigkeit ermöglicht. Knopper, was sich alles getan hat. und das Problem ruck, zuck zu beheben.

Praxis Im Test Hardware

PhotoQt ...... 40 Master PDF Editor...... 64 Fairphone 2...... 82 Der schlanke PhotoQt versucht sich in die PDF stellt das wohl wichtigste Dokumenten- Das Fairphone 2 versucht den Spagat: Riege der modernen Bildbetrachter einzurei- und Austauschformat dar, sodass den spezi- Rohstoffabbau und Produktion sollen unter hen. Ganz standfest ist er aber noch nicht. ellen Editoren dafür eine große Bedeutung fairen Bedingungen stattfinden, als offene zukommt. Mit dem Master PDF Editor 4 legt Plattform will es reparaturfreundlich sein I-Nex...... 44 der Hersteller Code-Industry ein gelungenes und obendrein weitgehende Wahlfreiheit Das grafische Werkzeug I-Nex vermittelt Stück Software vor. beim Betriebssystem bieten. Ihnen schnell einen detaillierten Überblick der im Rechner verbauten Hardware. Netz&System Know-how Shell-Kurs (Teil 3) ...... 48 Kleine Shell-Tools helfen in vielen Alltagssi- Journalctl...... 70 Spigot...... 86 tuationen. Unser Kurs stellt die wichtigsten Das Journal sammelt alle Meldungen von Der Rechner Spigot zeichnet sich durch hohe Kommandos vor. Systemd. Hier finden Sie ausführlichere Genauigkeit aus. Mit diesem Tool erzielen Sie Protokolle, die früher einsetzen als beim Pen- in der Shell extrem präzise Resultate. Autorenwerkzeuge...... 54 dant SysVinit und gezielte Suchen erlauben. Beim Verfassen belletristischer Texte helfen spezielle Tools, mit denen Sie Handlung, Nitrokey Pro...... 76 Figuren und Spannungsbogen jederzeit un- Der Security-Token Nitrokey Pro verspricht ter Kontrolle behalten. Wir nehmen vier der einen sicheren Passwortsafe und eine kostenlosen Werkzeuge unter die Lupe. Zwei-Faktor-Authentifizierung. Wir lassen den Newcomer im Praxistest gegen den Platzhirsch YubiKey antreten. Service

Editorial...... 3 Impressum...... 6 Mit dem Fairphone 2 versucht der Events/Autoren/Inserenten...... 7 82 Hersteller nicht nur die Umwelt IT-Profimarkt...... 90 zu schonen, sondern verspricht außerdem die freie Wahl des Systems. Wer diese Freiheit Vorschau...... 96 jedoch nutzen will, stößt schnell auf Probleme. Heft-DVD-Inhalt...... 97

04.2017 www.linux-user.de 5 Service Impressum

Abo und Einzelheftbestellungen: http://shop.computec.de

ABONNEMENT Mini-Abo (3 Ausgaben) Deutschland Österreich Ausland No-Media-Ausgabe 1 11,90 € 11,90 € 11,90 € DVD-Ausgabe 16,90 € 16,90 € 16,90 € Ein Unternehmen der MARQUARD MEDIA INTERNATIONAL AG Verleger Jürg Marquard Jahres-Abo (12 Ausgaben) Deutschland Österreich Ausland 1 Redaktion/Verlag Redaktionsanschrift: Verlagsanschrift: No-Media-Ausgabe 60,60 € 68,30 € 81,00 € Redaktion LinuxUser Computec Media GmbH DVD-Ausgabe 86,70 € 95,00 € 99,30 € Putzbrunner Straße 71 Dr. -Mack-Straße 83 Jahres-DVD zum Abo 2 6,70 € 6,70 € 6,70 € 81739 München 90762 Fürth Telefon: (0911) 2872-110 Telefon: (0911) 2872-100 Preise Digital Deutschland Österreich Ausland E-Mail: [email protected] Fax: (0911) 2872-200 Heft-PDF Einzelausgaben Digital 5,99 € 5,99 € 5,99 € WWW: www.linux-user.de Digital-Abo (12 Ausgaben) 48,60 € 48,60 € 48,60 € Geschäftsführer Rainer Rosenbusch, Hans Ippisch Kombi Digital + Print 72,60 € 80,30 € 93,00 € Chefredakteur Jörg Luther (jlu, v. i. S. d. P.), [email protected] (No-Media-Ausgabe, 12 Ausgaben) Kombi Digital + Print Stellv. Chefredakteur Andreas Bohle (agr), [email protected] 98,70 € 107,00 € 111,30 € Redaktion Christoph Langner (cla), [email protected] (DVD-Ausgabe, 12 Ausgaben) Thomas Leichtenstern (tle), [email protected] (1) Die No-Media-Ausgabe erhalten Sie ausschließlich in unserem Webshop unter Linux-Community Andreas Bohle (agr), [email protected] http://shop.linux-user.de, die Auslieferung erfolgt versandkostenfrei. Datenträger Thomas Leichtenstern (tle), [email protected] (2) Nur erhältlich in Verbindung mit einem Jahresabonnement der Printausgabe von LinuxUser. Ständige Mitarbeiter Er ik Bärwaldt, Axel Beckert, Karsten Günther, Frank Hofmann, Peter Kreußel, Hartmut Noack, Tim Schürmann, Ferdinand Thommes, Internet http://www.linux-user.de Uwe Vollbracht, Harald Zisler News und Archiv http://www.linux-community.de Titel & Layout Elgin Grabe, Titelmotiv: Oleksandr Kovalchuk, 123RF Facebook http://www.facebook.com/linuxuser.de Bildnachweis: 123RF, Freeimages und andere Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schüleraus- Sprachlektorat Astrid Hillmer-Bruer weises oder einer aktuellen Immatrikulationsbescheinigung. Der aktuelle Nachweis Produktion Jörg Gleichmar (Ltg.), [email protected] ist bei Verlängerung neu zu erbringen. Andere Abo-Formen, Ermäßigungen im Ausland etc. auf Anfrage. Adressänderungen bitte umgehend beim Kundenservice Vertrieb, Abonnement Werner Spachmüller (Ltg.), [email protected] mitteilen, da Nachsendeaufträge bei der Post nicht für Zeitschriften gelten. Anzeigen Verantwortlich für den Anzeigenteil: Judith Gratias-Klamt Rechtliche Informationen Es gilt die Anzeigenpreisliste vom 01.01.2017. Mediaberatung D,A,CH Judith Gratias-Klamt, [email protected] COMPUTEC MEDIA ist nicht verantwortlich für die inhaltliche Richtigkeit der Anzeigen Tel.: (0911) 2872-252, Fax: (0911) 2872-241 und übernimmt keinerlei Verantwortung für in Anzeigen dargestellte Produkte und Mediaberatung USA Ann Jesse, [email protected] Dienstleis­tungen. Die Veröffentlichung von Anzeigen setzt nicht die Billigung der an- gebotenen Produkte und Service-Leistungen durch COMPUTEC MEDIA voraus. Sollten und weitere Länder Tel. +1 785 841 8834 Sie Beschwerden zu einem unserer Anzeigenkunden, seinen Produkten oder Dienst- Abo Die Abwicklung (Rechnungsstellung, Zahlungsabwicklung leistungen haben, möchten wir Sie bitten, uns dies schriftlich mitzuteilen. Schreiben und Versand) erfolgt über unser Partnerunternehmen DPV. Sie unter Angabe des Magazins, in dem die Anzeige erschienen ist, inklusive der Aus- gabe und der Seitennummer an: Postadresse DPV Deutscher Pressevertrieb GmbH CMS Media Services, Annett Heinze, Verlagsanschrift (siehe oben links). Leserservice Computec Linux ist ein eingetragenes Warenzeichen von und wird von uns mit 20080 Hamburg seiner freundlichen Genehmigung verwendet. »Unix« wird als Sammelbegriff für die Deutschland Gruppe der Unix-ähnlichen Betriebssysteme (wie beispielsweise HP/UX, FreeBSD, Abo-Infoseite http://shop.computec.de Solaris, u.a.) verwendet, nicht als Bezeichnung für das Trademark »UNIX« der Open Abo- Bestellung http://shop.linux-user.de Group. Der Linux-Pinguin wurde von Larry Ewing mit dem Pixelgrafikprogramm »The GIMP« erstellt. Leserservice Ihre Ansprechpartner für Reklamationen und Ersatzbestellungen Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Deutschland E-Mail: [email protected] Prüfung durch die Redaktion – vom Verlag nicht übernommen werden. Mit der Ein- Tel.: (0911) 99 39 90 98 sendung von Manuskripten oder Leserbriefen gibt der Verfasser seine Einwilligung zur Fax: (01805) 861 80 02* Veröffent­lich­ung in einer Publikation der COMPUTEC MEDIA. Für unverlangt einge- sandte Manuskripte wird keine Haftung übernommen. Autoreninformationen: http:// (*0,14 €/min aus dem Festnetz, max. 0,42 €/min aus dem Mobilnetz) www.linux-user.de/Autorenhinweise. Die Redaktion behält sich vor, Einsendungen zu Österreich, Schweiz E-Mail: [email protected] kürzen und zu überarbeiten. Das exklusive Urheber- und Verwertungsrecht für ange- und weitere Länder Tel.: +49 911 99399098 nommene Manus­kripte liegt beim Verlag. Es darf kein Teil des Inhalts ohne schriftliche Fax: +49 1805 8618002 Genehmigung des Verlags in irgendeiner Form vervielfältigt oder verbreitet werden. Supportzeiten Montag 07:00 – 20:00 Uhr, Dienstag – Freitag: 07:30 – 20:00 Uhr, Samstag 09:00 – 14:00 Uhr LinuxUser Community Edition Pressevertrieb DPV Deutscher Pressevertrieb GmbH LinuxUser gibt es auch als Community Edition: Das ist eine 32-seitige PDF-Datei mit Am Sandtorkai 74, 20457 Hamburg Artikeln aus der aktuellen Ausgabe, die kurz vor Veröffentlichung des gedruckten http://www.dpv.de Heftes erscheint. Druck LSC Communications Europe, ul. Obr. Modlina 11, Die kostenlose Community-Edition steht unter einer Creative-Commons-Lizenz, die es 30-733 Kraków, Polen erlaubt, „das Werk zu vervielfältigen, zu verbreiten und öffentlich zugänglich machen“. Sie dürfen die LinuxUser Community-Edition also beliebig kopieren, gedruckt oder ISSN 1615-4444 als Datei an Freunde und Bekannte weitergeben, auf Ihre Website stellen – oder was immer ihnen sonst dazu einfällt. Lediglich bearbeiten, verändern oder kommerziell nutzen dürfen Sie sie nicht. Darum bitten wir Sie im Sinn des „fair use“. Mehr Informa- tionen: http://linux-user.de/CE

Marquard Media Deutschsprachige Titel: Probleme mit den Datenträgern PC Games, PC Games MMORE, PC Games Hardware, Play 4, N-ZONE, Games Aktuell, XBG Games, SFT, Linux-Magazin, LinuxUser, EasyLinux, Raspberry Pi Geek, Widescreen, Making Games Falls es bei der Nutzung der Heft-DVDs zu Problemen kommt, die auf einen defekten Internationale Zeitschriften: Datenträger schließen lassen, dann schicken Sie bitte eine E-Mail mit einer genauen Polen: Cosmopolitan, Harper’s Bazaar, Joy, HOT Moda, Shape, Esquire, Playboy, CKM, Jami Fehlerbeschreibung an die Adresse [email protected]. Wir senden Ihnen Ungarn: Joy, Éva, InStyle, Shape, Men’s Health, Runner’s World, Playboy, Apa dann umgehend kostenfrei einen Ersatzdatenträger zu.

6 www.linux-user.de 04.2017 Vorschau auf 05/2017 Die nächste Ausgabe erscheint am 20.04.2017

Linux auf Reisen

Wer einmal eine Reise tut, der braucht auf freie Software nicht zu verzichten. Wir zeigen Ihnen, welche Programme ­Ihnen unter anderem dabei helfen, die © Andrea De Martin, 123RF Route zu planen, und wie Sie nach dem Ende des Trips mit der Skriptsprache Kernel-Entwicklung Texterkennung ­Python und den passenden Bibliotheken die bereiste Strecke optisch anspre- Der Linux-Kernel war einmal ein Hobby- Für das automatisierte Erkennen von chend auf eine Karte von OpenStreet- Projekt. Heute ist die Arbeit am Quell- Texten unter Linux gibt es lediglich eine Map projizieren. Außerdem geben wir in code eine der komplexesten Aufgaben Handvoll Programme. Mit der OCR-Soft- einem Report viele Tipps für Geeks und in der IT. Entsprechend ist die Organisa­ ware Tesseract und dem darauf abge- Nicht-Geeks, die Ihnen dabei helfen, on- tion gewachsen und die Abläufe haben stimmten grafischen Frontend gImage- line zu gehen, oder im Ausland immer sich formalisiert. Wir geben Einblick in Reader ersparen Sie sich aber eine Men-

den richtigen Anschluss zu finden. die Vorgänge hinter den Kulissen. ge Arbeit beim Abtippen. Die Redaktion behält sich vor, zu ändern oder zu streichen. Themen

Heft als DVD-Edition Heft als No-Media-Edition Community-Edition-PDF • 108 Seiten Tests und Workshops zu • Preisgünstige Heft­variante ohne • Über 30 Seiten ausgewählte Artikel und Soft- und Hardware Datenträger für Leser mit Breitband- Inhaltsverzeichnis als PDF-Datei • 2 DVDs mit Top-Distributionen sowie Internet-Anschluss • Unter CC-Lizenz: Frei kopieren und der Software zu den Artikeln. Mit bis zu • Artikelumfang identisch mit der DVD- beliebig weiter verteilen 18 GByte Software das Komplettpaket, Edition: 108 Seiten Tests und Work- • Jeden Monat kostenlos per E-Mail oder das Unmengen an Downloads spart shops zu aktueller Soft- und Hardware zum Download

DVD-Edition (8,50 Euro) oder No-Media-Edition (5,95 Euro) Jederzeit gratis Einfach und bequem versandkostenfrei bestellen unter: herunterladen unter:

http://www.linux-user.de/bestellen http://www.linux-user.de/CE

96 www.linux-user.de 04.2017 Aktuelles Angetestet

Galerist Für das Erzeugen von Webgalerien ohne Das Erscheinungsbild der Galerie legen dynamische Inhalte bietet Lazygal eine Sie mit den Parametern default‑style Das intuitiv bedienbare interessante Alternative. Das Python-Tool und theme fest. Das Quellarchiv enthält generiert aus Bildverzeichnissen eine sta- vier Themes, die als Vorlage für eigene Lazygal 0.9.1 erzeugt im Hand‑ tische Galerie, die Sie nur noch hochla- Kreationen dienen können. Sie passen umdrehen schicke statische den müssen. Über einen Konsolenzu- die entsprechenden CSS- und HTML-­ ­Webgalerien und lässt sich auch gang etwa per SSH lässt sich Lazygal Dateien leicht an Ihre Wünsche an. per SSH nutzen. auch direkt auf dem Webserver ausfüh- Die Bildgröße definieren Sie über die ren. Die Konfiguration kann sowohl über Parameter image‑size und thumbnail‑­ eine Datei als auch via Kommandozeile size. Lazygal erzeugt JPEGs, deren Stan- erfolgen. Bei der Konfigurationsdatei dardqualität von 85 Prozent Sie bei Be- ­haben Sie die Wahl zwischen dem klassi- darf über ‑m anpassen. Rufen Sie Lazygal schen Ini-Format oder einem JSON-File. mit dem Schalter clean‑destination Im simpelsten Fall übergeben Sie Lazy- auf, entfernt es rekursiv alle nicht mehr gal beim Aufruf den Ord- benötigten Dateien aus dem Zielver- ner mit den Bildquellen. zeichnis. Dabei sortiert es die Bilder an- Es legt dann im aktuellen hand des EXIF-Datums und rotiert sie Verzeichnis die notwen- falls notwendig in die richtige Position. digen HTML-Dateien an Standardmäßig überschreibt Lazygal und erzeugt von jedem keine im Zielverzeichnis vorhandenen Bild Ableger in den Grö- Bilder. Um solche zu aktualisieren, müs- ßen klein, mittel und Vor- sen Sie sie vorher entfernen. schau. Soll das Ergebnis anderswo landen, geben Lizenz: GPLv2 n Sie das Ziel beim Aufruf Quelle http://sousmonlit.​­ zincube.​­ net/​­ ​ ­~niol/​­playa/​­oss/​­projects/​­lazygal/ mit dem Parameter ‑o an.

Gleichmacher Der Editor Vim dient vielen Anwendern gebenen Verzeichnis, bei > nur im zwei- als Allzweckwerkzeug für Konsolenauf- ten. Ein = kennzeichnet verlinkte Datei- Mithilfe des bedientechnisch an gaben. Mit Vim Directory Diff – kurz en. Ein Ausrufezeichen zeigt an, dass sich ­Vddiff – vergleichen Sie nun auch den In- der Inhalt zwischen den angegebenen Vim angelehnten Vddiff 1.7.0 halt von Verzeichnissen mithilfe von Vim. Quellen unterscheidet. Dateien ohne ­vergleichen Sie schnell einzelne Dazu kommen im Hintergrund bewährte Kennzeichnung liegen in beiden Quellen Dateien oder sogar ganze Tools wie Diff zum Einsatz. Vddiff bereitet identisch vor. Mit ‑n unterdrücken Sie die Verzeichnisstrukturen.­ dann als Wrapper die Ausgabe in Vim Ausgabe identischer Einträge. Die Fuß- auf. Möchten Sie lieber Less für die Aus- zeile von Vddiff zeigt immer die Metada- gabe verwenden, geben Sie beim Pro- ten des aktuellen Eintrags an. Neben Ei- grammstart den Parameter ‑d an; soll für gentümer und Zugriffsrechten findet Sie den Konsolen-Vim der grafische Gvim hier auch Dateigröße und Zeitstempel. einspringen, hängen Sie ‑g an. Einen al- Vorgaben für eine einheitliche Kon­ ternativen Betrachter definieren Sie über figuration hinterlegen Sie in der Datei ‑v. Um statt Diff Tkdiff zu ~/.vddiffrc. Hier passen Sie gegebe- verwenden, greifen Sie nenfalls auch das optische Erscheinungs- zum Parameter ‑k oder bild an, etwa über eine bestimmte Farb- geben alternativ mit ‑t gebung für die Vergleichszustände. Bei einen beliebigen ande- Bedarf lassen sich mit Vddiff auch einzel- ren Komparator an. ne vorher markierte Dateien kopieren Nutzen Sie Diff, erfolgt oder löschen. Eine Übersicht aller Tasten- die Markierung der Un- kürzel und Funktionen liefert ein Druck terschiede in gewohnter auf [H] oder ein Blick in die Manpage. Weise. Steht < vor einem Dateinamen, existiert die Lizenz: ISCL n Datei nur im ersten ange- Quelle http://n‑t‑roff.​­ github.​­ io/​­ vddiff/​­

8 www.linux-user.de 04.2017 Angetestet Aktuelles

Um den Inhalt von Textdateien auf der lung von Dateiformaten wie CSV, HTML Konsole auszugeben, greift man meist oder JSON. Sie aktivieren das mit dem Pa- Schönling zum GNU-Tool Cat. Das Python-Pro- rameter ‑‑with‑formatter. Ältere Versi- Als Alternative zu GNU Cat spielt gramm Azcat, kurz az, tritt als Alternative onen von Azcat erwarteten noch die An- zum Klassiker an und will dabei durch op- gabe des Formattyps, das aktuelle Re- Azcat 1.0.5 bei der Ausgabe von tische Aufbereitung punkten. Dazu über- lease leitet ihn selbstständig aus der ver- CSV- oder JSON-Dateien sein arbeitet es die auszugebenden Daten per wendeten Dateierweiterung ab. Syntax-Highlighting aus. Syntax-Highlighting, bevor es sie in der Geben Sie beim Aufruf den Parameter Konsole anzeigt. Um den jeweiligen Da- ‑P mit, leitet Azcat die Ausgabe in den tentyp korrekt zu bestimmen, greift Azcat im Code fest eingebauten Pa- auf Mime-Type-Informationen und das ger Less um. In Sachen Doku- Magic Byte der jeweiligen Datei zurück. mentation hat Azcat nicht viel Auf Funktionen wie Zeilennummerie- zu bieten. Es gibt lediglich eine rung oder die Anzeige der Zeilenenden Online-Dokumentation, die müssen Sie bei Azcat verzichten. Dafür kaum Anwendungsbeispiele sorgt das Tool dank Python mit Pretty bietet; eine Manpage fehlt. Eine Printing für eine übersichtliche Darstel- REQUIREMENTS-Datei im Quell- archiv führt alle benötigten Py- Lizenz: Public Domain nn thon-Bibliotheken auf, was die Quelle https://pypi.​­ python.​­ org/​­ pypi/​­ azcat/​­ Installation vereinfacht.

Ob Datenbank oder Tabellenkalkulation: chen. Mit den Parametern ‑n und ‑r de- CSV hat sich als Austauschformat zum finieren Sie alternative Ersatzzeichen. Gestaltwandler Weiterverarbeiten in externen Program- Mit Uncsv aufbereitete Inhalte lassen Beim Verarbeiten von CSV-­ men fest etabliert. Oft muss man die Da- sich via Pipe beispielsweise an Awk wei- ten aber nacharbeiten, damit das Zielsys- terreichen und dort verarbeiten. Um aus Dateien hängt Uncsv 0.9.1 tem sie verarbeiten kann. Hier hilft das den nachbearbeiteten Daten wieder ­sowohl funktionell als auch in handliche Werkzeug Uncsv weiter. Es eine CSV-Datei zu machen, liefert Uncsv Sachen Geschwindigkeit die dient als Filter, mit dem Sie Steuerzei- das Tool Csv mit. Es tauscht die alternati- ­Konkurrenz ­locker ab. chen vor dem Weiterverarbeiten aus ven Feldtrenner wieder gegen das etab- CSV-Dateien entfernen oder durch alter- lierte Komma und fügt gegebenenfalls native Zeichen ersetzen. Den Standard- Escape-Sequenzen und Quotas wieder feldtrenner ersetzt Uncsv durch das Pipe- ein. Während Uncsv keine Be- Zeichen, Sie dürfen aber auch einen an- grenzung bei der Zeilenlänge deren Trenner festlegen. Zeichenkombi- kennt, stößt Csv bei 65 536 nationen wie ein HTML-Tag funktionieren Zeichen an seine Grenze. Die hier aber nicht. Steuerzeichen für neue Manpage der Tools zeigt an- Zeilen oder Zeilenumbrüche ersetzt hand einiger Beispiele, wie Uncsv standardmäßig durch ein Leerzei- man Uncsv mit anderen GNU- Tools kombinieren kann, etwa Lizenz: ISCL nn um mit Csv eine Postgres-­ Quelle https://tamentis.​­ com/​­ projects/​­ ​ Tabelle in eine CSV-Datei zu ­uncsv/ konvertieren. (jlu) n Schwerpunkt Whonix

Sichere Kommunikation im Internet mit Whonix Nix da! © pakhnyushchyy, 123RF

Anonymität im Internet ge- Nicht erst seit Edward Snowdens Ent­ nicht nur diesen Zielgruppen einen inte­ hüllungen stellt sich für viele Anwender ressanten Ansatz: Innerhalb einer virtu­ winnt immer mehr Stellen- die Frage, wie sie ihre Kommunikation ellen Maschine (VM) läuft ein speziell gegen Ausspähversuche und Spionage­ ­gehärtetes und isoliertes System mit wert. Whonix bietet eine software absichern sollen. Dabei stehen ­Anschluss an das Internet über das Tor- häufig speziell bestimmte Berufsgrup­ Netzwerk. Diese Kombination ermög­ komfortabel zu installierende pen wie Journalisten oder Anwälte so­ licht eine verschlüsselte und nur schwer wie Whistleblower und politische Akti­ nachzuvollziehende Kommunikation. und umfassende Lösung, um visten im Fokus von Geheimdiensten Ihre Privatsphäre zu wahren. und anderen Behörden. Um verschlüs­ Quartett selt und anonym via Internet zu kommu­ nizieren, benötigen Betroffene beson­ Whonix erhalten Sie für Linux in insge­ Erik Bärwaldt dere technische Schutzmaßnahmen. samt vier Paketen: Neben einem vorbe­ Auch Unternehmer und Forscher zie­ reiteten Gateway für die Virtualbox mit hen die Aufmerksamkeit auf sich und rund 1,8 GByte Umfang liefern die Ent­ werden Ziel von Angriffen. Um unbefug­ wickler eine vollständige Arbeitsumge­ te Lauscher auszusperren, liefert nun das bung auf Basis von Debian „Stable“ mit README in Dresden beheimatete Whonix-Projekt einer Größe von rund 2,1 GByte, die ebenfalls in Virtualbox als gesondertes Für mehr Sicherheit im Internet gibt es un- System läuft. Die beiden Pakete liegen ter Linux zahlreiche einzelne Ansätze. Das Listing 1 komplett vorkonfiguriert im OVA-Format Debian-Derivat Whonix verfolgt dagegen  $ egrep '(vmx|svm)' /proc/cpuinfo zum Herunterladen bereit . Diese Lö­ ­einen umfassenderen Ansatz mit einer sung richtet sich an Einsteiger mit gerin­ flags : fpu [...] ds_ gen Netzwerkkenntnissen, die Entwick­ kompletten virtuellen Arbeitsumgebung, die cpl vmx est [...] dtherm arat ler beschreiben sie aber als noch in der ­sichere Kommunikation verspricht. [...] Testphase befindlich.

22 www.linux-user.de 04.2017 Whonix Schwerpunkt

Whonix läuft komplett in einer Virtual­ mit deren Hilfe sich die Datenintegrität box-Maschine, das Programm muss da­ der heruntergeladenen Pakete prüfen her zwingend auf Ihrem System instal­ lässt. Für Einsteiger stellen die Entwick­ liert sein. Die meisten Distributionen ler dazu eine Anleitung bereit . Whonix 13.0.0.1.4.für Virtualbox führen Virtualbox in ihren Repositories, LU/whonix/ sodass sich die Installation in der Regel Funktionsweise auf wenige Mausklicks beschränkt. Alter­ nativ laden Sie die Software direkt bei Whonix leitet den gesamten Datenver­ Oracle herunter . Dort finden Sie ent­ kehr mithilfe voreingestellter Firewall- sprechende Anleitungen zur Installation. Regeln über die im Gateway konfigurier­ Ihr Computer muss über eine CPU ver­ te Tor-Verbindung, während die Whonix- fügen, die die VT-x- oder AMD-V-Erwei­ Workstation als dem Gateway nachge­ terungen zur hardwareseitigen Virtuali­ schaltetes Bedieninterface für den An­ sierung beherrscht. Außerdem braucht wender dient. Die Workstation verbindet er mindestens 4 GByte RAM, da neben sich dabei über ein vom Host-System dem Host-Betriebssystem zwei virtuelle isoliertes Netz mit dem Internet. Maschinen für Whonix aktiv sind. Lis­ Das Gateway verfügt dazu über zwei ting 1 zeigt, wie Sie kontrollieren, ob der virtuelle Netzwerkschnittstellen. Damit Rechner die entsprechende Technik möchte das Projekt größtmögliche ­unterstützt. Liefert das Kommando ein ­Sicherheit für den Anwender erreichen: leeres Ergebnis zurück, ist der PC zu alt, Dieser Aufbau verhindert unter ande­ oder Sie müssen die Hardware-Virtuali­ rem, dass Unbefugte IP-Adressen oder sierung im BIOS des Rechners aktivieren. besuchte Webseiten abgreifen. Zudem wendet die vom Host-System abgekop­ Virtueller Speicher pelte VM, sollte ein Angreifer sie wirklich unbemerkt mit Malware kompromittie­ Whonix legt in den VMs zudem zwei vir­ ren, Schaden vom Host-System ab. tuelle Massenspeicher mit jeweils So verhindert das System DNS- und IP- 100 GByte Kapazität an, die anfangs auf Protokoll-Leaks und unterbindet mittels sprechende OVA-Datei im Dateimanager dem Datenträger insgesamt etwa Stream Isolation eine sogenannte Identi­ aus und klicken unten rechts auf Weiter. 10 GByte Plattenplatz in Anspruch neh­ ty Correlation. Diese Technik ermöglicht Sobald danach die Appliance-Einstellun­ men. Da Virtualbox diese Massenspei­ beim Verwenden identischer Übertra­ gen erscheinen, klicken Sie unten rechts cher dynamisch alloziert, die virtuellen gungswege im Tor-Netzwerk für ver­ im Fenster auf Importieren. Virtualbox Disks also erst mit der Auslastung auf schiedene Applikationen einem Angrei­ bindet nun das entsprechende Paket ein dem Datenträger wachsen, müssen Sie fer Rückschlüsse auf die Identität des und macht die VM einsatzbereit 1. nicht 200 GByte Massenspeicherkapazi­ Anwenders. Beachten Sie, dass Virtualbox einige tät für die beiden Komponenten von Um das hohe Sicherheitsniveau beizu­ Sicherheitsmerkmale von Linux nicht Whonix vorhalten. Der freie Festplatten­ behalten, sollten Sie jedoch auch mit unterstützt, wie etwa die Grsecurity-Er­ speicher sollte jedoch einen Mindestum­ dem Host sorgfältig umgehen, auf dem weiterungen des Kernels. Das macht ge­ fang von mehr als 20 GByte aufweisen. die virtuellen Maschinen arbeiten. Wird nerell eine auf KVM/​Qemu aufbauende In zwei weiteren, als stabil gekenn­ er durch Schadsoftware kompromittiert, VM mit vorhandener Grsecurity-Erweite­ zeichneten Paketen nutzt Whonix die im zieht das unter Umständen auch die VMs rung unter Debian sicherer als ein Stan­ Kernel verankerte KVM-Technologie, um in Mitleidenschaft. Es empfiehlt sich da­ dardsystem mit Virtualbox. KVM/​Qemu in einer virtuellen Maschine unter KVM/​ her, Whonix auf einem frischen Host-­ benötigt jedoch zur Installation und Qemu zu arbeiten. Hierzu stehen ein System zu installieren. Konfiguration detaillierte Systemkennt­ Gateway sowie eine Workstation von nisse. Eine Anleitung zur Aktivierung etwa gleichem Umfang wie für die Virtu­ Installation von KVM und der Installation der Who­ albox bereit . Diese lassen sich mithilfe nix-Komponenten finden Sie im Wiki . von Frontends wie dem Virtual Machine Um die beiden Whonix-Maschinen ein­ Manager nutzen, der ähnlich komfor­ zurichten, starten Sie Virtualbox und in­ In der Virtualbox tabel arbeitet wie Virtualbox. tegrieren nacheinander sowohl Gateway Zu beiden Lösungen finden Sie zudem als auch Workstation über den Eintrag Nach Anlegen des Gateways und der im Download-Bereich die dazugehöri­ Appliance importieren… im Menü Datei. Whonix-Maschine starten Sie in Virtual­ gen OpenPGP-Signaturen und Schlüssel, Im folgenden Dialog wählen Sie die ent­ box zunächst das Gateway. Die Software

04.2017 www.linux-user.de 23 Schwerpunkt Whonix

1 Die Installation der beiden Whonix-Module haben Sie im 2 Mithilfe eines Assistenten bauen Sie bei Bedarf in Whonix die Frontand von Virtualbox schnell erledigt. Tor-Verbindung auf, um geschützt zu kommunizieren.

aktiviert nach entsprechender Auswahl bindung über Tor, eine Anbindung ohne schließt sich der Assistent, die Grund­ im Bootmanager innerhalb kurzer Zeit Tor oder ein Netzzugang über einen konfiguration des Systems steht 3. einen frisch wirkenden KDE-4.14.2-Desk­ Proxy-Server mit laufender Firewall 2. Sie finden nun auf dem KDE-Desktop top, wobei Debian 8 in der 32-Bit-Varian­ Nach dem Herstellen des Netzzugangs eine stattliche Anzahl verschiedener te als Grundlage dient. Daher halten sich sucht der Assistent in den Whonix-Repo­ Icons, die allesamt zu Konfigurati­ die Hardware-Anforderungen der VM in sitories „Stable“, „Updates“, „Testers“ und onstools verzweigen. Sie dienen der gra­ Grenzen, sie arbeitet auch auf einem „Developers“ nach Aktualisierungen. fischen Verwaltung von Firewall, Tor und System mit nur 4 GByte Arbeitsspeicher Gleichzeitig blendet die Software Hin­ Whonix selbst. Als zentrale Elemente problemlos. weise zum Anpassen der Lokalisierung ­fallen hier der Arm-Tor Controller und die Zunächst öffnet sich ein Fenster mit ein und warnt davor, die Gateway-Ma­ Firewall Settings auf, wobei diese zusätz­ einigen allgemeinen Informationen, die schine als Arbeitsplatz zu nutzen: Sie lich zwischen globalen und anwender­ Sie bestätigen müssen. Danach er­ dient ausschließlich der Konfiguration bezogenen Firewall-Einstellungen unter­ scheint ein Setup-Assistent, in dem Sie von Tor und Whonix. Nach entsprechen­ scheiden. festlegen, wie Sie das Gateway einrich­ der Bestätigung spielt das System vor­ Der Arm-Tor Controller („Anonymizing ten wollen. Zur Auswahl stehen eine Ver­ handene Aktualisierungen ein. Danach Relay Monitor-Tor Controller“) fungiert dabei als Monitor für das Tor-Gateway und zeigt nicht nur diverse statistische Werte an, sondern außerdem Daten­ durchsatzraten und spezielle Meldun­ gen zur Verbindung. Die Firewall funkti­ oniert vollkommen unabhängig von der Firewall des Host-Systems und ist bereits – in den globalen Einstellungen – ent­ sprechend gehärtet.

Anpassungen

Als Erstes nehmen Sie einige grundle­ gende Anpassungen im Gateway vor, um das System gegen physischen Zu­ griff durch Unbefugte abzusichern. Als Standardbenutzer dienen im Whonix- Gateway die Anwender user und root, je­ weils mit dem Passwort changeme. Mit den im Terminal eingegebenen Befehlen 3 Der Standard-Desktop von KDE 4.14.2 bildet die Grundlage von Whonix. sudo passwd user und sudo passwd

24 www.linux-user.de 04.2017 Whonix Schwerpunkt

root lassen beide Kennwörter schnell lädt, benötigt dieser Vorgang im Ver­ ändern. In einem weiteren Schritt emp­ gleich zu einem herkömmlichen Debian- fiehlt es sich, die in der Vorgabe US-ame­ System mehr Zeit. rikanische Tastaturbelegung zu ändern. Die Entwickler bieten daher eine Option, Über das Menü Settings | System Set- die Updates zu konfigurieren. Sie öffnen tings | Input Devices wechseln Sie auf das diese durch Anklicken des Symbols deutsche Layout. Whonix Repository auf der Arbeitsober­ fläche. Im Dialog definieren Sie, ob Sie Konfiguration die neuen Dateien lieber manuell oder automatisiert aus einem Whonix-Repo­ Die Entwickler haben zudem eine Routi­ sitory einspielen möchten. ne in das System implementiert, mit der Bemerken Sie Probleme beim Inter­ sich jederzeit die korrekte Konfiguration net-Zugang, konfigurieren Sie den Tor- des Systems überprüfen lässt. Dazu kli­ Dienst neu und starten diesen erneut. cken Sie einfach auf das Symbol Whonix- Whonix stellt dazu mit Whonix Setup – Check auf der Arbeitsoberfläche. Die Ap­ Whonix connection wizard auf dem Desk­ plikation führt nun verschiedene Tests top ein grafisches Tool bereit. Über die durch und kontrolliert, ob eine korrekte Icons Stop Tor, Reload Tor und Restart Tor Verbindung zum Tor-Dienst besteht und lässt sich der Dienst aus der laufenden ob für das Betriebssystem Updates an­ Sitzung heraus steuern. stehen. Diese Prüfungen beanspruchen einige Minuten. Danach teilt Ihnen das Programm die Ergebnisse in einem ­Informationsfenster mit 4. Weiter stellen Sie ein, wie das System auf anstehende Updates reagieren soll. Voreingestellt spielt es Aktualisierungen automatisch ein, sobald Sie im Terminal mittels sudo apt‑get dist‑upgrade ein allgemeines Update anstoßen. In diesem Fall installiert die Routine sämtliche Up­ dates der Debian- wie auch der Whonix- Entwickler. Da die Paketverwaltung die Daten ebenfalls durch das Tor-Netzwerk 4 Mithilfe einer automatisierten Routine überprüfen Sie die Funktion von Whonix.

04.2017 www.linux-user.de 25 Schwerpunkt Whonix

Auch die Firewall-Einstellungen lassen parameter überprüft. Zum erfolgreichen sich mithilfe der vorhandenen Werkzeu­ Abschluss von Whonixcheck muss das ge einfach modifizieren. Die voreinge­ Whonix-Gateway aktiv sein, da die Work­ stellten Regeln erreichen Sie über das station dessen isoliertes Netz zum Inter­ Symbol Global Firewall Settings auf der net-Zugang nutzt. Ohne ein korrekt ar­ Arbeitsoberfläche. Nach anschließender beitendes Gateway beendet Whonix­ Authentifizierung öffnet sich Kwrite mit check sich mit einer Fehlermeldung. den Firewall-Optionen, die für das ge­ Wie das Gateway stellt auch die Work­ samte System gelten. station einen KDE-Desktop in Versi­ In der Textdatei reihen sich die Regeln on 4.14.2 zur Verfügung, samt US-Tasta­ unter entsprechenden Überschriften ein, turlayout. Es folgen die bereits bekann­ wobei der aktiv geschalteten Regel ein ten Schritte: Unter System Settings | Input kommentierter Absatz mit einer Erklä­ Devices aktivieren Sie die deutsche Tas­ rung vorausgeht. So lässt sich schnell taturbelegung, über sudo apt‑get nachvollziehen, welche Regel welchem dist‑upgrade spielen Sie anschließend Zweck dient 5. alle anstehenden Updates ein. Nach Änderungen an der Konfigura­ Danach klicken Sie auf der Ar­ tion speichern Sie die Datei und aktivie­ beitsoberfläche auf das Symbol Tor Brow- ren die neuen Regeln durch einen Maus­ ser (AnonDist). Whonix öffnet nun einen klick auf das Desktop-Symbol Reload Dialog zur kryptografisch verifizierten In­ Firewall. Eigene Firewall-Regeln definie­ stallation des Tor-Browsers: Er fehlt auf­ ren Sie über User Firewall Settings auf grund schneller Update-Zyklen in der dem KDE-Desktop, der ein leeres Kwrite- virtuellen Maschine. Sie erhalten über Fenster präsentiert. Hier tragen Sie eige­ das Skript stets die aktuellste Variante ne Regeln frei ein. Diese aktiviert das des Browsers, wobei die Routine mehre­ System ebenfalls nach dem Speichern re Versionen zur Auswahl stellt. Das Her­ und Neuladen der Firewall. unterladen des Tor-Browsers erfolgt be­ reits über das Tor-Netzwerk und geht Workstation ­daher deutlich langsamer vonstatten als über eine direkte Verbindung 6. Für das anonyme Surfen im Internet ver­ Während der Sitzung lässt sich der Weitere Infos und wenden Sie die Whonix-Workstation. ­gesamte Datentransfer sehr bequem im interessante Links Nach dem Hochfahren startet das Sys­ Whonix-Gateway verfolgen. Das Monito­ tem wie schon beim Gateway das Pro­ ring rufen Sie über den Eintrag Arm – Tor www.linux​­ ‑user.de/​­ qr/​­ 38728​­ gramm Whonixcheck, das die System­ Controller auf. In einem übersichtlich ge­

5 Die Firewall des Systems konfigurieren Sie über eine einfache 6 Das System der Whonix-Workstation lädt den Tor-Browser Textdatei im Editor. Dazu ist aber einiges an Grundwissen nötig. beim ersten Start aus dem Netz und installiert ihn automatisch.

26 www.linux-user.de 04.2017 Whonix Schwerpunkt

haltenen Ncurses-Bildschirm zeigt Ihnen len die durch Virtualbox und die zwei verfügen. Sind diese allerdings Voraus­ das System die Transferraten sowie ver­ darin laufenden virtuellen Maschinen setzungen erfüllt, stellt das komplett iso­ schiedene statistische Daten zum akti­ bedingten hohen Anforderungen an die lierte Gastsystem eine der besten Mög­ ven Internetzugang und den System­ zugrunde liegende Hardware dar: Für lichkeiten dar, jederzeit einen anonymen ressourcen an 7. flüssiges Arbeiten sollte der Computer Internetzugang aufzubauen und so si­ über einen halbwegs aktuellen Prozes­ cher und unerkannt mit einer Gegenstel­ Test sor, reichlich RAM und viel Speicherplatz le zu kommunizieren. (cla) n

Nach erfolgreicher Installation des Tor- Browsers steht dieser über das Symbol Tor Browser (AnonDist) auf dem Desktop zum Einsatz bereit. Ansonsten finden sich auf dem Desktop lediglich noch zwei Programmstarter für Chat-Anwen­ dungen. Auch die Untermenüs lassen die üblichen Anwendungen vermissen und präsentieren ausschließlich Soft­ ware, die Online-Anwendungsbereiche abdeckt, wie Video- und Audio-Player oder PDF-Viewer. Um die Sicherheit des Internetzu­ gangs zu überprüfen, geben Sie im Tor- Browser die URL http://www.ip‑check. info ein. Nach einer eingehenden Prü­ fung der Verbindungsparameter erhal­ ten Sie eine Auflistung der sicherheits­ relevanten Komponenten 8. Um auf Webseiten gern genutzte unsichere 7 Der Monitor in Whonix-Gateway zeigt Ihnen sehr übersichtlich, was sich gerade auf Technologien zu vermeiden, nutzt der der durch den Onion-Routing-Dienst Tor getunnelten Leitung tut. Tor-Browser von Haus aus die Erweite­ rungen NoScript und HTTPS Everywhere, die Skripte und unverschlüsselte Verbin­ dungen unterbinden.

Fazit

Mithilfe von Whonix erzielen Sie auch auf herkömmlichen Linux-Systemen ein hohes Maß an Anonymität im Internet. Im Gegensatz zu externen Speziallösun­ gen wie gehärteten Distributionen auf USB-Sticks, die im Nur-Lese-Modus ar­ beiten, eignet sich Whonix auch für stati­ onäre Rechner. Dem Anwender bleibt dabei erspart, zum Wechsel auf das ­sichere System neu Booten zu müssen. Dabei isoliert sich Whonix als Gast völlig vom Wirtsrechner, sodass sich zwischen der Whonix-VM und dem Host keine Da­ ten austauschen lassen – sei es gewollt oder ungewollt. Zudem halten die Entwickler aus Dres­ den das Debian-Derivat stets auf dem 8 Nahezu alles im grünen Bereich: Whonix verhindert auf verschiedenen Wegen recht aktuellen Stand. Das einzige Manko stel­ erfolgreich, dass das System beim Surfen zu viel über den Benutzer verrät.

04.2017 www.linux-user.de 27 Praxis Shell-Kurs, Teil 3

Shell-Workshop, Teil 3 Ordnung schaffen

Kleine Shell-Tools helfen in vielen Alltagssituationen. Unser Kurs stellt die wichtigsten

Kommandos vor und zeigt, wie Sie diese sinnvoll im Alltag einsetzen. Harald Zisler

Die grundlegenden Rechenarten stehen Sie die Anzahl der zu berücksichtigen- der ab. Ergibt das Ergebnis keine führen- in Shell-Skripten über simple Operatoren den Nachkommastellen über die Anwei- de Stelle vor dem Komma, so gibt das bereit. Dabei steht das Plus + für die Ad- sung scale=Anzahl vor. Tool keine führende Null aus. Das gilt es dition, das Minus ‑ für die Subtraktion, Neben den vier Grundrechenarten be- beim weiteren Verarbeiten unter Um- der Asterisk * für die Multiplikation und herrscht das Programm unter anderem ständen zu berücksichtigen. Listing 2 der Schrägstrich / für die Division. auch die Anweisung sqrt(Wert) zum zeigt einige Berechnungen. Operationen mit ganzen Zahlen erfor- Berechnen der Quadratwurzel. Mit den dern es, dass Sie den Ausdruck in dop- Angaben ibase=Zahl beziehungsweise Funktionen und Rechnungen pelte Klammern setzen. Es gelten die obase=Zahl wählen Sie das Zahlensys- ­Regeln „Klammern zuerst“ und „Punkt- tem (dual, dezimal, oktal, sedezimal) für Das Shell-Skript aus Listing 3 zeigt das vor-Strich“ (Listing 1). die Ein- respektive Ausgabe. Zusammenspiel von Funktionen und Be- Bc verfügt über einen interaktiven rechnungen, als Ergebnis liefert es eine Berechnungen mit Bc Modus, es eignet sich aber auch für Tabelle zurück. Jede Zeile enthält dabei Skripte. Wie in der Shell trennen Sie Prozentwerte zur Basis 125, beginnend Genaue Berechnungen ermöglicht das auch im interaktiven Betrieb die Kom- mit 1 und endend mit 20 Prozent. Kommandozeilen-Tool Bc. Dabei geben mandos mittels Semikolon (;) voneinan- Die Schleife zum Berechnen der Werte steht in einer Funktion (siehe Teil 2 die- ses Workshops). Jede Zeile enthält ­neben dem Prozentsatz den eigent­

README Listing 1

Neben Rechenoperationen erledigen Sie #!/bin/bash a=2 mit der Shell selbst komplexe Modifikatio- b=3 nen an Textdateien. Wir geben einen Über- blick über die gesamte Bandbreite an Werk- # Ergebnis sofort Variablen zuweisen

zeugen und entsprechenden Kommandos. Fotolia © Womue, c=$(( 2 + 8 )) echo $c

Shell-Kurs echo $(( $a * $a )) Teil 1 LU 02/​2017, S. 46 http://​­www.​­linux‑community.​­de/​­38040 echo $(( $c / 5 )) Teil 2 LU 03/2​ 017, S. 60 http://​­www.​­linux‑community.​­de/​­38291 echo $(( $a ‑ $c ))

48 www.linux-user.de 04.2017 Shell-Kurs, Teil 3 Praxis

lichen Wert. Dabei kommt Printf zum Unterschiede ermitteln ­Einsatz, das ebenfalls im letzten Teil des Workshops Thema war. Mit Diff ermitteln Sie Unterschiede zwi- schen Textdateien. Das Tool verfügt über Listings und Beispieldateien Texte durchsuchen einige interessante Optionen, die die Ta- LU/shell‑kurs‑3/ belle Diff-Optionen zusammenfasst. Der Mittels Grep durchsuchen Sie Textdatei- Exit-Code 0 zeigt an, dass die vergliche- en, mit Pdfgrep stattdessen PDF-Doku- nen Dateien identisch ausfallen, 1 mel- mente. Beide Programme liefern grund- det Differenzen zwischen den Files. sätzlich den Exitcode 0 bei einem Treffer Das in Listing 5 gezeigt Skript legt zu- und 1, falls sie nichts Passendes finden. nächst die beiden nahezu identischen Die Tabelle Suchaktionen fasst die wich- Files A‑Datei und B‑Datei an (siehe Ta- tigsten Optionen beider Programme zu- belle Datensätze). Beide weisen dieselbe sammen. Listing 4 zeigt, wie Sie Grep in Größe auf – auf diesem Weg lässt sich ein Skript einbinden. Die in dem Skript also kein Unterschied feststellen. Zuerst verwendete Textdatei datei1.txt er- vergleicht das Skript die beiden Daten- zeugt das Skript selbst und löscht sie am sätze durch einen Aufruf von diff (Zei- Schluss auch wieder. Sie besteht ledig- le 6). Dann erstellt es unter dem Namen lich aus zwei nummerierten Zeilen. C‑Datei eine Kopie von A‑Datei (Zei-

Listing 2 Listing 3 #!/bin/bash #!/bin/bash a=100 a=125 b=0 n=0 c=0 prozenttabelle () { # Summen und Differenzen while true; do for i in 20.32 ‑49.57 81.62; do n=$(( $n + 1 )) b=$(echo "$b + $i" | bc) printf "Ergebnis für $n v.H.: %10.2f \n" $(echo c=$(echo "$c ‑ $a ‑ $i" | bc) "scale=50;$a/100*$n" | bc) done if [ $n ‑eq 20 ]; then echo $b break echo $c fi done # Multiplikation mit Rundung } h=$(echo "scale=50;45.48 * 0.458" | bc) echo "ungerundetes Ergebnis: $h" prozenttabelle # Bc kürzt auf drei Nachkommastellen echo "Fertig" echo ‑n "Auf drei Nachkommastellen abgeschnitten: "; echo "scale=3;45.48 * 0.458" | bc # aber mit Rundung durch printf: Suchaktionen printf "Ausgabe $h mit 'printf': %10.3f \n" $h Grep Pdfgrep Aktion

# Division, Vor‑ und Nachkommastellen setzen ‑q ‑q ohne Bildschirmausgabe for i in ‑639/852 ‑852/639 639/852 852/639; do ‑m Zahl ‑m Zahl maximale Trefferzahl m=$(echo "scale=10;$i" | bc) ‑l ‑ nur Dateinamen mit Treffern anzeigen # Printf setzt fehlende Null bei der Ausgabe ‑L ‑ nur Dateinamen ohne Treffer anzeigen echo ‑n "Ausgabe bc: $m "; ‑h ‑h Anzeige von Dateinamen unterdrücken printf "Ausgabe mit 'printf': %10.2f \n" $m ‑H ‑H zusätzlich Dateinamen zum Treffer anzeigen done ‑n ‑ Zeilennummer des Treffers ausgeben ‑ ‑n Seitennummer des Treffers ausgeben # Quadratwurzel printf "Wurzel aus 99, fünfstellig: %10.5f \n" ‑c ‑c Zahl der Treffer ausgeben $(echo "scale=50;sqrt(99)" | bc) ‑v ‑ Inverssuche

04.2017 www.linux-user.de 49 Praxis Shell-Kurs, Teil 3

le 14), die es anschließend wiederum mit ren Felder jeweils ein bestimmtes Zei- Das führt bei entsprechender Konfigura- dem Original vergleicht (Zeile 17). Die chen voneinander trennt (Listing 6). Mit tion dazu, dass bei der Ausgabe der ers- Ausgabe zeigt also die Ergebnisse von dem Befehl cut schneiden Sie die einzel- ten drei Bytes aus einem „Maier“ zwar Diff sowohl für unterschiedliche (A vs. B) nen Felder im wortwörtlichen Sinn aus. ein „Mai“ wird, die Zeichenkette „Müller“ als auch identische (A vs. C) Dateien. Die Optionen des Befehls zeigt die Ta- dagegen aber zu einem „Mü“ verkommt. Zu guter Letzt entsorgt das Skript die belle Cut-Optionen. Die Ausgabe der Da- nun überflüssigen Testdateien wieder tenfelder (‑fFelder) erfolgt in derselben Mit Awk Zeilen trennen (ab Zeile 25). Reihenfolge, in der diese in der Zeile ste- hen. Um davon abzuweichen, verwenden Anders als bei Cut geben Sie mit Awk die Texte verarbeiten Sie entweder ein Programm wie Awk Spalten einer strukturierten Textdatei oder belegen in einem Skript verschiede- wahlfrei aus. Das Trennzeichen definie- Eine Reihe von kleinen Helfern arbeiten ne Variablen mit jeweils einem Datenfeld. ren Sie dabei mit ‑FTrenner. Das Skript als Spezialist­ en auf reinen Textdateien. Das Listing 7 zeigt einige Funktions- in Listing 8 zeigt den Gebrauch des Für die Beispiele kommt die strukturierte beispiele und verdeutlicht die Umlaute- Werkzeugs für diesen Einsatzbereich. Datei Adressen.txt zum Einsatz. Deren Problematik: In der UTF-8-Kodierung Sie sprechen dabei die Felder über Zeilen verhalten sich wie Datensätze, de- sind Umlautzeichen mehrere Bytes lang. ­deren Position im Datensatz an: Dabei

Listing 4 Listing 5 #!/bin/bash 01 #!/bin/bash # Testdatei erzeugen 02 echo ‑e "Hans\nChristian\nAnna\nMaria" > A‑Datei echo ‑e "Zeile 1\nZeile 2" > 03 echo ‑e "Hans\nChristian\nBert\nMaria" > B‑Datei datei1.txt 04  echo "‑‑‑‑‑‑‑" 05 echo ‑e "Vergleich von A‑Datei und B‑Datei" cat datei1.txt 06 diff ‑q A‑Datei B‑Datei echo "‑‑‑‑‑‑‑" 07 if [ $? ‑eq 0 ]; then 08  echo "Dateien A‑Datei und B‑Datei sind identisch." # Suchbegriff: einstellige Zahl 09 else 10  echo "" read ‑n1 ‑p "einstellige Zahl eingeben: " a 11 fi 12  13 # Kopieren A‑Datei ‑> C‑Datei # Durchsuchen und Folgerung 14 cp A‑Datei C‑Datei echo "" 15  cat datei1.txt | grep ‑q "$a" 16 echo ‑e "Vergleich von A‑Datei und C‑Datei" if [ $? ‑eq 0 ]; then 17 diff ‑q A‑Datei C‑Datei echo "Zahl" $a "ist vorhanden" 18 if [ $? ‑eq 0 ]; then else 19  echo "Dateien A‑Datei und C‑Datei sind identisch." echo "Zahl" $a "nicht gefunden" 20 else fi 21  echo "" 22 fi # Testdatei wieder löschen 23  rm ‑r datei1.txt 24 # Aufräumen 25 for datei in A B C; do 26  rm ‑r $datei‑Datei Diff-Optionen 27 done Option Aktion ‑q Ausgabe der Unterschiede unterdrücken Listing 6 ‑i Groß/Kleinschreibung​ ignorieren Bayer:Anton:Hauptstraße 5:99998:Nirgendwo:25 ‑Z führende Leerstellen ignorieren Baier:Franz:Nebenstraße 10:99997:Auchwo:10 ‑E Tabulatoren ignorieren Müller:Karl:Rue d'Han Tien 99:93047:Ratisbonne:3 ‑w alle Leerstellen ignorieren Meier:Maria:Querstraße 18:99998:Nirgendwo:43 ‑B Leerzeilen ignorieren Maier:Martina:Kreuzstraße 109:99997:Auchwo:9

50 www.linux-user.de 04.2017 Shell-Kurs, Teil 3 Praxis

steht $1 für das erste Feld, $2 für das Dieses Beispiel mag zwar wegen zweier Bedarf kombinieren. Das Programm zweite und so weiter. Die Variable $0 benötigter Befehle umständlich erschei- agiert weder interaktiv, noch kann es enthält den kompletten Datensatz. nen, aber die einfache Syntax gleicht Dateien zum Lesen und Bearbeiten öff- den Nachteil aus (Listing 9). Das Pro- nen. Ein typischer Sed-Befehl liest sich Textdateien zerlegen gramm hat die Aufgabe, die dritte Zeile auf den ersten Blick etwas kryptisch. Zu- unserer Adressdatei mit den Daten von dem ist das Konzept als solches anfangs Neben Cut und Awk gibt es auch Tools, Herrn Müller wiederzugeben. gewöhnungsbedürftig, da die Syntax die Textdateien zeilenweise manipulie- Alternativ nutzen Sie den Stream-Edi- vom üblichen Baukastensystem der ren. Diese Programme geben einzelne tor Sed zum Ausschneiden von Zeilen, Shell-Befehle abweicht. Die Tabelle Sed- Zeilen oder Bereiche einer Textdatei aus. wobei Sie die gewünschte Zeile direkt Operationen zeigt zusammenfassend al- Mit head ‑Zeile geben Sie entspre- ansprechen (Listing 10). Als Parameter les Wichtige. Listing 12 zeigt einige Bei- chend dem Wert von Zeile eine defi- übergeben Sie einen Zeilenbereich, im spiele aus der Praxis. Zum einen ist wie- nierte Anzahl von Zeilen vom Anfang Beispiel von Zeile 3 bis Zeile 3. Daneben der der Tausch Punkt gegen Komma ­einer Datei aus, mit tail ‑Zeile klappt erwartet Sed eine Handlungsanweisung, Thema, eine Aufgabe, die Sie in Lis- das vom Ende der Datei aus. in unserem Fall eine Ausgabe (p, „print“). ting 11 mittels Tr erledigt haben. Diese Kombinieren Sie beide, besteht die Anwendung fungiert in diesem Skript Möglichkeit, sogar gezielt eine einzige Suchen und Ersetzen wieder als Funktion. Zeile auszuwählen. Dazu gehen Sie vom Darüber hinaus sehen Sie den Tausch Kopf her mit head heran und geben als Einzelne Zeichen oder ganze Zeichen- eines Feldtrenners. Gerade beim Arbei- Zahl die Zeile an, die Sie benötigen. Mit- klassen löschen oder ersetzen Sie mit ten mit CSV-Dateien und Skripten für tels tail ‑1 in der Pipe unterdrücken dem Befehl tr. Die entsprechende Opti- Datenbanken erledigen Sie auf diese Sie dann alle anderen Zeilen. on lautet ‑d. Die Klassen, die Sie dabei Weise viele Vorgänge. Als letzte Aufgabe verwenden dürfen, finden Sie in der Ta- löscht das Skript ein Zeichen. belle Zeichenklassen. Listing 7 Listing 11 zeigt den Einsatz des Tools Text sortieren #!/bin/bash in der Praxis. Shell-Skripte für den Zugriff # Ausgabe von Name, Vorname und auf Datenbanken oder zum Erfassen von Gerade im Zusammenhang mit CSV-Da- Ort Daten benötigen oft eine Funktion, um teien, Datenbanken und mit dem Befehl cut ‑d\: ‑f1,2,5 < Adressen.txt den Dezimaltrenner gegen ein Komma echo "‑" auszutauschen. Das erlaubt numerische # Ausgabe der ersten 3 Bytes Eingaben mit dem Ziffernblock der Tas- Cut-Optionen cut ‑b1‑3 < Adressen.txt tatur. Feldtrennern und anderen Sonder- Aktion Option echo "‑" zeichen maskieren Sie in diesem Fall mit- ‑dTrennzeichen Feldtrenner angeben # Ausgabe der ersten 3 Zeichen tels Backslash (\). cut ‑c1‑3 < Adressen.txt ‑fFelder Angabe der Felder ‑s Zeilen ohne Felder Mit Sed suchen und ersetzen auslassen ‑bBytes Angabe der Bytes Listing 8 Der Stream-Editor, kurz Sed, arbeitet als ‑cZeichen Angabe der Zeichen #!/bin/bash Filter. Dabei beherrscht er die grundsätz- # Darstellung einzelner Spalten lichen Operationen zum Suchen, Erset- aus einer zen, Anfügen und Löschen, die Sie bei # strukturierten Textdatei Zeichenklassen mittels awk Klasse Zeichen awk ‑F\: '{ print $2" "$4" "$1 }' Listing 9 [:alnum:] alphanumerische Zeichen Adressen.txt #!/bin/bash [:alpha:] Buchstaben # Auslesen der dritten Zeile [:cntrl:] Steuerzeichen head ‑3 < Adressen.txt | tail ‑1 [:digit:] Zahlen Datensätze [:graph:] Grafikzeichen [:lower:] Kleinbuchstaben A‑Datei B‑Datei Listing 10 [:print:] druckbare Zeichen Hans Hans [:punct:] Satzzeichen Christian Christian #!/bin/bash [:space:] Leerzeichen Anna Bert # Holen der Zeile 3 mit sed [:upper:] Großbuchstaben Maria Maria sed ‑ne '3,3p' Adressen.txt [:xdigit:] Hexadezimalzahlen

04.2017 www.linux-user.de 51 Praxis Shell-Kurs, Teil 3

uniq, mit dem Sie mehrfach vorkom- wie Sie bei strukturierten Textdateien tigsten Optionen auf, Listing 14 zeigt ei- mende, identische Zeilen filtern, benöti- eine Spalte angeben, die als Sortierkrite- nige Praxisbeispiele. Im Alltag versehen gen Sie den Befehl sort: Dieser bringt rium dient. Dazu müssen Sie zusätzlich Sie damit vorsortierte Dateien mit ein- das Ausgangsmaterial in einem ersten den Feldtrenner benennen, der die deutigen Zeilennummern. Das hilft vor Schritt in eine geordnete Form. Die Ta- ­Datensätze voneinander abgrenzt. allem dann, wenn Sie über diverse Such- belle Sort-Optionen zeigt Ihnen einige funktionen gezielt einzelne Zeilen an- der umfangreichen Möglichkeiten des Zeilen nummerieren sprechen müssen. flexiblen Programms. Listing 13 zeigt drei Beispiel: Zunächst In einigen Fällen kann der Bedarf entste- Identische Zeilen sortiert das Skript die Adressdatei alpha- hen, die Zeilen von Textdateien zu num- numerisch aufsteigend, anschließend merieren. Das erledigen Sie mittels nl. Zusammen mit Sort setzen Sie das Kom- rückwärts. Im dritten Beispiel sehen Sie, Die Tabelle Nl: Optionen führt die wich- mando uniq ein, um doppelt vorhande-

Listing 11 Listing 12 #!/bin/bash #!/bin/bash # Dezimaltrenner tauschen # Dezimaltrenner austauschen als Funktion. # als Funktion # Punkt muss für Sed als Sonderzeichen dezimal () { # entwertet werden. a=$(echo $a | tr \. \,) dezimal () { } a=$(echo $a | sed s'/\./,/g') a=12.34 } echo " Vor Funktion: $a" dezimal a=12.34 echo "Nach Funktion: $a" echo " Vor Funktion: $a" echo "‑" dezimal # Feldtrenner durch Tabulatoren ersetzen echo "Nach Funktion: $a" tr \: \\t < Adressen.txt echo "‑" echo ‑e "\n‑‑" # Umstellung auf Großschreibung, Methode mit # Feldtrenners gegen Tabulatoren tauschen # Zeichendefinitionen, nur erste Zeile wird sed s'/\:/\t/g' Adressen.txt # ausgegeben, Sonderbehandlung ß echo ‑e "\n‑‑" head ‑1 < Adressen.txt | tr a‑zäöü A‑ZÄÖÜ | tr ß SS echo "‑‑‑" # Löschen eines Zeichens, hier ":" # Umstellung auf Großschreibung, head ‑1 < Adressen.txt | sed s'/\://g' # kürzere Methode, nur erste Zeile # wird ausgegeben, Sonderbehandlung ß head ‑1 < Adressen.txt | tr [:lower:] [:upper:] | tr ß SS Sed-Operationen echo "‑‑‑‑" Befehl/​Option Wirkung # Löschen eines Zeichens, hier ":" ‑e Bearbeiten head ‑1 < Adressen.txt | tr ‑d \: ‑n Ausgabe der restlichen Daten wäh- rend des Verarbeitens unterdrücken ‑f Angabe einer Skript-Datei Sort-Optionen Editier-Anweisungen Option Aktion 'Zeilennummerd' Löschen ‑b führende Leerzeichen ignorieren s'/Alt/Neu/s‑Anweisung' Suchen und Ersetzen ‑c prüfen, ob Datei bereits sortiert ist '/Suchbegriff/p' Suchen ‑f Groß/​Kleinschreibung ignorieren 'Zeilennummer,U Ausgeben nach Zeilennummer ‑m sortierte Dateien zusammenführen Zeilennummerp' ‑o Datei Ergebnis in Datei umleiten Zusatzanweisung für Suchen und Ersetzen ‑r in umgekehrter Reihenfolge sortieren g Ersetzen aller übereinstimmender ‑n numerisch sortieren Suchmuster ‑t'Trenner' Angabe des Feldtrenners p Ausgabe des geänderten Puffers ‑u mehrfach vorhandene Zeilen nur einmal ausgeben wDatei Ergebnis in Datei schreiben

52 www.linux-user.de 04.2017 Shell-Kurs, Teil 3 Praxis

ne Zeilen zu erkennen und zu behan- Zusammenfügen tiert sind. Die Eingabe paste ‑s Datei1 deln. Das Tool erwartet die mehrfach Datei2 > neu.txt setzt die Dateien in vorhandenen, identischen Zeilen stets Mit cat fügen Sie Textdateien seriell, also der Form zusammen, dass jede Datei direkt aufeinander folgend – daher die hintereinander zusammen. Wenn Sie eine Spalte bildet. Kombination mit Sort. Die wichtigsten ­dabei für die Dateinamen nur * ange- Optionen fasst die Tabelle Uniq-Optio- ben, erfolgt die Reihung in deren alpha- Fazit nen zusammen. numerischen Reihenfolge. Als Datensatz für die Beispiele dient Möchten Sie das Ergebnis in eine neue Neben den eingebauten Funktionen der die Datei einzigartig.txt, die Sie in Lis- Datei schreiben, dann lenken Sie dazu Bash stehen eine Vielzahl von weiteren ting 15 sehen. Das Beispiel aus Listing 16 die Ausgabe entsprechend um: Tools bereit, die sich aber zum größten zeigt Ihnen verschiedene Abläufe. Inte­ Teil nahtlos in Skripte integrieren. ressant für die Praxis ist das Umkehren $ cat DATEI1 DATEI2 .... > neu.txt Wer sich mit den kleinen Helfern erst des Befehls, nämlich nur einfach vorhan- $ cat *.txt > neu.txt einmal genauer beschäftigt hat, der dene Zeilen auszugeben. Auch das Igno- schreckt selbst vor komplexen Operatio- rieren der Groß- und Kleinschreibung er- Mit paste fügen Sie Dateien spaltenweise nen nicht zurück. weist sich oft als hilfreich. zusammen. Das setzt voraus, dass die Der klare Fokus der einzelnen Tools er- Quelldateien dieselbe Länge haben. Bei leichtert es dabei, diese untereinander Bedarf überprüfen Sie dies mit wc ‑l in zu kombinieren und trotzdem den Über- Listing 13 einem Terminal. Anschließend sorgen Sie blick über die verschiedenen Operatio- n #!/bin/bash dafür, dass die Daten entsprechend sor- nen zu behalten. (agr) echo "Normal sortiert:" sort < Adressen.txt echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" Uniq-Optionen Listing 15 echo "umgekehrt:" Aktion Option a sort ‑r < Adressen.txt ‑c Vorkommen zählen A echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" ‑d/‑D nur mehrfach vorhandene Zeilen ausgeben C echo "nach Nummer (Feld 6)" ‑u nur einfach vorkommende Zeilen ausgeben sort ‑t':' ‑n ‑k6 < Adressen.txt ‑i Groß/​Kleinschreibung ignorieren echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" ‑zZahl nur Zahl Zeichen je Zeile vergleichen D

Listing 14 Listing 16 #!/bin/bash #!/bin/bash # Alle Zeilen nummerieren, auch Leerzeilen # Aufruf ohne Sortierung # Standard: rechtsbündig (‑nrn) uniq < einzigartig.txt nl ‑ba < Adressen.txt echo "‑‑‑‑‑‑‑‑‑‑‑‑‑" # Alle Zeilen linksbündig nummerieren # Vorsortieren, Vorkommen zählen nl ‑ba ‑nln < Adressen.txt sort ‑f < einzigartig.txt | uniq ‑ic # Alle Zeilen rechtsbündig nummerieren, echo "‑‑‑‑‑‑‑‑‑‑‑‑‑" # führende Nullen, Trennzeichen = | # Ausgabe mehrfach vorhandener Zeilen nl ‑ba ‑nrz ‑s'|' < Adressen.txt sort ‑f < einzigartig.txt | uniq ‑id # Alle Zeilen nummerieren, echo "‑‑‑‑‑‑‑‑‑‑‑‑‑" # erste Zeile=10, Schrittweite = 20 # Ausgabe einfach vorhandener Zeilen nl ‑v10 ‑i20 < Adressen.txt sort ‑f < einzigartig.txt | uniq ‑iu

Nl: Optionen Aktion Option Schalter Numeriert gemäß [UMFANG] ‑b[UMFANG] a = alle Zeilen, t = nur Zeilen mit Inhalt, n = keine Zeilen Numeriert mit [FORMAT] ‑n[FORMAT] ln = linksbündig, rn = rechtsbündig, rz = rechtsbündig, führende Nullen Trennzeichen ‑s[TRENNZEICHEN] – Startwert ‑v[STARTWERT] – Inkrement ‑i[INKREMENT] –

04.2017 www.linux-user.de 53 Hardware Fairphone 2

Das modulare Smartphone Fairphone 2 Smart und fair

Das Fairphone 2 versucht den Spagat: Rohstoffabbau und Produktion sollen unter fairen Bedingungen stattfinden, als offene Plattform will es reparaturfreundlich sein und darüber

hinaus Wahlfreiheit beim eingesetzten Betriebssystem bieten. Christoph Langner

Selbst die Elektronikbranche versucht dem Fairphone 2  bereits die zweite sich mittlerweile an Fair-Trade-Produk- Generation eines möglichst fair produ- ten. Die Herausforderung für dieUnter- zierten Smartphones in seinem Online- nehmen besteht hier nicht allein in der Shop. Das erste Fairphone (sowie dessen Produktion unter tatsächlich fairen Be- leicht überarbeitetes Update FP1U) war dingungen: Auch die Rohstoffe für die mit über 60 000 produzierten Einheiten README elektronischen Schaltungen und Batteri- komplett ausverkauft, das zweite Modell en, wie Zinn, Tantal, Wolfram oder Gold, soll diesen Erfolg übertreffen . Moderne Smartphones sind in der Regel sollen aus Quellen stammen, die aner- Wegwerfprodukte: leicht kaputt und kaum kannt nicht in die Finanzierung von Kon- Fairphone zu reparieren. Das Fairphone 2 lässt sich flikten verwickelt sind. hingegen problemlos und günstig auf Vor- Bei den Platzhirschen der Branche fin- Bei den Geräten der ersten Generation dermann bringen, zudem läuft darauf den sich solche Initiativen noch nicht, handelte es sich noch um eine Lizenz- doch das in den Niederlanden ansässige produktion, das neue Modell entstand – zumindest in der Theorie. Unternehmen Fairphone  führt mit dagegen in Eigenregie. Fairphone ver-

82 www.linux-user.de 04.2017 Fairphone 2 Hardware

spricht sich davon einen noch besseren sitzer des Geräts bislang vergeblich. Einfluss auf die Produktionsbedingun- Dazu schrieb der Community-Manager gen, die verbauten Materialien sowie die des Projekts, Douwe Schmidt, im No- Lieferantenkette. Zudem achteten die vember letzten Jahres, dass das Update Entwickler bei der Gestaltung des Tele- „in den nächsten Monaten“ bereitstehen fons besonders auf Haltbarkeit, viele solle . Im Januar hieß es dann auf dem Komponenten lassen sich austauschen. Twitter-Channel, das Update stünde Technisch basiert das Fairphone 2 auf „binnen Wochen“ an . Weitere Ankün- dem Qualcomm-SoC MSM8974AB-AB, digungen liegen derzeit nicht vor. der auch Geräte etablierter Hersteller Als Alternative zum vorinstallierten wie das HTC One M8 oder das Samsung System gibt es mit Fairphone Open eine Galaxy S5 antreibt (siehe Tabelle Techni- Open-Source-Variante des Betriebssys- sche Daten). In Kombination mit 2 GByte tems . Sie verzichtet auf proprietäre Arbeitsspeicher und 32 GByte internem Speicherplatz (der sich über einen Micro­SD-Kartenslot weiter aufrüsten lässt) arbeitet das Gerät im Alltag trotz des schon leicht angestaubten Prozes- sors recht schnell genug. Der wechsel­ bare Akku bringt den Nutzer über einen kompletten Tag.

Modular

Während man die meisten Smartphones aufgrund fest verbauter Akkus und ver- klebter Gehäuse selbst bei einem klei- nen Schaden entweder teuer reparieren oder gleich entsorgen muss, lässt sich das Fairphone 2 mit einfachsten Mitteln komplett zerlegen. Auf der Reparierbar- keitsskala von iFixit erreicht das Gerät als einziges Smartphone 10 von 10 Punk- ten . Ersatzteile wie Batterie und Dis- play sowie Bausteine wie das Kamera- Modul offeriert der Fairphone-Shop ab 20 Euro aufwärts . Das Display ist mit etwa 85 Euro das teuerste Ersatzteil. Zu- 1 Das Fairphone OS verzichtet auf unnütze Anwendungen. dem soll es in Zukunft neue Komponen- ten zu kaufen geben . Ausgeliefert wird das Gerät mit Fair- Technische Daten phone OS, das nach Installation der Up- Display 5 Zoll, 1080 x 1920 Pixel, 446 ppi dates bei Version 1.11.1 steht 1. Das Betriebssystem Android 5.1 (Ubuntu Touch möglich) System basiert auf Android 5.1 „Lollipop“ SoC Qualcomm MSM8974AB-AB und wurde von den Entwicklern nur CPU Snapdragon 801 2,26 GHz Quad-Core leicht angepasst. So zeigt es beispiels- GPU Qualcomm Adreno 330 GPU (578 MHz) weise beim Start von Apps an, ob diese RAM 2 GByte LPDDR3 die Privatsphäre des Nutzers beeinträch- Speicher 32 GByte eMMC5, MicroSD-Slot tigen. Fairphone verspricht, die Software Akku 2420 mAh (austauschbar) über 2 Jahre hinweg mit Updates zu ver- Kameras 8 MP (f2.2), 2 MP (Rückseite) sorgen , die eklatante Fehler oder Funk LTE, 802.11b/g/​ ​n/ac,​ Bluetooth 4.0 LE ­Sicherheitslücken beheben. Größe (HxBxT), Gewicht 143 mm x 74 mm x 11 mm, 168 Gramm Preis 520,63 Euro1 Auf ein großes Update auf Android 6 „Marshmallow“ (oder neuer) warten Be- 1 In Deutschland übernimmt 1&1 den Vertrieb .

04.2017 www.linux-user.de 83 Hardware Fairphone 2

wickler-Tools und flashen das Smart­phone mit dem Ubuntu-System (Listing 1). Vor- ab sollten Sie sämtliche Daten des Han- dys sichern, denn der Installer löscht den kompletten Gerätespeicher und spielt stattdessen das etwa 400 MByte große Ubuntu-Image aus dem Netz ein – zu- mindest in der Theorie automatisch. In der Praxis stimmt jedoch bereits die Beschreibung auf der Download-Seite zum Booten des Geräts in den Fastboot- Modus. Sie erreichen diesen nicht durch gleichzeitiges Drücken von [Lauter] (Lautstärkewippe nach oben) und dem An/​Aus-Taster zum Booten des Geräts, sondern durch längeres Drücken von [Leiser] (Lautstärkewippe nach unten) und [Power]. Danach führen Sie das zweite Kom- 2 Über den Recovery Modus installieren Sie Ubuntu Touch. mando aus Listing 1 aus. Am Ende mel- dete dieses im Test jedoch mit Can’t boot recovery image, dass der entsprechende Bestandteile (bis auf die zur Hardware- Ubuntu Neustart nicht funktionierte. Sie müssen Unterstützung nötigen Binary-Blobs) daher das Gerät abschalten, wozu Sie und richtet sich daher an Anwender, die Canonical möchte trotz gewisser Schwie- am besten das Fairphone vorüberge- ein möglichst freies und offenes System rigkeiten bei Ubuntu Touch noch nicht hend vom USB-Kabel abstecken und ohne einen direkten Draht zu Google den Stecker ziehen: Auf dem Mobile kurz den Akku aus dem Gerät nehmen. bevorzugen. Apps lassen sich dann etwa World Congress 2016 in Barcelona zeigte Dann schalten Sie das Mobiltelefon mit aus dem Open-Source-Market F-­ die Firma mit dem Bq Aquaris M10  Lauter plus An/​Aus wieder ein. Droid  installieren. und dem Meizu PRO 5 Ubuntu Edition  Im Recovery-Modus 2 lässt sich das Alternativ bieten Anwendungen wie bereits zwei Geräte; in diesem Jahr will Fairphone 2 wieder über den Touch- der YalpStore  oder Raccoon  die man zusammen mit dem niederländi- screen steuern; der Rechner sollte das Möglichkeit, App-Installationspakete in schen IT-Spezialisten Smoose  Ubuntu Handy in diesem Modus automatisch Form von APK-Dateien aus dem Play Touch für das Fairphone 2 präsentieren. über sudo adb devices finden. Zum Store zu laden, ohne das komplette Die Arbeiten an dem Ubuntu-Port ko- weiteren Flashen legen Sie auf dem Tele- Google-Framework auf dem Handy in­ ordiniert das UBports-Projekt . Aktuell fon das fehlende Verzeichnis /cache/re­ ‑ stallieren zu müssen. Die Open-Variante stehen dort das OnePlus One, das covery an und wiederholen das Kom- von Fairphone OS bietet zudem den Vor- ­Nexus 5 sowie eben das Fairphone 2 auf mando ubuntu‑device‑flash. Dabei teil, dass sich das System direkt aus dem der Prioritätenliste ganz oben. Das zeigt ­lassen Sie am Ende aber die Option Einstellungsmenü heraus rooten lässt sich auch an der Kompatibilität: Bis auf ‑‑bootstrap weg. Die Abfolge der Be- und Updates in monatlichem Turnus GPS unterstützt das Ubuntu-System die fehle inklusive Ausgabe zeigt Listing 2. ­erscheinen. Hardware des Fairphone 2 komplett . Im Test lief das Flashen des Fairphone 2 Bei Bedarf lässt sich Fairphone Open Die drei Geräte eignen sich damit für zudem mittels Open GApps  mit den den Alltagsgebrauch. Google-Anwendungen nachrüsten und Um Ubuntu Touch auf das Fairphone 2 Fastboot-Modus so zu einem „vollwertigen“ Android-Sys- zu bringen, installieren Sie auf einem mit Im Fastboot-Modus wirkt das Handy, als tem mit Root-Rechten machen. Ubuntu ausgestatteten Rechner die Ent- wäre es abgestürzt. Auf dem Display er- scheint lediglich das Fairphone-Logo, Be- dienelemente fehlen. Kontrollieren Sie da- Listing 1 her am besten mit dem Kommando sudo $ sudo apt‑get install ubuntu‑device‑flash phablet‑tools fastboot devices, ob das Handy sich $ sudo ubuntu‑device‑flash ‑‑server=http://system‑image.ubports.com im richtigen Modus befindet und der touch ‑‑channel=ubuntu‑touch/stable ‑‑device=FP2 ‑‑bootstrap Rechner das Fairphone sieht.

84 www.linux-user.de 04.2017 Fairphone 2 Hardware

mit Ubuntu Touch so zwar ohne erkenn- oder andere herstellerspezifische Dienste. bare Fehler durch, das Gerät startete am Bei Bedarf werfen Sie mit Fair­phone OS Ende jedoch trotzdem wieder Android. Open sämtliche Google-Dienste vom Einen Schritt weiter kamen wir mit dem Handy. An Ubuntu Touch bissen wir uns Magic-Device-Tool , das das Flashen im Test noch die Zähne aus. Da das Fair- von Ubuntu Touch auf einer Reihe von phone Canonical jedoch offiziell als Re- kompatiblen Geräten (darunter das Fair- ferenzhandy dient, dürfte dieser Zu- phone 2) erleichtert. stand nur vorübergehend sein. (cla) n Wie in Listing 3 gezeigt, laden Sie das Skript auf einem Ubuntu-System aus dem Github-Repository des Projekts ­herunter, rufen es auf und wählen mit 12 die Installation von Ubuntu Touch auf dem Fairphone aus 3. Anschließend folgen Sie den Hinweisen im Fenster. Den Fastboot-Modus erreichen Sie wie- der mit [Leiser]+[Power], den Recovery- Modus mit [Lauter]+[Power]. Doch selbst dieser Versuch führte am 3 Das Magic- Ende nicht zum gewünschten Erfolg: Device-Tool er- Das Fairphone bootete zwar nicht mehr leichtert Ihnen Android, blieb dafür aber generell beim die Ubuntu-In­ Starten hängen. stallation. Langer Rede kurzer Sinn: Die Installa­ tion von Ubuntu Touch auf dem Fair­ phone 2 ist alles andere als ein Selbst- Listing 2 läufer. Selbst wenn das UBports-Projekt ### Handy ausschalten, per USB mit dem Computer verbinden dem Gerät eine sehr gute Kompatibilität ### und mit [Leiser]+[Power] in den Fastboot‑Modus booten. bescheinigt, sollten Sie im aktuellen Zu- ### Auf dem Display erscheint lediglich das Fairphone‑Logo. stand besser (noch) bei Android bleiben. $ sudo fastboot devices fbecf69e fastboot Fazit $ sudo ubuntu‑device‑flash ‑‑server=http://system‑image.ubports.com touch ‑‑channel=ubuntu‑touch/stable ‑‑device=FP2 ‑‑bootstrap Das Fairphone 2 lässt sich zwar nicht ge- 2017/02/09 19:53:28 Device is |FP2| rade als Augenschmaus bezeichnen, Ma- 2017/02/09 19:53:28 Flashing version 15 from ubuntu‑touch/stable terial und Haptik fallen hinter Marken­ channel and server http://system‑image.ubports.com to device FP2 geräten weit zurück. Bei intensiver Nut- Can't boot recovery image zung spielt das buchstäblich nur auf den ### Handy vom USB‑Stecker abziehen und Akku herausnehmen. ersten Blick eine Rolle. Während schicke ### Danach Akku wieder einsetzen, USB anstecken und mit Markenhandys oft schon nach wenigen ### [Lauter]+[Power] in den Recovery‑Modus booten. Monaten mit verbeulten Metallrahmen $ sudo adb devices und zersprungener Glasrückseite viel List of devices attached von ihrem Glanz verlieren, lässt sich das fbecf69e recovery Fairphone kostengünstig reparieren. $ sudo adb shell mkdir /cache/recovery Auch bei der Wahl der Software lässt $ sudo ubuntu‑device‑flash ‑‑server=http://system‑image.ubports.com Ihnen Fairphone mehr Freiheiten. Das touch ‑‑channel=ubuntu‑touch/stable ‑‑device=FP2 vorinstallierte Android-Image verzichtet auf integrierte Crapware wie Facebook Listing 3 $ sudo apt install git Weitere Infos und $ git clone https://github.com/MariusQuabeck/magic‑device‑tool.git interessante Links $ cd magic‑device‑tool www.linux​­ ‑user.de/​­ qr/​­ 38294​­ $ ./launcher.sh

04.2017 www.linux-user.de 85 Know-how Spigot

Mit Spigot auf der Kommandozeile rechnen Scharf kalkuliert

Das Rechenprogramm Spigot zeichnet sich durch hohe Genauigkeit aus. Mit diesem Tool

­erzielen Sie auf der Kommandozeile und in Skripten höchst präzise Resultate. Harald Zisler

Während der Befehl bc für viele eine be­ schieben Sie Programm und Kompo­ kannte Größe darstellt, mangelt es dem nenten ins Zielverzeichnis, indem Sie Konkurrenten Spigot noch an Bekannt­ make install in das Terminal eingeben. heit. Nach kurzem Studium des Hand­ Um die Installation zu testen, geben buchs und dem Abarbeiten einiger Bei­ Sie im Terminal spigot 1+2 ein. Wenn spiele arbeitet es sich mit dem Tool je­ Sie hier das korrekte Ergebnis erhalten, doch recht einfach. Die Software stammt hat die Installation funktioniert. On­ aus der Feder von Simon Tatham , sie­ line  finden Sie ein Handbuch, das Sie borgt ihren Namen beim bekannten in die Arbeit mit der Software einführt. ­Algorithmus zum Berechnen mathema­ tischer Konstanten. Allgemeines Laden Sie das aktuelle Quellpaket  herunter, entpacken Sie es, und wechseln Eine Spezialität des Tools besteht in der Sie ins dabei angelegte Verzeichnis. Mit mehr oder weniger unendlichen Dar­ Listings LU/spigot/ ./configure erstellen Sie das für das stellungstiefe von Zahlen. Geben Sie Kompilieren wichtige Makefile. Treten da­ probehalber spigot pi am Terminal ein: bei Fehler auf, installieren Sie die als feh­ Die Ausgabe der Kreiszahl läuft und lend angemerkten Ressourcen mit dem läuft, bis Sie [Strg]+[C] drücken. Paketmanagement nach. Anschließend Um negative Eingabewerte von Opti­ erstellen Sie das lauffähige Programm onen und Befehlen zu unterscheiden, durch die Eingabe von make. Mit den not­ bringen Sie Ihre Rechenaufgabe in README wendigen Rechten (als ­Benutzer Hochkommas und Klammern unter 1. root oder mit dem Be­ Bei positiven Zahlen können Sie Der Rechner Spigot eignet sich für sehr ge­ fehl su) ver­ sich das schenken. naue Kalkulationen. Das Programm für die Kommandozeile eignet sich für den Einsatz in Skripten und arbeitet bei Bedarf die Aufgaben nach­ einander ab.

© Slawomir Chomik, 123RF

86 04.2017 Spigot Know-how

Spätestens aber bei umfangreicheren Beim Einsatz in einem Skript maskieren Aktionen sollten Sie stets die Aufgabe in Sie Variablen durch doppelte Anfüh­ Hochkommas setzen, schon um die Shell rungszeichen, wenn Sie diese an den nicht zu verwirren. Für den Einsatz von entsprechenden Stellen des Konstrukts Variablen gilt: Wegen der Shell müssen verwenden. Sie sogar die Klammern entwerten. Für die tägliche Arbeit gilt es, die Stel­ Arbeiten mit Variablen len von Ergebnissen zu begrenzen und zu runden. Im ersten Schritt legen Sie Listing 1 zeigt, wie Sie Variablen in eine die Genauigkeit mit ‑dStellen an. Das Spigot-Anweisung einbinden. Beim Tes­ schneidet die Werte ab, rundet sie aber ten kommen auch negative Zahlen zum nicht. Die Art des Rundens bestimmt ein Einsatz. Die einzelnen Optionen runden eigener Parameter. Die wichtigsten Opti­ (‑‑rn), kappen bei 50 Nachkommastel­ onen von Spigot fasst die Tabelle Wich­ len (‑d50) und formatieren die Ausgabe tige Parameter zusammen. Um die Ausgabe in ein bestimmtes For­ mat zu bringen, setzen Sie ans Ende der Eingabe die passende Printf-Anweisung. Mit man printf erfahren Sie mehr über die Operatoren. Die mathematischen Funktionen von Spigot, wie etwa Wurzel (sqrt), entsprechen den bekannten Schlüsselwörtern diverser Programmier­ sprachen. Es gilt Punkt vor Strich. 1 Bei der Eingabe gilt es, die Genau wie Bc funktioniert auch Spigot korrekte Schreibweise von posi- nicht in einer Pipe. Vielmehr teilen Sie tiven und negativen Zahlen zu dem Programm mit, auf welchem Ein­ beachten. gabekanal und mit welcher Basis es ­einen Wert entgegennimmt. Das Kons­ trukt für die Rechenanweisung lautet folgendermaßen:­ 2 Ein kleines Shell- baseBasisfd:Dateideskriptor Skript demonstriert­ einige Funktionen Um den Wert stattdessen aus einer Datei von Spigot, unter auszulesen, verwenden Sie die folgende anderem den Ein- Anweisung: satz von Shell-Varia- blen als Teil der An- baseBasisfile:Dateiname weisung.

Wichtige Parameter Listing 1 Parameter Hinweis #! /bin/bash ‑dZahl Stellenzahl begrenzen, kein Runden echo "Rechnen mit Spigot und Variablen" ‑‑rn Auf- und Abrunden read ‑p " Erste Zahl: " a ‑‑ri Runden, stets von null weg read ‑p "Zweite Zahl: " b ‑‑rz Runden, stets Richtung null echo "Ergebnisse ohne Formatierung" ‑‑ru Aufrunden, zum Positiven echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" ‑‑rd Abrunden, zum Negativen spigot ‑‑rn ‑d50 \("$a"*"$b"\) % oder mod Rest (Modulo) spigot ‑‑rn ‑d50 \("$a"/"$b"\) ^, ** Potenzen echo "Ergebnisse mit Formatierung" 'let Variable=Wert' Variable definieren echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" ‑‑printf Zahlen formatieren spigot ‑‑rn ‑d50 \("$a"*"$b"\) ‑‑printf %8.2f ‑b Basis Zahlensysteme umrechnen spigot ‑‑rn ‑d50 \("$a"/"$b"\) ‑‑printf %8.2f

04.2017 www.linux-user.de 87 Know-how Spigot

(‑‑printf, 8 Stellen, 2 Nachkommastel­ len, Fließkommazahl). Abbildung 2 zeigt den Ablauf. Sie müssen dazu das Skript entweder in der Form bash Skript aufrufen oder mit entsprechen­ den Rechten zum Ausführen versehen.

3 Das Umrech- Konvertieren nen von Zahlen hin zu einem an- Das Umrechnen zwischen Zahlensyste­ deren Basiswert men erledigen Sie mit dem Tool über gelingt mit Spi- verschiedene Formen der Syntax. Die got auf verschie- hier gezeigte funktioniert in jedem Fall: denen Wegen. echo Wert | spigot ‑bBasis AusgabeU 'baseBasis Eingabefd:0'

In Abbildung 3 finden Sie Beispiele für die gängigen Praxisfälle. 4 Spigot hilft beim Berechnen der Frequenz eines Schwing- Frequenz berechnen kreises. Das Exempel aus Listing 2 zeigt, wie Sie mit Variablen als Hochzahlen umgehen. Hier sehen Sie, dass die Variablen mittels Anführungszeichen isoliert sind, das e‑12 beschreibt den Rest der Hochzahl. Mit dem Skript berechnen Sie die Fre­ quenz eines Schwingkreises anhand der 5 Bei Bedarf speichern Sie eine Spule (Induktivität, µH) und des Konden­ ­Rechenanweisung in einer Variable. sators (Kapazität, pF). Abbildung 4 zeigt den Ablauf.

Anweisungen in Variablen

Sie können Anweisungen für eine Re­ chenoperation auch in einer Variablen unterbringen. Da die Anwender mög­ licherweise mit negativen Zahlen rech­ nen, müssen Sie Variablen, die Zahlen führen, mit entwerteten Klammern um­ geben (Listing 3). Abbildung 5 zeigt die Ausgabe mit zwei Kommastellen.

Ergebnisse plotten

Ergänzen Sie das Berechnen des Schwing­ kreises, liefert das Skript die Daten für ein Schaubild. Auf diese Weise ließen sich etwa abstimmbare Schwingkreise be­ rechnen (Frequenzvariation durch Dreh­ kondensator). Im Beispiel aus Listing 4 6 Mit Spigot berechnen Sie nicht nur Daten, sondern geben bei Bedarf eine ent- kommen zudem die Kreiszahl (pi) und sprechende Auswertung auch als Plot mit aus. die Wurzelfunktion sqrt zum Einsatz.

88 www.linux-user.de 04.2017 Spigot Know-how

Die For-Schleife gibt je Durchgang den Angaben zu den Achsen, zum Raster um 1 verminderten maximalen Wert für und zur Beschriftung sowie das Format die Kapazität (Cmax) des Drehkondensa­ für die Ausgabe (hier: eps). tors an, bis der Minimalwert (Cmin) er­ reicht ist. Die Ergebnisse (Werte für Kapa­ Fazit zität und Frequenz) landen in einer Ta­ belle. Mittels Gnuplot  erstellen Sie das Bei Spigot handelt es sich um ein mächti­ Diagramm als EPS-Datei, die Sie dann mit ges Rechenwerkzeug, dessen Bedienkon­ dem Programm Evince anzeigen 6. zept jedoch zunächst umständlich an­ Um die Grafik etwas ansprechender zu mutet. Haben Sie sich erst einmal mit den gestalten, schreiben Sie die passenden ­Eigenheiten vertraut gemacht, erledigen Anweisungen in eine Datei mit der En­ Sie damit aber selbst komplexe Rechen­ dung .plt (Listing 5). Dorthin kommen aufgaben im Handumdrehen. (agr) n

Listing 2 #! /bin/bash #qrgrech.sh

echo "Schwingkreisberechnung, Ergebnis in MHz" read ‑p "Induktivität in µH: " L read ‑p "Kondensator in pF: " C echo "Induktivität: $L µH, Kondensator $C pF" Listing 3 # Im Vorspann stellenrichtige Umrechnung für ISO‑Einheiten auf H und F #! /bin/bash echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" #rechner.sh qrg=$(spigot ‑‑rn ‑d50 "$L"e‑6*"$C"e‑12 | spigot ‑‑rn ‑d50 '(1/(2pi*sqr read ‑p " Erste Zahl: " a t(base10fd:0))/1000000)' ‑‑printf %10.3f) read ‑p "Rechenanweisung: " op echo "Frequenz $qrg MHz" read ‑p " Zweite Zahl: " b echo ‑n "$a $op $b ergibt "; spigot ‑‑rn ‑d50 \($a$op$b\) Listing 4 ‑‑printf %10.2f #! /bin/bash #vfo.sh Listing 5 # Löschen evtl. vorhandener Ergebnistabelle set term eps rm ergtab.txt set grid xtics mxtics ytics clear mytics linestyle 5 echo "Berechnung Abstimmbereich LC‑Schwingkreis" set sample 100000 echo "‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑" set xtics 0,5 read ‑p " Spule: Induktivität in µH: " L set mxtics 2 read ‑p " Drehkondensator: höchster Wert in pF: " Cmax set ytics 0,1 read ‑p "Drehkondensator: niedrigster Wert in pF: " Cmin set mytics 2 set xlabel "Kondensator (pF)" # Cmin um 1 vermindern für for‑Schleife set ylabel "Frequenz (MHz)" Cmin=$(echo $Cmin | spigot 'base10fd:0‑1') set output "ausgabe.eps" plot "ergtab.txt" with lines for (( C =Cmax; C > Cmin; C‑‑)); do title "Frequenz (MHz)" qrg=$(spigot ‑‑rn ‑d50 "$L"e‑6*"$C"e‑12 | spigot ‑‑rn ‑d50 '(1/(2pi*s qrt(base10fd:0))/1000000)' ‑‑printf %10.3f) echo "$C $qrg" >> ergtab.txt done Weitere Infos und interessante Links gnuplot ergtab.plt www.linux​­ ‑user.de/​­ qr/​­ 38770​­ evince ausgabe.eps

04.2017 www.linux-user.de 89 Heft-DVD-Inhalt Service

Neues auf den Heft-DVDs

OpenSuse leicht gemacht: GeckoLinux GeckoLinux will die beliebte Distribution stallierbaren Live-Distributionen Gecko­ OpenSuse für Einsteiger leichter zugänglich Linux 999.170205 „Rolling“ Budgie und machen. Der Spin nutzt daher sowohl „Leap“ GeckoLinux Cinnamon 422.170215 je- als auch „Tumbleweed“ als Unterbau. Bei den weils in der 64-Bit-Fassung. Sie booten insgesamt acht resultierenden Varianten aus die beiden Geckos von Seite A der ers- zwei Repos findet sich für fast jeden An- ten Heft-DVD. Die zugehörigen, un- spruch an Auswahl und Aktualität das Pas- veränderten ISO-Images finden Sie im sende. Auf der Heft-DVD finden Sie die in­ Verzeichnis isos/. Ç S. 10

Boot Repair Disk: Wenn’s beim Booten hakt Insbesondere beim Installieren mehrerer Reparaturen aus, damit der Rechner wie- Betriebssysteme auf einer Festplatte kön- der zuverlässig hochfährt. Die 32-Bit-Va- nen auch kleinste Modifikationen an der riante der Distribution booten Sie von Konfiguration das Bootloaders beziehungs- Seite A der ersten Heft-DVD, den 64-Bit- weise der Partitionstabelle zu Startproble- Ableger von Seite B. Das Verzeichnis men führen. Die Live-Distribution Boot isos/ der jeweiligen Seite enthält die Repair­ Disk führt gegebenenfalls nötige unveränderten Original-Images. Ç S. 28

Auf Nummer sicher: Network Security Toolkit Zu den wichtigsten Aufgaben eines Admi- Xprobe 2, zum Check des WLANs dient nistrators gehört es, das Netzwerk von Airsnort, Kismet und Wifiradar. Mit Schadsoftware und Eindringlingen freizu- Driftnet, Ettercap, Tcpxtract oder Wire­ halten. Die auf Fedora basierende Live-­ shark prüfen Sie den Datenverkehr im Distribution NST 24-7977 bringt alles dafür Netzwerk. Sie booten die Distribution Notwendige mit. An Security-Scanner bie- von Seite B der ersten Heft-DVD. Im tet sie unter anderem Etherape, Hping 2/​3, Verzeichnis isos/ finden Sie die zuge- Inetvis, Nessus, Nikto, Nmap, P0F, Radialnet, hörige Original-Image-Datei. Ç S. 34

Gparted Live beseitigt Platten-Schluckauf Wer einen Computer kauft, der findet auf von Gparted 0.28.1. Es genügt, die Live- dessen Massenspeicher meist nur eine Par- CD auf dem Zielrechner zu starten, um tition vor. Möchten Sie mehrere Systeme von dieser aus die entsprechenden Än- ­installieren oder das Heimatverzeichnis auf derungen vorzunehmen. Sie booten einen eigenen Bereich auslagern, kommen die 64-Bit-Variante der Distribution Sie nicht umhin, die Platte nach Ihren Wün- von Seite B der ersten Heft-DVD, den schen neu aufzuteilen. Relativ einfach ge- 32-Bit-Ableger starten Sie von Seite A. lingt das mithilfe der komfortablen und Im Verzeichnis isos/ finden Sie die zu­ ­intuitiv bedienbaren grafischen Oberfläche gehörigen ISO-Images.

04.2017 www.linux-user.de 97 Service Heft-DVD-Inhalt

Knoppix 8.0 LinuxUser-Edition

Pünktlich zur CeBIT 2017 veröffentlicht Klaus Knopper seine Distribution Knoppix 8.0 LinuxUser-Edition. Sie mixt Debian Stable („Jessie“) mit etlichen Paketen wie Gra- fiktreiber und Desktop-Tools aus Testing („Stretch“) und Unstable („Sid“). Zur Unter- stützung aktueller Hard- ware kommen der Linux- Kernel 4.9 sowie X.org 7.7 Core 1.19.1 und – als Auf- satz zum flott startenden LXDE-Desktop – die 3D-Er- weiterung Compiz 0.9.13.1 zum Einsatz. Daneben bie- tet Knoppix die Desktops KDE und Gnome, die Sie mit den Cheatcodes knoppix desktop=kde sowie knoppix desktop=gnome anwählen. Sie finden Knoppix auf Seite B der zweiten DVD. Im Artikel ab Seite 14 beschreibt Klaus Knopper alle wichtigen Neuerungen. (tle) n

Bei der DVD-Edition klebt an dieser Stelle der zweite Heft-Datenträger. Bitte wenden Sie sich bei Reklamationen

wegen fehlender oder defekter Medien unter Angabe Ihrer Postanschrift per E-Mail an [email protected].

Neue Programme

Das Programm Bibisco 1.5.0 unterstützt Romanautoren bei der Die Rechnersoftware Spigot 20170116 eignet sich für sehr genaue ­Arbeit, indem es neben dem Text auch noch ergänzende Daten ver- Kalkulationen. Das Kommandozeilentool eignet sich für den Einsatz waltet, beispielsweise die Protagonisten der Handlung. So behalten in Skripten und arbeitet bei Bedarf die Aufgaben nacheinander ab. Sie jederzeit einen Überblick über die Handlung. Ç S. 54 Eine Spezialität des Tools besteht in der mehr oder weniger unend- Linux gibt ausführlich Auskunft über die vorhandene Hardware – so- lichen Darstellungstiefe von Zahlen. Das zeigt sich beispielsweise bei fern Sie die korrekten Kommandos auf der Befehlszeile beherrschen. der Eingabe von spigot pi im Terminal: Die Berechnung der Kreis- I-Nex 7.6.0 dagegen liefert diese Informationen grafisch aufbereitet zahl läuft so lange, bis Sie diese via [Strg]+[C] unterbrechen. Ç S. 86 ohne manuelle Befehlseingabe. Ç S. 44 Zur Reihe der etablierten Bildbetrachter für RAW-Formate, etwa Gee- Das Python-Tool Lazygal 0.9.1 dient zum Erzeugen statischer Web­ qie oder Shotwell, versucht die noch junge Software PhotoQt 1.5 galerien. Das Tool liefert leistungsstarke Webseiten und eignet sich als aufzuschließen. Mit dem Gespann Qt5/QM​ L setzt das Tool auf mo- Konsolenwerkzeug ideal zum Ansteuern via Cron. Ç S. 8 derne Technik. Durch den Einsatz von Graphicsmagick und Libraw Das neue LibreOffice 5.3 wartet mit diversen neuen Funktionen auf. unterstützt das Programm zahlreiche Formate. Allerdings lahmt es Die augenfälligste davon betrifft das neue Oberflächen-Konzept stellenweise etwas, etwa beim Einlesen der Vorschau. Darüber hi- ­namens Muffin. Dieses bringt eine Reihe von vordefinierten Konfigu- naus unterstützt PhotoQt Bilder nur in 32 Bit Farbtiefe. Ç S. 40 rationen mit, welche jeweils verschiedene Elemente sinnvoll mit­ Das Konsolenprogramm Vddiff 1.7.0 dient zum Vergleichen zweier einander kombinieren. Die im Verzeichnis enthaltene Erweiterung Verzeichnisse. Standardmäßig nutzt das Werkzeug im Hintergrund ­Organon dient als Autorenwerkzeug, eine genaue Beschreibung den Editor Vim, um die Differenzen zu ermitteln, Sie können jedoch ­finden Sie im korrespondierenden Artikel. Ç S. 54 auch andere Diff-Tools zu diesem Zweck vorgeben. Ç S. 8

98 www.linux-user.de 04.2017