Kategorien
Blog

Ein neues Hobby?

Gehen ist gesund. Darum versuche ich, die komplett sitzende Tätigkeit wenigstens am Wochenende mit etwas Bewegung auszugleichen. Leider haben die Kinder so überhaupt keine Lust auf unsere Spaziergänge, und so sind wir — auch durch den CRE zum Thema — auf die Idee gekommen, die Wege mit einer modernen Schatzsuche zu verbinden. Mir macht das bisher großen Spaß, und so haben wir letzten Sonntag zwei Caches gefunden:

… und heute gleich drei:

Nur die Kinder jammern genau so viel wie vorher. Für die müssen wir uns wohl noch was anderes einfallen lassen.

(Das Geocaching-Logo ist ein registriertes Markenzeichen von Groundspeak, Inc.)

Kategorien
Blog

kalt

„Turnuswechsel Ihres Gaszählers…“, so stand in dem Brief der EnBW, der am Wochenende eintraf. Er kündigte für den 04.12.2013 — also heute — zwischen 12:00 und 14:00 den Besuch eines Mitarbeiters an. Sollte das nicht passen, so solle man „Montag — Freitag von 8:00 17:00 Uhr“ (sic!) anrufen.

Mittwochs passt ein Nachmittagstermin ausgerechnet gar nicht. Ich bin sowieso im Büro, und meine Frau muss mit den Kindern in den Schwimmkurs. Also rief sie am Montag dort an. Einen neuen Termin konnte man ihr nicht nennen, aber man versprach einen Rückruf. Der Rückruf kam nicht, dafür tauchte heute um 15.00 (!) der Techniker auf.

Naja, soll ja laut Brief nur eine halbe Stunde dauern, dann müsste es eigentlich bis 16:00, wenn Frau und Kinder dringend aufbrechen müssen, fertig sein.

Aber nach einer Stunde war man keinen Schritt weitergekommen. Zeitweise hatten zwei Leute am Absperrhahn herumgebastelt, und der Zähler war noch immer nicht getauscht. Dafür hatte der Absperrhahn inzwischen seinen Griff verloren und konnte nicht mehr geöffnet werden. Und in genau dem Zustand haben sie es jetzt hinterlassen. So kommt natürlich kein Gas bei der Etagenheizung an, und die kann deshalb nicht mehr starten.

Griff kein Griff

Als ich dann später nach hause gekommen bin, habe ich gleich mal alle Jalousien heruntergelassen, im Kinderzimmer einen Heizlüfter aufgestellt und im Wohnzimmer ein paar Kerzen angezündet. Aber jetzt wird es langsam kalt.

Kategorien
Blog

Mail über Tor routen, ein Experiment

Ungestörte Mailkommunikation ist in den letzten Monaten schwierig geworden (d.h. eigentlich war sie das schon vorher aber wir wussten es nicht). Die Inhalte können wir verschlüsseln, aber inzwischen wissen wir, dass die Metadaten für die Überwacher fast genau so interessant sind. Wenn wenigstens beide an einer Kommunikation beteiligte Mailserver TLS nutzen, dann fällt es dem Lauscher schon schwerer, Adressen und Subject:-Zeile mitzulesen, er kann aber immernoch die IP-Verbindung zwischen den beiden Mailservern sehen. Gerade zwischen uns „Power-Usern“ mit eigenen Mailservern lassen sich dadurch praktisch alle persönlichen Verbindungen rekonstruieren.

Was aber, wenn wir diese Verbindung durch Tor schicken? Probieren wir mal aus, ob das überhaupt geht.

Als Ausgangssituation habe ich wie üblich an beiden Enden Debian GNU/Linux-Server mit Postfix als MTA und Tor — alles von Standard-Paketen installiert.

Empfang

Den empfangenden Mailserver als Tor Hidden-Service einzurichten ist einfach. Dazu muss nur ein Verzeichnis angelegt werden:

mkdir hiddenmailserver

… und in der Konfiguration der SMTP-Port freigeschaltet werden:

HiddenServiceDir /var/lib/tor/hiddenmailserver/
HiddenServicePort 25 127.0.0.1:25

Beim nächsten Start des Tor-Dienstes entsteht dann der neue Hidden-Hostname in der Datei hostname im vorher angegebenen Verzeichnis. Nachdem wir den wissen, können wir die Verbindung gleich testen (mit netcat und torsocks, einem Wrapper, der Bibliotheken zur Umleitung der Netzwerkverbindungen über Tor vorlädt):

ponos:~# torsocks nc -t u2bhrnyodeqtmlt2.onion 25
220 nyx.wazong.de ESMTP Postfix (Debian/GNU)
EHLO ich
250-nyx.wazong.de
250-PIPELINING
250-SIZE 102400000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye
ponos:~#

Funktioniert.

Versand

Wie auch die meisten anderen Mail Transport Agents ist Postfix in der Lage, abhängig von der Zieladresse den Transportkanal zu wechseln. Der Mechanismus stammt von „früher“, als es aus Kostengründen noch üblich war, bestimmte Domains über einen anderen Weg als SMTP mit Mail zu beliefern (z.B. UUCP). Die einzelnen Transportkanäle sind Programme, die in einem Verzeichnis liegen. Wir erzeugen also ein Skript, das den smtp-Transportkanal mit torsocks aufruft:

#!/bin/bash
torsocks /usr/lib/postfix/smtp $@

… und Tragen es als tor-Transportkanal in der /etc/postfix/master.cf ein:

[...]
smtp      unix  -       -       -       -       -       smtp
tor       unix  -       -       -       -       -       tor
[...]

Dann schalten wir in der /etc/postfix/main.cf den Transport-Auswahlmechanismus ein:

[...]
transport_maps = hash:/etc/postfix/transport
[...]

…, schreiben unsere Tor-Konfiguration in die /etc/postfix/transport:

wazong.de tor:[u2bhrnyodeqtmlt2.onion]

…, und laden sie in den Mailserver:

cd /etc/postfix
postmap transport

Zum Test schicken wir eine Mail. Im Logfile des versendenden Mailservers sieht das so aus:

Nov 25 23:29:02 ponos postfix/smtp[20884]: 002A82A43B6: to=<dentaku@wazong.de>, 
                relay=u2bhrnyodeqtmlt2.onion[127.0.69.0]:25, delay=14,
                delays=0.06/0.09/12/1.5, dsn=2.0.0,
                status=sent (250 2.0.0 Ok: queued as 877A97240DF)

… und in den Headern der empfangenen Mail:

Received: from ponos.wazong.lan (localhost [127.0.0.1])                                   
        by nyx.wazong.de (Postfix) with ESMTP id 877A97240DF                              
        for <dentaku@wazong.de>; Mon, 25 Nov 2013 23:29:01 +0100 (CET)

Funktioniert.

Ausblick

