Auf meinem aktuellen Karmic-System wollte ich gern majordomo installieren. Primär eigentlich nur, um das Kommando approve absetzen zu können, mit dem ich bouncende Mails aus den von mir betreuten Mailinglisten bestätigen kann. Leider habe ich bisher kein Debian-Paket für mein Ubuntu finden können, vermutlich hat das mit Sicherheitsproblemen dieser etwas älteren Software zu tun.

Beim aktuellen OpenSuSe wird majordomo immer noch mit ausgeliefert. Daher war die Idee naheliegend das RPM-Paket mittels alien in ein Debian-Paket zu verwandeln und dann zu installieren. Leider war das nicht ganz so einfach. Das Ubuntu-Alien kommt teilweise mit aktuellen RPM-Paketen nicht zurecht, da die Art der Komprimierung verändert wurde. Das Problem scheint aber schon älter zu sein, es hat sich anscheinend aber noch niemand ernsthaft darum gekümmert. Es gibt Fehlermeldungen der Art:

Unpacking of 'majordomo-1.94.5-457.1.i586.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line 155.

In dem Artikel http://forum.ubuntuusers.de/topic/kivio-2-0-installieren/#post-2054853 habe ich dann eine Lösung gefunden. Dort ist ein kleiner Patch zu finden, der das Problem in der Zeile 155 angeht.

sub unpack {
	my $this=shift;
	$this->SUPER::unpack(@_);
	my $workdir=$this->unpacked_tree;
	my $rpmunpack="rpm2cpio ".$this->filename." | lzma -d | ";

	$this->do($rpmunpack."(cd $workdir; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1")
	      or (($rpmunpack="rpm2cpio ".$this->filename." | ")
	      and $this->do($rpmunpack."(cd $workdir; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1"))
	      or die "Unpacking of '".$this->filename."' failed";

	# cpio does not necessarily store all parent directories in an
	# archive, and so some directories, if it has to make them and has
	# no permission info, will come out with some random permissions.
	# Find those directories and make them mode 755, which is more
	# reasonable.
	my %seenfiles;
	open (RPMLIST, $rpmunpack."cpio -it --quiet |")
		or die "File list of '".$this->filename."' failed";

Ich habe einfach die entsprechenden vorhandenen Zeilen auskommentiert und diese Zeilen hineinkopiert. Nach der Änderung konnte ich mein Majordomo-Paket erfolgreich konvertieren mittels:

sudo alien --scripts majordomo-1.94.5-457.1.i586.rpm

Herzlichen Dank an den Autor hakunamatata.

Da in meinen Webserver-Log-Dateien häufiger Anfragen nach Dateien namens wpad.dat auftauchten habe ich mich mal mit dem Thema Web Proxy Autodiscovery Protocol (WPAD) beschäftigt. Positiv daran ist, dass es als Webstandard gilt und von allen aktuellen Browsern unterstützt wird. WPAD benutzt Proxy Auto-Configuration (PAC) Dateien um die Einstellungen zu übermitteln.

Diese Dateien dienen dazu Browser automatisch zu konfigurieren, so dass sie sich die Proxy-Einstellungen selbständig erfragen können. Grundlage dafür ist eine Konfigurationsdatei namens wpad.dat, die im einfachsten Fall folgenden Inhalt besitzt:

function FindProxyForURL(url, host)
{
  if(isPlainHostName(host) || localHostOrDomainIs(host, "localhost") ||  localHostOrDomainIs(host, "127.0.0.1") || isInNet(host, "192.168.1.1", "255.255.0.0")) {
     return "DIRECT";
  }else {
     return "PROXY 192.168.1.1:3128";
  }
}

Im Prinzip wird hier in der letzten Zeile die Adresse und der Port des Proxy-Server übergeben. Der Teil davor umgeht den Proxy-Server, wenn ein Rechnername ohne Domain aufgerufen wird, der Name oder die IP für localhost oder ein Rechner aus dem lokalen Netz.

Detaillierte Informationen findet man unter http://findproxyforurl.com und natürlich http://de.wikipedia.org/wiki/WPAD.

Diese Datei muss nun nur noch zum Browser kommen. Dazu muss der Browser passend eingestellt sein: Bearbeiten -> Einstellungen -> Erweitert -> Netzwerk -> Verbindung -> Einstellungen -> Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen

Nun muss auf dem Server noch der Webserver-Apache entsprechend konfiguriert werden. Er sollte im Idealfall auf folgende URL hin die Datei ausliefern: http://wpad.<rechnername.lokale-domain>/wpad.dat In den meisten Installationen langte es sicherlich im Nameserver einen cname für wpad einzurichten:

wpad       CNAME   boss

Zusätzlich wird noch empfohlen die zugehörigen Mime-Types zu registrieren. Dazu kommen folgende Zeilen in die bisher leere Datei /etc/apache2/httpd.conf:

AddType application/x-ns-proxy-autoconfig .dat
AddType application/x-ns-proxy-autoconfig .pac
Redirect permanent  /proxy.pac /wpad.dat

Hier sind zwei Dateien eingetragen, die wpad.dat und die proxy.pac, die beide identisch sind. Eine Version ist für WPAD-fähige Systeme zuständig, die andere für ältere Versionen. Durch den Redirect muss nur eine der beiden Dateien wirklich vorhanden sein. Anfragen an die andere Datei werden passend weitergeleitet.

Im Prinzip suchen die Browser nun nach einem festen System nach der Konfigurationsdatei. Man kann ihnen das Leben erleichtern und auch den cname wpad für den Webserver vermeiden, wenn man die DHCP-Server Konfiguration etwas anpasst.

# /etc/dhcpd.conf
#
# Configuration file for ISC dhcpd
#
# -- global options --
default-lease-time                 160000;
max-lease-time                     200000;
use-host-decl-names                on;
option dhcp-max-message-size       1024;
option wpad code 252 = text;
ddns-update-style                  none;
authorative;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.40 192.168.1.160;
    server-identifier 192.168.1.1;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.254;
    option domain-name-servers 192.168.1.1, 192.168.1.254;
    option domain-name "debacher.net";
    option wpad "http://www.debacher.net/wpad.dat ";
}

