Estas aquiTrueCrypt / TrueCrypt 5 en Debian Etch
TrueCrypt 5 en Debian Etch
27-FEB: Nueva actualización (punto 12) explica cómo solventar la limitación del asistente (que sólo permite crear volúmenes FAT) y poder crear un volumen ext3.
27-FEB: Nueva actualización (punto 11) explica cómo ejecutar TrueCrypt 5 como un usuario normal.
Escrito para Kriptópolis por Anónimo (25-FEB) y editado por admin (26-FEB, 27-FEB)
A día de hoy está disponible la versión 5.0a. Existe un paquete .deb para Ubuntu, pero no funciona en Debian Etch.
Para solucionar esto hay que compilar directamente TrueCrypt. A continuación explico los pasos necesarios para conseguirlo...
- Descargar el código fuente de TrueCrypt y de wxWidgets, de las siguientes direcciones (respectivamente):
- http://www.truecrypt.org/downloads2.php (descargar el .tar.gz para Linux).
- http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.7.tar.gz
- Descomprimir el código fuente de TrueCrypt en nuestro home:
tar xzvf TrueCrypt 5.0a Source.tar.gz
- Descomprimir el código fuente de wxWidgets en nuestro home:
tar xzvf wxWidgets-2.8.7.tar.gz
- Parcheamos el código fuente de TrueCrypt:
cd truecrypt-5.0a-source
- El fichero Makefile incluye la opción de "linkage" --hash-style, que no está disponible aún en el comando "ld" de Debian Etch. Por tanto, debemos eliminar dicha opción:
----------
ifeq "$(TC_BUILD_CONFIG)" "Release"
C_CXX_FLAGS += -fdata-sections -ffunction-sections
LFLAGS += -Wl,--gc-sections -Wl,--hash-style=sysv -> modificamos sólo esta línea y la dejamos así:LFLAGS += -Wl,--gc-sections -Wl
WXCONFIG_CFLAGS += -fdata-sections -ffunction-sections
WXCONFIG_CXXFLAGS += -fdata-sections -ffunction-sections
endif
---------- - En la versión 5.0a no funcionan las opciones de montaje en la línea de comandos con --fs-options. Para solucionarlo, buscamos en el directorio de TrueCrypt el fichero Main/CommandLineInterface.cpp:
Añadimos estas líneas:
if (parser.Found (L"fs-options", &str)) { ArgMountOptions.FilesystemOptions = wstring (str); }Justo antes de:
------
if (parser.Found (L"new-keyfiles", &str))
ArgNewKeyfiles = ToKeyfileList (str);
------
- El fichero Makefile incluye la opción de "linkage" --hash-style, que no está disponible aún en el comando "ld" de Debian Etch. Por tanto, debemos eliminar dicha opción:
- Instalar paquetes adicionales necesarios (suponemos que ya tenemos el entorno de compilación, gcc, make, etc., correctamente instalado):
$ su # apt-get install fuse-utils libfuse2 libfuse-dev
(libfuse-dev es sólo para compilar, y lo podremos eliminar después de esa fase)
- Compilar TrueCrypt:
$ cd ~/truecrypt-5.0a-source $ make WX_ROOT=~/wxWidgets-2.8.7 wxbuild $ make
- Copiar el ejecutable obtenido al directorio /usr/local/bin:
$ su # cp ~/truecrypt-5.0a-source/Main/truecrypt /usr/local/bin
- También podemos copiar la documentación:
# mkdir -p /usr/local/share/doc/truecrypt/ # cp "~/truecrypt-5.0a-source/Release/Setup Files/*" /usr/local/share/doc/truecrypt/
- Cargar el módulo (del kernel) de fuse:
# modprobe fuse
(podemos añadir "fuse" en una línea del fichero /etc/modules para que siempre se cargue al arrancar el sistema)
- Ya podemos lanzar truecrypt, por ejemplo desde una consola de gnome:
$ truecrypt
Si deseamos montar un volumen truecrypt ya creado desde la consola, podríamos hacer, por ejemplo:
$ truecrypt --fs-options="utf8" fichero.tc /mnt/mivolumentc/
Para montar el volumen contenido en el fichero "fichero.tc", en el directorio "/mnt/mivolumentc/"
- TrueCrypt trabaja sobre dispositivos y por tanto necesita permisos de root tanto para crear como para montar volúmenes cifrados. Para que un usuario común pueda ejecutar TrueCrypt es necesario editar /etc/sudoers:
$ su # visudo
Añadir:
# User privilege specification usuario ALL=(root) NOPASSWD: /usr/local/bin/truecrypt
Lógicamente has de sustituir "usuario" por el nombre del usuario que quieres pueda ejecutar TrueCrypt.
Ahora ya puedes ejecutar TrueCrypt desde un icono del escritorio o una consola con el comando sudo truecrypt.
- A la hora de crear volúmenes cifrados mediante el asistente, éste sólo permite elegir entre ningún sistema de ficheros y FAT32. Para poder crear un volumen con ext3 comenzamos por elegir FAT en el asistente. Tras comprobar que la unidad existe y se monta correctamente, y antes de que contenga ningún fichero, procedemos a desmontarla:
$ su # umount /media/truecrypt1 # mkfs.ext3 /dev/loop0
(eso si lo hemos creado en el slot 1; si no, basta cambiar los datos por los que corrrespondan).
Basta montar el volumen de nuevo y podremos comprobar (con un simple mount) que ya tiene un sistema de ficheros ext3, tal como deseábamos.
Espero que sea de utilidad.




