Respaldar archivos usando SquashFS

Cuando se trata de crear respaldos de tus archivos, Linux ofrece varias alternativas, cada una tiene sus pros y sus contras, SquashFS ofrece algunas características que lo hacen una opción interesante.

Antes que nada, debemos tener en cuenta que SquashFS no es una solución para clonar discos, sino una herramienta de respaldo. Esto significa que no podemos usar un respaldo hecho con SquashFS para clonar un disco/partición, para eso existen otras alternativas como Partimage. En cambio SquashFS es una buena opción para crear respaldos de archivos gracias a que ofrece la opción de comprimir los archivos a respaldar pero, a diferencia de una imagen comprimida de Partimage, un archivo de respaldo de SquashFS se puede montar fácilmente para tener acceso a los archivos que contiene, en modo de sólo lectura. Hay que tener también en cuenta que SquashFS es una buena opción para respaldar, por ejemplo, archivos personales o de sistema que puedan beneficiarse de la compresión; en cambio archivos de video o música no se beneficiarán mucho de la compresión aunque si así lo deseas aún es posible meterlos en un archivo de SquashFS por conveniencia.

SquashFS es parte del paquete squashfs-tools que se puede instalar desde el gestor de paquetes de tu distro de Linux. La forma más simple de crear un archivo de respado de SquashFS es usando el comando mksquashfs como en el siguiente ejemplo:

monstruosoft@monstruosoft-PC:~$ mksquashfs /home/monstruosoft/carpeta/ respaldo.sqsh
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on respaldo.sqsh, block size 131072.
[=============================================================\] 3326/3326 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 259008.10 Kbytes (252.94 Mbytes)
72.05% of uncompressed filesystem size (359465.92 Kbytes)
Inode table size 17243 bytes (16.84 Kbytes)
42.67% of uncompressed inode table size (40406 bytes)
Directory table size 8103 bytes (7.91 Kbytes)
42.46% of uncompressed directory table size (19086 bytes)
Number of duplicate files found 129
Number of inodes 920
Number of files 800
Number of fragments 228
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 120
Number of ids (unique uids + gids) 1
Number of uids 1
monstruosoft (1000)
Number of gids 1
monstruosoft (1000)

El comando anterior generará un archivo llamado respaldo.sqsh (puedes usar cualquier otra extensión) que contiene todos los archivos de la carpeta que indicamos, en este caso /home/monstruosoft/carpeta. En este ejemplo el archivo resultante ocupa un 72% del tamaño original de los archivos en la carpeta; la ganancia es mínima en este caso pero cualquier ahorro es bueno :). Además, ahora podemos mover este archivo y montarlo fácilmente en otra PC, algo que sería más lento si copiaramos los archivos individuales (cualquiera que haya intentado copiar un gran número de archivos pequeños a una USB sabe de lo que hablo).

El archivo resultante lo podemos montar en nuestra PC o en una PC distinta simplemente usando el comando mount:

monstruosoft@monstruosoft-PC:~$ sudo mount respaldo.sqsh carpeta-de-destino/
[sudo] password for monstruosoft: 
monstruosoft@monstruosoft-PC:~$ cd carpeta-de-destino/
monstruosoft@monstruosoft-PC:~/carpeta-de-destino$ ls
11-6_64_dd_ccc_ocl  12-2_64_dd_ccc
monstruosoft@monstruosoft-PC:~/carpeta-de-destino$ df -h
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/dm-3         57G    50G  5.3G  91% /
udev              10M      0   10M   0% /dev
tmpfs            779M   9.7M  769M   2% /run
/dev/sdb1        236M    35M  189M  16% /boot
tmpfs            390M    12K  390M   1% /run/user/1000
/dev/loop0       253M   253M     0 100% /home/monstruosoft/carpeta-de-destino

Recuerda que el sistema de archivos de SquashFS es de sólo lectura. Para desmontar el archivo de SquashFS sólo tienes que usar el comando umount:

monstruosoft@monstruosoft-PC:~$ sudo umount carpeta-de-destino
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s