Open Source im professionellen Einsatz
Linux-Magazin 12/2016

Werkzeuge im Kurztest

Tooltipps

Im Kurztest: Log Guardian 1.0.2, Bats 0.4.1, Who's Home 1.5.0, Bashblog 2.7, Micro 1.1.0, Vddiff 1.1.0

1437

Log Guardian 1.0.2

Systemprotokolle überwachen

Quelle: https://github.com/gatheall/log-guardian

Lizenz: GPLv3

Alternativen: Fail2ban

Ähnlich wie »tail -f« beobachtet Log Guardian Systemprotokolle in einer Endlosschleife. Zusätzlich kann das Tool auf Ereignisse reagieren und vom Admin festlegte Aktionen ausführen. Das Perl-Skript benötigt die Bibliotheken Carp, Getopt, Faile und Safe.

Vor dem ersten Aufruf von »log-guardian« bearbeiten Anwender das Skript und legen die zu überwachenden Logdateien, die Suchmuster und Aktionen fest. In der Voreinstellung sind zwei Beispiele für »/var/log/mail.log« und »/var/log/messages« enthalten, sie können als Vorlage für die eigene Konfiguration dienen. Dabei hilft die vorhandene Dokumentation allerdings nur bedingt weiter.

Das Skript ist recht komplex: Jeder Datensatz besteht aus den drei Elementen »label« (Beschreibung), »pattern« (Suchmuster) und »action« (Reaktion, Zusammenarbeit mit externen Tools). Die mitgelieferten Beispiele zeigen das automatische Sperren einer IP-Adresse mittels IPtables, etwa bei dem mehrmaligen Versuch, den Mailserver als Relay zu benutzen, oder zum Absichern des SSH-Standardports.

★★★★★

Log Guardian bietet einen interessanten Ansatz, ist allerdings schlecht dokumentiert. Nur Perl-affinen Nutzern dürfte es gelingen, das volle Potenzial auszuschöpfen – für alle anderen ist die Konfiguration eine Hürde.

Bats 0.4.1

Shellskripte testen

Quelle: https://github.com/bwaang/bats

Lizenz: MIT

Alternativen: Filterunit, Shellcheck

Verhält sich ein Shellskript so wie erwartet? Stimmen alle Parameter und Rückgabewerte? Das Bash Automated Testing System (Bats) gibt Antworten. Das Tool bietet ein Rahmenwerk zum Konstruieren verschiedener Fälle. Bei diesen handelt es sich um Bash-Funktionen mit optionalen Beschreibungen – Bats-Testdateien sind ebenfalls Bash-Skripte, die einer eigenen Syntax folgen.

