Alle Beiträge von Björn

Softwareentwickler, Klettermax, Hobby-Fotograf: Meine Freizeit verbringe ich am Liebsten draußen - urbexen, geocachen, klettern - überall findet man Dinge, die es wert sind, sie zu Dokumentieren.

Amavis, der kleine Speicherfresser

Heute bekam ich eine Mail von meinem Monitoringsystem, welches mir mitteilen wollte, dass die Platte einer meiner Server bald voll ist.

Zuerst dachte ich mir „wie hat bitte die kleine Kiste jetzt schon 100GB vernichten können?“ und das die Apache Logs dran schul seien – Fehlanzeige.

Nach ein wenig Recherche, welcher Ordner dafür verantwortlich sei, bin ich auf das Verzeichnis /var/lib/amavis/tmp/ gestoßen, der laut „du“ sagenhafte 61GB mit sich schleppt.

Darin bewahrt Amavis wohl die Virendefinitionen aufzubewahren. „lsof“ zeigte mir an, dass alte Dateien aus dem Ordner nicht mehr mit der Amavis Binary geöffnet werden. Also schmiss ich alle Daten weg, die älter als 30 Tage waren.

Das geht super easy per „find /var/lib/amavis/tmp/ -type f -mtime +30 -print | xargs /bin/rm -f“.

Normalerweise sollte sich das Verzeichnis (zumindest unter Debian) bei jedem Amavis start selber leeren – naja, sollte…

Auf jedenfall sind nun wieder gut 60GB an Speicher wieder frei :)

SSH Tunnel mit PuTTY

Da unsere Lehrer in der Berufsschule so gemein waren und uns den Internetzugang blockiert haben, mussten wir uns selber helfen.

Um mit dem Windows Programm „PuTTY“ einen Tunnel aufzubauen, benötigt man in der Regel nur einen entfernten Rechner mit einem laufenden SSH Server. Zum Surfen benötigt man zudem einen HTTP-Proxy, wie z.B. Squid oder einen Socks-Proxy oder man benutzt einfach VNC / RDP.

SSH Tunnel mit PuTTY weiterlesen

Code Zeilen zählen: Cloc!

Vor kurzem wollte ich mal wieder vergleichen, wie sehr eins meiner Projekte gewachsen ist.
Ich wusste, dass es mal eine ziemlich geniale Software gab, die den Code genauer unter die Lupe nimmt und die „echten“ Codezeilen zählt.

Nach 30 Minuten ist es mir wieder eingefallen: Cloc [1]

Damit ich es nicht nochmal suchen muss und der Rest der Welt auch was davon hat, stelle ich es kurz vor.

Code Zeilen zählen: Cloc! weiterlesen

ENC28J60 link detection

Da sich meine Standard ENC28J60 Library gerne mal aufhängt, wenn ich ein Paket versende und es keine Physikalische Verbindung gibt, war klar: eine Link-Detection muss her.

Erster Ansatzpunkt ist das Datenblatt[1] vom ENC28J60.

Auf Seite 26 findet sich ein interessantes Register: PHSTAT2.
Im 10. Bit (LSTAT) findet sich der Status wieder.
0 = Link down / 1 = Link up

Das klingt zwar einfach, aber man muss einigen Aufwand betreiben, um an das Register heran zu kommen.
ENC28J60 link detection weiterlesen

RFID und Mikrocontroller

Wer RFID an seinen Mikrocontroller bringen will hat verschiedene Möglichkeiten dies zu tun.

Zur Auswahl stehen I2C, UART, RS232 und SPI.

Aber dann stellt sich die Frage, welchen Kartentyp wir nutzen wollen.
Die Bekanntesten sind wohl Mifare 1/4k Classic und EM410X.

Der Unterschied ist, dass man auf den Mifare Classic Karten 1k bzw. 4k Speicher befinden,
die vor unbefugten lesen / schreiben geschützt sein sollten. Dieser Schutz wurde aber bereits mehrfach ausgehebelt[1].
Der EM4102 Transponder sendet aber nur seine eigene Seriennummer und mehr nicht.

Da ich ein paar Daten auf den Transpondern abgelegen will, habe ich mich für die Mifare Transponder entschieden.
(Soweit ich weiß gibt es auch noch nicht geknakte Mifare Typen [Mifare Plus mit AES und Replay-Schutz], kann diese im Handel aber nicht finden.)

Dafür habe ich mir bei einem Chinesischen Distributor[2] ein paar Lese/Schreibgeräte besorgt, die per UART kommunizieren.
(Für längere Strecken zwischen Mikrocontroller und Lesegerät empfehle ich unbedingt die RS232 Version – benötigt aber einen zusätzlichen UART – RS232 Wandler, wie z.B. der Max232).

Links:
[1] http://www.heise.de/newsticker/meldung/Schwaechen-des-RFID-Systems-Mifare-Classic-bestaetigt-191623.html