Die beiden hinzuzufügenden Zeilen sind fett unterlegt. Damit wird dem Client-Rechner schon beim Starten die Adresse der wpad.dat (Code 252) mit übermittelt. Hier ist eine beliebige URL möglich, die auch nicht unbedingt im eigenen Netz liegen muss. Die Adressübermittlung per DHCP hat übrigens Vorrang gegenüber der Übermittlung per DNS. Man muss also nicht unbedingt an den Nameserver heran.

Weitere Informationen:

Ich wollte mich gern mit der erschreckenden Gesichtererkennung des neuen Picasa 3.6  beschäftigen. Leider bietet Google keine aktuellen Versionen für Linux an. Unter http://www.mail-archive.com/google-labs-picasa-for-linux@googlegroups.com/msg01748.html habe ich einen Beitrag gefunden mit dessen Hilfe ich 3.6 erfolgreich unter Ubuntu 9.10 installieren konnte.

Die Beschreibung geht davon aus, dass man Picasa 3.0 auf dem eigenen Rechner installiert hat. Ich hatte das schon vor einiger Zeit gemacht. Das Picasa 3.0 findet sich dann unter /opt/google auf dem Rechner.

Zuerst lädt man sich die Datei picasa36-setup.exe von der Google-Download-Seite.

cd /opt/google/picasa/3.0/wine/bin
./wine /home/debacher/Downloads/picasa36-setup.exe

Dabei wird Picasa in das Verzeichnis /home/debacher/.wine installiert. Soll es allgemein zur Verfügung stehen, so muss diese Installation nach /opt verschoben werden. Dazu benötigt man Root-Rechte:

sudo su -
cd /opt/google/picasa/3.0/wine/drive_c/Program\ Files/Google/
rm -Rf Picasa3
cp -R /home/debacher/.wine/drive_c/Programme/Google/Picasa3/  .
cd Picasa3
mv PicasaUpdater.exe PicasaUpdater.exe.old

