Schlanker Proxy Dante 1.4.3 für RasPis, Daten sichern mit Duplicity 0.8.19, History verwalten und auswerten mit Hstr 2.3, gewohnte Einstellungen auf entfernten Systemen nutzen mit Xxh 0.8.7.
Proxy-Server
Mit Dante 1.4.3 setzen Sie einen schlanken Proxy auf einem RasPi auf.
In vielen Soho-Netzwerken stellen RasPis als kleine, kompakte Server Dienste bereit oder trennen das lokale Netz vom Rest der Welt. Um trotzdem online zu gehen, kommt oft ein Proxy zum Einsatz. Genügt ein einfacher Web-Proxy nicht, bietet der Applikation-Level-Proxy Dante eine Alternative. Er zählt zu den sogenannten Socks-Proxies, die es ermöglichen, unabhängig und transparent verschiedene Protokolle wie HTTP, FTP, IRC oder XMPP durchzureichen. Optimierungen für bestimmte Protokolle wie etwa Squid bietet das Paket aber nicht. Eine ältere Version von Dante liegt im Raspbian-Repository. Das aktuelle Release enthält eine Reihe von Fehlerkorrekturen und ein verbessertes LDAP-Modul, Sie müssen den Quellcode aber selbst kompilieren.
Dante stellt die Programme Sockd und Socksify bereit. Als Server-Dienst wartet Sockd nach dem Start auf Port 1080 auf allen Schnittstellen auf eingehende Verbindungen. Bei Bedarf passen Sie den Dienst über /etc/sockd.conf an. Ein Beispiel für eine Konfiguration finden Sie im Verzeichnis example/ des Quellarchivs. Über die Konfiguration legen Sie unter anderem interne und externe Schnittstellen fest und passen Ports oder die Art der Authentifizierung an. Log-Informationen von Sockd legen Sie wahlweise in einer gesonderten Datei ab oder reichen diese an den Syslog-Dienst weiter. Über -f geben Sie dem Programm beim Start eine andere Konfigurationsdatei mit. Welche Verbindungen der Daemon durchlässt, legen Sie über Regelblöcke fest. Sie dürfen diese für ganze Netzsegmente oder einzelne Clients definieren. Ein Block regelt dabei, welche Verbindungen erlaubt sind, wie die Authentifizierung erfolgt und welche Zustände die Software im Logging festhält. Damit Programme den Proxy nutzen, konfigurieren Sie ihn in den Einstellungen des jeweiligen Tools.
Unterstützen Programme keinen Socks-Proxy, schafft Socksify Abhilfe: Es dient als Wrapper, mit dem Sie andere Programme aufrufen. Deren Netzwerkverbindungen laufen dann durch Socksify sowie durch den Proxy. Als Wrapper kommt Socksify auf dem jeweiligen Client zum Einsatz; Sie konfigurieren ihn über /etc/socks.conf. Dort legen Sie mit sogenannten Routen fest, welche Software welchen Proxy verwendet oder ob sie stattdessen direkt mit dem Internet verbunden ist.
Backup-Spezialist
Mit Duplicity 0.8.19 sichern Sie Daten auf entfernten Systemen.
Viele Anwender vernachlässigen die Datensicherung, bis der erste Datenverlust eintritt. Dateien auf eine USB-Platte zu kopieren, ist nur die halbe Miete und erweist sich spätestens bei einem Einbruch oder einem Brand als fatal. Wollen Sie dem vorbeugen, bietet das Python-basierte Tool Duplicity eine Hilfe. Es beherrscht Protokolle wie Rsync, SCP oder WebDAV und unterstützt Cloud-Dienste wie Dropbox, Google, Microsoft Onedrive oder Amazon S3. Ältere Versionen des Tools finden sich im Raspbian-Repository. Die aktuelle Version korrigiert eine Reihe von Fehlern, sodass sich ein Update lohnt.
Für ein Backup geben Sie dem Tool beim Aufruf das zu sichernde Verzeichnis, das Übertragungsprotokoll sowie die URL und Zugangsdaten des Ziels mit. Der Parameter --help bietet eine Übersicht über alle unterstützten Plattformen und die passenden Optionen. Duplicity beherrscht vollständige und inkrementelle Sicherungen. Eine ordnungsgemäße Strategie setzt für den ersten Durchlauf immer eine vollständige Sicherung voraus. Danach folgen dann inkrementelle, bis wieder eine vollständige ansteht. Die Daten legt das Programm als GnuPG-verschlüsselte TAR-Datei im Ziel ab. Haben Sie keinen Schlüssel hinterlegt, erfragt das Programm beim Start ein Passwort. Je nach Datenmenge und Anbindung dauert das Sichern entsprechend. Wollen Sie über den Fortgang auf dem Laufenden bleiben, aktivieren Sie mit -v eine von neun Debugging-Stufen.
Standardmäßig schließt das Programm den Lauf mit einer Statistik ab, die über die Laufzeit, die Datenmenge sowie die Anzahl der neuen, geänderten und gelöschten Dateien informiert. Mit dem Parameter collection-status sehen Sie den Verlauf der erzeugten Datensicherungen ein. Mit remove-older-than, remove-all-but-n-full oder remove-all-inc-of-but-n-full entfernen Sie nicht mehr benötigte Sicherungen. Zum Wiederherstellen kommt restore zum Einsatz. Verschiedene Exclude- und Include-Parameter ermöglichen es, die Datenmenge zu reduzieren. Je nach Protokoll stehen weitere Parameter zum Optimieren bereit.
History-Verwalter
Die Befehlshistorie der Shell verwalten Sie mit Hstr 2.3 auf einfache Weise.
Leistungsfähige Shells wie die Bash oder die Zsh erleichtern Ihnen mit der History die Arbeit, in der sie eingegebene Befehle speichern. Je nach Konfiguration verwaltet sie bis zu 1000 Einträge, auf die Sie mehr oder weniger schnell zugreifen. Hstr sorgt dabei für mehr Komfort. Da die Software im Raspbian-Repository fehlt, müssen Sie sie aus dem Quellcode übersetzen. Ohne Parameter aufgerufen, gibt Hstr den Inhalt von ~/.bash-history in einer Curses-Oberfläche aus. Sie navigieren mit den Pfeiltasten durch die Einträge oder geben in der Kopfzeile ein Suchmuster ein. Das Tool aktualisiert dann die Ausgabe interaktiv und zeigt nur Einträge an, die den Suchtext enthalten.
Standardmäßig arbeitet Hstr mit einer Schlüsselwortsuche. Mit [Strg]+[E] wechseln Sie zum Einsatz regulärer Ausdrücke. Um die exakte Schreibweise zu berücksichtigen, nutzen Sie [Strg]+[T]. Die Liste der Treffer basiert auf der Befehlslänge, der Häufigkeit und dem Zeitstempel. Besonders relevante Treffer stehen immer in den ersten Zeilen. Über [Strg]+[Umschalt]+[ 7] passen Sie die Sortierung an. Über die Eingabetaste wählen Sie einen Eintrag aus, den Hstr in der Shell ausführt. Wollen Sie den Befehl vorher noch anpassen, drücken Sie stattdessen [Tab]. Mit [Strg]+[F] kennzeichnen Sie bestimmte Befehle als Favorit. Eine Liste aller Favoriten liefert -f zurück.
Bei Bedarf integrieren Sie Hstr in die Konfiguration der Shell, was den Einsatz erleichtert. Eine entsprechende Konfiguration liefert das Tool beim Aufruf mit -s für die Bash und mit -z für die Z-Shell. Es setzt eine Reihe von Umgebungsvariablen und hinterlegt das Befehlsalias hh für einen schnellen Zugriff.
Shell-Helfer
Mithilfe von Xxh 0.8.7 transferieren Sie Shell-Einstellungen auf entfernte Systeme.
Wer den vollen Funktionsumfang aller Linux-Tools nutzen will, wechselt früher oder später in die Konsole und passt dort die Konfiguration optimal an seinen Arbeitsstil an. Verbinden Sie sich jedoch via SSH auf ein entferntes System, stehen diese Einstellungen dort nicht bereit. Abhilfe schafft das Python-Programm Xxh. Als Wrapper greift es im Hintergrund auf Tools wie Git und SSH zurück. Da das Raspbian-Repository Xxh nicht bereitstellt, installieren Sie es aus den Quellen. Dazu benötigen Sie ein aktuelles Pi OS mit Python 3.7 oder höher; auf einem älteren, Debian-9-basierten Raspbian lief die Software im Test nicht.
Um eine Verbindung aufzubauen, geben Sie Xxh beim Aufruf die IP-Adresse oder den Hostnamen des Ziels als Parameter mit. Den bei SSH notwendigen Schritt, den Host-Key des Zielsystems beim ersten Aufbau aktiv zu bestätigen, überspringt das Tool und trägt den Schlüssel sofort ein. Generell bevorzugt Xxh das passwortlose Authentifizieren via SSH-Schlüssel. Um sich ohne Schlüssel via Passwort zu authentifizieren, installieren Sie auf dem lokalen System Sshpass. Beim ersten Aufbau prüft das Tool, ob der Helfer auf dem Zielsystem ebenfalls vorhanden ist. Falls nicht, bietet Xxh die Installation aus einem Appimage an, dass ebenfalls im Github-Repo des Tools liegt. Das klappt aber nur auf 64-Bit-Systemen; auf 32-Bit-Linux-, BSD- oder ARM-Linux-Systemen lässt sich die Xxh-Unterstützung für Xonsh, Fish und Zsh nicht automatisch installieren. Alternativ geben Sie mit +s die Bash als Ziel-Shell an – sie ist mit fast allen Systemen kompatibel. Dann ist es aber notwendig, den Parameter bei jedem Aufruf mitzugeben.
Weitere Parameter ermöglichen das Ausführen von hinterlegten Skripten und Befehlen beim Aufbau der Verbindung. Alle Einstellungen speichert das Programm in ~/.xxh/ ab. Eine Manpage gibt es nicht, --h liefert eine rudimentäre Online-Hilfe. Eine ausführliche Dokumentation finden Sie auf der Github-Projektseite. (agr)





