Mover un torrent de transmission a otro ordenador

Posted: marzo 24th, 2013 | Author: | Filed under: Sin categoría | Tags: , , , , | 1 Comment »

Una nota rápida para explicar como mover una descarga (completa o incompleta) de transmission a otro ordenador.

El escenario es sencillo, tengo los torrents divididos entre dos ordenadores, y se dió el caso de que quería mover uno de los torrents de uno de los ordenadores al otro. Mover toda la información de transmission de un ordenador a otro es sencillo, basta mover los ficheros descargados a la misma ruta en el otro ordenador, y copiar la carpeta ~/.config/transmission. Mover sólo uno es parecido, simplemente hay que ser un pelín más cuidadoso.

  1. Copiar del ordenador 1 a un almacenamiento temporal o similar los ficheros relacionados con nuestro torrent:
    • El fichero .resume en ~/config/transmission/resume
    • El .torrent en ~/config/transmission/torrent
    • El propio fichero descargado, si está incompleto da igual, reanudará la descarga desde el punto correcto.
    • Anotar la cantidad de datos descargados y enviados para ese fichero
  2. Abrir transmission en el ordenador 2 y abrir el .torrent del ordenador 1. Preferiblemente agregarlo en modo pausa para que no comience la descarga automáticamente
  3. Copiar a la ubicación del ordenador 2 donde se descargará el fichero, el fichero del ordenador 1
  4. En transmission, botón derecho sobre el torrent pausado, y “Verificar datos locales“.

Con esto estaría listo, pero si somos un poco más quisquillosos con las estadísticas y las opciones tenemos que efecutar un par de pasos más.

  1. Cerrar transmission en el ordenador 2
  2. Copiar el .resume del ordenador 1 al directorio adecuado en el ordenador 2
  3. Abrir con un editor de texto el fichero ~/config/transmission/stats.json y actualizar los valores de downloaded-bytes y uploaded-bytes

stats.json guarda las estadísticas de ejecución del programa, para actualizar los valores de interes simplemente multiplicaremos las megas descargadas/subidas por 1048576 (1024×1024) para pasar de megas y bytes y lo sumaremos a los valores que ya tenían.

Si es sólo para mover un fichero este procedimiento está bien, si es para mover más habría que hacer un script.

Referencias

 


Canciones de Karaoke a partir de vídeos del Youtube

Posted: diciembre 24th, 2012 | Author: | Filed under: Sin categoría | Tags: , , , , , , | No Comments »

Llegan las fechas navideñas, lo que implica fiestas hogareñas y con ello, los amantes del Karaoke se vuelven más exigentes. Como hacer para quitar la voz a uno de esos vídeos de Youtube creados en plan Karaoke. Hagamos un ejemplo con En El mundo genial de las cosas que dices de Maldita Nerea. Si te gusta el disco y lo compras a través de este enlace
yo me llevo un porcentaje que motiva a seguir escribiendo ;).

El primer paso es buscar en youtube o similar un vídeo donde alguien se haya molestado en añadir la letra a la canción. Buscando en el propio youtube el título de la canción + karaoke se encuentran muchos, por ejemplo este.

A continuación descargaremos el vídeo, hay muchas formas de hacerlo, pero una de las más sencillas es a través de keepvid. Llega con poner la dirección del vídeo que queremos descargar, y aceptar la ejecución del applet de java. Pasado un ratillo nos dará la opción de descargar el vídeo en varios formatos. Cualquiera de los formatos es válido, en este ejemplo usaremos MP4.

Para quedarnos con el audio de la canción usaremos la línea de comandos por ser lo más sencillo. Aunque también se puede hacer de forma gráfica.

ffmpeg -i fichero_original.mp4 -acodec copy audio.aac

Para tratar de eliminar la voz del cantante de la parte instrumental del canción usaremos Audacity. Hay varios tutoriales por ahí, tanto usando el efecto vocal removal como un poco más manual. Como este proceso es muy rápido y sencillo, prueba los dos procedimientos y quedate con el que tenga más calidad. La voz no es completamente eliminada pero si se reduce bastante. Podemos exportar el audio al formato que queramos, ya que el original estaba en AAC, lo exportaremos a este.

