Open Source im professionellen Einsatz

Werkzeuge im Kurztest

Tooltipps

Themen: Veränderungen in Dateien statistisch auswerten, To-do-Liste für die Konsole, DNS- und DHCP-Server all in one, Leistungsfähige Fetchmail-Alternative, Zeichenkodierungen konvertieren, Selbst kompilierte Software verwalten

W2do 2.2.1


To-do-Liste für die Konsole

Quelle: [http://w2do.blackened.cz/]

Lizenz: GPLv3

Alternativen: Yokadi, Evolution, Kontact

Eine To-do-Liste ist Bestandteil jedes aktuellen PIM- oder Mailclients. Doch schwergewichtige Programme wie Evolution oder Kontact zwingen Netbooks leicht in die Knie. Außerdem treffen sie nicht den Geschmack von Puristen. Eine simple Alternative bietet das Perl-Skript W2do. Das Konsolenprogramm eignet sich auch für den Einsatz in einer SSH-Session oder auf einem Server ohne grafische Oberfläche.

Ohne Parameter aufgerufen listet das Tool alle eingetragenen Aufgaben tabellarisch auf. Dabei kennt es die Felder Aufgabenbeschreibung, ID-Nummer, Gruppe, Priorität (von eins bis fünf), Status (erledigt oder nicht erledigt) und die Deadline. W2do fasst auf Wunsch mehrere Aufgaben zu einer Gruppe zusammen. In diesem Fall summiert die Software den Status der enthaltenen Aufgaben zu einem Prozentwert.

Das vollständig über Kommandozeilenparameter gesteuert Programm eignet sich auch für das Einbetten in Skripte. Der Parameter »-s« lädt alternative To-do-Listen. Die mitgelieferten Tools W2text und W2html exportieren diese Aufgabenlisten als Text- oder HTML-Dateien.

***-- Wer auf eine grafische Oberfläche und eine Auto-Reminder-Funktion verzichten kann, behält mit dem einfachen Perl-Skript W2do den Überblick über anstehende Aufgaben. Das Tool belegt fast keine Ressourcen und eignet sich für das Einbinden in Skripte oder den Remote-Einsatz über SSH.

Diffstat 1.47


Veränderungen in Dateien statistisch auswerten

Quelle: [http://invisible-island.net/diffstat/]

Lizenz: BSD

Alternativen: Diff

Diff ermittelt Unterschiede zwischen Textdateien. Wer jedoch lediglich den Umfang der Änderungen und nicht die Unterschiede im Detail ermitteln möchte, benutzt Diffstat. Die Software zählt die Anzahl aller gelöschten, modifizierten und hinzugefügten Zeilen. Dazu wertet sie das erste Zeichen der von Diff ausgegebenen Zeilen aus. Die für Menschen schwer lesbare Unified Diff Notation bleibt dem Anwender dabei erspart.

Bei zwei verglichenen Dateien enthält das Analyseergebnis lediglich die Anzahl der Änderungen. Interessant wird es erst, wenn der Anwender Diffstat ein mit Diff erzeugtes Patch-File übergibt, das die Änderungen mehrerer Dateien zusammenfasst. Das Programm erstellt daraus eine übersichtliche, nach Dateinamen sortierte Liste der Modifikationen. Aufrufparameter beeinflussen das Ausgabeformat. Zum Beispiel kennt Diffstat verschiedene Arten der Sortierung oder wertet die gelöschten beziehungsweise eingefügten Zeilen getrennt aus, statt sie zusammenzufassen. Statt Zahlenkolonnen erzeugt das Tool auch ein Histogramm. Wer das Auswertungsergebnis weiterverarbeiten möchte, schreibt die Ausgabe mit dem Parameter »-o« in eine Datei.

***-- Diffstat hilft dabei, den Umfang der Änderung am Quellcode oder in Konfigurationsdateien zu überblicken. Zusammen mit Tools wie Sed oder Awk und Gnuplot lassen sich die Ergebnisse sogar grafisch aufbereiten.

Dualserver 6.4


DNS- und DHCP-Server all in one

Quelle: [http://sourceforge.net/projects/dhcp-dns-server/]

Lizenz: GPLv2

Alternativen: Dnsmasq, DHCP, Bind

Die Deamons Bind und DHCP des ISC definieren den Status quo für DNS- und DHCP-Software. Für kleine oder mittlere Netzwerk reicht aber die leichter zu konfigurierende All-in-one-Lösung Dualserver, die sowohl DNS- als auch DHCP-Dienste umfasst. Wer nur einen davon braucht, schaltet den anderen einfach ab.

Die einzige Konfigurationsdatei ist gut gegliedert und kommentiert. Neben Einstellungen wie Dienstangebot oder Netzwerk-Interface lassen sich alle wichtigen DNS- und DHCP-Parameter einstellen. Der Admin definiert dort beispielsweise die Cnames und Aliases einzelner Rechner und legt die Domain-Namen oder die MX-Records für die Mailserver fest. Selbst Zone Replication mit anderen DNS-Servern unterstützt Dualserver.

Im Abschnitt »DHCP« legt der Administrator IP-Bereiche fest, aus denen Dualserver IPs vergibt, oder ordnet bestimmten MAC-Adressen eine feste IP-Adresse zu. Hier verwaltet das Tool auch Einstellungen wie Lease Time sowie DNS-Server- und Routing-Informationen, die es bei jedem DHCP-Request an den Client weitergibt. Neben globalen Einstellungen lassen sich diese Werte auch auf Rechnerebene festlegen.

***-- Bei der Standardfunktionalität steht Dualserver den ISC-Produkten in nichts nach. Die Konfiguration ist gut kommentiert und beschränkt sich auf eine Datei.

Getmail 4.9.0


Leistungsfähige Fetchmail-Alternative

Quelle: [http://pyropus.ca/software/getmail/]

Lizenz: GPLv2

Alternativen: Fetchmail

Wer einen Offline-POP3- oder IMAP4-Server betreibt, braucht eine Software, die Mails von den Servern des Providers abholt. Das Standardwerkzeug dafür ist Fetchmail, doch der Platzhirsch genießt nicht den Ruf, einfach konfigurierbar zu sein. Wer beim Einrichten nicht weiterkommt, sollte es daher mit der Alternative Getmail probieren, die sich beim Funktionsumfang nicht hinter Fetchmail verstecken muss. Das Python-Tool stellt Mails nicht selber zu, sondern reicht eingehende Nachrichten an einen lokalen MDA wie Postfix oder Sendmail weiter. Alternativ speichert es die Mails lokal im Maildir- oder Mbox-Format. Auf Wunsch kommuniziert die Software SSL-verschlüsselt mit dem Mailprovider.

Die Verbindungsdaten legt der Administrator in der Konfigurationsdatei fest. Diese ist in vier große Bereiche gegliedert. Im »retriever«-Bereich stehen die Verbindungsdaten wie Protokolltyp, Zugangsdaten und Serveradresse. Als Protokolltyp kennt Getmail auch Multidrop. Hierbei schiebt der Provider alle Mails einer Domain in einen Account, Getmail ordnet sie nach dem Empfang den jeweiligen Empfängern zu. Der »destinatio«-Bereich definiert, wo Getmail die Mails für die einzelnen Empfängers ablegt. Wer die Post vorher noch auf Schadsoftware prüfen möchte, legt dazu einen Eintrag im »filter«-Bereich an. Der Options-Bereich passt generelle Einstellungen wie maximale Mailgröße oder Logging an.

****- Getmail überführt Mails vom Provider ins lokale System. Zusatzskripte wie »getmail_mbox« oder »getmail_fetch« ermöglichen außerdem das Einbinden in Shellskripte.

Uni2ascii 4.12


Zeichenkodierungen konvertieren

Quelle: [http://billposer.org/Software/uni2ascii.html]

Lizenz: GPLv3

Alternativen: Dos2unix, Iconv, Recode

Zu Beginn des Computerzeitalters war Ascii die vorherrschende Zeichenkodierung, heute hat sich UTF-8 durchgesetzt. Wer jedoch noch Systeme und Programme einsetzt, die mit Unicode nichts anfangen können, oder alte Ascii-Texte auf einem aktuellen System lesen möchte, braucht ein Tool wie Uni2ascii, das Textdateien in beide Richtungen konvertiert. Der Anwender legt durch Parameter beim Programmaufruf fest, welche Ascii-Variante die Software benutzen soll.

Standardmäßig konvertiert das Programm alle Zeichen, die im Ascii-Zeichensatz nicht existieren, in möglichst ähnliche Zeichen, zum Beispiel in den entsprechenden Konsonanten ohne Akzent. Auf Wunsch entfernt das Tool auch Leerzeichen oder Zeilenumbrüche und ersetzt in Ascii nicht enthalte Symbole für Einheiten und Währungen durch den ausgeschriebenen Namen.

Neben dem Hauptprogramm Uni2ascii enthält der Sourcecode weiter Skripte, beispielsweise Uni2html. Es wandelt die Daten an der Standardeingabe in HTML-kodierten 7-Bit-Text um, den alle Browser verstehen. Mit dem TCL-Skript »u2a« existiert auch ein grafisches Frontend für Uni2ascii. Es setzt jedoch das Tablelist-Paket voraus, das nicht in den Repositories aller Distributionen enthalten ist. Unter [http://www.nemethi.de] lässt es sich aber herunterladen.

***-- Uni2ascii ist eine Alternative zu Klassikern wie Dos2unix oder Recode, die optional die Bedienung mit einer grafischen Oberfläche erleichtert.

Toast 1.465


Selbst kompilierte Software verwalten

Quelle: [http://www.toastball.net/toast/]

Lizenz: GPLv3

Alternativen: Stow

Wer Programme kompiliert, verliert leicht den Überblick, welche Anwendungen in welcher Version auf dem System installiert sind. Doch das Erstellen eines Deb- oder RPM-Pakets scheitert in der Praxis oft am Aufwand. Das Perl-Skript Toast bietet einen alternativen Ansatz: Es installiert kompilierte Anwendungen in das Home des Benutzers und führt dabei akribisch Buch. Die Software sucht außerdem online nach Quellcode-Updates, lädt diese herunter und stößt den Kompiliervorgang an.

Hat der Anwender eine Software mit Angabe einer Download-URL für den Quellcode in das im Home des Benutzers gelegene Repository integriert, braucht er nur noch »toast build Paketname« aufzurufen. »arm« legt symbolische Links in ein »/bin«-Verzeichnis, »disarm« entfernt sie wieder. Die Systemintegrität gerät dabei nicht in Gefahr, die Binaries liegen im Homeverzeichnis und stehen nicht mit den über die Paketverwaltung installierten in Konflikt.

Toast lässt sich auf zwei Arten praktisch einsetzen: Erstens installiert es nur im Quellcode verfügbare Programme im Homeverzeichnis. Sie lassen sich uneingeschränkt nutzen, vor allem aber rückstandsfrei deinstallieren. Alternativ verlinkt Toast die von ihm verwalteten Anwendungen nach »/usr/local/bin«, wo sie auf dem System installierte Programmversionen überlagern, ohne sie zu überschreiben.

****- Toast bietet eine vollständige Paketverwaltung, die auf das aufwändige Erstellen von Deb- oder RPM-Paketen verzichtet. Gerade für das Testen experimenteller Software ist die ungefährliche Installation im Homeverzeichnis ein cleverer Ansatz. Leider unterstützt Toast das Herunterladen von Quellcode aus CVS- oder SVN-Repositories bisher nicht. (U. Vollbracht/pkr)

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook