All articles

Der grüne Daumen - Chilis angepflanzt

(updated )
by Sven Velt

Ab und an sollte man sich ja auch mit anderen Dingen beschäftigen, wie z.B. Pflanzen. Gut, ganz ohne Geek-Faktor geht's natürlich nicht und deswegen sind's auch Chilis geworden. Da ich den Eindruck hatte, dass die Samen unheimlich schnell treiben, hab ich mal 2 Fotos gemacht.

Einmal heute morgen...

Foto Chilis morgens

... und einmal heute abend ...

Foto Chilis abends

Heftig, oder? Es liegen gerade mal 10 Stunden zwischen den beiden Aufnahmen. Scheinbar ist der Platz auf der Aquarium-Abdeckung ideal zum anzüchten ;-)

Chemnitzer Linux Tage 2009

Samstag

    * **Sören Sprenger - GPL Telefonanlage Gemeinschaft**

Nette Übersicht über die Features, die das Projekt bietet und ein paar Screenshots, was man alles mit der Web-Oberfläche machen kann. Ich hätte mir etwas mehr Technik bzw. Abgrenzungen zu anderen Lösungen, die auch Asterisk einsetzten, gewünscht.

    * **Gerhard Galsterer - Ethernet und Mobilfunk, zwei Welten begegnen sich**

Kompakter Überblick über Probleme und Möglichkeiten, die beim Verbinden zweier Ethernet-Segmente via Mobilfunk existieren. Für mich zu wenig Linux-Verbindung, mich hätte schon interessiert, was an Software auf den Boxen läuft - und natürlich, was für Hardware da überhaupt drin steckt.

    * **Ralf Spenneberg - Praktische SELinux Anwendung: Kiosk-Modus für Gäste**

Super Start, um mal ein bisschen in SELinux reinzuschnuppern! Guter Vortrag, guter Inhalt, viel rübergebracht! TOP! Und es war wohl auch der Startschuss, dass ich mich wirklich mal etwas da einlese/einarbeite. Sinngemäßes Zitat: "Sie denken, Sie können SELinux nicht einsetzten, weil Sie es nicht verstehen? Aber den Linux-Kernel verstehen Sie, ja? ;-) SELinux verbietet nur Dinge, die bisher erlaubt waren - nicht andersrum -, es wird also nur 'besser'."

    * **Prof Dr. Peter Trommler - OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE**

Im Linux-Magazin war vor kurzem schon ein Artikel dazu und gerade die Tatsache, dass man eben nichts am Server installieren muss, macht dieses Offline-FS so interessant. Bisher ist wohl eher ein Prototyp entwickelt worden, aber trotzdem werde ich das demnächst mal austesten ;-)

    * **Martin Schütte - Syslog nach RFC**

Klingt irgendwie interessant, wie das ganze funktionieren soll, nur ob man das wirklich will, sei mal dahingestellt. Wenn mir jemand in den Syslog-Server "spucken" kann, ist er eh schon in meinem Netz (evtl. sogar auf dem Rechner) und wieso sollte er dann nicht mit den Möglichkeiten, die man so auf einer UNIX-Büchse hat, Log-Meldungen verschicken?!?

    * **David Roetzel: Systemkonfiguration managen mit Puppet**

Ui, heftiges Thema. Die Config-Files sehen halbwegs brauchbar aus, auch wenn es definitv schöner gehen würde. Ist wohl der Tatsache geschuldet, dass es in Ruby programmiert ist ;-). Naja, ich denke man muss das System mal antesten, sich selbst am Riemen reißen, dass man es so macht, wie es Puppet will und dann darf man urteilen. Was mich allerdings nachdenklich stimmt ist die CPU-Zeit, die der Master wohl so zum "Client-Config-Compiliere" braucht - wenn ich das richtig verstanden habe.

    * **Karl Uwe Lockhoff: Einsatz von NetBSD auf minimaler Hardware**

Ziemlich theoretischer Vortrag, wie man NetBSD kleiner machen kann um es eben auf kleiner/alter Hardware als Mini-Server laufen lassen kann. Ich hätte das ganze etwas praktischer, bzw. mit "echten" Configs, besser gefunden.

Sonntag

    * **Peter Eisentraut - Spaß mit PostgreSQL**

Hmm, was soll ich sagen? Inhalt gut, am Vortragsstil fand ich noch Optimierungspotential. Die Sachen, die man mit PostgreSQL machen kann, sollte man auf jeden Fall mal austesten, schließlich ist es fast egal, was z.B. die eingebundenen "Funktionen" machen

    * **David Kastrup - Lua, eine kompakte Erweiterungssprache**

Eigentlich bin ich von David ja echt gute Vorträge gewohnt. Leider hat er sich wohl letzte Nacht etwas... "überhoben" und ist zu spät in's Bett bzw. den Schlafsack gekommen. Letztendlich gleiches Fazit wie beim PostgreSQL-Vortrag: Inhalt top, Vortrag flop :-(

    * **Hans-Jürgen Schönig - PostgreSQL: Aktuelle Entwicklungen**

Schade, leider zu spät gekommen und so eine echt gute Show (und auch guten Inhalt!) teilweise verpasst! Schön zu sehen, dass man auch solche Vorträge nicht nur bierernst rüberbringen kann, sondern dass auch hier der Spaß ganz weit vorne stehen kann. Der unüberhörbare österreicher Akzent tat dann sein übriges ;-)

CeBIT 2009 - mit mir

Dieses Jahr hat's mich auch mal erwischt. Ich bin auf der CeBIT 2009.

Wer Lust hat, kann mich ja in Halle 6, Stand G41 (rechter Teil von Heinlein) mal besuchen. Teamix stellt u.a. Nagios aus und ich halte auch täglich einen Vortrag darüber.

Wer uns nicht findet, einfach nach den roten oder türkis Shirts ausschau halten ;-)

NFSv4 verringert Latenzen gegenüber NFSv3 (insbesondere über WLAN)

Kurz zu meiner Motivation:

Weil ich es lieben und schätzen gelernt habe, auf vielen/allen Rechner das gleiche Home-Verzeichnis zu haben, liegt bei mir zu Hause /home auf meinem Server. Dies wird dann von den diversen anderen Rechner per NFS (bisher V3) gemountet.

Meine Workstation ist aufgrund der Lage in der Wohnung per WLAN mit dem Server verbunden, was an sich kein Problem ist (die Geschwindigkeit reicht vollkommen aus, vielleicht mal beim DVD brennen nervt's - wenn das Image auf dem Server liegt).

Allerdings gibt es ein paar Programme, die IMHO viel zu häufig auf das Dateisystem zugreifen, dazu gehört eben Firefox/Iceweasel. Das Ergebnis war, dass man bis zu 3 Sekunden warten musste, bis sich ein neues Tag geöffnet hat - grausam! Versuche mit lokalem Home-Verzeichnis und Firefox/Iceweasel bzw. NFS-Home und Opera haben gezeigt, dass es eindeutig an dieser Kombination lag.

Da ich mich vor längerer Zeit auch schon mal beruflich mit NFSv4/NFS4 auseinander gesetzt habe und daher wusste, dass genau diese vielen Round-Trips zwischen Server und Client reduziert wurden, dachte ich mir, probier's doch "mal einfach schnell aus". Pustekuchen! Leider gibt's zu viele Anleitungen, die auf alten Ständen aufsetzen und nicht funktionieren. Deswegen hier eine Lösung für Debian/Lenny (NFS-Tools 1.1.2).

    1.

Vorbereitung IDMAP - Server & Client
NFSv4/NFS4 arbeitet auf der Leitung nicht mehr mit User-IDs, sondern mit "User-Strings", welche wie E-Mail-Adressen aussehen. Dazu gibt's den (rpc.)idmapd, welcher die Umsetzung auf beiden Seiten vornimmt.

% cat >/etc/idmapd.conf <<EOF
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = homenfs.domainname.local

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

    2.

Server einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-kernel-server

Anlegen der neuen Export-Struktur:

root@server% mkdir -p /exports/{home,data}

Dauerhafter Bind-Mount der zu exportierenden Verzeichnisse:

root@server% cat >>/etc/fstab <<EOF
/home /exports/home none bind 0 0
/data /exports/data none bind 0 0
EOF

Exportieren der neuen Struktur:

root@server% cat >>/etc/exports <<EOF
/exports 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash,fsid=0,crossmnt)
/exports/home 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
/exports/data 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
EOF

Starten der NFS- und IDMAP-Dienste:

root@server% /etc/init.d/nfs-common restart
root@server% /etc/init.d/nfs-kernel-server restart

    3.

Client einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-common

Dauerhaftes Mounten der Verzeichnisse:

root@client% cat >>/etc/fstab <<EOF
server:/home /home/ nfs4 defaults 0 0
server:/data /data/ nfs4 defaults 0 0
EOF
root@client% mount -a

    4.

Glücklich sein
Man merkt zwar immernoch einen kleinen Unterschied zwischen lokalem und NFS-Home-Verzeichnis, aber das nur gelegentlich. Auf jeden Fall kann man nun auch wieder mit Firefox/Iceweasel gut arbeiten ;-)

Der gläserne Schüler

Auch schon etwas her, aber trotzdem immernoch gut

Auf Heise war zu lesen, dass sich Berliner Schüler, Eltern und Lehrer gegen die Pläne der Stadtoberen sträuben, einen "gläsernen Schüler" (wie sie es nennen) zu erschaffen. Mit allerlei Argumenten versucht man, dies zu verhindern (Misslungene Bildungspolitik, kein pädagogisches Konzept, ...).

Im Prinzip ja unterstützenswert... ABER: Wer von den Schüler bzw. Kinder der Eltern ist denn nicht bei SchülerVZ registriert und bläst dort die Daten (und noch viel, viel mehr...) freiwillig ins weltweite, große Netz?

Ich finde, man sollte einfach einen Kompromiss machen: Der Holzbrink-Verlag bekommt von Berlin ein paar Euro, dafür fügt man im SchülerVZ ein paar Datenfelder ein, die nur "Berechtigte" lesen bzw. ändern können und man hat eine klassische Win-Win-Situation: Holzbrink verdient, Berlin hat die Daten und alle sind zufrieden

COM/Seriell ansprechen unter Windows - Mess-PC

Dieser Artikel liegt schon ewig in meiner Queue, bevor er hier endgültig vergammelt geb ich ihn einfach mal so frei

Auslesen der Mess-PC Temperaturfühler unter Windows mit Hilfe von Python:

!/usr/bin/env python

import re
import sys

fd = open("COM3")

line = fd.readline()
line = fd.readline()

fd.close()

erg = re.search("temperature=([.0-9]+).humidity=([.0-9]+).dewpoint=([.0-9]+)", line)

temp = float(erg.group(1))

RETURNCODE=0
RETURNSTRING='OK'

if temp > 40.0:
RETURNCODE=1
RETURNSTRING='WARNING'
elif temp > 45.0:
RETURNCODE=2
RETURNSTRING='CRITICAL'

out = 'Temperatur %s: %4.1f C, ' % (RETURNSTRING, temp)
out += 'Information: Luftfeuchte %4.1f%%, ' % float(erg.group(2))
out += 'Taupunkt %4.1f' % float(erg.group(3))

out += '|Temperatur=%.1f;40.0;45.0; ' % temp
out += 'Luftfeuchtigkeit=%.1f ' % float(erg.group(2)
out += 'Taupunkt=%.1f' % float(erg.group(3))

print out
sys.exit(RETURNCODE)

check_netappfiler - Nagios-Plugin für FAS-System von NetApp

Mit Hilfe von check_netappfiler ist es möglich, wichtige Laufzeitdaten einer FAS mit Nagios zu überwachen. Das Plugin ist in Python geschrieben und hat außer dem "snmpget"-Binary keinerlei Abhängigkeiten.

Es existiert allerdings eine Version, welche auf den NET-SNMP Python-Bindings aufsetzt - diese ist zwar schneller, dafür werden aber die Bindings benötigt, welche noch nicht in allen Distributionen (z.B. nicht in Debian 4.0 "Etch", aber in 5.0 "Lenny") zu finden sind.

PNP-Graph für ein NetApp-Volume
Grafische Visualisierung mit Hilfe von PNP und RRDTool

Es gibt noch keine richtige HomePage für das Plugin, allerdings ein paar Informationen dazu (auf Englisch) befinden sich unter http://people.teamix.net/~svelt/check_netappfiler/.

Wer sich weiterhin mit NetApps beschäftigt (oder beschäftigen muss), dem sei MyNetApp.de an's Herz gelegt. Eine kleine aber feine Community mit vielen Tipps, Tricks und schnellen Antworten auf Fragen!

check_netappfiler - New "homepage"

I just want to let you know that there is a new... err... "homepage" for my check_netappfiler-Plugin. You can find it - as I do most work for it at http://people.teamix.net/~svelt/check_netappfiler/. There are also some example graphs of PNP4Nagios.

If you have problems and/or ideas what to monitor on your NetApp Toaste^WFAS don't hesitate to contact me!

German readers: Soll ich noch ein Forum auf MyNetApp.de eröffnen (lassen)?

cat ~/.gitconfig

[alias]
br = branch
st = status
log1 = log --pretty=oneline --abbrev-commit
rlog = log --pretty=format:\"%h %Cblue%cr%Creset %an %Cgreen%s%Creset\"
[color]
ui = auto
[color "branch"]
current = "yellow bold"
local = cyan
remote = "red bold"
[color "diff"]
new = cyan
old = magenta
frag = yellow
meta = green
commit = normal
whitespace = "white reverse"
[color "status"]
changed = yellow
added = magenta
untracked = "blue bold"
nobranch = "red bold"

check_netappfiler with support for "libsnmp-python"

As ''snmpget'' from Debian Etch is a real performance killer I rewrote parts of my check_netappfiler plugin for Nagios.

The Good News[tm]:
Look at the load at the time of switchting to the new version:
Load-Graph

The Bad News[tm]:
You need NET-SNMP's Python bindings which aren't in Debian/Etch so I did a quick ("works for me") backport of NET-SNMP out of Lenny

Feedback welcome! ;-)

Asus WL500g Premium, DD-WRT, Linux - Teil 2

mkdir /jffs/etc
mkdir /jffs/etc/config
cd /jffs/etc/config

cat usb.startup

chmod +x usb.startup

wget http://www.wlan-sat.com/boleo/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
cd /tmp
sh ./optware-install.sh

Asus WL500g Premium, DD-WRT, Linux - Teil 1

Bereits einige Zeit liegt bei mir ein Asus WL500g Premium (oder WL500gP), der eigentlich nur darauf wartet, seine Aufgabe zu übernehmen. Jetzt habe ich mir dann mal vorgenommen, das originale Firmware-Image "kaputt" zu machen, damit ich mich endlich mal mit dem Kistchen genauer beschäftigen muss ;-)

Schritt 1: DD-WRT einspielen
Nach einigem hin und her habe ich für meinen Router-Liebling DD-WRT entschieden. Nachdem ein Kollege auf dem selben Modell einfach ein Debian installiert hat, wäre das wohl die zweite Alternative. Allerdings wollte ich schon länger etwas ausprobieren, was sich OptWare nennt. Das Prinzip ist einfach: Software für das NSLU2 von Linksys compiliert, aber so, dass es unterhalb von /opt liegt. Und angeblich soll das auch mit DD-WRT funktionieren.

Man findet im Netz mehr oder minder haarsträubende Beschreibungen, was man alles tun muss, um auf das weiße Kästchen initial ein DD-WRT draufzubekommen. Aber es geht auch einfach:

    * Download der aktuellen Software von [der Downloadseite von DD-WRT](http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html). Ich hab als erstes ein [Mini-Image (v24sp1)](http://www.dd-wrt.com/dd-wrtv2/downloads/v24-sp1/Consumer/Asus/WL500g-Premium/dd-wrt.v24_mini_generic.bin) draufgeflasht, bei anderen Routern wird das empfohlen und bei manchen hat es anders auch nicht funktioniert

Wenn man aber schon auf der Seite ist, kann man sich auch gleich noch das Standard-Image (v24sp1) oder sogar das Mega-Image (v24-sp1) herunterladen. Ich nutze aktuell das Mega-Image, da ist alles (fast) drin, was ich brauche und noch mehr (siehe auch den Vergleich der verschiedenen Images)

    * `aptitude install tftp` installiert die notwendige Software zum Flashen


    * Network-Manager und ähnliche Dinge auf dem Rechner ausschalten. Die automatische Konfiguration spuckt immer wieder dazwischen, deswegen macht man das von Hand:

root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up
root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up # Zur Sicherheit nochmal...
root@linux:/tmp> tftp 192.168.1.1
tftp> verbose
tftp> trace
tftp> binary
tftp> put dd-wrt.v24_mini_generic.bin # noch NICHT ENTER drücken!

    * Strom aus dem Asus ziehen, mit einem Stift den Reset-Taster (das ist der versenkte, NICHT der der raussteht!) gedrückt HALTEN(!) und Strom wieder anstecken.

Nach ca. 10 Sekunden hat bei mir die Power-LED geblinkt. In div. Mailings liest man allerdings, dass es auch mal 20 oder 30 Sekunden dauern kann (oder nur 5...)

    * Jetzt im tftp-Client Return drücken, man sollte sehen, wie viele Pakete Richtung Asus geschickt werden.

Wenn er fertig ist, Ruhe bewahren... lasst den Router zur Sicherheit einfach 2-3 Minuten stehen.
Dann allerdings sollte ein ping 192.168.1.1 zeigen, dass der Router wieder erreichbar ist.

    * Mit einem Web-Browser geht man dann auf das Web-Interface http://192.168.1.1, ändert das Passwort und... Willkommen bei DD-WRT ;-)


    * Unter "Administration" -> "Firmware Upgrade" kann man nun bequem das oben heruntergeladenen Standard- oder Mega-Image einspielen>br />

Da der Asus ja etwas mehr Flash besitzt, kann man diesen unter "Administration" -> "Management" -> "JFFS2" mit "JFFS2: Enable" und "Clean JFFS2: Enable" (einmalig!) mit anschließendem Reboot benutzbar machen.

    * Da ich eine 2,5"-USB-HD an das Gerät packen möchte, habe ich auch noch unter "Services" -> "Services" die Einstellungen für "Core USB support", "USB2.0 support", "USB storage support" und "ext2/ext3 FS support" eingeschalten. Das geht Out-of-the-Box nur mit dem Mega-Image, sonst muss [man selbst Hand anlegen.](http://www.dd-wrt.com/wiki/index.php/USB#USB_drivers)

Update!
Nachdem ich es selbst nicht beachtet habe und beinahe einen Router gebrickt hätte, nochmal der Hinweis: Nach dem Flashen lasst den Router ein paar Minuten einfach in Ruhe stehen! NICHT Strom abziehen oder ähnliches! Warten!

Verzeichnisse nur über SSL erreichbar machen - und das benutzerfreundlich!

Die Anforderung:
Ein Verzeichnis auf einem Apache-Webserver (genauer das Admin-Frontend von Django) sollte nur via SSL erreichbar sein. Wenn jemand via HTTP auf (schützenswerte) Unterverzeichnisse zugreift, dann soll er "passend" umgleitet werden. Letztendlich kommt noch dazu, dass dieser Location-Container mit vielen anderen Einstellungen per Include-Anweisung in 2 virtuelle Hosts (HTTP und HTTPS) geladen wird. Für einige ist es OK, dass sie sowohl per HTTP als auch HTTPS ausgeliefert werden, für andere eben nicht. Da neben Django noch mehrere Tools auf diesem Web-Server laufen, gibt's dafür einen extra Location-Container:


SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/PFAD/ZUM/PROJECT/'] + sys.path"
PythonAutoReload On
SetEnv DJANGO_SETTINGS_MODULE PROJEKT.settings

Lösung 1:
Im Modul mod_ssl gibt es die Direktive SSLRequireSSL On, mit der man sicherstellen kann, dass es eben nur via SSL ausgeliefert wird.
Nachteil: Kommt ein Benutzer via HTTP bekommt er nur "Du kummst hier net rein!". Effektiv, aber nicht wirklich schön.


SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/PFAD/ZUM/PROJECT/'] + sys.path"
PythonAutoReload On
SetEnv DJANGO_SETTINGS_MODULE PROJEKT.settings

SSLRequireSSL On

Lösung 2:
Mit Hilfe von mod_rewrite bzw. dessen Direktiven RewriteCond und RewriteRule wird getestet, ob die Anfrage per HTTP kam und wenn ja an die selbe URL nur mit HTTPS weitergeleitet:


SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/PFAD/ZUM/PROJECT/'] + sys.path"
PythonAutoReload On
SetEnv DJANGO_SETTINGS_MODULE PROJEKT.settings

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}/%{REQUEST_URI}

Et voilà! ;-)

Seitdem ich bei dieser Firma bin...

"... habe ich auch schon mitbekommen, dass Du in Bezug auf Nahrung ein schwarzes Loch bist"

Danke, Herr Kollege ;-)

Links ohne Ende...

... gibt's ja bei der LUSC im Chat - meistens auch von einer Person. Allerdings muss ich mal ausnahmsweise sagen, dass ich das Filmchen (gut in dem Fall geht's wirklich mehr um den Ton) gleich mehrfach hintereinander hab laufen lassen.

Fluch der Karibik - auf der Gitarre

PS: Nein, ich werde jetzt nicht anfangen, jeden Link hier zu veroeffentlichen ;-)

« 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 »