Skip to content

Ein ssh-agent unter Cygwin ...

Vielleicht kann das einer von Euch auch gebrauchen.

# Start only one ssh-agent
if [[ -f ${HOME}/.ssh-agent ]]
then
        . ${HOME}/.ssh-agent > /dev/null
fi
if [ -z "${SSH_AGENT_PID}" -o -z "$(ps -a | awk "\$1 == ${SSH_AGENT_PID} {print ${SSH_AGENT_PID}}")" ]
then
        /usr/bin/ssh-agent > ${HOME}/.ssh-agent
        . ${HOME}/.ssh-agent > /dev/null

        ssh-add
fi

gpg export ...

Nur, dass ich es "mal schnell" weggebloggt habe.

Ein minimaler Key ohne alle Signaturen lässt sich bei GnuPG mit folgenden beiden Befehlen machen.

gpg --armor --export-options export-minimal --export KEYID > KEYID.pub.asc
gpg --armor --export-secret-keys KEYID > KEDID.sec.asc


Das lässt sich gut gebrauchen, wenn man den eigenen Schlüssel woanders einlesen möchte (Handy oder Webmailer).

Informationen zu Sublime Text 2 ...

Mir hat der Editor sehr viel Zeit gespart und daher habe ich ihn auch gekauft. Ein Editor ist eines der Werkzeuge, dass ich am häufigsten einsetze und die Ausgabe hat sich meiner Meinung nach gelohnt, vor allem da ich die Software auf jedem System, dass ich benutze, einsetzen darf. Startend mit diesem Artikel habe ich mir ziemlich genau zwei Wochen Zeit gelassen für den Test, das war auch gleichzeitig die "heisse Phase" für die zweite Auflage unseres Adminbuchs und ich konnte mir ein gutes Bild machen.

Gestern kam ein Trackback von Lars Fischer, im referenzierter Artikel kamen ein paar sehr interessante Links zu Sublime Text 2, die ich Euch nicht vorenthalten möchte:


Ich möchte zusätzlich noch auf die folgenden beiden Dokumentationen hinweisen:

Open Source License Kompendium ...

Gerade finde ich bei Heise, dass die deutsche Telekom (mittlerweile indirekt mein Arbeitgeber) ein Kompendium über den richtigen Einsatz von Open-Source-Software herausbringt. Dabei geht es nicht um Privatpersonen, sondern um Firmen, die Produkte mit Open-Source-Software entwickeln und diese dann auch weiterverkaufen. Dabei soll die Frage beantwortet werden, was bei welcher Open-Source-Lizenz zu beachten ist.

Die Entwicklung des Manifests, das derzeit in Version 0.4 vorliegt, erfolgt über Github. Finde ich gut!

Thunderbird wird eingestellt?

gedanken Nein, eher nicht. Ich lese die Meldungen eher so, dass sich die Mozilla Foundation auf die Stabilität konzentrieren will und die Weiterentwicklung in die Hände der Community liegt. Daran kann ich nichts falsches finden.

Meiner Meinung nach spielen zwei Punkte eine grosse Rolle.

Die Zukunft ist das Web. Ja, das wurde schon oft gesagt und ebenso oft für falsch gehalten. Aber es gibt immer weniger Leute, die einen "echten" lokalen Mailclient benutzen. Es gibt sogar immer weniger Leute, die überhaupt Mail benutzen. Sehr viele Menschen "leben" ausschliesslich in Facebook (bitte immer die Anführungszeichen beachten). Neuere Betriebssystementwicklungen betreiben die mobilen Geräte nur noch als "Thin-Client mit Synchronisationsmöglichkeiten". Das ist doof, aber so ist es leider.

E-Mail Weiterentwicklung stagniert. Und damit meine ich nicht die Nutzung, damit meine ich die Weiterentwicklung von E-Mail. Da passiert einfach gar nichts. Es gibt schon seit Jahren Clients, die alle "Features" von E-Mail implementieren und deren Weiterentwicklung einzig und allein in der Oberfläche liegen. Es gibt bis heute keinen allgemein anerkannten Verschlüsselungsstandard. Die Verschlüsselungsmethoden, die es gibt, sind zu dem auch nicht angenehm zu benutzen und meistens erst recht nicht für Endbenutzer geeignet. (Paranoide könnten denken, dass hier seitens der Geheimdienste auch keinerlei Interesse daran besteht, Verschlüsselung für die Massen bereitzustellen ...). Es gäbe Methoden, Spam einzudämmen, die aber nicht weiterverfolgt werden, weil dazu der seit Jahrzehnten festgeschriebene Standard angefasst werden müsste.

