exFAT

kde_partitionsmanager_exfat

Die 4GB als maximale Dateigröße für FAT32 USB Sticks reichen mir locker. Mir. Anderen scheint dies zu wenig zu sein. Heute stolperte ich a) über eine Nachricht bei Heise und dann b) auch gleich über einen ersten exFAT formatierten Stick.

Unter Ubuntu lassen sich diese Dinger Dank eines PPAs wie folgt leicht in Betrieb nehmen:

sudo add-apt-repository ppa:relan/exfat

sudo apt-get update

sudo apt-get install fuse-exfat

Mounten geht nun mit

mount -t exfat /dev/sde1 /media/usbstick

und dann ist auch das Lesen der Dateien auf dem Stick möglich. Ordner anlegen und Schreiben geht auch, allerdings meckert mein Kubuntu 12.04 beim Kopieren von Dateien dann rum, dass sich die Rechte nicht ändern lassen. Das dürfte mit daran liegen, dass exFAT meinem KDE ein „unbekannter“ Partitionstyp ist (siehe Bild oben).

Einen eigenen Stick mit exFAT formatieren geht nach der Installation von fuse-exfat noch nicht, weil mkfs mit dem Schalter -t exfat nichts anfangen kann. Ein

sudo apt-get install exfat-utils

bringt jedoch /sbin/mkfs.exfat an Bord, so dass auch das gelingt.

StartSSL

Da es bei Britta nun so aussieht, als würde Sie auch mit bloggen beginnen, habe ich BDJL von selbst signierten Keys gerade eben auf StartSSL umgeschaltet. So können meine Blogs hier direkt unter einer https URL laufen, ohne dass man immer aufpassen muss, ob man sich im Backend oder im Frontend befindet.

Wo sich Brittas Blog zu – was wohl? Schönen Dingen! – versteckt, das wird noch bekannt werden. Für den Moment ist es ganz gut, dass die ersten Gehversuche nicht direkt in der Öffentlichkeit stattfinden 🙂

Update 22.01.2012: https://www.bdjl.de/lebensart/

etherpad-lite

UPDATE: https://www.bdjl.de/localhost/?p=5153

Das hier ist sicherlich die hunderste Installationsanleitung im Netz zum Thema Installation von Etherpad Lite unter Ubuntu – aber es ist eine, die bei mir funktioniert hat. Ich werf die jetzt mal hierher, damit ich ein Memo habe (und auf den LFB).

Die Installation von Ubuntu Server ist weder Teil dieser Anleitung noch die Absicherung eines solchen Servers für den Betrieb im Internet. Hier sei lediglich geschildert, wie ein EtherPad Lite (EPL) Server für den Betrieb im lokalen Netz aufgesetzt werden kann.

Die folgende Anleitung wurde für Ubuntu Precise Pangolin (12.04 LTS) geschrieben und auf dieser getestet. Andere Ubuntu Version könnten ebenfalls eine Basis für einen EPL Server darstellen – Sie müssen dann aber selbst herausfinden, wie Sie vorgehen müssen.

Basisinstallation

Melden Sie sich als administrativer Benutzer an Ihrem Server im lokalen Schulnetz an. Wenn Sie eine grafische Oberfläche nutzen, dann öffnen Sie eine Shell.

In einem ersten Schritt legen wir einen Benutzer etherpad für EPL an. Dessen Homeverzeichnis wird /opt/etherpad. Der Benutzer erhält eine Kennung unterhalb der ID 1000 und ist hiermit Systembenutzer (damit er sich nicht direkt am System anmelden kann):

sudo adduser --system --home=/opt/etherpad --group etherpad

Als nächstes kommen die wichtigsten Programme für den Betrieb von EPL an Bord:

sudo apt-get install gzip git-core curl python libssl-dev build-essential abiword python-software-properties

Ubuntu 12.04 enthält zwar node.js (den eigentlichen Server für EPL) in seinen Repositories – es gibt aber ein PPA, das neuere Versionen liefert und diese jeweils auf Zusammenarbeit mit EPL abklopft, so dass wir dieses für die Installation nutzen:

sudo add-apt-repository ppa:chris-lea/node.js

sudo apt-get update

sudo apt-get install nodejs npm

Es folgt der Wechsel in den Benutzerkontext unseres Users etherpad:

sudo su - etherpad -s /bin/bash

Dort werden einige Verzeichnisse und Unterverzeichnisse angelegt:

mkdir ~/local

mkdir ~/local/etherpad

cd ~/local/etherpad

In diesem Verzeichnis wird nun EPL installiert, indem man das Programm aus GIT klont:

git clone git://github.com/ether/etherpad-lite.git

Um einen ersten Testlauf zu starten, wird in das Programmverzeichnis gewechselt

cd etherpad-lite

und Etherpad gestartet

bin/run.sh

EPL ist nun ausschließlich auf dem lokalen Rechner unter der URL

http://127.0.0.1:9001

zu erreichen.

Sofern Ihr Rechner eine grafische Oberfläche hat, können Sie dies auch auf diesem überprüfen. Sind Sie nur in der Shell unterwegs, warten Sie ein wenig ab, bis Sie die Startmeldungen von EPL sehen können. Fortgeschrittene Benutzer können mit netstat -tulpen überprüfen, ob ein Server auf Port 9001 lauscht.

Schießen Sie den EPL Prozess dann mit STRG C ab.

Erreichbarkeit aus dem Schulnetz

Die nächsten Anpassungen sorgen dafür, dass EPL aus dem gesamten Schulnetz heraus aufgerufen werden kann. Wir nehmen dazu an, dass Ihr EPL Server über die IP-Adresse 10.16.2.100 zu erreichen ist.

Öffnen Sie mit dem Editor Ihrer Wahl die Datei

/opt/etherpad/local/etherpad/etherpad-lite/settings.json

Die Einstellungen für die Bezeichnung des EPL Servers, die IP Adresse und die Portnummer werden nun eingetragen:

"title": "Etherpad Lite auf internem Testserver",

// favicon default name
// alternatively, set up a fully specified Url to your own favicon
„favicon“: „favicon.ico“,

//IP and port which etherpad should bind at
„ip“: „10.16.2.100“,
„port“ : 9001,

Weiter unten in diesem Skript (ca. Zeile 70) finden Sie die Möglichkeit, Abiword einzubinden. Das schalten wir gleich scharf:

"abiword" : "/usr/bin/abiword",

Noch ein wenig weiter unten in diesem Skript (ca. ab Zeile 80) finden Sie die Möglichkeit zur Administration des EPL Servers über ein Webinterface. Entfernen Sie das Kommentarzeichen /* in Zeile 80 und in Zeile 91 das Kommentarzeichen */, um diese Funktion zu nutzen. Tragen Sie Kennwörter ein, die den Namen verdienen:

"users": {
"admin": {
"password": "geheim",
"is_admin": true
},
"user": {
"password": "geheim",
"is_admin": false
}
},

Starten Sie nun den EPL Server neu

bin/run.sh

und rufen Sie diesen über die IP 10.16.2.100 von einem anderen Rechner aus auf. Sie sollten diesen demnach unter

http://10.16.2.100:9001

erreichen können und das Admininterface unter

http://10.16.2.100:9001/admin

Schießen Sie EPL mit STRG C aus der Shell wieder ab, um weitere Anpassungen vorzunehmen.

EPL Server für Dauerbetrieb einrichten

Öffnen Sie eine zweite Shell und werden Sie in dieser root:

sudo su -

Sie haben nun zwei Shells: In einer sind Sie noch immer der Benutzer etherpad – in der anderen sind Sie root.

In der root Shell installieren Sie nun einen MySQL Server:

apt-get install mysql-server mysql-common apache2 phpmyadmin mysql-client

Während der Installation werden Sie nach einem MySQL root Passwort gefragt und nach einem Passwort für phpMyAdmin. Vergeben Sie Passwörter, die den Namen auch wirklich verdienen.

Bearbeiten Sie nun die settings.json (Pfad siehe oben) als Benutzer etherpad. Kommentieren Sie den Bereich für die Nutzung von MySQL als Datenbank ein – und den für die „dirty“-DB Datenbank aus:

//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
//"dbType" : "dirty",
//the database specific settings
//"dbSettings" : {
// "filename" : "var/dirty.db"
// },