Para recombinar audio y vídeo, volvemos a usar la línea de comandos. Con la siguiente orden le estamos diciendo que coja el audio del fichero audio_sin_voz.aac, lo mezcle con el vídeo del fichero original (el audio original será descartado automáticamente) y producirá un nuevo vídeo de salida respetando los codecs originales.

ffmpeg -i audio_sin_voz.aac -i fichero_original.mp4 -vcodec copy -acodec copy Maldita_Nerea-El_mundo_genial_de_las_cosas_que_dices.mp4

Puedes ver como queda en mi youtube.


Si el liferea tarda mucho en arrancar…

Posted: febrero 4th, 2012 | Author: | Filed under: Sin categoría | Tags: , , , | 4 Comments »
$ eatmydata liferea

Liferea es un lector de feeds (como google reader, pero en aplicación de escritorio) libre que cumple su cometido. La verdad es que no me parece la aplicación definitiva para leer rss pero funciona.

Eso si, tiene un error enormemente molesto y es lo lento que es cuando arranca, sincroniza feeds o marcas toda una carpeta como leída.

Simplificando un poco, lo que está pasando es que el objetivo principal de los sistemas de ficheros modernos es evitar la pérdida accidental de información, de modo que se sacrifica rendimiento (y la duración del disco duro) ante problemas hipotéticos como el de que se vaya la corriente y el ordenador se apague de manera brusca. Por defecto, sqlite, que es la base de datos que emplea Liferea, pide muy a menudo al sistema operativo que se asegure de que la información que gestiona el programa está guardada en el disco duro. Es decir, cuando un programa quiere guardar algo en el disco duro, pide al sistema operativo que lo guarde, pero esto no tiene porque suceder de manera inmediata (se dice que la escritura es asíncrona). El sistema operativo puede mantenerlo en la RAM hasta que considera que es el momento idóneo de escribirlo en disco. Pero las aplicaciones también tienen la opción de forzar al sistema operativo a que los datos sean escritos (sincronizar), y está opción de forzar es lo que usa liferea tan a menudo.

Como este problema no es exclusivo de liferea si no que sucede en muchas aplicaciones, un desarrollador de debian, ha escrito un programa llamado eatmydata que permite desactivar las funciones de sincronización del sistema operativo para aquellos programas que nos interesen. De modo que si un programa ejecutado bajo el paraguas de eatmydata pide forzar el sincronizado, no sucederá nada, esa orden será ignorada. En general esto no es peligroso, pero hay que tener cuidado de cuando se usa y no hacerlo nunca con aplicaciones críticas. Con liferea haciendo copias de seguridad de vez en cuando no hay problema. Para instalar eatmydata llega con:

sudo apt-get install eatmydata

y para ejecutar un programa bajo eatmydata

eatmydata nombre_del_programa

Copia de seguridad de un blog en WordPress

Posted: julio 3rd, 2010 | Author: | Filed under: General | Tags: , , , , , , | No Comments »

Resulta conveniente realizar con regularidad una copia de seguridad de la información que tengamos en nuestro blog. Este backup deberíamos hacerlo como mínimo antes de una actualización importante del blog, por ejemplo antes de migrar de WordPress 2.x a la versión 3.

Hacer un backup de wordpress consiste en dos cosas:

  • Copiar los ficheros (imágenes, temas, …)
  • Copiar los artículos y configuraciones (la base de datos)

Existen algunos plugins que pueden ayudarnos en estas tareas, pero si no tienes tirria a la línea de comandos en este artículo se describe un método rápido y eficiente para hacer la copia. El único requisito es que nuestro proveedor de hosting nos proporcione acceso por ssh, que es lo más habitual. Para ahorrarnos meter la clave ssh cada vez que hagamos la copia podemos subirla al servidor en este artículo se explica como crearla y subirla pero en resumen consiste en ejecutar estos dos comandos (o sólo el segundo si ya tenemos una clave creada)

