Saturday, 28. January 2012Rewrite Spiele mit Apache
Das Ziel: Existierende Dateien werden normal angezeigt. Bei nicht existierenden Dateien wird statt Error 404 der Erfolgsstatus 200 und ein Standard-Dokument ausgegeben.
Klingt einfach? Ist es nicht. Das liegt primär daran, dass dafür mod_rewrite braucht, wofür keine gescheite Dokumentation existiert (ist ja schön, wenn die offizielle Doku alle verfügbaren Variablen auflistet, sie aber nirgends erklärt...) und alle bestehenden Howtos irgendwo einen Fehler machen oder diesen zugegebenermassen sehr speziellen Fall überspringen. So scheitern praktisch alles bestehenden Vorschläge an der fehlerhaften RewriteCond: RewriteCond %{REQUEST_FILENAME} !-f -d und -f prüfen aber den absoluten Dateisystempfad, während REQUEST_FILENAME nur den Teil enthält, welcher in der URL nach dem Hostname steht, d.h. http://www.example.com/requested/filename.html. Somit werden diese Rewrite Conditions sowieso niemals zutreffen. Nun gibt es zwei Lösungen dafür. Entweder den ausschliessenden Weg, dass man alle existierenden Dateien von Hand explizit spezifiziert, z.B. RewriteCond %{REQUEST_FILENAME} !^/robots.txt$ Nur hat dies zwei Nachteile, es ist aufwändig und unflexibel. Na gut, die simplere Lösung ist es den vorangehenden Pfadnamen hinzuzufügen, dafür gibt es die glücklicherweise vom Namen her sprechende DOCUMENT_ROOT Variable (eine offizielle Dokumentation, wo diese beschrieben wird, ist aus irgendwelchen Gründen schwierig zu finden...), so dass eine funktionierende, flexible und universelle Regel etwa so aussehen könnte: RewriteEngine on Thursday, 19. January 2012fetchmail via cron
Hat man fetchmail erfolgreich konfiguriert und als Cronjob ein simples fetchmail -s eingerichtet, so wird sich der Cron Daemon über einen Fehler beschweren, wenn keine Mails im Postfach zur Abholung bereit lagen. Grund dafür ist, dass fetchmail nur 0 als Exit Code zurückgibt, wenn es erfolgreich Mails abgeholt hat. Lagen keine Mails im Postfach, lautet der Exit Code 1, was von Cron völlig berechtigt als Fehler bemängelt wird. Ein kurzes Studium von man fetchmail hat mir dann die Lösung gebracht, der Cronjob ist jetzt folgendermassen konfiguriert:
*/15 * * * * fetchmail -s || [ $? -eq 1 ] Friday, 13. January 2012Mehrteiliges rar-Archiv entpacken trotz fehlender Teile
Der rar-Archiver scheint eine praktische Funktion zu besitzen, nämlich das automatische Splitten beim packen. Ich muss diese Funktionalität mutmassen, da ich rar nicht zum packen verwende, da es unfrei ist. Und überhaupt gibt es in der freien Welt so viele Formate, dass ich dieses problemlos links liegen lassen kann. Jedenfalls resultiert das ganze in Dateien mit der Endung foobar.part1.rar, foobar.part2.rar etc. Das scheint wohl ganz praktisch zu sein für ein very poor man's Backup auf CDs.
Nun hatte ich neulich das Vergnügen, so eine Archivserie zu entpacken, bei welcher eines dieser Teilstücke verloren gegangen ist. Beim packen könnte wohl angeben, dass ein "recovery volume" angelegt werden soll, womit der Verlust eines Teils kompensiert werden kann. Aber wer denkt schon an sowas Hier der Trick: Angenommen, part4.rar fehlt. Also erstellt man erst einen scheinbaren Teil 4. Am einfachsten kopiert man einen anderen Teil: cp foobar.part3.rar foobar.part.4.rar Nun startet man den nächsten Entpackvorgang, schliesst jedoch die als defekt gemeldete(n) Dateien über den exclude-Parameter aus. Wichtig ist die korrekte Syntax zu beachten, nach dem -x darf kein Leerzeichen folgen und Dateinamen mit Leerzeichen müssen zwischen Hochkommata stehen: unrar x -x'pfad/zu/defekter datei.xls' -x'pfad/zu/ebenfalls defekter datei.doc' foobar.part1.rar Schon entpackt es weiter. Natürlich fehlen letztendlich ein paar Daten unwiderbringlich. Aber sofern es sich um eine Notrekonstruktion aus einem defekten "very poor man's" Backup handelt, ist das doch schon besser als gar nichts mehr zu haben. Friday, 6. January 2012Ubuntu 11.10 auf Rechnern mit EFI installieren
Vor etwa einem Jahr habe ich mir einen neuen Server zusammengebaut. Eigentlich wollte ich damals eine CPU, welche drei Anforderungen erfüllt: x86 64bit, virtualisierungsfähig und sehr stromsparend. Leider konnte jede vorhandene CPU höchstens zwei der Kriterien erfüllen, insbesondere bei Intels Atom sind auch heute noch Punkt eins und zwei gegenseitig ausgeschlossen. Und das stromsparendste von AMD war der Athlon X2 240e, welchen ich zuletzt ausgewählt hatte. Monate später wurden dann die Atom-Konkurrenten von AMD veröffentlicht. Zwei Geräte für Tests mit Cluster- und sonstigen Basteleien mit einer derartigen Zacate-CPU habe ich mir nun besorgt, und zwar zwei ZBOXen von Zotac. Diese sind extrem günstig, komplett ausgestattet und befreit von Microsoftsteuern. Zum einen habe ich mir einen Nano gekauft, da dieser mit Fernbedienung geliefert wird, so dass ich diesen später zu einem Multimediarechner umfunktionieren kann. Und zum anderen einen ADO2, da dieser im Gegensatz zum Nano Platz für zwei Speichermodule bietet, so dass er auf 8GB RAM ausgebaut werden kann.
Bei so schönen Geräten muss natürlich erst mal die Hardware etwas genauer getestet werden, statt sie nur im Konsolenmodus zu betreiben. Dazu wollte ich ein paar Betriebssysteme installieren. Ubuntu Desktop 11.10 lässt sich fast problemlos installieren. Die Installation von Ubuntu Server 11.10, Debian 6 und CentOS 6.2 scheitert jedoch an einem Punkt: Beim Laden des Installers geht plötzlich die Tastatur verloren. Natürlich kann jedes Huhn Debian installieren, wenn genügend Körner auf der Tastatur liegen. Aber die Tastatur muss halt funktionieren. Interessanter- und glücklicherweise tritt das Problem beim Ubuntu Desktop nicht auf, so, dass sich dieser mässig bequem installieren lässt. Das Problem mit den USB-Tastaturen lässt sich auch mit keiner BIOS bzw EFI-Konfiguration beheben. Ich habe alle USB-Einstellungen in jeder Kombination getestet, in letzter Verzweiflung sogar USB-Legacy deaktiviert. Dazu steht im BIOS-Setup, dass dadurch USB-Geräte nur noch in EFI-Applikationen zur Verfügung gestellt würden. Tja, das BIOS-Setup ist blöderweise keine EFI-Applikation, so dass ich nun ganz ohne Tastatur dastand und dies somit nicht mehr einfach korrigieren konnte. Daher musste ich erst mal das CMOS resetten, was zum Glück recht simpel ist. Man muss die Bodenplatte des Geräts entfernen, d.h. erst die vier Daumenschrauben lösen, welche auch als Standfüsse dienen, und dann an der eingekerbten Ecke den Fingernagel einsetzen und die Bodenplatte herausreissen. Nun hat man Zugriff auf alle relevanten Innereien, d.h. Festplatte, WLAN-Karte und RAM-Sockel, so dass man an dieser Stelle auch einfach ein RAM-Upgrade durchführen kann. Für den Reset muss einfach der gummierte, unbeschriftete Knopf zwischen WLAN- und Speichermodul ein paar Sekunden gedrückt werden. Eine bebilderte Anleitung dafür findet sich leicht, jedoch ist in dieser der Reset-Knopf nicht ersichtlich. Die Geräte verfügen über kein BIOS sondern das modernere EFI. So schöne Vorteile (wie z.B. richtig grosse Platten ohne Workarounds) das bietet, so wüste Nachteile bei der Bootloader-Installation zieht es mit sich. Zur Installation von Ubuntu bin ich folgendermassen vorgegangen:
Die Leistung der Geräte ist nicht schlecht. Sogar Nexuiz läuft passabel wenn der proprietäre AMD-Treiber fglrx installiert wird, bei 1024x768 ist es mit 40-70FPS absolut spielbar. Bei höheren Auflösungen kommt die Grafikeinheit aber an den Anschlag. Wednesday, 19. October 2011Pseudo-Hardware-RAID retten
Mal wieder dicke Punkte für Linux als Rettungssystem. Kollege bringt mir seinen defekten PC mit einem Intel Matrix RAID. Natürlich RAID-Level 0, d.h. ohne Netz und doppelten Boden. Man müsste die Daten von den Disk versuchen zu retten, weil Backup ist nicht...
Na gut. Die Kiste fährt nicht hoch sondern piepst nur. Ergo Platten raus, in meinen alten Schrott-PC rein und die nächstbeste Live-CD (in diesem Falle CloneZilla) gestartet und mal geschaut, was da Sache ist. mdadm sollte ab Version 3.0 in der Lage sein, solche Non-Linux-SoftRAID Verbünde wieder zusammenzusetzen. Tatsächlich klappt das auch. Verwirrend ist jedoch, dass die physischen Festplatten als /dev/sda1 und /dev/sda2 (was ja eigentlich Partitionen wären) eingebunden sind und das logische Laufwerk, d.h. der Verbund, als /dev/sda (was eigentlich die erste physische Platte sein sollte) verfügbar ist. Tja, wo sind nun die Partitionen? Diese finden sich unter /dev/dm-[0-9] und können von dort ganz normal gemountet werden. CloneZilla hat NTFS-3G schon dabei, somit ist auch der Zugriff auf die Windows-Partitionen kein Problem. Kurz die Daten auf eine externe USB-Disk gesichert, und gut ist. Tuesday, 18. October 2011Die gute und die schlechte Nachricht
Die gute zuerst: Free&Virgin sind pleite. Das sind die Chaoten, die ab und zu mal spontan ein Konzert ans andere Ende der Welt verschieben oder glauben, dass sie Musikfestivals organisieren könnten.
Nun die schlechte: Sie machen einfach unter neuem Namen weiter und heissen jetzt MASPE (Matthey & Sprenger Entertainment) bzw Starclick. Ich erwarte keine Verbesserung. Daher wird meine Boykottliste einfach prophylaktisch um die neuen Namen ergänzt. Thursday, 18. August 2011Das beste und seltenste Bier der WeltWednesday, 17. August 2011Debian Backports selbst gemacht
Ab und zu braucht oder möchte man mal unter Debian Stable ein neueres Programm installieren. Oft findet sich dies in Unstable oder gar Testing, aber leider gibt's dann oft keinen Backport. Das ist aber kein Problem. Meine Backports bau ich anhand dieser Anleitung, mit einigen Ergänzungen. Hier erläutere ich dies am Beispiel des Messengers Pidgin:
Als erstes werden mir root-Rechten die benötigten Abhängigkeiten für den Bau des Pakets installiert: # aptitude build-dep pidgin Bis auf weiteres können alle weiteren Schritte als normaler User ausgeführt werden. Als nächstes wird die Source und die Debian-Modifikation von packages.debian.org heruntergeladen und in ein eigens für den Build erstelltes Verzeichnis kopiert: $ mkdir pidgin Nun wird entpackt: $ tar -jxf pidgin_2.9.0.orig.tar.bz2 Der nächste Schritt ist etwas fummelig. Allenfalls müssen Abhängigkeiten angepasst werden, weil das Debian-Skript eine neuere Version einer Abhängigkeit fordert als nötig und/oder für Debian Stable verfügbar ist. Fehlerhafte Abhängigkeiten können einfach bestimmt werden, indem man den nächsten Schritt ausführt und den Kompiliervorgang versucht zu starten. Zur Bereinigung von Abhängigkeiten mit unnötig hoher Version muss die Datei debian/control bearbeitet werden. Einige benötigte Abhängigkeiten mit höherer Version lassen sich aus den Backports installieren, dies klappt mittels aptitude -t squeeze-backports install myrequireddependency (vorausgesetzt, das backports-Repository ist konfiguriert). Für einige ganz fiese Abhängigkeiten kann es nötig sein, dass man davon selbst ein Update gemäss dieser Anleitung erstellen und installieren muss. Sind alle Probleme behoben, kann man nun den Compiler anwerfen lassen: $ dpkg-buildpackage -rfakeroot -uc -b Wenn dies erfolgreich war, erhält man ein installationsbereites .deb-Paket. Für die Installation sind natürlich wieder root-Rechte erforderdlich: $ cd .. Monday, 15. August 2011AMD vs Linux... na endlich!
Kaum zu glauben: Aber mit Treiberversion 11.7 steht nun endlich ein AMD-Treiber zur Verfügung, welcher sich ohne rumgepatche und langen händischen Kompilierorgien out-of-the-box auf Kernel 2.6.38 aus den Debian Backports installieren lässt. Wird ja auch so langsam Zeit, jetzt wo schon bald Kernel 3.1 vor der Türe steht...
Tuesday, 28. June 2011Sonisphere Festival 2011
Letztes Wochenende war ich am Sonisphere. Nun ja, hier eine kurze Kritik.
Positiv:
OK, kommen wir zu den negativen Punkten:
Das sind nur die Dinge, welche mir widerfahren bzw aufgefallen sind. Auf der Facebook-Fanseite tönt es gelegentlich noch wesentlich schlimmer. Ich habe keine Ahnung, was die nächstes Jahr für Bands organisieren müssen, damit ich da nochmals hingehe. Tuesday, 28. June 2011Steuerpiraten! Raubsteuerhinterzieher!
Na, liebe IFPI, wie gefällt es euch, wenn man euch nach eurem eigenen Massstab einstuft und mit eurem eigenen Vokabular betitelt?
Fragt einer, der letzten Monat 500.- für Festivaleintritte, 150.- für T-Shirts und 300.- für CDs ausgegeben hat... Also Geld genug um die Steuern regulär zu zahlen habt Ihr ja jetzt!!! Monday, 30. May 2011Atomkraftwerke im Stand-By-Modus?
Und ich dachte eigentlich, dass man den Stand-By-Modus bei Stromverbrauchern* vermeiden und stattdessen ganz abschalten sollte. Tja, wieder was gelernt. Danke, Politiker!
*) was mit AKWs passiert, wenn man ihre Stromzufuhr abstellt, hat man ja in Japan mitbekommen... Sunday, 22. May 2011Hundefutter für russische Soldaten
k.A. was der Aufschrei in der Presse grad soll, in der Schweiz ist das seit Jahren gang und gäbe. Die fragwürdige "Köstlichkeit" heisst hier einfach "gstampfter Jud", und ja, ich hab mich hier schon mehrfach dazu geäussert.
Tuesday, 10. May 2011Bye bye Skype
Oh, Microsoft blättert 8.5Mia Dollars für Skype hin? Kein schlechter Deal für die Investorentruppe, die vor zwei Jahren 1.9Mia Dollar für 70% bezahlt hat. Und eBay guckt bestimmt blöd aus der Wäsche
Nun wird die Linux-Version vermutlich eingestampft. Na gut, machen wir doch gleich Nägel mit Köpfen: aptitude purge skype Problem gelöst. Wirklich gemocht hab ich den proprietären Binärblob ja nie wirklich. Saturday, 30. April 2011Mal wieder: AMD-Treiber
AMD hat vorgestern Treiber 11.4 für Linux veröffentlicht. Der ist somit zwei Monate nach Kernel 2.6.38 erschienen. Ob der Treiber sich wohl gegen den Kernel kompilieren lässt?
Antwort: Leider nein: AMD kernel module generator version 2.1 Ich tippe ja drauf, dass man da noch über das entfernte BKL stolpert. |
SucheBlog abonnierenGetaggte Artikel arbeit Big Brother Computer datenschutz ferien Festival fotos Freizeit Freunde Gesellschaft hardware howto ich internet Konzert Küche Life's a Bitch linux lizenz Met Microsoft militär Musik News Paranoia Politik Reisen Schweiz server sicherheit Software Spass Sport Technik virtualisierung Wirtschaft zürich övStatistikenLetzter Artikel: 28.01.2012 11:15
290 Artikel wurden geschrieben
67 Kommentare wurden abgegeben
|

