Author Archiv
Geschrieben von cartmen in Latex, Linux, tags: Abkürzung, Abkürzungsverzeichnis, acro, acronym, alphabetisch, Latex, Linux, nomencl, sortieren
Für die Erstellung meiner Masterarbeit habe ich mich entschieden, für das Abkürzungsverzeichnis das Paket “acronym” zu verwenden und nicht wie bisher “nomencl”. Gründe dafür waren die einfachere Bedienbarkeit und eine effektivere Deklarierung und Verwendung.
Eingebunden wird das Paket mit dem folgenden Befehl, wobei die Option “printonlyused” besagt, dass ausschließlich Abkürzungen, die im Text verwendet werden, auch im Abkürzungsverzeichnis erscheinen.
\usepackage[printonlyused]{acronym}
Das Abkürzungsverzeichnis wird dann so erstellt:
% Kapiteldefinition ohne Nummerierung
\chapter*{Abkürzungsverzeichnis}
% Abkürzungsverzeichnis soll im Inhaltsverzeichnis erscheinen
\addcontentsline{toc}{chapter}{Abkürzungsverzeichnis}
\begin{acronym}
% Format der Abkürzungsdefinition: \acro{}[]{}
% {Verweis}[Abkürzung]{ausgeschriebene Abkürzung}
\acro{umts}[UMTS]{Universal Mobile Telecommunications System}
\acro{aci}[ACI]{Access Integrator}
\acro{udp}[UDP]{User Datagram Protocol}
\acro{ajax}[AJAX]{Asynchronous JavaScript and XML}
\acro{adsl}[ADSL]{Asymmetric Digital Subscriber Line}
\end{acronym}
Im Text verwendet man die Abkürzung dann in der Form
, worauf bei der ersten Verwendung die ausgeschriebene Abkürzung und das Kürzel in Klammern im Dokument erscheint. Bei jeder weiteren Verwendung wird dann nur das Kürzel ausgegeben.
Nun aber zum eigentlich Problem: Wenn man bei der Erstellung des Abkürzungsverzeichnisses nicht darauf achtet, die Einträge bereits in der korrekten alphabetischen Reihenfolge einzutragen, wird man sich am Ende, wie ich, ärgern, dass das Paket “acronym” die Einträge nicht sortieren kann. Auch eine längere Recherche ergab, dass man die Einträge selbst sortieren muss. Wer allerdings Linux als Betriebssystem nutzt, vermeidet in der Regel monotone und stumpfsinnige Arbeiten und schreibt sich lieber ein Script, dass die Aufgabe übernimmt. Dies ist hier noch nicht einmal notwendig, da der Linux Befehl “sort” alle nötigen Funktionen mitbringt. Ich habe dazu alle Abkürzungen in die Datei “abkuerzungen_master.tex” kopiert.
\acro{umts}[UMTS]{Universal Mobile Telecommunications System}
\acro{aci}[ACI]{Access Integrator}
\acro{udp}[UDP]{User Datagram Protocol}
\acro{ajax}[AJAX]{Asynchronous JavaScript and XML}
\acro{adsl}[ADSL]{Asymmetric Digital Subscriber Line}
Und dann mit dem Befehl Befehl unten die Einträge sortieren und in eine neue Datei ausgeben lassen.
sort abkuerzungen_master.tex -o abkuerzungen_sortiert.tex
In der Datei “abkuerzungen_sortiert.tex” stehen die Einträge in der korrekten Reihefolge und das Abkürzungsverzeichnis erscheint, wie gewünscht, alphabetisch sortiert.
2 Kommentare »
Geschrieben von cartmen in Linux, tags: 11.10, anwendungsstarter, console, favoriten, favouriten, gnome, gnome3, Howto, java, konsole, leiste, Linux, minecraft, starter, terminal, Ubuntu
Bei Ubuntu 11.10 mit Gnome3 ist es nicht mehr so einfach eigene Anwendungsstarter zu erstellen und diese in die Favoritenleiste zu kriegen. Dieser Blogeintrag beschreibt, wie es möglich ist.
Hierzu öffnet man eine Konsole und wechselt in das Verzeichnis ~/.local/share/applications und erstellt dort eine Datei xyz.desktop, die dann ohne Dateiendung in der Liste der Anwendungen auftaucht. Ich werde dies anhand einer VM von Virtualbox verdeutlichen.
cd ~/.local/share/applications
vi vm.desktop
Die Datei sieht dann wie folgt aus:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=bbi-vm
Comment=Starts the VirtualBox machine bbi-vm
Type=Application
Exec=/usr/lib/virtualbox/VirtualBox --comment "bbi-vm" --startvm \
"76b28a81-f5a6-4770-828e-af2bb36e4cbf"
Icon=virtualbox-vbox.png
Ich denke die einzelnen Zeilen in der Datei sind selbsterklärend, entscheidend ist die Zeile Exec, in der die zu startende Anwendung mit ihren Parametern definiert wird. Die Verknüpfung lässt sich dann wie gewohnt aus der Anwendungsliste in die Favoritenleiste ziehen.
Ein weiteres Beispiel für einen Starter des Spieles Minecraft:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=minecraft
Comment=Starts minecraft
Type=Application
Exec=java -Xmx1024M -Xms512M -cp \
/home/cartmen/Programme/minecraft/minecraft.jar net.minecraft.LauncherFrame
Icon=/home/cartmen/Programme/minecraft/icon.png
1 Kommentar »
Geschrieben von cartmen in Linux, tags: 0, 0.8, clipbucket, conversion, duration, ffmpeg, fix, Laufzeit, php, successful, Zeit
Mit den letzten Updates von FFMPEG hat sich das Ausgabeformat der Zeitangabe verändert. Bis Version 0.6 wurde die Laufzeit eines Videos in Sekunden und Millisekunden in der Form 371.19 angegeben. Alle Versionen danach geben die Zeit in Form Stunden:Minuten:Sekunden.Millisekunden aus, was Clipbucket bis inklusive Version 2.5 nicht verarbeiten kann. Dadurch werden die Dateien zwar erfolgreich konvertiert, aber haben die Duration 0. Dadurch, dass in den Logs auch keine korrekte Zeit steht, funktioniert auch die Funktion Repair Video Duration nicht.
Eine Lösung ist das Verändern des Quelltextes von Clipbucket. Dazu editiert man die Datei includes/classes/conversion/ffmpeg.class.php vor der Zeile 360.
$duration = (float)$args[3];
Folgende Zeilen lösen das Problem:
$args[3] = substr("$args[3]",0,-3); # millisekunden entfernen
$fix_temp = $args[3]; # variable erstellen und wert uebergeben
$fix_seconds = substr("$fix_temp",-2); # sekunden extrahieren
$fix_temp = substr("$fix_temp",0,-3); # zeichen inklusive : entfernen
$fix_minutes = substr("$fix_temp",-2); # minuten extrahieren
$fix_temp = substr("$fix_temp",0,-3); # zeichen inklusive : entfernen
$fix_hours = substr("$fix_temp",-2); # stunden extrahieren
$fix_temp = $fix_hours*3600 + $fix_minutes*60 + $fix_seconds; # gesamtzeit berechnen
$duration = $fix_temp; # gesamtzeit uebergeben
#$duration = (float)$args[3]; # alten befehl auskommentieren
Wer die Datei nicht selbst ändern möchte kann folgende Datei herunterladen ffmpeg.class.php.tar und im Verzeichnis includes/classes/conversion entpacken und die alte Datei ersetzen.
Damit funktioniert Clipbucket auch mit der aktuellen FFMPEG Version 0.8.
Keine Kommentare »
Geschrieben von cartmen in Linux, tags: crypt, ext, Festplatte, Linux, ntfs, Partition, truecrypt, Ubuntu, verschlüsseln, Verschlüsselung, Windows
Erste Schritte
Zur Erstellung dieser Konfiguration startet man den Assistenten “Create Volume” und wählt dann “Create a volume within a partition/drive”, dann im nächsten Schritt “Standard TrueCrypt volume”, wählt dann die Festplatte oder leere Partition. Im folgenden Fenster, in dem Anfängern geraten wird keine komplette Festplatte zur verwenden, wählen wir “Ja”. Im Fenster “Encryption Options” kann jeder das passende auswählen. Wer nicht genauer nachlesen möchte kann hier die Standardeinstellung beibehalten. Im nächsten Fenster trägt man dann das Passwort zweimal ein und geht auf Weiter. Dann kommt das Fenster “Large Files” und hier wählt man, dass man Dateien mit mehr als 4GB verwenden möchte.
Formatieren
Jetzt kommt das Fenster, in dem man das Dateisystem auswählen soll. Leider gibt es unter Linux nur Ext Dateisystem zur Auswahl. Da ich die Platte auch unter Windows verwenden möchte, wähle ich hier “None” und gehe auf Weiter. Dann kommt der letzte Schritt, bei dem man die Maus möglichst zufällig bewegen soll. Nachdem man dies für einige Zeit gemacht hat klickt man auf “Format” und wartete einige Zeit, bis der Vorgang abgeschlossen ist.
Dateisystem anlegen
Einbinden
Da die erstellte Partition noch kein Dateisystem hat funktioniert das übliche Einbinden mit Truecrypt nicht, sondern man muss dies mit der Konsole machen.
truecrypt --filesystem=none /dev/sdc
Darauf erscheint ein Fenster, in dem man das Passwort eingeben muss. Danach kann man das Dateisystem erstellen.
NTFS Dateisystem erstellen
Zur Erstellung eines NTFS Dateisystems reicht folgender Befehl aus:
sudo mkfs.ntfs --quick /dev/mapper/truecrypt1
Damit ist die Erstellung der Truecrypt Partition abgeschlossen und das Dateisystem erstellt und man kann sie unter Linux und Windows verwenden.
2 Kommentare »
Geschrieben von cartmen in Linux, tags: automatisch, datum, event, exif, exiftran, foto, jpeg, jpg, kamera, nummerieren, ordner, png, rotieren, script
Folgendes Script dient dazu etwas mehr Ordnung in die Fotosammlung zu bringen. Dazu nutzt es die EXIF Information Kameraausrichtung um die Bilder korrekt zu drehen und das Aufnahmedatum um dieses in den Dateinamen einzutragen. Dem Script wird dann noch übergeben, ob man die Originaldateien behalten möchte und welche Veranstaltung auf den Fotos ist.
Um das Script zu verwenden müssen die Programme exif und exiftran installiert sein und das Script im Ordner der Fotos liegen.
Achtung: Das Script dreht die Originalbilder immer, auch wenn ihr “keep” als Parameter verwendet habt.
#!/bin/bash
# Script fuer das automatische Drehen von Fotos sowie
# Hinzufuegen von Event und Datum
# Das Script muss im Ordner der Fotos liegen
# Benötigte Programme: exif, exiftran
# geschrieben von Kai Fitzer am 08.Juni 2011
# Paramater:
# 1 - Originale behalten ja/nein
# 2 - Event
# 3 - Dateiendung
# Dateiname: FotoNr_Event_Datum.Dateiendung
if [ -z "$1" ]
then
echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
echo "Please choose if you want to delete or keep original files as first parameter"
exit 1
else
if [ "$1" = "keep" ]
then CMD="cp"
elif [ "$1" = "delete" ]
then CMD="mv"
else
if [ -z "$2" ]
then
echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
echo "Please give me an event name as second parameter"
exit 1
else
if [ -z "$3" ]
then
echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
echo "Please give me a file extension as third parameter"
exit 1
fi
fi
fi
fi
ID=1
for i in *.$3 ; do
if [ "$ID" -lt 10 ]
then LONGID="000"$ID
elif [ "$ID" -lt 100 ]
then LONGID="00"$ID
elif [ "$ID" -lt 1000 ]
then LONGID="0"$ID
fi ;
exiftran -ia $i ;
DATE=$(exif $i --ifd 0 --tag 0x0132 | grep Value | cut -c 10-19 | tr ':' - ) ;
$($CMD $i $LONGID"_"$2"_"$DATE"."$3) ;
ID=`expr $ID + 1`;
done
exit 0
Ein typischer Aufruf sieht so aus:
./picture.sh delete "Party_bei_XYZ" JPG
Dieser Befehl wird alle JPG (Groß- und Kleinschreibung beachten) Dateien anpassen, wobei die Originaldateien verändert werden und dann wie folgt heißen:
- 0001_Party_bei_XYZ_2011-02-13.JPG
- 0002_Party_bei_XYZ_2011-02-13.JPG
- 0003_Party_bei_XYZ_2011-02-13.JPG
- …
- 0361_Party_bei_XYZ_2011-02-14.JPG
1 Kommentar »
Geschrieben von cartmen in Linux, tags: apache2, bucket, clip, clipbucket, flash, Linux, mysql, php, plattform, stream, youtube
Die Installation von Clipbucket ist eigentlich trivial, die Einrichtung ist allerdings mit einigen Hürden versehen. Daher werde ich hier die einzelnen Schritte bis zu einer funktionierenden Videoplattform erklären. Die Installation setzt voraus, dass PHP und MySQL bereits installiert und konfiguriert sind.
Herunterladen
Als erstes muss Clipbucket heruntergeladen werden. Die gepackte Version findet man unter dem Link http://sourceforge.net/projects/clipbucket/files/ClipBucket%20v2/
Datenbank und Datenbankbenutzer anlegen
Das Erstellen der Datenbank und des Datenbankbenutzers hängt von der installierten Software eures Webservers ab. Einfach geht dies mit PHPMyAdmin, was hier nicht genauer erklärt wird. Etwas schwieriger geht dies mit der Konsole von mysql.
Dort dann:
create database streaming;
grant usage on streaming.* to clipbucket_user@localhost identified by 'PASSWORD';
grant all privileges on streaming.* to clipbucket_user@localhost;
Entpacken
Die heruntergeladene Datei entpackt man in einem beliebigen Verzeichnis, das nicht das Verzeichnis des Webservers ist. In dem entpackten Ordner befindet sich ein Ordner “upload”, der die eigentlichen Dokumente enthält. Dann öffnet man im Browser die Adresse http://yourwebsite.com/install und klickt dort auf “Fresh Installation”.
Befehle, die dazu auf der Konsole ausgeführt werden (bitte den Link an die aktuelle Version von Clipbucket anpassen):
wget http://sourceforge.net/projects/clipbucket/files/ClipBucket%20v2/\
clipbucket-2.4-RC2-645.zip
unzip clipbucket-2.4-RC2-645.zip
cp upload/* /var/www/streaming/ -r
chown www-data:www-data /var/www/streaming/ -R
Anmelden
Direkt nach der Installation anmelden und das Admin Passwort ändern. Alle weiteren Schritte benötigen noch Vorarbeit, da die benötigten Pakete und Programme installiert werden müssen.
Benötigte Programme installieren
Bei Debian lassen sich die meisten Programme direkt mit aptitude/apt-get installieren. Folgender Befehl macht das.
sudo aptitude install gpac flvtool2 libx264-dev libtheora-dev libfaac-dev\
libmp3lame-dev libvorbis-dev libxvidcore-dev build-essential yasm checkinstall
Dabei fehlt noch das Programm ffmpeg, das in Debian nicht alle Funktionen bereitstellt und daher per Hand installiert werden muss.
FFMPEG kompilieren
Die folgenden Befehle werden dazu benötigt (bitte den Link an die aktuelle Version von FFMPEG anpassen):
cd /usr/local/src
wget http://ffmpeg.org/releases/ffmpeg-0.6.3.tar.gz
tar xzf ffmpeg-0.6.3.tar.gz
cd ffmpeg-0.6.3
./configure --enable-libx264 --enable-libxvid --enable-libfaac --enable-libvorbis\
--enable-libmp3lame --enable-libtheora --enable-postproc --enable-pthreads\
--enable-gpl --enable-nonfree
make
checkinstall --pkgname=ffmpeg --pkgversion "0.6.3" --backup=no --default
Uploading and Conversion Settings anpassen
Zur Seite http://yourwebsite.com/admin_area/main.php#current_2 gehen. (Admin-Panel -> Website Configurations -> Uploading and Conversion Settings)
- /usr/bin/local/php auf /usr/bin/php ändern, sofern notwendig
- /usr/bin/ffmpeg auf /usr/local/src/ffmpeg-0.6.3/ffmpeg
- Haken bei “Server Friendly Conversion” setzen
- Unten auf “Update Settings” klicken
Dann unter http://yourwebsite.com/admin_area/cb_mod_check.php prüfen, ob alles OK ist. Bei “MODULES VERSION” ist bei ffmpeg möglicherweise ein Ausrufezeichen, was man aber vernachlässigen kann, wenn bei “CHECKING FFMPEG CODECS” alles grün ist.
Cronjob einrichten
Die Default Cronjobs von Clipbucket sollen wie folgt aussehen (in /etc/crontab):
*/5 * * * * root php -q /var/www/streaming/actions/video_convert.php
5 * * * * root php -q /var/www/streaming/actions/verify_converted_videos.php
7 4,10,16,22 * * * root php -q /var/www/streaming/actions/update_cb_stats.php
Damit startet die Konvertierung in Flash Videos alle fünf Minuten, das Verifizieren der Videos stündlich und das Aktualisieren der Statistiken vier mal am Tag. Ich persönlich verwende diese Cronjobs nicht, da sie bei mir dazu geführt haben, dass immer wieder ein neuer Konvertierungsprozess gestartet wird und der Rechner immer langsamer wird, bis er nicht mehr reagiert. Ich habe mir dazu ein Script geschrieben, dass eine neue Konvertierung nur startet, wenn keine mehr läuft.
#!/bin/bash
TIME=$(date)
case "$1" in
convert)
STATE=$( ps aux |grep ffmpeg |grep root -c )
if [ "$STATE" -gt 1 ]
then echo "$TIME: Prozess laeuft noch - gehe schlafen"
else
echo "$TIME: Kein Prozess gefunden - starte konvertieren"
php -q /var/www/streaming/actions/verify_converted_videos.php
php -q /var/www/streaming/actions/update_cb_stats.php
php -q /var/www/streaming/actions/video_convert.php &
fi
;;
*)
echo "Usage: ./clipbucket_script.sh convert"
exit 1
;;
esac
exit 0
Mein Cronjob sieht dann so aus:
*/5 * * * * root /usr/local/sbin/clipbucket_script.sh convert
Optional – Ordner zur Speicherung der Videos ändern
Clipbucket speichert von Haus aus alle Videos im Ordner “files”, also direkt im Ordner der Website. Bei meiner Konfiguration wollte ich dies nicht und Clipbucket lässt es nicht zu, dass man den Ordner ändert. Also blieben die Möglichkeiten mount bind oder einen Link zu setzen. Die Variante mount bind funktioniert leider nicht, daher muss ein Link her. Dazu verschiebt man den Ordner “files” in das gewünschte Verzeichnis und setzt dann einen Link.
mv /var/www/streaming/files /neuer/pfad/
ln -s /neuer/pfad/files /var/www/streaming/files
Clipbucket verlangt dabei, dass das Verzeichnis “files” dem Benutzer www-data gehört und die Dateirechte auf 0777 gestellt sind. Über den Sinn oder Unsinn dieser Vorgaben werde ich mich an dieser Stelle nicht auslassen. Ihr könnt dies einfach mit den folgenden zwei Befehlen umsetzen.
chown www-data:www-data /var/www/streaming/files/ -R
chmod 777 /var/www/streaming/files/ -R
7 Kommentare »
Um auf einfache Weise mehrere kleine MP3 Dateien zu einer zusammenzufügen benötigt man unter Linux keine zusätzliche Software, sondern nur den Befehl cat.
Um alle MP3 Dateien in einem Ordner zusammenzufügen öffnet man ein Terminal und wechselt in den entsprechenden Ordner. Danach führt man den folgenden Befehl aus:
cat *.mp3 > zusammengefuegt.mp3
Wichtig ist, dass man bei der Bezeichnung der ursprünglichen Dateien aufpasst, da sonst durch die Sortierung Fehler in der zusammengeschnittenen Datei entstehen. Beispielsweise sollte vermieden werden, dass eine Datei file1.mp3 und eine andere file10.mp3 heißt. Besser wäre file01.mp3 und file10.mp3.
Hat man viele Ordner, in denen wiederrum viele MP3 Dateien sind, so lassen sich auch diese zusammenfassen.
for i in cd*; do cat $i/*mp3 > TitelXY_$i.mp3; done
Dieser Befehl liest alle Ordner, die mit cd anfangen und fügt die darin enthalten MP3 Dateien zu einer zusammen, die dann TitelXY_cdnummer.mp3 benannt wird. Somit erhält man für jede CD eine Datei.
5 Kommentare »
Nach einem Upgrade auf die Version 10.04 (lucid) von Ubuntu fiel beim Erstellen eines LaTeX Dokumentes auf, dass das Paket floatflt in dieser Version von Ubuntu nicht mehr vorhanden ist. Sehr ärgerlich, wer dieses Paket benutzen will.
Abhilfe schafft ein nachträgliches installieren über cpan. Dazu müssen ein Terminal geöffnet, root Rechte erlangt und dann folgende Befehle ausgeführt werden.
mkdir -p /usr/share/texmf-texlive/tex/latex/floatflt
cd /usr/share/texmf-texlive/tex/latex/floatflt
rm -r /usr/share/texmf-texlive/tex/latex/floatflt/*
wget http://mirror.ctan.org/macros/latex/contrib/floatflt/floatflt.ins
wget http://mirror.ctan.org/macros/latex/contrib/floatflt/floatflt.dtx
latex floatflt.ins
texhash /usr/share/texmf-texlive
Nach Ausführen dieser Befehle kann man floatflt wieder verwenden.
3 Kommentare »
Geschrieben von cartmen in Android, tags: 2.1, Android, custom, eclair, flash, hero, htc, Linux, rom, Ubuntu, villain
Da vom Villain ROM häufig neue Versionen erscheinen, die Android 2.1 benutzen ist der Updatevorgang dort etwas einfacher. Wenn man bereits ein Villain ROM ab Version 5.x auf dem Handy installiert hat benötigt man vor dem Installieren keinen Wipe, also das Zurücksetzen auf Werkseinstellungen, mehr. Man kann also das ROM aus dem Internet herunterladen, auf die SD Karte kopieren und den Updatevorgang durchführen. Sollte man die neuen Live-Wallpaper verwenden wollen, so sollte man danach noch den Fix dafür installieren.
- Download des passenden ROMs: Villain ROM
- Kopieren auf SD Karte und dabei umbenennen: cp VillainROM5.4.zip sd-karte/update.zip
- Handy herunterfahren und im Wiederherstellungsmodus starten (Home Taste drücken und gedrückt lassen und dann Start Knopf drücken, dabei die Home Taste weiter gedrückt lassen)
- Nandroid Backup durchführen
- update.zip einspielen
- Handy neu starten
- Download des Live-Wallpaper-Fixes: Hotfix
- Kopieren auf SD Karte und dabei umbenennen: cp VillainLWRosiefix.zip sd-karte/update.zip
- Handy herunterfahren und im Wiederherstellungsmodus starten (Home Taste drücken und gedrückt lassen und dann Start Knopf drücken, dabei die Home Taste weiter gedrückt lassen)
- Nandroid Backup durchführen
- update.zip einspielen
- Handy neu starten
- Nachdem das Handy fertig gebootet ist noch einmal neustarten, damit man die Live-Wallpaper nutzen kann
Keine Kommentare »
Geschrieben von cartmen in Android, tags: adb, Android, certificate, imap, k9, Linux, mail, selbst, self-signed, server, signiert, smtp, Ubuntu, zertifikat
Achtung: Diese Anleitung ist inzwischen veraltet, da sowohl das Android-Standard-Mail-Programm, als auch K9 selbst signierte Zertifikate zulassen. Sollte es wider Erwarten nicht von Haus aus funktionieren, dann wird diese Anleitung wahrscheinlich Abhilfe schaffen.
Auf Android Handys ist der E-Mail nicht ganz so einfach, da selbstsignierte Server-Zertifikate nicht gestattet sind. Sowohl im hauseigenen Mail-Programm, als auch in K9-Mail erhält man eine Fehlermeldung, dass dem Zertifikat des Servers nicht vertraut wird und somit ist kein Empfang von E-Mails eines eigenen Mail-Servers möglich.
Die Fehlermeldung sollte so, oder so ähnlich aussehen:
E/CertificateChainValidator( 5284): java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
Abhilfe schafft ein Hinzufügen der Server-Zertifikate in die Liste der vertrauenswürdigen Zertifikate. Hierzu benötigt man allerdings ein gerootetes Android-Handy.
Im ersten Schritt lädt man die öffentliche Zertifikate des IMAP und SMTP-Servers auf den eigenen Rechner.
Des weiteren benötigt man das Android-SDK und die letzte Version des bcprov-jdk16-NNN.jar.
Das Android-SDK kann man einfach in ein beliebiges Verzeichnis entpacken und sofort nutzen. Die bcprov-jdk16-NNN.jar muss noch installiert werden. In meiner Ubuntu Linux Umgebung musste ich die Datei dazu in das Verzeichnis /usr/lib/jvm/java-6-openjdk/jre/lib/ext/ verschieben.
Dann kann man die beiden Zertifikate in die Liste der vertrauenswürdigen Zertifikate hinzufügen, indem man folgenden Befehl auf dem PC ausführt:
keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_imap -file imap_certificate.pem
und danach dann selbiges noch einmal für das SMTP Zertifikat:
keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_smtp -file smtp_certificate.pem
Somit erhält man eine Datei cacerts.bks, die man in das System des Handys einfügen muss.
Im tools Ordner des Android-SDK findet sich eine Datei adb. Diese muss man ausführbar machen und dann probieren, ob das Handy mittels ./adb devices aufgelistet wird. Sollte dies nicht der Fall sein, so ist das Handy entweder nicht gerootet oder das Betriebssystem kann das Handy nicht als USB-Gerät erkennen. In beiden Fällen sollte man sich im Internet belesen, wie man adb für sein Betriebssystem und Handy zum laufen bringt.
Sollte das Handy erkannt werden so kann man die Datei auf das Handy verschieben, nachdem man das Dateisystem schreibbar eingebunden hat. Dazu diesen Befehl verwenden:
./adb shell mount -o remount,rw /dev/block/mtdblock3 /system
, dann die Datei kopieren
./adb push cacerts.bks /system/etc/security/
und das Dateisystem wieder nur lesbar einhängen mit
./adb shell mount -o remount,ro /dev/block/mtdblock3 /system
.
Jetzt kann man das Handy vom PC trennen und die E-Mail-Prozesse töten oder, wenn man nicht weiß, wie man Prozesse beendet, das Handy neustarten. Im Anschluss kann man sowohl im Android-Mail-Programm, als auch in K9-Mail E-Mails von diesem Server empfangen und erhält keine Fehlermeldung mehr.
Zusammenfassung der Befehle
- Herunterladen von Android-SDK und der letzten Version des bcprov-jdk16-NNN.jar
- Entpacken des Android-SDK
- Installation der bcprov-jdk16-NNN.jar Datei mit:
sudo mv bcprov-jdk16-145.jar /usr/lib/jvm/java-6-openjdk/jre/lib/ext/
- Herunterladen der öffentlichen Server-Zertifikate (in meinem Fall mit
scp mailserver:/etc/ssl/certs/imap_certificate.pem .
und
scp mailserver:/etc/ssl/certs/smtp_certificate.pem .
)
-
keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_imap -file imap_certificate.pem
für das IMAP Zertifikat
-
keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_smtp -file smtp_certificate.pem
für das SMTP Zertifikat
-
./adb shell mount -o remount,rw /dev/block/mtdblock3 /system
-
./adb push cacerts.bks /system/etc/security/
-
./adb shell mount -o remount,ro /dev/block/mtdblock3 /system
- Handy von PC trennen und E-Mail-Prozesse beenden oder Handy neu starten
3 Kommentare »
|