ssh-keygen -b 4096 -t rsa
ssh-copy-id usuario@servidor

El primer paso será hacer un volcado de la base de datos a un fichero en el servidor:

ssh usuario@servidor "mysqldump --opt --user=USUARIO_BD -p --host=URL_BD NOMBRE_BD > /ruta/fichero_a_guardar"

Por ejemplo

ssh fpuga@dreamhost.com "mysqldump --opt --user=fpuga_bd -p --host=localhost conocimientoabierto_bd_wordpress > conocimientoabierto/base_datos.sql"

La opción -p significa que nos preguntará cual es la clave de la base de datos por consola. Podemos indicarla directamente haciendo –pasword=CLAVE. Esto puede ser útil si metemos estas sentencias en un script pero deberiamos tener el script a buen recaudo para que no puedan ver nuestra clave.

El fichero sql donde se volcará la base de datos podríamos comprimirlo, pero con la estrategia que vamos a usar es mejor dejarlo en texto plano. El proceso de comprimir tiene un consumo elevado de cpu (algunos hosting limitan la cpu que se consume) y en el siguiente paso nos bajaremos el fichero por rsync.

rsync lo que hace es buscar las diferencias entre lo que tengamos en el servidor y lo que tengamos en nuestro disco duro, y sólo se baja lo que varíe. Si hubiéramos comprimido en el paso anterior la base de datos tendría que bajarse el fichero entero pero al estar en formato texto se bajará sólo la diferencia lo que resulta óptimo tanto en gasto de cpu como en ancho de banda consumida. La copia de los ficheros del servidor a nuestro disco duro, consistirá entonces en ejecutar:

 rsync -av --delete usuario@servidor:ruta_remota $RUTA_LOCAL

por ejemplo:

rsync -av --delete fpuga@dreamhost.com:conocimientoabierto/ /home/fpuga/backup/conocimientoabierto

La opción delete hace que se borren los archivos locales que ya han sido borrados del servidor remoto. Puede ser peligrosa así que cuidado. La ruta local donde se copien los archivos debe existir previamente. Fijaos en que cuando se pone la ruta remota después de los dos puntos no se inicia con / porque sólo queremos indicar una ruta relativa.

Por último borraremos del servidor el fichero de volcado de la base de datos

ssh usuario@servidor "rm /ruta/fichero_a_guardar"

Y para no teclear tanto podemos crearnos un script muy sencillito. Llega con que cambies los valores de las variables por los de tu servidor.

Antes de escribir el script estuve leyendo sobre algunos plugins pero ninguno se adaptaba a mis necesidades, de todas formas estas referencias puede venirte bien si prefieres usar otro sistema:


Primeros pasos para configurar git

Posted: mayo 1st, 2010 | Author: | Filed under: General | Tags: , , , , | 3 Comments »

Git es el sistema de control de versiones (SCV) que se está imponiendo en el mundo del software libre. Todo programador que se precie debe aprender a usar un SCV y dado que git puede operar también sobre repositorios svn te recomiendo encarecidamente que lo pruebes. Una de las ventajas de git es que es increíblemente configurable. En este artículo encontraras como realizar esa primera configuración para que sea más cómodo trabajar con git.

La configuración global de git se guarda en el home del usuario en archivo llamado .gitconfig. Además dentro de cada repositorio existe un archivo config dentro del directorio .git donde podemos usar unas configuraciones distintas a las globales o añadir parámetros nuevos. La configuración que deseemos la podemos escribir directamente en esos archivos o usar el comando git config.

Indicamos a git quien somos

git config --global user.name "Francisco Puga"
git config --global user.email "fran.puga@gmail.com"

Esto generará en el fichero .gitconfig dos nuevas líneas como las que siguen:

[user]
email = fran.puga@gmail.com
name = Francisco Puga

Si quisiéramos configurar nuestro correo electrónico para un repositorio concreto ejecutaríamos git config sin la opción de –global dentro del directorio que contiene el repositorio.

Colorear la salida

