ubuntuusers.de

22. Februar 2010

Klar, Designs für Webseiten können schon mal extrem aufwändig und hübsch sein (so wie meins ;-) ), aber wichtiger ist, dass der Inhalt sauber strukturiert und sowohl für Blinde/Screenreader ordentlich aufbereitet ist, was sich auch auf die Suchmaschinenfreundlichkeit auswirkt. Positiv versteht sich.

Mit einem “normalen” Browser

Mit w3m

Mit Lynx

Was man hier sehr schön sieht, ist, das selbst die “Textbrowser” unterschiedliche Rendering-Mechanismen benutzen.

Was bringts?

Eines ist jedoch überall gleich: Die Schriftgrößen sind immer gleich. Die Reihenfolge der Texte ist exakt die im Quelltext. Es gibt keine Bilder, kein Javascript, kein CSS. Während einige Screenreader mittlerweile mittels WAI-ARIA und einiger Arbeit am Javascript auch barrierefrei mit Javascript umgehen können, ist das dennoch nicht der Standard, also sollte man zusehen, dass eine möglichst zugängliche Webseite auch ohne Javascript benutzbar ist.

Da kann man halbwegs gut erkennen, wie tauglich so eine Seite auch für Menschen oder auch für Suchmaschinen ist. Sehr gut kann man mit diesen Browsern übrigens Seiten entlarven, die extrem viel Suchmaschinenoptimierung betreiben. Sehr unschön für solche Browser, übrigens.

Die Ubuntuentwickler werden  künftig die Anwender per Twitter und Identi .ca  warnen, wenn schwerwiegende Fehler  in den Paketquellen oder in der Paketverwaltung bekannt werden.

Der Entwickler  Robbie Williamson gab in der Ubuntu-Mailingliste Devel-Announce bekannt, dass die Anwender in Zukunft  über Twitter oder Identi.ca über problematische/gefährliche Updates zu informieren. Damitbei Ubuntu so etwas wie 2006 nicht noch einmal passiert, dass bei einem  Update bei edlichen Usern der Xserver nicht merh seinen Dienst  verrichtete.

We’ve setup these two accounts to allow us to quickly provide alerts and
status, when there are problems in the Ubuntu archives that are likely
to cause very serious problems for a large number of users.  One mirrors
to the other, so no need to subscribe to both.

Die Channels von den Ubuntuentwicklern erreicht man hier:

Quelle: heise open

Da ich zur Zeit mit KDE SC 4.4 unterwegs bin und die Desktopumgebung für eine längere Zeit ausgiebig testen möchte, will ich auch den hauseigenen Musikplayer Amarok benutzen. Zuvor hatte ich Banshee zum Musik hören verwendet. Eigentlich kann man mit Banshee ziemlich leicht Lieder mit der  jeweiligen Bewertung „exportieren“, indem man alle Lieder mit fünf, vier, drei usw. Sternen per intelligenten Wiedergabeliste anzeigen lässt und diese Liste dann als Datei abspeichert. Leider bekam ich eine Fehlermeldung und so musste ich mich mit der SQLite-Datenbank herumschlagen.

Über einen englischen Blogbeitrag hatte ich in vergangener Zeit einmal den Dateipfad der Lieder verändert. Also habe ich mir die Syntax etwas genauer angeschaut und dementsprechend angepasst:

sqlite3 -header ~/.config/banshee-1/banshee.db "select Uri from CoreTracks WHERE Rating LIKE '5' " \; > 5sterne.m3u

Der Befehl erstellt eine Datei namens 5sterne.m3u, die die Pfade der Musikdateien enthält, die in der Datenbank unter Rating eine 5 stehen haben. Diese Wiedergabeliste importiert man nun in Amarok, wählt anschließend alle Lieder aus und bewertet diese mit fünf Sternen. Den Vorgang wiederholt man dann mit der entsprechenden Anpassung an der Bewertung.

Da noch nicht 100% feststeht ob Ubuntu 10.04 die aktuellste Version des Intel-Grafiktreibers ausliefern wird (momentan ist es noch die Version 2.9.1) und diese Version einige wichtige Verbesserungen und Bugfixes hinsichtlich dem Kernel-Mode-Setting (kurz KMS) und der Unterstützung aktuellerer Chipsätze mit sich bringt, habe ich mir mal die Arbeit gemacht und ein PPA mit der aktuellsten Git-Version des Intel-Treibers für Lucid erstellt.

Das Paket basiert auf der aktuellsten Git-Version (Stand 27.02.2010). Das Paket wurde so gepatcht das es keine weiteren zusätzlichen Pakete aus einem anderen PPA benötigt. Im Gegensatz zur Git-Version aus dem Xorg-Edgers-PPA, kompiliert diese Version auch sauber und fehlerfrei mit dem “libdrm”-Paket aus Lucid. Ich habe nur die fehlenden Funktionen aus den libdrm-Header-Dateien per Hand nachgerüstet (Siehe auch Changelog des PPA-Pakets)

Der Treiber funktioniert auf meinem Notebook (Dell Latitude D505) mit einem Intel 855GM-Chipsatz fehlerfrei. Dank eines passenden Kernel-Patches kann man sogar den Xv-Overlay-Modus benutzen. Dies funktioniert bei der Treiber-Version 2.9.1 nur wenn man auf das Kernel-Mode-Setting verzichtet, was aber seit der Version “2:2.9.1-1ubuntu4″ des Lucid-Pakets nicht mehr möglich ist.

Der einzige kleine Makel des Treibers ist das Fehlen eines Ubuntu-Patches, welcher einen sauberen Übergang vom Plymouth-Bootscreen auf den Login-Manager ermöglicht (Ubuntu-Logo blendet sanft in Login-Manager über). Diesen konnte ich wegen der sehr großen Änderungen zwischen Version 2.9.1 und 2.10 nicht ohne weiteres übernehmen. Ich bin aber daran auch diesen in den Treiber zu integrieren.

PPA -Intel Driver 2.10git

Update 07.03.2010 :

Wer den Xv-Overlay-Modus auf der 8xx-Chipsatzbaureihe unter Lucid benutzen möchte, braucht keine Patches mehr einzuspielen. Lucid bringt ab der Kernel-Version 2.6.32-16 einen Backport des kompletten DRM-Stacks des Kernels 2.6.33 mit sich. Das heißt zusammen mit einer Intel-Treiberversion 2.10 oder höher kann man dann automatisch den Xv-Overlay-Modus benutzen. Das Patchen des Kernels ist somit unnötig geworden.

Software Center

Software Center

Vor einiger Zeit habe ich hier ja schon über den Software Store berichtet gehabt, mittlerweile hat er einen anderen Namen und unter der Haube tut sich genauso wie an der GUI auch immer mal wieder was. In der Alpha Version von Ubuntu 10.04 sieht man schon die aktuellen Neuerungen. So muss man jetzt nicht mehr in die Detailansicht eines Programms/Pakets gehen sondern kann direkt oben auf Installieren klicken.

Das spart vor allem bei Neuinstallationen des OS viel Zeit. Außerdem gibt es auch explizit den Navigationspunkt mit von Canonical unterstützten Paketen. Den Pfad, also in welcher Unterkategorie man sich befindet, sieht man nun deutlicher und auch anklickbar. Die Bewertungsfunktion mit einem einfachen Sterne System von 0 bis 5 Sternen und die Kommentarfunktion sind implementiert. Kommentare heißen Reviews und man bekommt auch direkt angezeigt wie viele schon zu dem entsprechenden Programm geschrieben wurden. Es gibt ja nach wie vor auch die Anzeige des Preises in den Detailansicht. Dort habe ich bisher jedoch nur kostenlose Angaben gefunden. Die Zeile mit der Preisangabe ist aber viel zu klein geschrieben finde ich. Und man sieht bisher auch keine Funktion über die man bezahlen könnte. Da fände ich, muss sich noch einiges tun. Aber das wird ja spätestens mit den ersten kostenpflichtigen Angeboten ergeben. Man sieht aber es geht weiter und steht nicht still. Und ich finde die Entwicklung bisher ganz gut.

