<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Dinge, Zeugs und Sachen - Linux</title>
    <link>http://blog.slash-me.net/</link>
    <description>(Un)interessante Kleinigkeiten</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 1.5.1 - http://www.s9y.org/</generator>
    <pubDate>Fri, 11 Dec 2009 21:32:11 GMT</pubDate>

    <image>
        <url>http://blog.slash-me.net/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Dinge, Zeugs und Sachen - Linux - (Un)interessante Kleinigkeiten</title>
        <link>http://blog.slash-me.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Jabber-Probleme hinter DSL-Router</title>
    <link>http://blog.slash-me.net/archives/355-Jabber-Probleme-hinter-DSL-Router.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/355-Jabber-Probleme-hinter-DSL-Router.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=355</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=355</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Interessante Erfahrung gerade: seit einem Neustart meines Jabber-Servers funktioniert der Kontakt dorthin nicht mehr aus meinem privaten Netz. Ein wenig Sucherei später stellt sich heraus, dass mein DSL-Router (bzw. der darauf laufende DNSMasq) DNS-Queries vom Typ SRV sperrt. Dazu muss man wissen, dass Jabberclients aus dem Domainpart der Jabber-ID mittels eines DNS-Queries ermitteln, auf welchem Server man sich einloggen muss. Sie fragen einfach nach &lt;tt&gt;_xmpp-client._tcp.domain.part&lt;/tt&gt; mit RR-Type SRV und verbinden sich zu dem in der Antwort stehendem Server. Klappt das nicht lösen sie den Domainpart normal auf und verbinden sich dort hin. Nun hatte ich bisher nach einigen Umbauarbeiten immer noch eine Umleitung laufen, die ich aber im Zuge eines Systemupdates mal entfernt habe. Damit klappt das nicht mehr, dass man sich einfach auf die IP aus dem A-Record des Domainparts verbinden kann und den Jabberserver erreicht. In der Welt draußen kein Problem, gibt es doch einen passenden SRV-Record, der verrät, wie&#039;s geht. Dummerweise war mein DNSMasq hier mit der Option &lt;tt&gt;filterwin2k&lt;/tt&gt; konfiguriert, was ihn dazu veranlasst (unter anderem) SRV-Records wegzufiltern. Nimmt man die raus funktioniert alles. Wieder was gelernt...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 11 Dec 2009 22:32:11 +0100</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/355-guid.html</guid>
    
</item>
<item>
    <title>(K)Ubuntu in eine schon existierende LVM-Struktur installieren</title>
    <link>http://blog.slash-me.net/archives/348-KUbuntu-in-eine-schon-existierende-LVM-Struktur-installieren.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/348-KUbuntu-in-eine-schon-existierende-LVM-Struktur-installieren.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=348</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=348</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Ich wollte aus verschiedenen Gründen meiner Linux-Installation mal einen kompletten Neustart gönnen und &lt;a href=&quot;http://www.kubuntu.org/&quot;&gt;Kubuntu Karmic Koala&lt;/a&gt; frisch aufsetzen. Dabei wollte ich allerdings vorzugsweise darauf verzichten mein aktuell 83&amp;#160;GB schweres Home-Directory komplett aus dem Backup wieder einspielen zu müssen. Gedacht, ... fast getan. Backup wurde natürlich vorher gemacht (ich bin ja nicht wahnsinnig. Jedenfalls nicht wesentlich mehr, als üblich. Außerdem hatte jemand in der näheren Umgebung letztens erst den Fall, dass sämtliche Daten zwar noch da, aber dank Festplattenverschlüsselung mit kaputtem Keystore nicht mehr zugreifbar waren. Das wollte ich mir natürlich ersparen.&lt;/p&gt;
&lt;p&gt;Erstmal dazu, wie meine Platte grob aussieht:&lt;/p&gt;
&lt;pre&gt;
/dev/sda
  |
  +---sda1 (/boot)
  +---sda2 (dm-crypt-Volume)
       |
       +---ec_root (/)
       +---ec_swap (swap)
       +---ec_home (/home)
&lt;/pre&gt;
&lt;p&gt;Soweit, so unpraktisch. Speziell /home sollte unbedingt erhalten bleiben. Erster Anlauf: ganz naiv den Installer gestartet und geschaut, was er so erkennt. Klappt natürlich nicht. Der sieht sda2 und interessiert sich kein bischen für die Innereien. Ok, zweiter Anlauf: Situation herstellen, die dem Installer erlaubt die Innereien zu erkennen:&lt;/p&gt;
&lt;pre&gt;
cryptsetup luksOpen /dev/sda2 sda2_crypt
lvm vgchange -a y
&lt;/pre&gt;
&lt;p&gt;Das erste öffnet das verschlüsselte Volume, das zweite aktiviert die darin enthaltene Volume Group und alle logischen Volumes innerhalb dieser. Das ganze macht man am besten in einer zweiten Konsole, während der Installer gerade auf Nutzereingaben wartet (bspw. wenn er sich grad aufregt, dass er kein Netz findet). Danach kann man die Installation gemütlich weiterlaufen lassen und der Installer wird beruhigt die Volumes erkennen, so dass man in der manuellen Partitionierung (alles andere wäre Unsinn) alles entsprechend wieder zuweisen kann, wie es sein soll.&lt;/p&gt;
&lt;p&gt;Mir ist hier noch ne Kleinigkeit unangenehm aufgefallen: sda2 wird aus irgendeinem Grund als Swap eingestuft. Aus Sicherheitsgründen habe ich das komplett rausgenommen (also auch &lt;em&gt;nicht&lt;/em&gt; als Crypto-Volume definiert), was zur Folge hatte, dass hinterher etwas Handarbeit angesagt war.&lt;/p&gt;
&lt;p&gt;Wenn die Installation durchgelaufen ist (auch das kann ein Problem sein, wenn das CD-Laufwerk auf einmal I/O-Error wie Kekse verteilt...), dann muss man noch einige kleinere Anpassungen machen um das System bootfähig zu machen. Was ist das Problem? Dadurch, dass das Crypto-Volume von Hand geöffnet wurde und der Installer so nichts davon weiß, fehlt der entsprechende Eintrag in der &lt;tt&gt;/etc/crypttab&lt;/tt&gt; des frisch installierten Systems. Das wiederum führt dazu, dass das initrd nichts über die Verschlüsselung weiß und nicht nach dem Passwort fragt, was wiederum den Bootprozess einfach stillstehen lässt. Blöd. Eine Lösung muss her...&lt;/p&gt;
&lt;p&gt;Im Prinzip isses einfach: man macht das System von Hand bootfähig. Man mountet noch im laufenden Installersystem &lt;tt&gt;/dev&lt;/tt&gt; und &lt;tt&gt;/proc&lt;/tt&gt; mittels &lt;tt&gt;-o bind&lt;/tt&gt; nach &lt;tt&gt;/target/dev&lt;/tt&gt; und &lt;tt&gt;/target/proc&lt;/tt&gt; (&lt;tt&gt;/target&lt;/tt&gt; ist der Punkt, wo der Installer die Platte einhängt. Wenn nicht: einfach selbst machen), wechselt mittels &lt;tt&gt;chroot /target&lt;/tt&gt; ins installierte System, passt die &lt;tt&gt;/etc/crypttab&lt;/tt&gt; entsprechend an (sprich: man trägt in meinem Fall &lt;tt&gt;/dev/sda2&lt;/tt&gt; passend ein. Eventuell muss man die &lt;tt&gt;/etc/fstab&lt;/tt&gt; auch noch anfassen, wenn man schonmal da ist.), ruft &lt;tt&gt;update-grub&lt;/tt&gt; und &lt;tt&gt;update-initramfs&lt;/tt&gt; auf, wechselt wieder raus, macht alle Mounts rückgängig und rebootet. Wenn man großes Glück hat, geht&#039;s danach. Wenn nicht, dann ist Fehlersuche angesagt.&lt;/p&gt;
&lt;p&gt;Für diese Sucherei hab ich heute dann doch etwas gebraucht. Vor allem immer unter der Prämisse: bloß nüscht kaputtmachen, sonst musst du das doofe Backup zurückspielen. Mittlerweile läuft alles, nur eine Warnung beim Systemstart bzgl. des Einbindens von /home irritiert mich noch. Hat zwar keine Auswirkungen, aber das will ich auch noch rauskriegen. Später...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 15 Nov 2009 00:02:21 +0100</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/348-guid.html</guid>
    
</item>
<item>
    <title>PostgreSQL weigert sich zu starten</title>
    <link>http://blog.slash-me.net/archives/343-PostgreSQL-weigert-sich-zu-starten.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/343-PostgreSQL-weigert-sich-zu-starten.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=343</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=343</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Kleine Nettigkeit über die ich gerade gestolpert bin. Mein PostgreSQL 8.3 weigert sich zu starten. Er meldet:&lt;/p&gt;
&lt;pre&gt;
2009-08-16 16:12:55 UTC WARNING: could not create listen socket for &quot;localhost&quot;
2009-08-16 16:12:55 UTC FATAL: could not create any TCP/IP sockets
&lt;/pre&gt;
&lt;p&gt;Die erste Zeile hat mich dann richtig raten lassen: wenn man mittels &lt;tt&gt;debootstrap&lt;/tt&gt; ein Debian aufgesetzt hat, dann fehlt üblicherweise die &lt;tt&gt;/etc/hosts&lt;/tt&gt;. Deswegen kann er &lt;tt&gt;localhost&lt;/tt&gt; nicht auflösen und weigert sich, zu starten. Ergo: &lt;tt&gt;echo &quot;127.0.0.1 localhost&quot; &amp;gt;&amp;gt; /etc/hosts&lt;/tt&gt; und schon sollte er wollen. Bei der Gelegenheit kann man auch gleich noch die IP des Servers auf den internen Namen mappen (bspw. &lt;tt&gt;echo &quot;1.2.3.4 servername&quot; &amp;gt;&amp;gt; /etc/hosts&lt;/tt&gt;. Wenn man eh schonmal dran ist...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 16 Aug 2009 18:19:38 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/343-guid.html</guid>
    
</item>
<item>
    <title>Sound in Java unter Linux (speziell: JOSM)</title>
    <link>http://blog.slash-me.net/archives/342-Sound-in-Java-unter-Linux-speziell-JOSM.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/342-Sound-in-Java-unter-Linux-speziell-JOSM.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=342</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=342</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Man kann ja mittels &lt;a href=&quot;http://wiki.openstreetmap.org/index.php/OSMtracker&quot;&gt;OSMTracker&lt;/a&gt; während des Trackens Audioaufzeichnungen anfertigen um sich gewisse Sachen zu markieren (sehr praktisch zum Beispiel bei der Erfassung von Hausnummern). In &lt;a href=&quot;http://josm.openstreetmap.de/&quot;&gt;JOSM&lt;/a&gt; geöffnet werden die Aufzeichnungen als kleine Icons in der Karte angezeigt und können via Klick abgespielt werden.&lt;/p&gt;
&lt;p&gt;JOSM ist ja ein Java-Programm und will als solches in einer JVM laufen. Nun habe ich standardmäßig Suns JVM installiert (unter Kubuntu: sun-java6-jre). Die hat aus irgendwelchen Gründen Probleme mit der Audioausgabe (Meldung: &quot;Audio device unavailable&quot;). Längeres suchen und probieren brachte mich darauf, die OpenSource-Variante der VM zu installieren (wieder unter Kubuntu: openjdk-6-jre). Die kann Audio. Theoretisch. Praktisch besteht das Problem, dass sie den PulseAudio-Server mit installiert und damit die Audioausgabe endgültig kaputtspielt. Keine Ahnung, was genau das Problem ist. Der Effekt ist folgender: sobald die JVM (oder das Flash-Plugin im Browser. Die scheinen die gleiche Infrastruktur zu nutzen) eine Audio-Ausgabe machen will, startet im Hintergrund der PulseAudio-Server. Danach geht gar kein Sound mehr. Liest man ein wenig im Netz rum, dann hat dieses Programm den Ruf nur Probleme zu verursachen. Die übliche Empfehlung: deinstallieren. Hab ich gemacht. Hilft. Plötzlich geht sowohl in der JVM, als auch im Flash der Sound völlig problemlos. Wenn ich jetzt noch ne Ahnung hätte, wozu das Audioverhinderungsprogramm PulseAudio genau da ist...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 13 Aug 2009 10:07:01 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/342-guid.html</guid>
    
</item>
<item>
    <title>Zugriff auf die Dateien eines Windows Mobile Gerätes unter Kubuntu</title>
    <link>http://blog.slash-me.net/archives/341-Zugriff-auf-die-Dateien-eines-Windows-Mobile-Geraetes-unter-Kubuntu.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/341-Zugriff-auf-die-Dateien-eines-Windows-Mobile-Geraetes-unter-Kubuntu.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=341</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=341</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Mit vereinten Kräften gerade rausgefunden: um auf die Dateien eines Windows-Mobile-Gerätes von Ubuntu (in dem Fall Karmic, sollte aber auch mit Jaunty gehen) aus zugreifen zu können ist das Paket synce-kio-rapip-kde4 notwendig. Dieses enthält den notwendigen KIO-Slave, der einem erlaubt auf das WM6-Gerät zuzugreifen. Dummerweise ist dieses Paket nicht in den Standardquellen vorhanden (weder bei Jaunty, noch beim kommenden Karmic). Man kann sich behelfen, indem man folgendes in der &lt;tt&gt;/etc/apt/sources.list&lt;/tt&gt; nachträgt:&lt;/p&gt;
&lt;pre&gt;
deb http://ppa.launchpad.net/synce/ubuntu jaunty main
&lt;/pre&gt;
&lt;p&gt;Danach kann man das Paket installieren und durch die Eingabe von &lt;tt&gt;rapip:/&lt;/tt&gt; in die Adresszeile des Dolphin auf die Dateien des WM6-Gerätes zugreifen. Ja, auch unter Karmic muss man &lt;tt&gt;jaunty&lt;/tt&gt; in der Zeile stehen haben. Für Karmic gibt es (noch?) kein eigenes Repository. Macht aber nix: die Version von Jaunty lässt sich problemlos installieren (zumindest im Moment. Jetzt bloss kein Update!).&lt;/p&gt;
&lt;p&gt;So, jetzt aufgezeichnete GPS-Tracks von heute ziehen und wieder ein wenig was an &lt;a href=&quot;http://www.openstreetmap.org&quot;&gt;OSM&lt;/a&gt; tun.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 09 Aug 2009 21:09:38 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/341-guid.html</guid>
    
</item>
<item>
    <title>Serendipity Shared Installation und mod_vhost</title>
    <link>http://blog.slash-me.net/archives/340-Serendipity-Shared-Installation-und-mod_vhost.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/340-Serendipity-Shared-Installation-und-mod_vhost.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=340</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=340</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Uff, da hab ich mal wieder länger ringen müssen. Aus ominösen Gründen wollte ich mal wieder eine Instanz meiner bevorzugten Blogsoftware aufsetzen. Weil sich aber die Platte des Servers mittlerweile ganz gut mit Instanzen füllt, sollte diesmal eine Shared-Installation her, bei der sich früher oder später mal alle Instanzen eine Code-Basis teilen (weniger mangels Platz, sondern wegen des Pflegeaufwandes). Soweit der Plan...&lt;/p&gt;
&lt;p&gt;Nun gibt es dafür eine &lt;a href=&quot;http://www.s9y.org/41.html&quot;&gt;Anleitung&lt;/a&gt;, über der dick und fett steht: &quot;WARNING: THIS FEATURE IS EXPERIMENTAL!&quot;. Experimentell ist es in der Tat, vor allem wenn die Anleitung und meine Vorstellung davon, was gewisse Dinge bedeuten, aufeinander treffen. Wenn man dann noch zusätzlich mod_vhost mit in den Ring schmeißt, dann ist das Chaos fast perfekt. Aber von vorn.&lt;/p&gt;
&lt;p&gt;Ziel der Aktion war folgendes: eine Subdomain &lt;tt&gt;blogs.example.com&lt;/tt&gt; unter der man einfach und ohne Probleme neue Blogs anlegen kann. Dazu sollte nur eine Serendipity-Installation verwendet werden (kein Bock da mehrere zu pflegen). Gut, der Anfang ist einfach: mod_vhost ist schon aktiv, einen neuen VirtualHost im Apachen anlegen (&lt;tt&gt;ServerName blogs.example.com&lt;/tt&gt;, &lt;tt&gt;ServerAlias *.blogs.example.com&lt;/tt&gt;) und im DNS *.blogs.example.com auf die IP des VirtualHost zeigen lassen. In dem VirtualHost Ersetzt man nun noch &lt;tt&gt;DocumentRoot&lt;/tt&gt; durch folgende Zeilen (vorausgesetzt die Bloginstallation liegt am Ende mal unter &lt;tt&gt;/home/blogs.example.com/&lt;/tt&gt;:&lt;/p&gt;
&lt;pre&gt;
UseCanonicalName Off
VirtualDocumentRoot /home/blogs.example.com/subdomains/%1
&lt;/pre&gt;
&lt;p&gt;Nun kann man ganz einfach durch Anlegen eines neuen Verzeichnisses in &lt;tt&gt;/home/blogs.example.com/subdomains&lt;/tt&gt; eine neue Subdomain anlegen. (Beispiel: test.blogs.example.com wird mit der Konfiguration auf &lt;tt&gt;/home/blogs.example.com/subdomains/test&lt;/tt&gt; abgebildet). Ausprobieren, ob das Konstrukt funktioniert und dann weitermachen.&lt;/p&gt;
&lt;p&gt;Nächster Schritt: die Installation von Serendipity. Man lädt das normale Package runter (die LITE-Installation bringt die Dateien nicht mit, die man für die Shared-Installation-Geschichte braucht) und entpackt es nach &lt;tt&gt;/home/blogs.example.com/s9y&lt;/tt&gt;. &lt;em&gt;WICHTIG:&lt;/em&gt; der Pfad &lt;em&gt;MUSS&lt;/em&gt; als letzten Teil &lt;tt&gt;s9y&lt;/tt&gt; haben. Entpackt man die Dateien standardgemäß, dann landen sie in einem neuen Verzeichnis namens &lt;tt&gt;serendipity&lt;/tt&gt;. Dessen Inhalt muss man nach &lt;tt&gt;s9y&lt;/tt&gt; verschieben. Der Pfad ist im Code hart verdrahtet. Wenn man das Verzeichnis anders benennt, dann darf man sich auf unerklärliche Internal Server Errors freuen.&lt;/p&gt;
&lt;p&gt;Zuguterletzt muss man dem Apache noch sagen, wo er sich seine PHP-Dateien zusammensuchen soll. Tut man das nicht, dann findet der Deployment-Code (siehe unten) die Dateien der Shared Installation nicht. Dazu trägt man in den VirtualHost noch folgende Zeile ein (ob &lt;tt&gt;/usr/share/php&lt;/tt&gt; und &lt;tt&gt;/usr/share/pear&lt;/tt&gt; hier wirklich notwendig sind, weiß ich nicht. Eigentlich stehen die bei Debian im &quot;Master Value&quot; für &lt;tt&gt;include_path&lt;/tt&gt;. Vielleicht weiß da jemand ja mehr...):&lt;/p&gt;
&lt;pre&gt;php_value include_path &quot;.:/usr/share/php:/usr/share/pear:/home/blogs.example.com:/home/blogs.example.com/s9y:/home/blogs.example.com/s9y/bundled-libs&quot;&lt;/pre&gt;
&lt;p&gt;Außerdem hilft es, wenn man dem Apache noch erlaubt die &lt;tt&gt;.htaccess&lt;/tt&gt;-Dateien, die Serendipity so mitbringt auch zu interpretieren. Dazu muss man in den Block &lt;tt&gt;&amp;lt;Directory /home/blogs.example.com/subdomains&amp;gt;...&amp;lt;Directory&amp;gt;&lt;/tt&gt; in der Apache-Config bei AllowOverride All eintragen. Damit darf die &lt;tt&gt;.htaccess&lt;/tt&gt; innerhalb der Subdomain-Verzeichnisse alle möglichen Änderungen vornehmen. Wer das einschränken will muss rausfinden, was genau benötigt wird und das dann dort entsprechend angeben.&lt;/p&gt;
&lt;p&gt;Nun kann man mit folgendem Skript recht einfach eine neue Bloginstanz anlegen:&lt;/p&gt;
&lt;pre&gt;
#! /bin/sh

BASE_DIR=/home/blogs.example.com

if [ x$1 == x ]; then
        echo &quot;Please supply a subdomain-name for the blog.&quot;;
        exit 1;
fi

mkdir /home/$BASE_DIR/subdomains/$1
$(
        cd /home/$BASE_DIR/subdomains/$1

        cp -r ../../s9y/deployment/* .

        ln -s ../../s9y/templates .
        ln -s ../../s9y/htmlarea .
)
chown -R www-data.www-data /home/$BASE_DIR/subdomains/$1

su - postgres -c &quot;createdb $1blogsexamplecom&quot;
su - postgres -c &quot;createuser -S -D -R -P -E $1blogsexamplecom&quot;
&lt;/pre&gt;
&lt;p&gt;Das Skript tut eigentlich nicht viel: es legt ein passendes Verzeichnis an um die Subdomain zu aktivieren, kopiert die Deployment-Dateien von Serendipity (ein paar kleine PHP-Dateien, die am Ende mal dafür sorgen, dass aus der Shared-Installation die gemeinsamen Dateien angesprungen werden), verlinkt templates und WYSIWYG-Editor passend und überträgt die Rechte an den Webserver-User. Die letzten beiden Zeilen legen noch die Datenbank und den passenden User zum neuen Blog an (Passwort wird erfragt). Das ist natürlich nur für die bei mir verwendete PostgreSQL gültig. Wer was anderes verwendet muss hier entsprechend anpassen.&lt;/p&gt;
&lt;p&gt;Tja, wenn das alles fehlerfrei durchgelaufen ist, dann kann man eigentlich schon die Domain http://&amp;lt;name&amp;gt;.blogs.example.com besuchen. Dort wird man vom Installationsskript von Serendipity begrüßt, welches den eben angelegten DB-Nutzer wissen will und dann seine Arbeit erledigt. Für das (doch eigentlich recht einfache) Vorgehen hab ich jetzt doch 2 Stunden gebraucht um&#039;s auszutüfteln..&lt;/p&gt;
&lt;p&gt;P.S: Das in der Originalanleitung erwähnte &lt;tt&gt;open_basedir&lt;/tt&gt; muss man leider weglassen, weil es nicht zusammen mit mod_vhost spielen mag. Speziell der Subdomain-spezifische Teil des Pfades würde hier Probleme machen.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 09 Aug 2009 01:04:56 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/340-guid.html</guid>
    
</item>
<item>
    <title>Update von etch auf lenny</title>
    <link>http://blog.slash-me.net/archives/336-Update-von-etch-auf-lenny.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/336-Update-von-etch-auf-lenny.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=336</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=336</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Fürchterlich! Irgendwann kommt man mal auf die glorreiche Idee, seinen Server auf Debian Lenny bringen zu wollen. Warum auch nicht? Ist ja mittlerweile schon ein Stück stable und außerdem und überhaupt. Also gestern fix angekündigt und heute morgen begonnen. Paketquellen geändert, &lt;tt&gt;apt-get dist-upgrade&lt;/tt&gt; angeworfen und los. Joar, alles kein Problem, &lt;em&gt;wenn&lt;/em&gt; da nicht so ein kleines Problem wäre: seit einiger Zeit kann ich OpenVPN auf dem Server nicht mehr beenden. Das bleibt dann mit der (sich alle 10 Sekunden wiederholenden) Meldung: &lt;tt&gt;kernel: unregister_netdevice: waiting for tap1 to become free. Usage count = 1&lt;/tt&gt;. Tja... das OpenSSL-Update wollte dann OpenVPN neu starten... Plöt. Mitten im Update bleibt das ganze also mal gepflegt hängen. Intelligenterweise kann man sich nachdem das begonnen hat nicht mehr einloggen. Ich hatte also nichtmal mehr ne Konsole um die Kiste hart neu zu starten und zu hoffen. *gnaaa* Ok, Hetzner anrufen, Rettungssystem etc.pp. Blöd zum Zweiten: der im &lt;tt&gt;chroot&lt;/tt&gt; auf dem halbfertigen System weitergeführte Update-Prozess war dann irgendwie der Meinung Mailserver etc. neu zu starten, was dazu führte, dass plötzlich der Secondary MX mit der Einlieferung begann. Ich hätte nicht erwartet, dass das ein Problem darstellen würde. Irgendwie war dem aber offensichtlich so, jedenfalls verabschiedete sich das System bei der Konfiguration des Bootloaders (Hurra! Wenn es einen dämlichen Moment gibt, dann diesen!) Also nochmal Hetzner angerufen (der arme Kerl, der da heute Dienst hatte...), Rettungssystem zum zweiten, Bootloader konfiguriert und installiert, neu gestartet und bibbernd davor gesessen. Zu meiner Überraschung hatte das dann aber geklappt. Die üblichen Verdächtigen (ein paar Django-Programme) wollten mal wieder nicht mehr starten und PostgreSQL wollte gern ein &lt;tt&gt;pg_updatecluster&lt;/tt&gt; haben, damit es wieder lieb mit mir ist, aber sonst war alles locker.&lt;/p&gt;
&lt;p&gt;So, jetzt aber erstmal wieder 5 Jahre Ruhe... *grmpf*&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 20 Jun 2009 18:18:13 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/336-guid.html</guid>
    
</item>
<item>
    <title>Presenter Screen</title>
    <link>http://blog.slash-me.net/archives/335-Presenter-Screen.html</link>
            <category>Computer</category>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/335-Presenter-Screen.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=335</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=335</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Geilste OpenOffice.org-Erweiterung ever: &lt;a href=&quot;http://wiki.services.openoffice.org/wiki/Presenter_Screen&quot;&gt;Presenter Screen&lt;/a&gt;. Aus ominösen Gründen bin ich heute auf ein wenig Hirnunterstützung in Form von Notizen angewiesen und bin dabei über dieses Teil gestolpert. Nach dem Starten einer Präsentation im Impress präsentiert sich der Bildschirm zum Vortragenden (zwei Bildschirme natürlich vorausgesetzt) recht aufgeräumt:&lt;/p&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 700px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;!-- s9ymdb:464 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;700&quot; height=&quot;438&quot;  src=&quot;http://blog.slash-me.net/uploads/presenter-screen.png&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Presenter Screen auf dem Bildschirm des Vortragenden&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Alles da, was man braucht: Uhr, Folienübersicht, Notizen, nächste Folie etc.pp. Hoffentlich wird diese Extension mal standardmäßig in OpenOffice.org mit eingebaut.&lt;/p&gt;
&lt;p&gt;BTW: Unter Ubuntu ist Presenter Screen als &lt;tt&gt;openoffice.org-presenter-console&lt;/tt&gt; verfügbar. Aber wahrscheinlich weiß das außer mit eh schon wieder jeder.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 05 Jun 2009 09:15:41 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/335-guid.html</guid>
    
</item>
<item>
    <title>Kaputte Tages-/Wochenansicht im KOrganizer Kalender</title>
    <link>http://blog.slash-me.net/archives/333-Kaputte-Tages-Wochenansicht-im-KOrganizer-Kalender.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/333-Kaputte-Tages-Wochenansicht-im-KOrganizer-Kalender.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=333</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=333</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;So ein paar Geburtswehwechen hat mein frisch installiertes Kubuntu 9.04 dann doch. Nachdem ich etwas länger aus Google Earth einklopfen musste und auch ein Bug im Handling von USB-Sticks schon behoben werden wollte (wenn man einen, der in Benutzung ist, über den Device Notifier auswerfen will, dann friert der ein. Patch ist im Upstream bereits drin.), war nun nur noch das Problem mit dem KOrganizer zu beheben. In der Tages-, Wochen- und Arbeitswochenansicht war nix zu sehen (vgl. &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/kdepim/+bug/340280&quot;&gt;passender Bug im Launchpad&lt;/a&gt;). Blöd, wenn man wie ich das Teil eigentlich recht exzessiv nutzt (ehrlich mal: ich würde meine Seminare vergessen ohne das Ding). Der Übeltäter ist folgender Eintrag in der &lt;tt&gt;~/.kde/share/config/korganizerrc&lt;/tt&gt;:&lt;/p&gt;
&lt;code&gt;[Views]&lt;br/&gt;
Separator AgendaView=0,0&lt;/code&gt;
&lt;p&gt;Der gibt die Trennung zwischen der Zeittafel und den zeitunabhängigen Events in den entsprechenden Ansichten an. Deswegen ist das auch in der Monatsansicht kein Problem: dort gibt es diesen Trenner nicht. Wenn man statt 0,0 sinnvolle Werte einsetzt (ich hab bspw. 800,600 eingesetzt und dann im GUI das wieder zurechtgezogen), dann ist alles wieder wie gewohnt. Eigentlich sollte das Problem laut Bugreport in 4.2.2 gefixt sein (was ich hier installiert habe). Ist es wohl aber für mich nicht. Mal kommentieren...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 30 Apr 2009 10:39:48 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/333-guid.html</guid>
    
</item>
<item>
    <title>Google Earth Error Code 29</title>
    <link>http://blog.slash-me.net/archives/332-Google-Earth-Error-Code-29.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/332-Google-Earth-Error-Code-29.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=332</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=332</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Wenn&#039;s mal wieder länger dauert... Jetzt hab ich doch einige Zeit versucht auf meinem 64-Bit-Kubuntu 9.04 Google Earth ans Laufen zu kriegen. Blöderweise verabschiedet sich das Programm immer mit Error 29, wenn es startet und stellt dann nichts dar. &lt;a href=&quot;http://groups.google.com/group/earth-linux/browse_thread/thread/d7bb6e1608cbf5fd&quot;&gt;Folgender Thread&lt;/a&gt; enthält die Lösung des Rätsels: Auf einem 64-Bit-System sind normalerweise nicht unbedingt alle Bibliotheken installiert, die GE so erwartet (es ist ja leider &quot;nur&quot; ein 32-Bit-Programm). In meinem Fall fehlte &lt;tt&gt;lib32nss-mdns&lt;/tt&gt;. Nach einer Installation beschwert es sich wieder über das bekannte OpenSSL-Problem (die GE-eigene libcrypto im Programmverzeichnis ist der Übeltäter. Einfach löschen und schon geht&#039;s) und wenn man das auch noch behoben hat, dann läuft das ganze.&lt;/p&gt;
&lt;p&gt;Einfacher geht&#039;s zumindest unter Ubuntu mit &lt;tt&gt;aptitude install googleearth-package&lt;/tt&gt;. Danach kann man sich mit &lt;tt&gt;make-googleearth-package&lt;/tt&gt; ein Debian-Paket bauen, welches die nötigen Dinge tut, damit alles funktioniert.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 26 Apr 2009 22:21:46 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/332-guid.html</guid>
    
</item>
<item>
    <title>GPS-Tracks aufbereiten</title>
    <link>http://blog.slash-me.net/archives/272-GPS-Tracks-aufbereiten.html</link>
            <category>Computer</category>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/272-GPS-Tracks-aufbereiten.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=272</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=272</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Wer öfter mit GPS-Tracks arbeitet &amp;ndash; für &lt;a href=&quot;http://www.openstreetmap.org&quot;&gt;OpenStreetMap&lt;/a&gt;, &lt;a href=&quot;http://de.wikipedia.org/wiki/Geocaching&quot;&gt;Geocaching&lt;/a&gt; [auch wenn man da neuerdings aufpassen muss, dass man nicht &lt;a href=&quot;http://www.cache-test-dummies.de/2006/04/21/geocache-loest-bombenalarm-aus/&quot;&gt;gleich als Terrorist abgestempelt&lt;/a&gt; wird] oder auch nur zur persönlichen Analyse beim Joggen/Radfahren) &amp;ndash; der dürfte sich über ein Programm wie &lt;a href=&quot;http://www.gpsbabel.org/&quot;&gt;GPSBabel&lt;/a&gt; freuen. Zwar nur ein Kommandozeilentool (mit Frontends für Windows und MacOS), aber dafür sehr mächtig. Es konvertiert von und zu x Speicherformaten (und ebnet so nach eigener Darstellung den &quot;GPS-Turm vom Babel&quot; ein) und bietet einen Haufen Nachbearbeitungsmöglichkeiten für die Tracks, die so aus manchen Geräten rausfallen.&lt;/p&gt;
&lt;p&gt;Ein Beispiel: ein Urlaubstrack aufgezeichnet mit Medion GoPal 4. Intervall 1 Sekunde (was anderes kann das Medion IMO nicht) bedeutet in diesem Fall (Fahrt nach Kroatien, 5 Tage Segeln) mehrere Tracks mit insgesamt ~6MB Größe. Ziel ist es, die Tracks zu einem zusammenzusetzen und deutlich zu vereinfachen.&lt;/p&gt;
&lt;p style=&quot;border: 1px solid black&quot;&gt;&lt;tt&gt;gpsbabel -i gpx -f 1.gpx -i gpx -f 2.gpx -i gpx -f 3.gpx -i gpx -f 4.gpx -i gpx -f 5.gpx -x track,merge,title=&quot;Urlaub komplett&quot; -x simplify,crosstrack,error=0.002k -o gpx -F urlaub.gpx&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;Dieses Kommando setzt die Dateien &lt;tt&gt;[1-5].gpx&lt;/tt&gt; zu einem Track zusammen, versieht den mit dem Titel &quot;Urlaub komplett&quot; und vereinfacht den Gesamtweg so, dass die Form erhalten bleibt (bei einem maximalen Fehler von 2 Metern, d.h. der neue Track-Verlauf weicht maximal 2m vom alten ab, was sowieso unter der Toleranz des GPS-Gerätes liegt). Auf diese Weise werden aus 5 Dateien mit einer Gesamtgröße von ~6MB eine mit 833kB. Wenn man jetzt am Ende das &lt;tt&gt;-o gpx...&lt;/tt&gt; noch ersetzt durch &lt;tt&gt;-o kml -F urlaub.kml&lt;/tt&gt;, dann kann man sich den Track gleich direkt in Google Earth anschauen.&lt;/p&gt;
&lt;p&gt;Das Programm läuft auf allen gängigen Betriebssystemen, auch wenn die Windows- und Mac-User wahrscheinlich ob der Kommandozeilenbedienung weinen. Aber die können sich ja mal die &lt;a href=&quot;http://www.gpsbabel.org/screenshots.html&quot;&gt;grafischen Frontends&lt;/a&gt; anschauen, die allerdings nicht komplett alle Möglichkeiten des zugrundeliegenden Programms bieten.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 15 Jul 2008 09:31:47 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/272-guid.html</guid>
    
</item>
<item>
    <title>Transystem i-Blue 747</title>
    <link>http://blog.slash-me.net/archives/270-Transystem-i-Blue-747.html</link>
            <category>Linux</category>
            <category>Misc</category>
    
    <comments>http://blog.slash-me.net/archives/270-Transystem-i-Blue-747.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=270</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=270</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://www.transystem.com.tw/&quot;&gt;Transystem&lt;/a&gt; hat mit ihrem &lt;a href=&quot;http://www.transystem.com.tw/p-gps-iblue747.htm&quot;&gt;i-Blue 747&lt;/a&gt; eine schnuckelige GPS-Empfänger/Logger-Kombination im Angebot. Nachdem ich bisher für &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetMap&lt;/a&gt; immer mit einem &lt;a href=&quot;http://www.mediongopal.de/&quot;&gt;GoPal&lt;/a&gt; getrackt habe, wollte ich mir endlich mal einen richtigen Tracker gönnen. Die Vorteile liegen auf der Hand: kleiner, leichter, weniger fehleranfällig. Mit dem GoPal lässt sich zwar im Auto etc. wunderbar tracken, aber wenn man es in die Jackentasche steckt, dann nervt es ein wenig, dass man den Bildschirm nicht ausschalten kann. Braucht unnötig Strom und macht das Gerät aufgrund der Touchscreenbedienung anfällig gegen Fehlbedienungen durch Berührung. Also für Wandern, Radfahren etc. ein eigener Tracker...&lt;/p&gt;
&lt;p&gt;Ursprünglich hatte ich mich anhand der &lt;a href=&quot;http://wiki.openstreetmap.org/index.php/GPS_Reviews&quot;&gt;Hardwareliste&lt;/a&gt; von OpenStreetMap auf das Wintec WBT-201 eingeschossen, welches anscheinend genau meine Anforderungen erfüllt. Durch den &lt;a href=&quot;http://www.kowoma.de/gps/geraetetests/Datenlogger/iblue_wintec_p1.html&quot;&gt;Test bei kowoma.de&lt;/a&gt; kam ich zusätzlich noch auf den i-Blue als Alternative. Der hat(te) zwar wesentlich weniger Speicher (70k vs. 131k Datenpunkte), war allerdings auch ~30 billiger. Nachdem sich der Kauf nun noch ein paar Wochen hinausgezögert hatte, hat Transtec das Rennen gemacht: sie haben den i-Blue in einer neuen Variante auf den Markt geworfen, die den doppelten Speicher hat und damit ~150k Datenpunkte speichern kann. Mehr als genug für meine Ansprüche und deutlich günstiger als der Wintec. Anfang der Woche bestellt, heute bekommen.&lt;/p&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 500px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;!-- s9ymdb:267 --&gt;&lt;img width=&quot;500&quot; height=&quot;333&quot;  src=&quot;http://blog.slash-me.net/uploads/i-blue-747.jpg&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;i-Blue 747&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So sieht das gute Stück aus. Zum Größenvergleich ein 20-¢-Stück daneben. Recht übersichtlich also und mit knapp 70g auch nicht schwer. Die Bedienung ist absolut simpel: entweder man betreibt ihn im Modus NAV, dann ist er ein reiner &lt;a href=&quot;http://de.wikipedia.org/wiki/NMEA_0183&quot;&gt;NMEA-kompatibler&lt;/a&gt; Empfänger und reicht die Daten via USB oder Bluetooth an PC/PDA/etc. raus. Betreibt man ihn hingegen im Modus LOG, dann zeichnet er zusätzlich zum Weiterreichen die Daten auch noch auf seinem internen Speicher auf. Mit einer Software kann man vom PC aus einstellen, was er aufzeichnen soll (Längen- u. Breitengrad, Höhe, Geschwindigkeit etc.pp) und unter welchen Bedingungen (alle x Sekunden von, alle x Meter oder über x km/h). Der Knopf in der Mitte des Geräte dient zum Setzen von Wegpunkten: drückt man ihn, dann speichert das Gerät den aktuellen Datensatz mit einem Vermerk und man kann das später als Wegpunkt auslesen. Sehr praktisch, wenn man beim Tracken was interessantes sieht und sich merken will, wo&#039;s war. Das war&#039;s auch schon am Gerät selbst. Geladen wird via USB, wobei ein Verbindungskabel zum PC, ein Netzteil und ein Stecker für&#039;s Auto beiliegen.&lt;/p&gt;
&lt;p&gt;Ein kleines Problem gibt es (wie üblich) für mich: Software zum Auslesen des Gerätes liefert der Hersteller nur für Windows. Wäre ja auch zu schön... Als NMEA-kompatibler Empfänger stellt er kein Problem dar. Steckt man das Gerät per USB an, hat man plötzlich eine neue serielle Schnittstelle &lt;tt&gt;/dev/ttyUSB0&lt;/tt&gt; (oder äquivalent), die der gpsd mit Freuden abfragt und die entsprechenden Daten generiert. Damit funktionieren sämtliche linux-basierten Navigations- und Trackingprogramme. Das ganze soll auch problemlos via Bluetooth funktionieren, was ich allerdings noch nicht probiert habe.&lt;/p&gt;
&lt;p&gt;An die Logs ranzukommen ist schon schwerer. Das Gerät präsentiert sich leider wie alle anderen auch &lt;em&gt;nicht&lt;/em&gt; als USB-Massenspeicher, sondern will via serieller Schnittstelle dazu gebracht werden, die Daten rauszurücken. Die kanonische Antwort auf dieses Problem lautet: &lt;a href=&quot;http://bt747.wiki.sourceforge.net/Manage+iBlue%2C+Qstarz+BT-Q1000+and+iTrek+Z1+GPS+data+loggers+on+Windows%2C+Palm%2C+WinCE%2C+Linux+and+Mac+(opensource)&quot;&gt;bt747&lt;/a&gt;, ein Java-Programm zum Auslesen und Konfigurieren der Geräte. Dummerweise konnte ich das bisher nicht ans Laufen kriegen, weil mit &lt;tt&gt;javax.comm&lt;/tt&gt; fehlt, von dem mir Sun erzählt, dass es grad nicht zu haben sei. Glücklichweise hat sich jemand hingesetzt und ein Perl-Skript geschrieben, was das gleiche tut: &lt;a href=&quot;http://www.rigacci.org/wiki/doku.php/doc/appunti/hardware/gps_logger_i_blue_747&quot;&gt;mtkbabel&lt;/a&gt;. Funktioniert ebenso, auch wenn es nicht ganz so einfach zu bedienen ist. Wichtigster Aufruf: alle Daten vom Gerät laden: &lt;tt&gt;./mtkbabel -s 115200 -l off -f track -w -t -a&lt;/tt&gt; legt drei Dateien an. Eine binäre, die direkt vom Gerät kommt, eine &lt;tt&gt;track_trk.gpx&lt;/tt&gt;, die den aufgezeichneten Weg enthält und eine &lt;tt&gt;track_wpt.gpx&lt;/tt&gt;, die die per Knopfdruck aufgezeichneten Wegpunkte enthält. In JOSM geladen sieht das dann so aus:&lt;/p&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 786px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;!-- s9ymdb:268 --&gt;&lt;img width=&quot;786&quot; height=&quot;461&quot;  src=&quot;http://blog.slash-me.net/uploads/josm.png&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Daten im JOSM&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Zu sehen sind hier zwei überlagerte Strecken (Hin- und Rückfahrt) und ein Wegpunkt (das kleine Kreuz mit der Nummer 001). Die Aufzeichnungsqualität ist gut, das Gerät findet seine Satelliten schnell und arbeitet zuverlässig. Nur das Standardaufzeichnungsintervall von 5&amp;#160;Sekunden sollte man evtl. etwas kürzer einstellen (bspw. per mtkbabel). Ich bin im Moment bei zwei Sekunden. Mal noch ein wenig testen, was da brauchbar ist.&lt;/p&gt;
&lt;p&gt;Insgesamt ein sehr schickes Gerät. Mal schauen, was die Zeit bringt und ob es im Dauereinsatz hält, was es bisher versprochen hat. Es gibt ja noch einige Orte hier in der Umgebung die getrackt werden wollen...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 12 Jul 2008 00:26:15 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/270-guid.html</guid>
    
</item>
<item>
    <title>dm-crypt-Container Skripte</title>
    <link>http://blog.slash-me.net/archives/265-dm-crypt-Container-Skripte.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/265-dm-crypt-Container-Skripte.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=265</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=265</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Im Linux-Kernel eingebaut ist ja nun schon seit geraumer Zeit das &lt;a href=&quot;http://de.wikipedia.org/wiki/Dm-crypt&quot;&gt;Crypt-Target&lt;/a&gt; des Device-Mappers, mit dem sich transparent ganze Partitionen auf der Platte verschlüsseln lassen. Das verwende ich schon länger um mein Notebook komplett zu verschlüsseln und so im Falle eines Diebstahls/Verlustes wenigstens nicht gleich meine ganzen privaten Daten im Netz zu finden. Für ein Projekt brauche ich in Zukunft allerdings ein wenig mehr: einen Container, der im normalen Betrieb nicht offen ist, sondern nur wenn ich mit den Daten arbeite, die sich darin befinden (man weiß ja nie, ob nicht unter Umständen unter dem eigenen Nutzer mal was Amok läuft). Recht bequem löst man das mit &lt;a href=&quot;http://www.truecrypt.org/&quot;&gt;TrueCrypt&lt;/a&gt;: Container anlegen, im TrueCrypt auf &quot;Mounten&quot; klicken, Passwort eingeben, fertig (so zumindest unter Windows. TrueCrypt unter Linux hab ich noch nicht benutzt). Nun will ich mir nicht noch ein Tool installieren, schließlich hab ich mit dm-crypt schon ein erprobtes zur Verfügung. Leider kann dieses nur Devices verwalten und keine Dateien als Container direkt ansprechen. Macht aber nichts, wozu gibt es loop-Devices?&lt;/p&gt;
&lt;p&gt;Die Schritte sind also ganz einfach: loop-Device auf der Container-Datei anlegen, mittels cryptsetup öffnen lassen und unter einem Mountpoint einhängen. Weil mir das zuviel Tipperei ist, hab ich zwei einfache Skripte zusammengebaut, die den kompletten Ablauf übernehmen.&lt;/p&gt;
&lt;p&gt;Skript #1 ist zum Öffnen eines Container da. Einfach: &lt;code&gt;./mount_container.sh &amp;lt;containerdatei&amp;gt; &amp;lt;mountpoint&amp;gt;&lt;/code&gt; als root (oder mittels &lt;code&gt;sudo&lt;/code&gt;) ausführen, Passwort eingeben und schon hängt der Container unter dem angegebenen Mountpoint.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid black; padding: 0 0 0 0&quot;&gt;
&lt;code&gt;mount_container.sh&lt;/code&gt;
&lt;pre style=&quot;border: 1px #A0A0A0 dotted; background-color: #F0F0F0; padding: 1em 1em 1em 1em; margin: 0 0 0 0&quot;&gt;#! /bin/bash

if [ x$1 == x ]; then
        echo &quot;Usage: $0 &amp;lt;imagefile&amp;gt; &amp;lt;mountpoint&amp;gt;&quot;
        exit 1
fi

DIRECTORY=$(dirname $1)
IMAGENAME=$(basename $1)
CUR_DIR=$(pwd)
if [ ! &quot;x$DIRECTORY&quot; == x ]; then
        cd &quot;$DIRECTORY&quot;
fi
IMAGEPATH=$(pwd)/&quot;$IMAGENAME&quot;
MAPPERNAME=$(echo &quot;$IMAGEPATH&quot; | sha1sum | cut -d&quot; &quot; -f 1)  # we use the sha1sum of the image path as mapper device

echo &quot;Mapping $IMAGEPATH to device /dev/mapper/$MAPPERNAME&quot;

MP_TMP=$(losetup -a | grep &quot;$IMAGEPATH&quot; | cut -d&#039;:&#039; -f 1)
if [ x$MP_TMP == x ]; then
        echo &quot;Setting up loop device&quot;
        losetup -f &quot;$IMAGEPATH&quot;
fi
DEVICE=$(losetup -a | grep &quot;$IMAGEPATH&quot; | cut -d&#039;:&#039; -f 1)

C_TMP=$(cryptsetup status $MAPPERNAME | grep &quot; active&quot;)
echo $C_TMP
if [ x$C_TMP == x ]; then
        echo &quot;Opening LUKS device $DEVICE&quot;
        cryptsetup luksOpen &quot;$DEVICE&quot; $MAPPERNAME
fi
mount /dev/mapper/$MAPPERNAME &quot;$2&quot;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Irgendwann ist die Arbeit im Container dann mal beendet und man möchte ihn wieder aushängen. Dazu gibt es das Skript &lt;code&gt;umount_container.sh&lt;/code&gt; (ebenfalls wieder als root oder via &lt;code&gt;sudo&lt;/code&gt; ausführen:&lt;/p&gt;
&lt;div style=&quot;border: 1px solid black; padding: 0 0 0 0&quot;&gt;
&lt;code&gt;umount_container.sh&lt;/code&gt;
&lt;pre style=&quot;border: 1px #A0A0A0 dotted; background-color: #F0F0F0; padding: 1em 1em 1em 1em; margin: 0 0 0 0&quot;&gt;#! /bin/bash
#! /bin/bash

if [ x$1 == x ]; then
        echo &quot;Usage: $0 &amp;lt;mount point&amp;gt;&quot;
        exit 1
fi

MAPPER_DEVICE_NAME=$(mount | grep &quot;$1&quot; | cut -d&#039; &#039; -f 1 | cut -d&#039;/&#039; -f 4)
if [ x$MAPPER_DEVICE_NAME == x ]; then
        echo &quot;$1 is not a mounted device.&quot;
        exit 1
fi
if [ x&quot;$(cryptsetup status $MAPPER_DEVICE_NAME | grep &#039; active&#039;)&quot; == x ]; then
        echo &quot;$1 does not seem to be a mounted dm-crypt device&quot;
        exit 1
fi
umount &quot;$1&quot;

DEVICE=$(cryptsetup status $MAPPER_DEVICE_NAME | grep device: | cut -d &#039; &#039; -f 5)
cryptsetup luksClose $MAPPER_DEVICE_NAME
LO_TMP=$(losetup -a | grep &quot;$DEVICE&quot;)
if [ ! x&quot;$LO_TMP&quot; == x ]; then
        losetup -d &quot;$DEVICE&quot;
fi
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Angelegt wird der Container ganz klassisch als &lt;code&gt;loop&lt;/code&gt;-Device: &lt;a href=&quot;http://de.gentoo-wiki.com/DM-Crypt/Loop-Device_verschlüsseln&quot;&gt;Anleitung aus dem Gentoo Linux Wiki&lt;/a&gt;. Danach kann man ihn ganz einfach mittels der Skripte benutzen.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tipp&lt;/em&gt;: Wenn man den Container als normaler Benutzer verwenden will (also ohne root-Rechte), dann sollte man als root einmalig nach dem Anlegen und Einhängen ein &lt;code&gt;chown -R &amp;lt;nutzer&amp;gt;&lt;/code&gt; auf den Mountpoint machen. Zugriffsrechte auf das Verzeichnis kann man natürlich auch gleich noch entsprechend setzen, damit nicht jeder drin rumwurschteln kann.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 24 Apr 2008 09:26:10 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/265-guid.html</guid>
    
</item>
<item>
    <title>Wenn der ejabberd nicht will...</title>
    <link>http://blog.slash-me.net/archives/249-Wenn-der-ejabberd-nicht-will....html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/249-Wenn-der-ejabberd-nicht-will....html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=249</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=249</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Weil ich grad nen halben Tag gesucht habe: wenn der &lt;a href=&quot;http://www.ejabberd.im/&quot;&gt;ejabberd&lt;/a&gt; zwar startet, aber keinerlei Ports öffnet und irgendwie nicht mehr reagiert, dann sollte man mal checken, ob der an seine Config kommt. Bei mir war es ein verwürfelter Owner von &lt;tt&gt;/etc/ejabberd/&lt;/tt&gt;, der verhindert hat, daß er sein Configfile einlesen konnte. Blöd ist: sonst loggt das Teil jeden Sch***, aber bei so nem gravierenden Fehler herrscht im Logfile Schweigen. *gnaaa*&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 02 Dec 2007 00:42:34 +0100</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/249-guid.html</guid>
    
</item>
<item>
    <title>fetchmail für MS Exchange</title>
    <link>http://blog.slash-me.net/archives/235-fetchmail-fuer-MS-Exchange.html</link>
            <category>Linux</category>
    
    <comments>http://blog.slash-me.net/archives/235-fetchmail-fuer-MS-Exchange.html#comments</comments>
    <wfw:comment>http://blog.slash-me.net/wfwcomment.php?cid=235</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://blog.slash-me.net/rss.php?version=2.0&amp;type=comments&amp;cid=235</wfw:commentRss>
    

    <author>nospam@example.com (namenlos)</author>
    <content:encoded>
    &lt;p&gt;Mein neuer Arbeitgeber hat ja seit neuestem einen Exchange-Server für die Mitarbeiter. Toll, toll, was für eine Begeisterung! Nun ja, wie das so ist, kommt man wohl leider nicht drumrum, also müssen Möglichkeiten her, sich an dieses Ding anzuklemmen. &lt;a href=&quot;http://www.gnome.org/projects/evolution/&quot;&gt;Evolution&lt;/a&gt; kann schon seit geraumer Zeit mit der Anbindung an ein Exchange (2000 und 2003) umgehen und stellt somit eine erste Variante dar. Dummerweise benutze ich schon ewig &lt;a href=&quot;http://kontact.kde.org/kmail/&quot;&gt;KMail&lt;/a&gt; um meine Mails zu verwalten und habe bis auf weiteres auch nicht vor das zu ändern. Was also tun?&lt;/p&gt;
&lt;p&gt;Nun, zum Glück ist der Konnektor, mittels welchem sich Evolution an Exchange anhängt, Open Source und man kann einen kleinen Blick darauf werfen. Laut der beiligenden Doku arbeitet das Teil auf Basis des gefürchteten Outlook Web Access, einer Art Pseudo-Möchtegern-Mailapplikation, die im Browser läuft. Außer der Webseite (die oft genug als Feigenblatt herhalten muss in der Art: &quot;Was du nur hast? Benutz doch einfach OWA in deinem Browser, wenn du kein Outlook willst!&quot; Scherzkekse...) bietet OWA allerdings noch eine kleine Nettigkeit: den Zugriff auf die Mailbox via &lt;a href=&quot;http://de.wikipedia.org/wiki/WebDAV&quot;&gt;WebDAV&lt;/a&gt;. Diese HTTP-Abart stellt Kommandos zum Verwalten von Dateien und Verzeichnissen zur Verfügung und wird sonst beispielsweise für die Freigabe von Verzeichnissen etc. benutzt. Mit Hilfe von WebDAV ist Rettung vor der unheiligen Allianz Exchange-Outlook zumindest teilweise in Sicht...&lt;/p&gt;
&lt;p&gt;Ziel ist es also, die Mails aus den Klauen von Exchange zu befreien und auf einen standardkonformen Mailserver zuzustellen (bspw. einen lokalen IMAP) oder sie in einem Maildir abzulegen (bspw. für Mozilla etc.). Für diese Aufgabe habe ich mir ein kleines Pythonskript geschrieben, welches zusammen mit einer angepassten &lt;a href=&quot;http://www.lyra.org/greg/python/davlib.py&quot;&gt;davlib&lt;/a&gt; (Link zum Original. Bitte &lt;em&gt;NICHT&lt;/em&gt; mit dem Skript verwenden!) seinen Dienst versieht. Im Kopf des Skriptes werden einige Konfigurationsvariablen gesetzt (Exchangeserver, SMTP-Server, Nutzernamen etc.). Besondere Beachtung verdient hier der &lt;tt&gt;MAILBOX_PATH&lt;/tt&gt;: dieser gibt den Basispfad der Mailbox im OWA an. Meist hat er die Form &lt;tt&gt;/Exchange/Nutzername/Inbox&lt;/tt&gt; oder &lt;tt&gt;/Exchange/Nutzername/Posteingang&lt;/tt&gt;. Den genauen Pfad bekommt man, indem man sich den Link zu einer Mail im OWA anschaut und nach dem entsprechenden Muster sucht. Das Skript stellt die Mails auf die angegebene Adresse zu und benutzt dabei den angegebenen SMTP-Server. Prinzipiell könnte man aber auch an der Stelle die Mail in eine Datei speichern oder irgendwas anderes damit machen.&lt;/p&gt;
&lt;p&gt;Ein Detail noch zum Versenden der Mails: die Funktion &lt;tt&gt;sendMail&lt;/tt&gt; geht davon aus, daß der SMTP-Server STARTTLS beherrsch und sie sich dort mit Nutzernamen und Passwort anmelden muss. Wenn das nicht zutrifft (bspw. weil der Server auf derselben Maschine wie das Skript läuft) kann man die betreffenden Zeilen einfach auskommentieren.&lt;/p&gt;
&lt;p&gt;Insgesamt ein übler Hack, aber wenigstens bekomme ich so meine Mails sauber auf meine Linux-Maschine. Fehlen ja nur noch die Termine, aber das ist eine andere Geschichte...&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.slash-me.net/uploads/fetch-exchange.tar.gz&quot; title=&quot;fetch-exchange.tar.gz&quot; target=&quot;_blank&quot;&gt;fetch-exchange.tar.gz&lt;/a&gt; &amp;ndash; das Skript zusammen mit davlib und qp_xml. Einfach in ein Verzeichnis entpacken und mittels &lt;tt&gt;./fetch-exchange.py&lt;/tt&gt; starten.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 31 Jul 2007 15:48:17 +0200</pubDate>
    <guid isPermaLink="false">http://blog.slash-me.net/archives/235-guid.html</guid>
    
</item>

</channel>
</rss>