A continuación añadiremos unas líneas al fichero de configuración global (o mediante ordenes como git config –global color.ui auto) para que nos coloree la salida por pantalla

[color]
ui = auto
diff = auto
status = auto
branch = auto

Con añadir esas líneas empezaríamos a usar los colores por defecto pero estos son personalizables como se puede ver en estos enlaces.

Si tras activar los colores ves algo de basura en la salida añade a ~.bashrc la línea:

LESS=-R

Ignorar ciertos ficheros

Cuando trabajamos en un proyecto puede haber ciertos directorios, ficheros resultantes de la compilación, … que queremos que git no indexe y no nos aparezcan al hacer un estatus. Para ignorar ciertos ficheros tenemos varios métodos:

Si lo que queremos es una configuración global para todos nuestros repositorios añadiremos en el .gitconfig la directiva excludesfile con la ruta completa a un archivo de texto donde definiremos las rutas a ignorar. Por ejemplo en mi caso:

[core]
excludesfile = "/home/fpuga/.gitignore"

Y el contenido de ~.gitignore es

*.[oa]
*.lo
*.la
*.gmo
semantic.cache
*~
*.pyc

Si lo que queremos es definir un patrón de exclusión para un repositorio concreto lo haremos en el fichero .git/info/exclude.

La tercera opción es crear un fichero .gitignore dentro algún directorio de nuestro repositorios. Este fichero debería usarse no para las configuraciones personales si no para las de todo el grupo de trabajo. Es decir .gitignore es un fichero que podría subirse al repositorio de modo que todo el equipo de desarrollo comparta esa configuración. La particularidad de .gitignore es que no tiene que colocarse en la raíz del repositorio si no que puede colocarse en algún subdirectorio, así, si en el mismo repositorio tenemos varios proyectos, cada uno en un directorio podemos aplicar configuraciones distintas a cada proyecto.

Para teclear menos

Los comando de git suelen ser nombres bastante largos y en algunos hay que incluir ademas varios parámetros. Para que tengamos que teclear menos git permite configurar alias. La sección alias de mi .gitconfig es la siguiente:

[alias]
unstage = reset HEAD
st = status
rma = ls-files --deleted | xargs git rm
co = checkout
com = checkout master

5.- Programas por defecto que se usan. Se puede configurar el programa que se empleará para editar el mensaje de commit (por ejemplo emacs en lugar de vi) y el paginador que se usa para ver el log (por ejemplo most en lugar de less)

Si bien en el caso del editor es más lógico configurar la variable de entorno global EDITOR=emacs en nuestro .bash_profile, también podemos configurarlo en exlusiva para git con algo como esto

[core]
editor=emacs
pager=moss

Evitar meter las claves

Si a los repositorios git que tenemos se accede mediante ssh, cosa bastante habitual, tendremos que teclear nuestra contraseña cada vez que bajemos o subamos algo al repo. Para evitarlo podemos copiar nuestra clave pública al repositorio remoto. Haciendo esto, cuando queramos trabajar contra el repo, este automáticamente se encargará que nuestra clave privada se corresponde a la clave pública que hemos subido y nos dará acceso.

El proceso es tan sencillo como, crear una nueva clave si todavía no lo hemos hecho:

ssh-keygen -b 4096 -t rsa

Si usamos una passphrase nos la preguntarán sólo la primera vez de la sesión que la clave sea usada. Se trata de una contraseña para permitir al sistema acceder a nuestra clave privada, no tiene nada que ver con el servidor remoto.

Una vez tengamos nuestra clave ssh, debemos copiarla al servidor, para ello existe un comando especial que hace todo por nosotros

ssh-copy-id @servidor

Sincronizar el perfil o los marcadores de Firefox mediante dropbox

Posted: marzo 26th, 2010 | Author: | Filed under: General | Tags: , , , , , , | 1 Comment »

Cuando de manera habitual usas más de un ordenador mantener la misma configuración en ambos acaba siendo problemático. Una de las cosas que más echo de menos desde que he dejado de usar mi portátil personal en el trabajo es poder sincronizar los marcadores de Firefox.

