Antes de profundizar en el tutorial en sí, aclaremos algo. El propósito de este artículo no es discutir las implicaciones morales o de seguridad del uso de TrueCrypt en 2020. Si está pensando:pero espere, está VeraCrypt, ese no es el enfoque de este artículo. Lo que quiero mostrarte aquí son los detalles técnicos sobre cómo hacer que TrueCrypt se ejecute en una distribución moderna de Linux, independientemente de por qué o si deberías hacerlo.
Es posible que no tenga ningún problema:tome el antiguo archivo TrueCrypt, extráigalo, instálelo y disfrútelo. Pero también es posible que haya tenido una copia funcional de TrueCrypt, y ahora, después de una actualización del sistema, ya no funcione. Si ese es el caso, me sucedió cuando actualicé mi Vivobook Kubuntu Bionic a Focal, y no puede darse el lujo de portar sus contenedores existentes o arriesgar sus datos, entonces permítame describirle los pasos que necesita para que TrueCrypt vuelva a funcionar.
Problema con más detalle
Una vez que actualicé el Vivobook, noté que TrueCrypt ya no se inicia. Si lo intenta desde la línea de comandos, el error que verá es el siguiente:
truecrypt
ERROR:ld.so:el objeto 'libgtk3-nocsd.so.0' de LD_PRELOAD no se puede precargar (no se puede abrir el archivo de objeto compartido):ignorado.
truecrypt:error al cargar bibliotecas compartidas:libSM.so.6:no se puede abrir el archivo de objeto compartido:no existe tal archivo o directorio
Esencialmente, hay dos problemas. Faltan dos bibliotecas:libgtk3-nocsd y libSM, pero mientras que la última puede satisfacerse (tanto en arquitecturas i386 como amd64), la primera ya no está disponible como paquete de 32 bits en Focal. Sin embargo, la biblioteca existe en los archivos de la versión 18.04 y esto es lo que usaremos para nuestra corrección.
Solución
Dos partes aquí. Primero, el más fácil, instale el paquete libSM faltante:
sudo apt-get install libsm6:i386
En segundo lugar, descargue la versión de 32 bits de la biblioteca libgtk3-nocsd del archivo Bionic:
https://packages.ubuntu.com/bionic/i386/libgtk3-nocsd0/download
Extraiga el paquete deb. Hay varias maneras de hacer esto. Puede hacerlo haciendo clic con el botón derecho en el explorador de archivos, utilizando las herramientas ar, tar y xz, o mediante dpkg. La herramienta ar es parte del paquete binutils, mientras que xz es parte del paquete xz-utils. Tome estos primero si no están instalados:
sudo apt-get install binutils xz-utils
ar x "nombre de archivo.deb"
Luego, verá tres archivos:debian-binary, control.tar y data.tar. Los archivos tar también se pueden comprimir opcionalmente en diferentes formatos, como gz o xz. Eso no debería preocuparte. Necesitamos extraer el último:
tar xf "datos.tar(.gz|xz)"
Alternativamente, puede usar el comando dpkg:
dpkg -x "nombre de archivo.deb" "carpeta de salida"
En su interior, estructurado en una jerarquía de directorios, estará el archivo libgtk3-nocsd.so.0. Cópielo en cualquier lugar que desee en su sistema. Ahora, necesitamos precargarlo, antes de lanzar TrueCrypt:
LD_PRELOAD="algún lugar"/libgtk3-nocsd.so.0 truecrypt
Y eso es todo. TrueCrypt ahora ejecutará:
En este punto, puede crear un script contenedor para usted mismo, que básicamente contendrá la línea anterior, para que pueda iniciar TrueCrypt sin tener que volver a pensar en la biblioteca adicional.
Conclusión
Me gusta etiquetar este tipo de tutoriales como triviales-complejos. Por un lado, la solución es relativamente simple. Por otro lado, la precarga no es algo en lo que uno deba pensar a diario. O alguna vez. Y, sin embargo, si tiene datos valiosos almacenados en contenedores TrueCrypt, el último momento en el que desea enfrentar problemas de software es cuando necesita acceder a esos datos. Si es un usuario de Linux y todavía está usando este programa en las distribuciones más recientes, esta pequeña guía debería ayudarlo a resolverlo. Y hemos terminado.