An den Anfang einer Bats-Datei gehört der Pfad zum Interpreter (»#!/usr/bin/env bats« ); danach folgen ein oder mehrere Tests. Bats arbeitet diese der Reihe nach ab und schreibt die Ergebnisse sowie eine ausführliche Zusammenfassung ins Terminal. Alternativ lenken Benutzer den Output in eine Datei um.

Die Ergebnisse notiert das Tool dann so, dass sie sowohl für Menschen als auch für Maschinen lesbar sind. Für Letzteres greift das Tool auf TAP (Test Anything Protocol) zurück. Wer den TAP-Output auch im Terminal und nicht nur in der Datei wünscht, kann Bats zusammen mit der Option »--tap« aufrufen.

Die Manpage versorgt Nutzer mit grundlegenden Informationen. Für das Erstellen eigener Tests ist das Wiki auf der Github-Seite die richtige Anlaufstelle.

★★★★★

Bats testet Shellskripte auf Herz und Nieren. Das gut geschriebene Wiki unterstützt Entwickler beim Verfassen eigener Tests.

Who's Home 1.5.0

Verbindungen im lokalen Netz checken

Quelle: https://github.com/fabiocody/Whos-Home

Lizenz: MIT

Alternativen: Arpscan, Arping

Dieses kleine Python-Skript verrät, welcher Rechner gerade im lokalen Netz aktiv ist. Im Hintergrund setzt es auf »arping« und erfordert daher Administratorrechte. Es identifiziert die Rechner anhand ihrer MAC-Adresse. Who's Home benötigt Python 3.

Vor dem ersten Start tragen Benutzer in die Datei »~/.people.json« einen Namen, das Schlüsselwort »target« und die letzten 3 Bytes der MAC-Adressen ein. Ein Beispiel für die Einrichtung bietet die Github-Projektseite. Beim Aufruf von »whoshome« definieren Benutzer die Netzwerkschnittstelle. Optional geben sie Wünsche zum Ausgabeformat und den Suchintervallen an. In der Voreinstellung prüft das Tool alle 30 Sekunden und 15 Minuten lang.

Auf der Standardausgabe erscheinen vorhandene Geräte in Grün, abwesende in Magenta. Alternativ notiert Who's Home die Ergebnisse in einer Datei, die das Tool allerdings bei jedem Aufruf überschreibt. Sie kann Skripten oder anderen Programmen als Datenquelle dienen. Anwender bestimmen selbst, ob die Datei im Text- oder Json-Format stehen soll.

★★★★★

Der Ansatz von Who's Home ist interessant, noch fehlen dem Tool aber ein paar Dinge. Unbekannte MAC-Adressen zeigt es gar nicht an und wer mehrere Schnittstellen scannen möchte, muss es mehrfach aufrufen.

Bashblog 2.7

Per Shellskript bloggen

Quelle: https://github.com/cfenollosa/bashblog

Lizenz: GPLv3

Alternativen: Blazeblogger, Microblog

Wer nach einer flotten Möglichkeit zum Bloggen sucht und auf dynamische Inhalte verzichten kann, für den ist das Skript Bashblog vielleicht das Richtige. Nach dem Herunterladen ist »bb.sh« direkt einsatzfähig. Ein Blick in den über 1000 Zeilen langen Quellcode verrät, dass unter der Haube zahlreiche andere Tools beim Bloggen helfen, darunter »grep« , »awk« und »iconv« .

Vor dem ersten Aufruf gilt es, Angaben zum Autor und Titel, zur Webadresse, zum RSS- und Twitter-Feed und mehr zu machen. Dazu passen Anwender die Parameter im Skript selbst an oder notieren ihre Wünsche in einer Datei namens ».config« , die in dem Verzeichnis liegen muss, aus dem heraus sie das Tool aufrufen. Eine Beispieldatei ist nicht im Archiv enthalten. Als Vorlage kann der Inhalt der Funktion »global_variables()« aus dem Quellcode dienen.

Der Befehl »bb.sh post« startet den in »$EDITOR« hinterlegten Texteditor mit einem Template. Ihre Artikel verfassen Nutzer wahlweise im Markdown- oder HTML-Format. Nach dem Speichern bietet Bashblog an, den Beitrag direkt zu veröffentlichen, ihn erneut zu bearbeiten oder als Entwurf abzulegen. Die unfertigen Beiträge landen im Unterverzeichnis »draft« , die fertigen Artikel und die CSS-Dateien im Hauptverzeichnis. Wer nicht auf dem Webserver, sondern lokal bloggt, kopiert die Beiträge per SSH oder Rsync zur Gegenstelle.

★★★★

Das Tool benötigt kaum Ressourcen und eignet sich damit auch zum schnellen Bloggen über langsame Verbindungen. Das Skript ist leicht zu bedienen; die gute Anleitung auf der Projektseite hilft bei den ersten Schritten.

Micro 1.1.0

Nano-Alternative

Quelle: https://github.com/zyedidia/micro

Lizenz: MIT

Alternativen: Nano, Pico

Auch wenn an Texteditoren unter Linux kein Mangel herrscht, kommen ständig neue Tools hinzu. Der in Go implementierte Editor Micro sieht sich selbst als Nachfolger des Pico-Klons Nano. Die Github-Seite bietet Pakete für viele Betriebssysteme und Architekturen. Nach dem Installieren landet auch eine kurze Readme-Datei auf dem Rechner; Beispiele und eine ausführliche Dokumentation gibt es auf der Projektseite.

In der Voreinstellung zeigt Micro Zeilennummern am linken Rand an. Unten im Programmfenster erscheinen der Name der geöffneten Datei und ein Hinweis, dass [Strg]+[G] eine Hilfe einblendet. Anwender können mit den Pfeiltasten navigieren, [Strg]+[S] speichert die Datei, [Strg]+[Q] speichert sie und beendet den Editor. Besonders interessant ist das Tastenkürzel [Strg]+[E], das am unteren Fensterrand eine Eingabezeile für den Kommandozeilenmodus öffnet, der ähnlich wie der von Vim arbeitet.

Über Befehle passen Benutzer das Erscheinungsbild an und aktivieren das Syntax Highlighting. Der Editor kennt über 70 Programmier- und Satzsprachen und hebt deren Schlüsselwörter hervor. Seine Konfigurationsdatei erwartet das Tool im Json-Format unterhalb von »~/.config/micro« . Hier speichert es auch Informationen zu den geöffneten Buffern und verwaltet Plugins. Diverse Lua-Add-ons erweitern den Funktionsumfang von Micro.

★★★★

Wer nach einem schlanken und plattformunabhängigen Editor sucht, wird bei Micro fündig. Das Tool wirkt auf den ersten Blick spartanisch, bietet aber einen großen Funktionsumfang und ist über Plugins erweiterbar.

Vddiff 1.1.0

Verzeichnisse miteinander vergleichen

Quelle: http://n-t-roff.github.io/vddiff/

Lizenz: BSD

Alternativen: Diff, Colordiff, Vimdiff

Vim Directory Diff, kurz Vddiff, ist ein kleines Kommandozeilentool, das in Kooperation mit Vim den Inhalt zweier Verzeichnisse miteinander vergleicht. Dabei beschränkt es sich auf Dateien und symbolische Links; komprimierte Archive bleiben derzeit außen vor – der Punkt steht allerdings schon auf der To-do-Liste der Entwickler.

Wer anstelle von Vim ein anderes Diff-Tool bevorzugt, definiert dieses über einen Parameter beim Start. So nutzt »-d« im Hintergrund »diff« und leitet die Ausgabe an »less« weiter. »-g« ruft Gvim auf den Plan und »-k« das grafische Frontend Tkdiff. Wer eine ganz andere Vergleichsroutine bevorzugt, gibt hinter »-v« ein Diff-GUI oder hinter »-t« einen Shellbefehl an. Alle Optionen listet die Manpage auf. Die eigenen Vorlieben finden in der Datei »~/.vddiffrc« Platz.

In der Voreinstellung zeigt Vddiff die Unterschiede im Terminal an. Anwender blättern mit den Pfeiltasten durch die Ausgabe. Am unteren Rand verrät eine Zeile Details zum Eigentümer, zu den Zugriffsrechten und dem Zeitstempel. Optional kann das Tool Dateien kopieren, verschieben oder löschen. Auch das Umbenennen und das Ändern der Zugriffsrechte ist möglich. Wer Vddiff im Standardmodus betreibt, kann die bekannten Vim-Shortcuts zum Navigieren oder Suchen nutzen. Die Taste [H] blendet eine Hilfe zu den zahlreichen interaktiven Befehlen ein.

★★★★

Vddiff ist flink und flexibel. Vim-Fans dürften sich schnell zurechtfinden; alle anderen wählen beim Start einfach ein alternatives Diff-Tool aus. Die ausführliche Manpage sei allen empfohlen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Bloggen von der Kommandozeile mit Bashblog
  • Tooltipps

    Im Kurztest: Wrk 4.0.2, Emissary 0.1.1, TC Config 0.7.0, Neetseed 0.1.1, SFBF 1.20.0, Yadt 3.306

  • Tooltipps

    Im Kurztest: Tiny Applications 20130215, Certmgr 0.2.49, Difftree 0.5.8, Scriptform 1.0, Duply 1.11.1, Xplico 1.1.1

  • Atom

    Githubs Editor Atom feierte kürzlich seinen ersten Geburtstag. Das Unternehmen bewirbt die extrem konfigurierbare freie Anwendung als Kompromiss zwischen Vi und Emacs auf der einen, Sublime und Textmate auf der anderen Seite. Auch im Rohzustand wirkt die Mischung schon vielversprechend.

  • Umzugshelfer

    Der Webdienst Github erleichtert es Programmierern, einen Beitrag zu Open-Source-Projekten zu leisten, denn er vereinfacht und beschleunigt die Kommunikation zwischen Projekt-Maintainern und willigen Mitwirkenden radikal. Perl-Modulen ebnet ein Skript den Weg von CVS zu Git.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.