Start einer Batch-Datei mit niedrigerer Priorität


Wer mittels WinSCP per Batch-Datei Dateien kopieren lässt, wie das letzt von mir beschrieben wurde, dürfte feststellen, dass vor allem auf älteren Kisten das System während des Kopiervorgangs spürbar langsamer wird. Um dennoch weiterhin locker flockig an dem Rechner arbeiten zu können, empfiehlt sich das Starten des Backup-Prozesses mit niedriger Priorität. Aber wie macht man das in einer Batch-Datei?

Am Anfang der Batch-Datei sollte das hier stehen:

@echo off
if "%1"=="" (
    start /WAIT /BELOWNORMAL /B cmd.exe /V /C %~s0 continue_with_low_prio
    goto:eof
)

Ergebnis: Wird die Batch-Datei ohne Parameter aufgerufen, ruft sie sich praktisch selbst nochmals auf, allerdings diesmal mit einem Parameter ("continue_with_low_prio"). Dabei wird über den Paramter /BELOWNORMAL festgelegt, welche Priorität dieser neue Prozess hat. Mögliche andere Werte sind LOW, NORMAL, ABOVENORMAL, HIGH und REALTIME.

Da alle Prozesse, die von dieser Batch-Datei dann gestartet werden, die entsprechende Priorität erben, kann so der Backup-Prozess selbst mit der gewünschten Prioritätsstufe initiiert werden.

Diesen Tipp habe ich von hier, also geht mein Dank an den unbekannten Autor.

Checkout des Django 1.0 Subversion-Branches


Da das leider nicht direkt auf der Django-Webseite verlinkt ist und ich immer danach suchen muss, hier die Anweisung, wie die derzeit stabile Version 1.0 von Django direkt aus dem SVN ausgecheckt werden kann:

svn co http://code.djangoproject.com/svn/django/branches/releases/1.0.X/ django-1.0.x

In diesen Branch fliessen nur Sicherheitsaktualisierungen. Somit bietet sich dies für den produktiven Einsatz an.

T-Shirts von Microsoft: Verfrühter April-Scherz?


Microsoft will anscheinend T-Shirts verkaufen. Mit Logos aus den alten Dos-Zeiten oder aus Bills "schlimmen" Jugendjahren. Diese Kampagne kostet auch nur schlappe 300 Millionen.

Ich weiß ja nicht, wie ihr das seht, aber das schwankt irgendwo zwischen lächerlich und peinlich. Anstatt das Geld in die eigene Software zu stecken, wird am "Image" gefeilt. Das kommt davon, wenn Marketing-Fuzzies den Laden schmeissen. Ich kann da nur den Kopf schütteln.

Hoffentlich gibts irgendwann mal ein Shirt mit Bluescreen; das wäre wenigstens selbstironisch. Oder ein Shirt mit Ballmer in liebevoller Umarmung mit einem Stuhl. Wink

Linksys NSLU2 - NAS für kleines Geld mit vielen Möglichkeiten


Im Heimnetzwerk gibt es bei uns einige Systeme, teilweise Windows, teilweise Linux. Schon immer gibt es in dieser Situation das Bedürfnis nach einem Fileserver zur zentralen Speicherung von Dateien. Einige Zeit hatte ich einen kleinen Rechner aus älteren Teilen zusammengezimmert, der als Fileserver diente. Lief auch fantastisch, aber zum Einen war die Lautstärke des Geräts nicht gerade prickelnd und zum Anderen ist natürlich der Stromverbrauch eines normalen PCs für so etwas simples wie einen Dateiserver, der zwangsläufig eh die meiste Zeit im Leerlauf verbringt, total überdimensioniert.

Aber für den Bastler gibts eine Lösung: Linksys NSLU2 - das kleine Gerät kostet grad mal um die 85.- €. Innen werkelt ein ARM-Prozessor mit 266 MHz. 32 MB RAM sind verbaut. Das Teil ist lüfterlos und somit nicht hörbar. Und das Beste ist, dass dieses Gerät wenig Strom braucht (ca. 20 Watt unter Vollast). Laufwerke werden ausschließlich über die 2 verbauten USB-Ports angeschlossen, d.h. hier muss eine externe USB-Platte oder ein USB-Stick zum Einsatz kommen.

Vom Hersteller Linksys wird das Gerät mit einem "Mini-Linux" ausgeliefert, das relativ einfach über ein Webinterface konfiguriert kann. Das heißt, eine Platte anschließen, Freigaben konfigurieren und schon ist das Ganze im Netz verfügbar. (Somit können auch Nicht-Bastler damit glücklich werden!)

Aber mit dieser Lösung habe ich mich nicht lange aufgehalten, denn die findige Linux-Gemeinde hat schon lange herausgefunden, wie auf dem Gerät ein normales Debian Linux installiert werden kann. Und wenn erstmal ein Debian werkelt, besteht folglich auch der Zugriff auf alle Pakete. Somit kann aus dem Gerät nicht nur ein Fileserver, sondern auch ein Web- oder Mail-Server werden - oder was auch immer gebraucht wird.

Wie solch ein Debian-System installiert wird, ist wunderbar auf der Seite www.nslu2-linux.org beschrieben (Installationsanleitung). Die Installation dauerte saftige 5 Stunden, allerdings vor allem durch die Formatierung der Platte. Da ich hier nicht kleckern, sondern klotzen wollte, habe ich an das Gerät die USB-Platte Buffalo DriveStation mit 1 TB angeschlossen. Platz ohne Ende. (Auch diese Platte hat einen sehr geringen Stromverbrauch, nur 10 Watt beim Lesen und Schreiben.)

Beim Flashen mit dem Debian-Boot-Image kam allerdings eine Fehlermeldung, dass kein Speicherplatz zur Verfügung stehen würde. Das lag daran, dass auf dieser Platte schon eine FAT32-Partition vom Hersteller vorkonfiguriert war. Über das NSLU2 konnte ich die Platte nicht neu formatieren lassen. Erst nachdem ich die Platte an einen PC angeschlossen und darüber besagte FAT32-Partition gelöscht hatte, funktionierte das Formatieren der Platte über den NSLU2. Danach funktionierte auch das Flashen (später bei der Debian-Installation kann die Platte dann nach eigenen Wünschen neu partioniert werden).

Während der Debian-Installation gab es keinerlei Probleme. Alles lief sauber durch. Nach ca. 5 Stunden werkelte ein aktuelles Debian Lenny auf dem System:

bheil@bheil-NSLU2:~$ uname -a
Linux bheil-NSLU2 2.6.26-1-ixp4xx #1 Sun Nov 9 07:52:17 UTC 2008 armv5tel GNU/Linux

Das Einrichten von Samba und dessen Konfiguration unterscheidet sich dann überhaupt nicht mehr von einem "großen" Rechner. Bisher läuft das System leise und stabil vor sich hin.

Es gibt nur einen einzigen Nachteil: Man bekommt auf diesen Weg [b]keinen[/b] High-Performance-Server. Schon mit einfachen Dateioperationen über Samba geht die Systemauslastung gut in die Höhe. Für ein Firmennetzwerk kaum zu gebrauchen, aber zu Hause stört das kaum.

Von mir 5 von 5 Sterne für diese geniale, günstige und effektive Lösung.

Sitebar - alle Lesezeichen immer und überall verfügbar


Wer an mehreren Rechnern parallel arbeitet, hat schon eh und je das Problem der Synchronisation der Lesezeichen im Browser. Natürlich gibt es die Hype-Sachen wie Social Bookmarks, oder man könnte auf Addons wie Foxmarks zurückgreifen, aber Social Bookmark-Dienste mögen für private Linksammlungen nicht der richtige Dienst sein und Foxmarks und Konsorten funktionieren natürlich nur im Firefox. Was also tun, wenn man andere Browser verwendet, vielleicht sogar an jedem Rechner einen anderen?

Sitebar ist hier die Lösung. Diese freie Software (steht unter GPL) stellt einen Server zur Verfügung, mit dem eine Online-Lesezeichen-Verwaltung aufgebaut werden kann. Dabei kann sich jeder die Software selbst herunterladen und seinen eigenen Service aufziehen. Sauber. Oder man verwendet den Dienst von den Programmierern. Oder den, den ich mir installiert habe unter

https://secure.bheil.net/bookmarks/

Wie man sieht, läuft das Ganze ausschließlich über https, d.h. jede Übertragung ist verschlüsselt. Wer Interesse hat, kann sich hier registrieren und die Installation auf diesem Server mitverwenden.

Die Integration von SiteBar in den eigenen Browser ist auf einer eigenen Seite beschrieben: Integrator-Seite. Es empfiehlt sich, das Ganze als Seitenleiste einzubinden - darauf ist auch das Format der Seite zugeschnitten.

Ein Hinweis an Opera-Nutzer (wie mich): Großteils wird SiteBar per Kontextmenü, d.h. mit der rechten Maustaste, gesteuert. Opera unterstützt das aber nicht! Es gibt zwei Methoden, sich zu behelfen: Mit Strg+Linksklick auf den Namen (nicht das Icon!) des Eintrags - oder durch Einblenden eines speziellen Icons (kann man in den Benutzereinstellungen aktivieren). Ich bevorzuge Strg+Linksklick.
Ein- und Ausblenden kann man die Seitenleiste ruck-zuck mit F4.

Hier noch ein paar Bilder, wie das dann im Browser aussieht:

Sitebar in Opera als Seitenleiste
Opera
    Sitebar in Firefox als Seitenleiste
Firefox

Automatischer Download von Dateien über SCP unter Windows (mittels WinSCP)


Gerade erst hatte ich beschrieben, wie ein Download per FTP unter Windows automatisierbar ist, zum Beispiel für Backup-Zwecke. Aber so ganz glücklich bin ich mit dieser Methode nicht: Ein Backup von wichtigen Dateien über ein unsicheres Protokoll wie FTP ist nicht gerade das, was ruhig schlafen lässt. Zwar könnte FTPS oder FTPES zum Einsatz kommen, aber das wird nicht vom Standard-FTP-Kommandozeilen-Client von Windows unterstützt. Entsprechende Drittprogramme waren entweder nicht frei oder nicht für die Kommandozeile geeignet.

Aber wenn ein Zugang per SSH zum Server besteht, kann der Download auch über SCP erfolgen und somit verschlüsselt ablaufen. Dafür bietet sich der Einsatz von WinSCP an, einem freien Open-Source-SFTP-Client für Windows.

Um das ganze zu automatisieren, legen wir wieder eine Batch-Datei an, die den Download startet. Folgende Batch-Datei startet WinSCP mit den richtigen Parametern:

@echo off
C:
cd \Programme\WinSCP
winscp.exe /console /script=E:\Backups\Server\SCP_ANWEISUNGEN.txt /log=E:\Backups\Server\SCP_BACKUP.log

Auch hier werden die eigentlichen Anweisungen für WinSCP in eine extra Datei gespeichert. In obigem Beispiel ist das die Datei E:\Backups\Server\SCP_ANWEISUNGEN.txt. Diese enthält folgendes:

option batch on
option confirm off
open USER:_PASSWORD_@HOST
cd REMOTE_DIR
option transfer binary
get * LOCAL_DIR\*
close
exit

Hier müssen die Werte in Großbuchstaben angepasst werden, also USER, PASSWORD, HOST, REMOTE_DIR und LOCAL_DIR. Damit werden alle Dateien in REMOTE_DIR in das Verzeichnis LOCAL_DIR heruntergeladen.