Software Center Bildschirmfoto-4 Bildschirmfoto-5 Bildschirmfoto-6

Ähnliche Artikel:

  1. Ubuntu Software Center nun mit PPA’s
  2. Update des Ubuntu Software Stores
  3. Ubuntu Software Store jetzt schon nutzen
  4. Der Ubuntu Software Store – Zukunftsmusik?
  5. Der Ubuntu Netbook Remix (UNR) auf dem EeePC

Im April und Mai ist es wieder soweit, die Veranstaltungen der Linuxwochen touren durch ganz Österreich und gastieren in verschiedenen Städten des Landes. Nach dem unlängst die Veranstaltung in Graz, die Grazer Linux-Tage nach Beiträgen und Projektausstellern gerufen hat, ist heute Wien an der Reihe. Ich hatte letztes Jahr auf dieser Veranstaltung 2 Workshops und werde wohl auch für dieses Jahr wieder Vorträge oder Workshops einreichen. Also Vienna Calling

21. Februar 2010

Wären Handys nicht viel weiter entwickelt, wenn die großen Hersteller genau so engagiert an Neuerungen arbeiten würden, wie die Programmierer des XDA-Developer-Forum?

Der Programmierer Fatsal hat es geschafft Ubuntu 8.04 auf das Spartphone Sony Ericsson Xperia X1 zu portieren.  Der Gesamte Gnome-Desktop ist aktiv Der Linux Kernel läuft mit einer Geschwindigkeit eines langsamen Netbooks schreibt der Programmierer.

Die ein oder andere Anwendung hat er ebenfalls zum laufen gebracht. Darunter den Webbrowser Firefox und die Textverarbeitung Abiword. Es soll ebanfalls das WLAN laufen, jedoch mit Konfigurationsproblemen.

Wer Ubuntu auf seinem Smartphone testen will, kann hier das  Tar-Gz-Archiv downloaden. Welches dann wahlweise auf einer SD Karte entpackt  wird. Mittels einer EXE-Datei starte auf der Windows-Oberfläche der Kernel. Die Benutzeroberfläche startet mit dem Befehl “startx”. Nach einem Reboot erscheint wieder Windows.

Besonders an einem Wartungsfenster ist die Enable/Disable-Funktion von Hobbit sehr hilfreich.
Schliesslich soll Hobbit ja nicht gleich jedes mal die Kavallerie alarmieren, nur weil während ein paar Wartungsarbeiten ein Server mal nicht verfügbar ist.
Doch bevor man Funktionen per WebGUI verwalten kann, muss man sich ein Passwort und einen berechtigten User setzen.

Dazu verwendet man am einfachsten htpasswd:

1
sudo htpasswd -c /etc/hobbit/hobbitpasswd admin

Nun gibt man zwei Mal das gewünschte Passwort ein, und schon ist die Arbeit getan.
Nun kann man auf seinem Hobbitserver das WebGUI aufrufen und unter Administration > enable/disable zuerst den Server, und dann den gewünschten Server oder auch gleich alles deaktivieren. Einloggen kann man sich mit dem Benutzernamen admin und dem eben gewählten Passwort.

Weiter kann man noch einen Grund vermerken und je nach Dauer zwischen automatischem oder manuellem reaktivieren der Überwachung wählen.

Ganz praktisch ist auch der letzte Punkt, mit welchem man das Deaktivieren der Überwachung auf die Minute genau 5 Jahre im voraus planen kann :)

Ubuntu 10.04 Theme

Ubuntu 10.04 Design

[EDIT] Das in diesem Artikel beschriebene Theme ist lediglich ein Vorschlag und nicht das endgültige Theme. Dies war ein Fehler meinerseits! SORRY! [/EDIT]

Laut Mark Shuttleworth wird es in Ubuntu 10.04 Lucid Lynx nun doch mal ein überarbeitetes Theme geben. Bei den Standard Ubuntu Themes hat sich ja in den letzten Jahren nicht wirklich viel getan. Dies soll sich nun mit der neuen LTS Version wieder ändern. Bisher sieht man schon die ersten Mockups und  Artworks. Das neue Theme soll dann wieder für die nächsten 5 Jahre erhalten bleiben. Dabei wird es aber nicht wie bisher bei einem Standard Theme bleiben, es sollen viel mehr 3 ähnliche Themes entstehen.

Diese hören auf die Namen Dawn, Day and Dusk, was soviel wie Morgengrau (Dawn), Tag (Day) und Abenddämmerung (Dusk) bedeutet. Die Icons sind bisher noch genauso wie beim alten Theme auch. Man sieht auch erst mal außer den Fenstern nicht all zu viel.  Insgesamt sollen sich aber auch Programme wie Pidgin mehr an die Oberfläche anpassen, dass sieht man hier.

Momentan werden auch neue Wallpaper gesammelt auf Flickr, da sind schon einige schöne dabei die evtl. auch interessant sind wenn sie es nicht in die Ubuntu Version schaffen. Momentan ist das aber alles noch nicht fertig und e wird noch fleißig dran gearbeitet. Ich habe auch gewisse Probleme damit klar zu kommen, dass so ein Design ewig bleiben soll. Ich fände es besser wenn es immer mal wieder kleine Änderungen gibt oder auch mal größere. 5 Jahre sind in der IT Branche eben ne ganze Menge Holz, wo man nicht einfach immer das Design gleich lassen kann. Aber das man andere Programme noch mehr mit einbezieht finde ich sehr gut. Das ist auch jetzt schon meiner Meinung nach ein großer Vorteil das sich fast alles Nahtlos einbindet und es wie aus einem Guss aussieht. Wie seht ihr das?

00 mix_title_menu 02 hover 03 context 04 app 4375304316_7ca489a61c_b Ubuntu 10.04 Theme screenshot-ubuntu-dawn-v5

Ähnliche Artikel:

  1. Transparentes Theme in Ubuntu 10.10 Maverick Meerkat?
  2. Ubuntu Software Center entwickelt sich weiter
  3. Simple Scan als Standard in Ubuntu 10.04
  4. Entwicklung von Ubuntu 10.04 Lucid Lynx startet
  5. Der Ubuntu Software Store – Zukunftsmusik?

Gerade als ich nach langer Zeit mal wieder in meinen Google Wave Account geschaut habe, fiel mir auf, dass ich plötzlich 19 Invites frei habe, obwohl ich damals schon alle verscherbelt hatte. Ich habe keinen blassen Schimmer wo diese herkommen, aber einen geschenktem Gaul schaut man nicht ins Maul ;) . Wem also Google Wave noch nicht zu altmodisch ist und noch nicht in den Genuss eines Accounts kommen durfte, der braucht hier nur einen Kommentar zu schreiben, dann stelle ich eine Einladung aus. :)


Im Dropbox-Blog gibt es ein paar interessante Statistiken zur Software, neben der Verbreitung in Ländern (Deutschland auf Platz 3 mit 6,5%) gibt es auch eine Verbreitung nach Betriebssystemen. Gut, dass Windows dort klar vorne liegt war nicht anders zu erwarten, den Anteil reiner Linux-Systeme hätte ich jedoch durchaus etwas höher geschätzt.

66.1% Windows only
20.9% Mac only
2.0% Linux only
7.4% Windows and Mac
2.6% Windows and Linux
0.3% Mac and Linux
0.7% All three

Außerdem gibt es mal wieder eine neue Dropbox-Version, die wohl noch nicht über das automatische Update ausgeliefert wird. Bei mir läuft jedenfalls noch Version 0.7.79, die letzte Stable Build trägt die Versionsnummer 0.7.106. Außerdem gibt es eine neue Experimental Build (0.8.3) für alle, die gerne Testen.