Esto es lo que más me gusta del software libre, siempre es posible mejorar y siempre hay opciones.
El primer parche supongo que funcionaría también con Mandriva 2007 sin necesidad de actualizar las binutils, aquí está el gusto del usuario. Desde mi punto de vista creo que actualizar las binutils no hace ningún daño y nos permite compilar sin problemas aunque se use --hash-style.
El segundo parche me parece mucho más interesante y me comprometo, cuando tenga tiempo, a probarlo con mi Mandriva 2007.
Señalar que este artículo dedicado a Debian da por sentado que está disponible el módulo fuse, en mi caso, es decir, con mi Mandriva es necesario instalar el paquete fuse para que esté disponible el módulo y como comenté, tuve que compilar la última versión para que todo me funcionase decuadamente.
Muchas gracias por esta información, que si me funciona con Mandriva, añadiré como referencia a mi artículo original ya que considero que es muy interesante.
Un saludo, Fernando Acero
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Cualquiera de los 2, me dice lo siguiente en mi debian etch:
hobbiton:/usr/src/truecrypt-5.0a-source# patch Makefile Makefile.patch
patching file Makefile
Hunk #1 FAILED at 103.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
Tambien he probado con esta opcion clasica despues
hobbiton:/usr/src/truecrypt-5.0a-source# patch -pnum Makefile.patch
patch: **** strip count num is not a number
Total que o algo hago mal o el parche no esta bien :(
- --
http://telekable.org/personal/
Usuario de Linux # 365982
http://counter.li.org
- -------------------------
Para obtener mi llave publica de GnuPG visita http://telekable.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: http://firegpg.tuxfamily.org
iD8DBQFHxDSU38GwTauXuZwRAqjiAKDGCWArD6W/bAiiWlYp6/00K2t5pwCgkKrn
YRGo7UAbtJuoZUCytsSi9y0=
=aCBM
-----END PGP SIGNATURE-----
--
http://telekable.org/personal/
Usuario de Linux # 365982
http://counter.li.org
-------------------------
Para obtener mi llave publica de GnuPG visita http://telekable.org/
Lo he probado y también me falla el patch, pero como son solo dos ficheros no tardas ni un minuto en editarlos al viejo estilo (a mano ;-).
También me faltaba por instalar el paquete libgtk2.0-dev (supongo que también valdría la versión 1.2).
Por lo demás todo parece ir guay (voy a ver si lo pruebo bien).
Otro excelente post :-D
Soy el autor del "artículo". Efectivamente falla el patch, copiándolo de aquí y pegándolo en Linux (uso gedit).
He comparado el fichero de texto obtenido así, con el mismo patch generado otra vez por mí, y obtengo el siguiente - curioso - resultado (.patch1 es el obtenido "copypasteando" de aquí y .patch2 es el calculado de nuevo):
--- Makefile.patch1 2008-02-26 21:39:10.000000000 +0100
+++ Makefile.patch2 2008-02-26 21:36:59.000000000 +0100
@@ -1,9 +1,9 @@
---- Makefile 2008-02-04 19:19:02.000000000 +0100
-+++ Makefile 2008-02-24 18:57:26.000000000 +0100
+--- Makefile 2008-02-04 19:19:02.000000000 +0100
++++ Makefile 2008-02-26 21:35:32.000000000 +0100
@@ -103,7 +103,8 @@
-
+
ifeq "$(TC_BUILD_CONFIG)" "Release"
- C_CXX_FLAGS += -fdata-sections -ffunction-sections
+ C_CXX_FLAGS += -fdata-sections -ffunction-sections
-LFLAGS += -Wl,--gc-sections -Wl,--hash-style=sysv
+#LFLAGS += -Wl,--gc-sections -Wl,--hash-style=sysv
+LFLAGS += -Wl,--gc-sections -Wl
¿Me da difencias entre dos ficheros iguales (vale, exceptuando las dos filas de cabecera, por las fechas)?
Lo único que se me ocurre es algún problema con la codificación de caracteres, retornos de carro, etc...
Así pues, insto a los interesados a editar manualmente los ficheros; terminarán antes.
En mi opinión esta línea sobra:
+#LFLAGS += -Wl,--gc-sections -Wl,--hash-style=sysv
He probado el método en mi Debian y he aprovechado para tratar de clarificar algunos pasos, mejorando la edición y cambiando la aplicación de parches por la edición manual de los ficheros. También he sustituido los comandos "sudo" por "su".
A mí me ha funcionado así perfectamente, pero es posible que aún se me haya colado algún gazapo.
Aprovecho la ocasión para agradecerle al anónimo autor del tutorial su esfuerzo y generosidad al compartir con todos este excelente método para que TrueCrypt 5.0a pueda funcionar perfectamente en Debian Etch.
Pues eso...
PD: A veces soy demasiado vago como para "loguearme".
Acabo de añadir el punto 11, que evita los problemas que daba la ejecución de TrueCrypt al solicitar reiteradamente la contraseña de root sin ningún resultado.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gracias por las correcciones, voy a probarlo con el tutorial actualizado
- --
http://telekable.org/personal/
Usuario de Linux # 365982
http://counter.li.org
- -------------------------
Para obtener mi llave publica de GnuPG visita http://telekable.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: http://firegpg.tuxfamily.org
iD8DBQFHxX5M38GwTauXuZwRArT8AJ479vas05pJjWcOxEfTr79WYpCyHwCgxcL6
FGOJbEmk+7USevsBo78WkwU=
=6eU+
-----END PGP SIGNATURE-----
--
http://telekable.org/personal/
Usuario de Linux # 365982
http://counter.li.org
-------------------------
Para obtener mi llave publica de GnuPG visita http://telekable.org/
Saludos y gracias por el articulo que me ha venido muy bien para probar el truecrypt en mi mandriva 2008, y ya funciona perfectamente: solo comentar que no hace falta en mandriva aplicar la parte de los los parches en el codico de truecrypt que comentas...sinplemente bajar con urpmi las librerias que comentas (fuse...etc) y compilar tal como dices en el directorio home del usuario...
Gracias de nuevo y saludos