Das Kommunikations-Log wird dabei von WinSCP in die Datei E:\Backups\Server\SCP_BACKUP.log gespeichert. Kommt es zu Fehlern, kommt man diesem meist recht schnell durch das Log auf die Schliche.

Automatisches FTP-Backup unter Windows


Hinweis: Diese Methode ist unverschlüsselt und sollte daher nicht für wichtige Dateien verwendet werden! Wenn Zugriff per SSH besteht, ist diese Methode über SCP vorzuziehen!

Folgende Batch-Datei ist ein Äquivalent zu diesem Shell-Skript. Es lädt alle Dateien von einem FTP-Server herunter. Damit kann zum Beispiel ein automatisches Backup eingerichtet werden.

Unter Windows (XP in diesem Fall) erzeugt man dazu eine Batch-Datei mit folgendem Inhalt (z.B. ftp_backup.bat):

@echo off
E:
cd \Backups\Server
ftp -i -s:E:\Backups\FTP_ANWEISUNGEN.txt

Dies wechselt in das Verzeichnis, in dem später die heruntergeladenen Dateien landen sollen (hier E:\Backups\Server). Für den Download wird das interne FTP-Progrämmchen von Microsoft verwendet. Was das FTP-Programm tun soll, muss in einer zweiten Datei notiert und per Option übergeben werden. In obigem Beispiel ist das die Datei E:\Backups\FTP_ANWEISUNGEN.txt.
Diese hat für einen Download aller Dateien folgenden Inhalt:

open FTPHOST
USERNAME
PASSWORD
binary
mget *
quit

Natürlich müssen hier noch die entsprechenden Werte für FTPHOST, USERNAME und PASSWORD eingetragen werden. Das ganze schaltet dann in den binären Übertragungsmodus und lädt jede Datei in das aktuelle Verzeichnis herunter. Dabei werden schon bestehende, lokale Dateien überschrieben.

Das kann man dann in der Systemsteuerung noch über einen automatischen Task zeitgesteuert starten lassen oder einfach eine Verknüpfung in den Autostart-Ordner legen, wenn der Rechner jeden Tag neu gestartet wird.

Spam mit Greylisting bekämpfen


Wer einen Mail-Server auf Open Source-Basis betreibt, kann sehr viel Spam-Aufkommen verhindern, indem Greylisting zum Einsatz kommt.

Greylisting ist ein ganz einfaches Prinzip: Will ein Mail-Server eine Mail anliefern, wird diese erstmal abgewiesen. Gut konfigurierte Mail-Server versuchen die Zustellung einige Zeit später nochmals. Nun wird die Mail auch angenommen und alles geht den gewohnten Gang.

Die meisten Spammer jedoch verschicken ihren Müll nur einmal - und somit kommt der Spam nicht an, da er beim ersten Zustellversuch abgewiesen wird.

Der Einsatz dieser Methode hat das Spam-Aufkommen ziemlich genau halbiert. Greylisting blockt 50% meines Spams, bevor dieser überhaupt das System erreicht. Sehr effizient. (Um den Rest kümmert sich SpamAssassin.)

Das Manko an dieser Methode ist, dass es - je nach Konfiguration des Senders - zu gehörigen Verzögerungen kommen kann. Ich konnte beobachten, dass Mails erst nach 20 Minuten ein zweites Mail gesendet wurden. Das heißt, auch erwünschte Mails verzögern sich bis zu 20 Minuten, anstatt sofort im Posteingang zu landen. Allerdings nur beim ersten Verbindungsaufbau: Ist die Quelle schon als "sicher" eingestuft, geht beim zweiten Mal das Einliefern ohne Verzögerung.

Unter Debian/Ubuntu ist die Installation und Konfiguration sehr einfach, wenn Postfix als MTA zum Einsatz kommt. Dann kann das Programm Postgrey eingesetzt werden, das in den Quellen verfügbar ist. (Postgrey soll auch mit Exim laufen, aber das habe ich nicht getestet.)

Nach dem Installieren mit sudo aptitude install postgrey muss Postfix darüber unterrichtet werden, Postgrey einzubinden. Dazu fügen wir in der Datei /etc/postfix/main.cf die Zeile check_policy_service inet:127.0.0.1:60000 ein im Abschnitt smtpd_recipient_restrictions. Das ganze sieht bei mir so aus:

smtpd_recipient_restrictions = 
    permit_mynetworks 
    permit_sasl_authenticated 
    reject_unauth_destination 
    reject_non_fqdn_recipient
    reject_unknown_recipient_domain
    check_policy_service inet:127.0.0.1:60000
    permit

Danach muss Postfix noch neu die Konfiguration einlesen mittels sudo /etc/init.d/postfix reload. Wenn alles klappt, sieht man nun Dinge wie folgende Zeile in den log-Files:

Oct 24 04:40:01 bheil postfix/smtpd[8878]: NOQUEUE: reject: RCPT from 227.52.218.87.dynamic.jazztel.es[87.218.52.227]: 450 4.2.0 benjamin.heil@bheil.net: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/bheil.net.html; from=imetak1959@BIGSKYLAWYERS.COM to=benjamin.heil@bheil.net proto=ESMTP helo=227.52.218.87.dynamic.jazztel.es

Dieses Beispiel war eine Spam-Mail, die ich kein zweites Mal gesehen hab. Smile

Die Debian/Ubuntu-Standard-Postgrey-Konfiguration sieht eigentlich so gut aus, dass man da nichts machen muss. Falls doch, liegen die Config-Files unter /etc/postgrey bzw. /etc/default/postgrey.

MySQL: Einstellung für Maximalanzahl geöffneter Dateien wird nicht beachtet


Über die Konfigurationsoption open_files_limit kann festgelegt werden, wieviele gleichzeitig geöffnete Dateien MySQL vorhält. Unter bestimmten Umständen ist diese Zahl zu niedrig und man bekommt Fehler-Codes vom Kernel wie 23 bzw. 24. Diese bedeuten folgendes:

m@bheil.net:~> perror 23
OS error code  23:  Too many open files in system
m@bheil.net:~> perror 24
OS error code  24:  Too many open files

Es reicht meist nicht aus, nur durch open_files_limit die Maximal-Anzahl der offenen Dateien in MySQL zu erhöhen, sondern es gibt noch eine Maximalzahl pro Prozess im Kernel selbst. Diese muss ebenfalls angepasst werden. Eine einfache Methode ist, /etc/init.d/mysql zu bearbeiten und dort eine neue Maximalzahl mit ulimit anzugeben. Die Datei sieht dann im start-Abschnitt so aus:

case "${1:-''}" in
  'start')
	sanity_checks;
	# Start daemon
	log_daemon_msg "Starting MySQL database server" "mysqld"
	ulimit -n 4096

Wichtig ist der neue Eintrag ulimit -n 4096. Dies sorgt dafür, dass jeder einzelne Prozess 4096 Dateien gleichzeitig offen halten kann. Statt 4096 ist hier natürlich die gewünschte Zahl einzutragen.

Das Ganze sorgt dafür, dass die neue Maximal-Zahl immer beim Start von MySQL gesetzt wird. Da root das Skript ausführt, funktioniert das auch. Und da man eigentlich den SQL-Server nicht oft manuell neu startet, ist der Aufruf da gut aufgehoben. Aber natürlich könnte man auch ein eigenes Skript schreiben oder den Aufruf anderswo unterbringen.

Typischer Browser-Nutzer


Hier eine lustige Zusammenfassung der gängisten Browser-Nutzer-Typen (klicken für volle Größe):

Typische Browser-Nutzer-Typen



Welcher Typ bist Du?