Die stabile Version gibt es für 32-bit und 64-bit Linux zum Download.

Damit die Dropbox fehlerfrei aktualisiert werden kann sollte man diese zuvor abschalten. Das geht am einfachsten mit einem Rechtsklick auf das Icon im Panel und dann einen Klick auf “Stop Dropbox”. Danach sollte am besten der alte .dropbox-dist-Ordner im home des Benutzers umbenannt werden, damit man für den Fall der Fälle noch eine Sicherung des Ordners hat.

Die neue Version entpackt man nach dem Download ins Home-Verzeichnis mit dem Befehl
tar xzf dropbox-lnx.x86-0.7.106.tar.gz (32-bit–Version)
bzw.
tar xzf dropbox-lnx.x86_64-0.7.106.tar.gz (64-bit-Version)

Danach sollte sich die Dropbox wieder starten lassen.

Seit Jahren verwende ich einigermassen zufrieden Firefox als Standardhilfsmittel für den Zugang zum Netz der Netze. Mit Webkit und HTML5 kam der Gedanke auf doch mal wieder Alternativen auszuprobieren…

Selbige waren Epiphany, Midori und Chromium, jeweils aus den aktuellen PPAs (gibt es für Chromium eigentlich neben dem “daily” auch ein “stable”-Repository?).

Diese Aktion gehört in die Kategorie “nicht alles läuft perfekt, auch nicht mit Linux”: Die Standardversion von Epiphany in Ubuntu Karmic hatte hier Probleme mit Favicons (es gab sie schlichtweg nicht), die PPA-Version stellt die kleinen Bildchen wieder dar, stürzt aber in unregelmässigen Abständen ab und fühlt sich subjektiv langsamer (!) als der Feuerfuchs an, hauptsächlich auf Seiten mit vielen verschachtelten HTML-Elementen.

Midori: Fühlt sich bei Benutzung eigentlich recht gut an, die Geschwindigkeit ist auch in Ordnung, verabschiedet sich hier leider auch unverhofft mit Programmabsturz.

Chromium: Sehr, sehr seltsam, überall lese ich über diesen stabilen Browser, die überragende Geschwindigkeit und überhaupt – Chromium soll der neue Stern am Browserhimmel sein. Leider gesteht mir Chromium aus dem Daily-PPA nur etwa zwischen 10 und 30 Sekunden Benutzung zu und verabschiedet sich dann mit “Segmentation fault”. Sehr schade, gerade Chromium hätte mich wirklich interessiert.

Leider war in dieser Form keiner dieser Browser für mich benutzbar, im nächsten Schritt geht es an dei Fehlersuche – irgendwie vermute ich Webkit als den Übeltäter aber wer weiss…

Moin liebe Lesergemeinde,

das Stichwort heißt eyeos. Eyeos ist wie die Überschrift schon sagt ein Betriebssystem für den Browser. Das System ist Open Source und setzt auf PHP und Javascript (AJAX Technik) auf.

Testen kann man dies auf einem Testserver. Installieren lässt sich das System natürlich auch auf dem eigenen Server installieren. Zum Testen am Heimischen Computer (wenn man dem Testserver nicht vertraut), kann man sich auch ein fertiges Virtualbox Image herunterladen, dieses beinhaltet eine vollständige Linux Distri mit Browser und eyeos -Installation (Download).

Mittlerweile gibt es auch schon eine große Anzahl an installierbaren Programmen. Des Weiteren läuft eyeos deutlich flüssiger als noch vor einem Jahr, als ich es das erste Mal getestet habe. Wahrscheinlich liegt das zum Großteil aber auch an den Weiterentwicklungen der Browser, die ihre Javascript Engines ständig verbessern.

Man kann sehr gut mit dem System arbeiten, es bietet vieles, was ein normales OS auch bietet. Der große Vorteil liegt darin, dass man überall wo man einen Browser und ein Internetzugang zur Verfügung hat über das gleiche OS (Daten, Einstellungen, etc) arbeiten kann.

Was haltet ihr davon? Werden solche Systeme mittel-/langfristig normale OSen ersetzen, oder ist das eher unpraktikabel mit einem solchen System zu arbeiten?

Vor ein paar Tagen hatte ich über den Inhalt des aktuellen Ubuntu User Magazin geschrieben. Unter anderem Stand bei dem Punkt News dabei “Support für Ubuntu 8.04 läuft aus”. Ein Besucher meines Blogs schrieb dann ein Kommentar, wo er richtigerweise erwähnt hat, dass der Support noch bis April 2011 läuft. Doch warum dann diese Überschrift?

Dieses Wochenende bekam ich endlich das neue Ubuntu-User Magazin per Post.

Nun habe ich mir den Artikel durchgelesen und muss sagen, dass die Überschriften wirklich sehr schlecht gewählt sind in diesem Fall. Denn was in diesem Artikel erwähnt wird ist, dass der letzte Snapshot für Ubuntu 8.04 veröffentlicht wurde. Natürlich wird es auch weiterhin Updates für diese LTS-Version geben und zwar für die Desktop Version bis April 2011 und für die Serverversion bis April 2013. Warum die Überschriften so gewählt wurden ist mir leider völlig schleierhaft.
Ich hoffe damit diesem Missverständnis ein Ende bereitet zu haben.

Viele Sendungen des deutsch/französischen Kultursenders ARTE kann man im Internet unter ARTE+7 nach Ausstrahlung sieben Tage lang kostenlos ansehen. Aufgrund der Sender-Lizenzen ist der Service jedoch nur aus Frankreich, Deutschland, Belgien, Österreich und der Schweiz erreichbar. Die ARTE-Page ist eine ziemliche Flash-Wüste und dementsprechend leider ziemlich langsam. Der Schweizer Informatik-Student Simon Wenner hat nun für Totem ein Plugin entwickelt, über das man die ARTE+7 Video-Streams bequem mit Totem abspielen kann.

Ihr könnt das Plugin ab Ubuntu “Karmic Koala” 9.10 bequem aus einem PPA installieren. Die beiden Quellen sind recht harmlos. Die eine Quelle enthält nur das Plugin, die andere Vala-Komponenten, die eigentlich selten genutzt werden. Ihr könnt die Quellen daher ohne Risiko einsetzen. Öffnet dazu ein Terminal und führt folgende Befehle aus…

$ sudo add-apt-repository ppa:vala-team # Nur bei Karmic nötig
$ sudo add-apt-repository ppa:malaria/ppa
$ sudo apt-get update

…das erste PPA braucht Ihr NUR bei Karmic. Diese Quelle enthält ein Paket, das vom totem-arteplus7-plugin benötigt wird. Solltet ihr bereits mit Lucid unterwegs sein, dann braucht Ihr die vala-team-Quelle nicht zu eurer Paketverwaltung hinzufügen. Je nach Ubuntu-Version installiert ihr dann via…

$ sudo apt-get install totem-arteplus7-plugin # Bei Ubuntu Karmic
$ sudo apt-get install totem-plugin-arte  # Bei Ubuntu Lucid

…das passende Paket.

Das ARTE+7 Plugin in Totem aktivieren

Das ARTE+7 Plugin in Totem aktivieren

Nach der Installation startet ihr Totem und aktiviert über “Bearbeiten -> Plugins” das neue Plugin. Vergesst nicht in die Einstellungen des Plugins zu gehen und die Sprache auf Deutsch umzustellen. Danach könnt Ihr in der Seitenleiste “Arte+7″ auswählen und Sendungen suchen bzw. die letzten Sendungen direkt abspielen.

Totem zeigt TRACKS auf ARTE+7

Totem zeigt TRACKS auf ARTE+7