All das ist natürlich im Moment nur im Proof-Of-Concept-Stadium. Es skaliert in dieser Form nämlich überhaupt nicht, weil auf jedem teilnehmenden Server alle anderen über Tor erreichbaren Domains in der Transport-Map stehen müssten. Postfix kann aber den Table-Lookup an ein externes Programm auslagern (Stichwort: tcp_table) — und das könnte wieder in einem verteilten System nachsehen, also z.B. nach einem bestimmten TXT-Record im DNS. Diese Abfrage müsste dann natürlich auch durch Tor gehen, weil wir sonst DNS-Leaks riskieren.

Außerdem eignet sich die Methode nicht für komplett anonymes Mailen, weil Informationen über den vorherigen Weg der Mail noch immer in den Headern stehen. Und sie unterläuft einen Teil der üblichen Anti-Spam-Maßnahmen (z.B. Greylisting oder SPF), weil die IP-Adresse des einliefernden Mailservers ja jetzt nicht mehr bekannt ist.

Es gibt also noch einiges an Hausaufgaben zu erledigen. Trotzdem: wenn Ihr Lust habt, baut die Sache nach und schickt eine Mail an mich über u2bhrnyodeqtmlt2.onion.

Kategorien
Blog

SEPA-Chaos

Heute habe ich schon drei Briefe geschrieben, alle an Unternehmen und Institutionen, die von einem unserer Konten im Lastschriftverfahren Geld einziehen. Das klappt bisher eigentlich problemlos, aber jetzt wird ja alles auf das SEPA-Verfahren umgestellt. Dabei ersetzt die BIC die bisherige Bankleitzahl, und aus der Kontonummer wird die IBAN.

Deutsche IBANs werden eigentlich nach einem vorgegebenen Schema aus den bisherigen Kontodaten berechnet, doch die Tücke liegt wie immer im Detail. So scheint zum Beispiel mein Konto bei der Deutschen Bank überraschend (genau) ein Unterkonto mit der Unterkontonummer 00 zu haben. Da das außer der Bank bisher niemand wusste, sind die berechneten IBANs jetzt falsch und müssen einzeln per Brief korrigiert werden. Grmpf.

Kategorien
Blog

Einen eigenen DynDNS-Service betreiben

DynDNS ist eine praktische Sache: der heimischen Internetverbindung wird ein Name zugewiesen, und wenn die IP-Adresse wechselt, dann kann der automatisch aktualisiert werden. Die meisten handelsüblichen Router können das — aber nicht allein, sondern es wird immer ein spezieller DNS-Server benötigt.

Da gab es mit dyndns.org lange Zeit einen gut funktionierenden kostenlosen Dienst, aber der nennt sich inzwischen dyn.com und will verhältnismäßig viel Geld haben (es gibt zwar immernoch eine kostenlose Variante, aber die muss regelmäßig per Klick auf bunt blinkende Mails wieder freigeschaltet werden). Der Wechsel zu irgendeinem der Konkurrenten verbessert die Lage mutmaßlich immer nur vorübergehend. Außerdem möchte zumindest ich meine Infrastruktur so viel wie möglich selbst betreiben.

Die Aufgabe ist also, einen Eintrag im DNS zu ändern. Eigentlich gibt es einen Prima Standard um DNS-Zonen zu aktualisieren, nämlich das Dynamic DNS Update Protocol, wie es in RFC 2136 und RFC 2137 beschrieben ist. Das können die aktuellen DNS-Server ohne zusätzliche Software, und es ist auch schön kryptographisch abgesichert, aber keiner der handelsüblichen Router kann das (diesem Muster werden wir später nochmal begegnen).

Da muss es doch was von GNU geben. Und tatsächlich: genau diese Aufgabe übernimmt GnuDIP. Das wird zwar seit mehr als 10 Jahren nicht mehr weiterentwickelt, funktioniert aber stabil (Ok, die Webseite sieht sehr altbacken aus und möchte gern ein Java-Applet zur Bestimmung der IP-Adresse verwenden — und was ich davon halte ist ja bekannt).

Im Folgenden richten wir unter der Beispieldomain steinhobelgruen.de eine dynamische Domain dyn.steinhobelgruen.de ein.

Installation

Als Basis nehmen wir einen Debian GNU/Linux-Server mit bind9 als DNS-Server und MySQL als Datenbakserver und gehen (zumindest für den mittleren Teil) grob nach dieser Anleitung vor. Leider hat Debian das gnudip-Paket irgendwann aus der Distribution entfernt, wir machen also eine richtig klassische /usr/local-Installation.

Wir laden das Paket runter, entpacken es und „installieren“ die Software:

wget http://gnudip2.sourceforge.net/gnudip-www/src/gnudip-2.3.5.tar.gz
tar zxvf gnudip-2.3.5.tar.gz
mv gnudip-2.3.5/gnudip /usr/local

Dann legen wir die Datenbank an, dazu passen wir in der Datei gnudip-2.3.5/gnudip.mysql eventuell noch Datenbankname und Passwort an und rufen dann MySQL auf:

mysql -uroot -p  < gnudip-2.3.5/gnudip.mysql

In der GnuDIP-Konfiguration unter /usr/local/gnudip/etc/gnudip.conf müssen wir dasselbe Datenbankpasswort  konfigurieren.

Die mitgelieferten cgi-Skripten konfigurieren wir auf dem Webserver; dazu fügen wir die folgenden Zeilen in der Konfiguration des Webservers ein (eventuell in einem bestimmten Virtual Host):

[...]
Alias /gnudip/html/ /usr/local/gnudip/html/

<Location /gnudip/html/>
Options Indexes
ReadmeName .README
HeaderName .HEADER
RemoveHandler .pl
RemoveType .pl
AddType text/plain .pl
</Location>
ScriptAlias /gnudip/cgi-bin/ /usr/local/gnudip/cgi-bin/

DNS Server konfigurieren

Erstmal richten wir einen Schlüssel für DNS-Updates ein. Dazu brauchen wir das dnssec-keygen-Tool aus dem Debian-Paket dnsutils.

dnssec-keygen -a hmac-sha512 -b 512 -n HOST gnudip

Der Aufruf erzeugt zwei Dateien, die zum Beispiel Kgnudip.+165+23314.key und Kgnudip.+165+23314.private heißen.

Wenn der DNS-Server eine Domain dynamisch aktualisieren soll, dann braucht er ein Verzeichnis, in dem er Schreibrechte hat. Wir legen also eins an:

mkdir /etc/bind/dyndns
chown bind:bind /etc/bind/dyndns

In das neue Verzeichnis legen wir eine fast leere DNS-Zonendatei dyn.steinhobelgruen.de:

$ORIGIN dyn.steinhobelgruen.de.
$TTL 86400
@ IN SOA nyx.wazong.de. hostmaster (
      0 ; Serial
   3600 ; Refresh
   1800 ; Retry
 604800 ; Expire
  600 ) ; Negative Cache TTL
@ IN NS nyx.wazong.de.
@ IN MX 0 nyx.wazong.de.
@ IN A 188.40.53.18