En el cielo o en la tierra

Tal y como yo lo veo hay dos clasificaciones en las que se podrían englobar los métodos para la sincronización:

  • Usar un servicio web como delicious pensado para trabajar exclusivamente con los marcadores.
  • Usar alguna herramienta de sincronización de ficheros como DropBox.

El depender en exclusiva de un servicio web no es una opción que me tiente demasiado, así que no hablaremos de ella. DropBox en cambio, es una mezcla de servicio web y rsync sencillo, donde los ficheros no sólo se guardan en un servidor externo si no también en el nuestro, de modo que podemos abandonarlo cuando queramos a coste casi cero, de hecho, montar un sistema casero que substituya a DropBox no es muy complicado.

Diferentes implementaciones con Dropbox

Decidido que usaremos DropBox tenemos varias formas concretas de implementar el sistema:

La última me parece la mejor porque nos ahorramos el crear un nuevo perfil, simplemente movemos su ubicación y usamos herramientas propias de firefox para colocar el directorio del perfil dentro de DropBox en lugar del truquillo de los enlaces simbólicos.

Decidido el método, los pasos previos

En todo caso antes de usar uno de estos tres métodos deberías:

  1. Hacer una copia de seguridad de tu perfil
  2. Modificar donde se guarda la cache del navegador. La cache son un montón de archivitos que se guardan mientras navegas para acceder más rápido a páginas ya visitadas, que no tienen ningún interés para la sincronización y que sólo te harán perder ancho de banda y cpu si intentas sincronizarlos. Para cambiar la ubicación, abre firefox y teclea about:config en la barra de direcciones. A continuación busca la clave browser.cache.disk.parent_directory. Si no existe créala como de tipo “cadena”. El valor que debe contener es el nuevo directorio que usará como cache, asegúrate de que existe en todos los ordenadores que vayas a usar, yo uso /var/tmp. Cierra el navegador , borra el directorio Cache dentro de tu perfil y vuelve a abrir el navegador. Asegúrate de que en /tmp se ha creado un nuevo directorio Cache.

Mi método casi-preferido

Hecha la preconfiguración podríamos hacer lo que se dice por ejemplo en robzand:

  1. Copia el directorio que contiene tu perfil a DropBox
  2. Edita el fichero profile.ini (está en la misma carpeta que tu directorio de perfil). Pon un cero en IsRelative, y en Path pon la ruta completa a tu perfil dentro de DropBox, que seguramente será algo como /home/[tu_usuario]/DropBox/4f45s.default
  3. Espera a que sincronice, abre el navegador y comprueba que todo funciona correctamente.
  4. Ve a otro pc y espera a que sincronice. Edita el fichero profile.ini, pon un cero en IsRelative y pon en Path la ruta al perfil que acaba de ser sincronizado. (Ten en cuenta que a no ser que tengas el mismo nombre de usuario en ambos ordenadores la ruta será distinta)

Los incovenientes

Al compartir el perfil también se comparten:

  • Las extensiones. Si usas diferentes versiones de firefox puede que alguna de las extensiones te de problemas.
  • Las cookies y las claves. Las cookies permiten que las páginas web te recuerden de modo que no tengas que escribir tu contraseña cada vez que entras. Si almacenamos tanto las cookies como las claves en un servicio externo como DropBox y alguien lo crackea, toda nuestra vida en la red será vulnerable.
  • Cada vez que abras una página el contenido de tu perfil cambia, con lo que dropbox empezará a sincronizar, y habrá un gasto elevado de cpu y ancho de banda.

Estos problemas nos llevan a reflexionar si la comodidad que tiene el perfil compartido compensa el riesgo o a preguntarnos si realmente necesitamos compartir todo el perfil, o nos llega con los marcadores.

Mi método preferido