Leider basieren die Video-Streams auf Adobe Flash. Daran ändert auch das Totem-Plugin nichts. Die CPU auf meinem Testrechner (ein Athlon X2 2Ghz) wird zu rund 70% ausgelastet. Genauso wie Zattoo erzeugt auch dieser Video-Stream kräftig CPU-Last. Der Vorteil des Plugins ist jedoch definitv die Vollbild-Ansicht. Hier ruckelt – im Gegensatz zu ARTE+7 im Browser – nichts.

Ich habe mich hier geirrt (zum Testzeitpunkt hing das Flashplugin mit hoher Last im System fest…) Die ARTE+7 Videos basieren auf WMA Streams. Das Plugin spielt die Videos bei sehr geringer Last ab.

20. Februar 2010

Klingt banal, wird aber des öfteren benötigt. Wenn man (legal) einen Film aus dem Internet herunterlädt und dieser in mehrere Parts aufgeteilt ist, kann man diese mit ein paar Handgriffen schnell zusammenfügen.

Nach dem Zusammenfügen:

Bevor man die heruntergeladenen Teile löscht, sollte man den zusammengesetzten Film durchschauen, ob auch wirklich alles seine Richtigkeit hat – also evtl. die MD5-Hashsumme überprüfen. Ansonsten könnte das Ergebnis fehlerhaft bis unbrauchbar sein.

In vielen Fällen ist es ausreichend die Datei mit cat zusammenzufügen. Man sollte es testen. Wenn das Resultat nicht stimmt, einfach zum nächsten Punkt gehen.

cat aufnahme1.avi aufnahme2.avi aufnahme3.avi > aufnahme_komplett.avi

AVI’s zumsammenfügen

Als erstes muss das Paket transcode-utils installiert werden. Dies geschiet mit dem Befehl:

sudo apt-get install transcode-utils

Dann folgenden Befehl in einem Terminal eingeben:

avimerge -o "Der Film.avi" -i derfilm-xvid_teila.avi derfilm-xvid_teilb.avi

Das wars… Weitere Parameter findet Ihr hier.

MPEG’s zumsammenfügen

Das Paket mpeg3-utils muss installiert werden:

sudo apt-get install mpeg3-utils

Das Zusammenführen der Filmteile erfolgt mit diesem Befehl:

mpeg2cat aufnahme1.mpg aufnahme2.mpg aufnahme3.mpg > aufnahme_komplett.mpg

Virtualbox läuft bei mir unter Ubuntu Hardy, um darin mit einem Windows XP zu spielen. Heute wollten sich keine Images mehr einbinden lassen, direkt nach dem Update auf die 3.1.4, es erschien immer die Meldung:

Could not mount the media/drive '/usr/share/virtualbox/VBoxGuestAdditions.iso' (VERR_DEV_IO_ERROR).

Result Code: 
NS_ERROR_FAILURE (0x80004005)
Component: 
Console
Interface: 
IConsole {6375231a-c17c-464b-92cb-ae9e128d71c3}
Callee: 
IMachine {99404f50-dd10-40d3-889b-dd2f79f1e95e}

Als Lösung öffnet man die Festplatteneinstellung der Maschine, wählt das CD/DVD-Laufwerk aus und in dem Dropdown-Menü auf der rechten Seite als CD/DVD-Laufwerk "leer" (via).

Es ist nun schon eine ganze Weile her seit ich zum letzten Mal über mein Mailserversetup geschrieben habe. In den letzten vier Blogartikeln wurde das Zusammenspiel der Grundkomponenten mit Dovecot, Exim, OpenLDAP und getmail konfiguriert. Jetzt geht es ans Feintuning – das Einrichten eines Spamfilters mit dspam und dovecot-antispam.

Weshalb dspam?

Warum dspam wird vielleicht manch einer fragen und nicht das weitverbreitetere spamassassin? Ich habe mich für dspam entschieden, weil es anders als Spamassassin nicht regelbasiert ist. Spamassassin legt bestimmte Regeln fest, nach denen Punkte vergeben werden und kombiniert dies mit lernenden Elementen (je nach Konfiguration). Regelbasiertes Filtern von Nachrichten hat einen Vorteil: Man hat einen sofort einigermaßen brauchbaren Spamfiltern. Einigermaßen sage ich deswegen, weil natürlich statische Filter so allgemein sein müssen, dass sie für den eigenen spezifischen Spamschutz nicht maßgeschneidert sein können. Man wird damit, wenn man die Regeln auch noch ein bischen für sich anpasst weit kommen, allerdings sind dem Grenzen gesetzt. Mit dspam setze ich auf einen Spamfilter, der rein auf adaptives Lernen setzt und dabei modernste Algorithmen einsetzt. Das hat zwar den Nachteil, dass es eine Lernphase braucht und deshalb anfangs einen relativ hohen Anteil von Spam/Ham nicht richtig klassifiziert, mit der Zeit jedoch erhält man einen auf die persönlichen Bedürfnisse maßgeschneiderten Spamfilter. Diese Argumentation findet sich übrigens auch in der DSPAM FAQ. Ob das jetzt tatsächlich so ist, wird sich bei mir im Praxistest zeigen. Ich werde berichten..

Das Spamfilter-Setup im Überblick

In diesem Abschnitt möchte ich einen Überblick darüber geben, wie sich dspam in die Grundkonfiguration einfügt. Zunächst wird jede Nachricht, die exim zustellt, vor der Übergabe an den dovecot local delivery agent (LDA) von dspam analysiert und das Ergebnis im Mailheader festgehalten. Per Sieve-Filterregel kann man dann die Spammails in den Spamordner verschieben lassen. Wenn eine Mail falsch klassifiziert ist, kann man sie – falls es sich richtigerweise um Spam handelt – an spam@myserver oder andernfalls an ham@myserver schicken. Auf Dauer wäre das jedoch sehr aufwendig. Deswegen gibt es dovecot-antispam, ein Plugin für dovecot, welches beim Verschieben von Nachrichten in den Spamordner diese an spam@myserver schickt bzw. beim Verschieben von Nachrichten aus dem Spamordner in normale Ordner (nicht den Papierkorb) diese an ham@myserver schickt. DSpam kann die nutzerspezifischen Daten auf verschiedene Weisen speichern. In diesem Howto wird MySQL als Backend für dspam genutzt.

Installation und Kompilieren benötigter Pakete

So, beginnen wir mit einer kleinen Korrektur unserer Exim-Installation, die später bei der Prüfung von Paketabhängigkeiten wichtig wird. Wir installieren nämlich das Paket exim, welches auf eines der verschiedenen exim-Pakete verweist (wir haben im dritten Teil des Howtos den exim4-daemon-heavy installiert). Zusätzlich benötigen wir noch MySQL, das Dovecot-Antispam Plugin und dbconfig-common zur Einrichtung eines MySQL-Benutzers. Bei der Installation wird übrigens nach dem MySQL-Root-Passwort gefragt, bitte dieses unbedingt merken, denn wir benötigen es später noch.

sudo apt-get install exim4 dovecot-antispam mysql-server dbconfig-common

Im nächsten Schritt installieren wir dspam. Ich habe mich allerdings dafür entschieden, nicht die in den Repositories erhältliche Version 3.6.8 zu verwenden, sondern selbst die Pakete für die Version 3.9.0 RC2 zu erstellen. Dabei bin ich analog zu der Beschreibung von Jason Axley vorgegangen

sudo apt-get install build-essential
sudo apt-get build-dep dspam

Glücklicherweise gibt es einen aktiven Debian-Nutzer, der quasi alles (Sourcen+Patches) in einem Repository öffentlich zur Verfügung stellt unter http://packages.kirya.net/debian/pool/main/d/dspam/ (übrigens gibt es auch eine Anleitung auf kirya.net). Von dort laden wir nun die Quelldateien und Patches herunter, entpacken sie und wechseln in das Unterverzeichnis dspam