Ich denke, dass die Leute in der Mozilla-Foundation genau das zum Anlass nahmen, weniger zu tun.

Und wieder zurück zur Kralle ...

Wie geschrieben, wollte ich dem Donnervogel noch einmal eine Chance geben. Die hatte er und ich habe auch ein paar Stärken gefunden, die ich bei Claws-Mail vermisse. Aber, wie schon einmal bin ich wieder zu Claws-Mail zurück. Roman erzählte mir, dass er das schon früher erwartet hätte.

Was mir an Thunderbird richtig gut gefallen hat, sind die folgenden drei Features:
  1. IMAP-IDLE: Thunderbird hält eine Verbindung zum Mail-Server offen und zeigt sofort, nahezu ohne Zeitverlust, eingehende Nachrichten ein. Mailclients, die das nicht können, "schauen" periodisch nach neuen Nachrichten.
  2. Volltext-Suche: Thunderbird hat eine Volltext-Suche, die in Echtzeit Suchergebnisse anzeigt, das hat allerdings auch Nachteile, dazu später mehr.
  3. Kalender: In Thunderbird lässt sich der Kalender Lightning installieren, der sich auch mit verschiedenen externen Kalender verbinden kann.

Das beste Feature ist allerdings, dass Thunderbird nicht - wie früher - bei der Menge an Mails, die ich verwalte, abgestürzt ist.

Wo Licht ist, ist selbstverständlich auch Schatten.
  1. Thunderbird kann zwar IMAP-IDLE prüft aber nur direkt nach dem Start alle Ordner auf neue Nachrichten. Wenn auf mehreren Rechnern ein Mailclient offen ist, auf denen (ungelesene) Nachrichten in verschiedene Ordner kopiert werden, bekommt Thunderbird das nicht mit. Erst bei Öffnen eines Ordners wird der Inhalt wieder mit dem Server abgeglichen.
  2. Thunderbird arrangiert die Mails in Datenbankdateien, je Ordner gibt es eine. Wenn sich eine Mail ändert (neue Nachricht oder Löschung einer alten), verändert sich die Datenbankdatei und bei Synchronisierung (oder Backup) muss die grosse Datenbankdatei erneut übertragen werden und nicht nur eine einzige Mail.
  3. In Thunderbird lassen sich viele sinnvolle globale Optionen setzen, aber leider auch nur global. Eine feinere Einrichtung, beispielsweise auf Ordnerbasis, ist nicht möglich.
  4. Die Filter sind nur sehr rudimentäre, wenn man die Möglichkeiten mit denen von Claws-Mail vergleicht.
  5. Verarbeitungsregeln für Ordner fehlen völlig.


Alles in allem ist Thunderbird ein sehr gutes Mailprogramm, wenn man aber "Poweruser" bezogen auf Mail ist, gewinnt Claws-Mail.

Brace Expansion ...

Viele kennen die Brace Expansion, einen Mechanismus von Shells, insbesondere der GNU Bash gar nicht.

Brace Expansion lässt sich nicht so leicht übersetzen, vielleicht am besten mit Klammererweiterung.

{a,b,d} erzeugt a b d, dieser Term wird dort ersetzt, wo er eingesetzt wird ab{a,b,d} ergibt aba abb abd. {1..10} macht 1 2 3 4 5 6 7 8 9 10, {01..04} entsprechend mit führenden Nullen 01 02 03 04. Das geht auch mit Inkrementen {1..9..2} entspricht den ungeraden Zahlen 1 3 5 7 9 oder bei Buchstaben {a..f} macht a b c d e f und {a..f..2} ergibt a c e. Das ganze ist verschachtelbar {a{1,2},c,e} erzeugt a1 a2 c e.

Manche nutzen es, um einfach eine Reihe an Verzeichnissen zu erstellen.

