Por Fernando Acero
Tras comentarse los problemas de la licencia de TrueCrypt (TrueCrypt se distribuye gratuitamente y su código fuente está disponible, pero bajo una licencia no libre) en varias listas, al final se tomó la decisión salomónica de eliminar el paquete, incluso del repositorio "non-free" de Mandriva, por posibles problemas legales.
Durante un tiempo hubo disponible una versión de TrueCrypt para Mandriva, que se denominó RealCrypt para cumplir con los requisitos de la licencia, pero esa opción ya no está disponible en los repositorios de la versión 2010 de Mandriva, aunque sí lo está para otras distribuciones como Fedora o Suse.
Por ello, si queremos usar TrueCrypt en nuestra flamante Mandriva 2010, no tenemos más remedio que compilarlo e instalarlo nosotros mismos. La verdad es que es una pena que esta magnífica aplicación de seguridad no tenga una licencia libre, pero así está el asunto y no parece que vaya a cambiar en breve...
Para proceder a la compilación en la Mandriva 2010 tenemos que hacer algunas cosas previamente:
a) Instalar las cabeceras del PKCS #11: Cryptographic Token Interface Standard, en su versión 2.20. Para ello, nos bajaremos los siguientes archivos:
Una vez bajados, los guardaremos como root en el directorio /usr/include/. Después, tenemos que instalar todas las dependencias de Truecrypt 6.3a en sus versiones "devel", lo que se puede hacer como root mediante el mandato, urpmi nombre-devel, por ejemplo:
urpmi libfuse-devel
La lista completa de dependencias está en la página de descargas de TrueCrypt. Aunque pone dev, que sería la opción para Debian, nosotros tenemos que poner -devel detrás de los nombres de todos los paquetes que aparecen listados.
Un caso particular de las dependencias es la librería libiconv-1.13.1, que no está disponible en Mandriva 2010. Tras descargarla del proyecto GNU, la descomprimiremos mediante el mandato:
tar xzvf libiconv-1.13.1.tar.gz
Y la instalaremos mediante la secuencia de mandatos:
cd libiconv-1.13.1 ./configure --prefix=/usr/lib/ make make install ldconfig
Si no usamos el modificador --prefix=/usr/lib/, la librería se instalará en /usr/local/lib/ y el sistema no la localizará adecuadamente si no modificamos el archivo /etc/ld.so.conf. Para ello, sería necesario añadir la línea /usr/local/lib/ y luego ejecutar el mandato ldconfig.
También necesitaremos los paquetes:
Y lógicamente, la última versión de TrueCrypt:
Primero los tenemos que descomprimir usando los mandatos:
tar xzvf TrueCrypt 6.3a Source.tar.gz tar xzvf wxWidgets-2.8.10.tar.gz
Después, iremos al directorio en el que hemos descomprimido las fuentes de TrueCrypt usando el mandato:
cd truecrypt-6.3a-source
Y compilaremos las librerías wxWidgets mediante el mandato:
make WX_ROOT=[directorio donde están las fuentes de wxWidgets/]wxWidgets-2.8.10 wxbuild
Finalmente, compilaremos TrueCrypt usando el modificador WXSTATIC=1, ya que no tenemos las librerías compartidas ni las cabeceras de wxWidgets:
make WXSTATIC=1
Al finalizar la compilación, nos debería aparecer el ejecutable de TrueCrypt en el directorio /truecrypt-6.3a-source/Main/, con lo que lo podremos copiar al directorio /usr/bin/ y hacerlo ejecutable por todos los usuarios mediante el mandato:
chmod a+rx truecrypt
Si queremos que los usuarios puedan montar las unidades cifradas, debemos modificar como usuario root el archivo /etc/sudoers. Por ejemplo, si escribimos:
fernando ALL=(ALL) ALL
Así el usuario fernando podrá usar cualquier mandato tras hacer sudo y escribir su contraseña de usuario correctamente.
"Copyleft 2010 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
Una duda sobre la licencia
Annubis7 Abril 2010 - 11:18am
¿Qué problema tendría exactamente alguien que quisiera empaquetar el programa?
Para esto hay opiniones para todos los gustos
Fernando Acero7 Abril 2010 - 8:48pm
Creo que lo mejor que puedes hacer es ir a los foros de Mandriva o Debian y ver las opiniones de unos y de otros:
http://lists.freedesktop.org/archives/distributions/2008-October/000276....
Creo que el problema está en la clara dicotomía entre fuentes abiertas y software libre.
Un saludo, Fernando Acero
No consigo compilar
Boca6 Abril 2010 - 10:20pm
No consigo compilar las librerías wxWidgets, el enlace que pones apunta a wxGTK, en wxGTK no consigo encontrar el "directorio donde están las fuentes de wxWidgets", me he bajado también wxWidgets-2.8.10, pero al ir a compilarlo, me dice que no hay ninguna regla para construir el objeto wxbuild.
Imagino que todo esto es porque esa regla está en uno de los directorios de wxWidgets/src , pero no consigo encontrarlo.
¿Alguna pista?, ¿podríais poner la ruta relativa desde la carpeta en que se descomprime?, ¿es wxWidgets o wxGTK?
Como es lógico...
Fernando Acero7 Abril 2010 - 9:19am
Como es lógico, si nos bajamos el archivo wxGTK-2.8.10.tar.gz, el mandato adecuado para descomprimirlo es:
tar xzvf wxGTK-2.8.10.tar.gz
Un saludo, Fernando Acero
Depende del sitio y del nombre del directorio
Fernando Acero7 Abril 2010 - 9:16am
Hola Boca:
El mandato para compilar depende de la trayectoria y del nombre del directorio de descompresión, que a su vez, depende del nombre del TarGZ que te hayas bajado, pero en mi caso sería:
make WX_ROOT=[directorio donde están las fuentes de wxWidgets/]wxGTK-2.8.10 wxbuild
es decir, con la trayectoria completa en donde he descomprimido el archivo wxGTK-2.8.10.tar.gz, en mi caso sería:
make WX_ROOT=/home/fernando/tmp/wxGTK-2.8.10 wxbuild
Creo que es un error que se me ha colado en el artículo, gracias por el aviso.
Un saludo, Fernando Acero
Bueno, creo que debí entender
Boca7 Abril 2010 - 6:38pm
Bueno, creo que debí entender algo mal y, además, teclear algo mal, entendí que las fuentes estarían en /home/****/Download/wxGTK-2.8.10/src/
Ahora, al intentar compilar me sale:
configure: error: Can't use --enable-std_string without std::wstringg or std::basic_string
make: *** [wxbuild] Error 1
Resulta demasiado críptico para mi.
Creo que puedes tener un problema de dependencias
Fernando Acero7 Abril 2010 - 8:45pm
Dime lo que te sale tras hacer ./configure en el directorio wxGTK-2.8.10
Un saludo, Fernando Acero
Más o menos lo mismo
Boca7 Abril 2010 - 10:44pm
Más o menos lo mismo, al hacer ./configure me salió un aviso diciendo que me faltaba algo de GTK+, de modo que instalé todos los paquetes donde salía GTK+ <|:P
Ahora sale:
configure: error: Can't use --enable-std_string without std::wstring or std::basic_string
make: *** [wxbuild] Error 1
(Juraría que antes olvidé poner
Mucho me temo....
Fernando Acero8 Abril 2010 - 2:39pm
Mucho me temo que tienes un problema de dependencias, recuerda que debes instalar paquetes "devel", seguro que te falta algo, yo compilo sin problemas.
Prueba a instalar libgtk+-devel-1.2.10-50mdv2009.1.i586
Pero seguro que ./configure te da más información sobre cosas que te pueden faltar.
Un saludo, Fernando Acero
Lo logré
Boca8 Abril 2010 - 6:51pm
Al final parece que lo he logrado, aunque no puedo dar una receta de cómo lo he hecho.
Ejecuté ./configure y me puse a instalar, como un loco, todo lo que aparecía en avisos y en "no" que pudiera parecerse y estuviera en los repositorios (me temo que he instalado decenas de programas inútiles, para mi) y volví a empezar de nuevo.
Por cierto, libgtk+-devel-1.2.10-50mdv2009.1.i586 ya lo tenía instalado.
Muchísimas gracias
Pues la verdad....
Fernando Acero9 Abril 2010 - 1:16pm
Hola Boca:
Pues la verdad es que me alegro de que lo hayas logrado, de todos modos, todo lo que hayas instalado en la Mandriva de más, te dirá que es huérfano y que lo puedes eliminar mediante el mandato urpme --auto-orphans.
Como ves, era un tema de dependencias y has encontrado la forma de solucionarlas, lo que ya es un logro que te servirá para otros casos.
Felicidades.
Un saludo, Fernando Acero
Alternativas libres
sansatan6 Abril 2010 - 7:25pm
Nunca está de más recordar que existen alternativas libres para el cifrado de particiones (dmcrypt y cryptsetup) incorporadas al kernel o bien otras en espacio de usuario para cifrar directorios y/o archivos (encfs y ecryptfs).
Tienes razón
Fernando Acero7 Abril 2010 - 9:22am
Tienes razón, de hecho yo uso esas opciones, pero si quiero tener portabilidad de información entre plataformas Linux y MAC y Windows, mediante pendrives cifrados, no tengo más remedio que recurrir a TrueCrypt, que es la única opción multiplataforma y portable.
Un saludo, Fernando Acero
Muchas gracias
usrdxt5 Abril 2010 - 10:57am
Muchas gracias por el tutorial, acabo de instalar Mandriva y uno de los imprescindibles es TrueCrypt :)