wget http://packages.kirya.net/debian/pool/main/d/dspam/dspam_3.9.0~rc2+git20091231.orig.tar.gz
wget http://packages.kirya.net/debian/pool/main/d/dspam/dspam_3.9.0~rc2+git20091231-1.debian.tar.gz
tar xvzf dspam_3.9.0~rc2+git20091231.orig.tar.gz
tar xvzf dspam_3.9.0~rc2+git20091231-1.debian.tar.gz -C dspam
cd dspam

Dann editieren wir die Datei debian/control, um die Paketabhängigkeiten so zu verändern, dass auch exim als Delivery Agent akzeptiert wird. Wir ergänzen deshalb in der depends-Zeile exim. Aus

Package: dspam
Architecture: any
Depends: ${misc:Depends}, procmail | maildrop | courier-maildrop | sensible-mda, lsb-base (>= 3.0-6), ${shlibs:Depends}

wird dann

Package: dspam
Architecture: any
Depends: ${misc:Depends}, exim4 | procmail | maildrop | courier-maildrop | sensible-mda, lsb-base (>= 3.0-6), ${shlibs:Depends}

Nun können wir die Binärpakete erstellen und installieren mit

fakeroot debian/rules binary
cd ..
sudo dpkg -i dspam_3.9.0~rc2+git20091231-1_i386.deb libdspam7_3.9.0~rc2+git20091231-1_i386.deb libdspam7-drv-mysql_3.9.0~rc2+git20091231-1_i386.deb dspam-doc_3.9.0~rc2+git20091231-1_all.deb

Dabei werden wir gefragt, ob die Datenbankkonfiguration jetzt oder manuell (später) erfolgen soll. Wir wählen die erste Option. Nun wird nach dem MySQL-Passwort von oben gefragt, das wir eingeben. Das Passwort für dspam können wir automatisch festlegen lassen.

Konfigurationsdateien

Ich habe mir die Mühe gemacht und die im Vergleich zur Standardkonfiguration, die in den Teilen (1) bis (4) beschrieben wurde, angepassten Dateien in einem Archiv zusammenzupacken. Dieses Archiv ist damit kein Ersatz für das dort aufgeführte Paket der Konfigurationsdateien, sondern vielmehr eine Ergänzung. Wichtige Anmerkung: Die Konfigurationsdateien können immer nur Ausgangspunkt für die eigene Konfiguration sein u.a. auch deshalb, weil die Berechtigungen für diese Dateien angepasst werden müssen!

Konfiguration von dspam

Jetzt machen wir uns ans Eingemachte, der Konfiguration von dspam, welches leider keine sehr ausführliche Dokumentation bietet. Es gibt jedoch eine kurze Quick-and-Dirty Anleitung von der dspam-user Mailingliste und in der Readme unter /usr/share/doc/dspam/README.gz sind auch einige Informationen zu finden. Außerdem fand ich die Kommentare in einer weiteren Anleitung sehr hilfreich. Wir passen zunächst das MySQL-Datenbankschema an. Ich bevorzuge nämlich das geschwindigkeitsoptimierte Datenbankschema gegenüber dem speicherplatzoptimierten, welches standardmäßig installiert wird. Deshalb habe ich mit

mysql -u root -p -e "drop database dspam; create database dspam; GRANT SELECT, INSERT, UPDATE, DELETE ON dspam.* to dspam@localhost identified by '$(sudo cat /etc/dspam/dspam.d/mysql.conf | grep MySQLPass | cut -f3)';"

erstmal das komplette dspam -Schema gelöscht und neu erzeugt. Dazu wird natürlich wieder das MySQL root Passwort von oben benötigt. Anschließend installieren wir mit

mysql -u dspam -p$(sudo cat /etc/dspam/dspam.d/mysql.conf | grep MySQLPass | cut -f3) dspam < /usr/share/doc/libdspam7-drv-mysql/sql/mysql_objects-speed.sql

das geschwindigkeitsoptimierte Datenbankschema. Wer alternativ doch das speicherplatzoptimierte Schema verwenden will, installiert es mit einem

mysql -u dspam -p$(sudo cat /etc/dspam/dspam.d/mysql.conf | grep MySQLPass | cut -f3) dspam < /usr/share/doc/libdspam7-drv-mysql/sql/mysql_objects-space.sql

Nun schaffen wir die Voraussetzungen dafür, dass virtuelle Benutzer verwendet werden können. Ich habe mich dafür entschieden, dass Datenbankschema so einzurichten, dass nicht existierende Benutzer automatisch angelegt werden.

mysql -u dspam -p$(sudo cat /etc/dspam/dspam.d/mysql.conf | grep MySQLPass | cut -f3) dspam < /usr/share/doc/libdspam7-drv-mysql/sql/virtual_users.sql

Wer alternativ die Benutzer manuell anlegen will, führt stattdessen

mysql -u dspam -p$(sudo cat /etc/dspam/dspam.d/mysql.conf | grep MySQLPass | cut -f3) dspam < /usr/share/doc/libdspam7-drv-mysql/sql/virtual_user_aliases.sql

aus. Jetzt passen wir die Datei /etc/dspam/dspam.d/mysql.conf so an, dass wir virtuelle Benutzer nutzen und die Verbindung von dspam zu MySQL über einen Unix-Socket hergestellt wird (Passwort – hier donotchange – unbedingt so lassen, wie es voreingestellt ist). Mit der Option MySQLUIDInSignature legen wir fest, dass in der DSPAM-Signatur der Benutzer gespeichert wird, für den die Spam-Klassifizierung durchgeführt wurde, so dass zwei serverweite Mail-Adressen (hier ham@ und spam@) ausreichen, um die Mail umzuklassifizieren.

MySQLServer             /var/run/mysqld/mysqld.sock
MySQLUser               dspam
MySQLPass               donotchange
MySQLDb         dspam
MySQLReconnect          true
MySQLVirtualTable               dspam_virtual_uids
MySQLVirtualUIDField            uid
MySQLVirtualUsernameField       username
MySQLUIDInSignature     on

Auch die Datei /etc/dspam/dspam.conf muss angepasst werden. Wir legen secmail, der Benutzer, unter dem der Dovecot LDA Mails zustellt und mit dem später dspam von exim aufgerufen wird, als vertrauenswürdigen Benutzer fest und schließen außerdem die Konfigurationsdateien im Verzeichnis /etc/dspam/dspam.d mitein. Zudem soll die dspam-Signatur nur im Header sein, was mit der Preference  signatureLocation eingestellt wird. Die Bedeutung der einzelnen Preference-Optionen wird im dspam-Wiki erklärt. Der Standardpfad für dspam.pid muss aufgrund von Berechtigungsproblemen korrigiert werden. Wir ergänzen bzw. ändern deshalb folgende Zeilen

# Trust user secmail
Trust secmail
 
# Changed to only have MessageIDs in the header
Preference "signatureLocation=headers"
 
# Change dspam.pid location to
ServerPID               /var/run/dspam/dspam.pid
 
# dspam only has to work together with the dspam client in our configuration
ServerMode dspam
 
# Authetication password required for dspam client
# change secret to something else!!
ServerPass.Relay1      "secret"
 
# Use local unix socket to minimize overhead
ServerDomainSocketPath "/tmp/dspam.sock"
 
# Parameters used by dspam client to connect  to the server
# change secret to the password you have chosen above..
ClientHost     /tmp/dspam.sock
ClientIdent    "secret@Relay1"
 
# Include config files from /etc/dspam/dspam.d
Include /etc/dspam/dspam.d/

Als nächstes editieren wir /etc/default/dspam und setzen die Variable START auf YES, damit dspam im Daemon-Mode beim Hochfahren des Systems gestartet wird.

# Variables for dspam.
#
# Do start dspam.
START=yes