// An Example of MySQL Configuration
"dbType" : "mysql",
"dbSettings" : {
"user" : "eplite",
"host" : "localhost",
"password": "geheim",
"database": "eplite"
},

Rufen Sie dann phpMyAdmin im Browser auf:

http://10.16.2.100/phpmyadmin

Melden Sie sich als root mit Passwort an, und klicken Sie auf den Tab „Rechte“.

Klicken Sie auf „Neuen Benutzer hinzufügen“

Als Benutzername wählen Sie eplite, als Host localhost und als Passwort wieder eines, das den Namen verdient und das mit dem Passwort in der settings.json – siehe oben: Sie haben es gerade eben eingetragen – übereinstimmt.

Setzen Sie einen Haken bei „Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte“.

Klicken Sie im Bereich „Globale Rechte“ auf „Alle auswählen“ und danach auf „Erzeuge Benutzer“.

Wechseln Sie in die Shell und starten Sie einmal als Benutzer etherpad den EPL

bin/run.sh

und stoppen Sie diesen wieder mit STRG C.

Wechseln Sie zurück zum Browser.

Klicken Sie nun in phpMyAdmin auf Datenbanken und dort auf die neu angelegte Datenbank eplite. Klicken Sie auf den Tab SQL. Legen Sie den folgenden Code in das Fensterchen:

ALTER DATABASE `eplite` CHARACTER SET utf8 COLLATE utf8_bin;

USE `eplite`;

ALTER TABLE `store` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

und klicken Sie dann auf den Schalter „OK“. phpMyAdmin sollte zurückmelden, dass alle Befehle erfolgreich umgesetzt wurden.

Starten Sie EPL wieder (als Benutzer etherpad)

bin/run.sh

und rufen Sie dieses im Browser auf

http://10.16.2.100:9001

Ab jetzt schreibt EPL die Daten nach MySQL. Achten Sie auf Fehlermeldungen in Ihrer Shell.

Beenden Sie den EPL Prozess durch STRG C und melden Sie sich durch Eingabe von exit aus dem Shell-Fenster des Benutzers etherpad ab.

Autostart beim EPL Server-Start

In Ihrer root Shell geben Sie nun nacheinander die folgenden Befehle ein, um die Verzeichnisse für die Logfiles zu erstellen und um den Autostart von EPL beim Hochfahren des Rechners einzurichten:

mkdir /var/log/etherpad-lite

chown -R etherpad /var/log/etherpad-lite

Bearbeiten Sie die folgende Datei mit einem Editor Ihrer Wahl. Im Beispiel ist das vi:

vi /etc/init/etherpad-lite.conf

und legen Sie in diese Datei den folgenden Codeschnipsel.

In der root Shell geben Sie nun ein

start etherpad-lite

und der Server sollte starten.

Wenn das geklappt hat, dann fahren Sie das System einmal runter und dann gleich wieder hoch – der EPL Server sollte nun selbst starten und sich über Browser weitgehend verwalten lassen.

Logdateien

Mit der Zeit würden die Logdateien bei einem permanent laufenden EPL Server den Plattenplatz auffressen. Deswegen wird mit den folgenden Einstellungen dafür gesorgt, dass die Logs nach einer Woche zusammen gepackt werden und nur die Logdateien der letzten 4 Wochen auf dem Server liegen bleiben.

In einer root Shell wird mit dem Editor der Wahl die Datei /etc/logrotate.conf bearbeitet und dort der folgende Eintrag eingefügt:

# Etherpad Lite - weekyl compression and rotation

/var/log/etherpad-lite/*.log {

weekly

missingok

rotate 4

compress

notifempty

}

Literatur und Vorlage: https://help.ubuntu.com/community/Etherpad-liteInstallation

OCR unter Linux revisited

gimagereader_tesseract

Tesseract befindet sich in einer aktuellen Version in den Repos von Fedora 18 (sowie Ubuntu) und gimagereader ist als RPM für Fedora 15 / als DEB für Ubuntu nach Installation einiger Voraussetzungen nicht nur installierbar, sondern arbeitet rund.

Die Voraussetzungen werden mit RPM bei einem

rpm -i gimagereader-0.9-1.fc15.noarch.rpm

angezeigt und sind zügig an Bord geholt:

yum install gnome-python2-gtkspell pypoppler python-imaging-sane

Wer unter Ubuntu mit gdebi, qapt oder über das Softwarecenter installiert, zieht die Abhängigkeiten automatisch mit.

Die Erkennungsleistung ist schon bei 300 DPI Scans hervorragend und kann durchaus mit kommerziellen Produktion mithalten – selbst bei kursivem Text oder leicht schrägen Vorlagen.

Was man von dieser Lösung nicht erwarten darf, sind Mehrfachtextboxen oder gar ordentliche Erkennungsleistungen bei Tabellen. Was auch nicht geht, ist der Export von Bildern oder des Layouts aus dem Scan in die Textdatei. Tesseract liefert plain text. Wer mehr will, kann z.B. das sehr gute Online-OCR von Finereader benutzen: http://finereader.abbyyonline.com/

Firefox search provider wechseln / einstellen

Sofern man Suchbegriffe in die Adresszeile des Firefox direkt eingibt, nutzt Mint DuckDuckGo als Standardsuchmaschine, Ubuntu und Fedora nutzen Google und ich will weder das eine noch das andere. Ich will startpage.com. Das lässt sich einstellen:

  1. „about:config“ in die Adresszeile von Firefox eingeben
  2. Warnmeldung, abnicken
  3. „keyword.URL“ im Filter oben auf der Seite eintippen
  4. doppelt auf „keyword.URL“ klicken
  5. https://startpage.com/do/search?language=deutsch&cat=web&query=
  6. ‚OK‘ anklicken und Tab schließen

Über die Seiten von Startpage findet man noch weitergehende Einstellmöglichkeiten … und überhaupt: So frei konfigurierbar wie dieser Suchmaschinenanbieter ist nach meiner Kenntnis kein anderer.

Eine Suche nach „firefox change default search provider“ listet Einstellmöglichkeiten für andere Suchseitenbetreiber.

GoAccess

accesslogfiles

Logfileanalyse frisst im Normalfall Systemressourcen – nicht viele, aber unnötig viele, wenn man sich nicht wirklich für die Zugriffszahlen interessiert und nur alle paar Wochen einmal guckt. Dazu ein AwStats oder einen Webalizer zu betreiben ist overkill. Der Einsatz von PiWik ist praktisch, aber das Programm hält sich derartig brav an die Do Not Track Einstellungen, dass man nicht erfährt, wie viele Menschen einen wirklich besucht haben. Hier einmal im Vierteljahr vergleichen zu können ist schön.

Praktisch ist ein Tool wie GoAccess, das man nur bei Bedarf einsetzt und das man gezielt auf ausgewählte Logfiles loslassen kann. Das jeweils aktuelle Apache Log holt man sich mit

goaccess -f access.log.1

in den Betrachter. Will man gz archivierte Archive betrachten, muss man diese zuerst auspacken – z.B. mit zcat. Wenn man sich schon die Mühe macht, dann kann gleich ein ganzer Monat zusammen ausgepackt und dann betrachtet werden. Dazu schaut man die Logs in ihrem Verzeichnis zuerst mit ls -lat an, um das Datum etwas einzugrenzen und erzeugt dann ein Gesamtdokument aus der Auswahl:

zcat access.log.[4-7].gz >> accesslogcombined ; goaccess -f accesslogcombined

Wenn man fertig ist, kann man die kombinierte Logdatei wieder löschen.

Neuere Versionen von goaccess – nicht jedoch die für Debian aus den Repos verfügbaren Oldtimer – erlauben auch das Erstellen von HTML Reports. Sehr praktisch. Und viel hübscher als eine nscurses Oberfläche ist es auch.

OwnCloud Task in Thunderbird kann nicht gelöscht werden

Seit mehreren Tagen nervt mich die Taskverwaltung in Thunderbird mit einem immer wieder auftauchenden Task, den ich schon mehrfach als gelöscht markiert hatte. Der Task wurde innerhalb einer meiner OwnCloud Instanzen angelegt und auch das Löschen dort brachte Thunderbird nicht auf Trab. Leider half auch eine Suche nach „thunderbird cannnot delete task“ wenig – auch wenn viele Menschen ähnliche Probleme mit dem Sogo Connector und mit Zimbra zu haben scheinen.

Was nun letztlich half war Folgendes: Auf der Registerkarte Tasks im Thunderbird ein Doppelklick auf den zickigen Kalender (Rechtsklick /Properties geht auch). Im dann auftauchenden Fensterchen im Feld „Offline Support“ das Häkchen rausmachen und die neuen Einstellungen mit OK bestätigen. Ein wenig warten, bis Thunderbird neu gesynct hat … und dann das Häkchen wieder reinsetzen.

Jetzt ist Ruhe.

LMDE und CPU Zahl

Schnarchlangsam ist mein oller Asus  – und das obwohl Debian eigentlich weniger Ressourcen frisst als Ubuntu. Also schaute ich mal mit top nach, was da an den Ressourcen zehrt und stolperte über xorg, der 35% der CPU schluckte. Dazu kam: LMDE erkannt nur eine CPU des Dualcores.

$ dmesg | grep CPU
[    0.000000] ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 1/0x1 ignored.
[    0.000000] Initializing CPU#0
[    0.000000] CPU 0 irqstacks, hard=f5808000 soft=f580a000
[    0.012261] CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-52 stepping 02
[    0.586082] Switch to broadcast mode on CPU0

Das scheint ein Debian Bug zu sein, der sich durch die Installation eines PAE Kernels beheben lässt:

sudo apt-get install linux-headers-3.2.0-3-686-pae linux-image-3.2.0-3-686-pae

Und tatsächlich – danach stimmt wenigstens die Verwendung der CPU Zahl:

$ dmesg | grep CPU
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 14 pages/cpu @f79d5000 s33280 r0 d24064 u57344
[    0.000000] Initializing CPU#0
[    0.000000] CPU 0 irqstacks, hard=f5806000 soft=f5808000
[    0.004382] CPU: Physical Processor ID: 0
[    0.004385] CPU: Processor Core ID: 0
[    0.004389] mce: CPU supports 5 MCE banks
[    0.069029] CPU0: AMD Turion(tm) 64 X2 Mobile Technology TL-52 stepping 02
[    0.072003] CPU 1 irqstacks, hard=f5894000 soft=f5896000
[    0.008000] Initializing CPU#1
[    0.156188] Brought up 2 CPUs
[    0.156186] Switch to broadcast mode on CPU1
[    0.156895] Switch to broadcast mode on CPU0

Was sich nicht so einfach in den Griff bekommen lässt, ist der unendlich zähe nouveau Treiber, der xorg mit 35% CPU-Last weiterhin viel zu umfangreich beschäftigt. LMDE geht also weiterhin eher zäh zu Werke. Wenn F18 auf den Markt kommt, dann fliegt LMDE wieder runter … oder ich spiel hier mit Kubuntu weiter.

Thunderbird unter LMDE

Der bei LMDE mitgelieferte Senior Thunderbird 14.0 verträgt meine AddOns nicht. Also musste eine neuere Version an Bord, die ich mir auf Grund eines Hinweises und Skriptes hier direkt von dieser Seite besorgte. Gleich auf ein Skript zu setzen – das war mir zu heftig. Ich spiel das lieber ein paar mal durch und wenn ich dann die Fallstricke kenne wird geskripted. Also erst einmal von Hand:

wget http://mirror.informatik.uni-mannheim.de/pub/mirrors/mozilla.org/thunderbird/releases/latest/linux-i686/de/thunderbird-16.0.2.tar.bz2

cd /opt

mv thunderbird thunderbird$(date“+%Y%m%d.%H%M%S“)

sudo mv /home/dirk/thunderbird-16.0.2.tar.bz2 .

sudo tar xjf thunderbird-16.0.2.tar.bz2

Es folgt ein Teststart von Thunderbird, die Aktualisierung aller AddOns und wenn es tut, dann kommen das alte Thunderbirdverzeichnis und das Archiv in /opt weg. Zum Schluss noch ein Hinweis an die Paketverwaltung:

sudo vi /var/lib/dpkg/status

Hier die Versionsnummer von Thunderbird anpassen, so dass nur aktuellere Versionen als die nun installierte an Bord kommen. Ein dpkg -l | grep thunderbird zeigt den Erfolg.