Danach startet dann zukünftig Picasa 3.6 auch über alle Menüeinträge der alten Installation. Man kann dann sogar das gesamte .wine Verzeichnis im Homeverzeichnis löschen, zumindest wenn es nicht vorher schon vorhanden war.

Zum Fernsehen benutze ich gern Kaffeine, zumal es auf breiten Monitoren den Vorteil besitzt, dass die Senderliste seitlich sitzt und das Bild dadurch recht groß werden kann. Mit dem aktuellen Kaffeine hatte ich das Problem, dass manchmal kein Sound zu hören war, der Sound ging nicht auf meine analogen Boxen, sondern auf den digitalen Monitor.  Beim Start von Kaffeine tauchte dann immer eine Fehlermeldung von Phonon auf:

Phonon: Das Multimediasystem von KDE
Das Audio-Abspielgerät "HDA NVidia (ALC888 Analog)" funktioniert nicht. Es wird auf ... ausgewichen.

Ich habe lange verzweifelt nach einer Einstellmöglichkeit gesucht. Irgendwann habe ich dann das Programm pavucontrol installiert und damit versucht das digitale HDMI-Gerät zu deaktivieren. Aber auch das hat keinen nachhaltigen Effekt gebracht.

Nur hat sich dann irgendwann bei eine späteren Start von Kaffeine ein KDE-Programm gemeldet um mir mitzuteilen, dass ich ein Gerät deaktiviert habe. Dieses Programm bot eine Konfiguration des Soundsystems an.

/usr/bin/kcmshell4   kcm_phonon

Führt mich nun zu diesem Einstellprogramm, in dem man die Reihenfolge der Ausgabegeräte festlegen kann. Hier habe ich die HDMI-Ausgabe auf den letzten Platz gesetzt und nun wird auf PulseAudio ausgewichen, was dann auch funktioniert.

Auf meinem neuen Rechner habe ich mir Virtualbox installiert und zwar die nicht freie Version direkt von den Webseiten. Nun geht es darum die vorhandenen Images für Virtualbox verfügbar zu machen.

Wenn es irgend geht, dann sollte man noch unter VMWare die VMWare-Tools deinstallieren, sonst kann es später Probleme mit der virtuellen Netzwerkkarte geben. Unter Virtualbox ist die Deinstallation nicht immer möglich.

Meine VMWare-Images sind alle aufgeteilt in Dateien zu maximal 2 GByte. Im ersten Schritt müssen diese Teile zusammengefasst werden. Dazu wechsle ich ins Verzeichnis des jeweiligen Images und gebe ein:

vmware-vdiskmanager -r winXPPro.vmdk -t 0 /tmp/winXPPro.vmdk

Die Dateinamen müssen natürlich den eigenen Gegebenheiten angepasst sein.  Auf alle Fälle entsteht in /tmp die neue Datei mit der kompletten virtuellen Festplatte. Diese Datei kann nun für Virtualbox konvertiert werden. Dieser Schritt könnte entfallen, da Virtualbox inzwischen auch mit den VMWare-Images umgehen kann.

Im Ordner /tmp rufe ich dann auf:

VBoxManage -nologo clonehd winXPPro.vmdk winXPPro.vdi -format VDI

Das Virtualbox-Programm meldet sich mit einem textbasierten Fortschrittsbalken.

Der VBoxManager  speichert die neue Datei übrigens nicht in /tmp ab, sondern im Verzeichnis /home/<benutzer>/.VirtualBox/HardDisks. Man sollte sich gut überlegen, ob man diese Images wirklich in einem verborgenen Unterverzeichnis im Homeverzeichnis haben möchte.  Ich sammle diese großen Dateien gern auf einer extra Partition, was die Daten-Sicherung deutlich vereinfacht.

Nun kann man dieses Festplattenimage in eine neue virtuelle Maschine einbinden. Im dritten Fenster der Einrichtung einer neuen virtuellen Maschine kann man die Datei nun auswählen, indem man zuerst Festplatte benutzen auswählt und dann unten rechts auf das gelbe Ordnersymbol klickt. Hier kann man dann die Festplatte hinzufügen und auswählen.