mkdir M{e,a}{i,y}er
mkdir cd{01..10}
mkdir /home/{dirk,jupp,hans}/{.ssh,vorlagen,arbeit}


Aber es gibt auch eine ganz einfache Anwendung, die jeden Tag hilft, Erstellung von Backup-Dateien:

cp datei{,.bak}
cp datei{,von-heute}.txt

Donnervogel ...

Nach reichlich Jahren mit Claws-Mail gebe ich Thunderbird noch einmal eine Chance und ich muss gestehen, dass sich seit meinem letzten Versuch mit Thunderbird eine Menge getan hat. Zuerst einmal kommt der Donnervogel mit meinem Mailvolumen zurecht, das war früher nicht so. Auch an der Geschwindigkeit hat sich eine Menge getan.

Ich merke aber auch, dass Claws-Mail deutlich besser konfigurierbar ist als Thunderbird, dafür lässt sich Thunderbird mit Addons "pimpen". Bei Claws hat sich in den letzten Jahren nicht mehr viel getan und bei Thunderbird sehe ich eine stetige Weiterentwicklung. Sehr gut!

Zwei Fragen habe ich an Euch, meine Leser:
  1. Wie kann ich Filter auf einem Rechner exportieren und auf einem anderen Rechner importieren? Oder kann ich einfach das .thunderbird-Verzeichnis übernehmen?
  2. Welche Addons sind unbedingt empfehlenswert?

Danke im Voraus für Eure Hilfe!

Speicherdienste ...

Die Speicherdienste schiessen ja wie Pilze aus dem Boden, neben den bereits etablierten Diensten wie Dropbox, Wuala oder das Strato HiDrive started nun auch Google Drive. In der Englisch sprachigen Wikipedia gibt es einen sehr guten Überblick über die verschiedenen file hosting services und ebenfalls einen Vergleich der verschiedenen Synchronisationsprogramme zum selber Hosten.

Da meiner Meinung nach die eigenen Daten, die bei fremden Anbietern lagern, verschlüsselt werden sollen (auch bei Wuala, wenngleich die nicht nachvollziehbar lokal verschlüsseln sollen). Sebastian hat vor einiger Zeit erklärt, wie man das mit encfs transparent erledigen kann.

Eine andere Möglichkeit ist, tar in Verbindung mit GnuPG zu benutzen, was sich ebenfalls eignet, um Dateien oder den Inhalt ganzer Verzeichnisse zu versenden.

Der Aufruf ist zwar gewöhnungsbedürftig aber ziemlich einfach. Ich benutze die langen Optionen, da sie weitestgehend selbst erklärend sind.
tar --create --file=- xyz | gpg --encrypt --recipient email@domain.tld > xyz.tar.gpg

oder kurz
tar cf - xyz | gpg -er email@domain.tld > xyz.tar.gpg

xyz kennzeichnet die Dateien und Verzeichnisse, die verschlüsselt werden sollen. Den öffentlichen Schlüssel für email@domain.tld muss man vorher bereits importiert haben.

GnuPG komprimiert gut, wenn es aber darauf ankommt, kann man die stärkste Kompression auswählen.
tar cf - xyz | gpg -e --compress-algo bzip2 --bzip2-compress-level 9 -r email@domain.tld > xyz.tar.gpg


Ausgepackt bekommt man die Datei in beiden Fällen mit:
gpg --decrypt xyz.tar.gpg | tar --extract --file=-

oder
gpg -d xyz.tar.gpg | tar xf -

ACHTUNG: Ohne den privaten Schlüssel kommt man an die Daten nicht mehr heran, daher unbedingt eine Sicherheitskopie des gesamten Schlüssels machen.

paste ...

Es gibt ja Befehle, die ich immer mal wieder brauchen könnte, aber noch nie gefunden habe. Heute habe ich per Zufall den Befehl paste aus den GNU core utilities gefunden (ausgerechnet jetzt brauche ich ihn nicht, aber später bestimmt).

paste fügt Zeile für Zeile zwei Textdateien zusammen. Es nimmt die erste Zeile aus der ersten Datei, schreibt ein (das ist veränderbar) und dann die erste Zeile aus der zweiten Datei, dann wieder ein und die Inhalte der weiteren Dateien.