Das Startskript für dspam wird angepasst, da dspam nicht automatisch in den Hintergrund geht. Deshalb editieren wir /etc/init.d/dspam und ergänzen die Option –background. Aus

        start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER --exec $DAEMON -- $DAEMON_ARGS \
        || return 2

wird somit

        start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER --exec $DAEMON --background -- $DAEMON_ARGS \
        || return 2

Jetzt fügen wir noch den Benutzer secmail zur Gruppe dspam hinzu, damit es beim Aufruf von exim, der unter dem Nutzer secmail erfolgt, keine Berechtigungsprobleme gibt.

sudo adduser secmail dspam

Nun können wir dspam im Daemon-Modus testen, indem wir es via

sudo dspam --debug --daemon

aufrufen, um es via Strg-C nach einer Minute beenden. Ob es Probleme gibt, sollte man anhand der Logdateien im Verzeichnis /var/log/dspam und der Syslog verfolgen. Wenn das soweit geklappt hat, starten wir dspam dauerhaft mit

sudo service dspam start

Nun prüfen wir das Zusammenspiel von Client und Server und legen gleichzeitig einen Benutzer namens globaluser an. Diesen Benutzer benötigen wir, da dspam beim Reklassifizieren einer Mail die Angabe eines Parameters –user mit gültigem User verlangt, selbst wenn es eigentlich anhand der dspam-Signatur auf den Benutzer schließen könnte, für den die Mail klassifiziert wurde. Ryan Kolak beschreibt dieses Problem ausführlicher, das schon häufiger diskutiert wurde und bei dem es sich meiner Meinung nach um einen Bug handelt (Fehlermeldung:  Unable to determine the destination user). Wenn wir den Befehl

echo Subject:test | sudo -u secmail dspam --client --debug --mode=notrain --user globaluser --deliver=spam,innocent --stdout

ausführen und anschließend die dspam-Statistik mit

sudo dspam_stats

abrufen, sollten wir folgendes Ergebnis erhalten

globaluser        TP:     0 TN:     1 FP:     0 FN:     0 SC:     0 NC:     0

Falls Fehler aufgetreten sind, werden diese in den obigen Logdateien bzw.der Syslog festgehalten. Die Konfiguration von dspam ist nun abgeschlossen. Einen kleinen Tip zu dspam von der dspam-user Mailingliste, möchte ich aber noch loswerden. Mit

strings $(which dspam) | grep build

lässt sich feststellen, welche Parameter beim Kompilieren von dspam verwendet wurden. Das kann hilfreich sein, denn bei dspam werden viele Optionen schon beim Kompilieren festgelegt.

Anpassung der exim-Konfiguration

Jetzt machen wir uns daran, Exim zu konfigurieren. Hier habe ich mich an der Anleitung von Robert Fendt und einer Dokumentation in einem Forum orientiert. Zunächst fügen wir zu den bestehen Transporten an die lokalen Mailboxen zwei Zeilen hinzu. Der transport_filter leitet die Nachrichten durch den Spamfilter während die headers_remove Zeile dazu führt, dass in der Nachricht vorhandene DSpam-Header entfernt werden, so dass diese Header tatsächlich nur von dspam stammen können. Wir editieren also die beiden Dateien /etc/exim4/conf.d/transport/30_exim4-config_dovecot_delivery_pipe und /etc/exim4/conf.d/transport/30_exim4-config_dovecot_delivery_pipe_secmail und ergänzen die beiden erwähnten Zeilen:

  driver = pipe
  transport_filter = /usr/bin/dspam --deliver=innocent,spam --user "GET_LOCAL_MAIL" --stdout
  headers_remove = X-DSPAM-Result:X-DSPAM-Processed:X-DSPAM-Confidence:X-DSPAM-Probability:X-DSPAM-Signature
  command = /usr/lib/dovecot/deliver -d "GET_LOCAL_MAIL"

Jetzt müssen wir noch die beiden Mail-Adressen spam@myserver und ham@myserver einrichten. Natürlich sollen nur vom Server selbst oder von authentifizierten Benutzern E-Mails an diese Adressen geschickt werden dürfen. In der Datei /etc/exim4/conf.d/main/00_local_macros ergänzen wir deshalb Macros für eine Hostliste und diese beiden E-Mail-Adressen

# @[] list of all local IPs
# If exim is used localy in batch mode (exim4 -bs) then "$host" is empty, the ": :" adds the empty string.
hostlist own_hosts = @[] : :
 
# address for reclassifying/learning false positive spam mails
MAIL_ADDRESS_HAM = ham
 
# address for reclassifying/learning undetected spam
MAIL_ADDRESS_SPAM = spam

Nun verweigern wir allen nicht authentifizierten Usern von entfernten Hosts das Senden von Mails durch Ergänzung der folgenden Zeilen in der Datei /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt (bitte unbedingt nach der Stelle mit accept authenticated=*)

# Accept if the message arrived over an authenticated connection, from
# any host. Again, these messages are usually from MUAs, so recipient
# verification is omitted, and submission mode is set. And again, we do this
# check before any black list tests.
accept
  authenticated = *
  # Nur unter der Bedingung, dass der Absender ein valider, entfernter User in LDAP
  # ist Empfänger bedingungslos akzeptieren
  condition = IS_SENDER_REMOTE
  #control = submission/sender_retain
 
# Deny all unauthenticated remote hosts to send mail to
# spam or ham email addresses
deny
  hosts = !+own_hosts
  local_parts = MAIL_ADDRESS_HAM : MAIL_ADDRESS_SPAM

Jetzt brauchen wir nur noch einen Router und einen Transporter für das Lernen von Spam bzw. Ham. Den Router erzeugen wir durch die Datei /etc/exim4/conf.d/router/410_exim4-config_spam_classification mit folgendem Inhalt

################################################
### router/410_exim4-config_spam_classification
################################################
 
# This router matches the local spam and ham mailboxes
# which are used to train the spam filter with false
# spam positives or unrecognized spam.
 
router_spam_training:
  debug_print = "R: spam training issued by mail from $sender_address@$sender_address_domain to $local_part@$domain"
  driver = accept
  domains = +local_domains
  local_parts = MAIL_ADDRESS_HAM : MAIL_ADDRESS_SPAM
  transport = transport_spam_training
 
################################################
### router/410_exim4-config_spam_classification
################################################

Den Transporter erstellen wir analog durch die Datei /etc/exim4/conf.d/transport/30_exim4-config_transport_spam_training mit dem Inhalt

#####################################################
### transport/30_exim4-config_transport_spam_training
#####################################################
 
transport_spam_training:
  debug_print = "T: spam training issued by mail from $sender_address@$sender_address_domain to $local_part@$domain"
  driver = pipe
  command = /usr/bin/dspam "${if eq{$local_part}{MAIL_ADDRESS_HAM} {--class=innocent}{--class=spam}}" --source=error --delivery=stdout --user globaluser
  message_prefix =
  message_suffix =
  # Do not add additional Headers
  delivery_date_add = false
  envelope_to_add = false
  return_path_add = false
  log_output
  user = secmail
  group = secmail
 
#####################################################
### transport/30_exim4-config_transport_spam_training
#####################################################

Was mich lange aufgehalten hat, waren die String-Expansions in der command Angabe. Hier kommt es darauf an, die Anführungszeichen zu setzen, wie es sowohl in der FAQ als auch in der Dokumentation von command und unter anderem auch bei der von transport_filter erwähnt wird. Der Grund, warum hier für dspam nicht der Parameter –stdout, sondern –delivery=stdout gewählt wurde, liegt darin, dass ansonsten teilweise die Fehlermeldung “Client exited with error -5″ auftaucht. Dieser Hinweis zur Fehlerbehebung stammt übrigens von der dspam-users Mailinglist. Abschließend wird die Konfigurationsdatei erzeugt und Exim neu gestartet durch ein

sudo update-exim4.conf && sudo /etc/init.d/exim4 restart

Nun kann man mit dem Befehl

echo Subject:test | sudo -u secmail dspam --client --debug --mode=notrain --user globaluser --deliver=spam,innocent --stdout | mail -s "Reclassify" spam

testen, ob die Konfiguration funktioniert. Ein erneutes

sudo dspam_stats

sollte dann dieses Ergebnis

globaluser        TP:     0 TN:     1 FP:     0 FN:     1 SC:     0 NC:     0

ausgeben.

Einrichtung des dovecot-antispam Plugins

Im nächsten Schritt konfigurieren wir das dovecot-antispam plugin. Bei diesem Plugin wird beim Kompilieren festgelegt, welches Backend (dspam-exec, mailtrain oder crm114-exec) verwendet werden soll. Wenn man die Paket-Version von Debian/Ubuntu verwendet, ist man deshalb automatisch auf das mailtrain-Backend festgelegt. Dies kann man zwar erst der Beschreibung des Pakets in Lucid Lynx lesen, trifft aber auch auf vorherige Versionen zu. Passen wir also jetzt die Konfigurationsdatei unter /etc/dovecot/dovecot.conf an. Wir aktivieren das antispam-Plugin im Imap-Abschnitt folgendermaßen

protocol imap {
  mail_plugins = antispam
  # mail_plugin_dir = /usr/lib/dovecot/modules/imap
}

anschließend ergänzen wir den plugin-Abschnitt um die Konfigurationsparameter für dovecot-antispam. Dabei sind unter Umständen die Ordnerbezeichnungen für den Papierkorb und Spam anzupassen.

plugin {
 ##################
 # DSPAM
 # GENERIC OPTIONS
 
 # mail signature (used with any backend requiring a signature)
 antispam_signature = X-DSPAM-Signature
 
 # action to take on mails without signature
 # (used with any backend requiring a signature)
 # (we recommend only setting this to 'move' after verifying that the
 # whole setup is working)
 # antispam_signature_missing = move # move silently without training
 antispam_signature_missing = move
 
 # semicolon-separated list of Trash folders (default unset i.e. none)
 # antispam_trash =
 antispam_trash = trash;Trash;Deleted Items
 
 # semicolon-separated list of spam folders
 antispam_spam = SPAM;Spam;spam
 
 # semicolon-separated list of unsure folders (default unset i.e. none)
 # antispam_unsure =
 
 # Whether to allow APPENDing to SPAM folders or not. Must be set to
 # "yes" (case insensitive) to be activated. Before activating, please
 # read the discussion below.
 # antispam_allow_append_to_spam = no
 
 ###########################
 # BACKEND SPECIFIC OPTIONS
 # please note: the backend has to be specified at compile time
 # the backend used in the Debian/Ubuntu standard package is mailtrain
 
 #===================
 # dspam-exec plugin
 
 # dspam binary
 antispam_dspam_binary = /usr/bin/dspam
 
 # semicolon-separated list of extra arguments to dspam
 # (default unset i.e. none)
 # antispam_dspam_args =
 # antispam_dspam_args = --deliver=;--user;%u  # % expansion done by dovecot
 # antispam_dspam_args = --mode=teft
 
 # Ignore mails where the DSPAM result header contains any of the
 # strings listed in the blacklist
 # (default unset i.e. none)
 # antispam_dspam_result_header = X-DSPAM-Result
 # semicolon-separated list of blacklisted results, case insensitive
 # antispam_dspam_result_blacklist = Virus
 
 #=====================
 # mail sending plugin
 #
 # Because of the way this plugin works, you can also use it
 # to train via an arbitrary program that receives the message
 # on standard input, in that case you can use the config
 # options antispam_mail_spam and antispam_mail_notspam for
 # the argument that distinguishes between ham and spam.
 # For example:
 #   antispam_mail_sendmail = /path/to/mailtrain
 #   antispam_mail_sendmail_args = --for;%u
 #   antispam_mail_spam = --spam
 #   antispam_mail_notspam = --ham
 # will call it, for example, like this:
 #   /path/to/mailtrain --for jberg --spam
 
 # temporary directory
 antispam_mail_tmpdir = /tmp
 
 # spam/not-spam addresses (default unset which will give errors)
 antispam_mail_spam = spam
 antispam_mail_notspam = ham
 
 # sendmail binary
 antispam_mail_sendmail = /usr/sbin/sendmail
 #antispam_mail_sendmail_args = -f;%u@example.com # % expansion done by dovecot
 
 #===================
 # crm114-exec plugin
 
 # mailreaver binary
 antispam_crm_binary = /bin/false
 # antispam_crm_binary = /usr/share/crm114/mailreaver.crm
 
 # semicolon-separated list of extra arguments to dspam
 # (default unset i.e. none)
 # antispam_crm_args =
 # antispam_crm_args = --config=/path/to/config
 
 # NOTE: you need to set the signature for this backend
 antispam_signature = X-CRM114-CacheID
}

Sieve zum automatischen Verschieben der Spamnachrichten

Das Einzige, was jetzt noch fehlt, ist die Einrichtung des Sieve-Filters durch den die Spam-Nachrichten direkt in den Spam-Ordner verschoben und als gelesen markiert werden. Auch hier bitte ggfs. den Namen des Spamordners anpassen.

require ["fileinto","imapflags"];
 
# Spam
# Catch mail tagged as spam, except spam retrained and delivered to the mailbox
if allof(header :contains "X-DSPAM-Result" "Spam",
 not header :contains "X-DSPAM-Reclassified" "Innocent") {
 
 # Mark as read
 setflag "\\Seen";
 
 # Move into the Junk folder
 fileinto "Spam";
 
 # Stop processing here
 stop;
}
 
# The rest goes into INBOX
# default is "implicit keep", we do it explicitly here
keep;

So, damit ist der Spamfilter fertig eingerichtet. Was jetzt noch fehlt, ist das Webinterface für dspam (das Binär-Paket dafür haben wir aber schon erzeugt) und der Webmail-Zugriff mit Roundcube. Fortsetzung folgt..

EA hat jetzt nach C&C 1+2 endlich Command and Conquer 3 Tiberian Sun zum kostenlosen Download freigegeben. Man kann sich auf der eigens für C&C eingerichteten Seite eine 1,2 GB große Rar-Datei mit dem Spiel + AddOn herunterladen.

Laut der Wine-HQ AppDB sollten C&C und die Erweiterung Firestorm perfekt unter Wine laufen.

Happy gaming! :)

Laut den Kommentaren läuft es unter Wine.


Für ein kleines Script, welches ich auf der Arbeit verwende, habe ich versucht einen Weg zufinden, zu prüfen ob Kernel-Updates verfügbar sind. Im Netz und in der Man-Page von apt-get bzw aptitude wurde ich nicht eindeutig fündig. Nach langem suchen ergaben sich allerdings folgende Möglichkeiten Updates anzeigen zulassen:

apt-get --just-print upgrade

apt-get -s upgrade

aptitude search ~U

Ich fand allerdings die erste Möglichkeit am einleuchtensten.
Die Ausgabe ist zwar nicht zwingend Script geeignet, aber das lässt sich ja ändern:

SUPDATEKERNEL=$(ssh root@$host "apt-get --just-print upgrade | grep linux | uniq | wc -l")

In der Variable $SUPDATEKERNEL steht logischerweise die Anzahl der Verfügbaren Updates die “linux” enthalten. Linux fand ich persönlich jetzt am einfachsten zur Identifikation von Kernel-Updates. Jemand bessere Vorschläge?