Por tanto, si lo único que quieres es compartir los marcadores, que es en general lo mejor desde mi punto de vista, lo único que hay que hacer es:

  1. Mover el archivo places.sqlite dentro del perfil de tu ordenador principal a DropBox
  2. Crear un enlace simbólico desde el archivo en DropBox a tu perfil. El comando sería algo así:
    ln -s [ruta a places.sqlite dentro de dropbox] $HOME/.mozilla/firefox//places.sqlite
  3. Esperar a que sincronice y abrir firefox para comprobar que todo es correcto
  4. En el resto de ordenadores borrar el archivo places.sqlite de dentro del perfil y hacer el enlace simbólico desde el que está en Dropbox.

Cifrar una partición o disco duro externo en GNU/Linux

Posted: enero 10th, 2010 | Author: | Filed under: General | Tags: , , , , | 6 Comments »

A pesar de que soy un firme defensor de los asistentes gráficos, creo que ciertas cosillas, sobre todo las relativas a la seguridad y que llega con hacer una vez en la vida es conveniente aprender a hacerlas “de verdad”. Una de esas cosas para las que merece la pena remangarse es aprender a cifrar o encriptar (sic) particiones o discos duros completos. Las instrucciones que voy a dar a continuación están pensadas para cifrar una partición en dispositivo externo pero también valdrían para una interna. Si lo que queremos es cifrar /home quedarían algunas cosas más por hacer que lo que aquí se describe. Por poner las cosas un poco en contexto, la idea de fondo de esta receta es que tengo un disco duro externo con varias particiones. En dos de ellas, cifradas ambas, hago copia de seguridad de un portátil y un sobremesa. La tercera es un almacen de archivos multimedia, música y vídeos obtenidos de gente que los compartía de forma no delictiva a través de internet.

Comprobaciones previas

  • Saber el nombre del dispositivo que equivale a la partición que queremos cifrar, este nombre acostumbra ser del tipo /dev/sdb1 si se trata de una partición o /dev/sdb si es todo el disco. A partir de ahora me referiré a este nombre como $PARTICION. El contenido de esa partición lo perderemos por completo. Podemos identicarlo ejecutando en una consola
    fdisk -l
  • Desmontar la partición sobre la que vayamos a trabajar
    umount $PARTICION
  • Instalar (en el raro caso de que todavía no lo esté) el paquete cryptsetup.

Comprobar que no hay errores en el disco

A continuación comprobaremos que la partición que vamos a cifrar no tiene errores físicos. Esta operación y la siguiente de rellenar con valores aleatorios el disco pueden tardar varias horas y no son estrictamente necesarias, pero yo recomiendo ejecutarlas.

badblocks -s -w $PARTICION -b $TAMAÑO_BLOQUE

Para saber cual es el tamaño de bloque en nuestra partición podemos usar el comando:

tune2fs -l /dev/sda5 | grep -i 'Block size'

Una forma de acelerar el proceso de chequeo de errores es usar el parámetro

-t random

. Por defecto lo que hace badblocks es llenar todos los bytes del disco duro con aa, 55, ff, 00. Primero escribe el primer patrón (aa) y luego comprueba que todos los bytes valen aa, a continuación hace lo mismo con el segundo patrón,… Con

-t random

da una sóla pasada donde el patrón usado es aleatorio. Es menos fiable pero más rápido. Tampoco es mala idea hacerlo si estamos más o menos seguros de que el disco está bien y nos vamos a saltar el paso de llenar el disco con valores aleatorios.

Aleatorizar el disco

Si somos un poco paranoicos lo que debemos hacer a continuación es llenar la partición con valores aleatorios, lo que nos protegerá de ciertos ataques criptográficos. Hay varias formas de hacer esto, a mayor nivel de paranoia más lento será. Yo lo hago con este comando:

shred -n 1 -v $PARTICION

El parámetro

-n $numero

define el número de pasadas que haremos, el valor por defecto es 3, pero con 1 es suficiente. Hay quien sugiere usar mejor el comando:

dd if=/dev/random of=$PARTICIÓN bs=$TAMAÑO_BLOQUE

Mientras que shred trabaja con datos pseudo-aleatorios (tomados de /dev/urandom) los que se usan con esta otra opción son realmente aleatorios, pero el tiempo que tarda en finalizar se multiplica.