Die neue Zone deligieren wir in der Zone steinhobelgruen.de an unseren Nameserver:

$ORIGIN steinhobelgruen.de.
[...]
dyn IN NS nyx.wazong.de.

Den vorhin erzeugten Schlüssel aus der …private-Datei kopieren wir folgendermaßen in die named-Konfiguration  aufgenommen (in einer neuen Datei /etc/bind/gnudip.key ) …

key gnudip-key {
 algorithm hmac-sha512;
 // the TSIG key
 secret "u+/X3NGp1aQxvJedO/8j2xHDxtNgBaSOMgAYMo/OtpbUJXh02Fwfi8+u+yNq/zkIp36m2vY85pw8pgKMk5XSAw==";
 };

… und in der /etc/bind/named.conf.local legen wir die dynamische Zone an und erlauben die Aktualisierung mit dem Schlüssel:

[...]
// include definition of GnuDIP update key
 include "/etc/bind/gnudip.key";
// define GnuDIP dynamic DNS zone
 zone "dyn.steinhobelgruen.de" in {
 type master;
 file "/etc/bind/dyndns/dyn.steinhobelgruen.de";
 allow-query { any; };
 update-policy { grant gnudip-key subdomain dyn.steinhobelgruen.de; };
 };

Wenn alles passt können wir Bind neu starten (bzw. die Konfiguration neu laden).

/etc/init.d/bind9 reload

Die Teile Verbinden

Der Private Schlüssel kommt zur GnuDIP-Installation nach /usr/local/gnudip/etc/ und wird in /usr/local/gnudip/etc/gnudip.conf eingetragen:

[...]
nsupdate = -k /usr/local/gnudip/etc/Kgnudip.+165+23314.private
[...]

Nach dieser Einrichtung sollten wir direkt auf dem Webinterface einen Admin-Benutzer und die Domain anlegen. Danach können wir weitere Benutzer anlegen oder sogar Selbstregistrierung einschalten.

GnuDIP Web Interface

Router anbinden

An dieser Stelle ist GnuDIP jetzt zu sicher um praktisch zu sein: es definiert nämlich ein eigenes Protokoll für die Aktualisierung der Einträge über HTTP, in der das Passwort zusammen mit einem Salt und einem Zeitstempel in einem MD5-Hash und base64-codiert übertragen wird. Genau so sollte so etwas eigentlich auch gemacht werden, aber keiner der handelsüblichen Router kann das.

Grrrrr! Was können die denn überhaupt?

Nun ja, das ist unterschiedlich. Da ich so eine gerade hier habe, werden wir als Beispiel eine Fritz!Box anbinden. Die unterstützt als DynDNS-Anbieter „Benutzerdefiniert“ und kann dann eine selbstgewählte Update-URL eintragen. Was sie dabei übertragen kann steht in dieser Dokumentation bei AVM. Also habe ich in GnuDIP eine zusätzliche und vereinfachte Update-URL eingebaut, die dazu passt.

Um die bei Euch zu installieren, müsst Ihr dieses Archiv mit zwei Dateien herunterladen, sie auspacken und zu Eurer GnuDIP-Installation dazu kopieren.

Damit ergibt sich als neue Update-URL:

https://steinhobelgruen.de/gnudip/cgi-bin/simpleupdt.cgi?user=<username>&pass=<pass>&domn=<domain>&addr=<ipaddr>&reqc=0 (und zwar genau so mit allen Platzhaltern). Die restlichen Parameter werden wie gewohnt konfiguriert (Achtung! Die Domain muss mit dem Benutzernamen anfangen!)

Benutzerdefinierter Service

Durch die Änderung werden jetzt Benutzername und Passwort im Klartext über’s Netz geschickt. Das gleiche Problem hat aber auch die Benutzeroberfläche, so dass auf dem Server vielleicht sowieso besser TLS (https) benutzt werden sollte.

Und siehe da: es funktioniert:

dentaku@nyx:~$ host dentaku.dyn.steinhobelgruen.de
dentaku.dyn.steinhobelgruen.de has address 78.42.203.144
dentaku@nyx:~$

(P.S.: gebt Euch keine Mühe, die Beispieldomain gibt es wirklich, aber die Schlüssel hier im Blogbeitrag sind natürlich nicht die echten — ach ja, und alle Domain- und Hostnamen werden bei Euch andere sein, wenn Ihr der Anleitung folgt)

Kategorien
Blog

von A bis Z

Das hier geht gerade durch die Blogs (Herr BuddenbohmFrau KaltmamsellAnke Gröner (sogar mit Archiv der früheren Durchgänge), Jens ScholzJohannes) : tipp die Buchstaben von A-Z nacheinander in die Adresszeile Deines Browsers und schreib dann auf, was er vorschlägt.

A — amazon.de

B — barcamp-stuttgart.de

C — centerparcs.de (da waren wir gerade in den Herbstferien)

D — drive.google.com (benutze ich eigentlich nur für die Teilnehmerlisten der Iron-Blogger-Gruppen, das aber etwa wöchentlich)

E — e13.de

F — fitbit.com

G — steinhobelgruen.de/gnudip/cgi-bin/gnudip.cgi (Experimente für einen bald erscheinenden Artikel)

H — hubert-mayer.de

I — ironbuchblogger.de

J — jawbone.com/up (wohl noch eine Nachwirkung dieses Artikels)

K — koeln.ironblogger.de

L — lilstar.de (ich kann mich nicht erinnern, mehr als einmal auf dieser Seite gewesen zu sein, AFAIK eine Ironbuchbloggerin)

M — muenchen.ironblogger.de

N — neuzustellung.de

O — owncloud.wazong.de (selbst ist die Cloud!)

P — practicalparanoid.de

Q — qswe.fotoroulette.de/favicon.ico (hmmm?)

R — runkeeper.com (ohmann, das sieht ja hier aus wie bei einem Fitnessverrückten)

S — spon.de

T — tumblr.com

U — (da habe ich nichts, Chrome schlägt eine Googlesuche nach „u“ vor)

V — versicherung-mathematik.de

W — wazong.de/mailman/admin/buchblogger (Iron-Blogger-Administrativa)

X — x2.fotoroulette.de/favicon.ico (äähm?)

Y — yummiverse.de/author/admin/feed/

Z — zwischendenseiten.wordpress.com

Hmm, wie zu erwarten recht viele Iron Blogger.

Früher, bevor die Browser einen Pornomodus Inkognito-Modus hatten, war das aber spannender.

Kategorien
Blog

Tomatensauce, Director’s Cut

