Ssh-client Mmh 1.6.0 für einfache Administration, defekte Links in Webseiten finden mit Scc 2.4.2, Performance ermitteln mit Perftacho 0.4.0, Quellcode analysieren Scc 3.0.0
Mmh
Mit Mmh 1.6.0 Rechner über SSH administrieren.
Mit IoT- und SoC-Geräten wie dem RasPi befinden sich in privaten Haushalten zahlreiche Systeme, die gepflegt werden wollen. Der Remote-Zugriff erfolgt in der Regel via Secure Shell (SSH). Wer die Arbeit wiederkehrender Aufgaben auf mehreren Systemen reduzieren möchte, für den ist Mmh vielleicht das Richtige.
Sie brauchen das Go-basierte Tool nicht selber kompilieren, sondern greifen auf eines der vorgefertigten Binärpakete auf Github zurück. In Bezug auf die Dokumentation steht lediglich die Online-Hilfe mit dem Befehl help bereit. Github-Seite und Dokumentation stellen nur chinesische Texte bereit.
Während ältere Versionen noch eine Installationsroutine mitbringen, ist die aktuelle Version sofort lauffähig. Beim ersten Aufruf legt das Tool eine Standardkonfiguration im Ordner $HOME/.mmh/ ab. Die Datei basic.yaml enthält ein Beispiel, das sich als Vorlage eignet.
Die Datei gliedert sich in die Bereiche basic und servers. Der Basic-Bereich enthält Parameter wie Benutzername und Passwort, die für alle Server gelten. Im Server-Bereich legen Sie Parameter für die jeweilige Verbindung zu den Remote-Systemen fest.
Jedes System erhält einen eindeutigen Namen, über den Sie es später ansprechen. Neben Adresse, Port oder Proxy-Server dürfen Sie hier individuelle SSH-Schlüssel oder Keepalive-Intervalle eintragen. Bei Bedarf ordnen Sie jedem Eintrag ein oder mehrere Tags zu. Auf diese Weise fassen Sie die Einträge zu Gruppen zusammen. So senden Sie einen Befehl an eine Gruppe von Systemen.
Um eine Verbindung zu einem entfernten System aufzubauen, geben Sie beim Aufruf den Unterbefehl mgo gefolgt vom Servernamen mit. Wollen Sie nur einen Befehl ausführen, kommt der Unterbefehl mec zum Einsatz.Als Parameter geben Sie neben dem Servername das auszuführende Kommando an. Die Ausgabe zeigt Mmh in der aktuellen Konsole an. Um zu prüfen, ob das entfernte System überhaupt zu erreichen ist, nutzen Sie den Befehl mping. SSH-Tunnel bauen Sie mit dem Befehl mtun auf. Die entsprechende Syntax liefert mtun help.
Obwohl die Dokumentation in Chinesisch verfasst ist, sind die Beispiele für die Konfiguration und für die Ausgaben für Europäer verständlich. Aufgrund spärlicher Dokumentation hat das Programm eine steile Lernkurve. Für Anwender, die viele Systeme pflegen müssen, lohnt sich der Aufwand aber.
Muffet
Defekte Links in Webseiten finden mit Muffet 2.4.2.
Jeder der eine Webseite betreibt, kennt das Problem. Mit den Monaten sammeln sich still und heimlich zahlreiche Links an, die ins Leere laufen. Insbesondere bei großen Web-Auftritten ist es schwierig, alle zu finden. Tools wie Muffet stehen Ihnen bei der Suche hilfreich zur Seite.
Sie brauchen das Go-basierte Tool nicht selbst zu kompilieren: Auf der Github-Seite finden sich fertige Pakete für alle wichtigen Betriebssysteme und Plattformen. Neben der ausführbaren Datei sind im Archiv nur die Lizenzbedingungen und eine kurze README-Datei enthalten.
Unterstützung finden Sie in der Online-Hilfe, die Sie mit -h aufrufen. Das Tool ist nach dem Entpacken sofort einsatzbereit. Die Konfiguration erfolgt via Parameter beim Aufruf. Für einen einfachen, schnellen Test reicht es, dem Tool beim Aufruf die zu prüfende URL mitzugeben. Muffet führt in seiner Ausgabe alle Links auf, die ins Leere oder einen Timeout laufen. Wollen Sie außerdem alle funktionierenden Links sehen, geben Sie den Parameter -v für eine ausführliche Ausgabe mit.
Standardmäßig öffnet das Tool bis zu 512 Verbindungen, um die Links der angegebenen URL zu kontrollieren. Mit -c passen Sie die Anzahl an Ihre Bedürfnisse an. Über --rate-limit geben Sie außerdem die Anzahl der Anfragen pro Sekunden vor. Ist für den Verbindungsaufbau ein Proxy erforderlich, geben Sie dessen Daten mit --proxy an.
Legen Sie keinen Wert auf die Prüfung der SSL-Zertifikate, überspringen Sie diese mit --skip-tls-verification. Möchten Sie sicherstellen, dass Muffet bei seiner Prüfung die angegebene Seite nicht verlässt, geben Sie dem Programm den Parameter --one-page-only mit. Es listet alle nicht funktionierenden Links auf und hebt die Ausgabe farblich hervor.
Ist eine Ausgabe im Json-Format erforderlich, nutzen Sie den Parameter --json. Alles in allem ist Muffet ein hilfreiches Tool, um die Links auf eine Webseite im Auge zu behalten. Aufgrund der spärlichen Dokumentation geht aber Probieren über Studieren.
Perftacho
Ausführungsgeschwindigkeit ermitteln mit Perftacho 0.4.0.
Ganz gleich wie schnell ein Rechner ist, jeder hat hin und wieder das Gefühl, dass Programme zu langsam laufen. Wer sich durch eine objektive Messung Gewissheit verschaffen möchte, braucht ein Tool wie Perftacho. Das kompakte, Rust-basierte Programm ermittelt die durchschnittliche Verarbeitungsdauer eines Programms.
Ein fertiges Binärpaket steht auf der Github-Seite bereit, sodass Sie bei Bedarf sofort mit den Messungen starten. Um die einfache Laufzeit einer Software zu ermitteln, übergeben Sie das auszuführende Programm samt Optionen beim Aufruf als Parameter.
Das Tool berechnet die Laufzeit in Millisekunden. Die Ausgabe des gemessenen Programms gibt Perftacho standardmäßig nicht wieder. Wer die Ausgabe dennoch benötigt, gibt beim Aufruf den Parameter -tachoShowOutput mit. Ist die Ausgabe des zu messenden Programms nicht ASCII-konform, ist das Ergebnis unter Umständen nicht lesbar.
Mit dem Parameter -tachoASCII wandelt die Anwendung alle Zeichen ASCII-konform um. Wollen Sie die durchschnittliche Laufzeit eines Programms ermitteln, ist eine mehrmalige Ausführung des Programms erforderlich. Mit -tachoRepeat legen Sie fest, wie oft das Tool die Software ausführt.
Perftacho berechnet die durchschnittliche Laufzeit und gibt dabei die maximale und minimale Laufzeit aus. Kombinieren Sie die Parameter -tachoRepeat und -tachoShowDetails, gibt das Tool außerdem die Laufzeit für jeden Durchlauf aus.
Mit -tachTag ordnen Sie jeder Messung einen eindeutigen Namen zu. Ideal, wenn Sie die Ergebnisse sammeln und später vergleichen möchten. Im Gegensatz zum GNU-Tool Time liefert Perftacho detaillierte Informationen. Als Dokumentation stehen die Online-Hilfe und die Daten der Github-Seite bereit.
Scc
Quellcode analysieren mit Scc 3.0.0.
Ganz gleich ob Hobby-Projekt oder Business-Programm – irgendwann stellt sich die Frage, wie groß der Anteil an Kommentaren im Quellcode ist oder wie viele Zeilen Code das Projekt wirklich umfasst. Dank Scc braucht niemand die Zeilen von Hand zu zählen.
Das Tool ermittelt selbstständig Kommentar-, Leer- und Code-Zeilen in einem Programm. Außerdem versucht es, die Komplexität des Codes abzuschätzen. Scc kennt eine Vielzahl an Satz- und Programmiersprachen und gliedert bei größeren Projekten die Ausgabe entsprechend. Für eine einfache Abschätzung rufen Sie das Tool ohne weitere Parameter im Verzeichnis mit dem Quellcode auf.
Das Tool durchsucht die vollständige Verzeichnisstruktur und wertet alle bekannten Programmiersprachen aus. Das Ergebnis gibt es tabellarisch in der Konsole aus. Dabei gibt es neben der Gesamtzahl der Zeilen je Programmiersprache die Anzahl der Dateien der jeweiligen Sprache aus. Zu guter Letzt versucht das Tool die Entwicklungskosten, Entwicklungsdauer und die Anzahl der Programmierer abzuschätzen.
Die Geschwindigkeit ist dabei einer der Pluspunkte von Scc. Durch Setzen der Umgebungsvariable GOGC=-1 deaktivieren Sie die Garbage-Collection, was das Tempo weiter erhöht, aber auch den Speicherbedarf steigert.
Das Go-basierte Tool ist in den meisten Distributionen nicht enthalten, sodass Sie auf die Binärpakete auf Github zurückgreifen müssen. Die Konfiguration erfolgt via Parameter beim Aufruf. So passen Sie etwa die Sortierung der Ausgabe mit dem Parameter -s an.
Wer die Ausgabe weiter verarbeiten möchte, gibt mit dem Parameter -f als Format JSON, CSV, HTML oder SQL vor. Eine Übersicht aller Parameter liefert die Online-Hilfe mit -h. Die Einarbeitung in Scc dauert etwas. Wer aber gerne statische Informationen über Quellcode erfasst, für den ist das Tool eine echte Hilfe. (agr)