(Quelle: http://my.opera.com/chooseopera/blog/2008/10/01/typical-browser-users)

Neue Funktion: Chat per Webseite

Kategorie Software 02.10.2008    Kategorie Software Software    Tags chat    Kommentare 0 Kommentare

Über chat.bheil.net ist nun ein Chat-Room zu erreichen. Dort kann man einfach und unkompliziert chatten und sich austauschen. Dabei funktioniert das ganze ähnlich wie IRC (natürlich nicht so mächtig).


... böse Buben könnten sich beim Online-Spiel böse Sachen ausdenken


Mein Gott, was gibt es für Spinner auf dieser Welt. Die amerikanischen Geheimdienste denken also, böse Buben könnten sich beim Online-Spiel böse Sachen ausdenken (siehe heise.de-Artikel). Wie paranoid muss man eigentlich sein? Wenn man es soweit treibt, dann ist wohl jeder Mensch, der irgendwann irgendwie irgendwo mit einem anderen kommuniziert, ein potentieller Terrorist. Hui, ich hab ein Blog. Das dient zur Kommunikation. Das ist gefährlich, keine Frage.


MySQL: Wichtigste Tuning-Möglichkeiten


Tja, leider gibts ein paar Perfomance-Probleme momentan und ich denke, dass die mit MySQL zu tun haben. Da heißts nun ausprobieren. Dabei habe ich auch eine gute, knappe Seite gefunden über die Schräubchen, an den das Drehen am meisten bringt:

http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

Fehler beim Bildertausch behoben


Ich habe vorhin festgestellt, dass es ein Problem bei der Bildertausch-Funktion gab. Das Problem trat nur bei Bilder größer als 2.5 MB auf. Grund waren falsch gesetzte Rechte im System, so dass das Bild zwar korrekt hochgeladen wurde, dann aber nicht vom entsprechenden Prozess gelesen werden konnte.
Die Lösung war simpel: In der Django-Dokumentation steht, mit welchem Wert man festlegen kann, welche Dateirechte an hochgeladenen Dateien vergeben werden. Nach Setzen des Parameters rennts wieder.

Browser durch temporären Cache beschleunigen


Unter Linux-Systemen ist es möglich, die Verzeichnisse für temporäre Dateien auf eine Art RAM-Disk auszulagern. Dafür gibt es den bequemen Weg über tmpfs. Interessant wird diese Option vor allem, wenn sehr viel RAM im System steckt, der meist brach liegt. Beispiel: In meinem PC sind 2 GB RAM, von denen i.d.R. nur 600 bis 700 MB verwendet werden, obwohl ich meist 7 oder noch mehr Programme offen habe (und 10+ Tabs in Opera).

Fügt man diese beiden Zeilen in seine /etc/fstab ein, kann man die temporären Dateien aller Programme komplett im RAM halten:

tmpfs     /tmp           tmpfs     defaults      0      0
tmpfs     /var/tmp       tmpfs     defaults      0      0

Vor allem Browser benötigen viel Cache für all die kleinen Bildchen, Skripte und sonstigen Dateien in Webseiten. Diese Cache-Verzeichnisse sind oft gefüllt mit 10.000 und mehr kleinen Dateien. Wenn diese Dateien komplett im RAM gehalten würden, dürfte das auf den meisten Systemen zu einer zum Teil drastischen Beschleunigung führen. Außerdem senkt es die Wahrscheinlichkeit einer Defragmentierung, auch wenn das unter Linux kein so großes Problem ist.

Wie ändert man die Cache-Verzeichnisse der Browser?

Google Chrome?


Zur Zeit ist Google Chrome der absolute Hype in der Medienlandschaft. Aber warum eine Beta-Software mit Sicherheitsmängeln und dem Zwang, mit eindeutiger ID nach Hause zu telefonieren, so einen Run auslöst, steht für mich in den Sternen. Muss wohl an Googles Aura liegen.

Chrome scheint einige technische Merkmale zu haben, die zukunftsweisend sein dürften (siehe das Google Chrome Erklärungs-Comic). Auf der anderen Seite der Medaille steht, dass jegliche Eingabe in die Adressezeile sofort an Google geschickt wird und auch jede Installation seine eigene eindeutige ID hat. Klingt nach einem Spionagetool erster Sahne.

Zwar kann man dem Browser die eindeutige ID entziehen, indem man eine eigene in die Konfiguration einträgt. Ebenso ist es möglich, das meiste der Nach-Hause-Telefoniererei abzuschalten, aber mal Hand aufs Herz: Warum sollte man einen Browser verwenden, den man erst noch umständlich konfigurieren muss? Bei all den guten Alternativen da draussen?


Django 1.0 Released!


Wenn das keine freudige Nachricht ist: Django 1.0 ist endlich fertig! Yippie! Smile

Eines der leistungsfähigesten Web-Frameworks hat es zum ersten richtig großen Milestone geschafft. Ein dickes Danke an die Entwickler, die eine fantastische Arbeit leisten.

Download Release Note

Zertifkat-Erstellung für SSL etc.


Hier mal auf die Schnelle die wichtigen Befehle, um ein Zertifikat für z.B. SSL zu machen:

openssl genrsa -out NAME.key 2048
openssl req -new -key NAME.key -out NAME.csr

Bei den Angaben ist auf den Common Name zu achten, der muss mit dem angepeilten Domainnamen übereinstimmen.

Will man ein signiertes Zertifikat kaufen, reicht man bei seinem Anbieter die Datei NAME.csr ein. Ein guter und billiger Anbieter ist z.B. www.psw.net.

Für private Seiten oder Seiten mit Besuchern, die bekannt sind und Bescheid wissen, kann man sich das Geld sparen und ein selbstsigniertes Zertifikat tuts auch. Das erstellt man so:

openssl x509 -req -days 365 -in NAME.csr -signkey NAME.key -out NAME.crt

Eventuell days erhöhen, z.b. 3650 für 10 Jahre.

Einbinden in einen VirtualHost unter Apache geht mit ein paar einfachen Zeilen in der Konfiguration:

SSLEngine on
SSLCertificateFile /PATH/TO/NAME.crt
SSLCertificateKeyFile /PATH/TO/NAME.key

Automatisiertes Backup von GMail-Konten mittels getmail


Wie man ein lokales Backup von GMail-Konten unter Linux einrichtet, dass auch noch automatisch funktioniert, ist in diesem (englischen) Artikel beschrieben:

How to back up your Gmail on Linux in four easy steps

Am besten verwendet man die Backup-Methode für ein mbox-File, da das nur eine Datei ist und somit nicht die verfügbaren inodes für das Backup verbraten werden. Anschauen und navigieren im Backup-File kann man z.B. mit dem Kommandozeilen-Programm mutt (mutt -f BACKUPFILE).

Webseite: Neues Dropdown-Menü

Kategorie Software 30.08.2008    Kategorie Software Software    Tags menu    Kommentare 0 Kommentare

Um mehr Platz für den eigentlichen Inhalt frei zu machen, habe ich die Seite ein bischen umgebaut. Es wird nun zur Navigation ein Dropdown-Menü verwendet statt des Menüs in der Seitenleiste zuvor. Vor allem die Funktion Bilder tauschen profitiert davon, da nun für hochgeladene Bilder fast der komplette Platz verwendet wird.

Das Dropdown-Menü ist ein JavaScript-Menü. Hier habe ich das Rad allerdings nicht neu erfunden, sondern das fantastische Menü von Dynamic Drive verwendet.

Ein Manko hat das Ganze allerdings im Moment noch: Wenn Javascript deaktiviert ist, hat man nur Zugriff auf die obersten Punkte. Für diese Fälle werde ich allerdings noch eine Sitemap einbauen, wenn ich dazu komme.

Neue Web-Funktion: Bilder tauschen


Über den Punkt Bilder tauschen können nun einfach Bilder hochgeladen und verlinkt werden. Will man zum Beispiel ein Bild 10 Empfängern schicken, muss man nicht das Bild an eine Mail anhängen und so das 10-fache der Datenmenge rausschicken, sondern kann das Bild hier hochladen und nur den Link in die Mail setzen - der Empfänger kann dann das Bild hier anschauen bzw. speichern.

Wenn ein Bild über das Formular hochgeladen wird, wird daraus auch ein Thumbnail, also eine verkleinerte Version in der Größe 128x128 Pixel, erzeugt. Dieses kann z.B. in Foren eingefügt werden, damit die Breite der Forenseite nicht bei großen Bildern gesprengt wird. Ebenso wird beim Hochladen des Bilds entsprechender BB-Code (funktioniert in den meisten Forensystemen) oder HTML-Code sowie Links zur Seite und zum Bild ausgegeben. Diese Angaben müssen nur kopiert und an der entsprechenden Stelle eingefügt werden.

Wichtig ist zu wissen, dass diese Bilder öffentlich einsehbar sind. Private Bilder haben da nichts verloren. Ebenso soll hier noch erwähnt sein, dass natürlich keine anstössigen, gewalttätigen oder politisch radikalen Bilder erlaubt sind. Sollten solche Bilder hochgeladen werden, werden diese sofort nach Kenntnisnahme kommentarlos gelöscht!

Vorerst gibt es noch keine zeitliche Begrenzung der Lebensdauer der hier hochgeladenen Bilder. Allerdings behalte ich mir natürlich vor, so eine Funktion nachträglich noch einzubauen, wenn die Datenmenge mal überhand nehmen sollte. Auch eine Registrierung und Anmeldung hier ist nicht notwendig - aber das werde ich nachrüsten, sollte das ganze missbraucht werden. Vorerst steht aber die einfache Bedienung im Vordergrund!

20 Arten, GMail-Filter zu nutzen


Guter Post über 20 Arten, GMail-Filter zu nutzen (ist aber englisch)

OpenDNS-Server auch bei Verwendung von DHCP erzwingen


Wenn man seine IP per DHCP im lokalen Netz zugewiesen bekommt, wird auch der DNS-Server verwendet, den der DHCP-Server ausliefert. Manchmal gibt es aber nicht die Möglichkeit, die DNS-Einstellungen im DHCP-Server zu ändern. Bei mir zu Hause kommt eine recht alte Fritz.Box als Router zum Einsatz, die diese Option z.B. nicht bietet. Dennoch möchte ich gern die DNS-Server von OpenDNS verwenden.

Wollen wir dennoch dafür sorgen, dass andere DNS-Einstellungen verwendet werden, können wir dies unter Debian/Ubuntu relativ einfach mit einem eigenen Skript lösen (es gibt auch andere Methoden, aber dieses Skript erscheint mir am universellsten).

Zuerst erstellt man eine Datei /etc/network/if-up.d/reset-dns-settings und fügt folgenden Inhalt ein:

#!/bin/bash

cp /etc/resolv.default /etc/resolv.conf

Danach muss diese Datei ausführbar gemacht werden:

sudo chmod +x /etc/network/if-up.d/reset-dns-settings

Als nächstes muss man noch die Datei /etc/resolv.default anlegen, die die DNS-Server enthält, die man verwenden will. Diese Datei kann z.B. folgenden Inhalt haben:

# OpenDNS-Server verwenden
nameserver 208.67.222.222
nameserver 208.67.220.220

Das wars. Somit wird jedes Mal, wenn das Netzwerk hochgefahren wird, das Skript ausgeführt, dass die Einstellungen für die DNS-Server mit unseren überschreibt.

Opera: SpeedDial vergrößern

Kategorie Software 21.08.2008    Kategorie Software Software    Tags opera    Kommentare 0 Kommentare

Bevor ich mir wieder einen Wolf suche obwohl die Lösung so simpel ist, hier mal kurz notiert:

Um Opera's SpeedDial in der Spalten- und Zeilengröße anzupassen, ist einfach die Datei speeddial.ini zu editieren (unter ~/.opera) und diese Anweisung einzufügen:

[Size]
Rows=4
Columns=5

Bei dieser Änderung darf Opera natürlich nicht offen sein!

Noch was: Um das Suchfeld zu entfernen, in opera:config#Speed Dial Search Type 0 eintragen!

Opera 9.52 ist da!

Kategorie Software 20.08.2008    Kategorie Software Software    Tags opera    Kommentare 0 Kommentare

Opera 9.52 ist draussen. Hier das Changelog und hier der Download!

Ubuntu Hardy auf dem Asus eeePC 900


Vor einiger Zeit konnte ich zu meiner großen Freude einen Asus eeePC 900 erstehen. Der eeePC ist ein kleines, aber sehr, sehr feines Netbook. Der Einsatzgebiet liegt nicht wie beim Notebook darin, ein kompletten Desktop mit sich rumtragen zu können, sondern in erster Linie im einfachen und bequemen Zugang zum Internet.

Dabei wiegt der eeePC nicht mal 1 kg und ist äußerst handlich und kompakt. Im Inneren arbeitet ein Intel Celeron M mit 900 MHz. Der Bildschirm hat eine Größe von 8,9" bei einer Auflösung von 1024x600. 1 GB RAM runden das Ganze ab.

Und er ist trotz der geringen Größe gut zu bedienen, selbst auf der auf dem ersten Blick winzigen Tastatur kann man sehr gut tippen (das hier schreibe ich gerade auf dieser Tastatur). Die Hardware klingt nicht nach viel Leistung, aber das Arbeiten am eeePC ist sehr flüssig und angenehm. Für dieses Einsatzgebiet bekommt man nicht mehr (tragbaren) Rechner für so wenig Geld.

Leider ist mein eeePC aber nur die Version, die mit Windows XP ausgeliefert wird. Das ist natürlich ein untragbarer Zustand. Wink Zum Glück kann man problemlos Ubuntu Hardy installieren und mit zwei, drei Kniffen läuft das astrein (und schneller und wesentlich plattenschonender auch verglichen mit Windows - schon zur Langlebigkeit des Geräts ist hier eindeutig Linux vorzuziehen). Was genau zu tun ist, um das zum Laufen zu kriegen, darum geht es in diesem Artikel.

Empfehlenswerte Eclipse-Plugins


Wenn man Django-Projekte mit Eclipse bearbeitet, lohnt es sich, folgende Plugins zu installieren (neben PyDev logischerweise):

- GEF (wird vom HTML-Editor benötigt) wie in der GEF-FAQ beschrieben

- Amateras, ein HTML-Editor, damit man die Templates auch schön bearbeiten kann

- Wer mit SVN arbeitet, sollte noch Subclipse installieren.

Kennt noch jemand ein paar hilfreiche Plugins?

Weiter empfehlenswert ist, ein eigenes Projekt in Eclipse zu erstellen, dass den Django-Source enthält. Dieses kann man dann in seinen eigenen Projekten als Abhängigkeit definieren. Klickt man nun auf einen Bezeichner, sprint Eclipse sofort zur Deklaration direkt im Django-Code!

Django-Projekte in Eclipse debuggen


Um mit Eclipse ein Django-Projekt zu debuggen, sind folgende Schritte notwendig (dies bezieht sich auf die Eclipse-Version 3.2.2 aus den Ubuntu-Quellen, andere Versionen sind nicht getestet):

- Eclipse und PyDev installieren, falls noch nicht geschehen. Unter Ubuntu dazu die beiden Pakete "eclipse" und "eclipse-pydev" installieren, die die entsprechenden Abhängigkeiten auflösen.

- Eclipse starten und unter Window->Preferences->PyDev->Interpreter Python als Interpreter python suchen und auswählen - das ist in der Regel /usr/bin/python.
Unter PYTHONPATH den direkten Pfad zur Django-Installation eintragen (bei mir z.B. /opt/django/trunk/django).

Um Django-Projekte zu integrieren, muss man folgendes tun. Dabei sollte das Django-Projekt ganz normal über die manage.py erstellt worden sein, wie man es sonst auch macht. Ist das geschehen, setzt man da ein Eclipse-Projekt drauf:
- Ein neues Projekt in Eclipse erstellen über File->New project. Dort ein pydev-Projekt auswählen. Unter "project contents" das Häkchen entfernen und direkt den Pfad zum schon erstellten Django-Projekt wählen. Die manage.py z.B. sollte direkt in diesem Verzeichnis liegen.
"Create default 'src' folder and add it to the pythonpath?" kann dabei angehakt bleiben.

- Um das Debuggen zu ermöglichen, muss eine neue Debug-Konfiguration erstellt werden. Über Run->Debug... kann durch einen Doppelklick auf "Python Run" eine neue Konfiguration erstellt werden. Dort wird als Projekt das eben erstelle Projekt gewählt und als "Main Module" die Datei "manage.py" ausgewählt. Im Reiter "Arguments" trägt man unter "program arguments" noch "runserver --noreload" ein und klickt auf "Debug". Dann sollten Breakpoints funktionieren.

Tiny Tiny RSS - webbasierter Ajax Newsreader


Schon lange habe ich nach einer Alternative zum Google Reader gesucht, um meine abonnierten Nachrichtenfeeds von jedem Rechner aus lesen zu können. Bisher setzte ich auf SendMeRSS.com, einem Dienst, der Feeds abruft und per Mail verschickt. Allerdings ist ein "richtiger" Reader besser, und endlich habe ich einen entdeckt, der unter der GPL steht und problemlos auf dem eigenen Server installiert werden kann:
Tiny Tiny RSS

Die Software setzt auf PHP und PosgreSQL bzw. MySQL auf. Durch den Einsatz von Ajax steht Tiny Tiny RSS dem Google Reader kaum nach, im Gegenteil, ich finde Tiny Tiny RSS sogar übersichtlicher.

Falls Du eine Alternative zum Google Reader haben möchtest, aber keinen eigenen Server hast, kannst Du mir eine Mail schreiben und Deinen eigenen Zugang im Reader haben. Das ist kein Problem.

Bisher läuft der Reader anstandslos. Und der kompakte Theme ist sogar für das kleine Display eines Asus eeePC geignet.
Rundum eine sehr empfehlenswerte Software!

Nachtrag: Ich sollte hier noch anmerken, dass ich die Version unter bheil.net ein ganz klein bischen modifiziert habe und rechts das Header-Panel verkleinert habe, indem das Logo rausgeflogen ist und die Höhe um ca. 30 Pixel geschrumpft ist - das macht die Nutzfläche auf dem eeePC noch weitaus größer.

Mails per Postfix über GMails-SMTP-Server versenden (unter Debian oder Ubuntu)


Um Mails von einem Rechner, der mit Debian oder Ubuntu läuft, zu verschicken, kann man Postfix mit folgender Konfiguration einrichten:

Ich gehe davon aus, dass Postfix schon installiert ist. Die Server von GMail setzen für eine erfolgreiche Verbindung TLS-Verschlüsselung voraus. Das ist schon in Debians Postfix reinkompiliert, also müssen wir uns nur darum kümmern, gültige Zertifikate zu haben, damit die Verbindung zu Stande kommen kann (und natürlich braucht man einen gültigen GMail-Account, aber das ist wohl selbstredend Wink ).

Neue Web-Funktion: Zufallspasswörter aus Merksätzen generiert


Ich brauche öfters mal vernünftige Passwörter und da will mir meist nichts Gescheites einfallen. Aus dem Grund hab ich eine kleine Funktion zur Webseite hinzugefügt, die Zufallspasswörter generiert. Damit diese einfacher zu merken sind, werden die Passwörter aus einem richtigen Satz genommen.

Die Funktion ist links im Menü unter Passwörter zu finden. Jetzt unter kendoo.net zu finden!

Dazu werden aus einer Anzahl Wörter Sätze gebildet und von diesen Sätzen dann jeweils die Anfangsbuchstaben aneinandergereiht. Resultat ist ein sehr gutes Passwort, das dennoch einfach zu merken ist. Solange man den Satz entsprechend visualisieren kann (was nicht immer der Fall ist Wink ).

Für ganz wichtige Dinge kann man sich aber selbst einen Satz ausdenken, z.B.
Hund Bello frisst am Tag 28 Kauknochen und bellt
daraus wird
HBfaT28Kub

Kann man gut visualisieren und ergibt ein sehr gutes Passwort. Wer das noch sicherer haben will, kann noch Sonder- bzw. Satzzeichen einstreuen.

Spam-Kommentare und tschüß!


Vor einiger Zeit, als ich die Software für diesen Blog hier schrieb, integrierte ich zwar auch Spam-Schutz für die Kommentarfunktion (durch den Einsatz der fantastischen comment_utils; warum das Rad zweimal erfinden?), hatte dies aber deaktiviert. Doch die letzten Tage hat sich das Spam-Aufkommen in den Kommentaren vervielfacht, soll heißen: Die Spammer haben das Blog hier entdeckt und munter Linklisten gepostet (bestes Beispiel hier). Ich aktivierte also Akismet, und - tata - es ging natürlich nicht. Nach einigem Debuggen hab ich den Fehler dann gefunden: Ein Rechtschreibfehler! Oh Mann!
Datz

Jedenfalls werden nun alle Kommentare (und Trackbacks) von Akismet durchleutet und Spam-Kommentare rausgefiltert.

Trotzdem schade, dass überhaupt solche Massnahmen nötig sind. Spam ist ein einziges Elend! Sad

Neue Web-Funktion: Kurze URLs

Kategorie Software 30.07.2008    Kategorie Software Software    Tags url, web    Kommentare 0 Kommentare

Auf der Webseite gibt es einen neuen, kleinen Dienst: Kurze URLs, aufrufbar über den Menüpunkt Kurz-URLs auf der linken Seite.

Der Dienst ist ähnlich wie tinyurl.com. Der Zweck ist, lange Adressen zu verkürzen. Wird die kurze Adresse aufgerufen, wird auf die lange Adresse weitergeleitet. Dabei wird die Weiterleitung durch den HTTP Code 301 (Moved Permanently) erwirkt. Das geht fix und ist auch suchmaschinenfreundlich (wenn z.B. diese kurze URL in einer anderen Seite verlinkt wird).

Ein Beispiel:
Die URL http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html ist sehr lang und wird wahrscheinlich in den meisten Mail-Programmen umgebrochen. Allerdings ist die kurze URL http://bheil.net/s/2/ so kurz, dass sie dagegen in einer Mail problemlos dargestellt werden kann - selbst auf kleinen Bildschirmen (wie Handys etc.).
Ruft man die kurze URL auf, gelangt man sofort auf die gewünschte Webseite. (Probieren Sie es ruhig aus, Sie werden direkt auf die Apple-Seite weitergeleitet!)

Um diesen Dienst nutzen zu können, müssen Sie sich anmelden. Des weiteren bitte ich darum, keine anstößigen, gewalttätigen oder pornographischen Inhalte zu verlinken. Sollten solche Links auftauchen, besteht die Möglichkeit, die Weiterleitung deaktivieren zu können.

Fehler in proftpd mit SQL-Authentifizierung nach dem letzten Update unter Debian Etch


Wer einen FTP-Server unter Debian (Etch) betreibt, wird nach dem letzten Update vielleicht Fehlermeldungen in seinen Logs bemerken, wenn die Authentifizierung über virtuelle Benutzer und einer SQL-Datenbank läuft. Zwar funktioniert der Login mit jedem User einwandfrei, trotzdem gibt es bei jedem Login folgende Meldung:

PAM(NAME): User not known to the underlying authentication module.


Nützliche Firefox-Addons


Eine alphabetische Liste nützlicher Firefox-Addons (für FF 3.0):

Django's Admin-App verwendet newforms - und zwingt zu Code-Anpassungen


Im Zuge des Sprints auf Django 1.0 wurde nun im trunk die Admin-App so aktualisiert, dass newforms verwendet werden. Zwar ergeben sich dadurch wirklich tolle Möglichkeiten, allerdings sind diese Änderungen leider nicht rückwärtskompatibel und man muss Dinge im eigenen Code zwangsläufig anpassen.
Aber aufgrund der tollen Dokumentation von Django ist das kein sonderlich großes Unterfangen, wie ich freudig festgestellt habe. Smile

Wer sich den neuesten trunk aus dem SVN auscheckt und dann den Entwicklungsserver startet, wird Fehlermeldungen wie z.B. diese erhalten:

TypeError: __init__() got an unexpected keyword argument 'prepopulate_from'

Das liegt daran, dass nun Model-Definitionen von Angaben für die Admin-App bereinigt wurde. Diese Angaben wandern nun in eine extra Klasse, die dann in der Admin-App registriert wird. Dies bringt einige Vorteile: Man kann munter neue Klassen von früheren ableiten und sich sogar mehrere Admin-Oberflächen basteln, die unter verschiedenen URLs erreichbar sind (zum Beispiel darf dann Klaus nur den Admin-Bereich Bäckerei betreten und neues Gebäck zur Datenbank hinzufügen, während Egon nur die Getränkdatenbank bearbeitet und neue Bier-Sorten eintragen kann). Außerdem macht das Model-Definitionen übersichtlicher und sorgt für eine logische Trennung.
Eine schöne Übersicht, was man damit alles anstellen kann, gibts im Django-Wiki.

Es gibt zu der Sache auch einen sehr guten Screencast, den man sich erstmal anschauen sollte in folgendem Artikel:

http://oebfare.com/blog/2008/jul/20/newforms-admin-migration-and-screencast/

Die Änderungen im Detail und was zu tun ist, kann man auch nochmal auf einer Wiki-Seite nachlesen.

Auszüge aus "Why we fight"


Bei Youtube gibts vor allem viel Schrott, aber gelegentlich findet sich auch mal eine Perle, so wie dieses Video mit Auszügen aus "Why we fight" über die "neue" Richtung der Aussenpolitik der USA:

Auszüge aus "Why we fight"

Ixquick - eine anonymisierte Meta-Suchmaschine


In Europa hat Google eine fast schon erdrückende Dominanz bei der Suche im Web. Der Marktanteil von Google beträgt hierzulande über 90%. Dabei findet Google auch nicht alles. Ebenso ist der Datenschutz bei Google ein Problem, immerhin speichert Google die Suchanfragen 18 bis 24 Monate und auch Cookies von Google haben 2 Jahre Laufzeit (allerdings dürfte sich das in naher Zukunft ändern: EU-Richtlinie gibt Suchmaschinen die Behaltedauer von Benutzerdaten vor).

Aber das ist nicht das, was mich am Benutzen von Google nervt, sondern dass die meisten Webdienste von Google mit einem Benutzeraccount verknüpft sind. Wenn man Nutzer eines der vielen anderen Dienste von Google ist, ist man bei diesem Dienst wahrscheinlich oft eingeloggt. Führt man nun in einem anderen Tab- bzw. Browserfenster eine Suche durch, kann Google diese Anfrage mit dem eigenen Benutzeraccount verknüpfen. Somit weiß Google, was man als interessant betrachtet. Verknüpft man das auch noch mit den abbonierten Feeds in Google Reader, den Mails bei Google Mail und vielleicht noch den Dokumenten bei Google Docs, weiß Google so ziemlich alles, was der Nutzer online macht. Für genaue Benutzeranalysen stehen somit alle Mittel zur Verfügung.

Dem Ganzen kann man aber einfach entgehen und dabei doch noch die Google Dienste, die man interessant findet, weiter verwenden. Immerhin gibt es viele alternative Suchmaschinen, aber leider hinken diese im Echteinsatz Google doch oft hinterher (ist zumindest mein subjektiver Eindruck). Abhilfe schafft eine Metasuchmaschine: Ixquick.com

Eine Metasuchmaschine sendet die Suchanfrage an viele andere Suchmaschinen und kombiniert die von diesen gelieferten Ergebnisse auf einer Seite. So ist es möglich, mit einer Anfrage zig Suchmaschinen abzufragen.

IXQuick sucht dabei bei vielen verschieden Suchmaschinen: All the Web, EntireWeb, Open Directory, AllesKlar, Exalead, QualiGO, Altavista, Gigablast, Wikipedia, Ask/Teoma, MSN.de sowie Yahoo sind das derzeit. Allerdings ist Google nicht darunter!

Und dabei achtet Ixquick noch auf den Datenschutz: Alle Daten werden nach maximal 48 Stunden gelöscht, verspricht der Anbieter. Dem dürfte auch so sein, denn Ixquick hat sogar ein Zertifikat dafür erhalten. IXQuick wird auch von Datenschützern empfohlen.

Es ist ziemlich einfach, Ixquick als Standardsuchmaschine in seinem Browser einzubauen. Dazu gibt es auch eine Anleitung, allerdings leider nur auf Englisch.

In Opera muss man nur folgendes machen:
Auch die (verschlüsselte) Ixquick-Startseite gehen und mit einem Rechtsklick ins Suchfeld das Kontextmenü öffnen. Dort findet man den Eintrag "Suche erstellen ...". Klickt man darauf, erscheint ein Konfigurationsdialog von Opera. Dort kann man auch festlegen, dass dies die Standardsuchmaschine werden soll. Nach dem Bestätigen des Dialogs (evtl. noch ein Kürzel eintragen, z.b. "ix") findet man Ixquick nun im Suchfeld in der Adressleiste.

Ixquick in Opera einrichten


Hat man obige Schritte direkt über die verschlüsselte Seite aufgerufen, werden in Zukunft sogar die Suchanfragen selbst über eine SSL-geschützte Verbindung abgesetzt. Besser gehts kaum! Smile

Piwik: Eine interessante Alternative zu Google Analytics


Ich möchte hier mal auf die Software Piwik aufmerksam machen. Piwik ist eine in PHP geschriebene Analytics-Software, die Seitenaufrufe von Webseiten ähnlich Google Analytics analysieren kann. Der große Unterschied ist, dass Piwik hierbei unter der GPL freigegeben und somit frei verfügbar ist. Ebenso kann man Piwik auf seinem eigenen Server installieren und muss die Daten der eigenen Besucher nicht an Google ausliefern.

Piwik ist noch in der Beta-Phase, funktioniert aber schon recht gut. Es fehlt an den meisten Ecken und Enden noch etwas der Feinschliff, aber von Version zu Version merkt man eine deutliche Besserung.

Ich setze Piwik hier auf diesem Server schon seit einigen Wochen ein und es läuft bisher absolut hervorragend. Ein Blick lohnt sich für jeden, der eine Analytics-Software einsetzen will, aber vor den kostenpflichtigen Varianten oder Google Analytics zurückschreckt.

Programme im Quellcode trotzdem als Paket installieren


Gelegentlich muss unter Ubuntu/Debian doch mal etwas installieren, was nicht in den Paketquellen vorhanden ist oder dort nur in einer veralteten Version vorliegt. Also lädt man sich den Quellcode des gewünschten Programms und installiert diesen mit dem bekannten Dreisatz (configure, make, make install). Der Nachteil dieser Vorgehensweise: Man umgeht damit komplett den Paketmanager, was in der Regel zu enormen Nachteilen bei einem späteren Upgrade oder beim Deinstallieren der Software führt.

Um diesen Nachteil zu umgehen, lohnt sich der Einsatz von checkinstall. checkinstall wird als letzter Schritt im Dreisatz ausgeführt und erzeugt ein deb-File, das man dann ganz normal über den Paketmanager installieren (und natürlich auch deinstallieren) kann.

Aus "make install" wird folglich "checkinstall make install", aus "./install.sh" wird "checkinstall ./install.sh". Ein sehr hilfreiches Programm! Weitere Informationen dazu gibt in der Wikipedia oder im Ubuntu-Wiki.

Neues Lied: Schrub


Ich habe ein bischen mit LMMS herumgespielt, ein Programm, dass es ermöglicht, Samples zu Songs zusammen zu fügen. Heraus kam ein kleiner Drum'n'Bass-Song, Schrub. Gut, ein wirklicher Hammer ists nicht geworden, aber vorenthalten will ich den Song auch nicht:

Schrub.ogg

Standardeditor beim Bearbeiten der Crontab ändern


In Ubuntu wird nano als Editor für Änderungen an der Crontab verwendet. Wenn man einen anderen Editor gewohnt ist, ist das recht nervig. Man kann dies aber einfach ändern:

Entweder man ändert diese Einstellung für jeden Nutzer extra durch einen Eintrag

export EDITOR=vim

in die Datei /home/USER/.bashrc des entsprechenden Nutzers oder man ändert das ganze gleich systemweit mit folgendem Befehl:

sudo update-alternatives --config editor

OOXML hat die Schlacht um Dokumentenformate verloren


Eine freudige News gibts heut zu lesen: Microsoft-Manager: OOXML hat die Schlacht um Dokumentenformate verloren. Anscheinend ändert man bei Microsoft die Strategie bezüglich des eigenen Formats OOXML zu Gunsten von ODF und integriert ODF sogar in Microsoft Office.

Die Beschwerden einiger Länder bei der ISO haben also nicht nur dazu geführt, dass das Standadisierungsverfahren erstmal eingefroren wurde, sondern nun bekommt auch Microsoft (öffentlich) kalte Füsse. Interessant ist allerdings in diesem Punkt, dass diese Beschwerden von Ländern eingereicht wurden, die (noch) keine Technologienationen sind, nämlich Brasilien, Indien, Südafrika und Venezula. Warum die meisten Staaten in Europa und die USA damals Microsofts OOXML ohne Zaudern bei der ISO-Abstimmung abgenickt haben, das wäre mal eine Untersuchung wert. (Und warum über die ganze Sache keine der Mainstream-Medien berichtet hat, wäre auch eine Frage wert - immerhin betrifft diese Entwicklung fast jeden, der einen Computer bei der Arbeit verwendet, in irgendeiner Form.)

Hoffen wir, dass Microsoft nicht versucht, von innen heraus aus ODF doch wieder ein proprietäres Format zu machen, wie sie das schon in anderen Fällen erfolgreich versucht haben. Aber vielleicht ist das ein richtiger Schritt in eine unabhängigere Zukunft. Doch bevor man nun jubelt - obgleich dies eine wahrlich erfreuliche Nachricht ist - sollte man erstmal die Umsetzung in MS Office selbst abwarten und schauen, ob Microsoft wirklich hält, was sie da versprochen haben.

HTML und XHTML-Verwirrungen


Durch den Artikel Why HTML? von James Benett habe ich mir nochmal Gedanken über die XHTML-Validität dieser Seite gemacht, denn ich hatte zuvor noch nie bedacht, dass das Dokument zwar durchaus valides XHTML sein kann, aber durch die Standard-Einstellung von Django generell vom Server als HTML ausgeliefert wird.

Ich habe einige sehr interessante Texte zum Sachverhalt gefunden:

http://webkit.org/blog/68/understanding-html-xml-and-xhtml/ http://www.w3.org/International/articles/serving-xhtml/ http://schneegans.de/web/xhtml/

Neugestaltung der Webseite oder mein Weg zu Django ...


Endlich ist sie fertig, zumindest in der ersten Beta-Version: meine neue Webseite, komplett in Django geschrieben, konform zu XHTML 1.0 Strict und mit validem CSS.

Ich hoffe, den werten Leser und Besucher spricht die neue Seite an. Am Design habe ich mich ein wenig an der Einfachheit von Google orientiert. Trotzdem sollte es ein relativ zeitloses Design sein, womit man auch noch in einigen Monaten oder Jahren zufrieden sein kann, und dessen Farben ein gutes Gefühl bei gleichzeitig guter Lesbarkeit gewährleisten. Und dabei sollten natürlich die Standards eingehalten werden, so dass die Seite überall gut lesbar ist, egal welcher Browser oder OS (iPhone konnt ich leider nicht probieren Wink ) und auch ohne CSS sollte sie gut strukturiert bleiben. Ich denke, dass ist mir soweit gelungen (jedenfalls in meinen Tests Two thumbs ). Yippie!

Aber warum denn überhaupt eine neue Webseite? War das alte Wordpress-Blog nicht gut? Huh

Opera 9.5 ist fertig

Kategorie Software 12.06.2008    Kategorie Software Software    Tags opera    Kommentare 1 Kommentar

Heute ist Opera 9.5 endlich fertig geworden. Da in den Ubuntu-Paketquellen allerdings nur die alte Version 9.27 verfügbar ist, muss man sich die neue Version direkt bei Opera herunterladen. Man kann das neue Paket einfach per Doppelklick installieren.

Allerdings muss man - sollte man die Beta von Opera 9.5 installiert haben - diese erst über die Paketverwaltung (System -> Systemverwaltung -> Synaptic) deinstallieren. Dabei bleiben allerdings die Einstellungen erhalten.

Ich bin schon gespannt auf Benchmarks und Vergleiche mit den Konkurrenzbrowser (vor allem Firefox 3). Diese werden bestimmt nicht lange auf sich warten lassen ...

Warum braucht Linux keine Defragmentierung?


Dies ist eine freie Übersetzung des Original-Artikels von Dominic Humphries ins Deutsche:



... das ist die Frage, die regelmäßig in Linux Foren auftaucht, wenn neue Nutzer auf ihrem tollen, neuen Desktop das Defrag-Werkzeug nicht finden. Dies ist mein Versuch, eine einfache, nicht-technische Antwort auf die Frage zu geben, warum einige Dateisysteme mehr unter Fragmentierung leiden als andere.

Den schnellsten lokalen Ubuntu-Mirror herausfinden

Kategorie Linux 16.05.2008    Kategorie Linux Linux    Tags mirror, ubuntu    Kommentare 1 Kommentar

Wie in diesem Artikel beschrieben, bietet Ubuntu eine Funktion, die automatisch den schnellsten Mirror für Updates etc. raussucht. Damit beschleunigt man seine Downloads von Patches, Updates und Programmen und entlastet auch die Hauptserver.

Die Funktion selbst ist etwas versteckt: Starten Sie über System -> Systemverwaltung das Programm Synaptic. Klicken Sie dort auf im Menü auf Einstellungen -> Paketquellen. Im folgenden Fenster wählen Sie "Andere..." in der ComboBox "Herunterladen von ...". Es öffnet sich dann ein weiteres Fenster, das oben rechts den Button "Besten Server auswählen" anbietet.

Im obigen Titel sind auch (englischsprachige) Screenshots zu sehen, die den Weg beschreiben.

Was tun, wenn keine Verbindung zwischen Windows-Client und NX-Server möglich ist


Beruflich (genauso wie privat auch) setze ich Ubuntu (und Debian) auf Servern ein. Auf der Arbeit bin ich allerdings gezwungen, mit Windows XP als Desktop zu arbeiten. Für die graphische Verbindung zum Server setze ich die NX Free Edition von NoMachine ein.

Heute kamen Updates für Ubuntu raus, die eine Schwachstelle im Zufallsgenerator von OpenSSH beheben. Damit diese Behebung aber auch vollständig greift, müssen alle Keys des SSH-Servers neu generiert werden. Die Folge ist, dass man bei Verbindungen per SSH Warnungen bekommt, da sich der Key des Servers geändert hat. Dies ist soweit auch kein Problem (man wird auf diesen Umstand während der Installation der Patches aufmerksam gemacht), aber wer NX zur Fernsteuerung seiner Rechner verwendet, wird sich plötzlich nicht mehr einloggen können.

Die Lösung ist allerdings recht einfach: Löschen Sie die Datei known_hosts unter C:\Dokumente und Einstellungen\USER\.ssh in Windows und schon sollte der Login wieder klappen.

Ich weiß nicht, inwiefern dies auf alle Installationen dieser Art zutrifft, aber bei mir hat dies sofort geholfen.

Vergleichslisten Windows-Linux-Software


Umsteiger oder Interessierte, die von Windows auf Linux wechseln, fragen sich oft, mit welchen Programmen sie unter Linux das gleiche wie mit den bekannten Windows-Tools machen können. Dazu gibt es zwei gute Listen, die der Interessierte sich anschauen sollte:

Wiki Linuxquestions.org Table of Equivalents auf nawaz.org

Gnome mit OSX-Outfit

Kategorie Linux 02.05.2008    Kategorie Linux Linux    Tags gnome, osx, ubuntu    Kommentare 0 Kommentare

Wer diesen Blog öfters liest, wird von meiner Vorliebe für KDE wissen, dennoch bin ich vor kurzem auf GNOME umgestiegen. Dies hatte zwei Gründe: Zum einen, um GNOME besser kennenzulernen, zum anderen, da zumindest mein HomeServer den 3-Jahres-Zeitraum von Ubuntu 8.04 LTS ausnützen wird und somit dort GNOME verwendet werden muss.

Bisher hat mich immer die Philosophie von GNOME abgehalten. GNOME erschien mir immer sehr eingeschränkt konfigurierbar. Aber nachdem ich einige Zeit mit Ubuntu auf dem HomeServer gearbeitet habe, bin ich sehr positiv überrascht. Zwar muss man einige Kniffe anwenden (zum Beispiel durch den Einsatz von DevilsPie), aber dennoch kommt man immer zum Ziel.

Dinge, die auf einem neuen Ubuntu-System nicht fehlen sollten

Kategorie Linux 29.04.2008    Kategorie Linux Linux    Tags ubuntu    Kommentare 0 Kommentare

Eine gute Liste von Dingen, die auf einem neuen Ubuntu-System nicht fehlten sollten, kann man bei Linux on Desktop finden. Zumindest die meisten Punkte; ob man wirklich Real Player oder Adobe Acrobat braucht, ist für mich zumindest fraglich.

Gelungenes Upgrade auf Ubuntu Hardy


Heute nachmittag habe ich mir die Zeit genommen, alle meine Systeme (Homeserver, Desktop und Laptop) aufs neue Ubuntu Hardy zu aktualisieren. Was soll ich sagen? Ich habe noch nie so ein einfaches, reibungsloses Upgrade eines gesamten Systems gehabt. Alles funktioniert einwandfrei! Ich bin regelrecht begeistert.

Allerdings gab es eine Sache: Windows-Programme, die mit Wine bzw. Crossover Games laufen, starteten nicht mehr. In der Konsole wurde folgendes ausgegeben:

preloader: Warning: failed to reserve range 00000000-60000000


wowmatrix - Addons für WoW auch unter Linux einfach aktualisieren


World of Warcraft läuft fantastisch unter Linux, mit Wine oder mit dem recht neuen Crossover Games.

Wer aber viele Addons für WoW installiert hat, wird diese nicht manuell updaten wollen. Das kann schnell zu stundenlangem Gewusel ausarten. Genau deshalb gibt es Programme, die diese Arbeit automatisch übernehmen.

Unter Windows habe ich damals meine Addons mit dem Programm WoWAceUpdater aktualisiert. Aber da dies ein .NET 2.0-Programm ist, funktioniert dieser Updater nicht unter Linux.

Allerdings habe ich nun wowmatrix gefunden. Dieser Updater läuft auch nativ unter Linux und funktioniert einwandfrei. Folglich eine klare Empfehlung für alle WoW-spielenden Linuxer! Cheesy

Hardy Heron ist da!


... also kräftig verteilen und viel Spaß beim Upgraden! Smile
Release Notes zu 8.04!

Die Musik gehört wirklich mir, warum geht das nicht?


Ein gutes Beispiel, warum DRM ein großes Problem werden kann, liefert derzeit Microsoft.

Aus dem Artikel auf Telepolis:
MSN-Chef Rob Bennett hat beschlossen, den MSN Store zuzumachen. Man hat ja mit Zune ein paar neue Dinge auf Lager. Und dazu braucht es neue Stores. Wie stets bei MSN. Das ist OK, jeder darf Geschäfte auf- und zumachen. Dies ist ein freies Land mit freien Kunden. Freilich. Dumm nur, dass die Lizenzserver auch davon betroffen sind. Wer also damals vor nicht allzu langer Zeit dort Musik einkaufte, wird im Sommer ein Problem haben. Und zwar dann, wenn diese Musik auf einen neuen Computer überspielt und dann wieder freigeschaltet werden soll. DRM heisst das Zauberwort, aber der Zauber kann ins Auge gehen. Die Authentifizierung des Käufers ist ohne Server schlecht möglich.
Die Sache mit DRM sollte man sich wirklich zweimal durch den Kopf gehen lassen. Dann lieber eine altmodische CD kaufen - das funktioniert morgen auch noch ...

Nachtrag: Einen sehr guten Artikel über ähnliche Probleme bei anderen MS-Diensten hat Roland Wolters verfasst! Lesenswert ...

Ubuntu-Boot-Splash wird nicht immer angezeigt ...

Kategorie Linux 22.04.2008    Kategorie Linux Linux    Tags boot, ubuntu    Kommentare 0 Kommentare

... zumindest auf meinem Laptop. Das ist eine ziemlich alte Kiste (P3, 700 MHz, 256 MB RAM) aber er läuft und läuft und läuft.
Allerdings bleibt er beim Booten komplett schwarz bis zum Login-Bildschirm. Kein Splash-Screen von Ubuntu zu sehen. Bug #155711 beschreibt genau das und diese beiden kleinen Massnahmen sollen Abhilfe schaffen:

Zuerst die Auflösung in /etc/usplash.conf ändern auf 1024x768 (mehr packt das Display des Laptops nicht):

sudo mcedit /etc/usplash.conf

Die Datei sollte dann so aussehen:

# Usplash configuration file
xres=1024
yres=768

Dann folgendes ausführen, damit die Boot-Files angepasst werden:

sudo update-initramfs -u -k `uname -r`

Ubuntu/Kubuntu-Splash-Screen wechseln


Wenn man in Ubuntu KDE nachträglich installiert hat (oder andersrum in Kubuntu GNOME), wird man feststellen, dass sich der Splash-Screen beim Bootvorgang geändert hat. Um auszuwählen, welchen man will, kann man folgende Befehle ausführen:

sudo update-alternatives --config usplash-artwork.so
sudo dpkg-reconfigure usplash

Microsoft-Software hat keine nennenswerten Fehler


Gestern abend bin ich auf eine Seite gestossen, die Auszüge eines Interviews des Focus mit Bill Gates zeigt. Was ich dort las, konnte ich nicht so richtig glauben. Aber das Interview findet sich im Online-Archiv des Focus und dort kann man wirklich nachlesen, welche Mentalität bei Microsoft herrscht.

Das Interview ist vom Oktober 1995, also schon sehr alt, allerdings scheint sich seit dem nicht viel in Microsofts Denkweise (oder der von Bill Gates, falls da überhaupt ein Unterschied sein sollte) geändert zu haben.

Im Folgenden interessante Auszüge aus diesem Interview. Wer will, kann das ganze beim Focus direkt nachlesen.

Shell-Skript zum automatischen FTP-Download

Kategorie Code 11.04.2008    Kategorie Code Code    Tags ftp, script, shell    Kommentare 0 Kommentare

Mal ein kleines Shell-Skript als Notiz, muss man ja net immer neu schreiben:

#!/bin/bash

ftp -pvin FTPSERVER < < END_SCRIPT
quote USER FTPUSER
quote PASS FTPPASSWORD
cd FTPDIR
lcd LOCALDIR
mget *
bye
END_SCRIPT

Die FTP-Platzhalter austauschen (FTPSERVER, FTPUSER, FTPPASSWORD, FTPDIR und LOCALDIR), das Skript ausführbar machen und evtl. als Cron Job eintragen. Das Teil lädt einfach alle Dateien in FTPDIR runter nach LOCALDIR.

Shell-History

Kategorie Code 11.04.2008    Kategorie Code Code    Tags history, shell    Kommentare 0 Kommentare

Mal was interessantes, was ich mir einfach mal notieren will Wink
history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a [ i ],i}}'|sort -rn|head

Das gibt eine Liste der verwendeten Kommandos auf der Shell aus, zum Beispiel sowas:

84   sudo
19   l
16   cd
12   scp
12   python
10   kill
 9   psx
 7   exit
 6   ./configure

Außenministerium will kein OOXML


Bei so einer Meldung kommt richtig Freude auf: Das Außenministerium verzichtet auch weiterhin auf OOXML, berichtet Golem. Gott sei Dank gibts dort Leute, die sich wirklich mit dem Thema befassen. Im Artikel sind die zwei wichtigsten Kritikpunkte wunderbar aufgezählt:

"Das Auswärtige Amt werde OOXML so lange nicht einsetzen, bis es unabhängig von der Plattform verfügbar sei [...]" "Auch müsse sich der ISO-Standard einheitlich umsetzen lassen, es könne nicht sein, dass nur Teilmengen oder aber mehr als im Standard beschrieben, von einer Software unterstützt wird."

Was vielleicht fehlt, ist das zwangsläufige "Vendor-Lock-In"-Problem durch die Bindung an MS Office und Windows - aber das ist eigentlich ja nur eine Folge der beiden obigen Punkte.

Nero? Ein Brennprogramm?


Heute musste ich auf einer Windows-Maschine Nero Burning Rom installieren. In Version 5 war das mal das beste Brennprogramm für Windows. Aber jetzt in Version 7 ist das ja mal eine totale Themaverfehlung. Was als einfaches (und daher gutes) Brennprogramm angefangen hat, ist zur "Suite" geworden. Programme für TV, Radio, Streaming, Multimedia hier und da und sonstiges ist integriert, aber um einfach mal ein paar Dateien zu brennen, gibts nichts einfaches - das ist irgendwie nicht intuitiv, sondern kompliziert. Und der Abschuss: Nero Scout! Ein Programm zur Indexierung der Festplatte? Was hat sowas bei einem Brennprogramm zu suchen? Was soll dieser ganze Multimedia-Verwaltungs-Kram? Gibts bei einem Brenner kein richtiges Brennprogramm wie k3b mehr dazu?

Ein Programm, eine Aufgabe. Das funktioniert und müllt den Rechner nicht zu. Aber was Ahead da macht, das will mir nicht in den Kopf. Ich werd versuchen, den Rechner wieder zu entmüllen und die reine Brennfunktion drauf zu lassen. Trotzdem: Das ist kein guter Weg, den solche Softwaresuiten einschlagen.

CSS Naked Day


Morgen, am 09.04.2008, wird diese Webseite "nackt" sein. Das heißt, es wird kein CSS eingebunden und somit keine Formatierung verwendet werden.

Diese Aktion wird durchgeführt, um für Webstandards einzutreten. "Nackte" Webseiten ohne CSS sind durch die strikte Trennung von Inhalt und Formatierung immer noch gut zu verwenden und man muss auf keinen Inhalt verzichten. Lediglich die Verpackung wird sozusagen ausgeschaltet.

Hier für das WordPress-Blog kommt das CSS Naked Day-Plugin zum Einsatz. Ab Mitternacht wird für 24 Stunden jeglicher CSS-Verweis also aus den Sourcen entfernt.

Wer mehr über diese Aktion wissen will, kann sich hier darüber informieren.

Abstimmungen bei der ISO


Abstimmungen bei der ISO Bild von noooxml.org

OOXML ist also ein ISO-Standard


Sorry, aber das stinkt. OOXML hat keinen relevanten Vorteil vor ODF. ODF gibts schon seit über einem Jahr und funktioniert. OpenOffice.org, Abiword, K-Office und sogar MS Office (mit Plugins von Sun) unterstützen ODF. Also freie Wahl für den Nutzer. Und was unterstützt OOXML? Microsoft Office 2007. Wow! Wahnsinn!

Das ganze riecht gewaltig danach, das hier nicht alles mit rechten Dingen zuging. Wer - außer MS - soll denn jemals eine 6000-seitige Spezifikation umsetzen und dabei 100% kompatibel bleiben, wenns bei der Abstimmung selbst noch offene technische Fragen zum "Standard" gibt? Selbst Microsoft wird das nicht genau so umsetzen. Das Format von Office 2007 muss ja auch angepasst werden, um dem ISO-"Standard" zu entsprechen, der nun verabschiedet wurde. Hier wird ein Monopol geschützt - nicht mehr und nicht weniger.

Tja, und was bleibt? Boykott von OOXML! Jedenfalls ist das das Resultat für mich.
Aber das dürfte im Großen so laufen, wie es immer bei solchen Dingen läuft: Dem normalen Benutzer ists egal, er speichert, was als Standardformat vorbelegt ist - und da der PC-Käufer Vista mit MS Office aufgezwungen bekommt, nimmt er auch OOXML und am Ende setzt sich das wieder durch. Na, das hat uns ja weitergebracht, gell?

Interessant hierzu auch, was Mark Shuttleworth dazu gesagt hat.

In der Suche von Windows XP alle Dateien durchsuchen


Manchmal ist man ja doch gezwungen, mit Windows zu arbeiten. Eine der IMHO dümmsten Ideen von Microsoft war es, von der Suche nicht registrierte Dateien auszuschließen. Also praktisch alles, was interessant ist, aber nicht von Microsoft kommt (Endungen py, js, php, xml, css z.B.). Resultat: Die Windows-Suche ist in vielen Fällen nicht zu gebrauchen, vor allem wenn man nach irgendwas in Quellcode-Dateien suchen will.
Damit ich nicht jedes Mal wie der Ochs vorm Berg steh, hier einfach mal die Notiz, wo in der Registry das ganze änderbar ist:

Den Wert HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex\FilterFilesWithUnknownExtensions auf 1 setzen und gut is. Aber da wir ja unter Windows sind, ist natürlich ein Reboot bei dieser gravierenden Änderung fällig. Sad

Umfangreiche hosts-Datei verhindert Werbungs- und Trackinganfragen


Im Internet wird vielerlei aufgezeichnet und beim Surfen hinterlässt man immer seine Spuren. Aber vieles davon kann man mit einfachen Mitteln unterbinden.

Viele Webseite binden Werbung von Dritten ein, die dann von anderen Servern als die Ursprungsseite nachgeladen wird. Ebenso werden oft Statistiken bei Drittdiensten geführt. Oder - wie im Falle des Internet Explorers - Schreibfehler in der URL werden sofort an den Hersteller übermittelt, der dann damit eine Suchanfrage durchführt (und somit weiß, wohin wir wollten bzw. wo wir uns verschrieben haben).

Wie gesagt, vieles davon kann man einfach unterbinden, indem man Zugriffe auf diese Drittserver blockt. In der Regel funktionieren alle Webseiten dennoch wie gewohnt, aber man spart einiges an Traffic ein (und auch an Zeit, da z.B. Werbungsserver gerne mal überlastet und laaaaaangsam sind).

Eine wunderbare Vorlage für solch eine Hosts-Datei findet man bei someonewhocares.org. Diese Datei kann man fast 1:1 übernehmen, allerdings sollte man sie (zumindest das obere Drittel) mal überfliegen und evtl. anpassen.
Installiert wird sowas, indem man z.B. in Linux diese Datei unter dem Namen /etc/hosts speichert (dazu braucht man root-Rechte). Vorher sollte man aber seine Original-Datei für alle Fälle sichern:

sudo cp /etc/hosts /etc/hosts.original
sudo cp HERUNTERGELADENEDATEI /etc/hosts

Wo bei anderen Betriebssystem die entsprechenden Dateien zu finden sind, steht in Kurzform auf der Webseite. Die Text-Datei selbst kann man gleich von hier mit rechter Maustaste und "Ziel speichern" (o.ä., je nach Browser) herunterladen.

Inkrementelle Backups auf "öffentlichem" FTP-Server

Kategorie Code 17.03.2008    Kategorie Code Code    Tags backup, ftp    Kommentare 2 Kommentare

Sehr oft stellen Anbieter von Root-Servern oder vServern Backup-Platz auf einem FTP-Server im gleichen Subnetz zur Verfügung, also innerhalb des Rechenzentrum, in dem die eigene Kiste steht. Das Problem dabei: Der eigene Backupplatz dort ist nicht vor den Augen Dritter sicher, so kann der Anbieter selbst bzw. der Admin des Backup-Rechners mal vorbei gucken oder vielleicht gibts sogar einen Fehler im FTP-Server oder dem Netzsegment und die Daten stehen sperrangelweit offen (Fehler sind menschlich und passieren auch in den besten Umgebungen).

Natürlich möchte man nicht, dass alle Daten, ob Mails, Webseiten, SQL-Dumps oder Konfigurationsdateien einfach so offen liegen.

Des weiteren muss man natürlich auch regelmäßig Backups machen, damit diese was nützen. Dabei sollten diese aber wenig Platz verbrauchen. Meist hat man nur recht geringen Platz zur Verfügung (30 bis 50 GB sind so der Durchschnitt bei den meisten Anbietern nach meinen Erfahrungen).

Alle beiden Dinge kann man relativ simpel lösen: Duplicity!

Duplicity ist ein Programm, dass verschlüsselte, inkrementielle Backups erstellen und diese dann zum Beispiel auf FTP-Servern speichern kann. Duplicity ist im Debian-Repository (und auch in (K)Ubuntu) enthalten und kann einfach installiert werden:

sudo aptitude install gpg
sudo aptitude install duplicity

Nun kann man schon Backups erzeugen:

FTP_PASSWORD=secret duplicity /home/exampleuser ftp://backupuser@backup.example.com/subdirectory

Beim ersten Lauf wird ein Vollbackup erzeugt, erst bei erneutem Aufruf werden dann inkrementielle Backups erzeugt.

Mit dem Parameter --exclude kann man Verzeichnisse vom Backup ausschließen. Backups wiederherstellen geht auch relativ simpel:

FTP_PASSWORD=secret duplicity ftp://backupuser@backup.example.com/ /home/exampleuser

Allerdings kann man dies so noch nicht automatisiert verwenden (z.B. in Cron Jobs). Duplicity benötigt ein Passwort zur Verschlüsselung und fragt so jedesmal nach. Damit das reibungslos geht, müssen wir erstmal in GnuPG einen Schlüssel dafür anlegen.

debianserver:/home/exampleuser# gpg --gen-key

Ob das ganze richtig funktioniert hat, kann man einfach nachprüfen: gpg --list-keygibt eine Liste der Schlüssel aus. Da sollte der gerade angelegte mit den richtigen Daten dabei sein.

So, nun können wir uns ein kleines Skript schreiben, das den eigentlichen Aufruf von duplicity übernimmt:
#!/bin/bash

export PASSPHRASE=secret
export FTP_PASSWORD=ftpsecret

duplicity --encrypt-key "9D6F907C" --sign-key "9D6F907C" \
    --exclude /proc \
    --exclude /dev \
    --exclude /sys \
    --exclude /swap \
    / ftp://user@backup-server.de/

Natürlich muss man hier noch Anpassungen vornehmen. Als PASSPHRASE wird das Passwort für die GPG-Verschlüsselung eingetragen, das wir auch oben bei der Erstellung verwendet haben. Als encrypt-key und sign-key trägt man die ID des Schlüssels ein (das ist oben in rot markiert). Zur Erhöhung der Sicherheit kann man auch zwei unterschiedliche Schlüssel verwenden. Die FTP-Daten muss man entsprechend den Daten anpassen, die man von seinem Anbieter bekommen hat.
Auch sollte man sich überlegen, welche Verzeichnisse man genau ausklammern will und entsprechende Zeilen hinzufügen.

In diesem Beispiel wird die komplette Verzeichnisstruktur bis auf die paar mit exclude ausgenommenen Verzeichnisse gesichert (dafür ist das / in der letzten Zeile verantwortlich). Ob man wirklich so umfangreiche Sicherungen will, ist je nach Situation unterschiedlich. Darüber sollte man durchaus erstmal nachdenken und das Für und Wider einer großen, allgemeinen zu einer kleinen, speziellen Sicherung abwägen.

Wer will, kann sich das Ergebnis immer per Mail zuschicken lassen (dazu einfach | mail -s "duplicity backup" root@pumuckl-fanclub.de hinten dran anhängen). Wer sich aber Ergebnisse von Cron-Jobs eh per Mail zuschicken lässt (MAILTO-Anweisung in der crontab) kann darauf verzichten, da er diese Ergebnisse sowieso bekommt.

Als letzten Schritt speichert man obiges Skript z.B. unter /usr/local/bin/ftpbackup und macht dies mit chmod +x /usr/local/bin/ftpbackup ausführbar. Dann editiert man mit
crontab -e die Crontab von root (vorher evtl. mit sudo su auf root wecheln). Das Skript muss als root laufen, wenn wie im obigen Beispiel die gesamte Verzeichnisstruktur gesichert werden soll. Soll nur z.B. ein Homeverzeichnis eines bestimmten Benutzers gesichert werden, reicht es auch aus, den Aufruf in die crontab dieses Nutzers einzutragen.
Wie dem auch sei, man trägt eine Zeile für das Backup ein:

27 5 * * * /usr/local/bin/ftpbackup

Diese Zeile bewirkt, dass jeden Tag frühs um 05:27 Uhr das Backup gestartet wird.

Das sollte reichen. Jetzt startet man am besten erstmal manuell ein Backup, da das erste ja ein Full Backup wird und somit relativ lange dauern dürfte. In Zukunft kommen dann inkrementielle Backups hinzu.

Noch ein Tipp:
Mit folgender Zeile kann man sich den Restplatz auf dem FTP-Backup-Server anzeigen lassen (allerdings ist dieser Tipp nicht auf meinen Mist gewachsen, sondern das habe ich irgendwo aufgeschnappt, weiß aber leider die Quelle nicht mehr. Dennoch ein Dank an dieser Stelle an Unbekannt dafür Wink ):

echo du . | lftp -u FTPUSER,FTPPASSWORT FTPSERVER | awk -v LIMIT="50" '$1~/[0-9]+/ {QUOTA=LIMIT*1024*1024; print (QUOTA-$1)/1024/1024 " GB left"}'

Natürlich müssen die Werte an die Werte der eigenen Umgebung angepasst werden. Als LIMIT wird der vom Anbieter zugewiesene Platz in GB genannt, in diesem Fall 50 GB. Das ganze kann man auch (ähnlich wie oben) als Skript verpacken, z.B. unter /usr/local/bin/ftpbackupleft o.ä.

Unterschriftenaktion WoW nativ unter Linux


Es läuft eine Unterschriftenaktion, um Blizzard dazu zu bewegen, evtl. World of Warcraft nativ unter Linux lauffähig zu machen. Leider gibt es bisher noch kaum Unterschriften, was vor allem daran liegen dürfte, dass diese Aktion kaum bekannt ist. Das ganze ist zwar doch ziemlich unwahrscheinlich, da WoW unter Wine nahezu perfekt läuft, aber trotzdem kann man die Aktion durchaus unterstützen. Man darf ja noch träumen ... Wink Unterschriftenaktion WoW nativ unter Linux

Offener Brief an Nvidia zur besseren Zusammenarbeit mit der Open-Source-Community


Intel und AMD/ATI haben Spezifikationen veröffentlicht, mit denen Open-Source-Entwickler bessere Treiber für die Grafikkarten der Hersteller schreiben können. Leider ist bisher Nvidia nicht nachgezogen - zwar funktioniert der Nvidia-Treiber ziemlich gut, dennoch führen proprietäre Treiber gern mal zu Problemen, bei denen nur der Hersteller was machen kann (und das dauert manchmal verdammt lange, wie die Situation derzeit mit Adobe Flash und Opera aufzeigt Sad ).

Es wurde nun eine Unterschriftensammlung gestartet, um Nvidia vielleicht dazu zu bewegen, ihre Strategie nochmal zu überdenken. Da zählt jede Unterschrift, also mach mit! Wink http://www.opentheblob.com/nvidia/

RSS-Feeds nun mit anderer Adresse


Zur besseren Übersicht habe ich die URLs der Feeds dieses Blogs auf Feedburner umgestellt. Bitte ändere die URL in Deinem Newsreader.

Die neuen Feed-URLs sind folgende:

http://feeds.feedburner.com/bheilnet-blog http://feeds.feedburner.com/bheilnet-blog-comments
NACHTRAG: Nach der Umstellung des Blogs auf Django sind diese Adressen nicht mehr aktuell! Bitte nur die Links in der rechte Seitenleiste verwenden!

Rails vs. X


Per Zufall bin ich gerade auf Videos gestolpert, die Unterschiede zwischen RoR und anderen Web-Frameworks beschreiben. Sehr treffend und vor allem lustig Wink
Videos bei rails envy

Zwischenstand


Ja, ich lebe noch, allerdings gibts in diesem Februar wenig zu berichten. Derzeit arbeite ich mich in Python und Django ein. Auf Details dazu werde ich in einem anderen Post eingehen, aber dieses Thema fesselt mich die letzte Zeit sehr, denn in Django lässt sich äußerst viel Potential erkennen.

Wordpress-Upgrade auf 2.3.3


Wegen einer Sicherheitslücke wurde Wordpress soeben aktualisiert. Das hier ist ein Test, ob noch alles funktioniert. Also bitte weitergehen, es gibt hier nichts zu sehen ... Wink

Opera: Wie installiert man UserJS?


Im vorherigen Post habe ich über nützliche UserJS für Opera berichtet. Aber wie installiert man sowas nun genau?

Das ist sehr einfach. Lade Dir die entsprechende Datei z.b. von userjs.org herunter (dazu den entsprechenden Link im rechten Kästchen rechtsklicken und "Ziel speichern ..." wählen) und speichere sie an einer Stelle Deiner Wahl. Danach öffnest Du in Opera die Einstellungen (im Menü auf "Extras"->"Einstellungen"). Dort gehst Du auf Erweitert -> Inhalte -> "JavaScript-Optionen...".

Opera-Einstellungen
JavaScript-Optionen von Opera


Im folgenden Fenster wählst Du einfach den Ordner aus, in dem Du Deine heruntergeladenen UserJS-Dateien abgelegt hast und startest Opera neu. Das wars!

Opera-UserJS: Flash verstecken, außer es wird manuell geklickt


Mit UserJS hat Opera ein sehr interessantes Feature. UserJS ist eine Datei mit JavaScript, das bei jeder Seite, die man in Opera lädt, immer ausgeführt werden. Das ermöglicht tolle Erweiterungen. Eine möchte ich ganz speziell hier mal vorstellen, da ich diese äußerst praktisch finde:

Hide objects

Diese Erweiterung sorgt dafür, dass Flash-Filmchen auf Webseiten nicht mehr sofort angezeigt und abgespielt werden. Stattdessen wird nur ein Platzhalter gezeigt - klickt man dann auf diesen Platzhalter, wird das Flash-Filmchen geladen, als wäre nichts gewesen. Macht man einen Doppelklick auf die Seite, wird alles geladen, was vorher geblockt wurde.

Wo liegt nun der Nutzen?
Seiten laden wesentlich schneller. Auf vielen Seiten bewegt sich überall irgendwas (z.B. die Seite von World of Warcraft), was somit auch unterbunden wird. Will man dennoch etwas sehen, reicht ein einfacher Klick.

Weitere nützliche Erweiterungen:

Wie man genau UserJS für Opera installiert, gibts gleich im nächsten Post! Wink

Auf die Standards!


Ein bischen Feinarbeit war schon nötig, aber diese Webseite hier folgt nun dem Standard "XHTML 1.0 Transitional" und verwendet ebenso gültiges CSS! Damit hat sich die Seite die beiden "Abzeichen" verdient:

Valid XHTML 1.0 Transitional Valid CSS!



Die Webstandards sollte man unbedingt einhalten, dafür sind sie da. Durch Standards wird gewährleistet, dass keine Nutzer ausgeschlossen werden und die Technik überall so funktioniert, wie vom Entwickler/Designer/was auch immer gedacht und erwünscht. Wenn solche Standards nicht eingehalten werden und nicht greifen, artet so etwas wie das Web in lauter Insellösungen aus. Nur durch Standards konnte so etwas wie das Internet überhaupt erst entstehen. Durch offene, freie Standards wohlgemerkt! Für das Web sind das im Großen und Ganzen die, die das W3C festlegt.

[i]Nachtrag: Nach der Umstellung dieser Seite auf Django hält sich diese Seite an XHTML 1.0 Strict![/i]

Java und Flash unter Ubuntu einfach installieren


Unter Ubuntu ist es hilfreich, das Paket ubuntu-restricted-extras zu installieren - oder kubuntu-restricted-extras, falls man Kubuntu einsetzt. Das Paket installiert einige proprietäre Software, die das Leben allerdings enorm vereinfachen. In diesem Paket sind MP3-Unterstützung, Java, Adobe Flash, DVD-Wiedergabe und LAME enthalten.

Zum Installieren entweder Adept oder Synaptic verwenden oder folgendes auf der Kommandozeile eingeben:

sudo aptitude install kubuntu-restricted-extras

bzw.

sudo aptitude install ubuntu-restricted-extras

100 Dinge über Vista


Ohne viel Umschweife, hier ein Link zu einer Sammlung von Zitaten über Vista und dessen Scheitern. Darin kann man sich etwas vertiefen, es bietet viele Links zu echt interessanten und aufklärenden Artikeln.

Eine Liste der schmutzigen Tricks von Microsoft


Diese Auflistung der Tricks, die Microsoft anwendet, um uns alle an sie zu binden (Jaja, Sauron lässt grüßen Wink ), ist äußerst empfehlenswert zu lesen. Allerdings leider nur in Englisch verfügbar.

Micropolis unter Ubuntu installieren


Wer früher gern Sim City gespielt hat, dürfte darüber erfreut sein, dass der Quellcode unter der GPL freigegeben wurde. Ein Paket dafür, um Micropolis (so der Name) einfach unter (K)Ubuntu zu installieren, gibts bei getdeb.net zum runterladen.

Micropolis

Grub manuell neu installieren - Teil 2


Wie das Leben so spielt: Ich habe gestern den Artikel verfasst, ein paar Stunden später jedoch habe ich was an meinem Rechner umgebaut und dabei auch eine Platte entfernt - und schwupps, das war auch doch gerade die, auf der Grub installiert war. Folglich konnte ich nicht mehr starten und sah mich der Situation ausgesetzt, jetzt auch "in echt" Grub neu installieren zu müssen.

Blog auf neueste Wordpress-Version umgestellt


Soeben wurde der Blog hier auf die neueste Wordpress-Version umgestellt. Dies hier ist mehr ein Testbeitrag, um zu gucken, ob auch alles soweit funktioniert.

Grub manuell neu installieren


Falls man z.B. Windows neu installieren muss, überschreibt Windows den MBR immer einfach so ohne Nachfrage (sehr arrogantes Verhalten btw). Um Grub und damit den Bootloader für verschiedene Systeme dann neu in den MBR schreiben zu lassen, kann man folgendermaßen vorgehen:

KDE 4.0.0 ist da!

Kategorie Software 11.01.2008    Kategorie Software Software    Tags kde    Kommentare 0 Kommentare

Juhuuu, KDE 4.0.0 ist da! Ich freu mich schon auf Tests mit diesem Desktop. Wie die Pakete unter Kubuntu zu installieren sind, ist auf kubuntu.org zu lesen.

Was man sich aber gerade wegen der ganzen Euphorie immer ins Gedächtnis rufen sollte: Dies ist das erste Release einer ganzen Serie und ich persönlich gehe mal davon aus, dass es so richtig noch nicht funktionieren wird. Auf meinen Desktops werde ich wahrscheinlich erst 4.1 einsetzen (was aber auch dieses Jahr noch kommen soll). Nach meinen bisherigen Informationen sind viele Anwenderprogramme (z.B. Kontact) noch nicht endgültig portiert, sondern hauptsächlich der Kern ist fertig. Dennoch sind die Features sowas von vielversprechend, dass ich mich richtig drauf freue. Und gut Ding will Weile haben! Jedenfalls wird erstmal VirtualBox damit gefüttert.

Hier gibts auch noch einige Screenshots:
http://jarzebski.pl/read/kde-4-rev-758000.so http://picasaweb.google.com/mmauder/KDE400

[Update]
Und hier haben wir auch schon die offizielle Ankündigung!

VM- und Addon-Foren entfernt


Ich habe schon längere Zeit nichts mehr geschrieben, aber keine Bange: Mich gibts noch und alles ist ok! Wink
Allerdings gab es nicht viel zu berichten, da nicht viel passiert ist über die Feiertage.

Dennoch hier mal eine kleine Statusmeldung: Einige Dinge auf diesem Server wurden von mir gerade aufgeräumt, so zum Beispiel das Forum der (ehemaligen) WoW-Gilde Valar murgholis. Das hat sich anscheinend im Sande verlaufen und das Forum wurde nicht mehr genutzt (nicht mal 800 Seitenaufrufe im Dezember, verglichen mit mehreren Zehntausend noch ein paar Monate zuvor). Also habe ich es einvernehmlich entfernt. Gleiches gilt auch für das WoW-Addons-Forum.