Aus Linux-Magazin 07/2023

CLI-Werkzeuge im Kurztest

Taskrunner Cmdx 1.7.2, Cat-Alternative Gat 0.8.1, Monitoring-Tool Gatus 5.4.0, Portknocker Knockr 0.2.0, Deduplizierer Samanlainen 0.2.1, Webseitengenerator Zola 0.17.2.

Cmdx 1.7.2

Aufgaben automatisieren

Quelle: https://github.com/suzuki-shunsuke/cmdx

Lizenz: MIT

Alternativen: Task

Mit Cmdx lassen Sie mittels eines einzigen Kommandos einen Task wiederholt laufen. Im Github-Repo des Projekts liegen fertige Pakete für Linux, Windows und MacOS. Sie enthalten lediglich das Go-Binary, ein README und den Lizenztext. Eine Funktionsbeschreibung samt Anwendungsbeispielen finden Sie im Handbuch auf der Projektseite. Dort gibt es einen Link auf eine Konfigurationsdatei, die Sie als Vorlage verwenden können. Alternativ rufen Sie »cmdx -i« auf, woraufhin das Tool eine Konfiguration erstellt. In der Voreinstellung erwartet Cmdx diese in der Datei ».cmdx.yaml« im aktuellen Ordner. Bei Bedarf geben Sie über »-c« eine andere Datei an oder hinterlegen den Speicherort in der Umgebungsvariablen »$CMDX_CONFIG_PATH«.

In der Einrichtungsdatei stehen alle ausführbaren Tasks unter einem jeweils eindeutigen Namen. Für jeden geben Sie einen Timeout-Wert und Umgebungsparameter vor, daneben benennen Sie Flags und Argumente. Hinter »script« steht der auszuführende Befehl oder ein Dateiname. Um einen definierten Task mit Cmdx auszuführen, geben Sie dessen Namen beim Aufruf an. Der Schalter »-d« startet einen Testlauf, »-l« liefert eine Übersicht aller Tasks. Mit Cmdx können Sie auch einfache Auswahlmenüs für die Konsole gestalten; ein Beispiel finden Sie auf Github.

  Der praktische Taskrunner Cmdx führt Befehle und Skripte in standardisierten Umgebungen aus. Sein Einsatz erfordert jedoch eine längere Einarbeitungszeit.

Gat 0.8.1

In Go implementierte Cat-Alternative

Quelle: https://github.com/koki-develop/gat

Lizenz: MIT

Alternativen: Cat, Tac

Viele Anwender greifen zu Cat, um schnell Textdateien im Terminal zu betrachten. Eine optisch ansprechendere Alternative bietet das in Go geschriebene Tool Gat. Es unterstützt Syntax-Highlighting für viele Sprachen und speichert die Ausgabe optional als HTML oder JSON. Auf Github finden Sie Pakete für Linux, Windows und MacOS.

Hinter dem Kommando »gat« tippen Sie den Namen der Datei, die Sie ausgeben möchten. Gat erkennt deren Format an der Erweiterung und nutzt automatisch das passende Farbschema. Gibt es dabei Probleme, geben Sie hinter »-l« die Syntax für das Highlighting vor. Das Tool kennt über 200 verschiedene Programmier- und Satzsprachen sowie Formate von Konfigurationsdateien. Fehlt die Unterstützung für einen Dialekt, probieren Sie es mit dem Parameter »-p«. Gat bereitet die Ausgabe dann so gut wie möglich auf. Eine Übersicht aller unterstützten Sprachen und Formate liefert »–list-langs«.

In der Voreinstellung präsentiert Gat die Ausgabe im »terminal256«-Format, nimmt aber hinter »-f« auch ein anderes Format entgegen. Die Github-Seite listet alle unterstützten Formate und deren Spezifikationen auf. Leiten Sie die Ausgabe des Tools per Pipe weiter, deaktiviert Gat automatisch die Farbcodes. Möchten Sie stattdessen die Farben beibehalten, verwenden Sie »-p«.

  Die farbliche Aufbereitung gelingt Gat gut. Allerdings fehlen ihm noch einige Cat-Funktionen, etwa die Zeilennummerierung.

