Aus Linux-Magazin 07/2025

CLI-Werkzeuge im Kurztest

© Niall Wiggan / 123RF.com

Sandboxing-Werkzeug Hakoniwa 1.1.5, Lesezeichen-Manager Linksnapper 0.16, Fortschrittsbalken nachrüsten mit Ngrv 0.1.1, Clouds selbst hosten mit OpenCloud 2.2.0, Docker-Abbilder mit Dockcheck 0.6.4 pflegen, paralleles Herunterladen mit Getparty 1.23.4.

Hakoniwa 1.1.5

Tools in der Sandkiste

Quelle: https://github.com/souk4711/hakoniwa

Lizenz: GPLv3

Alternativen: Firejail, Jailkit

Bei manch zweifelhaftem Tool haben sich bereits viele Anwender die Möglichkeit einer abgeschirmten Ausführung gewünscht, also in einer Sandbox. Wer den Aufwand einer virtuellen Maschine oder den Bau eines Docker-Containers scheut, kann das Rust-basierte Werkzeug Hakoniwa als Alternative in Betracht ziehen. Möchten Sie es nicht selbst kompilieren, greifen Sie auf eines der Binärpakete im Github-Repository zurück. Anwender, die eine Glibc-Version kleiner 2.38 verwenden, nehmen die gegen Musl kompilierte Version.

Hakoniwa nutzt unterschiedliche Linux-Kernel-Funktionen wie Namespaces, Network-Namespaces, Seccomp und Setrlimit, um für das auszuführende Programm eine abgeschlossene Umgebung bereitzustellen. Beim Start bindet Hakoniwa die Verzeichnisse »/etc« und »/proc« in die Sandbox ein und verlinkt den Inhalt von »/bin«, »/lib«, »/lib32«, »/lib64« und »/sbin« ebenfalls dorthin. Damit stehen dem auszuführenden Programm alle benötigten Bibliotheken zur Verfügung.

Wer Hakoniwa in seine Shell integrieren möchte, lässt mit dem Unterbefehl »completion« eine Konfiguration für eine der gängigen Shells Bash, Fish, Elvish oder Zsh erzeugen. Um ein Programm in einer Sandbox auszuführen, erteilen Sie den Befehl »run« und geben das auszuführende Programm als letzten Parameter nach »–« an. Die Programmausgabe erfolgt in der aktuellen Konsole. Wer eine detailliertere Konfiguration möchte, kann die Sandbox unter anderem mit »–unshare-ipc«, »–rootfs«, »–workdir«, »–limit-cpu« oder »–hostname« anpassen. Eine Übersicht über sämtliche Einstellungen liefert der Unterbefehl »run –help«.

Zusätzlich lässt sich Hakoniwa als Rust-Modul in eigene Programme integrieren. Anwendungsbeispiele finden Sie auf der Github-Seite. Ein darauf Blick lohnt sich.

 

Linksnapper 0.16

URLs lokal verwalten

Quelle: https://github.com/Tanq16/linksnapper

Lizenz: MIT

Alternativen: Linkwarden

Lesezeichen sind seit jeher elementarer Bestandteil jedes Browsers. Wer oft zwischen diversen Browsern wechseln muss, für den ist ein externer Lesezeichen-Manager wie Linksnapper vielleicht das Richtige. Da das Tool in den gängigen Distros nicht enthalten ist, kompilieren Sie es selbst oder nutzen eines der fertigen Binärpakete. Die Github-Seite beschreibt auch den Einsatz in einem Docker-Container.

Nach dem Start wartet das Tool an allen Schnittstelle auf Port 8080 auf eingehende Verbindungen. Parameter braucht es beim Aufruf nicht. Sofern nicht bereits vorhanden, wird ein Unterverzeichnis »data« im aktuellen Verzeichnis erzeugt, das die JSON-Datei mit den URL-Einträgen aufnimmt.

Die Weboberfläche von Linksnapper ist übersichtlich und ohne besondere Funktionen. Anwender können neue Links anlegen, eine JSON-Datei mit sämtlichen Einträgen herunterladen und den Dark-Mode aktivieren. Eine Benutzerverwaltung oder Zugriffskontrolle enthält das Tool nicht. Eine verschlüsselte Kommunikation wird ebenfalls nicht unterstützt.

Bei der Erzeugung eines neuen Eintrags können Anwender außer der URL einen Namen und eine Beschreibung angeben und ihn in eine frei wählbare Kategorie einordnen. Kategorien organisieren die Übersicht der URLs. URLs ohne Kategorie landen unter unkategorisiert. Außerdem bietet Linksnapper eine REST-API, über die sich URLs automatisiert eintragen und verwalten lassen. Anwendungsbeispiele finden Sie auf der Github-Seite. Linksnapper ist eine einfache und kompakte Alternative zu großen Lösungen wie Linkwarden. Da eine Benutzerverwaltung fehlt, eignet es sich primär für den lokalen Einsatz.

 

Ngrv 0.1.1

Fortschritt im Blick behalten

Quelle: https://github.com/sorairolake/ngrv

Lizenz: GPLv3

Alternativen: Pv

Werden Daten verarbeitet, will man oft wissen, wie weit der Prozess gerade ist. Vielen Tools fehlt ein Fortschrittsbalken. Wer nachrüsten oder eigene Skripte mit einem Fortschrittsbalken ausstatten möchte, sollte einen Blick auf das Rust-basierte Ngrv werfen. Statt selbst zu kompilieren, bedienen Sie sich eines fertigen Binärpakets. Um den Fortschritt im Blick zu behalten, hängen Sie das Werkzeug einfach via Pipe in den Datenstrom zwischen zwei Programmen oder Befehlen.

Alternativ öffnen Sie eine Datei direkt mit Ngrv. Das Tool schreibt den Inhalt in die Standardausgabe oder via Pipe zur Verarbeitung in das nächste Programm. Anwendungsbeispiele dafür stehen auf der Github-Seite.

Ohne weitere Parameter zeigt Ngrv neben dem Fortschrittsbalken die verbleibende Übertragungszeit und den Datendurchsatz an. Auf Wunsch lassen sie sich via »–no-eta« und »–no-rate« ausblenden. Den Fortschrittsbalken deaktiviert der Parameter »–no-progress«. Mit »–name« stellen Sie der Ausgabe einen Namen voran und mit »–bar-style« passen Sie das Erscheinungsbild des Fortschrittbalkens an. Informationen dazu finden Sie ebenfalls auf Github.

Ngrv liefert mit »–help« eine rudimentäre Onlinehilfe und eine Man-Page mit. Über den Parameter »–generate-completion« erzeugt das Tool eine Konfiguration zur Integration in die verwendete Shell. Unterstützt werden neben Bash und Zsh auch Fish, Nushell und Elvis. Ngrv ist ein sehr junges Tool mit Potenzial. Es lohnt, es im Auge zu behalten.

 

OpenCloud 2.2.0

Clouds selbst hosten

Quelle: https://github.com/opencloud-eu/opencloud

Lizenz: Apache 2.0

Alternativen: Nextcloud, Seafile

Mit OpenCloud-EU, kurz OpenCloud, steht eine weitere Cloud-Alternative für Selbst-Hoster zur Verfügung. Entwickelt wird die Plattform von der OpenCloud GmbH, einem Ableger der Heinlein-Gruppe. Anwender können OpenCloud als fertiges Binärpaket über Github beziehen oder in einem Docker-Container ausführen.

OpenCloud ist in Go implementiert und benötigt keine Datenbank im Hintergrund. Alles wird im Dateisystem verwaltet. Dadurch reagiert die Plattform sehr performant. Vor dem ersten Einsatz muss sie durch Aufruf mit dem Unterbefehl »init« initialisieren. Dabei legen Sie fest, ob OpenCloud eine Zertifikatsprüfung vornimmt. Außerdem wird ein Administratorpasswort generiert. Ein eigenes definieren Sie mit »–ap«.

Unter »$HOME/.opencloud« legt die Anwendung eine Verzeichnisstruktur mit einer YAML-basierten Konfigurationsdatei an. Daraufhin starten Sie die Cloud mit dem Unterbefehl »server«. Wichtig ist dabei, die Umgebungsvariable »OC_URL« zu ergänzen. Sie legt fest, unter welchem FQDN die Plattform zu erreichen ist. Vergessen Sie den Parameter, lauscht das Tool auf »127.0.0.1«. Als OC_URL muss ein FQDN zum Einsatz kommen, der via DNS-Server überall erreichbar ist. Einträge in der »/etc/hosts« genügen nicht. Eingehende Verbindungen erwartet OpenCloud auf Port 9200. Allerdings öffnet das Tool über 70 weitere Ports auf »127.0.0.1«.

