Systemmonitor Bottom 010.2, Deduplizierer Bridge 0.5.12, Codeformatierer Shfmt 3.10.0, SSH-Verbindungsmanager Sshproxy 1.6.3, Terminalmultiplexer Zellij 0.41.2.
Ressourcenjäger
Der Systemmonitor Bottom 0.10.2 hilft, die Systemressourcen im Blick zu behalten.
Verhält sich Ihr System träge, hilft ein Blick auf die aktuelle Systemauslastung bei der Problemanalyse. Mit dem Rust-basierten Tool Bottom steht ein einfacher grafischer Systemmonitor für die Konsole zur Verfügung, der auch in einer SSH-Sitzung flüssig läuft. Sie müssen das Tool nicht selbst kompilieren, sondern können auf eines der vielen Binärpakete im Github-Repository des Projekts zurückgreifen. Neben dem Binary enthält das Programmarchiv Konfigurationen für die Integration von Bottom in die gängigen Shells. Rufen Sie btm ohne weitere Parameter auf, teilt es die Konsole in verschiedene Ansichtsbereiche auf. Neben der CPU-Last und der RAM-Belegung sehen Sie den aktuellen Netzwerkdurchsatz, die Datenträgerbelegung, die laufenden Prozesse und die aktuelle Temperatur im System. Die Auslastung von CPU und RAM sowie den Netzwerkdurchsatz stellt die Software als fortlaufenden Graphen dar. Bevorzugen Sie eine simplere, der Ausgabe von Top ähnliche Anzeige, setzen Sie beim Aufruf den Schalter -b. Weitere Schalter wie -T ermöglichen eine Baumansicht der Prozessliste. Mit [Strg] und den Pfeiltasten wechseln Sie zwischen den einzelnen Bereichen. Mit / durchsuchen Sie die Prozessliste interaktiv, auch mit regulären Ausdrücken. Die Konfiguration legt das Tool beim ersten Start in $HOME/.config/bottom/bottom.toml ab. Die Datei enthält Informationen zum Erscheinungsbild und legt fest, welche Werte Bottom erfasst. So lassen sich etwa bestimmte Mountpoints oder Schnittstellen von der Überwachung ausnehmen. Alternativ passen Sie die Datei an oder nutzen sie als Vorlage für eine eigene Konfiguration, die Sie mittels -c beim Start des Programms angeben. Alles in allem bietet Bottom eine interessante Alternative zu Klassikern wie Top und Htop.
Deduplizierer
Mit Bridge 0.5.12 spüren Sie doppelte Dateien im Handumdrehen auf.
Das Go-basierte Tool Bridge durchforstet den Verzeichnisbaum nach Dubletten und schafft Platz. Findet sich die Software nicht in den Paketquellen Ihrer Distribution, greifen Sie auf eines der Binärpakete bei Github zurück. Die mitgelieferte Dokumentation beschränkt sich auf die Onlinehilfe (-h). Bridge kennt die Betriebsmodi report und prune. Wie der Name vermuten lässt, zeichnet der Modus report für die Analyse des Verzeichnisbaums zuständig. Hinter -path geben Sie das Verzeichnis an, das Sie prüfen möchten. Um auch dessen Unterverzeichnisse zu berücksichtigen, verwenden Sie den Schalter -recurse. Das Ergebnis schreibt Bridge zur Weiterverarbeitung in eine CSV-Datei, deren Namen Sie mit -csvfile angeben. Möchten Sie das Ergebnis außerdem direkt in der Konsole sehen, hängen Sie -console an. Standardmäßig bewertet die Applikation eine Datei dann als Duplikat, wenn sie zwei- oder mehrmals vorkommt. Mit -duplicates passen Sie diesen Wert an, etwa dann, wenn Sie eine Datei mehrfach benötigen. Soll die Suche nur Dateien einer bestimmten Größe berücksichtigen, legen Sie den Wert mit -size fest. Damit Bridge beim Prüfen fehlerhafter Dateien nicht abbricht, verwenden Sie die Option -ignore-errors. Nach dem Erfassen aller Duplikate starten Sie die Software im Betriebsmodi prune und übergeben die von report erzeugte CSV-Datei mit -input-csvfile. Um auf Nummer sicher zu gehen, starten Sie mit -dry-run zunächst einen Testlauf. Möchten Sie Duplikate nur verschieben, statt sie zu löschen, nutzen Sie den Parameter -backup-dir und geben dahinter das Zielverzeichnis an. Alles in allem ist Bridge ein nützlicher Helfer, um Dateidubletten aufzuspüren und zu entfernen.
Schönheitskur
Mit Shfmt 3.10.0 bringen Sie Ihre Shell-Skripte optisch in Form.
Sei es die Automatisierung wiederkehrender Aufgaben oder das Zusammenfassen von Befehlsfolgen: All das wickeln viele Anwender mit Shell-Skripten ab. Deren Aufbau fällt dabei nicht selten unstrukturiert aus, und nach einiger Zeit wirkt der Code unlesbar. Das Go-basierte Tool Shfmt hilft dabei, wieder Struktur in den Shell-Code zu bringen. Ältere Releases des Programms finden sich in den Repositories der gängigen Distributionen, die aktuelle Version steht auf der Github-Seite des Projekts zum Herunterladen bereit. Die integrierte Onlinehilfe rufen Sie mit -h auf, weitere Informationen finden Sie auf der Projektseite. Dort ist auch ein Manual verlinkt. Um den Code zu formatieren, geben Sie beim Aufruf das Shell-Skript oder ein ganzes Verzeichnis mit Skripten als Parameter an. Die Software liefert daraufhin den sauber strukturierten Code in der Konsole zurück. Um die Quelldatei(en) direkt damit zu aktualisieren, verwenden Sie den Schalter -w. Lassen Sie Shfmt mit -s und -mn alle Kommentare und Leerzeilen entfernen, erhalten Sie einen sehr kompakten Code; gut lesbar fällt er dann allerdings nicht mehr aus. Die Parameter -i und -kp ermöglichen es darüber hinaus, die Ausrichtung und das Einrücken des Codes zu beeinflussen. Das Formatieren von Klammerungen veranlassen Sie mit -fn. Benötigen Sie lediglich eine Liste aller Shell-Skripte, rufen Sie das Programm mit -f auf. Soll Shfmt nur solche Skripte anzeigen, die nicht seinen Formatierungsrichtlinien entsprechen, verwenden Sie -l. Auf der Github-Seite des Projekts finden Sie außerdem eine Reihe von Links zu Plugins, die Shfmt in beliebte Editoren oder Entwicklungsumgebungen wie Vim, Micro oder VS Code integrieren. Ein näherer Blick auf den Codeformatierer lohnt sich.
Vermittlungshelfer
Mit dem Tool Sshproxy 1.6.3 steuern Sie effizient SSH-Verbindungen.
Wer seine Server auch von extern zugängig machen möchte, ohne dafür zahlreiche Ports durch die Firewall durchzureichen, der braucht ein Tool wie Sshproxy. Sie müssen das Go-basierte Tool nicht selbst kompilieren: Auf Github stehen Binärpakete zum Herunterladen bereit, die neben Sshproxy die Tools Sshproxyctl, Sshproxy-dumpd und Sshproxy-relay enthalten. Sie richten Sshproxy mit einer Konfigurationsdatei im YAML-Format ein, die Sie entweder im Verzeichnis /etc/sshd/ ablegen oder mit vollständigem Pfad beim Aufruf übergeben. Kommandozeilenparameter kennt der Dienst nicht. Eine Beispielkonfiguration finden Sie im Github-Repository. In der Konfigurationsdatei von Sshproxy legen Sie unter anderem fest, welche Parameter das Tool an SSH weitergibt und wie das Logging erfolgt. Außerdem legen Sie dort einen Standarddienst namens default an und ordnen ihm ein oder mehrere Zielsysteme zu. Das Verteilen der eingehenden Verbindungen erfolgt der Reihe nach. Es besteht aber auch die Möglichkeit, die Verteilung zufällig oder basierend auf der Anzahl der vorhandenen Verbindungen vorzunehmen. Damit eignet sich Sshproxy nebenbei als rudimentärer Lastverteiler. Mit sogenannten Override-Konfigurationsblöcken legen Sie spezielle Weiterleitungen fest. Beispielsweise lassen sich damit bestimmte Benutzer oder Gruppen zu anderen Systemen weiterleiten. Damit der SSH-Daemon Sshproxy nutzt, müssen Sie in der /etc/ssh/sshd_config ein Force-Kommando eintragen. Eine Beispielkonfiguration dazu finden Sie auf Github. Während Sshproxy die Verbindungen weiterleitet, ermöglicht Sshproxyctl den Einsatz des Tools in Kombination mit Etcd. Bislang fehlt der vielseitigen Proxy-Software allerdings eine ausführliche Dokumentation. Interessierte müssen daher Experimentierfreude mitbringen.
Konsolenjongleur
Mittels Zellij 0.41.2 erweitern Sie die Shell unter anderem um eine Mehrfensteransicht.
Aus Gründen der Geschwindigkeit oder der verfügbaren Bandbreite nutzen die meisten Anwender für den Remote-Zugriff auf andere Rechner eine konsolenbasierte Verbindung via SSH. Aber auch auf dem lokalen System schätzen viele die Shell wegen ihrer Vielseitigkeit und Effizienz. Wer den Platz in einem Konsolenfenster noch besser nutzen möchte, für den empfiehlt sich das Rust-basierte Tool Zellij. Sie müssen die Software nicht selbst kompilieren, auf der Github-Seite des Projekts stehen 64-Bit-Binärpakete für Linux und MacOS jeweils für x86- und ARM-Systeme zum Herunterladen bereit. Ohne weitere Parameter aufgerufen, öffnet die Zellij nur eine Konsole, in der Sie dann wie gewohnt arbeiten. Das Programm zeichnet dabei einen neuen Fensterrahmen mit Reitern in der Kopfzeile sowie einer Fußzeile, die eine Übersicht der zur Verfügung stehenden Funktionstasten und Modi enthält. Mit [Alt]+[N] unterteilen Sie den aktuellen Reiter in verschiedene Bereiche, von denen jeder wie eine eigene Shell agiert. Einen zusätzlichen Tab, der ebenfalls eine eigene Shell öffnet, legen Sie mittels [Strg]+[T] an. Wie Sie es von Werkzeugen wie Screen und Tmux kennen, können Sie jederzeit zwischen den Reitern wechseln. Mit [Alt] und den Pfeiltasten nach rechts und links wechseln Sie zwischen den Ansichten eines Reiters. Den aktuell aktiven Bereich umrandet die Software dabei immer in Grün. Sie haben außerdem die Möglichkeit, die Größe der jeweiligen Abschnitte zu verändern. Wie bei Tmux können Sie bei Zellij eine Sitzung jederzeit suspendieren, wieder aufnehmen oder Befehle an sie senden. Eine ausführliche Dokumentation zur Software samt einem Screencast finden Sie auf der Github-Seite des Projekts. Ein Blick auf den pfiffigen Terminalmultiplexer lohnt sich in jedem Fall. (tle)