Gatus 5.4.0

Schlankes Monitoring-Tool

Quelle: https://github.com/TwiN/gatus

Lizenz: Apache 2.0

Alternativen: Monitorix, Monit

Gatus empfiehlt sich als schlanke Alternative zu komplexen Monitoring-Lösungen wie Icinga, Nagios oder Zabbix. Das Health-Dashboard für den Browser richtet sich primär an Entwickler, die Dienste mit HTTP-, ICMP-, TCP- oder DNS-Abfragen überwachen möchten. Gatus bietet mehr als 15 Alarmierungsfunktionen, darunter die Benachrichtigung per E-Mail, Discord, Slack und sogar Matrix oder Telegram.

In den Paketquellen der Distributionen fehlt das Programm noch. Sie bauen es selbst aus den Quellen, was eine aktuelle Go-Version erfordert. Auch ein Betrieb im Docker-Container ist möglich. Neben den Sourcen finden Sie auf Github auch eine Beispielkonfiguration, die mehrere sogenannte Endpoints bereitstellt – so nennt Gatus die zu überwachenden Dienste. Jeder Endpoint hat einen eindeutigen Namen und ein Prüfintervall. Mehrere Endpoints können eine Gruppe bilden, für die Sie dann weitere Einstellungen vornehmen.

Das Tool kennt außerdem Webeinträge. Dazu geben Sie eine Schnittstelle und einen Port an und benennen ein SSL/TLS-Zertifikat. In der Voreinstellung startet Gatus sein Dashboard an Port 8080 und wartet auf unverschlüsselte Verbindungen. Optional lässt sich eine einfache Authentifizierung einrichten. Auf der Projektseite finden Sie eine Beschreibung aller Funktionen und aussagekräftige Beispiele.

  Gatus biete eine interessante Monitoring-Alternative für kleinere Umgebungen. Das Handbuch ist ausführlich und informativ.

Knockr 0.2.0

Portknocking-Werkzeug

Quelle: https://github.com/solutionroute/knockr

Lizenz: MIT

Alternativen: Knockd, Nmap

Via Internet erreichbare Systeme haben oft mit aggressiven Portscans und unautorisierten Anmeldeversuchen zu kämpfen. Daher greifen Admins gern auf digitale Klopfcodes zurück, die die Firewall nur bei Bedarf für eine Adresse öffnen. Beim Einrichten helfen Portknocker, die Verbindungen zu verschiedenen Ports in einer festgelegten Reihenfolge aufbauen und direkt wieder beenden. Die Firewall des Ziels erkennt das Muster und öffnet den hinterlegten Port.

Der in Go implementierte Portknocker Knockr lässt sich schnell aus den Quellen übersetzen. Um damit anzuklopfen, geben Sie hinter dem Befehl den FQDN oder die IP-Adresse des entfernten Rechners an. Danach folgt eine Liste der anzuklopfenden Ports. In der Voreinstellung kommuniziert das Tool über TCP; andere Protokolle geben Sie hinter »-n« an.

Neben der Port-Reihenfolge kann auch die Pause zwischen dem Anklopfen als Legitimierung dienen. Knockr wartet jeweils 100 Millisekunden, bevor es beim nächsten Port anklopft, »-d« definiert ein anderes Intervall. Die Dauer des Anklopfens legen Sie mit »-t« fest; die Voreinstellung liegt bei 1,5 Sekunden. In der Terminalausgabe zeigt Knockr eine Zusammenfassung an und berichtet, an welchen Ports es geklopft hat und wie die Antwort lautet. Benötigen Sie die Informationen nicht, bringen Sie das Tool mit »-s« zum Schweigen.

  Der schlanke, zuverlässiger Türklopfer Knockr hilft dabei, Zugangsregeln für Server einzurichten.

