Dateidatum ändern

Wo uns verschiedenste *nixe (oder neusprachlich auch *nuxe) mit einem simplen touch meinedatei das Dateidatum auf den aktuellen Stand bringen lassen, da versagt Windows mit Boardmitteln kläglich. Naja, fast. Es sei denn man nutzt einige undokumentierte Features, die es aus DOS-Zeiten noch bis heute geschafft haben. Um eine Datei auf das aktuelle Datum zu bringen kann man simpel copy /b datei+,, nutzen. Um ein ganzes Verzeichnis auf den aktuellen Stand zu bringen kann man auch Wildcards verwenden: ...

17. Januar 2006 · 1 min · 121 words · Marco Gabriel

Apache2 Redirect für nicht existierende Seiten

Wer über Jahre hinweg Websites betreut wird früher oder später auch dazu kommen, daß externe Links auf Seiten verweisen, die nicht mehr existieren. Je nach dem wie man den Eintrag für 404 Seiten in der apache.conf hinterlegt gibt Apache2 dann sogar (anfangs verwirrende) verschiedene Statuscodes zurück: ErrorDocument 404 /relativer/link/zur/404-erklaerung.html ergibt einen 404 (not found) ErrorDocument 404 http://mein.host/404-erklaerung.html``` liefert einen 302 (document moved) Was nun für die eigene Site sinnvoller ist, muss man von Fall zu Fall entscheiden.

31. Januar 2006 · 1 min · 77 words · Marco Gabriel

Django Installation

Wie ich kürzlich schon schrieb, möchte ich eine Artikelserie über das Python Web Framework Django starten. Anfangen möchte ich dabei mit der Installation des Framework auf einem Linux Server, welches wohl auch die am meisten verwendete Kombination sein dürfte. Django wurde urspünglich als Grundlage eines kommerziellen Backends (Ellington) für eine Onlinezeitung entwickelt und im Juli 2005 als Open Source unter einer BSD Lizenz veröffentlicht. Die Kernkomponenten des Frameworks sind: Objektrelationale Definition der eigenen Datenmodelle Eine eingebaute Administrationsoberfläche für alle Datenmodelle, auf eigene Bedürfnisse anpassbar in Funktion und Design Elegante, saubere, aussagekräftige URL Definitionen, keine kryptischen Zahlenkolonnen die sich niemand merken kann (Suchmaschinen und Leser danken!) Eigene, leicht zu erlernende und sinnvolle Template-Sprache (inklusive Vererbung von Templates) Caching ist bereits eingebaut, aber nur wenn man es möchte und für welche Teile man es möchte Internationalisierung von Webprojekten wird direkt unterstützt Um diesem Beispiel folgen zu können benötigt man natürlich auch ein paar Dinge. Zum Beispiel sollte man einen Linux Server haben, Python sollte bereits installiert sein und Grundkenntnisse darin sollte man auch haben. Zumindest hilft es ungemein, die Beispiele ein wenig zu verstehen. Wenn man nicht sicher ist, ob Python bereits installiert ist oder welche Version installiert ist, kann man dies mit einem python -V herausfinden. Django selbst benötigt mindestens Python 2.3, welches man in jeder aktuellen Distribution vorfindet. Unter Debian Stable (Sarge) ist es auch schon die Version 2.3, und Sarge ist nun nicht gerade für die neuesten Pakete bekannt. Unter Debian Testing (Etch) ist mittlerweile die sogar weiter verbreitete Python 2.4 zu bekommen. ...

30. Januar 2006 · 3 min · 581 words · Marco Gabriel

Linux Backups mit dd und Fortschrittsanzeige

dd ist wohl das Standardwerkzeug zum Erstellen von Festplattenimages unter Linux. Bei großen Festplatten (und mittlerweile sind alle Festplatten groß) dauert das eine ganze Weile, in der man sich gelegentlich fragt, wie weit der Vorgang denn abgeschlossen ist. dd besitzt nämlich keinerlei Fortschrittsbalken. Mit einem kleinen Workaround lässt sich das aber herausfinden: Läuft dd bereits, kann man in einer weiteren Konsole mit folgendem Befehl den aktuellen Stand ausgeben: pkill -USR1 dd Besser allerdings wäre, gleich zu GNU ddrescue zu greifen, auch bei Festplatten, die noch völlig intakt sind. Das geht nicht nur schneller, sondern bringt auch gleich eine Fortschrittsanzeige mit.

19. Januar 2006 · 1 min · 100 words · Marco Gabriel

PyInstaller statt py2exe

Nachdem mich py2exe schon öfter geärgert hat und gerade jetzt wieder nicht das tat, was er eigentlich tun sollte habe ich kurzerhand auf PyInstaller gewechselt um aus Python-Code direkt ausführbare Programme zu generieren. Nicht nur, daß PyInstaller auch unter Linux ausführbare Executables erzeugen kann, er generiert auch wirklich nur eine einzige .exe, die man besser verteilen kann.

9. Januar 2006 · 1 min · 57 words · Marco Gabriel