Auf YouTube ist ein kurzes Interview mit (noch) Canonical-CEO Mark Shuttleworth erschienen. Im Dell Firmensitz in Round Rock, Texas spricht er mit den Jungs vom Dell Video Log. Die Themen sind…

  • Dell: Canonical arbeitet mit Dell an weiteren Dell Geräten mit Ubuntu. Mark sagt “It resulted in a great deal of work… Making Linux work, making X work, making the sound stack work… across the full range of dell hardware”. Hmmm, können wir uns auf eine Breite Palette von Ubuntu-Rechner bei Dell freuen?
  • UEC: Die Ubuntu-Server Variante von Lucid wird ziemlich in Richtung Cloud-Computing ausgerichtet sein. Canoncial hat extra den Titel Ubuntu Enterprise Cloud (UEC) eingeführt. Damit will man wohl speziell mittelständische Unternehmen ansprechen und Amazon EC2 Konkurrenz machen.
  • Canonical CEO: Mark wird ab 1.3.2011 nicht mehr CEO von Canonical sein. Nachfolgerin wird Jane Silber. Laut eigener Aussage will Mark zukünftig seine Arbeit auf das “Produktdesign, Partnerschaften mit anderen Unternehmen und auf die Kunden” konzentrieren.
  • Lucid Lynx 10.04 LTS Design: Mark wiederholt seine Aussage dass Ubuntu Lucid ein “Shiny new bling, new styling… light oriented” bekommt, und dass Human endgültig in Rente geschickt wird. Der neue Stil soll dann für die nächsten fünf Jahre Ubuntu prägend sein.
  • Lucid Lynx 10.04 LTS Social Desktop: Auf diversen Blogs hat man ja schon Screenshots von Lucid gesehen. Gwibber und Empathy werden weiter stark in den Desktop integriert, so dass man ohne zusätzliche Anwendungen mit Twitter, Facebook und Co. arbeiten kann.
  • Netbook, Ubuntu auf mobilen/kleinen Geräte: Ubuntu ist eine Option für viele Hardware-Entwickler von kleinen und kompakten Geräten. So setzt zum Beispiel DLink bei der Boxee Box auf Ubuntu als Basis.

Das Video wird auf Planeten und mit manchen Feed-Readern nicht angezeigt. Kommt daher auf das Blog, falls Ihr das Video nicht seht.

Auf Ubuntuusers.de habe ich heute wieder einen sehr interessanten Beitrag gefunden, wie man alle flv Dateien eines Ordners mittels Script in mp3 umwandeln kann.

Dazu legt man eine Datei mit folgendem Inhalt an (z.B. flv2mp3.sh):
for k in *.flv
do
ffmpeg -i "$k" -vn -ab 160k "${k%.*}.mp3"
done


Dieses speichert man und macht es ausführbar (rechte Maustaste, Eigenschaften, Zugriffsrechte, Datei als Programm ausführen). Nach einem Doppelklick darauf wählt man nur noch "Im Terminal ausführen" und wartet - danach findet man neben seinen flv Dateien auch schön konvertierte mp3 Dateien vor.

Sollte ein Fehler kommen, dann kann folgender Befehl im Terminal Abhilfe schaffen:
sudo apt-get install ffmpeg libavcodec-extra-52

Nein, keine Sorge – ich blogge nicht über den unsinnigen Dienst. Wie ich neulich schon berichtete, hat die Website von KDE ein neues Design bekommen. Dort erwähnte ich auch buzz.kde.org. Dies ist, platt gesprochen, ein Nachrichtensammler. Er grast alle gängigen Web2.0-, beta-, buzzword-Dienste nach einem gegebenen Stichwort ab und stellt diese gebündelt auf eine Seite.

Ich fand die Idee interessant (und die Animationen erst) und habe mir den Quellcode aus dem SVN besorgt und es an Ubuntu angepasst. Naja, anpassen ist vielleicht etwas übertrieben: ich habe die kompletten Grafiken entfernt und das Tag von ‘kde’ auf ‘ubuntu’ geändert. Design ist erstmal nicht so wichtig. ;-) Manchmal scheint das Script zu haken, da hilft dann nur ein beherztes F5. Aber ein grobe Idee der Funktion bekommt man dennoch.

http://buzz.skweez.net/

Es ist schon erstaunlich in welcher Geschwindigkeit neue Beiträge hinzukommen (auch wenn ich nicht alles lesen kann). Sollte es irgendwann mal fehlerhafte Updates in den Repos geben, dann wird man der erste sein der davon erfährt. :) Alles ist ungefiltert und wird annähernd in Echtzeit aggregiert. Findet ihr einen solchen Dienst nützlich, oder überflüssig wie so vieles in der web2.0 Welt?

Dank an Ritze für das Hosting.

=-=-=-=-=
Powered by Blogilo


Vor etwas mehr als einem halben Jahr hat Zattoo den bis dahin angebotenen Linux-Client eingestellt. Hintergrund des Einstellung war die Umstellung der Streams von einer P2P-Technik auf Adobe Flash und der Wunsch Zattoo zu einer Community zu machen. In einem Gespräch mit dem Zattoo CEO Beta Knecht findet Ihr ein paar Hintergrundinformationen zu dieser Entwicklung. Dank unserer Community – der Linux-Community – mussten wir jedoch nicht lange mit dem Fehlen eines Desktops-Clients für Zattoo leben. Mit Prism und ein bisschen CSS-Magie können wir schon länger wieder Zattoo außerhalb eines Browser-Fensters ansehen. Das größte Übel – das CPU-hungrige Adobe Flash – wird man dadurch leider jedoch nicht los.

Nun hat Zattoo doch wieder etwas Einsehen mit Linux und veröffentlicht Zattoo für Linux. Der Client steht als .deb Paket für 32-bit Systeme zum Download bereit. Das Paket lässt sich also auf Debian, Ubuntu oder Linux Mint verwenden. Andere Distributionen stehen außen vor. Ein .tar.gz Archiv mit statisch verlinkten Binaries, das man distributionsunabhängig verwenden könnte, stellt Zattoo nicht bereit. Unverständlich, da das Closed-Source Programm sowieso komplett statisch verlinkt ist und seine eigenen Bibliotheken mitbringt.

Der Client – wenn man ihn denn so bezeichnen möchte – macht nichts anderes als der oben angesprochene Prism-Zattoo-Client. Die Webseite von Zattoo wird einfach in einem Programmfenster geöffnet. Die einzige zusätzliche Option ist die Möglichkeit das Zattoo-Fenster im Vordergrund zu halten.

Der neue Desktop-Client für Zattoo

Geblieben ist der enorme Hunger nach Rechenleistung. Zattoo verlangt nach den Systemanforderungen mindestens nach einem “Intel Pentium 4 2.33GHz” bzw. “AMD Athlon™ 64 2800+”… Und das ist nicht gelogen. Da Zattoo über Flash gestreamt wird, kocht die CPU nur so vor sich hin.

Unter Ubuntu Karmic Koala 32-bit lässt sich das .deb Paket problemlos installieren. Schwieriger wird es wieder bei einem 64-bit System. Nach wie vor offeriert Zattoo nur ein Paket für 32-bit Systeme. Allerdings lässt sich das 32-bit Paket auch unter einer 64-bit Ubuntu installieren. Ihr müsst nur die Installation erzwingen und dann das Flash-Plugin an die passende Stelle verlinken. Liegt die .deb-Datei bspw. auf eurem Desktop, dann installiert Zattoo via…

$ sudo dpkg -i --force-all ~/Desktop/zattoo*.deb

…und verlinkt dann Flash an eine Stelle, wo Zattoo die Bibliothek erwartet.

$ mkdir ~/.mozilla/plugins
$ ln -s /usr/lib/flashplugin-installer/libflashplayer.so ~/.mozilla/plugins/

Solltet ihr die 64-bit Alpha von Adobe Flash auf eurem System verwenden, dann beachtet dass Zattoo mit dieser Version nicht funktionieren kann, da Zattoo als 32-bit Programm die 64-bittige libflashplayer.so nicht ansprechen kann.

19. Februar 2010