Beispiel:
$ cat a.txt
a1
a2
a3
a4

$ cat b.txt
b1
b2
b3
b4

$ paste a.txt b.txt
a1      b1
a2      b2
a3      b3
a4      b4


paste kann das auch in Spalten.
$ paste -s a.txt b.txt
a1      a2      a3      a4
b1      b2      b3      b4

Git Repositories auf andere Server umziehen ...

Mit unserem Umzug von Hetzner zu Manitu müssen auch die ganzen Git-Repositories bewegt werden und ich verstehe jetzt, warum man sagt, dass Git nicht gut mit grossen Binärdateien umgehen kann.

Nach einer Änderung der URL in der .git/config des Repositories und einem herzlichen git push origin --all verabschiedet sich die Maschine ins Swapping. Yippieh!

Ein git gc zeigt das gleiche Resultat. Mit einem git repack --window-memory=1g, gefolgt von einem git push origin --all bin ich allerdings zum Ziel gekommen.

Auf einer zweiten Maschine habe ich die URL auch geändert und ein git pull dort funktioniert bestens.

Gibt es einen geschickteren Weg das anzugehen oder ist die Verfahrensweise richtig so?

$ cd /pfad/zum/repository
$ git repack --window-memory=1g
$ sed -i 's/alter Server/neuer Server/' .git/config
$ git push origin --all

Wie ich arbeite: Clients und Server ...

So, hier jetzt der dritte und letzte Teil der Miniserie "Wie ich arbeite", die von Matthias initiiert wurde.

Im ersten Teil ging es im die Software, die ich beruflich einsetze, im zweiten Teil listete ich die Software auf, die ich in Freizeit und Hobby benutze.

In diesem letzten Teil geht es jetzt um Hardware (Links zu den Gerätschaften lassen sich auf der Technik-Seite finden) im weitesten Sinn. Auf dem Bild seht Ihr meinen Schreibtisch, den ich ich für ein Stöckchen zu Weihnachten im letzten Jahr schon einmal ab gelichtet habe:



Ganz links auf dem noch durchzuarbeitenden Papierstapel findet sich mein Kopfhörer ("Sennheiser HD 448") ;-) - vor dem Stapel ist eine Stifthülle und mein mobiles Musikabspielgerät ("Cowon D2+ DAB"), das auch das ogg-Format beherrscht.

Im Uhrzeigersinn weiter geht es mit meiner Armbanduhr, die ich kaum noch trage, bei der auch (mal wieder) die Batterie alle ist, über den Monitor ("Samsung SyncMaster XL2370HD") mit Webcam ("Logitech HD Pro Webcam C910") und gar nicht mal so schlechtem eingebauten Mikrofon für Hangouts zum eigentlichen Rechner ("AsRock Vision 3D"), auf dem Rechner liegen ein paar Stifte und eine Ladestation für das Mobilteil ("FRITZ!Fon MT-F") unserer "Telefonanlage" ("FRITZ!Box Fon WLAN 7390") mit angeschlossener USB-Festplatte ("Western Digital Elements 1 TB ") als Fileserver.

Weiter geht es zur Dockingstation für mein Mobiltelefon ("Motorola Milestone 2") und dem Notebook ("Lenovo ThinkPad T61"), das ich fast ausschliesslich zu Hause benutze, unterwegs kommt ein Netbook ("Lenovo Ideapad S10-2") zum Einsatz.

Die Liste ist noch nicht komplett, im Netz werkeln noch zwei root-Server (derzeit Hetzner EQ 4, die gerade zu Manitu "L" mit 8 GB RAM migriert werden) und ein vServer ("L" bei ispOne business) für das Monitoring. Ach ja, fast vergessen, Maus ("Razer DeathAdder") und Tastatur ("Cherry G80-3000") habe ich auch noch.

Client-Rechner laufen mit Sabayon und Gnome 3 als Desktop. Hauptrechner und Notebook sind via Synergy (gibt es auch für Mac und Windows) miteinander verbunden, so dass ich mit einer Maus und einer Tastatur beide Rechner bedienen kann.

Ich habe bestimmt etwas vergessen, im Zweifelsfall bitte einfach fragen.

Wie ich arbeite: Freizeit und Hobby ...

