Open Source im professionellen Einsatz
Linux-Magazin 09/2009

Werkzeuge im Kurztest

Tooltipps

Themen: Python interaktiv skripten, SSH-Sitzungen parallelisieren, Bash-Debugging leicht gemacht, Die nächste Pine-Generation, Fetchmail-Alternative für Soho-Netze, Terminal-Multiplexer

1284

Bpython 0.9.3


Python interaktiv skripten

Quelle: [http://www.bpython-interpreter.org]

Lizenz: MIT License

Alternativen: Ironpython

Die Skriptsprache Python erweitert unter Linux-Anwendern stetig ihre Anhängerschaft. Der Interpreter Bpython gibt Entwicklern verbesserte Möglichkeiten zum interaktiven Testen von Programmen oder Statements. Das Programm wartet dazu mit einigen nützlichen Funktionen auf; dazu gehört vor allem das Inline-Syntax-Highlighting, das jedoch im Hintergrund die Bibliothek Pygments benötigt.

Nicht nur für Python-Einsteiger, sondern auch für fortgeschrittene Programmierer, ist die Auto-Completion-Funktion eine Hilfe. Sie setzt auf die Readline-Bibliothek und schlägt bereits bei der Eingabe mögliche Befehle vor. Ist der Anwender unsicher bei der Schreibweise, reichen die ersten zwei Buchstaben eines Kommandos, und Bpython bietet mögliche Befehle zur Vervollständigung an.

Die Bpython-Konfiguration erfolgt klassisch über eine »ini«-Datei. Dort definiert der Anwender Tastenkürzel, die Tabulatorlänge oder alternative Farbschemata für das Highlighting. Die Einrichtung des Schemas selbst ist in eine eigene Datei ausgelagert.

***-- Bpython eignet sich hervorragend, um ohne großen Aufwand einzelne Python-Statements zu testen. Einsteiger profitieren besonders von der Auto-Completion-Funktion.

Cluster SSH 3.26


SSH-Sitzungen parallelisieren

Quelle: [http://sourceforge.net/projects/clusterssh]

Lizenz: GPLv2

Alternativen: Csshx, Clusterm, Pssh, DSH

Wer viele Rechner mit gleicher Konfiguration administriert, muss mitunter identische Befehlsfolgen ständig wiederholen. Der Arbeitsaufwand lässt sich zwar teilweise mit Skripten minimieren, wirkliche Erleichterung bringt jedoch erst der Einsatz von Cluster SSH, kurz Cssh.

Das Perl-Skript besitzt eine TK-basierte Oberfläche und kommuniziert via SSH mit den einzelnen Clients. Es öffnet für jeden Client ein eigenes Terminal. Befehle, die der Anwender in die Cssh-Eingabezeile tippt, sendet das Programm an alle geöffneten Sitzungen und führt sie damit auf den Rechnern aus. Die Ergebnisse der Kommandos sind dann in den Terminals zu sehen; dort nimmt der Admin auch individuelle Änderungen an einer bestimmten Maschine vor.

Cluster SSH ist zur Administration großer Cluster-Netzwerke gedacht. In der Konfigurationsdatei »/etc/clusters« ordnet der Admin einzelnen Rechnern oder Rechnergruppen so genannte Tags für den Cssh-Aufruf zu, über die das Programm die Rechner anspricht - das spart Tipparbeit. In einer persönlichen Einrichtungsdatei (»~/.csshrc«) definiert der Anwender eigene Tastenkürzel und das Erscheinungsbild des Terminals.

****- Cluster SSH erleichtert die Administration vieler identischer Rechner. Vorsicht ist bei der Bearbeitung von Konfigurationsdateien geboten, da hier selbst kleine Unterschiede folgenschwere Konsequenzen haben können.

Bashdb 4.0-0.3


Bash-Debugging leicht gemacht

Quelle: [http://bashdb.sourceforge.net]

Lizenz: GPLv2

Alternativen: Tia

Leistungsfähige Debugger gehören zum festen Dessertangebot im Menü moderner Entwicklungsumgebungen. Bashdb steht Shellskript-Entwicklern bei der Fehlersuche zur Seite. Das Programm erlaubt Breakpoints zu definieren, an denen die Code-Ausführung stoppt. An dieser Stelle besteht dann die Möglichkeit, einen Blick auf den aktuellen Status der Variablen zu werfen oder den gesamten Programm-Stack einzusehen. Die Ausgabe des eigenen Code lässt sich bei Bedarf auf ein anderes Device umlenken und damit auch archivieren.

Insgesamt stellt Bashdb über 30 Befehle zur Steuerung des Debuggers bereit. Dazu zählen der schrittweise Ablauf des Code ebenso wie das Überspringen von Codezeilen. Auch ein Bearbeiten des Skripts direkt aus dem Debugger heraus ist möglich. Ist die Bedienung am Anfang vielleicht noch etwas gewöhnungsbedürftig, erleichtert die gute Dokumentation die Einarbeitung in die Programmfunktionen. Bashdb arbeitet auf Wunsch mit Emacs und dem Data Display Debugger zusammen, was die Bedienung weiter erleichtert.

****- Für Shell-Programmierer ist Bashdb eine echte Arbeitserleichterung und eine große Hilfe. Auf der Projekt-Homepage stehen auch Debugger für die Korn- und die Z-Shell zur Verfügung.

Alpine 2.00


Die nächste Pine-Generation

Quelle: [http://www.washington.edu/alpine]

Lizenz: Apache License 2.0

Alternativen: Pine, Mutt

Alpine ist der Nachfolger des bekannten Mailclients Pine und wird ebenfalls an der Universität von Washington entwickelt. Alpine ist jedoch im Gegensatz zu seinem Vorgänger keine eingetragene Marke, sondern steht unter der freien Lizenz der Apache Software Foundation, die es auch der Community ermöglicht, am Mailclient mitzuentwickeln.

Im Quellcode enthalten ist eine Web-basierte Version von Alpine, die es Administratoren ermöglicht, einen Webmail-Client auf einem Webserver einzurichten. In diesem Szenario ist aber noch ein wenig Handarbeit angesagt; so muss der Admin auf dem Server die Yahoo-User-Interface-Bibliothek nachrüsten.

Der klassische Konsolenclient präsentiert sich in der bekannten Curses-Oberfläche, die performates Arbeiten auch über SSH-Verbindungen ermöglicht. Alpine unterstützt die Mailprotokolle SMTP, POP3 und IMAP und läuft nicht nur unter Linux, sondern auch auf anderen Unix-Derivaten, damit auch auf Mac OS X, sowie auf Windows-Systemen. Vorkompilierte Pakete liegen auf der Programm-Homepage zum Download bereit.

Genau wie der Vorgänger speichert Alpine Mails im Mbox-Format ab. Zum Verschlüsseln und Signieren von Mails setzt der Client auf S/MIME. Wer lieber mit Gnupg verschlüsselt, muss wie bei Pine entsprechende Filterregeln definieren.

****- Auf den ersten Blick unterscheidet sich Alpine kaum von Pine. Verbesserte Funktionen wie Vervollständigung von Adressen oder die Verwaltung großer Mailordner fallen erst bei intensiver Benutzung auf. Alpine ist eine gute Alternative für Konsolenfans, die sich mit Mutt nicht anfreunden können.

Pop3download 0.7


Fetchmail-Alternative für Soho-Netze

Quelle: [http://psydev.syw4e.info/new/pop3download]

Lizenz: GPLv2

Alternativen: Fetchmail, Getmail

Fetchmail ist der Klassiker, wenn es um das Abholen von Mails bei einem POP3- oder IMAP-Server geht. Das Perl-Skript Pop3download ist eine Alternative für alle Anwender, die mit Fetchmail vertraut sind, dessen Bugs oder Sicherheitslücken aber ausweichen wollen.

Das Tool unterstützt in der aktuellen Version die Protokolle POP3, APOP, IMAP und IMAPS. Vorhandene Fetchmail-Konfigurationsdateien liest das Skript auf Wunsch ein. Allerdings berücksichtigt Pop3download lediglich einige der dort enthaltenen Parameter. Dazu gehören beispielsweise die zum Poll-Statement gehörenden Optionen; Angaben wie »invisible« oder »logfile« ignoriert das Programm jedoch.

Darüber hinaus wertet Pop3download den Servernamen und die Benutzerkennung samt Passwort aus und versteht auch die Parameter zum verwendeten Protokoll. Das Perl-Skript schaut in vom Anwender festgelegten Intervallen regelmäßig nach neuen Nachrichten und übergibt diese dann an den lokalen MTA oder MDA.

Optional löscht das Tool die Mails auf dem jeweiligen Server nicht (Option »keep«) und versieht die Zeilenenden mit CRLF-Markierungen. Komplexere Funktionen wie beispielsweise Multiple Drop unterstützt Pop3download jedoch aktuell nicht.

**--- Für den Mailempfang in Soho-Netzwerken ist Pop3download eine gute Alternative, die keine Sicherheitsprobleme mitbringt und schnell eingerichtet ist. Bei komplexeren Setups kommt der Anwender an Fetchmail oder Getmail jedoch nicht vorbei.

Tmux 0.9


Terminal-Multiplexer

Quelle: [http://tmux.sourceforge.net]

Lizenz: BSD-Lizenz

Alternativen: Screen

Der Terminal-Multiplexer Tmux sieht sich als Alternative zu Screen und bietet einen ähnlichen Funktionsumfang. Das Programm erlaubt, in einem Terminal mehrere Programme auszuführen, Sitzungen "auszuhängen" und wiederzubeleben. Die gestarteten Anwendungen laufen dabei im Hintergrund weiter. Der Benutzer kann jederzeit eine Sitzung wieder aufnehmen oder in eine andere laufende Sitzung einsteigen.

Tmux verwendet ein Client-Server-Modell und ermöglicht so den gleichzeitigen Beitritt zu einer Session von mehreren Clients (Terminals) aus. Dieses Feature ist jedoch mit Vorsicht zu genießen, wenn ein anderer Anwender bereits in dieser Sitzung aktiv ist.

Anders als bei Screen, das auf die Tastenkombination [Strg]+[A] setzt, leitet das Präfix [Strg]+[B] die meisten Tmux-Funktionen ein; den Shortcut kann der Anwender aber problemlos an eigene Wünsche (sogar on the Fly, also während einer laufenden Tmux-Sitzung) anpassen. Auch andere Optionen wie beispielsweise die farbliche Gestaltung oder die Statusleiste lassen sich zur Laufzeit des Programms verändern. Diese Einstellungen sind jedoch temporär und werden erst durch Einträge in die Konfigurationsdatei dauerhaft. Alle Optionen darf der Anwender auch über Kommandozeilenparameter an eine Tmux-Session übergeben; damit eignet sich das Tool ideal für den Einsatz in Shellskripten.

***-- In puncto Funktionsumfang kann Tmux es mit Screen durchaus aufnehmen. Die Konfigurationsdatei ist allerdings übersichtlicher und die mitgelieferten Einrichtungsbeispiele sind verständlich. (U. Vollbracht/hej)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 01/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.