Huck Haas von Stijlroyal, immer gut für Sonder-Mitmachaktionen, rief im Juni dazu auf, Tomatensaucenrezepte zu schicken. Die Rezepte sollten in der nächsten Ausgabe des Heimatmagazins abgedruckt werden. Jetzt ist sie erschienen: Stijlroyal Heimatmagazin Ausgabe 17 – Schmalz & Comics. Darin sind natürlich noch viel bessere Dinge (eben Schmalz und Comics), aber auch meine Tomatensauce. Und wenn sie auch nie die epische Breite der Loboschen Kreation erreicht (14 Verarbeitungsschritte? ernsthaft?), so will ich hier trotzdem eine erweiterten Fassung mit mehr Bildern nachliefern:

Zutaten für vier Personen:

  •  2 Zehen Knoblauch
  • 1 kleine Zwiebel
  • 6 bis 8 Strauchtomaten
  • Tomatenmark
  • Pfeffer, Salz, Paprikapulver, Majoran
  • Frische Basilikumblätter

Zubereitung:

Tomaten oben kreuzweise einschneiden. Wasser in einem großen Topf zum Kochen bringen. Tomaten darin für zwei Minuten kochen und anschließend sofort in kaltem Wasser abschrecken. Jetzt lässt sich die Schale leicht mit der Hand abziehen.

Tomaten vierteln, Kerne und Stielansatz entfernen und den Rest in Würfel schneiden.

Knoblauch und Zwiebel in feine Würfel schneiden. Olivenöl in einem kleinen Topf erhitzen, Knoblauch und Zwiebeln darin anschwitzen.

Tomaten dazugeben, für mehr rote Farbe zusätzlich ruhig noch ein wenig Tomatenmark.

Jetzt die Sauce mit geringer Hitze köcheln lassen, inzwischen Nudeln organisieren. Sauce mit Salz, Pfeffer, Paprikapulver und Majoran (oder Oregano) abschmecken.

Sauce auf die Nudeln geben, mit frischen Basilikumblättern „verzieren“.

Parmesan und Pfeffer je nach Geschmack der Esser bereithalten.

Kategorien
Blog

[321 Blog!] Hunderttausend Schritte

(Kopie, Original auf 321 Blog!):

Ärzte empfehlen, täglich 10000 Schritte zu gehen, das sind 70000 Schritte in der Woche. Im normalen Büroalltag kriege ich das nicht ganz hin, aber mein elektronisches schlechtes Gewissen hat mich im Urlaub angetrieben:

\o/

Kategorien
Blog

Dieses WordPress.com-RSS-Problem

Die IronBlogger funktionieren nur mit RSS-Feeds (achwas, Blogs funktionieren nur mit RSS-Feeds). Leider funktionieren genau die im Moment bei einem der größten Bloganbieter nicht besonders zuverlässig. Bereits im September schrieb ich daher per Rundmail an die Blogger:

in den letzten Wochen gab es in der Auswertung der Iron Blogger immer
wieder Probleme mit Blogs, die bei WordPress.com gehostet sind: die
geschriebenen Artikel erscheinen dort im Moment oft mehrere Tage lang
nicht in den RSS-Feeds der Blogs. Die Blogger werden dann für faul
erklärt, obwohl sie doch fleißig und eisern gebloggt haben.

Daher bitte ich Euch: abonniert alle Eure eigenen Blogs im RSS-Reader
und überwacht, ob Eure Artikel auch dort erscheinen.i

Ich kann nicht an jedem Sonntagabend alle 41 WP.com-Blogs von Hand
mit ihren jeweiligwn Feeds vergleichen, aber wenn Ihr Euch bei
Unstimmigkeiten meldet, dann kann ich die Artikel „von Hand“ in den
Bot eintragen.

Das Problem hat sich seitdem nicht gebessert. Immer wieder sind wechselnde Blogs betroffen. Aktuell trifft es Bambiniläufer am härtesten; der letzte im Feed eingetragene Artikel stammt im Moment vom 5. Oktober 2013 (seitdem sind drei weitere Artikel erschienen). Bei manchen Blogs funktioniert die Umstellung auf den Atom-Feed, aber auch das ist kein Allheilmittel (der letzte Artikel im Atom-Feed des Bambiniläufer-Blogs ist vom 16. Juli 2013).

Wie könnte man das Problem umgehen? Unterstützen WordPress.com-Blogs einen eigenen Ping-Service? Oder so etwas wie PubSubHubbub?

Kategorien
Blog

Stuggi Burger

Schon seit etlichen Monaten gibt es praktisch direkt vor meiner Haustür einen neuen Imbiss: wo vorher wenig einladend eine der unzähligen „Shisha Lounges“ rumgammelte ist jetzt Stuggi(Town) Burger. Den hatte ich mir schon zu testen vorgenommen, da kam mir Sabrina zuvor.

Jetzt war klar Eile angesagt, also vereinbarte ich mit @HubertMayer, dass wir uns da mal zu einem Testessen treffen wollten. Wir haben dann einige einige Zeit zur Terminfindung gebraucht, so dass wir es auch schon fünf Monate später wirklich geschafft haben. 😉

Aber nun zum eigentlichen Test:

Restaurant: der relativ kleinen Raum ist farbenfroh gestaltet und beherbergt neben einigen Tischen und ein paar Plätzen mit Barhockern am Fenster noch die Theke mit offener Burgerküche. Nach der Bestellung kann man schon Platz nehmen und wird dann aufgerufen, wenn fertig „gekocht“ ist.

Auffällig gestrichene Wände

Essen: die Küche ist Schwäbisch-Amerikanisch, weshalb es gewöhnungsbedürftige Zusammenstellungen wie den StuggiTownSpezialBurger (Salat, Rinderhackfleisch, Maultasche, Spiegelei, Gurke, Röstzwiebel, Dressing) gibt. An den habe ich mich aber nicht rangetraut sondern nur den EggBaconBurger gegessen. Auch dessen Brötchen war für Burger untypisch — eher ein schwäbisches Weggle — sonst war er aber genau wie erwartet und wirklich lecker. Als Beilage hatte ich eine große Portion Pommes Frites (zum Glück nicht für mich allein, denn „groß“ bedeutet genau das). Ein Foto des Essens habe ich gleich bei Instagram veröffentlicht.

Über die Preise (Burger: 3,40 €, Pommes: 2,90 €) kann ich angesichts der gebotenen Menge und Qualität wirklich nicht meckern.

Fazit: unbedingt empfehlenswert

Hier steht Huberts Bewertung auf hubert-testet.de.

(am Logo im Teaserbild ist gut zu erkennen, was Stuggi sonst noch zu bieten hat: Currywurst — die muss natürlich auch noch getestet werden)

Kategorien
Blog

The state of the quantified self

Ich zeichne ja die einen oder anderen Daten über mich auf. Begonnen hat es mit der Withings WLAN-Waage, dann kam die Sportaufzeichnung mit runtastic dazu (von denen habe ich auch noch ein Pulsmessprogramm). Zur Zählung der täglichen Schritte hatte ich bis vor kurzem moves, aber das wurde an meinem Geburtstag durch ein fitbit flex-Armband ersetzt (mehr dazu später). Und eigentlich gehören mehr oder weniger auch die Daily Mugshots dazu.

