Archiv/TrueCrypt/Problembehebung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Einen Editor öffnen

Diese Seite gehört zu dem Beitrag Archiv/TrueCrypt. Es wird beschrieben, wie sich evtl. bei der Installation auftretende Probleme lösen lassen.

Failed to load TrueCrypt kernel module

Dieser Fehler betrifft nur Ubuntu 7.10 Gutsy Gibbon.

insmod: error inserting '/usr/share/truecrypt/kernel/truecrypt-2.6.22.ko': -1 Invalid module format
FATAL: Module truecrypt not found.
Failed to load TrueCrypt kernel module

Wenn dieser oder ein ähnlicher Fehler bei der Installation des TrueCrypt deb Paktes für Ubuntu 7.10 auftritt ist zunächst per

uname -r 

zu prüfen ob der Kernel "2.6.22-14-generic" verwendet wird, da das Modul nicht mit Kernel 2.6.22-14-386 lauffähig ist. Ist dem nicht so, muss man den generischen Kernel mit folgendem Befehl im Terminal installieren:

sudo apt-get install linux-generic 

Dies müsste den aktuellsten generischen Kernel auch automatisch im Bootmenü eintragen. Danach muss das System neu gestartet werden! Anschließend sollten folgende Befehle ausgeführt werden

mkdir -p /lib/modules/2.6.22-14-generic/kernel/misc
cp /usr/share/truecrypt/kernel/truecrypt-2.6.22.ko /lib/modules/2.6.22-14-generic/kernel/misc/truecrypt.ko
depmod -a
modprobe truecrypt 

Wenn kein Fehler ausgegeben wurden konnte das TrueCrypt Modul erfolgreich geladen werden und das Problem ist behoben.

header file dm.h not found

Mit Kernel 2.6.15 (Dapper Drake) erscheint bei der Installation aus dem Quellcode nach Aufruf des Befehls ./build.sh möglicherweise die Fehlermeldung

Checking build requirements...
Error: Kernel source code is incomplete - header file dm.h not found.

In diesem Fall wird als Lösung vorgeschlagen, die Datei build.sh mit einem Editor zu öffnen [1], die Zeile

KERNEL_SRC=/usr/src/linux-$(uname -r)

umzuändern in

KERNEL_SRC=/usr/src/linux-source-2.6.15

und das Skript anschließend erneut aufzurufen.

Error in source file, line 35

Mit Kernel 2.6.15 (Dapper Drake) erscheint bei der Installation aus dem Quellcode nach Aufruf des Befehls sudo ./build.sh möglicherweise die Fehlermeldung

Building internal kernel modules (may take a long time)... In Datei, eingefügt von drivers/usb/net/zd1211/zdusb.c:41:
drivers/usb/net/zd1211/zddevlist.h:7:2: Fehler: #error "Error in source file, line 35"
make[4]: *** [drivers/usb/net/zd1211/zdusb.o] Fehler 1
make[3]: *** [drivers/usb/net/zd1211] Fehler 2
make[2]: *** [drivers/usb/net] Fehler 2
make[1]: *** [drivers/usb] Fehler 2
make: *** [drivers] Fehler 2

Hier sollte man die Datei /usr/src/linux-source-2.6.15/drivers/usb/net/zd1211/zddevlist.h in einem Editor mit Root-Rechten öffnen [1] und Zeile 7 auskommentieren:

/*
 * This is auto generated file, do not edit manualy.
 *
 * Source file version:
 *      $Id: zddevlist,v 1.5 2005/08/20 10:21:47 sagamore Exp $
 *
 * #error "Error in source file, line 35"
 */
#define VENDOR_
...

Danach wieder sudo ./build.sh ausführen und TrueCrypt installieren. Im Nachhinein empfiehlt es sich, die Änderung an der Datei wieder rückgängig zu machen.

Sekundenlange Aussetzer beim Schreiben auf ein Truecrypt-Laufwerk

Falls es bei Verwendung von ext3 in einem Truecrypt-Container (Datei oder Partition) alle paar Sekunden zu sekundenlangen "Hängern" des gesamten Systems kommt, bringt die Aktivierung eines Schreibpuffers (writeback buffer) für das Journal Linderung.

Hinweis:

Der Schreibpuffer hält Veränderungen des Journals einige Zeit im Speicher und schreibt sie nur sporadisch auf die Platte. Bei Abstürzen, Stromausfall o.ä. kann es dadurch zu einer Inkonsistenz zwischen Journal und Daten auf der Platte kommen, welche man jedoch durch eine Reparatur durch fsck.ext3 wieder beheben kann. Aus dem gleichen Grund sollte man externe Platten und Sticks mit aktiviertem Schreibpuffer auch immer korrekt aushängen/auswerfen, bevor man sie abzieht!

Den Schreibpuffer kann man auf zwei Arten aktivieren:

1. Beim Mounten des Containers:

truecrypt -M journal_data_writeback <container> <mountpoint> 

Für <container> und <mountpoint> müssen wie gewohnt der Truecrypt-Container und der gewünschte Einhängepunkt im Verzeichnisbaum angegeben werden.

2. Permanent mittels tune2fs im Superblock des Containers eintragen:

truecrypt -N 0 <container>
sudo tune2fs -o journal_data_writeback /dev/mapper/truecrypt0
truecrypt -d /dev/mapper/truecrypt0 

Bei der Variante mit tune2fs schließt man zuerst den Truecrypt-Container auf, ohne ihn zu mounten (die Option -N x mappt den entschlüsselten Container als /dev/mapper/truecryptx), da tune2fs nicht auf eingehängte Partitionen angewendet werden darf. Nach getaner Arbeit schließt man den Container wieder und kann ihn danach ganz normal einhängen. Der Journal-Schreibpuffer bleibt aktiv, auch ohne dass beim Einhängen die Option -M journal_data_writeback angegeben werden muss.

Fortan sollten keine Aussetzer mehr auftreten.

Hinweis:

Truecrypt vergibt die Nummern fortlaufend. Wenn also z.B. bereits zwei Truecrypt-Container eingehangen sind, würden diese unter /dev/mapper/truecrypt0 und /dev/mapper/truecrypt1 gemappt sein. In diesem Fall müsste man für einen weiteren Container, bei dem mittels obiger Methode der writeback buffer aktiviert werden soll, jede "0" in obigem Beispiel mit einer "2" ersetzen, da der nächste freie Mapper-Eintrag /dev/mapper/truecrypt2 wäre.

Den im Superblock gespeicherten Writeback-Puffer kann man mittels eines ^ vor der Option wieder deaktivieren:

truecrypt -N 0 container
sudo tune2fs -o ^journal_data_writeback /dev/mapper/truecrypt0
truecrypt -d /dev/mapper/truecrypt0 

text mode

Insbesondere unter KDE kann es zu der folgenden Fehlermeldung kommen: "This feature is currently supported only in text mode." In diesem Fall muß man lediglich zusätzlich den Parameter -t angeben. Der Vorgang läuft dann über das Terminal ab.