Nach dem Start fügen Sie als Administrator in der Weboberfläche neue Nutzer hinzu oder legen Share-Bereiche und Gruppen an. Für jede Datei lässt sich der Zugriff individuell festgelegen. Neben der Weboberfläche gibt es native Clients für Linux, Mac und Windows sowie eine iOS-App. OpenCloud ist ein interessantes Projekt, das sehr intensiv entwickelt wird. Die Administration und Dokumentation sind noch etwas gewöhnungsbedürftig. Die Plattform hat Potenzial.

 

Dockcheck 0.6.4

Docker Images pflegen

Quelle: https://github.com/mag37/dockcheck

Lizenz: GPLv3

Alternativen: Portainer, Diun

Apps mithilfe von Docker-Images einfach und lauffähig bereitzustellen, ist mittlerweile weitverbreitet. Aber auch hier ist es wichtig, die Software und damit die Images möglichst aktuell zu halten. Wer eine kompakte Lösung dafür sucht, ist mit dem Shell-Skript Dockcheck vielleicht gut beraten. Als Shell-Skript benötigt es keine aufwendige Installation. Bei jedem Aufruf prüft das Tool, ob es eine neuere Version gibt und ob alle notwendigen Tools installiert sind. Fehlt etwas oder ist ein Update verfügbar, lässt es sich einfach aus Dockcheck heraus nachinstallieren.

Standardmäßig prüft das Tool alle installierten Abbilder. Der Parameter »-e« nimmt einzelne von Prüfung und Update aus. Zum Verzögern von Image-Updates für eine bestimmte Karenzzeit dient »-d«. Soll nur auf verfügbare Updates geprüft werden, geben Sie »-n« mit. Dockcheck sucht dann nur nach neuen Versionen. Mit »-i« versendet das Tool eine vorgefertigte Nachricht, wenn ein Update verfügbar ist.

Im Ordner »notify_templates« finden Sie zahlreiche Beispielskripte für die Benachrichtigung über verschiedene Kanäle. Außer Messenger-Apps wie Matrix oder Telegram klappt auch der klassische E-Mail-Versand. Eine Online-Hilfe erhalten Sie mit »-h«. Weitere Anwendungsbeispiele liefert die Github-Seite. Das Tool wird aktiv entwickelt und benötigt wenig Ressourcen.

 

Getparty 1.23.4

Paralleler Download

Quelle: https://github.com/vbauerster/getparty

Lizenz: BSD-3-Clause

Alternativen: Wget

Gerade große Portale limitieren oft die maximale Bandbreite einer Download-Verbindung. Dabei schafft der eigene Internetanschluss deutlich mehr. Abhilfe kann das Aufteilen der Übertragung auf mehrere Verbindungen schaffen. Das Go-basierte Tool Getparty bietet ebendiese Möglichkeit. Sie müssen das Tool nicht selbst kompilieren, sondern greifen schlicht auf fertige Binärpakete bei Github zurück. Wie von anderen Download-Werkzeugen gewohnt, erfolgt die Konfiguration via Kommandozeilenparameter beim Aufruf.

Für ein schlichtes Herunterladen genügt es, die URL beim Aufruf als Parameter mitzugeben. Getparty öffnet standardmäßig nur eine Verbindung zum Ziel und verhält sich wie Wget. Sollen mehrere Verbindungen aufgebaut werden, müssen Sie die Anzahl der Verbindungen mit dem Parameter »–parts« explizit festlegen. Der interne Buffer ist 8 KByte groß. Eine andere Größe geben Sie mit »–buf« vor. Getparty wartet 15 Sekunden, um den Buffer zu füllen. Den Übertragungsverlauf zeigen Fortschrittsbalken an.

Mit »–quiet« unterdrücken Sie die Ausgabe, wenn Getparty beispielsweise in Skripte integriert wird. Für Https-Verbindungen geben Sie mit »–certs-file« ein Root-Zertifikat mit. Möchten Sie auf die Zertifikatsprüfung verzichten, verwenden Sie »–no-check-cert«. Standardmäßig überschreibt das Tool keine vorhandenen Dateien, doch das lässt sich mit »–output.overwrite« forcieren. Einen anderen Dateinamen für die Ausgabe legen Sie mit »–outpu.name« fest.

Alles in allem ist Getparty eine gute Alternative zu Tools wie Wget, wenn eine Aufteilung einer Datenübertragung gewünscht ist. Einige Parameterbelegungen entsprechen denen von Wget, was die Einarbeitung erleichtert. Neben der Online-Dokumentation mit »-h« stehen eine Parameterübersicht und Anwendungsbeispiele auf Github zur Verfügung. Das Tool wird permanent weiterentwickelt.(Uwe Vollbracht/csi)

 

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
Nach oben