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...

  1. Descargar el código fuente de TrueCrypt y de wxWidgets, de las siguientes direcciones (respectivamente):

     

  2. Descomprimir el código fuente de TrueCrypt en nuestro home:
    tar xzvf TrueCrypt 5.0a Source.tar.gz

     

  3. Descomprimir el código fuente de wxWidgets en nuestro home:
    tar xzvf wxWidgets-2.8.7.tar.gz

     

  4. Parcheamos el código fuente de TrueCrypt:
    cd truecrypt-5.0a-source
    1. 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
      ----------

       

    2. 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);
      ------

       

  5. 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)

     

  6. Compilar TrueCrypt:
    $ cd ~/truecrypt-5.0a-source
    $ make WX_ROOT=~/wxWidgets-2.8.7 wxbuild
    $ make
    

     

  7. Copiar el ejecutable obtenido al directorio /usr/local/bin:
    $ su
    # cp ~/truecrypt-5.0a-source/Main/truecrypt /usr/local/bin
    

     

  8. 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/
    

     

  9. 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)

     

  10. 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/"

     

  11. 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.

     

  12. 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.