All diese einzelnen Spielzeuge kamen anfangs mit ihren spezialisierten Apps (oder waren selbst spezialisierte Apps), doch inzwischen versucht jede für sich, Zentrale für die gesamte Gesundheit zu sein, und da fangen die Probleme an:

Wiscale von 2012 Withings von 2013

(zur Illustration zwei Screenshots: links die ursprüngliche WiScale-App, die sich auf die Waagenfunktion konzentrierte und zum Vergleich die aktuelle Withings-App, die gleich vier Gesundheitsaspekte auf einem Schmetterling abbildet)

Was nämlich fehlt ist (wie so oft) eine einheitliche Synchronisations-API, um die grade von mir benutzten Dienste miteinander zu verbinden. Fast alle bieten zwar irgendwas in dieser Richtung an — aber eben nie genau das, was ich gerade brauche. Ich habe da mal ein Beispiel aufgezeichnet (sicher unvollständig, die Logos gehören alle den jeweiligen Herstellern):

Verbindungen zwischen den Diensten (sicher unvollständig)

Konkret: ich wollte gern einen dieser Activity-Tracker haben. Jawbone UP, Withings pulse und fitibit flex waren in der engeren Auswahl. Als Randbedingung wollte ich den Sport am Ergometer gern weiter mit runtastic erfasssen, und meine WLAN-Waage sollte angebunden sein, und alle Daten sollten sich am Ende zusammen auf einer App betrachten lassen (auf welcher App wäre dabei egal gewesen).

Aktivitätsdaten kann Withings z.B. von seinem eigenen Schrittzähler, BodyMedia oder RunKeeper empfangen — nicht aber von runtastic oder einem der anderen Tracker. Daten über sportliche Betätigung bekommt man von runtastic auch nicht direkt zu fitbit, es geht aber über den Umweg von MyFitnessPal. Jawbones UP-Anwendung kann man ohne Armband leider nicht einmal testweise starten, dafür gibt es dort eine Anbindung an IFTTT. Um alles noch unübersichtlicher zu machen sind manche der Verbindungen auch noch mit dem Erwerb eines Gold-, Premium- oder Sonstwiepakets gegen eine jährliche Gebühr verknüpft.

Beim fitbit-Armband landete ich dann eher aus Hardwaregründen (an dieser Stelle übrigens Dank an meine Eltern, die das Spielzeug auf meiner Amazon-Wunschliste gefunden und mir zum Geburtstag geschenkt haben): das pulse kann zwar den Puls messen, sieht aber mit seinem Extraarmband nach keiner praktischen Methode zur Schlafüberwachung aus. UP sieht am coolsten aus, aber ich hörte von vielen schon nach wenigen Monaten defekten Geräten, und die Synchronisation per Klinkenstecker scheint mir nicht ganz dem Stand der Technik zu entsprechen. Also blieb das flex, mit dem ich bisher auch gut zurechtkomme (über MyFitnessPal bekomme ich auch alle gewünschten Daten in die fitbit-App).

Das grundsätzliche Problem bleibt aber: alle Daten stecken in irgendwelchen Servern irgendwelcher Leute. Da habe ich gerade ein funktionierendes Setup, und dann passieren wieder solche Dinge: runtastic gehört plötzlich zu Axel Springer. Das macht es natürlich nicht von einem Moment auf den anderen weniger praktisch, aber die Macher der Bild-Zeitung will ich in keiner Weise fördern, drum verbietet sich für die Zukunft zumindest der Abschluss einer Gold-Mitgliedschaft. Und spontan wünsche ich mir Datenportabilität — oder wenigstens ein ordentliches Backup. Im Moment trage ich also meine Ergometerfahrten testweise parallel in runtastic und RunKeeper ein (btw: wem gehört eigentlich RunKeeper?), und eigentlich möchte ich mal wieder alle Daten lieber genau hier haben.

Wer übrigens bei einem der Dienste meine Aktivität verfolgen (oder mit sich selbst vergleichen) möchte: ich bei runtastic, ich bei fitbit und ich bei RunKeeper.

Kategorien
Blog

#bcs6

Es war wieder Barcamp in Stuttgart. Zum sechsten mal, auch diesmal wieder im Literaturhaus zwischen Liederhalle und Boschareal.

Wir waren wieder mit der ganzen Familie da, aber anders als in den Vergangenen Jahren habe ich diesmal hauptsächlich vortragend teilgenommen (nach den ursprünglichen Barcamp-Regeln hätte ich das natürlich eigentlich schon beim ersten mal machen sollen, aber naja…).

Hier meine Sessions (gehaltene und besuchte) im einzelnen:

Samstag

  • Mailverschlüsselung / Keysigning
    Diese Doppelsession hatte sich Patrick Schneider (@Schiri) vorher gewünscht. Sie bestand aus einem Vortrag von Frank Stohl, der Mailverschlüsselung mit PGP/GnuPG erklärte. Daran wollte ich ursprünglich eine GPG-Keysigning-Party anschließen, doch der zweite Vortragsslot wurde von der Diskussion vollständig ausgefüllt: statt die Schlüssel zu signieren haben wir die Theorie besprochen, wie und unter welchen Vorbedingungen denn Schlüssel zu signieren sind. Das hat so wahrscheinlich für die Teilnehmer größeren Nutzen gehabt als anders. Es folgte zum Beispiel von Oliver Gassner schon kurz danach ein Artikel mit den notwendigen Daten, um eine sichere und überprüfte Verschlüsselung aufzubauen.
    GPG-Session
    Weiterführende Artikel: Kryptographie ist schwierig und Aktion: Zeig mir Deinen Key Fingerprint.
  • Iron-Blogger-Vorstellung
    Das wurde nur eine kleine Runde, in der ich ein wenig erzählt habe, was sich in Sachen Iron Blogger seit dem letzten Barcamp und insbesondere seit der re:publica 12 getan hat.
  • Whisky-Tasteup
    Nach dem Abendessen sind wir mit der ganzen Familie nach hause gegangen, haben die Kinder ins Bett gebracht, und dann durfte ich allein noch einmal zu den Abendsessions wiederkommen. Die erste davon war das Whisky-Tasteup, für dessen Eintritt eine Flasche Whisky mitzubringen war (hatte ich noch da). Einen Ausführlichen Bericht gibt es im  Tasteup-Blog, und ich habe meine eigenen Eindrücke den Abend über getwittert.
    Klarer Sieger (zumindest von denen, die ich probieren konnte) war der Ardberg Uigeadail (und der ist gar nicht so teuer wie befürchtet, drum muss ich den unbedingt kaufen).
  • IronBlogger-Lesung
    Die Whiskyverkostung musste ich zwischendurch leider unterbrechen, weil ich versprochen hatte, einen meiner eisern gebloggten Texte vorzulesen (ich könnte es natürlich auch so formulieren, dass die Tasteup-Session hoffnungslos überzogen hat…). Diese etwas eigenartige Sessionreihenfolge führte auch dazu, dass sich außer den Lesenden kaum jemand von Alkohol oder Werwolf zu uns verirrte.
    Gut gelaunt lasen wir uns eben gegenseitig vor:

    1. Mika Kienberger: Fruchtsalat Delux – Best Of Ananasdating
    2. Ich selbst: Kryptographie ist schwierig (siehe oben)
    3. Jürgen Kaiser: Unter OS X auf NTFS-formatierte Festplatten schreiben
    4. Stefan Sommer: Berlin 2012
    5. Ute Mündlein: Was wir von „Der Pate“ lernen können
    6. Patrick Schneider: Drehen sich Blogger um sich selbst?
    7. Franziska Köppe: Im Hamsterrad? Sieben Tipps, den Alltag loszulassen
    8. und Das beste Fahrradschloss der Welt (Wuff Lock)
    9. Barbara Hoisl: Lean Startup – Entering the Enterprise?

Sonntag

  • Gadgetsession
    Hier wurde lustiges Spielzeug vorgestellt, insbesondere ist mir der Leap Motion Sensor in Erinnerung geblieben, für den ich aber wohl keine Verwendung hätte. Wesentlich praktischer fände ich da schon den Kontaktlautsprecher, der den Schall eines Smartphonelautsprechers ohne Kabel- oder Funkverbindung verstärken kann. So etwas könnte ich in der Küche gebrauchen.

Am  Sonntagmittag haben wir uns dann zu einer Taufe im Bekanntenkreis davongemacht. Eigentlich wollten wir nur kurz die Kirche besuchen, wurden dann aber überraschend noch zum Essen eingeladen. Drum habe ich den Rest des Barcamps verpasst, wenn auch auf eine der angenehmstmöglichen Weisen.

Mein Dank geht wie immer an die hervorragende Organisation (also hauptsächlich an Jan), an die wieder großartige Kinderbetreuung, ohne die wir nicht so ausgiebig und entspannt am Programm hätten teilnehmen können und an die Sponsoren. Und an Esskultur, deren Catering so hervorragend wie in den vergangenen Jahren war.

Nächstes Jahr kommen wir wieder.

Kategorien
Blog

Schnell noch eine Prognose für die #btw13

Bevor nachher die Wahlergebnisse der Bundestagswahl verkündet werden, möchte ich nochmal schnell in die Glaskugel blicken. Auf dem Barcamp Stuttgart gab es nämlich neben einer Testwahl (in der die orange-grüne Koalition von 2009 bestätigt wurde) diesmal auch eine gecrowdsourcete (schreibt man das so?) Wahlprognose.

Meine persönliche Vorhersage war:
CDU 38,8%
SPD 31,7%
FDP 4,5%
Grüne 7,3%
Linke 5,2%
Piraten 2,8%
AfD 2,9%
(Sonstige 6,8%)

Und die Durchschnittsvorhersage des Barcamps lautete:

CDU 38,06%
SPD 28,12%
FDP 5,25%
grüne 10,44%
linke 7,42%
Piraten 4,23%
sonstige 6,48%

Mal sehen, wie nah wir damit an der Wahrheit waren.

Kategorien
Blog

[321 Blog!] Wendepunkt

(Kopie, Original auf 321 Blog!):

Nachdem das Gewicht also wie zuletzt gezeigt einen neuen Höchststand erreicht hatte, musste etwas passieren — und das sollte ein radikaler Schnitt sein: neben dem Neustart meines eingeschlafenen Sportprogramms habe ich meine Ernährung geändert:

  • Statt bisher zwei bis drei gibt es nur noch eine Schnitte belegtes Brot zum Frühstück.
  • Die mitgenommenen Brote zum Mittagessen wurden genau so stark reduziert und durch Gemüse (Paprika, Gurken, Tomaten) ersetzt.
  • Zu den Hauptmahlzeiten gibt es weniger Fleisch, keine Sahnesoßen mehr, und es wird mit möglichst gesunden Fetten gebraten (z.B. Olivenöl und Rapsöl, nicht mehr Butter oder Sonnenblumenöl).
  • Knabberzeug und Süßigkeiten sind gestrichen, und die (eigentlich ohnehin zuckerfreie) Cola habe ich auch abgeschafft und durch Wasser ersetzt.
    Dazu habe ich den Wassersprudler reaktiviert (dessen CO₂-Patronen hier in Stuttgart West gar nicht mehr so leicht zu bekommen sind). Nach anfänglichem Koffeinentzug (!) scheint diese Maßnahme übrigens dem ständigen latenten Appetitgefühl entgegenzuwirken, als dessen Ursache ich seitdem die Süßstoffe vermute.
  • Den Wein am Wochenende habe ich beibehalten, achte aber mehr darauf, trockene Weine zu kaufen (halbtrockene enthalten 9 — 18 g Restzucker pro Liter, das ist immerhin ein Zwölftel bis ein Sechstel der Menge in Coca Cola).

Das Ergebnis sieht doch schon ganz gut aus:

von da an ging's bergab

(begonnen habe ich im Urlaub fern meiner WLAN-Waage, daher der erste schräge Teil der Linie)

Kategorien
Blog

[321 Blog!] Ein Jojo!

(Kopie, Original auf 321 Blog!):

Letztes Jahr hatte ich ja angefangen Sport zu machen – und dabei sonst nicht so viel geändert. Das klappte erst ganz gut, und ich fühlte mich so auch wirklich besser. Dann habe ich mir allerdings bei einem blöden Sturz in der Küche (ausgerutscht auf einer heruntergefallenen Mottenfalle, die sich sofort unter meinem Schuh festklebte) das Knie “verletzt”. Das hielt mich eigentlich nur kurz von meinem Training ab, aber ich kam danach nicht mehr wieder richtig rein. Gleichzeitig hatte sich meine Ernährung dem gesteigerten Energiebedarf angepasst (doof, ich weiß) und so ging es mit dem Gewicht wieder bergauf. Versuche, das Trainingspensum wieder passend anzuheben, scheiterten ebenfalls.

Und so sah er dann aus, der ausgewachsene Jojo-Effekt:

Erst runter und dann wieder rauf

Es musste etwas passieren…

(to be continued)

Kategorien
Blog

Zur Wahl

In weniger als zwei Wochen sind Bundestagswahlen, nach unserem Wahlsystem sind das bekanntlich zwei Wahleintscheidungen.

Erststimme

Hier ist einer der Kandidaten aus meinem Wahlkreis (Nummer 258, Stuttgart I) zur Vertretung meiner Interessen in den Bundestag zu schicken. Im Gegensatz zur Zweitstimme ist die Erststimme wirklich verschenkt, wenn sie an einen komplett aussichtslosen Kandidaten geht.

Kandidaten mit realistischen Wahlchancen:

  • Stefan Kaufmann (CDU)
    Er vertritt den Wahlkreis bisher im Bundestag und tritt folglich mit der  immerhin originär konservativen Wahlaussage „weiter für Stuttgart“ an. Sonst ist er mir bisher nicht groß aufgefallen. Sein Wikipedia-Eintrag lässt aber vermuten, dass wir auch bisher seinetwegen wenigstens nicht mit ununterbrochen vor die Stirn geschlagener Hand herumlaufen müssen.
  • Cem Özdemir (GRÜNE)
    Den kennt man natürlich aus der Bundespolitik, schließlich gehört er seit Jahren zur erweiterten Parteiführung.
  • Ute Vogt (SPD)
    Eine nicht ganz unbekannte SPD-Politikerin, die unter Otto Schily sogar schon einmal Staatssekretärin im Innenministerium war.

Kandidaten ohne realistische Wahlchance:

  • Judith Skudelny (FDP)
  • Christina Frank (DIE LINKE)
  • Christian Thomae (PIRATEN)
  • Ronnie Hellriegel (NPD)
  • Dieter Baur (ÖDP)
  • Hubertus Mohs (BüSo)
  • Ronald Geiger (AfD)
  • Gerhard Hammitzsch (FREIE WÄHLER)
  • Hans-Jürgen Gäbel
  • Frank Schweizer
  • Werner Ressdorf

Es gibt also einen sinnvollen Kandidaten des mitte-konservativen Lagers (früher: rechts) und zwei des mitte-progressiven Lagers (früher: links), von denen Ute Vogt sagt, man möge doch Cem Özdemir wählen. Also wird wohl Cem Özdemir meine Stimme bekommen, auch wenn ich laut wen-wählen mit seinen Ansichten nicht so ideal übereinstimme.

Zweitstimme

Die Zweitstimme ist die Kanzler… äähm, nein, begründet die eigentlichen Mehrheitsverhältnisse im Bundestag. Hier gibt es allein deshalb schon keinen guten Grund, seine Wahl von taktischen Überlegungen leiten zu lassen, weil wenn das alle machen würden, die kleinen Parteien niemals über die 5%-Hürde kommen würden.

War das jetzt verständlich? Nein? Ich versuch’s nochmal: für neue Parteien ist es schwer, die 5%-Hürde zu überspringen. Viele Leute wählen diese Parteien deshalb nicht, weil sie befürchten, dass dadurch ihre Stimme verloren ist. Das stimmt natürlich, solange die Partei tatsächlich unter 5% bleibt. Das wiederum tut sie eventuell aber nur wegen genau dieser Zurückhaltung. Der Selbstverstärkungseffekt ist leicht zu erkennen.

Ok, und welche Partei vertritt jetzt meine Interessen? Meine grundsätzliche politische Einstellung ist linksliberal-pazifistisch, und ich lege großen Wert auf netzpolitische Themen (gerade da hat sich ja bisher keine der aktuell im Bundestag vertretenen Parteien mit Ruhm bekleckert). Dementsprechend fallen auch die Ergebnisse der verschiedenen Wahl-o-Maten aus (siehe auch vorher schon bei der Süddeutschen Zeitung).

wahl-o-mat wen wählen?

Die Piraten also, nicht so überraschend.

Ja, ich weiß, dass das ein großer Haufen Chaoten ist, aber es sind eben unsere Chaoten. Man soll ja nicht Netzgemeinde sagen, aber von genau dort kommen die Piraten. Und auch wenn sie bisher nichts ausrichten können (wie auch?), so haben gerade die Geschehnisse seit den PRISM-Enthüllungen gezeigt, wie dringend sie gebraucht werden.

Und im Berliner Abgeordnetenhaus stellen sie — so weit man das von hier beurteilen kann — genau die Art unbequemer Fragen, die ich auch im Bundestag gern gestellt sehen möchte (ja, ich weiß, Piraten sind noch in weiteren Landesparlamenten, aber die habe ich nicht gut genug beobachtet).

Lest zum gleichen Thema den Text von Felix Schwenzel, der auch darlegt, inwiefern die anderen Parteien genau so große Chaoten sind.

TL;DR: Erststimme: Cem Özdemir, Zweitstimme: Piraten, Grund: alle anderen noch doofer.

Kategorien
Blog

Metal-Bands pro 100000 Einwohner

Spaß mit Geodaten:

CC-BY-SA depo, Originalbildquelle, via @polynomdivision, und es gibt auch eine interaktive Version der Karte.

Kategorien
Blog

Dampfnudelblues

Vorletzte Woche war ich ausnahmsweise mal wieder im Kino. Das schaffe ich leider nicht so häufig, denn die zwei Kinder müssen ja irgendwie beaufsichtigt werden, so dass eigentlich immer einer von uns Eltern zuhause bleiben muss — und allein habe ich auch keine Lust. Da wir aber zum Urlaub zu meiner Schwiegermutter Gefahren waren, konnten wir der einfach die Kinder dalassen und allein etwas unternehmen.

Der Film, den wir uns angesehen haben, war Dampfnudelblues, und da will ich Euch jetzt auch alle hinschicken.

Die zugrundeliegende Kriminalgeschichte um Ermittler, die sich mit dem offiziellen Ermittlungsergebnis (Selbstmord) nicht zufriedengeben und den Fall auf eigene Faust und gegen die ausdrückliche Anweisung des Vorgesetzten weiterverfolgen, ist nichts neues.

Was den Film ausmacht, sind die skurrilen Typen und die skurrilen Dialoge, die häufig gerade durch das überzeugen, was die Figuren nicht ausdrücken können (oder nicht wollen oder nicht müssen). Dazu kommt eine realistische Wiedergabe der Stimmung in der Bayerischen Provinz. Ok, vielleicht ist die auch ein ganz klein wenig überspitzt. Das hat eine gewisse Ähnlichkeit mit Wer früher stirbt ist länger tot gekreuzt mit Mord mit Aussicht. Ein ganz großer Spaß.

Das einzige, was mich gestört hat: alle Nahaufnahmen waren mit so einer ringförmigen Lampe beleuchtet, die sich in den Augen als unnatürlicher Kreis gespiegelt hat. Das war vor zehn Jahren im Musikvideo originell, jetzt wirkt es irgendwie bemüht. Ach ja, und wer des Bairischen so überhaupt nicht mächtig ist, der könnte an dem Film vielleicht nicht ganz so viel Spaß haben.

(offizielle Filmseite)

Kategorien
Blog

CloudFlare, fix your DNS

Ich habe den Feed von Very Important Pixels abonniert. Eine Menge andere Leute haben das auch getan — offensichtlich so viele, dass die Macher sich entschlossen haben, ein Content Delivery Network vorzuschalten. Vielleicht hat es auch andere Gründe, jedenfalls läuft die Seite über CloudFlare. Das ist durch eine DNS-Abfrage leicht nachzuprüfen:

dentaku@nyx:~$ host www.veryimportantpixels.com
www.veryimportantpixels.com is an alias for
    www.veryimportantpixels.com.cdn.cloudflare.net.
www.veryimportantpixels.com.cdn.cloudflare.net is an alias for
    cf-protected-www.veryimportantpixels.com.cdn.cloudflare.net.
cf-protected-www.veryimportantpixels.com.cdn.cloudflare.net has address 108.162.199.82
cf-protected-www.veryimportantpixels.com.cdn.cloudflare.net has address 108.162.198.82
dentaku@nyx:~$

Leider scheint CloudFlare seinen DNS-Server nicht ganz im Griff zu haben, deshalb sehe ich jetzt in meinem Syslog bei jeder Aktualisierung meines Feedreaders (also vier mal in der Stunde) mehrere solche Einträge:

nyx named[4191]: DNS format error from 213.133.99.99#53
    resolving www.veryimportantpixels.com.cdn.cloudflare.net/AAAA
    for client 127.0.0.1#60013:
    unrelated AAAA cf-protected-www.veryimportantpixels.com.cdn.cloudflare.net
    in cf-protected.veryimportantpixels.com.cdn.cloudflare.net authority section

Das nervt etwas.

Kategorien
Blog

MES03: Plattenwegweiser

Dieser Artikel gehört zur Serie Mein eigener Server.

In Teil 2 habe ich eigentlich versprochen, mit der Konfiguration zu beginnen. Aber vorher muss ich noch zwei kleine Ausflüge machen:

Wo die Dinge jetzt liegen

Wie bereits erwähnt haben wir keine Laufwerksbuchstaben sondern nur Verzeichnisse. Dabei verwenden alle UNIX-Betriebssysteme mehr oder weniger die gleichen Verzeichnisstrukturen. Die wichtigsten will ich hier mal aufzählen:

/etc/

Hier liegen die Konfigurationen. Sowohl die des Systems als auch die der meisten Softwarepakete. Beispiele: die Benutzer des Systems sind in /etc/passwd definiert (aber nicht immer), die Konfiguration des Webservers findet sich unter /etc/apache2/ (natürlich nur, wenn Apache 2 als Webserver benutzt wird), die Startskripten für im Hintergrund laufende Dienste sind in /etc/init.d/.

/var/

Hier legen Programme veränderliche Dateien ab. Und Daten, die nur von Serverprogrammen benutzt werden sollen (z.B. die Dateien einer Webseite) liegen auch oft hier.

/usr/

Die ausführbaren Dateien der Software sind größtenteils in diesem Verzeichnis installiert. Einige Grundsystemfunktionen liegen auch in /bin/ und /lib/.

/usr/local/

Programme aus anderen Quellen als der Distribution, zum Beispiel Selbstkompiliertes können hier installiert werden, damit sie sich nicht mit den original ausgelieferten Dateien in die Quere kommen. Manche Distributionen und einige kommerzielle Unixe verwenden zu diesem Zweck auch /opt/.

/home/

Hier haben die Benutzer ihre Homeverzeichnisse. Dort können sie sowohl ihre eigenen Dateien als auch ihre Dotfiles (die persönlichen Konfigurationen für Programme, die so genannt werden, weil ihre Namen meist mit einem Punkt beginnen) ablegen.

/tmp/

Temporäre Dateien. Auf manchen Systemen wird der Inhalt beim Neustart automatisch gelöscht. Es darf deshalb nicht davon ausgegangen werden, dass hier abgelegte Daten über einen längeren Zeitraum erhalten bleiben.

Ein Paketmanager

Einer der größten Vorteile der meisten Linuxdistributionen ist die Softwareinstallation mit einem Paketmanager. Der kennt in der Regel die Abhängigkeit der verschiedenen Softwarepakete voneinander, so dass das System immer in einem funktionierenden Zustand sein sollte. Debian verwendet apt.

Die Konfiguration des Paketmanagers liegt in /etc/apt/. Die wichtigste Datei ist sources.list. Darin stehen die Quellen, aus denen das System Installationspakete beziehen soll. Auf einem von Hetzner installierten Debian Squeeze sieht das im Moment so aus:

###############################################################################
# Hetzner mirror
#

deb http://mirror.hetzner.de/debian/packages squeeze main contrib non-free
deb http://mirror.hetzner.de/debian/security squeeze/updates main contrib non-free

###############################################################################
# backup mirror
#

deb http://cdn.debian.net/debian/ squeeze main non-free contrib
deb-src http://cdn.debian.net/debian/ squeeze main non-free contrib

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

## backports
deb http://mirror.hetzner.de/debian/backports squeeze-backports main contrib non-free
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Softwareinstallation

Das Werkzeug ermöglicht die folgenden Operationen:

apt-get update

Holt die aktuellen Paketlisten von den in sources.list definierten Quellen.

Beispiel:

root@Debian-60-squeeze-64-minimal ~ # apt-get update
Get:1 http://mirror.hetzner.de squeeze Release.gpg [1,672 B]
Get:2 http://mirror.hetzner.de squeeze/updates Release.gpg [836 B]
Get:3 http://mirror.hetzner.de squeeze-backports Release.gpg [1,571 B]         
[...]
Get:33 http://cdn.debian.net squeeze/main amd64 Packages [8,602 kB]            
Get:34 http://cdn.debian.net squeeze/non-free amd64 Packages [124 kB]          
Get:35 http://cdn.debian.net squeeze/contrib amd64 Packages [64.1 kB]
Fetched 26.1 MB in 6s (4,006 kB/s)                                             
Reading package lists... Done
root@Debian-60-squeeze-64-minimal ~ # 

apt-get dist-upgrade

Bringt alle installierten Pakete auf die neueste Version.

apt-get install

Installiert die angegebenen Pakete und versucht dabei, alle Abhängigkeiten aufzulösen (also alle von den Paketen benötigten Pakete ebenfalls zu installieren und alle in Konflikt stehenden Pakete zu deinstallieren). Stellt dann eventuell in einem textbasierten Menüsystem Fragen zur Konfiguration.

Beispiel:

root@Debian-60-squeeze-64-minimal ~ # apt-get install screen
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  screen
0 upgraded, 1 newly installed, 0 to remove and 16 not upgraded.
Need to get 624 kB of archives.
After this operation, 975 kB of additional disk space will be used.
Get:1 http://mirror.hetzner.de/debian/packages/ squeeze/main screen amd64 4.0.3-14 [624 kB]
Fetched 624 kB in 0s (9,321 kB/s)
Selecting previously deselected package screen.
(Reading database ... 17705 files and directories currently installed.)
Unpacking screen (from .../screen_4.0.3-14_amd64.deb) ...
Processing triggers for man-db ...
Processing triggers for install-info ...
Setting up screen (4.0.3-14) ...
root@Debian-60-squeeze-64-minimal ~ #

So, dass musstet Ihr unbedingt noch wissen. Aber in der nächsten Folge konfigurieren wir wirklich was.