Wenn die neue virtuelle Maschine eingerichtet ist, dann muss man unbedingt noch einmal auf den Bereich System doppeklicken, um dort eine Einstellung zu ändern. Bei mir wollte das Windows nie starten, wenn nicht der Schalter IO-APIC aktivieren gesetzt war.

Danach kann man dann die virtuelle Maschine starten. Sowie das Windows läuft sollte man die VMWare-Tools deinstallieren, da die zumindest die Netzwerkkarte stören. Besser wäre es diese schon vorher unter VMWare zu tun.

Nach den fälligen Windows-Neustart kann man dann die Virtualbox-Erweiterungen installieren.

Die VMWare Workstation 6.5.x lässt sich unter Ubuntu 9.10 nicht direkt installieren. Die Installation bleibt immer nach etwa 2/3 hängen, während die Konfiguration erfolgen soll. Mittels dmesg kann man sehen, dass vmmon geladen und entladen wird, die anderen Module lassen sich anscheinend nicht übersetzen.

Nach mehreren vergeblichen Versuchen habe ich im Ubuntu-Forum die Lösung gefunden http://ubuntuforums.org/showthread.php?t=1314006.

Der Autor schiotz löst das Problem über ein kleines Python-Script, welches er unter dem Namen gcc im gleichen Verzeichnis ablegt, wie die Datei VMware-Workstation-6.5.3-185404.i386.bundle. Ursache des Problems sind wohl zu viele Warnungen des Compilers, die zum Einfrieren der Installation führen. Also wird über dieses Script der gcc veranlasst schweigsamer zu sein.

#!/usr/bin/python

import sys
import copy
import os

argv = copy.copy(sys.argv)

i = len(argv)
for i in range(i-1, 0, -1):
    if len(argv[i]) > 4 and argv[i][:2] == "-W" and argv[i][3] != ",":
        del argv[i]

argv[0] = "/usr/bin/gcc"
os.execv(argv[0], argv)

Das Script und die Datei VMware-Workstation-6.5.3-185404.i386.bundle müssen ausführbar gemacht werden, danach kann die Installation mittels

sudo env PATH=`pwd`:$PATH ./VMware-Workstation-6.5.3-185404.i386.bundle

durchgeführt werden. Im Prinzip passiert hier nicht mehr, als dass der Pfad um das aktuelle Verzeichnis erweitert wird, damit der Fake-gcc anstatt des richtigen gcc aufgerufen wird.

Anschließend muss man dann noch die Module installieren mittels:

sudo vmware-modconfig –console –install-all --appname="VMware Workstation" --icon="vmware-workstation"

durchgeführt werden.

Bei mir lief vmware nach diesem Schritt bereits.

Zuletzt soll man noch die Datei /etc/vmware/bootstrap um die Zeile

VMWARE_USE_SHIPPED_GTK=force

erweitern.

Eine andere Lösung für das gleiche Problem findet sich unter http://linux.aldeby.org/vmware-workstation-6-5-3-on-ubuntu-karmic-9-10.html .

Nachdem ich eine Mail mit dem lustigen Footer:

Ich verwende die kostenlose Version von SPAMfighter, die bisher
2703 Spammails entfernt und mir so eine Menge Zeit gespart hat.
Rund 6 Millionen Leute nutzen SPAMfighter schon

bekam habe ich mal meinen kleinen Mailserver abgefragt. Für einen Zeitraum von 42 Stunden ergeben sich aktuell folgende Werte:

  • abgelehnte Mails: 5652
  • angenommene Mails: 85

das ist eine Ablehnungsquote von 98,5%.

Ablehnungsgründe waren:

  • RBL: 3362
  • Benutzer unbekannt: 1075
  • Kein Hostname beim Absender: 1047
  • Keine domain für Absender: 131

Die Sperrlisten sind also recht effektiv. Ich benutze dabei vor allem zwei Listen:

  • bl.spamcop.net: 2151
  • dul.dnsbl.sorbs.net: 1211

Einen  interessanten Ansatz um Windows-Nutzern den Einstieg in Linux bzw. Ubuntu zu erleichtern bietet das Projekt Portable Ubuntu . Dieses Projekt setzt auf Colinux auf und liefert damit eine Ubuntu-Distribution, die als Windows-Anwendung läuft.

Legt man die Installation auf einen USB-Stick, so hat man ein Linux, welches sich auf nahezu jedem Windows-Rechner starten lässt. Man hat damit immer seine gewohnte Umgebung, auch auf fremden Rechnern.

Veröffentlicht unter linux.

Wer mit Windows auf seinem Rechner arbeitet, der kennt sicher das Problem, wenn nach dem Besuch einer Webseite plötzlich nichts mehr klappt. Hier sind jetzt mehrere Maßnahmen notwendig.

  1. Sichern der Daten
  2. Untersuchung des Systems auf Viren und Würmer
  3. Wiederherstellen des Systems

Bei den beiden ersten Schritten kann eine CD/DVD mit Knoppix eine große Hilfe sein. Der Zeitschrift c’t liegt in der Ausgabe 2/09 eine DVD mit Knoppix 6.1 bei.

Auf dem betroffenen Rechner bootet man von der DVD, man muss beim Booten einmal die Enter-Taste drücken. Danach steht eine grafische Oberfläche zur Verfügung, mit einem umfangreichen Menü.

Zum Sichern der Daten benötigt man einen USB-Stick oder eine USB-Festplatte. Eventuell ist auch eine Sicherung über das Netzwerk möglich, da Knoppix die Netzwerkkarten normalerweise erkennt.

Die vorhandenen Festplatten-Partitionen bindet Knoppix aus Sicherheitsgründen nicht automatisch ein, will man die Festplatten ansprechen, so klickt man auf das Desktop-Icon Eigene Dokumente, worauf sich ein Dateimanager öffnet. Im linken Bereich zeigt dieser eine Liste von Datenträgern an:

  • Knoppix (Home)
  • Desktop
  • Knoppix (CD/DVD)

danach folgenden dann die vorhandenen Festplatten-Partitionen.  Klickt man eine davon an, so wird sie eingebunden, gemountet. Hier kann man jetzt die Daten suchen.

Steckt man nun einen USB-Stick ein, so wird er ebenfalls links in der Liste eingefügt und man kann bequem, von der Festplatte auf das  USB-Medium kopieren. Natürlich kann man auch Archive erzeugen, die rechte Maustaste hilft hier weiter.

Hat man eine der Plattenpartionen eingebunden, so kann man sie auch auf Viren testen. Dazu startet man im Menü Systemwerkzeuge das Programm Virus Scanner.

Beim ersten Start fragt das Programm nach ein paar Einstellungen, hilft aber beim Beantworten der Fragen (SingleUser -> Save -> Quit).

In der grafischen Oberfläche geht man jetzt in das Menü Scan auf den Menüpunkt Rekursives Scannen (oder drückt Strg+R) und wählt die eben eingebundenen Partition aus, z.B. Dateisystem->/media/hda1 , die genaue Bezeichnung stand beim Einbinden der Partition in der oberen Zeile. Alle eingebundenen Laufwerke und USB-Geräte finden sich im Ordner /media an.

Nun startet der Scanner und untersucht alle Dateien im angegeben Verzeichnis. Der Rechner ist dann erst einmal eine Weile beschäftigt.

Im Zusammenhang mit dem proprietären ATI-Treiber gibt es oft Abstürze beim Programm Kaffeine, zumindest beim Fernsehen. Das Problem lässt sich mit einer Kaffeine-Einstellung lösen.

Unter Einstellungen -> Xine-Parameter -> Video stellt man man unter Anfänger-Optionen den Treiber um von auto auf xshm. Danach läuft Kaffeine auch mit dem ATI-Treiber.

Man könnte kaffeine auch mit einem entsprechenden Parameter starten:

kaffeine -x xshm