Samanlainen 0.2.1

Doppelte Dateien finden und löschen

Quelle: https://github.com/raspi/samanlainen

Lizenz: Apache 2.0

Alternativen: Fdupe, Duplikaatti

Das Rust-Tool Samanlainen, eine Neuimplementierung des Go-Programms Duplikaatti, findet doppelte Dateien und löscht sie auf Wunsch direkt. Es gehört noch nicht zum Standardumfang gängiger Distributionen, Sie greifen am besten zu einem der auf Github angebotenen Pakete.

Sie rufen »samanlainen« zusammen mit dem Namen des zu überprüfenden Ordners auf. Das Tool notiert alle Dateien in einer internen Liste und entfernt dann diejenigen, zu denen es kein Pendant mit identischer Dateigröße gibt. Im nächsten Arbeitsschritt erzeugt es einen Hash über die letzten 1024 Byte jeder Datei. Files, deren Hash-Wert nur einmal in der Liste vorkommt, streicht das Tool von der Liste. Für die verbleibenden Dateien ermittelt es einen Hash über die ersten 1024 Byte. Auch hier entfallen nur einmal auftauchende Dateien aus der Liste. Im letzten Schritt erzeugt Samanlainen einen Hash über das gesamte File.

Das Ergebnis notiert das Tool in der Konsole. Um die Dublettensuche einzugrenzen, geben Sie hinter »-m« und »-M« die Größe der zu untersuchenden Dateien an. Mit »-s« legen Sie die Größe des Scanbereichs fest (Vorgabe: 1 MByte). Einen ausführlichen Bericht fordern Sie über »-v« an. Um die gefundenen Dubletten in einem Rutsch zu entfernen, geben Sie »–delete-files« an.

  Samanlainen findet doppelte Dateien und löscht diese auf Wunsch direkt. Insbesondere bei der Kontrolle vieler Files arbeitet es jedoch relativ langsam.

Zola 0.17.2

Statische Webseiten generieren

Quelle: https://github.com/getzola/zola

Lizenz: MIT

Alternativen: Hugo

Das Rust-Tool Zola baut statische Webseiten auf Basis von Markdown-Dateien und verwertet dabei auf Wunsch auch Bilder und Javascript-Schnipsel. Auf Github gibt es Pakete für Linux, Windows und MacOS, die neben dem Binary ein README und den Lizenztext enthalten. Die Projektseite liefert eine umfangreiche Anleitung.

Starten Sie Zola ohne Parameter, listet es im Terminal alle Befehle samt Kurzbeschreibung auf. Legen Sie mit »zola init« ein neues Projekt an, begleitet Sie ein Assistent durch die nächsten Schritte. Das Tool prüft, ob im Verzeichnis bereits ein Projekt liegt, und stoppt den Vorgang gegebenenfalls. Dieser Check lässt sich mit »–force« aushebeln. Zola fragt nach der späteren URL und will wissen, ob Sie Sass, ein Syntax-Highlighting und das Anlegen eines Suchindex wünschen. Alle Einstellungen speichert es in der Datei »config.toml« und erzeugt dann die Verzeichnisstruktur.

In den entsprechenden Unterverzeichnissen hinterlegen Sie eigene Themes, Sass-Files oder Templates. Die Webseiten gehören ins Verzeichnis »content/«. Zola erwartet hier Markdown-Files mit der Endung ».md«. Das Kommando »zola check« prüft, ob das Tool die Seite bauen kann, »zola build« erstellt sie. Das Kommando »zola serve« startet einen simplen Webserver, sodass Sie das Projekt im Browser ansehen können.

  Zola bietet eine probate Alternative zu etablierten Generatoren wie Hugo. (Uwe**Vollbracht/hej)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben