<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    
    <link href="http://blog.dreckhaen.de/feeds/atom.xml" rel="self" title="dreckhände" type="application/atom+xml" />
    <link href="http://blog.dreckhaen.de/"                        rel="alternate"    title="dreckhände" type="text/html" />
    <link href="http://blog.dreckhaen.de/rss.php?version=2.0"     rel="alternate"    title="dreckhände" type="application/rss+xml" />
    <title type="html">dreckhände</title>
    <subtitle type="html">Notizen beim Schrauben</subtitle>
    
    <id>http://blog.dreckhaen.de/</id>
    <updated>2012-02-08T11:48:51Z</updated>
    <generator uri="http://www.s9y.org/" version="1.6">Serendipity 1.6 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://blog.dreckhaen.de/archives/5-Freie-Nameserver-fuer-IPv6.html" rel="alternate" title="Freie Nameserver für IPv6" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2010-02-18T19:19:42Z</published>
        <updated>2012-02-08T11:48:51Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=5</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    
            <category scheme="http://blog.dreckhaen.de/categories/1-IPV6" label="IPV6" term="IPV6" />
    
        <id>http://blog.dreckhaen.de/archives/5-guid.html</id>
        <title type="html">Freie Nameserver für IPv6</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Auf dem Weg durch das Ipv6-Zertifikationsparcours stiess ich auf einen Mangel an Hetzners Name Servern:&#160;</p>
<p>Man kann hier zwar voellig frei den Inhalt der eigenen Zone Files gestalten, aber f&uuml;r die Name Server selbst gibt es keine IPv6-Anbindung, keine AAAA.records und also auch keine Erreichbarkeit aus einem reinen IPv6-Netz.&#160;</p>
<p>Derlei mag gegenwaertig ja auch noch die totale Ausnahme sein, aber wie lange noch?</p>
<p>Also begann ich die Suche nach IPv6-tauglichen und m&ouml;glichst freien DNS-Angeboten, und habe auch Alternativen gefunden.</p>
<p>Zum einen ist das <a href="https://www.xname.org/index.php">xname.org</a>, mit Sitz in Paris, die freie DNS anbieten, die software ihrer Website sogar als opensource zum download anbieten und die immerhin einen der drei name server mit AAAA ausgestattet haben.</p>
<p>Zum anderen wurde ich bei <a href="http://web.gratisdns.dk/">gratisdns.dk</a> f&uuml;ndig, hier sind 5 Name Server am Werk, die allesamt IPv6-fit sind. Einen kleinen Haken hat dieses Angebot aber: das Interface f&uuml;rs Anlegen der zone files ist etwas gew&ouml;hnungsbed&uuml;rftig und alle Texte und Erkl&auml;rungen sind auf D&auml;nisch.</p>
<p><strong>Update:</strong><br />
Hurricane Electric (<a href="http://blog.dreckhaen.de/archives/20-Freie-Nameserver-Update.html">dns.he.net</a>)&#160;kam etwas sp&auml;ter mit einem Free DNS Service heraus, der erst 25, dann 50 Zones umfasste und inzwischen eine stattliche Zahl von Features hat, auch hier 5 Name server . HE baut dies Angebot auch immer weiter aus.</p>
<p>Es gibt natuerlich <a target="_blank" href="http://blog.docx.org/2010/09/05/frei-verwendbare-dns-server/">noch mehr freie Angebote</a>.</p> 
            </div>
        </content>
        <dc:subject>dns</dc:subject>
<dc:subject>hetzner</dc:subject>
<dc:subject>ipv6</dc:subject>
<dc:subject>name server</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/83-IPv6-manches-geht,-manches-nicht.html" rel="alternate" title="IPv6 - manches geht, manches nicht" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-02-07T23:17:00Z</published>
        <updated>2012-02-08T11:13:01Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=83</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=83</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/83-guid.html</id>
        <title type="html">IPv6 - manches geht, manches nicht</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Bei <a target="_blank" href="http://www.webmin.com/">webmin</a> war ich der festen Ansicht, dass IPv6 nicht geht und nie gehen wird. Ich hatte mal so eine Bemerkung auf der Projektseite gelesen, und da es in perl ist (<a target="_blank" href="http://www.personal.psu.edu/dvm105/blogs/ipv6/2008/07/perl-considered-harmful.html">perl considered harmful</a>)... Stimmt aber gar nicht (mehr):&#160;</p>
<p>aktuelle Versionen von webmin lassen sich mit einem mausklick Ipv6-enablen, alles, was sie dazu brauchen, ist, ein package:</p>
<p>&#160;apt-get install &#160;libio-socket-inet6-perl</p>
<div>&#160;</div>
<div>Der richtig dicke Vorteil von IPv6 ist ja, dass nun endlich die IPs nicht mehr knapp sind und man ganz ohne portumleitung und derlei Grauslichkeiten Clients und Server wieder end to end zusammenbekommt, auch wenn zwischen ihnen ein oder mehrere dsl mit dynamischen IP(v4) sind. Beispiel VPN oder Monitoring.</div>
<div>Erm, ja, ausser man hat auf openVpn gesetzt. Oder man versucht, zu nagios/icinga auf zu &uuml;berwachenden Maschinen einen nrpe-server zu installieren. Der nrpe-Server horcht aber nur auf IPv4 und aus ist. Jetzt prokel ich in einem <a target="_blank" href="https://github.com/KristianLyng/nrpe">inoffiziellen Fork<br />
E</a>in<a target="_blank" href="http://blog.quux.de/"> freundlicher Blogger</a> verweist mich auf den <a target="_blank" href="http://docs.icinga.org/latest/en/nrpe.html">icinga - nrpe</a>, den hatte ich zuvor wohl &uuml;bersehen. Einen Erfolg kann ich aber auch damit bislang nicht vermelden, mehrere Anl&auml;ufe, buchstabengetreu oder mitdenkend den Angaben des Link zu folgen kompilierten fehlerfrei, blieben dann aber doch im ersten Test stecken:<br />
<div>/usr/local/icinga/libexec/check_nrpe -H 127.0.0.1 -n</div>
<div>CHECK_NRPE: Error receiving data from daemon.<br />
hmm. Sachdienliche Hinweise richten sie bitte an die Kommentarfunktion weiter unten...</div>
</div>
<div>&#160;</div>
<div>Mysql ist auch nicht ganz auf IPv6 eingerichtet, jedenfalls 5.1.49 aus debian/squeeze.&#160;<br />
<div>netstat -tulpn|grep mysql</div>
<div>tcp &#160; &#160; &#160; &#160;0 &#160; &#160; &#160;0 127.0.0.1:3306 &#160; &#160; &#160; &#160; &#160;0.0.0.0:* &#160; &#160; &#160; &#160; &#160; &#160; &#160; LISTEN &#160; &#160; &#160;19179/mysqld</div>
<div>und auf ::1 lauscht er eben nicht. Eine <a target="_blank" href="http://serversupportforum.de/forum/sql/47591-mysql-mit-ipv6.html">erhellende Diskussion zum Thema</a> fand ich, und darin einen <a target="_blank" href="http://www.dotdeb.org/2011/11/01/mysql-5-5-is-finally-here/">Link zu mysql 5.5</a> f&uuml;r squeeze, erprobt habe ich dies aber nicht.</div>
<div>&#160;</div>
</div>
<div>&#160;iftop gibt eine gute &Uuml;bersicht &uuml;ber den Verkehr im Netzwerk, aber in debian squeeze nur f&uuml;r IPv4. Squeeze kommt mit iftop&#160;0.17-16, <a target="_blank" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=427852">IPv6 support gibt es erst ab&#160;0.17-17</a>&#160;- leider ist auch in <a target="_blank" href="http://packages.debian.org/squeeze-backports/allpackages">squeeze-backports</a> nichts dabei.</div>
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>icinga</dc:subject>
<dc:subject>iftop</dc:subject>
<dc:subject>ipv6</dc:subject>
<dc:subject>mysql</dc:subject>
<dc:subject>nrpe</dc:subject>
<dc:subject>perl</dc:subject>
<dc:subject>webmin</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/32-Zertifikate-fuer-apache,-courier,-webmin,-postfix,-dovecot,-nrpe-einbinden.html" rel="alternate" title="Zertifikate für apache, courier, webmin, postfix, dovecot, nrpe einbinden" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-02-09T14:28:51Z</published>
        <updated>2012-02-06T13:13:02Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=32</wfw:comment>
    
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/32-guid.html</id>
        <title type="html">Zertifikate für apache, courier, webmin, postfix, dovecot, nrpe einbinden</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>In einem <a href="http://blog.dreckhaen.de/archives/10-kostenloses-Serverzertifikat.html">fr&uuml;heren Eintrag</a> hatte ich <a href="http://www.startssl.com/">startssl</a>&#160;als Quelle f&uuml;r kostenlose Zertifikate f&uuml;r Server angesprochen, die kostenlosen Class 1 - Zertifikate gelten immer f&uuml;r eine Subdomain und die Domain selbst. Also zB. www.domain.tld und&#160;
<meta http-equiv="content-type" content="text/html; charset=utf-8">domain.tld. Hier mein Waschzettel, um das Zertifikat f&uuml;r den Webserver der Domain, Courier (pop3s, imaps) und f&uuml;r die Serververwaltungen Webmin und ISPConfig2 einzubinden.  </meta>
</p>
<pre>
 
# Verzeichnis f&uuml;r die eigenen Certs anlegen 
mkdir -p  /etc/ssl/certs/startssl/
chmod 700 /etc/ssl/certs/startssl/

# den eigenen key und das von startssl signierte zertifikat hier speichern
# darauf achten bzw. kontrollieren, dass jede dieser Dateien mit einem \n endet
domain.tld.key
domain.tld.crt
chmod 600 domain.tld.key

# die certs von startssl herunterladen
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem

# umbenennen ordnet
mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt

# die ganze Kette zusammenkopieren
cat startssl.sub.class1.server.ca.crt startssl.ca.crt &gt;startssl.chain.class1.server.crt
cat domain.tld.{key,crt} startssl.chain.class1.server.crt &gt;domain.tld.pem
chmod 600  domain.tld.pem

# fuer imap-ssl und pop-ssl eintragen 
# in den beiden .cnf den Pfad zum domain.tld.pem einzutragen funktioniert nicht, 
# courier erwartet das Zertifikat in oder unter /etc/courier
# was dagegen klappt ist ein symlink von dem Zertifikat nach imapd.pem bzw pop3d.pem
mv /etc/courier/imapd.pem /etc/courier/imapd.pem.bkp
mv /etc/courier/pop3d.pem /etc/courier/pop3d.pem.bkp
ln -s /etc/ssl/certs/startssl/domain.tld.pem /etc/courier/imapd.pem
ln -s /etc/ssl/certs/startssl/domain.tld.pem /etc/courier/pop3d.pem

# neu starten
/etc/init.d/courier-imap-ssl stop 
/etc/init.d/courier-imap-ssl start
/etc/init.d/courier-pop-ssl stop
/etc/init.d/courier-pop-ssl start


# fuer webmin eintragen
nano /etc/webmin/miniserv.conf

# dort den eintrag keyfile auskommentieren und stattdessen eintragen:
keyfile=/etc/ssl/certs/startssl/domain.tld.pem

# und neu starten
/etc/init.d/webmin restart


# f&uuml;r ispConfig auf domain.tld:81 einbinden
nano /root/ispconfig/httpd/conf/httpd.conf

# dort auskommentieren
##SSLCertificateFile /root/ispconfig/httpd/conf/ssl.crt/server.crt
##SSLCertificateKeyFile /root/ispconfig/httpd/conf/ssl.key/server.key
ggf. auch #SSLCertificateChainFile und #SSLCACertificateFile

# und stattdessen eintragen:
SSLCertificateFile /etc/ssl/certs/startssl/domain.tld.net.crt
SSLCertificateKeyFile /etc/ssl/private/domain.tld.net.key
SSLCertificateChainFile /etc/ssl/certs/startssl/startssl.chain.class1.server.crt</pre>
<pre>

# neu starten
/etc/init.d/ispconfig_server restart


# f&uuml;r den Apache des betreffenden vhosts in dessen conf gleichermassen eintragen
SSLEngine on
SSLCertificateFile /etc/ssl/certs/startssl/domain.tld.net.crt
SSLCertificateKeyFile /etc/ssl/private/domain.tld.net.key
SSLCertificateChainFile /etc/ssl/certs/startssl/startssl.sub.class1.server.ca.crt

# neu starten
/etc/init.d/apache2 restart


# f&uuml;r postfix
mkdir -p /etc/postfix/ssl/startssl_cert
ln -s /etc/ssl/certs/startssl/domain.tld.crt /etc/postfix/ssl/startssl_cert/domain.tld.crt
ln -s /etc/ssl/certs/startssl/domain.tld.key /etc/postfix/ssl/startssl_cert/domain.tld.key
# 1 Zeile!
ln -s /etc/ssl/certs/startssl/startssl.chain.class1.server.crt 
/etc/postfix/ssl/startssl_cert/startssl.chain.class1.server.crt

# postfix' main.cf editieren und darin einf&uuml;gen bzw. anpassen:
nano /etc/postfix/main.cf

#TLS Support
## smtpd
smtpd_tls_auth_only = no
smtpd_use_tls = yes

# eigener Key
smtpd_tls_key_file = /etc/postfix/ssl/startssl_cert/domain.tld.key
# eigenes Certificate
smtpd_tls_cert_file = /etc/postfix/ssl/startssl_cert/domain.tld.crt
# public der Certificate Authority
smtpd_tls_CAfile = /etc/postfix/ssl/startssl_cert/startssl.chain.class1.server.crt

smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

##smtp
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes

<strong>update:</strong>

# fuer dovecot (2.x):
nano /etc/dovecot/local.conf

ssl_cert = &lt;/etc/ssl/certs/startssl/domain.tld.crt
ssl_key = &lt;/etc/ssl/certs/startssl/domain.tld.key
ssl_ca = &lt;/etc/ssl/certs/startssl/startssl.chain.class1.server.crt

#fuer nrpe, bei mir icinga-nrpe-server

nano /etc/icinga-nrpe/nrpe.cfg

cert_file=/etc/ssl/certs/startssl/domain.tld.crt
cacert_file=/etc/ssl/certs/startssl/startssl.chain.class1.server.crt
privatekey_file=/etc/ssl/certs/startssl/domain.tld.key
<br type="_moz" />
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p></pre> 
            </div>
        </content>
        <dc:subject>courier</dc:subject>
<dc:subject>dovecot</dc:subject>
<dc:subject>https</dc:subject>
<dc:subject>imap</dc:subject>
<dc:subject>mailserver</dc:subject>
<dc:subject>pop3</dc:subject>
<dc:subject>postfix</dc:subject>
<dc:subject>ssl</dc:subject>
<dc:subject>startssl</dc:subject>
<dc:subject>webmin</dc:subject>
<dc:subject>webserver</dc:subject>
<dc:subject>zertifikat</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/80-courier,-dovecot,-sieve,-push-mail.html" rel="alternate" title="courier, dovecot, sieve, push mail " />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-01-23T11:34:48Z</published>
        <updated>2012-02-05T15:19:34Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=80</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=80</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/80-guid.html</id>
        <title type="html">courier, dovecot, sieve, push mail </title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Courier tat seine Arbeit an sich wunderbar, aber in der Integration von desktop- und mobilem Mailabruf stand es mir dann doch im Wege. Ich wollte</p>
<ul>
    <li>mail-Sortierung und -filterung auf dem Server</li>
    <li>dazu gerne das sieve-Addon zu ThunderBird nutzen</li>
    <li>push-mail f&uuml;r k-9 mail auf meinem android verlaesslich und doch batterieschonend einrichten</li>
</ul>
<p>Das sprach f&uuml;r einen Wechsel von Courier zu dovecot. Dabei habe ich auf debian oldstable (Lenny) einige Varianten durchprobiert.</p>
<p>Ein paar hilfreiche WebSeiten vorweg, <a target="_blank" href="http://wiki.dovecot.org/Migration">Migration to Dovecot (1.0)</a>, <a target="_blank" href="http://wiki.dovecot.org/Migration/Courier">Courier to Dovecot</a>&#160;</p>
<p><strong>courier -&gt; dovecot 1.0</strong></p>
<p>Der erste Anlauf blieb geradewegs im Rahmen des in der Distribution enthaltenen:</p>
<p>apt-get install dovecot-imapd dovecot-pop3d<br />
dovecot --version &#160;(1.0.15-2.3+lenny1)</p>
<p>Weiter, nach Ma&szlig;gabe des dovecot-Wiki, mit dem Script zur Migration der Daten</p>
<p>cd /usr/local/bin<br />
mkdir dovecot-mig<br />
cd dovecot-mig/<br />
wget http://www.dovecot.org/tools/courier-dovecot-migrate-1.0.pl<br />
./courier-dovecot-migrate-1.0.pl --recursive --convert /home</p>
<p>Und zur Dovecot - Konfiguration:</p>
<p>F&uuml;r SSL bietet dovecot.conf viele Felder aber ich wollte einfach das auch f&uuml;r <a target="_blank" href="http://blog.dreckhaen.de/archives/32-Zertifikate-fuer-apache,-courier,-webmin,-postfix-einbinden.html">Courier eingesetzte chained certificate</a>&#160;weiterverwenden, ging so:</p>
<p>joe dovecot.conf</p>
<p># chained certificate doppelt eintragen<br />
ssl_cert_file = /etc/ssl/certs/startssl/mail.domain.tld.pem<br />
ssl_key_file = /etc/ssl/certs/startssl/mail.domain.tld.pem</p>
<p># dovecot 1.0 lauscht so an IPv4 und IPv6&#160;<br />
listen = [::]&#160;</p>
<p># Pfad zum maildir<br />
mail_location = maildir:~/Maildir</p>
<p># namespace wie courier<br />
namespace private {<br />
&#160; prefix = INBOX.<br />
&#160; separator = .<br />
&#160; inbox = yes&#160;<br />
}</p>
<p>dovecot neu starten:</p>
<p>/etc/init.d/dovecot restart</p>
<p>Ergebnis? Beim ersten start des MUA (Thunderbird) gab es einen Wald von Messageboxen und Thunderbird war eine Weile beschaeftigt, Mails zu synchronisieren. Ansonsten gings soweit ohne Drama, nur das Mail-filtern wollte nicht.</p>
<p>&#160;</p>
<p><strong>courier -&gt; dovecot 1.2</strong></p>
<p>Im zweiten Anlauf habe ich, auf einem anderen server, die in den backports vorgehaltene Version dovecot 1.2 installiert:</p>
<p># backports in sources.list eintragen<br />
joe /etc/apt/sources.list<br />
deb http://www.backports.org/debian lenny-backports main contrib non-free</p>
<p># und der key dazu, sonst nervt apt-get bei jedem Aufruf<br />
sudo wget -O - http://backports.org/debian/archive.key | sudo apt-key add -<br />
sudo apt-get update<br />
sudo apt-get -t lenny-backports install dovecot-common dovecot-pop3d dovecot-imapd</p>
<p>&#160;</p>
<p>Weiter, nach Ma&szlig;gabe des dovecot-Wiki, mit dem Script zur Migration der Daten in der version fuer dovecot 1.1+</p>
<p>cd /usr/local/bin<br />
mkdir dovecot-mig<br />
cd dovecot-mig/<br />
wget http://www.dovecot.org/tools/courier-dovecot-migrate.pl<br />
./courier-dovecot-migrate.pl --recursive --convert /home</p>
<p>&#160;</p>
<p># die Anpassungen der Konfig<br />
joe /etc/dovecot/dovecot.conf</p>
<p># managagesieve und lda bringen die Mailsortierung auf dem server zuwege<br />
protocols = imap pop3 pop3s imaps managesieve lda</p>
<p># sowohl auf IPv4 wie IPv6 lauschen<br />
listen = *, [::]&#160;</p>
<p># im default verbietet dovecot Klartext-Passworte, aber hier haette es manche Klienten ausgesperrt<br />
disable_plaintext_auth = no</p>
<p># chained cert doppelt eintragen<br />
ssl_cert_file = /etc/ssl/certs/startssl/mail.domain.tld.pem<br />
ssl_key_file = /etc/ssl/certs/startssl/mail.domain.tld.pem</p>
<p># lda ist der local delivery agent und stoesst das sieben und reindizieren der mails bei Auslieferung an<br />
protocol lda {<br />
postmaster_address = master@server.domain<br />
mail_plugins = sieve<br />
}</p>
<p># sieve_dir ist das Verzeichnis, in dem Filterscripte abgelegt werden. unter dovecot 1.2 ist deren Name beliebig<br />
plugin {<br />
sieve = ~/.dovecot.sieve<br />
sieve_dir = ~/mails/sieve<br />
}</p>
<p>Konfig speichern und dovecot neu starten</p>
<p>/etc/init.d/dovecot restart</p>
<p>Damit der lda deliver nun auch benutzt wird, muss er postfix bekannt gemacht werden:</p>
<p>joe&#160;/etc/postfix/main.cf</p>
<div>mailbox_command = /usr/lib/dovecot/deliver</div>
<div>&#160;</div>
<div>Speichern und geanderte Konfig laden:</div>
<div>/etc/init.d/postfix reload</div>
<p>Auch hier gab es mit Thunderbird zuerst mal Messageboxen und Resynchronisierung, aber dann liessen sich zur Belohnung Filterregeln f&uuml;r's serverseitige Filtern aus Thunderbird heraus editieren und es ging auch.</p>
<p><br />
<strong>&#160;dovecot 1.2 -&gt; dovecot 2.0</strong></p>
<p>den Anstoss f&uuml;r dieses Upgrade gab ein <a target="_blank" href="https://peterkieser.com/2011/03/25/androids-k-9-mail-battery-life-and-dovecots-push-imap/">Blog-Artikel von Peter Kieser</a>&#160;mit der Argumentation:</p>
<ul>
    <li>push funktioniert auf IMAP, indem zwischen dem Client und dem Server die Verbindung IDLE offengehalten wird. Alle paar Minuten werden &quot;OK Still here&quot;-Nachrichten ausgetauscht.</li>
    <li>Wenn das geschieht, reaktiviert Android eine reihe ruhende Netzwerk-Funktionen und die ziehen Strom, je h&auml;ufiger das geschieht, je mehr leidet die Batterielaufzeit.</li>
    <li>K-9 hat als default einen refresh alle 24 Minuten, dovecot aber alle 2 Minuten.</li>
    <li>mit dovecot 1.2 laesst sich daran per Config nichts &auml;ndern, Dovecot 2.0 hat dagegen einen Parameter&#160;<strong>imap_idle_notify_interval</strong>&#160;</li>
</ul>
<p>Dovecot 2.0 gibt es f&uuml;r Lenny als <a target="_blank" href="http://wiki2.dovecot.org/PrebuiltBinaries">Prebuilt Binary</a>, <a target="_blank" href="http://wiki2.dovecot.org/Upgrading/2.0">Upgrading Dovecot v1.2 to v2.0</a>&#160;im dovecot-wiki hilft auch weiter.<br />
Als erstes /etc/dovecot/dovecot.conf in ein backup sichern, so dass im weiteren nichts verloren geht, auch wenn man im install die dovecot.conf durch die neue Version ersetzen laesst!</p>
<p>cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.1-2</p>
<p>&#160;</p>
<div># apt sources.list erweitern<br />
joe /etc/apt/sources.list</div>
<div>&#160;</div>
<div># lenny is oldstable</div>
<div>deb http://xi.rename-it.nl/debian/ oldstable-auto/dovecot-2.0 main</div>
<div><br />
# speichern, dann key besorgen<br />
wget -O - http://xi.rename-it.nl/debian/archive.key | apt-key add -</div>
<div>&#160;</div>
<div># und dovecot 2 installieren<br />
apt-get update &amp;&amp; apt-get upgrade</div>
<div>apt-get install dovecot-imapd dovecot-pop3d dovecot-managesieved</div>
<p>&#160;</p>
<p># die Konfigurationsdateien sehen f&uuml;r dovecot 2.0 &#160;einiges anders aus, die in dovecot 1.2 schon sehr umfangreiche dovecot.conf ist nun viel kuerzer und inkludiert stattdessen Konfigurationsdateien aus einem gesonderten Verzeichnis. Und optional eine local.conf, die ich mit diesen Eintr&auml;gen angelegt habe:</p>
<p>&#160;</p>
<div># /etc/dovecot/local.conf<br />
mail_location = maildir:~/Maildir</div>
<div>namespace {</div>
<div>&#160; inbox = yes</div>
<div>&#160; location =&#160;</div>
<div>&#160; prefix = INBOX.</div>
<div>&#160; separator = .</div>
<div>&#160; type = private</div>
<div>}</div>
<div>passdb {</div>
<div>&#160; driver = pam</div>
<div>}</div>
<div>plugin {</div>
<div>&#160; sieve = ~/.dovecot.sieve</div>
<div>&#160; sieve_dir = ~/sieve</div>
<div>}</div>
<div>protocols = &quot; imap pop3 sieve &quot;</div>
<div>ssl_cert = &lt;/etc/ssl/certs/startssl/mail.domain.tld.crt</div>
<div>ssl_key = &lt;/etc/ssl/certs/startssl/mail.domain.tld.key</div>
<div>ssl_ca = &lt;/etc/ssl/certs/startssl/startssl.chain.class1.server.crt</div>
<div>&#160;</div>
<div>
<div>service managesieve-login {</div>
<div>&#160; inet_listener sieve {</div>
<div>&#160; &#160; port = 4190</div>
<div>&#160; }</div>
<div>&#160; inet_listener sieve_deprecated {</div>
<div>&#160; &#160; port = 2000</div>
<div>&#160; }</div>
<div>}</div>
<div>&#160;</div>
</div>
<div>userdb {</div>
<div>&#160; driver = passwd</div>
<div>}</div>
<div>protocol imap {</div>
<div>&#160; imap_idle_notify_interval = 29 mins</div>
<div>&#160; mail_max_userip_connections = 60</div>
<div>}</div>
<div>&#160;</div>
<div>protocol lda {</div>
<div>&#160; postmaster_address = postmaster@datenwusel-hosting.de</div>
<div>&#160; mail_plugins = sieve</div>
<div>&#160; log_path = /var/log/dovecot/deliver.log</div>
<div>&#160; info_log_path = /var/log/dovecot/deliver-info.log</div>
<div>}</div>
<div>disable_plaintext_auth = no</div>
<div>auth_cache_size = 5M</div>
<div>log_timestamp = &quot;%Y-%m-%d %H:%M:%S &quot;</div>
<div>&#160;</div>
<div>Bei der Gelegenheit habe ich auch das courier-style - .pem beurlaubt und ssl key, cert, ca einzeln eingebunden. <a target="_blank" href="http://blog.dreckhaen.de/archives/32-Zertifikate-fuer-apache,-courier,-webmin,-postfix-einbinden.html">Mehr dazu hier</a>.</div>
<div>Anschliessend dovecot neu starten und dann in /etc/postfix/main.cf eine kleine &Auml;nderung vornehmen:</div>
<div>mailbox_command = /usr/lib/dovecot/dovecot-lda -f &quot;$SENDER&quot; -a &quot;$RECIPIENT&quot;</div>
<div>&#160;</div>
<div>Ich musste auch den Namen der Datei mit den Filterregeln umbenennen, da nur noch Dateien mit der extension .sieve interpretiert werden.</div>
<div>&#160;</div>
<div><strong>sieve error log</strong></div>
<p>Wenn der lda bei der Abarbeitung des sieve-scriptes einen Fehler feststellt, etwa wg eines Tippfehlers,&#160;einen Ordner nicht findet, schreibt er eine Fehlermeldung in ~/.dovecot.sieve.log&#160;</p>
<p><strong>fail2ban - Regel f&uuml;r dovecot</strong></p>
<p>Auch hierzu wird man im <a target="_blank" href="http://wiki.dovecot.org/HowTo/Fail2Ban">dovecot-wiki</a> f&uuml;ndig.</p>
<p>&#160;</p>
<p><strong>push mail und (android-app) juice defender</strong></p>
<p>Die beiden stehen sich schon im Weg,&#160;<a target="_blank" href="http://www.juicedefender.com/reference/">juice defender</a>&#160;erzielt seine&#160;<a target="_blank" href="http://www.android-hilfe.de/tools/148154-push-mails-empfangen-trotz-juicedefender.html">laufzeitverl&auml;ngernden</a>&#160;<a href="http://androidforums.com/samsung-galaxy-s2-international/383049-juice-defender-push-email-battery.html">Wirkungen</a>&#160;nicht zuletzt, indem es die Datenverbindung des smartPhone nur periodisch aktiviert. Mit den default-Einstellungen hatte es bei mir schon merklich was bewirkt, aber der push mail zuliebe habe ich es deaktiviert.</p>
<p>&#160;</p>
<p><strong>Zielkonflikt zwischen sieve und push-imap</strong></p>
<p>Quasi als Schlussbemerkung hier, warum ich nach erfolgreicher Migration, upgrades, Konfiguration doch nicht ganz zufrieden wurde:</p>
<ul>
    <li>sieve unterstuetzt nun serverseitig mein Mail-Ablage-Modell eines weitverzweigten hierarchischen Ordnerbaums mit deutlich &gt; 100 systematisch/thematischen Ordnern. Ich kann von verschiedenen Orten (desktop, smartPhone, fremder Rechner) und MUA (ThunderBird, K-9, WebMail) darauf zugreifen und finde alles sortiert.</li>
    <li>imap-push zwischen dovecot (2.0) und k-9 funzt an sich auch wunderbar und mit dem auf 24//29 Minuten gestreckten Refresh-Interval auch halbwegs batterieschonend.</li>
    <li><strong>Aber</strong>: imap-push h&auml;lt je &quot;push-aktivem&quot; Ordner eine imap-idle - Verbindung offen. Ein anderes Model (nur eine Verbindung zwischen Client und Server bleibt idle offen, notify &uuml;bergibt den Pfad zum aktualisierten Ordner) ist in der Mache, aber derzeit eben Zukunftsmusik. Das heisst konkret: mit 2, 3, 5 aktiven Ordnern ist alles bene, mit 127 h&auml;ngt und klemmt es an allen Enden.</li>
    <li>mein Mail-Ablage-Modell dient dem Zweck, deduktiv/systematisch alte Mails wiederzufinden, imap-push dient dem Zweck, neue Mails sofort annonciert zu bekommen. Meine Wunschvorstellung war, dass k-9 und ThunderBird mir '''pling!''' sofort die neue Mail an ihrem systematischen Ort vor die Nase halten. Mit dem derzeitigen Stand der Protokolle geht das (bei vertretbarem Energieaufwand des smartPhone) aber nicht zusammen.</li>
    <li>meine Loesung ist daf&uuml;r bis auf weiteres:<strong> <br />
    mobil: je ein account je Nutzung</strong>.
    <ul>
        <li>Ein Mail-account h&auml;lt die hierarchische Ordnerliste, hier gibt es kein imap-push und keine regelm&auml;ssige Synchronisierung, aktualisiert wird also nur bei Zugriff, und nur auf dem je gew&uuml;nschten Pfad.</li>
        <li>Ein zweiter Mail-Account bekommt per .forward die selben neuen Mails zugestellt, alles unsortiert in die INBOX. Push macht sein Ding und das macht es gut. Wenn ich wirklich zu der neuen Mail den Kontext der vorigen brauche, kann ich ja auf dem anderen Konto nachsehen.</li>
    </ul>
    </li>
</ul>
<p><b><br />
</b></p>
<p><b><br />
</b></p> 
            </div>
        </content>
        <dc:subject>android</dc:subject>
<dc:subject>courier</dc:subject>
<dc:subject>dovecot</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>mail</dc:subject>
<dc:subject>mailserver</dc:subject>
<dc:subject>sieve</dc:subject>
<dc:subject>thunderbird</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/85-tightvnc-statt-aufstehen.html" rel="alternate" title="tightvnc statt aufstehen" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-02-03T14:55:22Z</published>
        <updated>2012-02-03T14:55:22Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=85</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=85</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/85-guid.html</id>
        <title type="html">tightvnc statt aufstehen</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Oft ist es ja nur der Rechner in der anderen Ecke des Lab, dessen desktop ich mal eben vor mir sehen m&ouml;chte, und lieber nicht hin&uuml;bergehen. Aber es funktioniert im wesentlichen ganz genau so mit einer Kiste, die hunderte Kilometer entfernt ist: eben mal vnc aufmachen.</p>
<p>Ich bin da, nach einigen Versuchen, mal auf <a target="_blank" href="http://www.tightvnc.com/">tightvnc</a>&#160;gestossen, der sich flink installieren und einrichten l&auml;sst und prima mit dem <a target="_blank" href="http://kde.org/applications/internet/krdc/">kdrc</a> harmoniert. Und tightvnc laesst sich klaglos durch einnen <a target="_blank" href="http://www.tjansson.dk/?p=49">ssh-Tunnel</a> schicken, und das beruhigt schon.&#160;</p>
<p>Ich gehe hier mal davon aus, dass zu dem entfernten Rechner ohnehin eine ssh-Verbindung besteht und Passworte dank <a target="_blank" href="http://www.debian-administration.org/articles/530">authentification keys</a> kein Thema sind.</p>
<p>Auf dem entfernten Rechner ist tightvnc schnell installiert, mit debian reicht ein</p>
<p>apt-get install tightvncserver &#160;(als root)</p>
<p>und dann startet man den server zum initialisieren <u>als der user</u>, mit dem man auf dem entfernten Rechner aktiv sein will.&#160;</p>
<p>vncserver</p>
<p>Man darf/muss ein Passwort festlegen, notieren! - man wird bei jeder Verbindung danach gefragt werden. Erstmal fertig.<br />
Um jetzt konkret eine Session zu &ouml;ffnen, gebe ich, als user, auf der console des entfernten Rechners</p>
<p>tightvncserver -nolisten tcp -localhost -geometry 1152x864 -nevershared :2<br />
und kontrolliere den Erfolg mit<br />
ps aux|grep vnc</p>
<p>Xtightvnc :2 -desktop X -auth /home/user/.Xauthority -geometry 1152x864 -depth 24 -rfbwait 120000 -rfbauth /home/user/.vnc/passwd -rfbport 5902 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb -nevershared -nolisten tcp -localhost :2</p>
<p>der rfbport (5902) und die Nummer des desktops (:2) sind die beiden Daten, die ich in dieser Ausgabe kontrolliere, dann bin ich mit dem Server soweit fertig und wechsele zu einer Shell des lokalen Rechners, auch hier als passender user.</p>
<p>krdc vnc:/127.0.0.1:2 &amp; ssh user@host.domain.tld -N -C -L 5902:127.0.0.1:5902</p>
<p>und pling &ouml;ffnet sich der kdrc mit der Passwortabfrage und dann baut sich der entfernte Desktop auf. Bei langameren Verbindungen (dsl rauf und schmales dsl runter) vereinfacht es die Maussteuerung, wenn man im krdc oben &quot;Local Cursor&quot; aktiviert.&#160;</p> 
            </div>
        </content>
        <dc:subject>debian</dc:subject>
<dc:subject>ssh</dc:subject>
<dc:subject>vnc</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/84-IPv6-Adresse-fuer-ausgehende-Verbindungen-beeinflussen.html" rel="alternate" title="IPv6 - Adresse für ausgehende Verbindungen beeinflussen" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-02-02T12:23:50Z</published>
        <updated>2012-02-02T12:37:39Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=84</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=84</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/84-guid.html</id>
        <title type="html">IPv6 - Adresse für ausgehende Verbindungen beeinflussen</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Mit IPv6 sind Adressen nun nicht eben knapp und ein interface kann etliche globale IPs haben - wie kann man Einfluss darauf nehmen, welche davon fuer ausgehende Verbindungen genutzt wird?</p>
<p>Ich fand ein <a target="_blank" href="http://www.davidc.net/networking/ipv6-source-address-selection-linux">n&uuml;tzliche Beschreibung</a> der Auswahl, zwei Infos daraus waren mir n&uuml;tzlich:</p>
<p>- Wenn mehrere globale Adressen alle anderen Auswahlkriterien bestanden haben, nimmt Linux die zuletzt hinzugef&uuml;gte.<br />
- Man kann bestimmte Adressen als &quot;deprecated&quot; markieren, so dass sie bei der Auswahl nicht ber&uuml;cksichtigt werden.<br />
ip -6 addr change 2001:db8:F00::BA2/128 dev eth0 preferred_lft 0</p> 
            </div>
        </content>
        <dc:subject>ipv6</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>network</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/81-Thunderbird-und-sieve.html" rel="alternate" title="Thunderbird und sieve" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-01-29T02:09:55Z</published>
        <updated>2012-01-29T12:45:58Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=81</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=81</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/81-guid.html</id>
        <title type="html">Thunderbird und sieve</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;<strong>ThunderBird zeigt mit sieve in Unterordner einsortierte Mails nicht mehr zuverlaessig an</strong></p>
<p>Eine neue mail ist von einem Filter nach dings/bums/ged&ouml;ns sortiert worden: der Ordner wird fett dargestellt, in Klammern die Anzahl ungelesener Mails darin. Nie ein Problem mit thunderBirds eigenen Message Filtern. Aber nun, mit Sieve, bekomme ich die Anzeige oft erst, wenn ich den betreffenden Ordner mit der Maus anklicke, &ouml;ffne. Google findet mir nur einen&#160;<a target="_blank" href="http://lists.andrew.cmu.edu/pipermail/info-cyrus/2009-October/031825.html">vergleichbaren Report</a>, dort mit cyrus sieve.&#160;<br />
Ganz am Ende des Threads der Hinweis '<em>I suppose you've already set Thunderbird to check for new mails in all&#160;IMAP subfolders? &quot;Preferences-&gt;Advanced-&gt;Config&#160;Editor-&gt;mail.check_all_imap_folders_for_new&quot;?</em>'&#160;<br />
Bei mir stand da&#160;<em>false</em>, nun in&#160;<em>true</em>&#160;ge&auml;ndert.&#160;<br />
Scheint geholfen zu haben.</p>
<p><strong>ThunderBirds Filterregeln in sieve-script &uuml;bersetzen</strong></p>
<p>Bei ausgedehnter Ordnerstruktur und entsprechend viel Filterregeln viel Arbeit, bislang vor mir hergeschoben. Sie stehen jeweils &#160;in ~/.icedove/$profileName/ImapMail/$accountName/msgFilterRules.dat Jetzt finde ich&#160;<a target="_blank" href="http://www.folgmann.de/de/webapps/mozilla2sieve.html">Regel&uuml;bersetzer</a>&#160;als&#160;<a target="_blank" href="http://blog.virtec.org/2009/11/online-convert-thunderbird-message-filters-to-sieve-script/">Online-Dienst</a>. Von der Art mag es noch mehr geben; man kann ihnen aber auch nicht unbesehen trauen. Der eine &uuml;bersetzte in brauchbare Regeln, f&uuml;gte aber nicht sichtbare Zeichen ein, die ich mit Suchen/Ersetzen in einem guten Editor bereinigen musste. Der andere schmi&szlig; gar gleich eine uncaught exception...</p>
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>mail</dc:subject>
<dc:subject>mailserver</dc:subject>
<dc:subject>sieve</dc:subject>
<dc:subject>thunderbird</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/82-denyhosts-sync-error.html" rel="alternate" title="denyhosts sync error" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-01-29T12:11:31Z</published>
        <updated>2012-01-29T12:11:31Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=82</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=82</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/82-guid.html</id>
        <title type="html">denyhosts sync error</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Nach einem dist-upgrade <a target="_blank" href="http://www.howtoforge.de/anleitung/linux/upgrade-debian-lenny-squeeze-kurz-anleitung/">von lenny zu squeeze</a> auf meinem root server stelle ich fest, dass denyhosts nicht mehr richtig funktioniert.&#160;<br />
Im denyhosts.log findet sich die Zeile:</p>
<p>sync &#160; &#160; &#160; &#160;: ERROR &#160; &#160;long int exceeds XML-RPC limits</p>
<p>und dem folgt eine Traceback. Es ist f&uuml;r debian ein <a target="_blank" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597956">bekannter bug</a>&#160;und anscheinend auch <a target="_blank" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597956">gefixt und archivier</a>t. <br />
&quot;<em>Found in version denyhosts/2.6-6.&#160;Fixed in version denyhosts/2.6-10.</em>&quot; Na super! Squeeze kommt mit 2.6.7 und da ist es nicht gefixt.&#160;<br />
Stattdessen fand ich in den ubuntu-Foren einen <a target="_blank" href="http://ubuntuforums.org/showthread.php?t=1583328">hilfreichen Beitrag</a>&#160;mit einer filigranen &Auml;nderung an der auch im Trackback benannten&#160;/usr/share/denyhosts/DenyHosts/sync.py :</p>
<p>Die hat, bei mir auf Zeile 55/56,&#160;<br />
fp = open(os.path.join(self.__work_dir,&#160;SYNC_TIMESTAMP), &quot;a&quot;) &#160; &#160; und das &auml;ndern wir (als root) in:<br />
fp = open(os.path.join(self.__work_dir, SYNC_TIMESTAMP), &quot;w&quot;)</p>
<p>Dann noch das misshandelte Timestamp resetten:</p>
<p>date +%s &gt; /var/lib/denyhosts/sync-timestamp</p>
<p>und fertig!&#160;</p>
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>bug</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>denyhosts</dc:subject>
<dc:subject>phython</dc:subject>
<dc:subject>squeeze</dc:subject>
<dc:subject>ubuntu</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/40-command-line-Schnipsel.html" rel="alternate" title="command line - Schnipsel" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-03-04T15:00:53Z</published>
        <updated>2012-01-20T10:55:23Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=40</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/40-guid.html</id>
        <title type="html">command line - Schnipsel</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Kleinigkeiten, die ich immer wieder nachsuchen muss:&#160;</p>
<p>&#160;</p>
<p><font size="1"><strong>Recursively list all files '.forward' containing string 'bin'</strong></font><br />
find -type f -name '.forward' -exec grep -H -n 'bin' {} \;</p>
<p><span style="font-size: smaller; "><strong>in eine Logdatei protokollieren, was ein Programm so treibt:</strong></span><br />
<span style="font-size: smaller; ">strace -e trace=open -o logfile.log ./xyz </span></p>
<p><strong><font size="1">umount /dev/sdc1 scheitert, weil irgendeine Datei offen ist, wer hat sie? &#160;<br />
</font></strong>fuser -m /dev/sdc1</p>
<p><font size="1"><strong>Recursively chmod only directories</strong></font><br />
find . -type d -exec chmod 755 {} \;</p>
<p><font size="1"><strong>Recursively chmod only files</strong></font><br />
find . -type f -exec chmod 644 {} \;</p>
<p><font size="1"><strong>Recursively chmod only files with extension .php</strong></font><br />
find . -type f -name '*.php' -exec chmod 644 {} \;</p>
<p><strong><span style="font-size: smaller; ">Recursively find all files &gt; some size</span></strong><br />
find . -type f -size +10000000k -exec ls -lh {} \;</p>
<p><strong><span style="font-size: smaller; ">Recursively find all files &gt; some size named like something and delete<br />
</span></strong>find . -type f -size +100000k -name access.log -exec rm -i {} \;<strong><span style="font-size: smaller; "><br type="_moz" />
</span></strong></p>
<p><font size="1"><strong>Password generator</strong></font><br />
openssl rand -base64 32|head -c 12;echo</p>
<p><font size="1"><strong>alle an einem best Datum geaenderten Dateien auflisten:</strong></font><br />
ls -AlturR --time-style=long-iso &#160;| grep ^.*2004\-03\-19.2.* &gt;/home/dp/katalog_040319_2x:xx:xx.txt</p>
<p>&#160;</p>
<p><font size="1"><strong>Haeufigkeit bestimmter Eintraege in messages nach Tagen sortiert ausgeben<br />
</strong></font>grep DPT=1434 /var/log/messages &gt;/var/log/SQL.slammer.txt<br />
for i in 24 25 26 27 28; do j=`grep Jan\ $i SQL.slammer.txt -c`;echo $i, $j;done</p>
<p><strong><font size="1">user passwd fuer geschuetztes web-verzeichnis mit .htaccess anlegen<br />
</font></strong>htpasswd -b /usr/local/httpd/.htpasswd user pass&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/79-falsche-Fehler.html" rel="alternate" title="falsche Fehler" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2012-01-13T15:08:21Z</published>
        <updated>2012-01-16T14:26:32Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=79</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=79</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/79-guid.html</id>
        <title type="html">falsche Fehler</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Daran kann man sich dusselig suchen: eine Anwendung gibt einen kryptischen, sehr spezifisch klingenden Fehler aus. Aber es ist im Grunde etwas ganz anderes...</p>
<p><strong>VirtualBox</strong> lie&szlig; sich gerade bei mir &uuml;berhaupt nicht mehr starten,&#160;<strong>Failed to create the VirtualBox COM object</strong> war die Msg und in den details stand: VirtualBox Error - Callee RC:  NS_ERROR_FACTORY_NOT_REGISTERED (0x80040154)</p>
<p>Google liefert auf diese Fehlermeldung reichlich Hilferufe und Forenbeitr&auml;ge, mit oder ohne &quot;solved&quot;. &#160;Reichlich Gelegenheit, fruchtlos im System herumzuwerkeln - hier war das Problem n&auml;mlich schlicht: <strong>Festplatte absolut vollgeschrieben</strong>. Ein Backup-Laufwerk war nicht gemounted und so lief die kleine Systempartition voll.<br />
Ein weiteres Symptom war: Google <strong>Chrome</strong> startete nicht (ohne jegliche Fehlermeldung)</p>
<p>Eine komplett vollgeschrieben Systempartition kann in der Folge weitere &Uuml;berraschungen bewirken, apt-get etwa vermochte bei einem folgenden update nicht, fehlerfrei eine neue kernel-version zu installieren. Es sei nicht gen&uuml;gend Platz auf /tmp. und df listete /tmp als overflow und zu 100% belegt. siehe: /etc/init.d/mountoverflowtmp</p>
<p><a href="http://www.debian-administration.org/articles/627">What to do when the root partition is full</a>?</p> 
            </div>
        </content>
        <dc:subject>backup</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>vm</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/74-Tinnef-a-la-Microsoft-winmail.dat.html" rel="alternate" title="Tinnef a la Microsoft: winmail.dat" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-12-02T15:13:58Z</published>
        <updated>2011-12-22T10:52:54Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=74</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=74</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/74-guid.html</id>
        <title type="html">Tinnef a la Microsoft: winmail.dat</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Man bekommt diese Attachments von Leuten, die ihre Mail mit outlook versenden, oben zwei Zeilen Text, dass alles wichtige in dem attachten 'Word.doc steht und dann kein lesbares attachment sondern eine Datei winmail.dat, mit der ausser dem Sender selbst niemand etwas anfangen kann.</p>
<p>Das Format ist ein Microsoft-Standard (Oxymoron?) &#160;mit dem treffend gewaehlten Namen <strong>tnef</strong>. So, zu meiner Freude <a target="_blank" href="http://www.networkworld.com/columnists/2004/112904drinternet.html">kam ich jetzt mal</a> darauf, dass debian eine Antwort darauf in den repositories hat:<br />
<br />
apt-get install tnef<br />
tnef -f winmail.dat -C Zielverzeichnis --unix-paths --verbose</p>
<p>kl&auml;rt das Problem erstmal...&#160;<br />
Alternativ kann man auch einen Webdienst dazu bemuehen, etwa bei <a href="http://tud.at/php/tnef/">tud.at</a>, und sich die Dateien da auspacken lassen.<br />
Dann gibt es f&uuml;r Thunderbird/Icedove das <a href="https://addons.mozilla.org/de/thunderbird/addon/lookout/">Addon LookOut</a>, welches die Inhalte der winmail.dat wie zus&auml;tzliche attachments auflistet.</p>
<p>Den lieben Absender, der Outlook benutzt, sollte man bitten, seine Emails k&uuml;nftig nur noch im reinen Text Format zu versenden. Wie das geht, kann man bei&#160;<a target="_blank" href="http://support.microsoft.com/kb/278061">Microsoft</a>&#160;nachlesen.</p> 
            </div>
        </content>
        <dc:subject>convert</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>mail</dc:subject>
<dc:subject>microsoft</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/78-Umlaute-in-Dateinamen-bei-11.html" rel="alternate" title="Umlaute in Dateinamen bei 1&amp;1" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-12-12T16:57:28Z</published>
        <updated>2011-12-22T00:41:12Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=78</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=78</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/78-guid.html</id>
        <title type="html">Umlaute in Dateinamen bei 1&amp;1</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Das sch&ouml;ne an <a href="http://imgs.xkcd.com/comics/standards.png">Standards</a> ist ja, dass es soviele davon gibt... - also etwa Standards, wie die Umlaute des deutschen vercodete werden. Wer, wie ich, noch mit cp/m und 8.3-Dateinamen-Beschr&auml;nkungen aufgewachsen ist, kommt vielleicht gar nicht auf die Idee, Umlaute in einen Dateinamen zu schreiben. Aber der Rest der Menschheit hat da weniger Skrupel.</p>
<p>Auf dem eigenen Rechner und binnen des gleichen OS/familie sieht alles ok aus und scheint zu klappen. Aber x-platform drohen die Bauchklatscher.</p>
<p>Eine Klientin hatte sich auf einer Seite ein Bildchen mit H&auml;ngematte eingef&uuml;gt, und das Bild hiess auch genau so. Auf ihrem Windows - Laptop und mit ihrem GoLive schien das auch alles sch&ouml;n zu gehen, nur auf der www-Seite bei 1und1 war das Bild nicht zu sehen. Nachgeschaut per ftp und fireFtp zeigt den Umlaut in &quot;H&auml;ngematte.jpg&quot; auch klaglos im Listing der Dateien an. Aber jeder Versuch, die Datei zu loeschen, umzubenennen, zu verschieben scheitert mit 550, no such file.</p>
<p>1&amp;1 stellt seinen homepage-Kunden ja noch ein Tool, den WebSite Explorer zur Verf&uuml;gung. Darin nochmal versucht, der zeigt statt der Umlaute eine Raute mit Fragezeichen, r&ouml;delt eine Weile daran herum, aber dann gibt er sich &quot;es ist ein Fehler aufgetreten&quot; auch unverrichteter Dinge geschlagen. Nun schaden ein paar solche Dateileichen eigentllich nicht wirklich und st&ouml;ren in erster Linie nur meinen Ordnungssinn. Aber wenn der sich schon mal meldet...</p>
<p>Ok, so kriegt man die Dateileichen wieder weg: XP in einer vm starten, Netzwerklaufwerk verbinden, der Wizard fragt host (mit Protokoll eingeben!) und username ab, will noch das Passwort und &ouml;ffnet das ftp-Verzeichnis brav als Unterordner der Netzwerkverbindungen im Windows Dateiexplorer. Hier werden die Dateinamen nun ohne den Umlaut dargestellt, also &quot;Hngematte.jpg&quot;. Aber dieses schlechten Omens zum Trotz kann man hier die Dateien ohne Probleme ansprechen, wegmachen, was immer.</p>
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>ftp</dc:subject>
<dc:subject>umlaute</dc:subject>
<dc:subject>webserver</dc:subject>
<dc:subject>windows</dc:subject>
<dc:subject>xp</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/76-PHP-Code-in-Typo3-Seite,-die-zweite.html" rel="alternate" title="PHP Code in Typo3-Seite, die zweite" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-12-05T18:02:34Z</published>
        <updated>2011-12-06T01:59:44Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=76</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=76</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/76-guid.html</id>
        <title type="html">PHP Code in Typo3-Seite, die zweite</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <div>In einem <a target="_blank" href="http://blog.dreckhaen.de/archives/12-PHP-Code-in-Typo3-Seite.html">vorigen Beitrag</a> hatte ich zu dem Thema bereits etwas geschrieben, nun, mit aktuellerer Typo3-Version und mit TemplaVoila geht es etwas anders:&#160;<br />
&#160;</div>
<div>- im Template ein &lt;div id=&quot;EINDEUTIG&quot;&gt;&lt;/div&gt;</div>
<div>- Web/Template, oben rechts im Path:/ auf das Icon&#160;</div>
<div>- View DS/TO w&auml;hlen</div>
<div>- Icon TOTV, TemplaVoila w&auml;hlen</div>
<div>- Modify DS / TO und Dialog best&auml;tigen</div>
<div>- input [Enter new fieldname]: irgendwas (uniquen Ausdruck) eingeben, ADD klicken</div>
<div>- f&uuml;r Title, Mapping Instructions &#160;und Sample Data orientierendes eintragen</div>
<div>- f&uuml;r Element Preset &#160;TypoScript Object Path &#160;ausw&auml;hlen, ADD klicken</div>
<div>- Map klicken, das dedizierte div ausw&auml;hlen, Set klicken</div>
<div>- links im Baum Typoscript anklicken, im Input Object path lib.field_irgendwas, update klicken, save klicken</div>
<div>- Show xml klicken und kontrollieren, dass der TypoScriptObjectPath gesetzt ist</div>
<div>&#160;</div>
<div>und wenn das getan ist, kann man in Template Info/Modify Setup dort dran<br />
<span class="keyword2" style="color: rgb(0, 0, 204); font-family: monospace; line-height: 13px; white-space: nowrap; ">lib</span><span class="ts-operator" style="color: rgb(0, 0, 204); font-weight: bold; font-family: monospace; line-height: 13px; white-space: nowrap; ">.</span><span class="other" style="font-family: monospace; line-height: 13px; white-space: nowrap; ">field_irgendwas</span><span class="whitespace" style="font-family: monospace; line-height: 13px; white-space: nowrap; ">&#160;</span><span class="ts-operator" style="color: rgb(0, 0, 204); font-weight: bold; font-family: monospace; line-height: 13px; white-space: nowrap; ">=</span><span class="whitespace" style="font-family: monospace; line-height: 13px; white-space: nowrap; ">&#160;</span><span class="keyword ts-value" style="color: rgb(0, 0, 204); font-family: monospace; line-height: 13px; white-space: nowrap; ">PHP_SCRIPT_INT<br />
</span><span class="keyword2" style="color: rgb(0, 0, 204); font-family: monospace; line-height: 13px; white-space: nowrap; ">lib</span><span class="ts-operator" style="color: rgb(0, 0, 204); font-weight: bold; font-family: monospace; line-height: 13px; white-space: nowrap; ">.</span><span class="other" style="font-family: monospace; line-height: 13px; white-space: nowrap; ">field_irgendwas.file = fileadmin/pfad/scriptname.php</span></div> 
            </div>
        </content>
        <dc:subject>php</dc:subject>
<dc:subject>typo3</dc:subject>
<dc:subject>webserver</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/75-CMS-im-Vergleich.html" rel="alternate" title="CMS im Vergleich" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-12-02T15:40:56Z</published>
        <updated>2011-12-02T15:40:56Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=75</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=75</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/75-guid.html</id>
        <title type="html">CMS im Vergleich</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><strong><span style="font-size: small; "><span style="font-family: Tahoma; ">&#160;Typo3:</span></span></strong><br />
Beispielseiten <a target="_blank" href="http://datenwusel-hosting.de">Firmenseite</a>&#160;<a target="_blank" href="http://stechlinsee-Grundschule.de">Homepage einer Schule</a></p>
<p><strong>pro</strong>: <br />
- wenn man differenzierte Rechteverwaltung am Backend braucht, bekommt man mit typo3 ein starkes Tool.<br />
- update der Typo3-Sourcen geht in aller Regel schmerzlos und schnell<br />
- die M&ouml;glichkeit, ein Template aus einem umsichtig aufgebauten .html abzuleiten ist ein gro&szlig;er Vorzug.<br />
<strong>con</strong>:<br />
- das Backend ist, namentlich wenn man sich eine weile damit nicht besch&auml;ftigt hat, schon etwas unintuitiv und zur Anpassung der Templates muss man sich in eine eigene Skriptsprache eindenken.</p>
<p><strong><span style="font-family: Tahoma; "><span style="font-size: small; ">Joomla:</span></span></strong><br />
Beispielseiten <a target="_blank" href="http://kuschel-in.de">Portal einer Initiative</a>&#160;<a target="_blank" href="http://berliner.kuschelkalender.de">Kuschelpartys und Kuschelgruppen in Berlin</a><br />
<strong>pro: </strong><br />
- nach der Installation tummelt man sich in einer auf den ersten blick sehr grossen Auswahl an kostenlosen Templates und Modulen<br />
- Bearbeitungs- und Leserechte sind vielleicht nicht so differenziert wie in Typo3, aber doch schon recht vielf&auml;ltig<br />
- auch als Neuling bekommt man recht bald etwas lauff&auml;higes mit umfangreichen Funktionen auf die Seite<br />
<strong>con:</strong><br />
- sobald die W&uuml;nsche aber spezieller werden und &uuml;ber das verbreitete hinausgehen, ist das Angebot an Modulen etc. auf einmal gar nicht mehr so frei<br />
- stattdessen muss man fuer laufende Geb&uuml;hr Mitglied in einer Abennenten-Gruppe werden und das wird leicht zu einem Vendor-lockin der zweiten Art, denn Templates, Module, Plugins sind sehr versionsabhaengig und<br />
- Versionsupgrade von joomla-Installationen ist nicht trivial. Ok, eine frage des Standpunktes, man k&ouml;nnte das auch zu den Vorz&uuml;gen rechnen...</p>
<p><strong><span style="font-size: small; "><span style="font-family: Verdana; ">drupal:</span></span></strong><br />
Beispielseiten: <a target="_blank" href="http://www.raum-fuehler.de">Raumver&auml;nderung f&uuml;r Menschen in Ver&auml;nderungsprozessen</a><br />
pro:<br />
- nicht so &uuml;berladen wie joomla<br />
- die Integration der Administrationsfunktionen in's frontend macht viele Bearbeitungsvorg&auml;nge viel schneller<br />
- ausgehend von einem einfachen Beispieltemplate wie Zen ist man auch als Einstieger recht bald bei einem eigenen Template, was genau das macht, was man will...<br />
con:<br />
- die Rechtverwaltung ist allenfalls &quot;einfach&quot; zu nennen<br />
upgrade auf eine neue Version des CMS und eingehendere Sichtung des Umfeldes an Erweiterungen stehen noch aus...</p>
<p>&#160;</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/73-Strukturierten-Text-Freemind.html" rel="alternate" title="Strukturierten Text -&gt; Freemind" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-12-02T14:33:20Z</published>
        <updated>2011-12-02T14:33:20Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=73</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=73</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/73-guid.html</id>
        <title type="html">Strukturierten Text -&gt; Freemind</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Ein <a target="_blank" href="http://blog.dreckhaen.de/archives/47-MindMaps-Xmind-FreeMind.html">voriger Beitrag</a> behandelte Wege, eine Mindmap aus Xmind ins Freemind-Format zu bekommen, diesmal wollte ich einen strukturierten Text einlesen. Im Grunde eine Gliederung, bis auf die oberste &Uuml;berschrift - den root node der Mindmap - beginnt jede Zeile mit (mindestens) einem Tab. Zeilen mit einem Tab sind Unterpunkte der obersten &Uuml;berschrift, haben sie selbst auch Unterpunkte, stehen diese unter ihnen und die Unterpunkte haben alle einen Tab mehr als ihr Oberpunkt. Entsprechend weiter...&#160;</p>
<p>Das .mm - Format ist an sich sehr aehnlich, es ist ein XML, das binnen &lt;map&gt; &lt;/map&gt; die Struktur als inneinander eingenistete &lt;node /&gt; abbildet. Ein node hat die Properties CREATED, MODIFIED, ID, TEXT und optional POSITION. Eigentlich wundert es mich, dass Freemind und seine Derivate (Freeplane zB.) keinen Import von Text direkt anbieten. Aber ich fand ein kleines <a target="_blank" href="http://uwstopia.nl/blog/2007/10/text-to-freemind-released">Python-Tool</a>, dass mir die Umwandlung erledigte: <a target="_blank" href="http://uwstopia.nl/geek/projects/text-to-freemind/text-to-freemind.uws/">download</a></p> 
            </div>
        </content>
        <dc:subject>convert</dc:subject>
<dc:subject>freemind</dc:subject>
<dc:subject>mindmap</dc:subject>
<dc:subject>phython</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/72-Was-und-wo-speichert-KDE4-eigentlich-alles.html" rel="alternate" title="Was und wo speichert KDE4 eigentlich alles?" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-11-22T18:12:31Z</published>
        <updated>2011-11-22T19:02:01Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=72</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=72</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/72-guid.html</id>
        <title type="html">Was und wo speichert KDE4 eigentlich alles?</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;Und wie putze ich?</p>
<p>Also zuerst mal den Trash, wo der liegt, hatte ich in<a target="_blank" href="http://blog.dreckhaen.de/archives/31-The-trash-has-reached-its-maximum-size!.html"> einem fr&uuml;heren Beitrag</a> mal notiert. Dolphin hat den M&uuml;lleimer in der linken Spalte und nach Rechtsklick/Empty Trash ist das Verzeichnis auch wirklich leer. Was nicht heisst, das die Sachen da wirklich weg sind, wer low level die Festplatte untersucht, wird fast alles wiederfinden k&ouml;nnen.)</p>
<p>Ich hatte schon mal ein Programm KSweeper entdeckt und aus den debian-repositories installiert und laufen lassen, der <a title="mehr fand ich nicht!" target="_blank" href="http://docs.kde.org/stable/de/kdeutils/sweeper/index.html">Doku des Programmes</a> entnahm ich einen Hinweis, der mich zu <strong>/var/tmp/kdecache-<em>user </em></strong>f&uuml;hrte. Ok, da gibt es div. Dateien und Unterordner, etwa http/. Sweeper laufen lassen (im Abschnitt Browser war alles angehakt), im Subdir http/ nachgeschaut und die tausende von Dateien dort sind weiter vorhanden. Hm, da ist wohl noch Platz f&uuml;r Verbesserungen...</p>
<p>Immerhin, mit dem Pfad an der Hand zu Google und zu einem l&auml;ngeren und recht gut strukturierten Dokument gelangt, aus Ubuntu - Sicht aber das tut ihm keinen Abbruch: <a target="_blank" href="http://kubuntuforums.net/forums/index.php?topic=3090100.0">Privacy Cleanup 101</a>&#160;Das ist eine Menge Lesestoff. Einem der Links dort folgend finde ich <a href="http://igurublog.wordpress.com/downloads/script-kscrubber/">KScrubber</a>. Das kann man als .deb herunterladen und mit&#160;sudo dpkg -i kscrubber_1.2.8-1_all.deb installieren, bei mir monierte es unerfuellt Abhaengigkeiten, die ein <span style="font-family: 'Courier New'; ">apt-get install -f</span> dann loeste. KScrubber laeuft von der command line.</p>
<p>Da das Ziel zunaechst Forschung war, habe ich KScrubber mit&#160; <span style="font-family: 'Courier New'; ">sudo kscrubber --verbose --sim --clean|less</span> im schwatzhaften Simulationsmodus gestartet, less hilft, die umfangreichen Ausgaben zu lesen.</p>
<p>(wird fortgesetzt)</p> 
            </div>
        </content>
        <dc:subject>debian</dc:subject>
<dc:subject>kde</dc:subject>
<dc:subject>privacy</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/71-KeepassX-Konverter.html" rel="alternate" title="KeepassX Konverter" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-11-21T18:20:17Z</published>
        <updated>2011-11-22T13:42:05Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=71</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=71</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/71-guid.html</id>
        <title type="html">KeepassX Konverter</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>download: <a href="http://blog.dreckhaen.de/files/convert2keepass.03a.tar.gz">convert2keepass.03a.tar.gz</a></p>
<p>Die <strong>Ausgangslage</strong>: auf einer kleinen verschl&uuml;sselten Partition halte ich eine seit vielen Jahren gehegte Sammlung von mehr oder weniger geheimen Infos, in vorwiegend kleinen Textdateien. Und diese wollte ich in eine Keepass - Datenbank &uuml;berf&uuml;hren. Bei zusammen doch mehreren hundert Schnipseln war Handarbeit keine Option.</p>
<p>Die <strong>Zielanwendung</strong> ist <a href="http://www.keepassx.org/">KeepassX</a> (v.0.43), das ich mit&#160;sudo apt-get install keepassx aus den Debian repositories installiert habe. Bis auf das <a href="http://www.keepassx.org/images/kp_logo_main.png">Schnuller-Logo</a>, das leider auch als Icon verwandt wird, habe ich an der Anwendung wenig auszusetzen: klein, flottt, unaufdringliche Oberfl&auml;che und es gibt sie in Versionen f&uuml;r alle Betriebssysteme und Architekturen, die ich habe. Ich kann die unter Linux erstellte Datenbank auf Windows, auf dem Mac, ja auch auf meinem Androiden &ouml;ffnen, erg&auml;nzen, die ver&auml;nderte .kdb vom Handy wieder auf Linux zur&uuml;ckspielen, die Sicherheitsfeatures machen auch einen guten Eindruck.</p>
<p>KeepassX kann Daten exportieren - als gegliederte Textdatei oder als keepassx.xml - und importieren - keepassx.xml, kwallet.xml und PwManager-Datei. Da nur ein Format sowohl f&uuml;r Export als auch Import zur Verf&uuml;gung steht, war nicht lange zu &uuml;berlegen, welches Format ich f&uuml;r einen Konverter w&auml;hlen w&uuml;rde.</p>
<p>Es ist ein <strong>kleines Bash-Script</strong> geworden, das mit den Parametern QuellVerzeichnis zielVerzeichnis ZieldateiName aufgerufen wird und dann vom 'Quellverzeichnis abw&auml;rts durch alle Unterverzeichnisse alle Dateien sucht und eintr&auml;gt. Dabei wird der Titel des Eintrags aus dem Namen der Textdatei (ohne Extension) gebildet und der Inhalt der Datei wird in das Feld Comment geschrieben.</p>
<p>Das <strong>Ergebnis</strong> ist dann eine lange xml-Datei, die mit der Import-Funktion als eine Keepassx-db geladen werden kann. Die Sache ist frisch und Alpha, derzeit kann es</p>
<ul>
    <li>pr&uuml;ft auf taugliche Parameter, Schreibrechte im ZielVerzeichnis</li>
    <li>rekursive Bearbeitung, die Struktur in der Keepass-DB entspricht der Verzeichnisstruktur</li>
    <li>pr&uuml;ft mimeType der Dateien und bearbeitet nur text* und message*
    <ul>
        <li>ruft dazu file</li>
        <li>Texte, die von MacOS &lt;10 stammen, machen uU Probleme</li>
    </ul>
    </li>
    <li>ersetzt die f&uuml;r XML unvertr&auml;glichen Zeichen &amp;&lt;&gt;&quot;' und Zeilenenden durch html entities</li>
    <li>gibt Statistik &uuml;ber bearbeitete Dateien und Verzeichnisse aus</li>
    <li>schreibt f&uuml;r keepassX importierbares .xml und nennt dessen Dateipfad.</li>
</ul>
<p>&#160;</p>
<p>Um die damit erzeugten Datenbankeintr&auml;ge nicht als eigene .kdb zu importieren, sondern mit einer bereits bestehenden zu vereinen, muss man dann doch Hand anlegen: die bestehende kdb als .xml exportieren, die beiden xml in einem Editor zusammensetzen und neu importieren. Grade gemacht, funzt.</p> 
            </div>
        </content>
        <dc:subject>bash</dc:subject>
<dc:subject>convert</dc:subject>
<dc:subject>download</dc:subject>
<dc:subject>x-platform</dc:subject>
<dc:subject>xml</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/70-gtk-Anwendungen-sehen-in-KDE-so-haesslich-aus....html" rel="alternate" title="gtk-Anwendungen sehen in KDE so hässlich aus..." />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-11-17T00:10:31Z</published>
        <updated>2011-11-17T12:27:21Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=70</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=70</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/70-guid.html</id>
        <title type="html">gtk-Anwendungen sehen in KDE so hässlich aus...</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>&#160;und das kann doch nicht nur mich st&ouml;ren... Also wie bekomme ich Anwendungen aus dem Gnome-Reich wie Synaptics oder KompoZer oder die Mozillas dazu, mehr wie native KDE-Anwendungen auszusehen?</p>
<p>Google zeigte mir unter anderem <a target="_blank" href="http://digitizor.com/2009/09/20/a-complete-guide-to-firefox-integration-in-kubuntu/">diese</a> <a target="_blank" href="http://forums.debian.net/viewtopic.php?f=10&amp;t=54107">hilfreiche Seite</a>,&#160;wenn auch nicht alle der da erw&auml;hnten Pakete auffindbar waren, und bei mir auch nicht alles so funktionierte...</p>
<p>Der beste Tip war,&#160;kde-config-gtk-style zu installieren, dass dann als GTK Styles and Fonts in System Settings / Look &amp; Feel / Appearance ein Control einbindet, mit dem der Style, den GTK-Anwendungen benutzen, bestimmt und veraendert werden kann. qtcurve habe ich auch installiert und finde es, na sagen wir mal, &quot;schon besser&quot;.</p>
<p>Was mir aber Probleme machte und zerbrochen scheint ist&#160;gtk-qt-engine. Ich bin nicht ganz sicher, aber es mag auch eine Nebenwirkung dessen sein, was der (ebenfalls von diesem control angebotene) Button &quot;Install-scrollbar fix...&quot; anrichtet. Jedenfalls fand ich auf einmal die Scrollbars in Icedove und Iceweasel gan z unbenutzbar - im Hover wird der Scrollbar als ein grosses graues Rechteck &#160;gezeichnet, anliegende Buttons werden auch &uuml;berdeckt und es geht einfach gar nicht. Schlimmer noch: Icedove laesst sich nicht mehr richtig beenden, der Process bleibt im Hintergruind aktiv, frisst 100% CPU und geht erst mit einem ausdruecklichen kill.&#160;</p>
<p>Ich habe etwas suchen m&uuml;ssen, bis ich eine Beschreibung fand, was &quot;Install scrollbar fix...&quot; eigentlich macht, <a target="_blank" href="http://forums.mozillazine.org/viewtopic.php?t=404013">ein Forscher</a>&#160;fand:</p>
<blockquote>
<pre><p>I decided to go ahead and try it and it said it had done something in my Mozilla profile. <br />I checked there and as far as I can tell for now, it added the following in userChrome.css <br />and userContent.css in the Firefox default profile<br /> # The following four lines were added by KDE<br /> scrollbarbutton[sbattr=&quot;scrollbar-up-top&quot;] { display: -moz-box !important; }<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(46, 139, 87); font-family: Monaco, 'Andale Mono', 'Courier New', Courier, mono; font-size: 11px; line-height: 14px; " /> scrollbarbutton[sbattr=&quot;scrollbar-down-top&quot;] { display: none !important; }<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(46, 139, 87); font-family: Monaco, 'Andale Mono', 'Courier New', Courier, mono; font-size: 11px; line-height: 14px; " /> scrollbarbutton[sbattr=&quot;scrollbar-up-bottom&quot;] { display: none !important; }<br /> scrollbarbutton[sbattr=&quot;scrollbar-down-bottom&quot;] { display: -moz-box !important; }</p></pre>
</blockquote>
<p>Manuelles auskommentieren dieser Zeilen heilte aber nichts, apt-get remove&#160;gtk-qt-engine und die Auswahl eines der Styles unter &quot;Use another style&quot; war die einzige f&uuml;r mich gangbare L&ouml;sung. QtCurve, Glossy, ClearLooks - ymmv.&#160;</p>
<p>&#160;Das mu&szlig; noch nicht der letzte Stand sein, hier sind <a target="_blank" href="http://humarscradle.wordpress.com/2011/07/19/kde4-gtk-oxygen-style/">alternative</a> <a target="_blank" href="http://beyondserenity.wordpress.com/2010/12/02/gtk-unter-kde-aufhubschen-mittels-oxygen-gtk/">Vorschl&auml;ge</a>:</p>
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>broken</dc:subject>
<dc:subject>gtk</dc:subject>
<dc:subject>kde</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/69-Aktuelle-Mozillas-auf-Debian-Squeeze.html" rel="alternate" title="Aktuelle Mozillas auf Debian Squeeze" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-11-10T18:43:18Z</published>
        <updated>2011-11-11T16:04:01Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=69</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=69</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/69-guid.html</id>
        <title type="html">Aktuelle Mozillas auf Debian Squeeze</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Klar, es ist ein Marketing-Tick; Google hat bei Chrome damit angefangen, jedes Vers&ouml;nchen mit einem glatten Versionssprung auszuzeichnen und nun machen es die anderen Broswerbauer eben nach. Aber es irritiert doch, immer noch mit Iceweasel 3.x unterwegs zu sein, wenn schon Version 8 herausgekommen ist.</p>
<p>Nun stiess ich darauf, dass es ein <a href="http://mozilla.debian.net/">Debian Mozilla Team</a> gibt, das Iceweasel und Icedove / Thunderbird in aktuellen Versionen als Backport bereitstellt. <a href="http://mozilla.debian.net/">Die Seite</a> ist an sich selbsterkl&auml;rend, debian-Version einstellen, Programm und Version auswaehlen, und die dynamisch angepassten Zeilen kopieren und in&#160; /etc/apt/sources.list einpasten. Key importieren und dann mit einem ebenfalls dynamisch angepassten cmd installieren.</p>
<p>Mit Iceweasel klappt das auch anstandslos und nun zeigt mir About eine 8.0. fein!</p>
<p>Aber dann stach mich der Hafer und ich wollte es auch mit dem Icedove / Thunderbird probieren. Stable (Squeeze), Icedove, release ausgew&auml;hlt, eingetragen, apt-get update und den install gestartet. Zuerst sah's auch gut aus, eine neue Version wurde installiert, laut about 5.0, kaute beim ersten Start lange auf den zugeh&ouml;rigen add-ons herum und knipste mir dann alle Kalender-bezogenen add-ons, Iceowl (Lightning) wie auch den Provider for google Calendar und die Timezone definitions aus.</p>
<p>Und alle Versuche, f&uuml;r iceowl-extension einen backport oder ein installierbares .xpi zu finden, misslangen. Google fand mir nur den Stoss-Seufzer eines Leidensgef&auml;hrten &quot;<a href="http://lists.debian.org/debian-backports/2011/10/msg00009.html">please backport iceowl-extension, calendar-google-provider &amp; l10n packages</a>&quot; Yo, ohne den Kalender geht es fuer mich einfach gar nicht - wieso ist der eigentlich nicht l&auml;ngst in Thunderbird integriert statt bei jedem Upgrade immer eine Zitterpartie zu provozieren?</p>
<p>Rollback der Aktion war zum Glueck einfach und schmerzlos: <br />
die Zeile fuer icedove backport aus der sources.list wieder auskommentieren, <br />
apt-get update <br />
apt-get remove icedove<br />
apt-get install icedove iceowl-extension</p>
<p>und alles war wieder beim alten. Einen Vorzug hatte die ganze Aktion aber doch, ich entdeckte das add-on FireTray, das im systray die Anzahl eingetroffener Mails anzeigt. Auch hier hat man es mit Versionitis zu tun, deshalb hier gleich der Hinweis auf die <a href="https://addons.mozilla.org/de/thunderbird/addon/firetray/versions/?page=1#version-0.4.0a3">Versionsgeschichte</a>. Nach einigen Versuchen hatte ich dann mit <a href="https://addons.mozilla.org/thunderbird/downloads/file/131311/firetray-0.3.2-fx+tb+sm+sb-linux.xpi">Version 0.3.2 </a>eine Fassung, die sich nicht nur installieren liess sondern dann auch noch wie erwartet funktionierte.</p>
<p>FireTray ist recht gut konfigurierbar, insbesondere erlaubt es, f&uuml;r das tray-Icon zwei verschieden Icons einzutragen, eines wird gezeigt, wenn keine ungelesenen Mails angezeigt werden und das andere, wenn es ungelesene Mails gibt, deren Anzahl wird in auswaehlbarer Farbe darauf gezeichnet. Als default steht hier ein grauer Kasten, der nicht sehr attraktiv war und den ich gleich mit einer anderen Grafik austauschen wollte. Nichts passenderes zur Hand versuchte ich es it einem recht grossen Bild, das Firetray klaglos akzeptierte und sofort, auf IconGr&ouml;&szlig;e skalierte, verwandte. Aber nun war die numerische Ausgabe der ungelesenen Mails nicht mehr da. den Pfad zum eigenen Image l&ouml;schen, und die Anzeige war wieder da. Etwas googeln auf &quot;firetray custom mail notification icon&quot; fand mir auch einen <a target="_blank" href="http://code.google.com/p/firetray/issues/detail?id=130">Issue-report</a>, der meiner Situation zu entsprechen schien. Um nicht nur einfach &quot;me too&quot; an den thread dranzuschreiben habe ich ein wenig mit der Funktion gespielt, mein erster Verdacht war ja, dass das custom Icon &uuml;ber die Anzeige gezeichnet w&uuml;rde, deshalb nahm ich ein fast-transparentes Quadrat als Icon. und da stand die Anzahl dann, nur ziemlich kein. Firetray macht ja einen guten Job beim Skalieren eines beliebig grossen Images auf die passende gr&ouml;&szlig;e, offenbar wird aber die anzahl vor dem Skalieren gezeichnet und wird so uU winzig klein. Wenn man das erst einmal erkannt hat, ist es aber eher ein feature denn ein bug, denn so kann man die Textgr&ouml;&szlig;e stufenlos festlegen. Ich habe bei Grafiken zwischen 80x80 und 40x40 auf meinem bildschirm angemessene Gr&ouml;&szlig;en gefunden.&#160;</p> 
            </div>
        </content>
        <dc:subject>backports</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>firefox</dc:subject>
<dc:subject>firetray</dc:subject>
<dc:subject>icedove</dc:subject>
<dc:subject>iceowl</dc:subject>
<dc:subject>icewasel</dc:subject>
<dc:subject>lightning</dc:subject>
<dc:subject>mozilla</dc:subject>
<dc:subject>squeeze</dc:subject>
<dc:subject>thunderbird</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/68-Blinkaugen-bei-11.html" rel="alternate" title="Blinkaugen bei 1&amp;1" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-11-05T10:32:54Z</published>
        <updated>2011-11-11T15:12:38Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=68</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=68</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/68-guid.html</id>
        <title type="html">Blinkaugen bei 1&amp;1</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p> Im Kundenauftrag bei 1&amp;1 unterwegs und aua! ist das ein Gewimmel von Zusatzangeboten, Irrwegen, und mehr! Der Webauftritt der Kundin sollte WebAnalytics und ein blog bekommen, beides leuchtet als Option im Controlcenter ihres Homepage-Paketes. Naja, geschenkte Gäule. Die Webanalytics sind ein glorifiziertes Awstats und sehen maximal 3 Monate zurueck. Und das Blog ist eine shared Wordpress Installation mit sehr reduzierter Konfigurationsbreite: man kann aus einer Latte Templates auswählen (aber nichts daran ändern) und man kann eine handvoll vorgegebener Plugins aktivieren (aber keine eigenen/anderen einsetzen). Dafür hat das Blog dann lauter Links zu 1&amp;1 und das Ärgerlichste ist: es ist keine Option zum Export des Blogs vorgesehen. Wenn der Kunde irgendwann die Nase voll hat von 1&amp;1 und weg will, kann er sich die Blog-Einträge mit Copy&amp;Paste rüberziehen, einfach super.
<br />Nun, also doch wie ursprünglich geplant Piwik für die WebAnalytics und Serendipity für's Blog. Auch das macht nicht so richtig spass bie 1&amp;1 denn man bekommt keine error_log zu sehen. Und das heisst, wenn mal was nicht so flutscht wie es soll: Rummachen im Blindflug, uuähh!</p> 
<p>Serendipity funzte schliesslich mit einer .htaccess wie dieser (ohne die beiden ersten Zeilen gab es bei event_plugins nur Fehlermeldungen!)</p> 

<pre>AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

ErrorDocument 404 /index.php
DirectoryIndex /index.php

RewriteEngine On
RewriteBase /
RewriteRule ^serendipity&#95;admin.php serendipity&#95;admin.php [NC,L,QSA]
RewriteRule ^((archives/([0-9]+)-[0-9a-z\.\&#95;!;,\+\-%]+\.html)/?) index.php?/$1 [NC,L,QSA]
RewriteRule ^(authors/([0-9]+)-[0-9a-z\.\&#95;!;,\+\-%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/categories/([0-9;]+)-[0-9a-z\.\&#95;!;,\+\-%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/authors/([0-9]+)-[0-9a-z\.\&#95;!;,\+\-%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(categories/([0-9;]+)-[0-9a-z\.\&#95;!;,\+\-%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^archives([/A-Za-z0-9]+)\.html index.php?url=/archives/$1.html [NC,L,QSA]
RewriteRule ^([0-9]+)[&#95;\-][0-9a-z&#95;\-]&#42;\.html index.php?url=$1-article.html [L,NC,QSA]
RewriteRule ^feeds/(.&#42;) index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^unsubscribe/(.&#42;)/([0-9]+) index.php?url=/unsubscribe/$1/$2 [L,QSA]
RewriteRule ^approve/(.&#42;)/(.&#42;)/([0-9]+) index.php?url=approve/$1/$2/$3 [L,QSA]
RewriteRule ^delete/(.&#42;)/(.&#42;)/([0-9]+) index.php?url=delete/$1/$2/$3 [L,QSA]
RewriteRule ^(admin|entries)(/.+)? index.php?url=admin/ [L,QSA]
RewriteRule ^archive/? index.php?url=/archive [L,QSA]
RewriteRule ^(index|atom[0-9]&#42;|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) rss.php?file=$1&ext=$2
RewriteRule ^(plugin|plugin)/(.&#42;) index.php?url=$1/$2 [L,QSA]
RewriteRule ^search/(.&#42;) index.php?url=/search/$1 [L,QSA]
RewriteRule ^comments/(.&#42;) index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity&#95;admin\.css)$ index.php?url=/$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.&#42;) htmlarea/$1 [L,QSA]

RewriteRule (.&#42;\.html?) index.php?url=/$1 [L,QSA]

&lt;Files &#42;.tpl.php&gt;
    deny from all
&lt;/Files&gt;

&lt;Files &#42;.tpl&gt;
    deny from all
&lt;/Files&gt;

&lt;Files &#42;.sql&gt;
    deny from all
&lt;/Files&gt;

&lt;Files &#42;.inc.php&gt;
    deny from all
&lt;/Files&gt;

&lt;Files &#42;.db&gt;
    deny from all
&lt;/Files&gt;
</pre> 
            </div>
        </content>
        <dc:subject>.htaccess</dc:subject>
<dc:subject>blog</dc:subject>
<dc:subject>piwik</dc:subject>
<dc:subject>serendipity</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/67-device-mapper-und-Google-Chrome.html" rel="alternate" title="device-mapper und Google Chrome" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-26T21:02:46Z</published>
        <updated>2011-11-09T21:48:52Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=67</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=67</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/67-guid.html</id>
        <title type="html">device-mapper und Google Chrome</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Ein seltsamer Effekt ist neuerdings aufgefallen, beim Einbinden der dm-crypt - devices liest sich das so:</p>
<p>cryptsetup luksOpen /dev/sdc silva<br />Geben Sie den Passsatz f&uuml;r /dev/sdc ein:&#160;<br />semid 131072: semop failed for cookie 0xd4df6e3: incorrect semaphore state<br />Failed to set a proper state for notification semaphore identified by cookie value 223213283 (0xd4df6e3) to initialize waiting for incoming notifications.</p>
<div>Und das ist wohl ein <a href="https://lkml.org/lkml/2011/8/18/112">Kernel-Bug</a>, der nur sichtbar wird, wenn Google Chrome l&auml;uft w&auml;hrend man die Dinge einbindet.&#160;</div> 
            </div>
        </content>
        <dc:subject>bug</dc:subject>
<dc:subject>chrome</dc:subject>
<dc:subject>google</dc:subject>
<dc:subject>kernel</dc:subject>
<dc:subject>linux</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/24-Was-man-schon-alles-auf-IPV6-erreichen-kann.html" rel="alternate" title="Was man schon alles auf IPV6 erreichen kann" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2010-10-27T15:22:58Z</published>
        <updated>2011-11-08T17:36:04Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=24</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=24</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/24-guid.html</id>
        <title type="html">Was man schon alles auf IPV6 erreichen kann</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p> <a href="http://kuschel-in.de">Kuschel - Happening am Brandenburger Tor in Berlin </a> <a href="http://berliner.kuschelkalender.de">Kalender mit Kuschelparties</a> </p>
<p>-----</p>
<p>Berufe, die es noch gar nicht gibt: Raum-Coach.&#160;<a href="Was%20ist%20Raumcoaching" target="_blank">Was ist Raumcoaching</a>?&#160;In Zeiten der Veränderung mit bewusster&#160;Lebensraumgestaltung einen Prozess zu mehr Glück, Erfolg und&#160;Harmonisierung in Gang setzen.&#160;</p>
<p>Der Beruf siedelt zwischen Architektur und Psychologie, Trainerin und <a href="http://www.berndtkom.de/mediation.html" target="_blank">Mediatorin</a>.</p>
<div><br /></div> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/66-Grub-anpassen,-spacefun-loswerden.html" rel="alternate" title="Grub anpassen, spacefun loswerden" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-24T10:01:00Z</published>
        <updated>2011-10-26T21:01:37Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=66</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=66</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/66-guid.html</id>
        <title type="html">Grub anpassen, spacefun loswerden</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Hier läuft Grub 2, Paket grub-pc, und anlässlich einer recht boot-freudigen Phase von Installationen nervten ein paar Eigenheiten des Boot genug, um mich zur Änderung zu treiben. Ärgernisse:<br />- mit usb-Tastatur ist das Boot-Menü des Grub nicht bedienbar<br />- nach dem grafischen Boot-Menü fällt Grub für die folgenden Meldungen in einen Textmodus zurück (gewünscht), und verwendet zur Ausgabe eine absurd grosse Schrift, so dass die Ausgaben mehrfach umgebrochen über den Schirm huschend kaum lesbar sind<br />- eigentlich mag ich die vorgegebene Grafik nicht und möchte das komplette spacefun theme des Debian Squeeze gerne verbannen.</p> 
<p>Punkt eins ist wohl ein Timing-Problem, probehalber im Bios den schnellen Boot disabled und seither geht's.<br />Die Formatierung der Bootmeldungen und eine eigene Hintergrundgrafik kann man in /etc/default/grub und /etc/grub.d/00_header beeinflussen.</p> 
<p> </p> 
<p>/etc/default/grub:<br />GRUB_GFXMODE=1280x1024x24<br />GRUB_BACKGROUND=&quot;/pfad/zu/beliebigem/Verzeichnis/und/Bild.png&quot;<br /><br />Der Eintrag in&#160;GRUB_GFXMODE muss natuerlich zu den Fähigkeiten der Grafik passen, eine Liste möglicher Modi gibt's nach:&#160;<br />apt-get install hwinfo<br />hwinfo --framebuffer</p> 
<p>In&#160;/etc/grub.d/00_header ergänzt man (bei mir auf Zeile #127) nach&#160;<br />&#160; set gfxmode=${GRUB_GFXMODE} die Zeile<br />&#160; set gfxpayload=keep
</p> 
<div> 
<p>Anschliessend update-grub. Es ist übrigens ratsam, zuvor ein Backup der Einträge in&#160;/etc/grub.d zu machen, denn wenn man versehentlich einen Fehler in die editierte Datei bringt (keine Ahnung, was da passiert war) dann moniert grub-mkconfig den Fehler in wenig hilfreicher Art. (fehlerhafte Dateien werden wie nicht vorhanden behandelt und man kratzt sich am Kopf, weshalb eine offenbar anwesende Datei NOT FOUND sei.)</p> 
<p>Wenn man space-fun auch vom Login-Screen verbannen will, hilft &#160;/etc/default/kdm.d/10_desktop-base<br />Für den Login kann man da ein eigenes Bild einsetzen, aber danach folgt eine Ladeanimation (ksplash) und der den spacefun abzugewöhnen war nicht ganz leicht.<br />Eine Suche auf &quot;debian kde spacefun&quot; liefert in vielen Varianten einen Thread &quot;<a href="http://groups.google.com/group/linux.debian.user/browse_thread/thread/d5870aae4e0183e1/9c13f07ac45b7ee5?lnk=raot">KDE4 , Squeeze: Space fun background keeps appearing under kde login splash</a>&quot; mit vielen Ansätzen, was man versuchen könnte. Aber keiner wirkte. Weder liess sich ein anderer Splash einstellen, ein neuer installieren oder sonst irgendwas bewegen, die erste irgendwie wirksame Massnahme war, testweise in&#160;&#160;/usr/share/kde4/apps/ksplash/Themes spacefun in spacefun-weg umzunennen: nun bekam ich statt des Splash ein weisses Rechteck auf Schwarz. Und so richtig elegant ist solche Wurschtelei ja auch nicht gerade...</p> 
<p>Endlich fand ich die nirgends erwähnte entscheidende Referenz auf den spacefun in <br />~/.kde/share/config/startupconfig (das wirkte mit KDE 4.4)</p> 
<p>Dort ein anderes Theme setzen, dass in &#160;/usr/share/kde4/apps/ksplash/Themes vorhanden ist, und dann geht's doch.</p> 
<p>In KDE 4.6 war es dann wieder anders, hier liess sich alles aus den System Settings einstellen, wenn man sich System settings als Root eingerichtet hat. Das geht fix mit dem KDE MEnue editor, man kopiert den Eintrag der System settings, gibt ihm einen etwas anderen Namen und stellt unter Advanced / Run with a different user root ein. Das theme fuer den LoginScreen steht unter&#160;/usr/share/kde4/apps/kdm/themes, kann man sich leicht selbst erstellen aus der Kopie eines schon vorhandenen.</p> 
</div> 
            </div>
        </content>
        <dc:subject>boot</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>grub</dc:subject>
<dc:subject>kde</dc:subject>
<dc:subject>ksplash</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>spacefun</dc:subject>
<dc:subject>splash</dc:subject>
<dc:subject>theme</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/65-Squeeze-mit-aktuellerem-Kernel.html" rel="alternate" title="Squeeze mit aktuellerem Kernel" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-24T07:54:55Z</published>
        <updated>2011-10-26T20:39:04Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=65</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=65</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/65-guid.html</id>
        <title type="html">Squeeze mit aktuellerem Kernel</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Anstoss der Unrast sind die heftigen Performance-Einbrüche meines Rechners während der regelmässigen incrementiellen Backups auf eine externe USB-Festplatte. Die ist wirklich nicht besonders schnell, hdparm -t ermittelt&#160;30 MB in &#160;3.09 seconds = &#160; 9.72 MB/sec. Mein HTC Desire ist da mit bis zu 14 MB/sec merklich schneller.</p> 
<p>Das das Backup relativ langsam geschrieben wird ist aber an sich gar kein Problem. Wirklich nervend ist, dass die CPU sich dabei mit 80, 90% wait states eindeckt und kaum noch etwas anderes erledigen mag als, auf die lahme Platte zu warten. Auf der Suche nach möglichen Auswegen stiess ich auf Hinweise, dass Linux ab 2.6.37 mit solchen Situationen besser umgehen könne. Squeeze hat 2.6.32. Einen Versuch wär's wert.</p> 
<p>Woher einen aktuelleren Kernel nehmen? <a href="http://backports-master.debian.org/">Backports</a>&#160;(hilfreich bei der <a href="http://backports-master.debian.org/Packages/">Auswahl von Paketen</a>), und eine <a href="https://ticketing.nforce.com/index.php?/Knowledgebase/Article/View/27/0/upgrading-the-kernel-to-2638-in-debian-6-squeeze">schon brauchbare Anleitung</a> für die konkreten Schritte fand sich auch bald, brauchte aber dann doch noch ein paar Änderungen und Ergänzungen.</p> 
<p>- es schadet nicht, ein aktuelles Backup von /boot und /etc zu haben...<br />- nano /etc/apt/sources.list<br />- dort unten diesen Eintrag anfügen:&#160;<br />&#160;&#160;deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free<br />-&#160;apt-get update<br />- und jetzt installieren:<br /><span style="color: #000000; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; background-color: #dddddd; ">&#160; &#160;apt-get install -t squeeze-backports&#160;linux-image-2.6-amd64</span></p> 
<p>Der install macht auch ein update der Grub-Konfiguration und fügt für den neuen Kernel oben auf der Liste zwei Einträge ein. Wenn nicht alles so geht, wie man gehofft hat, kann man im Grub-Menü nach unten wandern und den bisherigen Kernel booten, das ist die dritte Zeile im Menü.<br />Klappte soweit ganz gut, ein paar Sachen waren aber zu erledigen. So kam beim Install ein Hinweis auf fehlende (non-free) Firmware, die für diesen Rechner mit <br />apt-get install -t squeeze-backports firmware-realtek<br />kam. Weiter monierte der install schon:<br /> </p> 
<p>dkms: running auto installation service for kernel 2.6.39-bpo.2-amd64:<br />&#160; &#160; &#160; vboxhost (4.1.4)...failed.<br />&#160; &#160; &#160; nvidia (195.36.31)...failed.</p> 
<p>dkms: WARNING: linux headers are missing, which may explain the above failures.<br />&#160; &#160; &#160; please install the linux-headers-2.6.39-bpo.2-amd64 package to fix this.</p> 
<p>Wirklich landete ich nach dem ersten boot des neuen Kernels auf der Konsole, mangels Grafiktreiber. Google fand mir diese <a href="http://www.vultaire.net/blog/2011/08/14/using-nvidia-drivers-on-debian-squeeze-64-bit-with-backported-kernel/">Anleitung, NVidia-Treiber auf dem backported Kernel</a> zu nutzen. In der bash_history hat dieser Schritt solche Spur hinterlassen (das shell script nvidia_heilen.sh entspricht dem auf obiger seite gelistetem)</p> 
<div>apt-get install -t squeeze-backports dkms nvidia-kernel-dkms<br />dpkg-reconfigure nvidia-kernel-dkms<br />grep -ie error /var/lib/dkms/nvidia/195.36.31/build/make.log<br />cd /usr/local/src<br />mkdir backportkernel<br />cd backportkernel/<br />nano nvidia_heilen.sh<br />chmod 755 nvidia_heilen.sh<br />./nvidia_heilen.sh<br />apt-get install -y nvidia-glx<br />apt-get install -y nvidia-glx-ia32<br />apt-get install -y nvidia-xconfig nvidia-settings<br />reboot</div> 
<p>Nun lande ich wieder auf dem grafischen Desktop und nicht nur der nvidia-Treiber sondern auch der ebenfalls monierte vboxhost sind geheilt. Bleibt vmware. Hier die <a href="https://wiki.archlinux.org/index.php/VMware">hilfreiche Webseite</a>&#160;(leider ist sie jetzt, beim schreiben dieser Zeilen, nicht verfügbar).&#160;Infos und Beschreibung treffen, aber bei mir klappte es auch mit dem Patch nicht. Letztlich half der Link zu den gepatchten Sourcen. Der Vmware-Player (3) baute sich seine Module, die liefen aber erst nach&#160;einem reboot.</p> 
<div> 
<p> </p> 
<p>Fein, damit war das Update gelungen - hat es auch was gebracht? Sieht recht gut aus, top zeigt die wa während der rsync-Läufe zwischen 25 und 30%. Und gefühlt ist das Problem damit bereinigt.</p>
<p><strong>Update:</strong><br />Für die Aktion etwas zu spät stieß ich auf <a href="http://smxi.org/">&#160;smxi/sgfxi/svmi</a>, eine Familie von Scripten, die sich ganz dem Kernel-Update und der Kompilierung von Grafik Modulen und Modulen für vmbox und vmware widmen und die Sache um einiges leichter machen...</p> 
</div> 
<p> </p> 
            </div>
        </content>
        <dc:subject>64bit</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>kernel</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>nvidia</dc:subject>
<dc:subject>squeeze</dc:subject>
<dc:subject>treiber</dc:subject>
<dc:subject>upgrade</dc:subject>
<dc:subject>vbox</dc:subject>
<dc:subject>virtualbox</dc:subject>
<dc:subject>vmware</dc:subject>
<dc:subject>wait states</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/64-Ram-und-Leistung.html" rel="alternate" title="Ram und Leistung" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-21T11:01:07Z</published>
        <updated>2011-10-23T10:54:05Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=64</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=64</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/64-guid.html</id>
        <title type="html">Ram und Leistung</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>
Manche Hardware kann mehr, als in der Beschreibung steht. Beispiel: mein Mainboard MSI P41-C31. Im Manual steht eindeutig, dass das Board max. 4GB DDR3 Ram unterstützt. Was mir, mit reichlichem Einsatz von vmware und virtualBox (und der Gewohnheit, viele viele Tabs in Google Chrome und Opera nebeneinander offen zu halten) unter Linux deutlich eng wurde. Ich habe aus Anwendersicht klar den Eindruck, dass Windows (2k - 7) mit knappem Ram und virtuellem Speicher besser umzugehen weiss als Linux, aber das nur nebenbei.&#160;<br />Als ich mal wieder unbedacht eine vm öffnend Viertelstundenlang meinem Kistchen beim Swappen zuschauen durfte, kam der Entschluss: anderes Board und mehr ram rein. Das Ram konnte ich direkt mitnehmen, das ausgesuchte Board steht immer noch aus. Einfach mal zur Probe die 2x4GB&#160;TEAM Elite CL9 PC3-10600 KIT eingesteckt, und zu meiner Verwunderung bootete die Kiste ohne einen Mucks. OK, dass hätte ich ruhig schon etwas früher versuchen können.</p> 
<p>Aber natürlich kommt noch ein &quot;Aber&quot;. Denn bald fiel auf, dass die Kiste doch ziemlich laut wurde, der Prozessor-Lüfter ging auf volle Drehzahl. Deckel auf und die Wärme der beiden &#160;Riegel leuchtete mir förmlich entgegen, für sie werde ich wohl einen Gehäuselüfter installieren müssen. Der Sellingpoint &quot;Aluminiumschienen zur besseren Wärmeabfuhr&quot; des Team Elite-Ram stand da in anderem Licht als zuvor.</p> 
<p>Für mich eine Neuigkeit, ich hatte die <a href="http://de.hardware-wiki.org/wiki/Stromverbrauch_von_RAM">Leistungsaufnahme des Ram</a> bislang immer als vernachlässigenbare Größe eingeschätzt, &#160;(wie etwa auch der <a href="http://www.meisterkuehler.de/content/energierechner-fuer-computer-79.html">Energierechner</a> es tut). Netzseitige Messergebnisse an einem Voltcraft Energy Check 3000 sehen 1-2 Watt Mehrverbrauch mit 8 statt 4GB Ram. Nicht viel, trotzdem werden die Dinger heiß.</p> 
<p>Das war der Anlass, die zuvor nicht recht konfigurierten Temperatur-Sensoren einzurichten, lm-sensors war schon installiert aber der zweite Schritt war unterblieben. &#160;Dabei half mir <a href="http://www.debian-administration.org/articles/327">&quot;Monitoring your hardware's temperature&quot;</a>&#160;weiter. KDE 4 brauchte anschliessend noch einen Neustart des Desktop bis es die Werte anzeigen mochte, die xsensors oder, von der Kommandozeile, sensors schon gleich verriet.</p>
<p>Ein Bios-Update, Streifzug durch die Bios-Settings und Lüfterbastelei später läuft alles kühl und ruhig.</p> 
            </div>
        </content>
        <dc:subject>commandline</dc:subject>
<dc:subject>leistungsaufnahme</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>lm-sensors</dc:subject>
<dc:subject>main board</dc:subject>
<dc:subject>msi</dc:subject>
<dc:subject>ram</dc:subject>
<dc:subject>vbox</dc:subject>
<dc:subject>virtualbox</dc:subject>
<dc:subject>vm</dc:subject>
<dc:subject>windows</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/63-Android-Office-Apps.html" rel="alternate" title="Android Office Apps" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-09T22:07:58Z</published>
        <updated>2011-10-10T11:09:31Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=63</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/63-guid.html</id>
        <title type="html">Android Office Apps</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="http://www.techradar.com/news/phone-and-communications/mobile-phones/30-best-free-android-apps-687252" target="_blank">Eher ein Lidl</a> als ein Lafayette sei der Android App Market - sei's drum, die Regale sind voll und in aller Regel findet man für jeden Einsatzzweck eine Auswahl an Alternativen. Aber es gibt Ausnahmen:</p> 
<p>Es herrscht ein erstaunlicher Mangel an brauchbaren Office - Anwendungen im Android Market. Dabei verlange ich da gar nichts allzu Grosses: mit der mail kommt attached eine Word-Datei und ein .pdf und ich will sie anseh'n können. &#160;<br />Etwas erweitert suche ich einen schnörkellosen PDF Viewer mit halbwegs intuitiver Handhabung und Viewer für .doc und .xls, .odt und .ods.</p> 
<p>HTC packt seinen Roms für's Desire ein QuickOffice bei, das, mal abgesehn vom Öffnen von .txt eigentlich gar nichts zu Wege bringt, Pdfs zeigt es nur als schwarze Fläche.<br />Im Market findet man eine Reihe von Office-Paketen, die für 10 - 15€ gekauft werden wollen und deren kostenlose Versionen arg kastriert sind oder mit ständigen Hinweisen auf die Kaufversion nerven. Ich kann nicht beurteilen, ob oder welches von diesen Paketen in der Vollversion empfehlenswert ist, eine solche Ausgabe habe ich gar nicht erwogen.</p> 
<p>Und dann stiess ich beim &quot;Herumflashen&quot; auf&#160;<a href="http://forum.xda-developers.com/showthread.php?t=1210178" target="_blank">Tabasco's Silky ROM V2.0</a>, welches mit der Grundausstattung das unaufdringliche und funktionale <a href="https://www.infraware.co.kr/eng/01_product/product17.asp" target="_blank">Polaris Office</a> mitbringt. Ein anderer Name ist <a href="http://en.wikipedia.org/wiki/Polaris_Document_Master" target="_blank">Polaris Document Master</a>,&#160;mit knapp zwei MB &#160;ist es relativ schlank und öffnet, zeigt, editiert, speichert und erstellt neu .doc, .xls und .txt.&#160;</p> 
<p>Soweit wunderbar, aber wo kann man es installieren? Im Market ist es nicht verfügbar, beim Hersteller Infraware gibt es keinen Download-Link, google findet auf Anhieb nichts... Ich habe ein paar Stunden danach gesucht und zwei Links gefunden.<br />Einmal bei den <a href="http://forum.xda-developers.com/showthread.php?t=1108770" target="_blank">Rom-Schmieden auf XDA</a>, jemand hat <a href="http://attachments.xda-developers.com/attachment.php?attachmentid=575076&amp;d=1303450563" target="_blank">docmaster.apk attached</a>. Auf XDA nach Polaris Office zu suchen ist so ziemlich die ertragreichste Quelle zu der Anwendung, die überhaupt zu finden ist.</p> 
<p>Und dann fand ich <a href="http://www.bazaarandroid.com/search/view?search_top=polaris" target="_blank">Polaris Office 1.0</a> in einem <a href="http://www.aptoide.com/index2.html" target="_blank">Aptoide</a>-Repository namens <a href="http://www.bazaarandroid.com/" target="_blank">Bazaarandroid</a>. Um es von da einzubinden müßte man zuerst den aptoide-Client installieren, über den dann den Link zum .apk und der Anwendung dann bei Installation das recht erteilen, kostenpflichtige Telefonate zu führen - nicht wirklich empfehlenswert. Wozu braucht ein Office - Paket Telefonate?&#160;</p>
<p>Für die Libre/OpenOffice - Formate ist die Suche (und Auswahl) einfacher, da fand ich den Mobile Document Viewer und den OpenOffice Document Reader. Letzterer ist schneller mit der Anzeige zur Hand, zeigt bei einer .ods aber weder die gitterlinien noch die Farben der Zellinhalte. Der Mobile Document Viewer bearbeitet die Datei erst einen Moment (die Formate werden nach HTML umgewandelt und so angezeigt), dann zeigt er Gitterlinien und Farben wie erwartet. Und mit .docx - Dateien kommt dieser Viewer auch zurecht. Beide fand ich unschwer im Market.</p> 
<p>So, und die PDFs? Sucht man im Market auf PDF Viewer, steht obenan der Adobe Reader und dann folgt eine - drastisch gesprochen - Fuhre Müll. Den Adobe Reader habe ich auf Windows fett und immer fetter werden sehen, exploits ohne Ende. Der hat bei mir Hausverbot. Stattdessen kam ich mit der Suche nach &quot;simple open source pdf viewer&quot; auf den <a href="https://market.android.com/details?id=cx.hell.android.pdfview" target="_blank">APV PDF Viewer</a>. Ok!</p> 
            </div>
        </content>
        <dc:subject>android office polaris aptoide apk pdf</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/62-Aus-einem-laufenden-Linux-ein-Debian-neu-installieren.html" rel="alternate" title="Aus einem laufenden Linux ein Debian neu installieren" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-05T22:33:32Z</published>
        <updated>2011-10-05T22:33:32Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=62</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=62</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/62-guid.html</id>
        <title type="html">Aus einem laufenden Linux ein Debian neu installieren</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Die Anforderung, aus einem laufenden System ein Debian neu zu installieren, ergibt sich zum Beispiel, wenn ein System neu aufgesetzt werden soll, abe kein passendes optisches Laufwerk zur Verfügung steht.</p> 
<p>Die Lösung heißt <strong>debootstrap</strong> und das Vorgehen ist etwa <a href="http://wiki.debianforum.de/Debootstrap" target="_blank">hier</a> oder <a href="http://www.bohni.net/index.php/2011/01/von-einem-der-auszog-einen-debian-server-zu-basteln-teil-4/" target="_blank">hier</a> gut beschrieben.&#160;</p> 
<p><span>Outline:<br />apt-get install debootstrap<br />mkdir /target/proc<br />mkdir /target/dev<br />mkdir /target/sys<br />mount --bind /proc /target/proc<br />mount --bind /dev /target/dev<br />mount --bind /sys /target/sys<br />mount -t devpts devpts /</span>target<span>/dev/pts</span></p> 
<p><span>debootstrap --arch i386 squeeze /target http://ftp.de.debian.org/debian</span></p> 
<p>(Tasse Kaffee)</p> 
<p>&#160;chroot target</p> 
<p>Nach dem letzten Befehl sind wir per chroot im neu aufgesetzten (rudimentären) System, &#160;dem wir nun mit Hilfe von apt-get und einem Editor noch manches ergänzen müssen, ehe es booten kann:</p> 
<p><span style="color: #000000; font-family: sans-serif; line-height: 19px; background-color: #ffffff; "><em>/etc/apt/sources.list</em>&#160;editieren<br /></span>apt-get install console-data console-common tz-data less locales keyboard-configuration<br />apt-get install&#160;&#160;linux-image-686<br />dpkg-reconfigure tzdata console-data console-common keyboard-configuration<br />passwd &#160; (root passwd setzen!)<br />/etc/fstab (Eintrag für /proc nicht vergessen)<br />/etc/network/interfaces<br />/etc//udev/rules.d/70-persistent-net.rules &#160;(Einträge löschen, falls nachher andere NIC)</p> 
<p> </p> 
<p> </p> 
<p> </p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>debian</dc:subject>
<dc:subject>installation</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>squeeze</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/61-dm-crypt-und-luks-fuer-eine-Container-Datei.html" rel="alternate" title="dm-crypt und luks für eine Container-Datei" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-05T21:45:11Z</published>
        <updated>2011-10-05T21:45:11Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=61</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=61</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/61-guid.html</id>
        <title type="html">dm-crypt und luks für eine Container-Datei</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>In einem vorigen Eintrag hatte ich die <a href="http://blog.dreckhaen.de/archives/35-Festplattenverschluesselung-mit-dm-crypt-und-luks.html" target="_blank">Verschlüsselung kompletter Partitionen</a> und deren Einbindung mit dm-crypt und luks beschrieben, hier als Ergänzung, wie das mit Container-Dateien geht.</p> 
<p># ggf vorbereiten<br />modprobe loop<br />losetup -a</p> 
<p><span># &#160;erstelle 2G container mit zufallsfuellung<br />dd if=/dev/urandom of=</span>testfs<span>.bin bs=1M count=2048</span></p> 
<p><span># die (leere) Imagedatei auf das naechste freie Loop-Gerät legen, wird angezeigt<br />losetup -f --show &#160;</span>testfs<span>.bin</span></p> 
<p># und zunächst als Partition formatieren<br />cryptsetup luksFormat /dev/loop0</p> 
<p># dabei wird die Eingabe einer Passphrase verlangt, die gut verschluesselt notieren...</p> 
<p># jetzt kann die Datei-Partition geöffnet werden<br />cryptsetup luksOpen /dev/loop0 testfs</p> 
<p># mit einem Dateisystem formatiert<br />mkfs -t ext4 /dev/mapper/testfs</p> 
<p># und schliesslich gemounted werden<br />mount /dev/mapper/testfs /mnt/testfs</p> 
<p>Damit ist ein Dateisystem in einem verschlüsselten Container angelegt und kann benutzt werden. Hier noch mal die Aufrufe im Einsatz, Einbinden und Lösen:</p> 
<p><span>Einbinden:<br />losetup -f --show&#160;</span>testfs<span>.bin<br />cryptsetup luksOpen /dev/loop0&#160;testfs<br />mount /dev/mapper/adminInfo /mnt/testfs</span></p> 
<p>Lösen:<br />umount&#160;/mnt/testfs<br />cryptsetup luksClose /dev/mapper/testfs<br />losetup -d /dev/loop0</p> 
            </div>
        </content>
        <dc:subject>cryptsetup</dc:subject>
<dc:subject>encryption</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>luks</dc:subject>
<dc:subject>verschlüsselung</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/60-KDE-und-Activites.html" rel="alternate" title="KDE und Activites" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-10-05T20:13:51Z</published>
        <updated>2011-10-05T20:13:51Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=60</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=60</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/60-guid.html</id>
        <title type="html">KDE und Activites</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Ein Debian Squeeze, aber kein Gnome sondern eine minimal-Installation, grafische Oberfläche mit kde-desktop-plasma und von da an handinstalliert.</p> 
<p>Ich habe anfangs etwas gebraucht, bis ich den Activities, die KDE den Desktops zuteilt, etwas abgewinnen konnte. Der erste Eindruck war: Rechtsklicken, Preferences, Wallpaper ändern, ok. Zum nächsten Desktop wechseln: oh ne!, jeder Desktop hat dies geänderte Wallpaper!<br />Ich mag viele Desktops, jeden mit einem anderen Hintergrundbild und für einen speziellen Set von Aufgaben.&#160;</p> 
<p>Und jeder Desktop soll seine eigenen speziellen Links und abgelegten Dokumenten habe - was ich nicht mag: das ein auf einem Desktop abgelegtes Icon dann auf allen Desktops zu sehen ist.</p> 
<p>Mit KDE bin ich dieser Vorstellung sehr nahe gekommen. Als erster Schritt muss zunächst jedem Desktop eine eigene Activity spendiert werden:<br />KDE/Settings/System Settings/Desktop/Multiple Desktops/ und da bei dem entsprechenden Eintrag ein Häkchen.</p> 
<p>Jetzt kann schon mal jeder Desktop sein eigenes Wallpaper haben. Als nächstes &#160;füge ich jedem der Desktops ein Widget namens Folder view zu. Das ist ein transparenter Kasten, der die Inhalte eines Dateiordners anzeigt, in der Grundeinstellung den eigenen Home-Ordner.</p> 
<p>Das kann man aber frei festlegen, und ich habe unter ~/.activities/ eine Reihe von Ordnern, fuer jeden Desktop einen, angelegt. So bekomme ich für jeden Desktop seinen speziellen Ablageort. &#160;</p> 
            </div>
        </content>
        <dc:subject>debian</dc:subject>
<dc:subject>installation</dc:subject>
<dc:subject>kde</dc:subject>
<dc:subject>linux</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/59-Courier-imapd-ssl-Maximum-connection-limit-reached.html" rel="alternate" title="Courier imapd-ssl: Maximum connection limit reached" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-07-11T07:07:10Z</published>
        <updated>2011-07-11T10:28:52Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=59</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=59</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/59-guid.html</id>
        <title type="html">Courier imapd-ssl: Maximum connection limit reached</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Leider habe ich nicht zurückverfolgen können, was eigentlich den Auslöser davon darstellte, gefühlt schien das K9 - Mail meines android zu spinnen: neu angelegte Unterordner auf dem imap-Server wurden da nicht angezeigt und beim Abruf neuer Nachrichten gab es oft reihenweise Fehlermeldungen (ssl-handshake fail). Alle Versuche, K9 mit veränderten Einstellungen zu heilen, schlugen fehl.&#160;<br />Bis ich mir dann mal die Zeit nahm, auf den Server zu schauen und dort im mail.log viele Fehlermeldungen wie diese fand:</p> 
<p>imapd-ssl: Maximum connection limit reached for (und die IP)</p> 
<p>Wobei an dem Server nicht eben viele Clienten hingen, sondern genau zwei: ein Thunderbird und eben K9 auf dem Androiden. Die in den Fehlermeldungen gelisteten IPs liessen sich ohne Zweifel und Ausnahme auf das Android-Telefon zurückführen.<br />Google lieferte mir einen <a href="http://www.bsdforen.de/showthread.php?t=23817">vergleichbaren Problembericht</a> von jmd., dermit Thunderbird und einem OSX Mail auch diesen Fehler sah und ihn dort auf Mail zurückführte, wie bei mir tauchte die IP des Rechners mit Thunderbird nie auf. Auch dort kam nicht heraus, warum eine anfangs funktionierende Einrichtung dann diese Fehler warf, aber eine Abhilfe habe ich gefunden.</p> 
<p>In /etc/imapd-ssl habe ich diese beiden Einträge angefügt:<br /> </p> 
<p>MAXDAEMONS=280<br />MAXPERIP=40</p> 
<p>noch ein /etc/init.d/courier-imap-ssl restart und seither ist Ruhe und K9 kommt auch wieder klar.</p> 
<p> </p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>android</dc:subject>
<dc:subject>courier</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>fail</dc:subject>
<dc:subject>k9-mail</dc:subject>
<dc:subject>mailserver</dc:subject>
<dc:subject>ssl</dc:subject>
<dc:subject>thunderbird</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/58-Air-Applikation-und-flashlog.txt.html" rel="alternate" title="Air Applikation und flashlog.txt" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-24T10:28:05Z</published>
        <updated>2011-06-24T10:28:05Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=58</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=58</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/58-guid.html</id>
        <title type="html">Air Applikation und flashlog.txt</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Unter XP war das alles gar kein Thema, die installierte Air Appl. schrieb ihre Traces in die Datei flashlog.txt und gut. Aber auf Linux? Denn natürlich trat der Fehler, den ich suchte, nur auf, wenn die Anwendung unter Linux lief...</p>
<p>Ich dachte zunächst, dass auch für AIR der installierte flashplayer entscheidend sei (und für Linux 64 baut Adobe keinen debug-flashplayer). Aber in einer vm mit Mint/32, debug-flashplayer, korrekter mm.cfg und allem blieb die Air trotzdem stumm.</p>
<p>Etwas Suchen musste ich schon bis ich <a href="http://backroom.bostonproductions.com/?tag=flashlog-txt">hier</a> den entscheidenden Hinweis fand:&#160;<br />cd /opt/$applName/share/META-INF/AIR<br />touch debug</p>
<p>(Für $applName natürlich den Namen der jwlg. Applikation einsetzen...) Die Appl. neu starten und nun schreibt sie ihre traces brav nach ~/.macromedia/Flash_Player/Logs/flashlog.txt</p> 
            </div>
        </content>
        <dc:subject>64bit</dc:subject>
<dc:subject>adobe</dc:subject>
<dc:subject>air</dc:subject>
<dc:subject>debug</dc:subject>
<dc:subject>flash</dc:subject>
<dc:subject>flex</dc:subject>
<dc:subject>linux</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/57-Google-earth-stable-auf-debian-squeeze-64-nvidia.html" rel="alternate" title="Google-earth-stable auf debian squeeze 64 nvidia" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-19T16:07:23Z</published>
        <updated>2011-06-19T16:33:59Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=57</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=57</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/57-guid.html</id>
        <title type="html">Google-earth-stable auf debian squeeze 64 nvidia</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>An GoogleEarth habe ich so viele male rumgedoktert, und immer nur ein schwarzer Block da, wo die Erdkugel sein sollte. Für eine Weile hatte ich mich schon damit abgefunden, dafür eine dedizierte vm mit xp zu nehmen. Aber beim <a href="http://www.geocaching.com/">Schatzsuchen</a>&#160;braucht man GE nun mal dauernd und als ich dann ein <a href="https://dl-ssl.google.com/linux/direct/google-earth-stable_current_amd64.deb">.deb für 64bit</a> entdeckte, habe ich mich noch einmal darangemacht. Download,&#160;sudo dpkg -i google-earth-stable_current_amd64.deb und:?? Schwarzer Bildschirm. </p> 
<p>Ok, also auf die Suche gemacht. Es finden sich viele Hinweise, dass <span style="color: #00adff; ">lsb-core</span> und <span style="color: #00adff; ">lib32nss-mdns</span> und <span style="color: #00adff; ">ia32-libs-gtk</span> installiert sein müssen. Sind es auch, trotzdem schwarz. Dann<a href="http://debianforum.de/forum/viewtopic.php?f=29&amp;t=114359"> ein Hinweis</a> auf sudo aptitude install <span style="color: #00adff; ">nvidia-glx-ia32</span> - und heureka, endlich gehts. </p> 
<p>Fein. Wäre es eigentlich zu viel verlangt, wenn Google's .deb solche Abhängigkeit prüft oder wenigstens einen Hinweis auf bekannte Problemquellen gibt? Die sind ja nun kein Fischgeschäft. Grummel. </p> 
            </div>
        </content>
        <dc:subject>64bit</dc:subject>
<dc:subject>bug</dc:subject>
<dc:subject>google</dc:subject>
<dc:subject>installation</dc:subject>
<dc:subject>linux</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/56-SWF-Tools.html" rel="alternate" title="SWF - Tools " />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-15T19:46:11Z</published>
        <updated>2011-06-15T19:46:11Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=56</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=56</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/56-guid.html</id>
        <title type="html">SWF - Tools </title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>command line tools to create, modify, concatenate, analyse .swf - files</p>
<p><a href="http://swf-library.infogami.com/">Libraries for creating SWF Files</a>&#160;mit einer Liste von alternativen, überwiegend aber nicht alle Open source.</p>
<p>Ein wenig <a href="http://swfmill.org/doc/using-swfmill.html">docu</a> zu <a href="http://swfmill.org/">swfMill</a> auf <a href="http://osflash.org/swfmill">osflash.org</a>. <a href="http://mtasc.org/">MTASC</a>. Eine<a href="http://www.linuxexpres.cz/blog/rotation-around-center-with-swfmill-and-mtasc"> BlogSeite mit einem simplen Beispiel</a>, für mich war's genau das richtige Ding, um mit meinen eigenen Sachen an den Start zu kommen.</p>
<p><a href="http://wiki.swftools.org/index.php/Main_Page">Wiki</a> und <a href="http://wiki.swftools.org/index.php/Examples">Beispielanwendungen</a> der <a href="http://www.swftools.org/">SWFTools</a>, &#160;</p> 
            </div>
        </content>
        <dc:subject>commandLine</dc:subject>
<dc:subject>flash</dc:subject>
<dc:subject>flex</dc:subject>
<dc:subject>swf</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/35-Festplattenverschluesselung-mit-dm-crypt-und-luks.html" rel="alternate" title="Festplattenverschlüsselung mit dm-crypt und luks" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-02-18T11:04:54Z</published>
        <updated>2011-06-15T06:43:40Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=35</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=35</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/35-guid.html</id>
        <title type="html">Festplattenverschlüsselung mit dm-crypt und luks</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Am Beispiel einer externen Festplatte, die sich nach dem Anstöpseln als /dev/sdc meldet:</p> 
<p>fdisk -l<br />gibt unter anderem:</p> 
<pre>Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08040000

Disk /dev/sdc doesn't contain a valid partition table
</pre> 
<p>Die Partition mit ziemlichem Zufall initialisieren und dabei gleichzeitig die Zuverlässigkeit der Platte prüfen:</p> 
<p>badblocks -c 10240 -s -w -t random -v /dev/sdc<br />(dauert ewig.)</p> 
<p>Formatieren und mit dem Namen silva einbinden:<br />luksformat -t ext3 /dev/sdc<br />cryptsetup luksOpen /dev/sdc silva</p> 
<p>Optional die fsck-Frequenz etwas ausdünnen:&#160;<br />tune2fs -c 1000 /dev/mapper/silva<br />tune2fs -i 365 /dev/mapper/silva</p> 
<p>und ins Dateisystem holen:<br />mount /dev/mapper/silva /mnt/silva</p>
<p>und zurück:<br />umount /mnt/silva , falls dass mit device busy hakt, ggf&#160;fuser -m /mnt/silva<br />cryptsetup luksClose /dev/mapper/silva
<div><br /></div>
</p> 
<div> 
<p><a href="http://linuxwiki.de/cryptsetup">Mehr</a> <a href="http://www.hermann-uwe.de/blog/howto-disk-encryption-with-dm-crypt-luks-and-debian">Infos</a></p> 
<p>dm-crypt vs. truecrypt:<br />- beide können einen Container in einer Datei, einer Partition oder einem ganzen device einrichten, beide sind opensource und bier-frei, beide sind schwer genug zu knacken dass es aussichtsreicher ist, das Versteck für den Schlüssel zu finden.<br />- dm-crypt ist gefühlt paarmal schneller. Bei einem Container mit Passwörtern und Tagebüchern etc. macht das keinen nennenswerten Unterschied, aber bei einer TB-Platte mit der Musiksammlung dann schon.<br />- dafür hat truecrypt deutlich die Nase vorn, wenn man den Container mal von win*, mal von linux her öffnen möchte<br />- mit dem Konzept der <a href="http://www.truecrypt.org/docs/?s=plausible-deniability">plausible deniability</a> und <a href="http://www.truecrypt.org/hiddenvolume">hidden volumes</a> hat truecrypt ein Alleinstellungsmerkmal, das unter Umständen den Abstand zwischen Kopf und Kragen regulieren helfen kann.</p> 
<p>Vom Einsatz-Szenario her würde ich das Projekte-Device, auf dem unter anderem auch Vorhaben, die unter NDA stehen, gewiss auf dm-crypt legen, dito die Sammlung von vmware und vmbox - Maschinen oder Videos fraglicherer Herkunft.<br />Die MindMaps, Tagebücher, Liebesbriefe und org/finanzamt wären da eher auf einem trauecrypt-Volumen gut aufgehoben und die Sammlung von Belegen all' der schoflen &#160;Begebenheiten, die irgendwann mal reif für ein Upload nach wikileaks sein wird, käme wohl am besten zu truecrypt in ein hidden volume.</p> 
<p> </p> 
</div> 
<p> </p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>cryptsetup</dc:subject>
<dc:subject>encryption</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>luks</dc:subject>
<dc:subject>verschlüsselung</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/55-Air-Applikation-Dateien-im-.air-package.html" rel="alternate" title="Air Applikation: Dateien im .air-package " />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-14T21:31:25Z</published>
        <updated>2011-06-15T06:36:08Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=55</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=55</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/55-guid.html</id>
        <title type="html">Air Applikation: Dateien im .air-package </title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Mit Flex 3 eine air app als Installationspaket packen geht ja erstmal ganz leicht, Project/export release build &#160;und der wizzard macht es. Anschliessend sind (appName).swf und (appName)-app.xml in der .air, die letztlich auch nur ein .zip mit kleinen Extras ist.<br />Hakelig wurde es mir erst, als ich zu diesen beiden noch weitere Dateien &#160;(und Verzeichnissbäme) zufuegen wollte.</p> 
<p>Relevante Einträge im properties-wizzard sind 'Flex Compiler / Compuiler options: Copy non embedded files to output folder ' und dann im&#160;export release build - wizzard die letze Seite, wo man zu integrierende Ressourcen auswählen kann. Wenn sie denn gelistet werden. Was dort gelistet wird, gilt. Die Regeln dafür, was dort gelistet wird, sind nicht eben intuitiv.&#160;</p> 
<p>Basis dessen ist der Ordner (projektOrdner)/bin-release. Was man vor einem release build in einen solchen Ordner kopiert oder linkt, wird im dann erzeugten .air enthalten sein.<br />Problem gelöst - nur leider: als naechstes wird der ganze Folder bin-release gelöscht und neu aufgebaut, mit dem Minimal-'Content &#160;(appName).swf und (appName)-app.xml . Alles, was man da gesammelt hat, ist weg, und wenn man (wie hier, mit unterliegendem ext-Dateisystem) die Inhalte des bin-release per symLink eingestellt hat, ist auch gleich noch die Quelle des Links gelöscht. Einfach super. Alle Versuche, per Ownership oder Permissions oder HardLink oder was dies Löschen zu verhindern, führen zu bitterlichen Message-Boxen und sonst nirgendwohin.</p> 
<p>bin-release ist hier also ein - mittelfristig gesehen - dynamisches Verzeichnis und definitiv nicht der Ort, um irgendwas wichtiges abzulegen / anzusiedeln. Es gibt ein <a href="http://www.adobe.com/devnet/air/articles/tips_building_air_apps.html">best practice / howto von adobe</a>, das ernstlich empfiehlt, bei jedem release-build die Dateien/Ordner hier neu einzukopieren. Ja danke, man nennt sowas glaub' ich Sollbruchstelle. Oder broken design, oder so...<br />Faktisch ist die Quelle für den Aufbau des dynamisch erzeugten bin-release der Inhalt des src/, aber...:</p> 
<ul> 
<li>Verzeichnisse oder Verzeichnisbäume, die nicht wenigstens eine 'akzeptable' Datei enthalten, werden ignoriert</li> 
<li>*.as und *.mxml sind *nicht akzeptabel*</li> 
<li>wenn man also, wie ich, die Sache mit einem 'leeren' Verzeichnisbaum und einem Verzeichnis mit zwei .as testet, sieht man <strong>nichts</strong>.</li> 
</ul> 
<p>Entfernt in dem Zusammenhang: Ein Blog -<a href="http://flexblog.edchipman.ca/headless-building-on-linux"> Labor zu headless building</a> on Linux </p> 
            </div>
        </content>
        <dc:subject>adobe</dc:subject>
<dc:subject>air</dc:subject>
<dc:subject>flex</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/51-HTC-Desire-rooten.html" rel="alternate" title="HTC Desire rooten" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-05-27T15:53:07Z</published>
        <updated>2011-06-14T21:30:48Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=51</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=51</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/51-guid.html</id>
        <title type="html">HTC Desire rooten</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Bislang waren meine Versuche, mein Desire (mit Vodafone_uk - Branding, Bootloader 0.93, Froyo) zu rooten, gescheitert. <a href="http://unrevoked.com/" target="_blank">unrevoked</a> startete (auf Debian Squeeze / 64) entweder gar nicht oder mit Fehlermeldungen. <br />&quot;No protocol specified<br />Error: Unable to initialize gtk, is DISPLAY set properly?&quot;<br />64 Bit mag es wohl nicht. &#160;Eine Live-Distro (mint gefiel mir gut) mit 32 Bit half über die erste Hürde.</p> 
<p>Nun startete unrevoked, fand, bearbeitete und rebootete auch das Desire, aber dort erschien nur der Hinweis, die Anwendung zysploit sei unerwartet beendet worden, und unrevoked meldete dann &quot;Error: failed to get root. Is your firmware too new?&quot;&#160;<br />Ich hatte da mal ein OTA update akzeptiert und hielt das Desire schon für unrootbar. Aber dann stiess ich auf Berichte, dass es auch mit HBOOT 0.93 klappen kann und versuchte es erneut. &#160;</p> 
<p>Weitergeholfen hat mir letztlich ein Tip von <a href="http://www.brutzelstube.de/2011/unrevoked-funktioniert-nicht-error-failed-to-get-root-is-your-firmware-too-new/" target="_blank">dieser Seite</a>: Nämlich, vor dem Durchgang auf dem Desire die Anwendung Evo Zysploit zu desinstallieren. Die war da wohl von einem vorigen Anlauf mit einer älteren Version von unrevoked (3.22) noch übrig und im Wege.&#160;</p> 
<p>Und dann ging's auf einmal. <a href="http://downloads.unrevoked.com/recovery/3.32/reflash.tar.gz">unrevoked 3.32</a> lief durch und jetzt habe ich den Befehl su. Und eine Reihe anderer - hier die Liste der <a href="http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference" target="_blank">ADB Shell Command Reference</a></p> 
<p>Bei dem und den folgenden Schritten (Backups ziehen, anderes ROM flashen) war es mir sehr beruhigend, verständliche Hintergrundinfos und Howtos zu haben, und die <a href="http://www.brutzelstube.de/" target="_blank">Brutzelstube</a>&#160; hat davon einen ganzen Sack voll!</p> 
<p>Anschliessend kam ein Custom rom drauf, anhand dieser howto zu <a href="http://www.brutzelstube.de/2010/vorbereitung-custom-rom/" target="_blank">Vorbereitung</a>&#160;und <a href="http://www.brutzelstube.de/2010/flashen-eines-roms-am-beispiel-des-leedroid-rom/" target="_blank">flashen</a>. Das klappte erst mal gar nicht: obwohl ich brav jeden Schritt wie angeleitet nachvollzogen hatte, mochte mein Desire partout nicht mit dem neuen rom booten. Ich bekam den weissen Screen mit dem htc-Logo und das war's dann, egal wie lange ich wartete. </p> 
<p>Problem 1 war, wie ich dann entdeckte, dass bei der Partitionierung/Formatierung der ext3-Partition auf der sd-card etwas schief gegangen war. gparted &#160;akzeptierte das angestöpselte Desire klaglos als card reader, sah auch beide Partitionen aber auf der der neuen kein Format. Mit diesem tool die ext-Partition noch etwas vergroessert und formatiert, dabei den Partitionen gleich noch sprechende Namen gegeben und die Fehlermeldungen zum mounten der sd-ext waren Vergangenheit.</p> 
<p>Es bootete aber immer noch nicht. Was jetzt half, war im recovery den Eintrag advanced zu wählen und hier jedes angebotene &#160;wipe auszuführen (dalvik cache, battery stats). Welches von beiden letztlich das Hindernis ausräumte, weiß ich nicht, aber dann klappte es endlich und auf dem desire quieckte die Bootanimation von LeeDrOiD 2.4.1. Am nächsten Morgen noch mal gegoogelt und da ist tatsächlich über Nacht eine neue Version,&#160;<a href="http://forum.xda-developers.com/showthread.php?t=768703&amp;page=2135" target="_blank">LeeDrOiD 2.5-final</a>, released worden. Die liess sich dann ohne jegliches wipe, über die Vorversion drüberflashen.</p> 
<p>Und? Startpunkt der ganzen Aktion war ja, daß ich auf dem desire die ipv6 privacy extensions aktivieren wollte, wie <a href="http://www.heise.de/netze/artikel/IPv6-Privacy-Extensions-einschalten-1204783.html?artikelseite=4" target="_blank">von heise beschrieben</a>. Mit rooten allein ging das noch nicht, weil sysctl nicht zur Verfügung stand. Mit LeeDrOiD kommt eine busyBox &#160;und sogar ein nano. Ziel erreichbar.<br />Dann ist OpenVpn eingebunden, was die Tür zu manchem Projekt öffnet. Das Teil kennt jetzt einen Automodus mit klickarmem Menü zu Navigieren, Telefon, Kontakte, Musik. Noch ein paar nützliche Programme sind direkt eingebunden. Last but not least habe ich jetzt knapp 100 MB freien Telefonspeicher (vorher selbst nach großem Aufräumen kaum 14MB), was wohl dem&#160;<span style="border-collapse: collapse; color: #292b27; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 12px; "><em><a href="http://forum.xda-developers.com/showpost.php?p=7458565&amp;postcount=8" target="_blank">App2sd+</a></em> zu verdanken ist.</span></p><meta http-equiv="content-type" content="text/html; charset=utf-8" /><span style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; "><strong><font size="1" style="color: #0f0f0f; ">Kleine Nervensäge:</font><br /></strong>Nach Neustart empfängt das Desire SMS mit Zahlencode...<br /><font size="1"><strong>Lösung</strong>:</font><br />Im Menupunkt &quot;Kurzmitteilungen&quot; in Einstellungen&gt;Anrufen&gt;Kurznachricht &quot;Cell-Broadcasting&quot; aktivieren/deaktivieren<br />in Verbindung mit Neustart des Desire, also:<br /><br />&quot;Cell-Broadcasting&quot; aktivieren &gt; Neustart &gt; &quot;Cell-Broadcasting&quot; deaktivieren &gt; Neustart &gt; &quot;Cell-Broadcasting&quot; aktivieren<br /></span> 
<p> </p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
            </div>
        </content>
        <dc:subject>android</dc:subject>
<dc:subject>bash</dc:subject>
<dc:subject>desire</dc:subject>
<dc:subject>ipv6</dc:subject>
<dc:subject>privacy extension</dc:subject>
<dc:subject>root</dc:subject>
<dc:subject>unrevoked</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/54-Adobe-Air-application-desinstallieren-wie.html" rel="alternate" title="Adobe Air application desinstallieren - wie?" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-12T00:38:00Z</published>
        <updated>2011-06-13T23:04:20Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=54</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=54</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/54-guid.html</id>
        <title type="html">Adobe Air application desinstallieren - wie?</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>In einem früheren Eintrag hatte ich ja mal über die Mühen der Installation von Adobe Air unter 64 Bit Linux geschrieben, irgendwie habe ich es dann doch hinbekommen. Ich arbeite derzeit selbst an eine air app und brauchte es. Ok, mein debian squeeze kde 4.4.5 listet mir nun unter K / utilities den Ad. Air Installer, mit dem ich mir ein *.air package installieren kann. Läuft, wunderbar, beim naechsten Versiönchen will ich den neuen Stand installieren: geht nicht, eine app dieses Namens sei schon vorhanden. Mh, das lässt sich ändern, kurz mal auf /opt/ und da steht die App, F8 und weg ist sie. - Von wegen!</p> 
<p>Der Installer rödelt jetzt eine Weile und meldet dann, es habe ein Problem gegeben, sowas wie Fehler 1, und ich solle doch mal den Autor der Appp fragen. Fein! Wer immer sich solche Texte ausgedacht hat, in meinen Augen hat er sich eine rekursive Bastonade verdient. Wenn man sich schon die Mühe einer Messagebox macht, warum kann da dann nicht etwas stehen wie &quot; schauen sie doch mal in $LogDatei, wo wir die richtige Fehlermeldung für sie versteckt haben&quot;</p> 
<p>&#160;cat ~/.appdata/Adobe/AIR/Logs/Install.log &#160;in meinem Falle, und dort findet sich dann auch der Text zur Fehlernummer:&#160;<br />error 1 &#160;error: dpkg: Fehler beim Bearbeiten von /tmp/FlashTmp.xme90K/setup.deb (--install):; Versuch, »/opt/airBase/share/mimetype« zu überschreiben, welches auch in Paket &#160;airbase.6eb066ed6af4d1c4f05c36654e32b365cae9a188.1 v1 ist;</p> 
<p>Aha, deshalb das anfängliche Rödeln: der Air Installer hat das .air in ein .deb umverpackt und an dpkg übergeben.&#160;<br />dpkg -l|grep airbase (der momentane Arbeitstitel meines vorhabens) zeigt mir das installierte app,<br />dpkg -r PAKETNAME<br />macht es weg und dann tut auch der Installer wieder.</p> 
<p>Nun, es geht auch mit Software-Center/Installierte Anwendungen und jemand hat sogar einen speziellen<font size="2"> <span style="font-family: verdana; color: #000000; "><a href="http://blogs.media-tips.com/bernard.opic/uninstaller-for-adobe-air/">Uninstaller for Adobe AIR</a>&#160;geschrieben.</span></font></p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
            </div>
        </content>
        <dc:subject>adobe</dc:subject>
<dc:subject>air</dc:subject>
<dc:subject>installation</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/43-Bash-Loop-ueber-Dateinamen-mit-Leerzeichen.html" rel="alternate" title="Bash: Loop über Dateinamen mit Leerzeichen" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-04-11T16:35:27Z</published>
        <updated>2011-06-12T00:35:00Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=43</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/43-guid.html</id>
        <title type="html">Bash: Loop über Dateinamen mit Leerzeichen</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Für ein kleines script will ich ueber alle Verzeichnisse in einem directory in zeitlich sortierter Reihe loopen, <br />ls -tr<br />gibt mir eigentlich genau, was ich brauche. Aber es gibt Fehler bei Ordnernamen mit Leerzeichen, da das Leerzeichen als Trenner wirkt. &#160; Lösung? Trenner ändern:</p> 
<p>SAVEIFS=$IFS<br />IFS=$(echo -en &quot;\n\b&quot;)<br />for folder in `ls -tr $1`;do<br />echo $folder<br />done<br />IFS=$SAVEIFS</p> 
<div><br /></div> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/53-World-IPv6-Day-und-Traffik.html" rel="alternate" title="World IPv6 Day und Traffik" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-11T14:49:13Z</published>
        <updated>2011-06-11T16:39:02Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=53</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=53</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/53-guid.html</id>
        <title type="html">World IPv6 Day und Traffik</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Aus meiner Sicht machte der world IPv6 Day, grossspuriger Name fuer das zauderhafte Experimentieren mit IPv4/Ipv6 dual Stack der ganz grossen Anbieter, eigentlich erst nach seinem Ende Kummer:&#160;</p> 
<p>Als Google den allgemeinen IPv6 - Zugang wieder ausschaltete, brauchte das DNS einige Stunden, bis ich auf meinem gewohnten Weg - die google-zone ist an einen name server von he.net delegiert, der wiederum in googles whitelist steht und so ohnehin auch AAAA-records bekommt - ohne Verzögerung auf Google zugreifen konnte.</p> 
<p><img src="http://blog.dreckhaen.de/uploads/piwik_ipv6_day.png" align="right" hspace="10" vspace="10" /> </p> 
<p>HE verzeichnete fuer den Tag ein deutlich gestiegenes Interesse an Accounts und lustiger Weise hatte auch dieses kleine Blog auf einmal doppelt soviel Traffik als sonst. Was nicht viel heisst, zweimal fast nichts ist immer noch sehr wenig.&#160;</p> 
<p>Wobei ich mich in dem Zusammenhang etwas wundere:</p> 
<p>Ich setze für diese Seite <a href="http://piwik.org/">PIWIK</a>&#160; open source web analytics ein und sehe da mit Interesse immer mal drauf, mit welchen Suchanfragen Besucher hierher kommen, und verfolge mit Staunen, welche Platzierung ich dabei auf google.de bekomme:<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" /><font color="#444444" face="Arial, Verdana, Arial, Helvetica, sans-serif"><span style="font-size: 14px; line-height: 18px; white-space: nowrap; ">ipv6 nameserver / rank 4</span></font><br /><meta http-equiv="content-type" content="text/html; charset=utf-8" /><font color="#444444" face="Arial, Verdana, Arial, Helvetica, sans-serif"><span style="font-size: 14px; line-height: 18px; white-space: nowrap; ">startssl courier &#160;/ rank 4,5,6,7 (ja, vier Eintraege untereinander)<br /></span></font><meta http-equiv="content-type" content="text/html; charset=utf-8" /><span style="color: #444444; font-family: Arial, Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 18px; white-space: nowrap; ">radvd / rank 10<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" />k9 mail icon / rank 5 auf google.com<br /></span>unrevoked / rank 8&#160;<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" /><font color="#444444" face="Arial, Verdana, Arial, Helvetica, sans-serif"><span style="font-size: 14px; line-height: 18px; white-space: nowrap; ">android ipv6 / rank 8<br /></span></font>browser ipv6 / rank 3<br />wxglade / rank 7</p> 
<p>Und so weiter, ich spiele hier mit Google und der Liste der Suchbegriffe und lande eigentlich immer auf der ersten Seite. Was mich wohl freut, aber eigentlich kann ich es nicht recht verstehen, mal zum Beispiel &quot;radvd&quot;, dazu steht <a href="http://blog.dreckhaen.de/archives/23-radvd-oder-mit-einem-mal-ging-nichts-mehr.html">hier nun wirklich</a> nur ein Fitzel mit der knappen Schilderung einer Fehlkonfiguraton, und das soll jetzt der zehntrelevanteste Beitrag dazu im deutschsprachigen Web sein?&#160;<br />Ich dachte als erstes, ob Google wohl ein erweitertes Modul für <a href="de.wikipedia.org/wiki/Vanity_Search">vanity searches</a> hat, also quasi erkennt, wenn ich meinen Seiten hinterhergoogle, und mir schmeichelhafte Platzierungen vorgaukelt. Hm, Test darauf waere die Suche von einer ganz anderen IP und, noch wichtiger, einem ganz anderen Browser. Gesagt, getan: links und lynx von der cli des root-servers und die Platzierungen sind die gleichen. (NB: lynx kann ipv6, links nicht).<br />Googles <a href="http://www.heilbronn-seo.de/der-neue-google-algorithmus/">neuer Suchalgorithmus</a>, der Seiten mit originärem Content bevorzugt, kann es wohl auch nicht sein, denn er gilt, heisst es, nur für die USA. Bleibt nur das serendipity-Plugin&#160;<span style="font-family: 'trebuchet ms', 'bitstream vera sans', arial, sans-serif; -webkit-border-horizontal-spacing: 3px; -webkit-border-vertical-spacing: 3px; color: #000000; "><a title="serendipity_event_google_sitemap:874b94fec00926f26e1876773ffd8455" href="http://spartacus.s9y.org/index.php?mode=bygroups_event_en" style="color: #5f90ba; text-decoration: underline; ">Suchmaschinen-Sitemap Generator</a>&#160;, sowas scheint die Suchmaschine wirklich zu lieben.</span></p> 
<p>So, und jetzt die zweite Frage: mit so vielen top ten-Platzierungen auf ziemlich generische Suchbegriffe, warum bekomme ich da nicht viel viel mehr traffic? Offenbar klicken wirklich 99% der Leute auf den allerersten Eintrag.&#160;</p> 
<p>Und um jetzt abschliessend den Bogen zum anfänglichen Thema IPv6 zu bekommen, noch ein Punkt, über den ich mich schon etwas wundere: Google Analytics und PIWIK sammeln und präsentieren die schönsten Aufstellungen zu den Seiten-Nutzern und deren Browsereinstellungen, Betriebssystemen, Bildschirmgrößen, Plugins und was nicht - aber eine Aufstellung, wieviele mit IPv4 bzw IPv6 unterwegs waren, sucht man &#160;vergebens. IP-Adressen mit Doppelpunkten mobilisieren scheints kolossalen Widerstand.&#160;</p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<p><span style="color: #444444; font-family: Arial, Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 18px; white-space: nowrap; "><br /></span></p> 
            </div>
        </content>
        <dc:subject>google</dc:subject>
<dc:subject>ipv6</dc:subject>
<dc:subject>piwik</dc:subject>
<dc:subject>seo</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/52-Bitmap-auf-einem-Flex-Canvas-scrollt-nicht.html" rel="alternate" title="Bitmap auf einem Flex Canvas scrollt nicht?" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-06-07T14:46:05Z</published>
        <updated>2011-06-08T10:36:19Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=52</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=52</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/52-guid.html</id>
        <title type="html">Bitmap auf einem Flex Canvas scrollt nicht?</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>In einem Flex3-Projekt sollen die Bitmaps jetzt nicht mehr, wie vorher, zentriert in ihren Rahmen gecroppt stehen, sondern mit Scrollbalken. Mein alter Weg war, wie in der Adobe Referenz empfohlen, eine&#160;UIComponent zu erzeugen, der ich die Bitmap als Child gab und die ich wiederum als Child dem Canvas anfügte. Ging soweit wunderbar, aber wenn die Bitmap nun nicht mehr maskiert war und der Canvas sie hätte scrollen sollen, ignorierte er das stattdessen und zeigte sie aus dem Rahmen lappend an. Obwohl clipContent=true gesetzt war.</p> 
<p>Die Lösung fand ich <a href="http://williamjacobson.com/weblog/drawing-bitmapdata-to-a-flex-canvas/">in einem Blog</a>&#160;:&#160;<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" /><span style="color: #29303b; font-family: Georgia, Verdana, Arial, serif; font-size: 12px; "> </span></p> 
<pre>var myBitmap:Bitmap = new Bitmap(myBitmapData);
var myImage:Image = new Image();
myImage.source = myBitmap;
myCanvas.addChild(myImage);
</pre> 
<p>Die Magie liegt hier darin, die source - property zu setzen</p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>adobe</dc:subject>
<dc:subject>flex</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/50-Windows-7-in-vm-ohne-Aktivierung.html" rel="alternate" title="Windows 7 in vm ohne Aktivierung" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-05-18T23:15:07Z</published>
        <updated>2011-06-07T12:49:57Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=50</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=50</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/50-guid.html</id>
        <title type="html">Windows 7 in vm ohne Aktivierung</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Die c't hat in Heft 2011/11 S.121 einen Tip, wie man eine windows 7 - Installation in einer virtuellen Maschine &quot;aktivierungssicher&quot; hinbekommt. Der sei hier kurz notiert:</p> 
<p>win7 läuft ja 30 Tage ohne Aktivierung. Diese Karenzzeit kann man auch noch drei mal verlängern. Dazu öffnet man ein cmd-Fenster mit Admin-Rechten und gibt dort <br />slmgr -rearm&#160;<br />ein. Dann nuddelt die Kiste etwas, bis sich ein Fenster öffnet mit dem Hinweis, der Befehl sei erfolgreich abgeschlossen und man müsse nun den Rechner neu starten. Aber genau das tut man jetzt <u>nich</u>t!<br />Tatsächlich ist nämlich nur die Umsetzung des Befehls als Task im Zuge des nächsten Boot eingetragen worden. Anschliessend wird das System 30 Tage wie aktiviert laufen.</p> 
<p>Und jetzt macht man keinen Neustart, sondern fährt die vm stattdessen einfach runter. Anschliessend legt man einen Snapshot an (oder kopiert den aktuellen Stand der vm). Wenn man später auf diesen snapshot zurückgeht und bootet, wird mit dem boot die Zeitverlängerung ausgeführt und nach dem Bo0t hat man ein windows, dass für die nächsten 30 Tage frisch bleibt.&#160;</p> 
<p>Wenn die Zeit abgelaufen ist, geht man auf den Snapshot zurück und die Uhr läuft von vorn. Im Prinzip kann man das beliebig oft wiederholen, ohne dabei die drei Rearms aufzubrauchen. &#160;Für eine vm, die nur mit Abständen, als Testsystem, angeworfen wird, ist das ein ausgesprochen praktisches Setup. (Gerade bei solchen Testsystemen verstreicht die zeitweise Aktivierung oft ungenutzt, während das System ruht, und wenn man sie dann zum Leben erweckt und das Datum lange abgelaufen ist, schwärzt sie sich ein, ehe man den nächsten Rearm vornehmen konnte.) </p> 
<p>Dabei verliert man freilich jedesmal alle Updates und veränderten Einstellungen, man sollte also, ehe man den Snapshot anlegt, das System sorgfältig so konfigurieren, wie man es später immer wieder vorfinden möchte. Eine Möglichkeit, manche Daten und Einstellungen persistent zu halten, ist, mehr als ein einziges HD-Image in die vm einzubinden.&#160;</p> 
<p>Wieviele Rearm-Versuche noch übrig sind, verrät der Befehl:<br />slmgr -dlv&#160;</p> 
<p>und an welchem Datum die zeitweilige Aktivierung ausläuft, zeigt:<br />slmgr -xpr</p>
<p><font size="1"><strong>Kleiner Nachtrag:</strong></font></p>
<p>Die Festplatte &#160;einer anderen vm war etwas klein gewaehlt und es stellte sich die Frage, wie ich sie vergroessern koennte. Ich bin <a href="http://forums.virtualbox.org/viewtopic.php?t=2517">dieser Anleitung</a> gefolgt, die device names der Platten waren etwas anders aber ansonsten ging's prima.</p> 
            </div>
        </content>
        <dc:subject>aktivierung</dc:subject>
<dc:subject>microsoft</dc:subject>
<dc:subject>snapshot</dc:subject>
<dc:subject>virtualbox</dc:subject>
<dc:subject>vm</dc:subject>
<dc:subject>windows 7</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/49-Windows-7-Netzwerkverbindungs-Test.html" rel="alternate" title="Windows 7 Netzwerkverbindungs-Test" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-05-18T08:18:04Z</published>
        <updated>2011-05-18T08:18:04Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=49</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=49</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/49-guid.html</id>
        <title type="html">Windows 7 Netzwerkverbindungs-Test</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="http://slashdot.org/">Slashdot</a> <a href="http://tech.slashdot.org/story/11/05/17/2355256/How-Windows-7-Knows-About-Your-Internet-Connection">verweist</a> auf ein kleines <a href="http://blog.superuser.com/2011/05/16/windows-7-network-awareness/">Forschungsergebnis, das Nathan Hinkle</a> in seinem Blog berichtet: Es geht darum, wie Windows 7 den Status von Netzwerk: Internetzugriff ermittelt. Es ruft zuhause an und man kann es leicht auf einen eigenen Server umbiegen, was Datenspuren vermeidet und evtl. sogar das Wiederfinden gestohlener Hardware ermöglichen kann. Spannend, will es hier kurz festhalten.</p> 
<p>Immer, wenn eine WLAN-Verbindung eines Laptops mit win7 eine Authentizifierung vom Browser benötigt, Hotspots in Bahnhöfen oder Hotels zum Beispiel, weiss win7 das irgendwie. Und es erkennt es auch, wenn die Internetverbindung nicht funktioniert, und kann dabei zwischen lokaler Verbindung im LAN und voller Verbindung unterscheiden. Wie macht es das?&#160;</p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<p>Das Feature heisst NCSI für Network Connection Status Indicator und basiert im Kern auf zwei Abfragen:<br /> </p>
<p>1. Eine DNS - Suche und Abruf von <a href="http://www.msftncsi.com/ncsi.txt">http://www.msftncsi.com/ncsi.txt</a>. Das ist eine einfache Textdatei mit dem Inhalt 'Microsoft NCSI'.<br />2.&#160;DNS - Suche nach&#160;dns.msftncsi.com. Dann wird geprüft, ob der Name nach &#160;131.107.255.255 aufgelöst wird. Wenn die Adresse nicht zu dieser IP aufgelöst wird, wird angenommen, dass die Internetverbindung nicht korrekt funktioniert.&#160;</p> 
<p>So, und das steht natürlich irgendwo in der Registry, nämlich hier:<br />HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet</p> 
<p>Die meisten Unterschlüssel sind ziemlich sprechend benannt und &#160;da kann man nun seinen eigenen Server, ncsi.txt, IP etc einschreiben. Was zum einen den eigenen Rechner aus dem grossen &quot;Wann läuft unter welcher IP ein Rechner mit windows 7&quot;- Datenpool der Redmonder herausnimmt. Und potentiell eine Hilfe ist, gestohlene Hardware zu verfolgen, vorausgesetzt der so präparierte Rechner wird mit Netzverbindung gestartet, ohne dass als erstes das Betriebssystem neu installiert wurde.&#160;</p> 
<p> </p> 
<p>&#160;</p> 
            </div>
        </content>
        <dc:subject>DNS</dc:subject>
<dc:subject>microsoft</dc:subject>
<dc:subject>network</dc:subject>
<dc:subject>windows 7</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/47-MindMaps-Xmind-FreeMind.html" rel="alternate" title="MindMaps: Xmind -&gt; FreeMind" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-04-20T23:37:07Z</published>
        <updated>2011-05-17T15:48:34Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=47</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=47</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/47-guid.html</id>
        <title type="html">MindMaps: Xmind -&gt; FreeMind</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Ich setze zur Strukturierung meiner Gedanken gerne MindMaps ein und, was die Software angeht, schon seit längerem <a href="http://www.xmind.org/">XMind</a>. Das ist in Java und so für Win*, MacOsX und Linux (für versch. Architekturen und Distros) verfügbar, sieht ansprechend aus, läuft stabil, ist in einer kostenlosen Variante verfügbar (dazu gleich mehr) und hat nur einen Haken: es versucht den alten Dateiformat-Marketingtrick, nämlich einerseits viele Importformate zu unterstützen, andererseits aber den Export geizig zu handhaben. Erst die kostenpflichtige Pro-Version unterstützt den Export nach .mmap oder .mm, die kostenlose Version bietet in der Zusammenarbeit mit anderen MindMap-Softwares nur Einbahnstrassen.&#160;</p> 
<p>Was den Nutzen der Software für die Zusammenarbeit mit anderen doch sehr reduziert, und auch schmerzt, wenn eine Plattform dazukommt, die XMind nicht bedient: in meinem Fall Android 2.3. Da gibt es im Market eine recht überschaubare Anzahl von Mindmap appls, <a href="http://www.thinkingspace.net/">ThinkingSpace</a> und sonst nicht viel.</p> 
<p>ThinkingSpace liest und schreibt .mm, und wenn ich also meine am Desktop begonnenen Überlegungen zu einem Thema während der Bahnfahrt auf dem SmartPhone weiterführen will, muss ich die Frage der Dateikonvertierung lösen. (oops, siehe <strong><font size="1">Update</font></strong> unten!) Leider ist MindMapping eher ein Nischenthema und eine Suche nach Konvertern für die drei Dateiformate .xmind, .mmap und .mm geht leer aus.&#160;</p> 
<p>Noch einmal zu der kostenlosen Version von XMind: sie ist <a href="http://en.wikipedia.org/wiki/XMIND">Crippleware</a>. Ich hatte, noch unter win*, eine aktuelle Version installiert, die etliche MenueEinträge enthielt, die immer nur auf die Pro-Version verwiesen. Die letzte Version, die all' diese - eh nicht verfügbaren - Features auch gar nicht erst anpries, war Version: 3.0.1. das ist auch die Version, die ich unter allen drei OSen einsetze. </p> 
<p>Meine Suche nach Datei-Konvertern führte mich nun dazu, dass es die Sourcen für XMind in einem bestimmten Featureset auch als <a href="http://sourceforge.net/projects/xmind3/">Opensource</a> gibt. &#160;Will heissen: die Opensource-Version 3.2.1 sieht für mich bis auf ein entscheidendes Detail (Exportformate!) einfach gleich aus. Kein Feature-Spam in den Menüs und FreeMind als ExportOption: was wollte ich mehr?</p> 
<p>Nun, nach dem Download der Sourcen in einem .zip stellte sich zunächst erst mal die Frage, wie ich das zum Laufen bekomme. Java ist ja doch eher unbekanntes Terrain für mich. Es fand sich aber ein sehr hilfreiches Kochrezept auf <a href="http://code.google.com/p/xmind3/wiki/How_to_build_XMind_from_source">code.google.com/p/xmind3/wiki/How_to_build_XMind_from_source</a>&#160;&#160;dem ich gefolgt bin und letztlich auch mit Erfolg. Ich hatte aber schon einige Hürden zu überwinden.</p> 
<p>Step 1.3: &#160;Copy to&#160;<span style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; color: #000000; ">{ECLIPSE}/plugins/<br />ich habe die drei letztlich sowohl zu&#160;/home/username/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins als auch nach /usr/lib/eclipse/plugins/ kopiert, habe auch alle in den Comments erwähnten restart/refresh/reloads angewandt, aber aber...</span></p> 
<p>Step 1.5: &#160;Available Software Sites braucht Add: http://download.eclipse.org/tools/gef/updates/releases/</p> 
<p>Step 3.2: stehe aber dennoch mit 62 Error da, die sich offenbar alle auf bouncycastle zurückführten. Was es letztlich brachte war, diesem Comment zu folgen:<br />&quot;Here is what I did to fix it easily.<br />Right clicked org.bouncycastle jar, choose import<br />Chose Plugin Development &gt; Plugins and Fragments<br />Took defaults - hit Next<br />Choose the org.bouncycastle jar, then &quot;Add&quot;<br />Finish. <br />Project is now in workspace and everything compiles.&quot;</p> 
<p>Fein, nun läuft es als eclipse-&gt; run, wie ich es zu einem standalone compiliere bzw packe, habe ich noch nicht erforscht. Aber mit ps faux|less konnte ich mir die command line mit allen Optionen heraussuchen und habe sie in eine ~/bin/xmind.sh gesteckt, die sich, mit dem KDE - Menu Editor ohne weiteres in das Menu einbinden liess und funzt. </p> 
<p>Alles geht wie zuvor, nur zusätzlich endlich eine Export-Option nach FreeMind. &#160;</p> 
<p> </p> 
<div>
<p><strong>Update</strong>: <br />Hatte ich nur nicht richtig hingesehen oder hat ThinkingSpace seither dazugelernt? Jedenfalls kann die App jetzt Freemind, Mindjet und XMind - Format lesen und Schreiben, verbindet sich optional auch mit <a href="http://www.mindmeister.com/">MindMeister</a>. </p>
<p>Und so kann man es zum Konvertieren benutzen:<br />- die.xmind auf die SD-Karte schieben<br />- ThinkingSpace-&gt;Menu-&gt;Einstellungen-&gt;Default file format-&gt;Freemind auswählen<br />- Rücktaste, in der Liste der vorhandenen mindmaps lange auf die.xmind druecken<br />- öffnet sich Kontext-Menü, da Kopieren wählen.<br />- OK, jetzt gibt es auf der SD-Karte neben die.xmind auch die.mm&#160;</p>
</div> 
<p> </p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
            </div>
        </content>
        <dc:subject>convert</dc:subject>
<dc:subject>eclipse</dc:subject>
<dc:subject>freemind</dc:subject>
<dc:subject>java</dc:subject>
<dc:subject>mindmap</dc:subject>
<dc:subject>mindmeister</dc:subject>
<dc:subject>thinkingspace</dc:subject>
<dc:subject>xmind</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/46-Snapper-und-SnapUtil.html" rel="alternate" title="Snapper und SnapUtil" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-04-12T00:18:01Z</published>
        <updated>2011-05-13T13:50:23Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=46</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=46</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/46-guid.html</id>
        <title type="html">Snapper und SnapUtil</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>An <a href="http://blog.dreckhaen.de/archives/37-TimeMachine-on-the-Linux-box.html">earlier post</a> described my TimeMachine-inspired SnapShot backup based on rsync and hard links downloadable there. It has been very useful for me already. You know how things can happen, I was working on a script which should empty a certain directory before writing new files there and at some point substituted the hard-coded path to that directory with a parameter, and then tested the thing forgetting to enter the path-parameter.<br />Thus,&#160;<br />rm -rf $DEST_BASE/* &#160;effectivly turned into&#160;<br />rm -rf /*</p> 
<p>I was so glad my last snapShot was but 70 min old.</p> 
<p>Then I had to detail the steps and times of working on a certain project a posteriori, which files had been edited over what times on which days? A series of snapShots is basically a very good source for this kind of research, but in praxis it turned out to be uncomfortabel to always walk the pathes up and down between the parallel snapShot directories.</p> 
<p>Typically the folders I wanted to compare always share a common relative path, like <br />snapShots/snap1/some/longish/and/winded/path&#160;<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" />snapShots/snap2/some/longish/and/winded/path&#160;<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" />snapShots/snap3/some/longish/and/winded/path&#160;<br />and I soon started to wish I had symlinks to the destinations in a special folder. And while in some cases I want to see all the files, in other cases I'd rather only have the files that got changed between one snapShot and the next.</p> 
<p>So I ended up creating a tool to build just this.</p> 
<p>At the core this is a bash shell script which gets the pathes to the snapShot base, the relative path to link, the destination dir to place the symlinks in and then walks the file tree. It is supported by a gui front end that makes picking the pathes and setting the parameters so much easier. &#160;</p> 
<p>Together they form SnapUtil, based on Bash, Python_2.6 and wxPython. This is an early alpha version, GPL 2, &#160;<a href="files/snapUtil_03.tar.gz" target="_blank">download</a> .</p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>backup</dc:subject>
<dc:subject>bash</dc:subject>
<dc:subject>download</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>phython</dc:subject>
<dc:subject>snapshot</dc:subject>
<dc:subject>timemachine</dc:subject>
<dc:subject>wxpython</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/25-fail2ban-fails-to-start.html" rel="alternate" title="fail2ban fails to start" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-01-27T16:16:58Z</published>
        <updated>2011-05-13T10:36:09Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=25</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=25</wfw:commentRss>
    
            <category scheme="http://blog.dreckhaen.de/categories/6-WebServer" label="WebServer" term="WebServer" />
    
        <id>http://blog.dreckhaen.de/archives/25-guid.html</id>
        <title type="html">fail2ban fails to start</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I discovered loads of entries in mail.log logging dicionary attacks on port 110. And, going back in time, the logs showed more than just one dictionary being used, and it had been going for some time. Well, it litters the logs and you don't want to risk that finally one of them gets lucky with a user password so I searched for a way to stop the attacks.<br />I already used denyhosts against brute force attacks on ssh, which works fine but is limited to ssh. Instead I found out about fail2ban.&#160;</p>
<p>It does what I need now but it took some smoothing of edges till I got there.</p> 
<p>debian lenny, python 2.5.2 and fail2ban v 0.8.3 wouldn't play nice together.&#160;Fail2ban v0.8.3 apparently doesn't run with python2.5 but needs python2.4 instead</p> 
<p><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496633">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=496633</a> describes the sort of thing I experienced and I followed the workaround given there:</p> 
<p>apt-get install python2.4<br />apt-get install fail2ban
</p> 
<p>now edit both /usr/bin/fail2ban-server and /usr/bin/fail2ban-client, first line, to point towards &#160;python2.4 (and not python).</p> 
<p> </p> 
<p>#!/usr/bin/python2.4</p> 
<p> </p> 
<p>Now fail2ban ran but still wouldn't stop the attacks. I followed the howto at <a href="http://www.howtoforge.com/fail2ban_debian_etch">http://www.howtoforge.com/fail2ban_debian_etch</a>&#160;and while I have found plenty of good advice on that site before and after, this one didn't just work. Additionally to the config described therein a file&#160;&#160;filter.d/pop3d.conf was needed (which is easily supplied by&#160;<br />cp courierlogin.conf pop3d.conf</p>
<p>Further on I had to remove a line from &#160;jail.local until it looked like this:</p> 
<p>[pop3d]<br />enabled = true<br />port = pop3 &#160;&#160;<br />filter = pop3d<br />logpath = /var/log/mail.log<br />maxretry = 5</p> 
<p>One thing which irritated me debugging the problem was that fail2ban didn't report the errors in the log file even though I had the loglevel set up to 4. To get to see the errors I had to run two shells, running &#160;<br />/usr/bin/fail2ban-server -x -f<br />in one of them and then&#160;<br />/usr/bin/fail2ban-client reload<br />in the other one.</p> 
<p>Update:</p> 
<p>Later, I found thousands of log entries re SASL LOGIN:<br />Feb 10 16:55:42 pipit postfix/smtpd[21738]: warning: unknown[95.62.75.67]: SASL LOGIN authentication failed: authentication failure<br />Feb 10 16:55:49 pipit postfix/smtpd[21738]: warning: unknown[95.62.75.67]: SASL LOGIN authentication failed: authentication failure<br />Feb 10 16:55:56 pipit postfix/smtpd[21738]: warning: unknown[95.62.75.67]: SASL LOGIN authentication failed: authentication failure</p> 
<p>There was a filter for SASL in the config but it didn't seem to catch them. Google once again found <a href="http://www.howtoforge.com/forums/showthread.php?t=51349">prior art</a>&#160; and the regexp from there did the job:</p>
<p>&#160;failregex = (?i): warning: [-._\w]+\[&lt;HOST&gt;\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w</p> 
            </div>
        </content>
        <dc:subject>bug</dc:subject>
<dc:subject>courier</dc:subject>
<dc:subject>debian</dc:subject>
<dc:subject>dictionary attack</dc:subject>
<dc:subject>fail2ban</dc:subject>
<dc:subject>lenny</dc:subject>
<dc:subject>pop3</dc:subject>
<dc:subject>python</dc:subject>
<dc:subject>webserver</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/37-TimeMachine-on-the-Linux-box.html" rel="alternate" title="TimeMachine on the Linux box" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-02-23T22:14:16Z</published>
        <updated>2011-05-07T14:41:42Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=37</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/37-guid.html</id>
        <title type="html">TimeMachine on the Linux box</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; background-color: #faffff; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; color: #333333; font-size: 9.5pt; font-weight: normal; font-family: verdana, arial, geneva, helvetica, sans-serif; direction: ltr; "> 
<div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; background-color: #faffff; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; color: #333333; font-size: 9.5pt; font-weight: normal; font-family: verdana, arial, geneva, helvetica, sans-serif; direction: ltr; "> 
<p>So that headline was made to attract. TimeMachine as it comes on a Mac with that timel tunnel interface and it looks so easy and intuitive - I found nohing of that sort for Linux desktop even when there were <a href="http://lifehacker.com/#!275399/timevault-time-machine-for-linux">some</a> <a href="http://www.tecchannel.de/pc_mobile/tools/2019625/flyback_backup_tool_fuer_linux/">attempts</a> to go into that <a href="http://code.google.com/p/flyback/">direction</a>. And I didn't try that, too, <a href="http://blog.interlinked.org/tutorials/rsync_time_machine.html">command line interface</a> seemed good enough for me.&#160;</p> 
<p>Minus Interface, minus application-awareness remains this: create a series of dated backups with less granularity the more you go into the past in surprisingly compact format.</p> 
<p>The best idea how to accomplish that i could find <a href="http://www.mikerubel.org/computers/rsync_snapshots">lives here</a>, the tools we need are rsync, cp and rm.  <br />It works like so: We have a list of sources we want to include in that backup and a destination directory. When called for the first time rsync creates a copy of all the backup sources at the destination, in a subdirectory of its own, let's call it backup.00. On the next run, this earlier backup gets renamed to backup.01 and then a new backup.00 gets created as a hard link of the previous one. Now rsync does it's job, comparing the content of the source directories with the hard linked copy and only if it detects a change it copies only the changed files and folders into the new backup folder.&#160;</p> 
<p>Seen from the hard drives point of view we now have a bunch of hard links in the backup folder with only a relatively small number of changed files sitting next to them. However, looking at it with a file manager it is a 1:1 copy of the original source folders at the time of creation. Rinse and repeat and we get a collection of snapshots of the state of our source directories.</p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<p>&#160;Done in a rather space efficient way&#160;a hourly cron job may pack a large number of snapshots next to each other but eventually the drive will still overfow, so we need to teach that digital memory how to forget. We need a range limit so when the backup folder names get shifted up and the oldest exceeds the given limit this folder gets deleted. </p> 
<p>Up to now we just created houly snapshots, now we introduce more time classes, i.e. daily, weekly, monthly, seasonly, yearly. Add range limits for each of them and a script to add the latest of one time class as the first of the next (and shift the names of the folders up) and we have a clockwork of backups remebering the major changes on our sources for a long time while slowly forgetting the details.</p> 
<p>After some time running we have in our snapShot folder hourly.00 .. hourly.23, daily.00 .. daily.06, weekly.00 .. weekly.03, etc. Performance depends mostly on hd througput and the size of the source data, cpu is only the third important factor.</p> 
<p>In praxis, writing a lot of data onto a huge but somewhat slow external usb drive with a crypted filesystem I found &#160;that two lines of the original script took most of the time:&#160;<br />deleting the the oldest folder with rm -rf and creating the hard linked copy with cp -al. So I modified the script to calling rsync with the --link-dest option which turned out to be much faster. And Instead of deleting the recycled backup immediately I move it into a trash folder which in turn gets emptied by a clean-up script late at night when it doesn't hurt.&#160;</p> 
<p><a href="http://blog.dreckhaen.de/files/snapper_0.65.tar.gz">snapper_065.tar.gz</a></p> 
<p>If you have locate/updatedb installied (as many distros have) you might want to adapt the config at /etc/updatedb.conf since all those snapshots create an ocean of file pathes and you really don't want to get them listed if you try to locate a file. And running over the snapshots makes updatedb take forever...</p> 
<p>In&#160;<a href="http://linux.die.net/man/5/updatedb.conf">/etc/updatedb.conf</a> there is PRUNEPATHS=&quot;&quot;, a space delimited list of directories which should not get included into the locate - data base. Just put the path to your snapShot directory into this.</p> 
<p> </p> 
</div> 
</div> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/48-Ubuntu-low-graphics-mode-error.html" rel="alternate" title="Ubuntu low graphics mode error" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-04-28T01:24:06Z</published>
        <updated>2011-04-28T01:24:06Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=48</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=48</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/48-guid.html</id>
        <title type="html">Ubuntu low graphics mode error</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Dabei, eine verwahrloste Ubuntu karmic koala installation wieder zu reanimieren, im default boot bekomme ich eine graphische Messagebox mit dem Text:<br /><meta http-equiv="content-type" content="text/html; charset=utf-8" /><span style="font-family: Verdana, Arial, Tahoma; font-size: 12px; color: #000000; ">'Ubuntu is running in low-graphics mode. The following error was encountered. You may need to update your configuration to solve this. <br /><br />(EE) open /dev/fb0: No such file or directory'</span></p> 
<p>Im weiteren gibt es eine Reihe Optionen, die vielversprechend klingen und alle ins Nichts führen. Boote ich dagegen in den SingleUser und dort in eine root shell und gebe dann <br />telinit 2<br />startx<br />ein, dann geht alles fein. </p> 
<p>Zuvor lief die Kiste headless mit einem minimalistischen xfce4, der nie wirklich benutzt wurde, jetzt hatte ich gnome-core installiert.</p> 
<p>Die Lösung: gdm fehlte. Den nachinstalliert und das Ding bootet graphisch.<br />(wie ich Ubuntu aber in einen altmodischen Textmode-Boot mit anschliessender Konsole zwinge, bleibt mir weierhin ein Rätsel.)</p> 
            </div>
        </content>
        <dc:subject>broken</dc:subject>
<dc:subject>gdm</dc:subject>
<dc:subject>low-graphics</dc:subject>
<dc:subject>ubuntu</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/45-python-fuer-den-Desktop.html" rel="alternate" title="python für den Desktop" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-04-11T23:14:38Z</published>
        <updated>2011-04-12T15:38:33Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=45</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=45</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/45-guid.html</id>
        <title type="html">python für den Desktop</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Um einem shell-script eine bequemes grafisches Frontend zu geben habe ich mich in python und wxPython versucht, und sah mich nach einer IDE um. B<a href="http://boa-constructor.sourceforge.net/">oa Constructor</a>&#160;&#160;sah zunächst, trotz des haesslichen Icons, recht vielversprechend aus, erwies sich aber leider als sehr absturzfreudig und im Ernst: ein IDE, die mir schon bei den kleinen Anfangsschritten immer wieder unter den Fingern verschwindet und keine Vorkehrungen trifft, Editiertes vor dem Abgang noch gespeichert zu bekommen, scheint mir nicht nützlich.</p> 
<p>Im zweiten Anlauf habe ich es dann mit einer Combo von Wing IDE und &#160;WxGlade versucht, und war ganz angetan und erstaunlich schnell produktiv. wingware ist ein kommerzielle Produkt und kommt in einer Staffel von Versionen, <a href="http://wingware.com/downloads/wingide-101/4.0.1-1/installers">eine davon ist kostenlos</a>&#160;und für den Anfang genügend. ScriptEditor und Interpreter-Prompt, mehr habe ich davon erstmal nicht benutzt.</p> 
<p>Und zum Design des gui diente wxGlade, wobei mich die <a href="http://wxglade.sourceforge.net/">offizielle Seite</a> zum Download gleich auf einen<a href="https://bitbucket.org/agriggio/wxglade/"> fork verwies</a>. Dies Projekt ist regelmaessig gepflegt und hat sich eigentlich ganz gut bewährt. Sobald man raus hat, dass man für alles immer erst mal einen sizer platzieren muss und was das Feld Proportion anrichtet, geht es doch recht flott. wxGlade kommt mit einem kleinen tutorial, von dem auch das Ende (9. Notes) lesenswert ist. </p>
<p>Besonders gefreut hat mich, dass wxGlade bei der Code-Generierung sehr zurückhaltend zu Werke geht und bei Neugenerierung nur bestimmte, ausdrücklich mit &#160;&quot; begin wxGlade:&quot; bzw. &quot;&#160;end wxGlade&quot; getaggte Bereiche überschreibt. So dass meine anfängliche Sorge, andere Bearbeitungen mit jedem Update des Designs wieder zu verlieren, sich als ganz unbegründet erwies. Gut!</p> 
<p> </p> 
            </div>
        </content>
        <dc:subject>python</dc:subject>
<dc:subject>wingide</dc:subject>
<dc:subject>wxglade</dc:subject>
<dc:subject>wxpython</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/39-Android-kann-IPv6,-adb-aber-nicht.html" rel="alternate" title="Android kann IPv6, adb aber nicht " />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-03-03T18:13:09Z</published>
        <updated>2011-03-15T19:38:02Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=39</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/39-guid.html</id>
        <title type="html">Android kann IPv6, adb aber nicht </title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; background-color: #faffff; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; color: #333333; font-size: 9.5pt; font-weight: normal; font-family: verdana, arial, geneva, helvetica, sans-serif; direction: ltr; "> 
<p>I started to work on a little thing for Android and whenever I run it from eclipse the console messages: &#160;<span style="color: #2d102d; font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif; line-height: 18px; ">&quot;Warning: No DNS servers found&quot;. Google yields the advice to double check /etc/resolv.conf which looks all valid, works (and hasn't been changed for some time). But since I'm moving towards an &quot;IPv6 first&quot; - setup in my Lan resolv.conf has only IPv6-reachable entries. Which apparently works fine with allmost everything except the android development tools. I reintroduced an IPv4 entry and the messages were gone. &#160;So while Android itself does IPv6 nicely, the devel tools (i.e. adb) do not.</span></p><meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<p><br /></p> 
</div> <br /><a href="http://blog.dreckhaen.de/archives/39-Android-kann-IPv6,-adb-aber-nicht.html#extended">Continue reading "Android kann IPv6, adb aber nicht "</a>
            </div>
        </content>
        <dc:subject>adb</dc:subject>
<dc:subject>android</dc:subject>
<dc:subject>dns</dc:subject>
<dc:subject>eclipse</dc:subject>
<dc:subject>ipv6</dc:subject>

    </entry>
    <entry>
        <link href="http://blog.dreckhaen.de/archives/41-Flex3-SDK-doesnt-like-64Bit-Java.html" rel="alternate" title="Flex3 SDK doesn't like 64Bit Java" />
        <author>
            <name>daniel</name>
                    </author>
    
        <published>2011-03-07T12:56:40Z</published>
        <updated>2011-03-15T07:51:26Z</updated>
        <wfw:comment>http://blog.dreckhaen.de/wfwcomment.php?cid=41</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.dreckhaen.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=41</wfw:commentRss>
    
    
        <id>http://blog.dreckhaen.de/archives/41-guid.html</id>
        <title type="html">Flex3 SDK doesn't like 64Bit Java</title>
        <content type="xhtml" xml:base="http://blog.dreckhaen.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I stumbled over this when I I had to fix a little something on an older project Flex3 and a certain part needed to get compiled by mxmlc.exe. But it wouldn't, all the path names etc. looked just fine but mxmlc wouldn't even start. &#160;All I got was a message in the command line interface like:</p> 
<p>Exception in thread &quot;main&quot; java.lang.UnsupportedClassVersionError: flex2/tools/Compiler (Unsupported major.minor version&#160;&#160;48.0)<br />&#160;&#160; &#160; &#160; &#160;at java.lang.ClassLoader.defineClass0(Native Method)<br />&#160;&#160; &#160; &#160; &#160;at java.lang.ClassLoader.defineClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.security.SecureClassLoader.defineClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.net.URLClassLoader.defineClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.net.URLClassLoader.access$100(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.net.URLClassLoader$1.run(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.security.AccessController.doPrivileged(Native Method)<br />&#160;&#160; &#160; &#160; &#160;at java.net.URLClassLoader.findClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.lang.ClassLoader.loadClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.lang.ClassLoader.loadClass(Unknown Source)<br />&#160;&#160; &#160; &#160; &#160;at java.lang.ClassLoader.loadClassInternal(Unknown Source)</p> 
<p>And why flex2? Google didn't help much, I found a thread in the Adobe Knowledge base with a matching description but no useful answer, the OP got the advice to edit the build.xml file but it didn't solve his problem and looking at mine it looked just fine.</p> 
<p>It took me ages of search until I found someone mention &#160;64 Bit difficulties: and yes, move the sdk and projekt files to a 32 bit environment in a vm and it compiles nicely.</p> 
<p>What is it with adobe and 64 bit: no flash debug player on linux, no air runtime on linux and the mxmlc dompiler doesn't even run on 64 bit Windows. &#160;</p> 
            </div>
        </content>
        <dc:subject>adobe</dc:subject>
<dc:subject>bug</dc:subject>
<dc:subject>flex</dc:subject>
<dc:subject>x64</dc:subject>

    </entry>

</feed>