Nach dem ich beschrieben habe, wie mein Software-Setting im Job im Rahmen der Artikelreihe von Matthias beschrieben habe, folgt hier in einem zweiten Teil, das, was ich privat einsetze.

Alle Links - so weit möglich - aus der Wikipedia.

Auf meinen Trümmern zu Hause läuft die von Gentoo abstammende Rolling-Release Distribution Sabayon. Auf den Servern, die ich privat betreue, laufen entweder Debian stable oder Ubuntu LTS.

Bis auf das Dienstnotebook habe ich keinen Computer, auf dem ein proprietäres Betriebssystem läuft oder vielmehr eingesetzt wird. Laut Wikipedia ist auch Android freie Software, wobei sich darüber in engen Grenzen streiten lässt.

Natürlich setze ich auch eine grosse Menge an freier Software ein. Ich unterscheide mal willkürlich zwischen Client und Server und schreibe nur die Anwendungen auf, die ich häufig für Arbeit im weitesten Sinn benutze.

Client:

Die ersten drei bzw. vier Anwendungen sind auf meinem Rechner immer geöffnet. GUI steht für graphical user interface, CLI für command line interface, SRV für Server und WEB für eine Webapplikation oder html-Seiten, um die Gattungen mal zu unterscheiden. Auf den Clients läuft Gnome 3 mit Gnome Shell als Desktop Umgebung und ein aktueller 3.2er Kernel.

Browser (GUI): Firefox
Mail-Programm (GUI): Claws-Mail
Terminal (GUI): Gnome-Terminal
Shell (CLI): Bourne-again shell (ja, ich weiss, dass die zsh viel cooler ist).
Aufgabenverwaltung (CLI): Taskwarrior
Kopieren von Dateien (CLI): rsync (Tipp: Mal die Parameter "-Pha" verwenden).
Versionskontrollsystem (CLI): Git
Instant-Messaging-Client (GUI): Pidgin
IRC-Client (GUI): xChat
Editor (CLI): vim
Textsatz (CLI): LaTeX
Soundbearbeitung (CLI): SoX
Soundbearbeitung (GUI): Audacity
Programmierung (CLI): Shell oder Perl oder Make
Datenbank (CLI): SQLite
Datenbank-Entwicklung (GUI): SQuirrel SQL Client
Datenbank Reverse Engineering (CLI, WEB): SchemaSpy
Musikabspiel- und Videoanzeigeprogramm (GUI): VLC media player
Allzweckwaffe (CLI): OpenSSH
System Activity Reports (GUI): kSar

Server:

Blog-System (WEB): Serendipity
Wiki, Ticket-System und Repository-Browser (WEB): Trac
Content Management System (WEB): phpSQLiteCMS
Webmailer (WEB): Horde Groupware Webmail Edition (oder Roundcube)
Feedreader (WEB): Tiny Tiny RSS
Datei-Manager (WEB): AjaXplorer
Paketverwaltung (CLI): aptitude
Editor (CLI): vim
Podcatcher (CLI): podracer
Webserver (SRV): Apache
Datenbankserver (SRV): MySQL
Jabberserver (SRV): Ejabberd
Mailinglisten (WEB): GNU Mailman
Mail Transport Agent (SRV): Postfix oder Nullmailer
Mailserver (SRV): Dovecot
Monitoring (WEB, SRV): Icinga, Munin und sar
Netzwerk-Traffic (CLI): vnStat
Webseiten-Zugriffe (WEB): Piwik

Obwohl ich jetzt einige Tage an der Liste gesessen habe, bin ich mir sicher, dass ich etwas vergessen habe.

Wenn Ihr Fragen zu den Programmen habt, schreibt sie bitte in die Kommentare.

Wie ich arbeite: Beruf ...

Ich finde die Artikelreihe von Matthias zum Thema Wie ich arbeite sehr spannend. Daran beteilige ich mich mal und mache das auch in mehreren Teilen. Einige der Software, die ich einsetzen muss darf, belegt die vorderen Ränge von dreckstool.de und ist in der Regel auch nicht für Privatpersonen beziehbar. Wenn mich der Teufel reitet, mache ich mal ein "Was ich benutzen würde, wenn ich dürfte, aber man lässt mich ja nicht.".

Es gibt hier noch sehr viel mehr Software als die, die ich erwähne, aber ich liste nur die, mit der ich täglich zu tun habe. Einige der Programme habe ich auch noch mal unter Citrix, da ich mit meiner Workstation keinen Zugriff auf bestimmte Sicherheitszonen habe. Im Unternehmen selbst geschriebene Lösungen lasse ich auch mal aussen vor.

Redmont, Microsoft: Mail und Termine verwaltet hier Exchange in Verbindung mit Outlook. Wir setzen unter Windows 7 auch das Office der Firma, was sich mit Sharepoint verbindet, ein und ebenfalls den Communicator (der ist sogar sehr gut gelungen) und OneNote, also das volle Programm. OneNote ist erstaunlicherweise auch relativ gut. Natürlich gibt es auch interne Webseiten, die optimiert für einen bestimmten Browser sind, allerdings macht das manchmal auch Sinn, da sie die Zertifikate von der Smartcard nutzen.

Houston, BMC: Von der Firma setzen wir Remedy in den Geschmacksrichtungen Incident Management und Change Management ein. Neu kommt als Monitoring Lösung noch Patrol dazu (was BigBrother ablösen wird). Fast vergessen, auf den neuen Trümmern werden Installationen nur noch mit der Server Automation Console des Herstellers durchgeführt.

Raleigh, Red Hat: Wir setzen hier Red Hat Enterprise Linux ein und ich habe lokal Cygwin installiert (für letzteres "Yippieh!", das nimmt viele Schmerzen). Als ssh-Client nutze ich auch openssh unter Cygwin mit MinTTY als Shell.

Redwood Shores, Oracle: Zwei Drittel oder sogar mehr der von mir betreuten rund 1800 Trümmer laufen unter Solaris.

Palo Alto, VMware: Ja, was soll ich sagen, der Name ist das Produkt. Wird sind nur Client der vSphere-Infrastruktur.

Mountain View, Symantec: Wir setzes einiges an Veritas-Software ein, nämlich das File System, den Volume Manager, Cluster Server und Netbackup.

Armonk, IBM: Personal Communications ist mein Fenster zum Grossrechner, wo ich meine Arbeitszeit erfassen muss.

San Diego, Peregrine Systems: Deren AssetCenter wurde jetzt wohl an HP verkauft, wir nutzen es zur Inventarverwaltung.

Helsinki, Tectia: Das kommt ganz neu mit Server und Client: Tectia SSH, arbeitet mit Zertifikaten und nicht (nur) mit Keys.

All over the world, Open Source: Den SQuirreL SQL Client nutze ich, wenn ich in Datenbanken herumwühlen muss.

Vermutlich habe ich etwas vergessen, aber es wird in dem Fall nicht meine tägliche Arbeit beeinflussen.

Fast vergessen: Arbeitsrechner ist ein Intel Core2Duo, 2.3 GHz, 4 GB RAM von HP mit zwei Monitoren à 1280x1024.

Beginnen mit LaTeX (2) ...

Sebastian hatte bei Google+ gefragt, mit welcher Literatur er LaTeX lernen soll und ich habe das unten stehende geantwortet. Vermutlich hilft es noch dem Einen oder Anderen unter meinen Lesern.

In meinem Blogartikel sind zwei sehr gute PDFs von der Fernuni Hagen verlinkt, das ist ein guter Anfang.

"Den Kopka", mit dem ich angefangen habe, gibt es leider nicht mehr.

Toter Baum: "Schnell ans Ziel mit LaTeX 2e" von Jörg Knappen

Ich habe im Hinterkopf, dass der Dante (Deutschsprachige Anwendervereinigung TeX e.V.) ein Einsteiger-Buch in der Mache hat und würde darauf warten.

Einführung in LaTeX

Die Dante-Bücher kann ich alle empfehlen.

Auf deren Webseite gab es mal eine Literaturliste, die nicht nur Dante-Publikationen enthält. Ah, die ist jetzt hier: http://projekte.dante.de/DanteFAQ/Literatur - die FAQ kannte ich noch nicht.

Ich vermute, dass es eine gute Idee ist, mit einem Schriftstück zu beginnen, was Du "erzeugen" möchtest und daran dann LaTeX zu lernen.