Por otro lado prefiero usar shred a

dd if=/dev/urandom of=%PARTICION bs=$TAMAÑO_BLOQUE

(que es otra instrucción que se ve habitualmente por ahí en los how-to) porque con shred nos va informando del progreso del proceso y es una herramienta específica para este tipo de tareas.

Cifrar la partición

El siguiente paso consiste en indicar al sistema operativo el tipo de cifrado y contraseña queremos emplear para ese dispositivo.

cryptsetup -c aes -h sha256 -y -s 256 luksFormat $PARTICION
  • -c aes indica que vamos a usar como algoritmo de cifrado AES que es el más extendido. Otra buena opción sería Twofish.
  • -s 256: que el tamaño de la clave sean 256 bits que es más que suficiente. A mayor tamaño más seguridad pero mayor perdida de rendimiento
  • -h sha256: que use como algoritmo de hash SHA-256.

Si este comando nos da un error del tipo

Check kernel for support for the aes-cbc-plain cipher spec and verify that /dev/sdb6 contains at least 258 sectors

es seguramente porque no tenemos cargado el módulo dm-crypt. Para cargarlo ahora mismo ejecutamos

modprobe dm-crypt

Para hacer que se cargue automáticamente cada vez que arrancamos el ordenador añadimos al archivo /etc/modules una línea que contenga unicamente el módulo a cargar, en este caso

dm-crypt

Ahora debemos comprobar si podemos acceder al volumen cifrado

cryptsetup luksOpen $PARTICION $NOMBRE

Este comando es algo así como decirle al kernel que el volumen virtual descifrado, correspondiente al volumen físico cifrado $PARTICION va a ser /dev/mapper/$NOMBRE. Este comando no es equivalente a montar la partición, es más bien inventarnos una especie de interfaz hardware para acceder a nuestros datos descifrados.

Creamos un nuevo sistema de archivos en la partición

Si todo ha ido bien ahora debemos formatear la partición, yo uso el sistema de archivos ext4.

mkfs.ext4 [-L $ETIQUETA] -m 1 /dev/mapper/$NOMBRE
  • -L $ETIQUETA: Asigna a esa partición un determinado nombre. Yo uso esta opción sobre todo cuando se trata de dispositivos externos, ya que cuando conectemos el dispositivo este se montará automáticamente como /media/$ETIQUETA, si no tiene etiqueta será simplemente /media/disk. Hay que tratar de usar un identificador que sea difícil que se repita, para poder asegurarnos que no hay otro dispositivo montado con el mismo nombre yo por ejemplo uso el estilo fpuga_backup
  • -m 1: Es para reservar un 1% del disco duro para el superusuario en lugar del 5% por defecto. Es útil dejar siempre algo pero 5 es demasiado

Para cerrar el volumen descifrado y que no se puede acceder a él con la clave haremos

cryptsetup luksClose /dev/mapper/$NOMBRE

Trabajar con el disco cifrado

Con los pasos dados hasta aquí ya tenemos listo nuestro volumen cifrado, la cuestión ahora es ¿como empezar a meter datos en él?. Primero descifraremos el disco (metiendo la clave), creándose automáticamente un volumen virtual descifrado y luego montaremos el volumen, esto lo hacemos con los comandos:

cryptsetup luksOpen $PARTICION $NOMBRE
mount /dev/mapper/$NOMBRE $PTO_MONTAJE

En el caso de que sea un partición interna es conveniente que definamos sus propiedades de montaje en /etc/fstab. En el caso de ser una externa es bastante sencillo, ya que al conectar el dispositivo automáticamente nos saldrá una ventana de diálogo preguntándonos la clave. Al introducirla, si hemos definido una etiqueta para la partición está se montará en /media/$ETIQUETA.

Para desmontar la partición y cerrar el volumen descifrado podemos hacer click con el botón derecho sobre la partición y darle a desmontar o bien ejecutar los comandos:

umount $PTO_MONTAJE && cryptsetup luksClose /dev/mapper/$NOMBRE

Referencias