God 1.6
Hilfe für Git-Einsteiger
Quelle: https://github.com/orhun/god
Lizenz: GPLv3
Alternativen: Git Bash, Git Aliases
Das verteilte Versionsverwaltungssystem Git aus Linus Torvalds’ Feder hat sich während der letzten 14 Jahre zum Quasistandard entwickelt und kommt in etlichen Open-Source-Projekten zum Einsatz. Einsteiger tun sich aber oft schwer mit der Bedienung: Es gilt nicht nur, das Konzept von Repositorys und Branches zu verstehen, sondern auch, zahlreiche Git-Kommandos auswendig zu lernen. Das Go-basierte Tool God empfiehlt sich als Gedächtnisstütze und stellt eine interaktive Konsole für Git bereit. Es hat unter anderem Kürzel für dessen Befehle und Befehlskombinationen im Gepäck, die leichter zu merken sind.
Anwender bauen das Tool aus den Quellen, was Go in Version 1.9 oder neuer voraussetzt. Die Anleitung im Github-Repository zeigt eine Befehlsfolge, die Abhängigkeiten einspielt und das Werkzeug kompiliert. Danach ist God ohne weitere Konfiguration sofort einsatzbereit. Nach dem Start findet sich der Benutzer in einer rudimentären Shell wieder. Die Eingabe von »?« blendet eine Übersicht allgemeiner Kommandos ein; der Befehl »git« zeigt alle Kürzel für Git-Kommandos an.
God kann aber noch mehr: Wer »sc« eintippt, sieht eine Liste von Kürzeln für komplexere Aufgaben. So bietet das Tool Shortcuts für lange Befehle. Benutzer geben etwa »ll« anstelle von »git log –graph –decorate –all«, »aa« statt »git add -A« oder »cmt« für »git commit -m« ein. Anderen Shell-Befehlen stellen Anwender ein »#« voran, damit God nicht versucht, diese mit Git auszuführen.
Das noch relativ junge Projekt God kann schon jetzt überzeugen. Für künftige Versionen plant der Entwickler eine automatische Vervollständigung und die Möglichkeit, eigene Kürzel zu definieren – es lohnt sich dranzubleiben.
Meld 3.20.1
Grafisches Diff und Merge
Quelle: https://meldmerge.org
Lizenz: GPLv2
Alternativen: Diffmerge, Kompare
Konsolenfans greifen gern zu Diff oder Vimdiff, um den Unterschied zwischen Textdateien anzuzeigen. Wer ein grafisches Programm bevorzugt, sollte Meld eine Chance geben. Es vergleicht bis zu drei Dateien und Verzeichnisse miteinander, unterstützt diverse Versionsverwaltungssysteme und kann auch zwei Dateien zusammenführen.
Beim Gegenüberstellen von Dateien hebt Meld die Unterschiede farblich hervor. Mit Verbindungslinien versucht das Tool, die Beziehung zwischen den Dateien grafisch darzustellen. Für mehr Übersicht sorgt eine Leiste am rechten Fensterrand, die durch eingefärbte Bereiche anzeigt, wo es unterschiedliche Passagen gibt – praktisch für längere Dokumente. Anders als das Kommandozeilentool Diff bietet Meld darüber hinaus einen einfachen Bearbeitungsmodus. Anwender können den Editor mit Syntax-Highlighting, Zeilennummerierung und sanften Zeilenumbrüchen ausstatten.
Entwickler dürften sich über das automatische Erstellen von Patch-Dateien freuen. Wer zwei Dateien zusammenfügen möchte, kann einen gemeinsamen Vorfahren definieren, einen Read-only-Modus aktivieren und externe Tools wie etwa »git mergetool« integrieren. Beim Vergleichen von Verzeichnissen markiert Meld die Dateien, die Unterschiede enthalten. Ein Klick öffnet die Files in einem separaten Reiter. Über Filter lassen sich Dateien gezielt vom Abgleich ausschließen.
Meld blickt auf eine lange Entwicklungsgeschichte zurück und liegt vielen Distributionen in einer älteren Version bei. Neuere Releases korrigieren einige Fehler und bieten einen beschleunigten Vergleich von Verzeichnissen.
Wget2 1.99.2
Die nächste Wget-Generation
Quelle: https://gitlab.com/gnuwget/wget2
Lizenz: GPLv3
Alternativen: Wget, Curl
Für Downloads auf der Shell greifen viele Anwender zum seit 23 Jahren bewährten GNU-Tool Wget. Mit Wget2 steht mittlerweile ein Nachfolger des schon etwas angestaubten Werkzeugs in den Startlöchern, der als vollständige Neuimplementierung auf der Bibliothek Libwget aufsetzt. Einige Distributionen liefern Wget2 bereits fertig paketiert; alternativ bauen Nutzer das Tool aus den Quellen. Das Gitlab-Repository listet die zahlreichen Abhängigkeiten auf.
Die Wget2-Entwickler werben vor allem mit Verbesserungen hinsichtlich Leistung und Geschwindigkeit, was der Unterstützung von HTTP/2-, HTTP-Komprimierung, parallelen Verbindungen und dem Einsatz von If-Modified-Since-HTTP-Headern geschuldet ist. Der Anwender steuert das Werkzeug über Aufrufparameter, wobei Wget2 einen Großteil der Optionen von seinem Vorgänger übernimmt, sodass der Umstieg leicht gelingt.
Zusätzlich haben die Macher dem Tool neue Funktionen wie etwa »–chunk-size« spendiert, das den Download größerer Datenmengen in Blöcke unterteilt, oder den Schalter »–dns-cache-preload«, der eine Datei mit IPs und Hostnamen in den DNS-Cache lädt. Eine Liste aller Unterschiede finden Benutzer über die Gitlab-Projektseite.
Obwohl sich Wget2 noch im Betastadium befindet, überzeugt das Tool jetzt schon. Ob die Übertragungsgeschwindigkeit von Wget2 deutlich höher ausfällt als die des Vorgängers, konnte der Tester allerdings nicht verifizieren.
The Fuck 3.29
Tippfehler in der Shell korrigieren
Quelle: https://github.com/nvbn/thefuck
Lizenz: MIT
Alternativen: keine
Wenn die Finger wieder einmal zu schnell auf der Shell unterwegs waren, dann hilft die beherzte Eingabe von »fuck« weiter: Das Python-Skript The Fuck greift die letzte Befehlseingabe der Konsole auf, wertet sie mit seinem mitgelieferten Regelwerk aus und bietet alternative Befehle ohne Typos an. Neben einer aktuellen Python-Version (3.4 oder neuer) sind nur der Installer Pip und das Paket python-dev erforderlich, um das Werkzeug aus den Quellen zu bauen.
Nach erfolgreicher Installation trägt der Benutzer die Umgebungsvariable »eval $(thefuck –alias)« in die Konfigurationsdatei der eingesetzten Shell ein, und dann kann das Gemecker losgehen. The Fuck unterstützt neben der Bash auch die Zsh, Tcsh und Fish. Sobald das nächste Mal nach einem Kommando die Meldung »command not found« erscheint, tippt man »fuck« ein und erhält Vorschläge zur Verbesserung. Ein Druck auf die Eingabetaste bestätigt die Berichtigung; alternativ fördern die Pfeiltasten weitere Empfehlungen zutage. [Strg]+[C] bricht den Vorgang ab.
Das Github-Repository listet auch alle Regeldateien auf. In der umfangreichen Palette findet sich von Cat und Cd über Sudo und Systemctl bis hin zu Whois und Yarn so gut wie alles. Je nach Linux-Distribution unterstützt The Fuck auch Kommandos der jeweiligen Paketmanager, wie Apt, Dnf und Pacman. Wer nach einer Anleitung zum Bauen eigener Verwünschungen sucht, wird ebenfalls auf Github fündig.
Ob der Name The Fuck gut gewählt ist, darüber lässt sich trefflich streiten. Fakt ist, dass das Fluchen auf der Shell erleichtert, eine Steigerung der Tippgeschwindigkeit ist nicht ausgeschlossen.
Snebu 1.04
Client/Server-Backup-Lösung
Quelle: http://www.snebu.com
Lizenz: GPLv3
Alternativen: Restic, Borg
An leistungsfähigen Backup-Lösungen besteht unter Linux wahrlich kein Mangel. Mit dem Simple Network Backup Utility Snebu gesellt sich ein weiterer Kandidat hinzu. Anwender müssen das in C implementierte Tool aus den Quellen bauen, was aber schnell von der Hand geht. Snebu besteht aus einer Serverkomponente (»snebu«) und einem Client (»snebu-client«). Das Duo kümmert sich um lokale Sicherungen und Backups von entfernten Systemen. Letztere setzen auf das SSH-Protokoll, was den Transfer verschlüsselt.
Den Server konfigurieren Nutzer über die Datei »/etc/snebu.conf«. Hier stehen unter anderem die Pfade zu den Verzeichnissen mit den Metadaten und den zu sichernden Dateien. Snebu verwendet zum Verwalten der Metainformationen eine SQLite-Datenbank. Die Einrichtungsdatei des Clients heißt »/etc/snebu-client.conf«. In der Voreinstellung sichert Snebu das komplette System, was der Admin über die Parameter »include« und »exclude« in der Konfigurationsdatei verändert. Alternativ nimmt das Tool die zu sichernden Daten auch per Aufrufparameter entgegen.
Der Befehl »snebu-client backup« startet das Backup. Wer ein ausführliches Feedback wünscht, setzt zusätzlich den Schalter »-v« ein. Das Kommando »snebu-client listbackups« listet alle vorhandenen Sicherungen mit Namen und Zeitstempel auf. »snebu-client restore«, gefolgt vom Namen und Zeitstempel, stellt die Daten wieder her.
Snebu entpuppt sich als alles andere als simpel: Es unterstützt auch komplexere Backup-Strategien und bietet einige Plugins. Die Einarbeitung nimmt etwas Zeit in Anspruch; dabei hilft die gut geschriebene Dokumentation.
Viws 1.5.2
Flotter Webserver
Quelle: https://github.com/ViBiOh/viws
Lizenz: MIT
Alternativen: Lighttpd
Manchmal sucht man für Skripte oder das LAN eine einfache HTTP-Engine, die unkompliziert und schnell Daten über den Webbrowser bereitstellt. Hier empfiehlt sich Viws als schlanke Alternative zu Webserver-Boliden wie Apache oder Nginx. Das kompakte, nur 10 MByte große Go-Tool unterstützt sogar Funktionen wie Gzip-Kompression und TLS. Wer noch weiter abspecken möchte, installiert die 6 MByte kleine Light-Version, die ohne Gzip-, Prometheus- und Opentracing-Unterstützung kommt.
Im Github-Repository stehen die Quellen und Binaries für verschiedene Plattformen bereit. Die Konfiguration erfolgt über Parameter beim Aufruf. Viws liefert nur statische HTML-Seiten aus und eignet sich damit nicht für PHP-basierte Wikis oder Content-Management-Systeme. In der Voreinstellung lauscht es an Port 1080 auf eingehende Verbindungen, was der Schalter »-port« verändert. Zum Einrichten einer TLS-verschlüsselten Kommunikation gibt der Anwender Zertifikat und Schlüssel mit den Parametern »-cert« und »-key« an.
Lässt man die Angabe »-directory« weg, verwendet Viws »/www« als Dokumentenverzeichnis. Dort muss es wenigstens eine Datei »index.html« geben. Darüber hinaus kennt das Tool eine Reihe fester Links wie »/version« (verrät die aktuelle Version) oder »/env« (zeigt die beim Aufruf über »-env« gesetzten Umgebungsvariablen). Für die Zusammenarbeit mit Prometheus stellt Viws die Daten unter »/metrics« zur Verfügung.
Viws hält, was es verspricht, und stellt zügig Daten über HTTP(S) zur Verfügung. Lediglich auf dynamische Inhalte müssen Anwender bei diesem Mini-Webserver verzichten. (Uwe Vollbracht/hej)











