Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo instalar y configurar Deja Dup en linux

 Le pedimos a  la inteligencia artificial Gemini de Google que nos explique  cómo instalar y configurar Deja Dup en linux

Explicanos detalladamente cómo instalar y configurar Deja Dup en linux

Deja Dup es una herramienta de respaldo simple y fácil de usar para Linux, que se integra perfectamente con el entorno de escritorio GNOME. Utiliza duplicity y restic en segundo plano para realizar copias de seguridad incrementales, cifradas y comprimidas, lo que la convierte en una excelente opción para proteger tus datos personales.

Aquí te explicamos detalladamente cómo instalar y configurar Deja Dup en Linux:

1. Instalación de Deja Dup

Deja Dup suele estar disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux. La forma de instalarlo varía ligeramente según tu distribución:

Para Ubuntu y Debian (y sus derivados como Linux Mint, Pop!_OS, etc.):

Abre una terminal y ejecuta el siguiente comando:

Bash

sudo apt update

sudo apt install deja-dup -y


Para Fedora

Abre una terminal y ejecuta el siguiente comando:

Bash

sudo dnf install deja-dup -y

Para CentOS/RHEL

Abre una terminal y ejecuta el siguiente comando:

Bash

sudo yum install deja-dup -y

Para openSUSE

Abre una terminal y ejecuta el siguiente comando:

Bash

sudo zypper install deja-dup -y

Una vez completada la instalación, puedes iniciar Deja Dup buscando "Copias de seguridad" o "Backups" en el menú de aplicaciones de tu escritorio.

2. Configuración de Deja Dup

Al iniciar Deja Dup por primera vez, se te guiará a través de un asistente de configuración. Sigue estos pasos para configurarlo:

A. Ubicación de Almacenamiento

El primer paso es elegir dónde se guardarán tus copias de seguridad. Deja Dup ofrece varias opciones:

Carpeta local: Puedes guardar las copias de seguridad en un disco duro externo, una partición separada, o incluso una carpeta en tu sistema (aunque no es lo más recomendable si tu equipo sufre un problema grave).

Servicios en la nube: Deja Dup tiene integración directa con servicios como:

Google Drive

Nextcloud

Servidores remotos (SSH, FTP, WebDAV, Windows Share)

Amazon S3

Rackspace Cloud Files

Servidor de red: Si tienes un servidor de red, puedes configurar una ubicación remota a través de SSH, FTP, etc.

Recomendación: Es altamente recomendable guardar las copias de seguridad en una ubicación diferente a tu sistema principal (por ejemplo, un disco duro externo o un servicio en la nube) para proteger tus datos en caso de falla del disco duro o pérdida de tu equipo.

Pasos para configurar la ubicación:

En la ventana principal de Deja Dup, haz clic en "Ubicación de almacenamiento" (o "Storage Location").

Selecciona la opción que mejor se adapte a tus necesidades.

Si eliges una ubicación remota, deberás proporcionar los detalles de conexión (dirección del servidor, nombre de usuario, contraseña, etc.).

B. Carpetas a Guardar (Folders to Save)

Aquí defines qué carpetas quieres incluir en tu copia de seguridad. Por defecto, Deja Dup suele incluir tu carpeta de usuario (/home/tu_usuario).

Pasos para configurar las carpetas a guardar:

Haz clic en "Carpetas a guardar" (o "Folders to Save").

Verás una lista de las carpetas que se incluirán. Para añadir una nueva carpeta, haz clic en el botón "+" y navega hasta la carpeta que deseas incluir.

Puedes añadir múltiples carpetas según sea necesario.

C. Carpetas a Ignorar (Folders to Ignore)

Es útil excluir carpetas que no necesitas respaldar, como la papelera, descargas temporales, caché de navegadores, o máquinas virtuales que ocupan mucho espacio. Esto ahorra espacio y tiempo de respaldo.

Pasos para configurar las carpetas a ignorar:

Haz clic en "Carpetas a ignorar" (o "Folders to Ignore").

Haz clic en el botón "+" y selecciona las carpetas que deseas excluir de la copia de seguridad.

D. Programación de Copias de Seguridad (Scheduling)

Una de las características más importantes de Deja Dup es la capacidad de programar copias de seguridad automáticas.

Pasos para programar copias de seguridad:

Haz clic en "Programación" (o "Schedule").

Puedes configurar la frecuencia de las copias de seguridad (diaria, semanal, etc.). La opción "Diaria" es generalmente recomendable para mantener tus datos actualizados.

También puedes configurar cuánto tiempo se deben conservar las copias de seguridad antiguas (por ejemplo, "Al menos 6 meses", "Para siempre", o "Hasta que no quede espacio").

E. Protección con Contraseña (Encryption)

Deja Dup te permite proteger tus copias de seguridad con una contraseña y cifrado. Esto es crucial si vas a guardar tus respaldos en la nube o en un disco externo que pueda ser accedido por otros.

Pasos para configurar la protección:

En la pantalla de resumen o al iniciar la primera copia de seguridad, se te pedirá que establezcas una contraseña.

Introduce una contraseña fuerte y confírmala. ¡Recuerda esta contraseña! Si la olvidas, no podrás restaurar tus copias de seguridad.

3. Realizando la Primera Copia de Seguridad

Una vez que hayas configurado todas las opciones, puedes iniciar tu primera copia de seguridad:

En la ventana principal de Deja Dup, haz clic en "Hacer copia de seguridad ahora" (o "Backup Now").

Si configuraste una contraseña, se te pedirá que la introduzcas.

Deja Dup comenzará a realizar la copia de seguridad. El tiempo que tarde dependerá del tamaño de los datos y la velocidad de tu conexión/almacenamiento.

4. Restauración de Datos

Restaurar datos con Deja Dup es un proceso sencillo:

Abre Deja Dup desde el menú de aplicaciones.

Haz clic en "Restaurar" (o "Restore").

Se te pedirá que selecciones la ubicación de tu copia de seguridad. Si ya la configuraste, Deja Dup debería detectarla automáticamente.

Selecciona la fecha de la copia de seguridad desde la que quieres restaurar (Deja Dup te mostrará un calendario con las fechas de los respaldos disponibles).

Puedes elegir restaurar todos los archivos o seleccionar carpetas y archivos específicos.

Selecciona la ubicación donde deseas restaurar los archivos (puedes restaurarlos en su ubicación original o en una nueva).

Confirma el resumen de la restauración y haz clic en "Restaurar".

Si la copia de seguridad está cifrada, se te pedirá la contraseña.

Consejos Adicionales:

Verifica tus copias de seguridad: Ocasionalmente, es una buena idea intentar restaurar algunos archivos para asegurarte de que tus copias de seguridad funcionan correctamente.

Monitorea el espacio: Asegúrate de tener suficiente espacio en tu destino de copia de seguridad, especialmente si eliges conservar muchas versiones antiguas.

Integración con GNOME: Deja Dup se integra bien con el escritorio GNOME. Puedes acceder a la configuración de copias de seguridad directamente desde la configuración del sistema en algunas distribuciones.

Solución de problemas:
Si encuentras problemas, puedes consultar la documentación oficial de Deja Dup o buscar ayuda en foros de la comunidad de Linux.

Deja Dup es una herramienta robusta y fácil de usar que te ayuda a mantener tus datos seguros con poco esfuerzo. ¡Con esta guía detallada, deberías poder instalarlo y configurarlo sin problemas!

Cómo solucionar problemas de Box Backup en linux

Le pedimos a la inteligencia artificial Gemini de Google  que nos explique cómo solucionar problemas de Box Backup en linux

Explicanos detalladamente cómo solucionar problemas de Box Backup en linux

Box Backup es un sistema de respaldo robusto, que se destaca por su seguridad y eficiencia de almacenamiento gracias a su encriptación de extremo a extremo y de-duplicación. Sin embargo, su configuración inicial y el proceso de solución de problemas pueden ser un poco más complejos debido a su arquitectura cliente-servidor, el manejo de claves y la dependencia de permisos.

Si estás experimentando problemas con Box Backup en Linux, esta guía te ayudará a diagnosticarlos y resolverlos de manera metódica.

Principios Clave para la Solución de Problemas en Box Backup

Antes de sumergirte en los problemas específicos, ten en cuenta estos principios fundamentales:

Los Logs son tu Mejor Amigo: Box Backup, tanto el servidor (bbstored) como el cliente (bbclientd), registra información detallada. Siempre deben ser tu primer punto de consulta.

Verifica la Configuración: Muchos problemas se originan en errores tipográficos, rutas incorrectas o ajustes de seguridad mal aplicados en los archivos de configuración (bbstored.conf, bbclientd.conf, bbkeys.conf).

Comprende la Seguridad de Claves: Box Backup depende en gran medida de pares de claves RSA y certificados firmados. Errores aquí son una causa común de fallos de conexión y autenticación.

Asegura la Sincronización de Tiempo: Las diferencias significativas en la hora del sistema entre el servidor y el cliente pueden invalidar certificados y causar problemas de autenticación.

Aísla el Problema: Determina si el problema radica en el servidor (bbstored), el cliente (bbclientd), la red o el sistema de archivos subyacente.

Herramientas de Diagnóstico Clave

Aquí tienes una lista de herramientas que te serán indispensables:

Logs de Box Backup

Servidor:
/var/log/boxbackup/bbstored.log

Cliente: /var/log/boxbackup/bbclientd.log

(La ubicación exacta puede variar ligeramente según la distribución y configuración, revisa tus archivos .conf)

Comandos systemctl ( o service para SysVinit ):

sudo systemctl status bbstored

sudo systemctl status bbclientd


sudo journalctl -u <nombre_servicio> -f: Para ver los logs del servicio en tiempo real.

Utilidades de Box Backup


sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf --status: Estado del cliente.

sudo -u boxbackup bbstored --config-file=/etc/boxbackup/bbstored.conf --status: Estado del servidor.

(Nota: A menudo necesitas ejecutar estas utilidades con sudo -u boxbackup porque los daemons de Box Backup se ejecutan con ese usuario y necesitan acceder a sus archivos de configuración y claves).

Herramientas de Red


ping <hostname> o ping <IP>: Prueba básica de conectividad.

telnet <IP_SERVIDOR> 4747 (desde el cliente): Prueba de conectividad al puerto del servidor.

sudo netstat -tulnp o sudo ss -tulnp: Ver puertos abiertos y procesos escuchando.

sudo ufw status (para UFW) o sudo firewall-cmd --list-all (para Firewalld): Verificar reglas de firewall.

Herramientas del Sistema:


df -h:
Espacio en disco.

ls -ld <ruta> y ls -l <ruta>: Permisos y propietarios de archivos/directorios.

chmod, chown: Para corregir permisos.

timedatectl: Estado de la sincronización de tiempo.

Problemas Comunes y Soluciones Detalladas

A continuación, abordamos los problemas más frecuentes y cómo diagnosticarlos y resolverlos.

I. Los Daemons (bbstored o bbclientd) No Inician o Fallan al Arrancar

Si un componente de Box Backup no logra arrancar, el log del sistema y los logs específicos de Box Backup son tus primeras paradas.

Diagnóstico Inicial:

Bash


sudo systemctl status bbstored bbclientd # Verifica el estado de ambos servicios

sudo journalctl -u bbstored -f # Sigue el log de bbstored en tiempo real

sudo journalctl -u bbclientd -f # Sigue el log de bbclientd en tiempo real


Busca mensajes como Error, Failed, Permission denied, Address already in use, Incorrect password.

Causas y Soluciones Comunes:

Contraseña de Clave Privada Incorrecta:

Síntoma: "Incorrect password", "Failed to decrypt private key".

Causa: Has introducido una contraseña incorrecta para la clave privada del servidor o del cliente al iniciar el servicio.

Solución:
Al iniciar bbstored o bbclientd (especialmente después de un reinicio del sistema), se te pedirá la contraseña. Asegúrate de introducir la correcta. Si el daemon está gestionado por systemd, esto puede ser un problema, ya que no hay una interfaz para introducir la contraseña. Considera usar un "keyring" o "password manager" para desbloqueo automático (opción avanzada y con implicaciones de seguridad).

Permisos Incorrectos de las Claves Privadas (.pem):

Síntoma: "Permission denied to private key", "Insecure key file permissions". El daemon se negará a cargar la clave.

Causa: Los archivos de clave privada (/etc/boxbackup/bbstored.pem y /etc/boxbackup/bbclientd.pem) no tienen permisos lo suficientemente restrictivos.

Solución:

Bash


sudo chmod 400 /etc/boxbackup/bbstored.pem # Solo lectura para el propietario

sudo chmod 400 /etc/boxbackup/bbclientd.pem # Idem para el cliente


Asegúrate de que el propietario sea root y el grupo sea root o boxbackup.

Errores de Configuración (Sintaxis, Rutas):

Síntoma: "Syntax error", "Unrecognized directive", "Path not found". El log mostrará la línea y columna del error.

Causa: Hay un error en los archivos .conf (ej., un paréntesis faltante, una ruta incorrecta para StoragePath o BackupCachePath).

Solución:
Edita el archivo .conf indicado en el log. Verifica cuidadosamente cada directiva y ruta. Asegúrate de que los directorios de almacenamiento y caché existan y tengan los permisos correctos (propiedad de boxbackup:boxbackup, permisos 700 o 750).

Bash


sudo mkdir -p /var/lib/boxbackup/store # En servidor

sudo chown boxbackup:boxbackup /var/lib/boxbackup/store

sudo chmod 700 /var/lib/boxbackup/store

sudo mkdir -p /var/lib/boxbackup/client_cache # En cliente

sudo chown boxbackup:boxbackup /var/lib/boxbackup/client_cache

sudo chmod 700 /var/lib/boxbackup/client_cache


Puerto ya en Uso:

Síntoma: "Address already in use", "Could not bind to port 4747".

Causa: Otro servicio ya está utilizando el puerto 4747/TCP en el servidor.

Solución:

Bash


sudo netstat -tulnp | grep 4747

Identifica el proceso que lo está usando y detenlo, o cambia el ListenPort de Box Backup en bbstored.conf (y actualiza el ServerPort en bbclientd.conf).

II. Problemas de Conexión y Autenticación entre Cliente y Servidor

Si los daemons inician pero el cliente no puede conectar o autenticarse con el servidor.

Diagnóstico Inicial:


Revisa los logs: bbclientd.log en el cliente y bbstored.log en el servidor.

Busca mensajes como "Connection refused", "Authentication failed", "Client not authorized", "Key verification failed".

Causas y Soluciones Comunes:

Firewall:


Servidor: El firewall del servidor debe permitir las conexiones entrantes al puerto 4747/TCP desde la IP del cliente.

Cliente: El firewall del cliente debe permitir las conexiones salientes al puerto 4747/TCP del servidor.

Solución: Usa telnet <IP_SERVIDOR> 4747 desde el cliente. Si la conexión se niega, es casi seguro un problema de firewall. Ajusta las reglas (ufw, firewalld).

Nombre de Cliente / IP del Servidor Incorrectos:

Síntoma: "Server not found", "Connection refused".

Causa: ServerAddress en bbclientd.conf es incorrecta, o ClientName no coincide con lo esperado por el servidor.

Solución:

Verifica ServerAddress y ServerPort en bbclientd.conf. Asegúrate de que la IP o el nombre de host sean correctos y se puedan resolver desde el cliente (ping <IP_SERVIDOR>).

Verifica que ClientName en bbclientd.conf coincida exactamente con el --client-name usado al firmar la clave en el servidor.

Clave Pública del Cliente No Firmada o Incorrecta:

Síntoma: "Authentication failed", "Client not authorized", "Invalid client certificate".

Causa: La clave pública del cliente no ha sido firmada por el servidor, o la clave bbclientd.pub en el cliente no es la versión firmada por el servidor.

Este es el error más común.

Solución:

Rehacer el Paso 4 (Intercambio y Firma de Claves):

Asegúrate de copiar el bbclientd.pub original del cliente al servidor.

Firma la clave en el servidor usando el mismo ClientName que está en bbclientd.conf del cliente.

Copia la clave .pub firmada por el servidor (que se encuentra en el ClientPath del servidor, ej., /var/lib/boxbackup/clients_signed_keys/myclient.example.com.pub) de vuelta al cliente, sobreescribiendo el archivo /etc/boxbackup/bbclientd.pub.

Verifica que el archivo .conf del cliente firmado (myclient.example.com.conf) esté correctamente incluido en bbstored.conf en el servidor.

Desfase Horario (Time Skew):

Síntoma: "Certificate not yet valid", "Certificate expired", "Time discrepancy error".

Causa: Los relojes del cliente y el servidor están desincronizados.

Solución: Asegúrate de que NTP esté funcionando correctamente en ambas máquinas.

Bash

timedatectl # Verifica la hora y el estado de NTP

# Si no está sincronizado, instala y/o habilita NTP o systemd-timesyncd

sudo systemctl enable --now systemd-timesyncd # Ubuntu/Debian

MaxClients o MaxStoreSize del Servidor:

Síntoma: El cliente se desconecta o no puede iniciar respaldo, y el log del servidor muestra límites.

Causa: El servidor ha alcanzado su límite de clientes simultáneos o el límite de tamaño de almacenamiento.

Solución: Ajusta MaxClients o MaxStoreSize en bbstored.conf del servidor, o libera espacio.

III. Los Respaldos No se Realizan o Son Incompletos

Si la conexión es exitosa, pero los archivos no se respaldan o se saltan.

Diagnóstico Inicial:

sudo tail -f /var/log/boxbackup/bbclientd.log (en el cliente): Busca mensajes como "Skipping file", "Permission denied", "No such file or directory", "Checksum mismatch".

Causas y Soluciones Comunes:

Permisos de Lectura en Archivos de Origen (Cliente):

Síntoma:
"Permission denied" en bbclientd.log al intentar leer archivos.

Causa: El usuario boxbackup (con el que se ejecuta bbclientd) no tiene permisos de lectura para los archivos o directorios especificados en BackupContent.

Solución: Asegúrate de que el usuario boxbackup pueda leer los directorios y archivos. Una solución común es que los directorios principales tengan permisos o+x (ejecución para otros) y los archivos o+r (lectura para otros), o añadir el usuario boxbackup a grupos relevantes (sudo usermod -aG staff boxbackup).

Reglas de Include/Exclude en bbclientd.conf:

Síntoma: Archivos que deberían respaldarse se omiten, o se incluyen archivos que deberían excluirse.

Causa: Los patrones de Include y Exclude en la sección BackupContent no son correctos o son demasiado amplios/estrechos.

Solución: Revisa cuidadosamente estos patrones. Recuerda que las reglas de exclusión tienen prioridad sobre las de inclusión si se aplican a la misma ruta. Los patrones usan sintaxis tipo rsync.

Ejemplo: Exclude = /tmp/** para excluir todo en /tmp.

Ejemplo: Include = /home/myuser/** para incluir solo ese directorio.

ExcludeFilesystem Configurado Incorrectamente:

Síntoma: Directorios montados (ej., proc, sys, dev, tmp, mnt, media, NFS, SMB) están siendo respaldados o, por el contrario, no se respaldan directorios deseados.

Causa: La directiva ExcludeFilesystem no está lista o no contiene los tipos de sistemas de archivos que no deben ser respaldados.

Solución: Asegúrate de que ExcludeFilesystem contenga todos los tipos de sistemas de archivos virtuales y temporales (como tmpfs, devtmpfs, proc, sysfs, cgroup, fuse.gvfsd-fuse, etc.) y cualquier sistema de archivos de red que no quieras respaldar.

Problemas de Espacio en Caché (Cliente):

Síntoma: "No space left on device" en bbclientd.log relacionado con BackupCachePath.

Causa:
El directorio de caché del cliente está lleno.

Solución: Aumenta el espacio de la partición donde se encuentra el caché o reubica el caché a una partición con más espacio.

IV. Problemas al Restaurar Archivos

Síntoma: "Cannot restore file", "Permission denied" al restaurar, archivo restaurado corrupto.

Causa:
Permisos para escribir en el destino de restauración, corrupción de datos.

Soluciones:

Permisos de Escritura para el Destino de Restauración:

Cuando usas bbclient --restore, el usuario boxbackup (o el usuario con el que ejecutas bbclient) necesita permisos de escritura en el directorio de destino.

Solución: Restaura siempre a un directorio donde tengas permisos de escritura (ej., /tmp/restore_temp/ o una subcarpeta en tu $HOME). Luego, mueve los archivos manualmente si es necesario.

Corrupción de Datos:

Box Backup tiene mecanismos de integridad, pero la corrupción en el disco de almacenamiento del servidor puede ocurrir.

Solución: El comando bbstore --check en el servidor (sudo -u boxbackup bbstore --config-file=/etc/boxbackup/bbstored.conf --check) puede verificar la integridad del almacenamiento. Esto puede llevar mucho tiempo para grandes volúmenes de datos.

Consejos Adicionales para la Depuración

Verbosidad del Log (LogLevel): Para depurar a fondo, puedes aumentar temporalmente LogLevel a 5 en bbstored.conf y bbclientd.conf. Esto generará muchos más mensajes, lo que te puede dar pistas cruciales. ¡Recuerda volver a bajarlo después para evitar llenar los discos con logs!

Simulación con rsync : Box Backup usa rsync internamente. Si sospechas de problemas de permisos o patrones de inclusión/exclusión, puedes intentar un rsync manual con los mismos orígenes y destinos (o a un destino temporal) y como el mismo usuario (sudo -u boxbackup) para ver si el problema persiste.

Comunidad de Box Backup: Los foros y listas de correo de Box Backup son un buen recurso. Busca si alguien más ha tenido un problema similar.

La paciencia y un enfoque sistemático son clave para solucionar problemas con Box Backup. Empieza siempre por los logs y avanza por las posibles causas una por una.

Cómo instalar y configurar Box Backup en linux

 le preguntamos a la inteligencia artificial gemini de Google que nos explique cómo instalar y configurar Box Backup en linux

Explicanos detalladamente cómo instalar y configurar Box Backup en linux

Box Backup es un sistema de copia de seguridad de código abierto conocido por su fuerte encriptación del lado del cliente, de-duplicación de datos y su capacidad de realizar copias de seguridad continuas (casi en tiempo real). Está diseñado para respaldar grandes cantidades de datos a través de la red de manera eficiente y segura.

A diferencia de otras soluciones, Box Backup no solo comprime y encripta, sino que también identifica y almacena solo los bloques de datos únicos, lo que ahorra un espacio considerable en el almacenamiento remoto, especialmente útil para respaldar múltiples máquinas con archivos similares o para historiales de versiones extensos.

Componentes Principales de Box Backup

bbstored (Storage Daemon / Servidor): Se ejecuta en el servidor de respaldo. Es el encargado de almacenar los datos encriptados y de-duplicados que recibe de los clientes. También gestiona la base de datos de los bloques de datos.

bbstore (Utilidades de Almacenamiento): Herramientas de línea de comandos para administrar el bbstored (ej., verificar la integridad de los datos, ver estadísticas).

bbclientd (Client Daemon / Cliente): Se ejecuta en la máquina cliente que se desea respaldar. Monitoriza los archivos en busca de cambios, encripta, de-duplica y envía los datos al bbstored.

bbclient (Utilidades de Cliente): Herramientas de línea de comandos para interactuar con bbclientd (ej., forzar un respaldo, restaurar archivos).

Archivos de Configuración: bbstored.conf, bbclientd.conf, y bbkeys.conf (para las claves criptográficas).

Arquitectura Típica para esta Guía

Servidor Box Backup: Una máquina Linux que albergará el bbstored.

Cliente Box Backup: Una o más máquinas Linux que albergarán el bbclientd.

Requisitos Previos

Dos Máquinas Linux: (o VMs) una para el servidor y otra para el cliente.

Acceso Root/Sudo: En ambas máquinas.

Conectividad de Red:
Asegúrate de que el servidor y el cliente puedan comunicarse en el puerto por defecto de Box Backup (4747/TCP).

Sincronización de Tiempo (NTP):
Es CRUCIAL que la hora sea consistente entre el servidor y el cliente. Las diferencias de tiempo pueden causar fallos de autenticación y problemas de integridad.

Espacio en Disco:

Servidor: Mucho espacio libre en el directorio de almacenamiento (StoragePath) para los datos de respaldo.

Cliente: Espacio para la caché (BackupCachePath), que puede ser significativa dependiendo del tamaño de los datos y los cambios.

Paso 1: Instalación de Box Backup

Box Backup puede instalarse desde los repositorios de tu distribución o compilarse desde el código fuente si necesitas una versión más reciente o funcionalidades específicas (como FUSE para montajes virtuales). Para la mayoría de los usuarios, la instalación desde paquetes es más sencilla.

Actualiza tu sistema de paquetes:

Para Ubuntu/Debian y derivados (Linux Mint, Pop!_OS):

Bash

sudo apt update

sudo apt upgrade -y


Para Fedora/CentOS/RHEL y derivados:

Bash


sudo dnf update -y

Instala los paquetes de Box Backup:

Para Ubuntu/Debian y derivados:

Bash


sudo apt install boxbackup -y

Para Fedora/CentOS/RHEL y derivados:

Bash


sudo dnf install boxbackup -y

La instalación creará un usuario y grupo boxbackup que se utilizarán para ejecutar los demonios.

Paso 2: Configuración del Servidor Box Backup (bbstored)

Todos los comandos relacionados con el servidor se ejecutarán en la máquina del servidor de respaldo.

A. Preparar Directorios y Generar Claves del Servidor

Crear el directorio de almacenamiento de datos

Bash


sudo mkdir -p /var/lib/boxbackup/store

sudo chown boxbackup:boxbackup /var/lib/boxbackup/store

sudo chmod 700 /var/lib/boxbackup/store


Generar las claves criptográficas del servidor

Este paso crea un par de claves RSA para el servidor y el archivo bbkeys.conf que las referencia.

Bash

sudo -u boxbackup bbstored --generate-keys --config-file=/etc/boxbackup/bbstored.conf

Te pedirá que introduzcas una contraseña de encriptación para la clave privada del servidor. ¡Guarda esta contraseña de forma segura! La necesitarás cada vez que el bbstored se inicie.

Verifica que se hayan creado los archivos en /etc/boxbackup/: bbkeys.conf, bbstored.pem (clave privada encriptada), bbstored.pub (clave pública).

¡Seguridad de las Claves!: Las claves privadas (.pem) son extremadamente sensibles. Asegúrate de que sus permisos sean solo de lectura para el usuario boxbackup y nadie más. Si los permisos no son 400 o 600, corrígelos:

Bash

sudo chmod 400 /etc/boxbackup/bbstored.pem

B. Configurar bbstored.conf

Edita el archivo de configuración principal del servidor:

Bash


sudo nano /etc/boxbackup/bbstored.conf

Asegúrate de que las siguientes secciones y directivas estén configuradas correctamente:

Ini, TOML

# Ubicación del archivo de claves para el servidor

ServerKeysFile = /etc/boxbackup/bbkeys.conf
 

# Directorio donde se almacenarán los datos de respaldo. ¡CRÍTICO!

StoragePath = /var/lib/boxbackup/store
 

# Directorio donde se guardarán los certificados públicos de los clientes firmados por el servidor.

# Esto es para que bbstored sepa qué clientes están autorizados.

# Se recomienda crear este directorio:

# sudo mkdir -p /var/lib/boxbackup/clients_signed_keys

# sudo chown boxbackup:boxbackup /var/lib/boxbackup/clients_signed_keys

ClientPath = /var/lib/boxbackup/clients_signed_keys


# Archivo de log del servidor

LogFile = /var/log/boxbackup/bbstored.log

LogLevel = 2 # Nivel de detalle del log (0=errores, 5=muy detallado)


# Dirección y puerto de escucha del servidor

ListenAddress = 0.0.0.0 # Escuchar en todas las interfaces. Si prefieres una IP específica, úsala.

ListenPort = 4747


# Máximo número de clientes conectados simultáneamente. Ajusta según tus necesidades.

MaxClients = 10


# Tamaño máximo del almacenamiento (opcional, útil para evitar llenar un disco)

# MaxStoreSize = 100G # Ejemplo: 100 Gigabytes


# Configuración de retención predeterminada para los clientes si no tienen una política específica

# RetentionPeriod = 365d # Ejemplo: retener datos por 365 días


# Para cada cliente autorizado, necesitas una sección AccessClient.

# ¡Esto se añadirá DESPUÉS de que el cliente genere sus claves y las envíe al servidor para firmar!

# Por ahora, puedes dejarlo vacío o añadir una plantilla comentada.

# Por ejemplo, para un cliente llamado 'myclient':

# AccessClient {

# Name = myclient

# User = 1001 # Opcional: mapea al UID interno de Box Backup para ese cliente

# }

Guarda y sal del archivo.

C. Configurar el Firewall del Servidor

Abre el puerto 4747/TCP para permitir las conexiones entrantes de los clientes.

UFW (Ubuntu/Debian):

Bash


sudo ufw allow 4747/tcp comment "Box Backup Server"

sudo ufw reload


Firewalld (CentOS/RHEL/Fedora):

Bash


sudo firewall-cmd --permanent --add-port=4747/tcp

sudo firewall-cmd --reload


Paso 3: Configuración del Cliente Box Backup (bbclientd)

Todos los comandos relacionados con el cliente se ejecutarán en la máquina cliente de respaldo.

A. Preparar Directorios y Generar Claves del Cliente

Crear el directorio de caché del cliente:

Bash


sudo mkdir -p /var/lib/boxbackup/client_cache

sudo chown boxbackup:boxbackup /var/lib/boxbackup/client_cache

sudo chmod 700 /var/lib/boxbackup/client_cache


Generar las claves criptográficas del cliente:

Este paso crea un par de claves RSA para el cliente y el archivo bbkeys.conf que las referencia.

Bash

sudo -u boxbackup bbclientd --generate-keys --config-file=/etc/boxbackup/bbclientd.conf

Te pedirá una contraseña para la clave privada del cliente. ¡Guarda esta contraseña!

Verifica que se hayan creado los archivos en /etc/boxbackup/: bbkeys.conf, bbclientd.pem (clave privada encriptada), bbclientd.pub (clave pública).

¡Seguridad de las Claves!:

Bash


sudo chmod 400 /etc/boxbackup/bbclientd.pem

B. Configurar bbclientd.conf

Edita el archivo de configuración principal del cliente:

Bash

sudo nano /etc/boxbackup/bbclientd.conf

Asegúrate de que las siguientes secciones y directivas estén configuradas correctamente:

Ini, TOML

# Ubicación del archivo de claves para el cliente

ClientKeysFile = /etc/boxbackup/bbkeys.conf


# Nombre único para este cliente. ¡Debe coincidir EXACTAMENTE con el nombre

# que usarás al firmar la clave del cliente en el servidor!

ClientName = myclient.example.com # EJEMPLO: "myclient" o "servidorweb1"



# Directorio de caché local del cliente. Aquí se almacenan los bloques de datos

# antes de ser enviados y las listas de bloques para la de-duplicación.

BackupCachePath = /var/lib/boxbackup/client_cache



# Dirección y puerto del servidor Box Backup

ServerAddress = <IP_DEL_SERVIDOR_BBSTORED> # Ejemplo: 192.168.1.100

ServerPort = 4747

# Archivo de log del cliente

LogFile = /var/log/boxbackup/bbclientd.log

LogLevel = 2 # Nivel de detalle del log



# Intervalo de tiempo en segundos para comprobar cambios y enviar datos.

# SnapshotInterval = 60s # Cada 60 segundos

SnapshotInterval = 5m # Cada 5 minutos (más común)



# Configuración del contenido a respaldar

# Puedes tener múltiples secciones BackupContent para diferentes conjuntos de datos.

BackupContent {

Name = HomeAndConfig # Nombre descriptivo para este conjunto

# Directorio(s) a respaldar

Dir = /home/tu_usuario # Respalda el directorio personal

Dir = /etc # Respalda la configuración del sistema



# Opciones para FileVersioning y DeletedFileRetention:

# 'Versions': Número de versiones antiguas a mantener. (0=solo la última, -1=todas)

# 'Retention': Tiempo para retener archivos eliminados antes de purgar los bloques.

# Estas se aplican a este conjunto de respaldo.

FileVersioning = 10 # Mantener las últimas 10 versiones de un archivo modificado

DeletedFileRetention = 30d # Mantener archivos eliminados por 30 días



# Listas de inclusión/exclusión (patrones tipo rsync)

Include = ** # Incluye todo por defecto, luego excluye lo no deseado

Exclude = *.tmp # Excluye archivos temporales

Exclude = *.bak # Excluye archivos .bak

Exclude = /var/tmp/** # Directorios temporales del sistema

Exclude = /tmp/**

Exclude = /proc/** # Directorios virtuales del kernel

Exclude = /sys/**

Exclude = /dev/**

Exclude = /mnt/** # Generalmente no quieres respaldar puntos de montaje

Exclude = /media/**

Exclude = /lost+found/**

Exclude = **/.cache/** # Cachés de usuario

Exclude = **/Trash/** # Papeleras de reciclaje



# Excluir sistemas de archivos específicos (montajes temporales, etc.)

# Puedes encontrar los tipos de sistemas de archivos con 'mount' o '/etc/fstab'

ExcludeFilesystem = tmpfs

ExcludeFilesystem = devtmpfs

ExcludeFilesystem = devpts

ExcludeFilesystem = cgroup

ExcludeFilesystem = fuse.gvfsd-fuse

ExcludeFilesystem = nfs # Si hay montajes NFS que no quieres respaldar

ExcludeFilesystem = cifs # Si hay montajes SMB/CIFS que no quieres respaldar



# Si quieres que siga o no los enlaces simbólicos

FollowSymlinks = no



# Opcional: Forzar un propietario y grupo para los archivos en el servidor Box Backup

# Owner = 0 # root

# Group = 0 # root

}

Guarda y sal del archivo.

C. Configurar el Firewall del Cliente

Los clientes de Box Backup inician la conexión al servidor. Generalmente, no necesitas abrir puertos entrantes en el cliente, pero el cliente debe tener permitido realizar conexiones salientes al puerto 4747/TCP del servidor.

Paso 4: Intercambio y Firma de Claves entre Servidor y Cliente

Este es el paso más crítico para la autenticación y seguridad de Box Backup.

Copiar la clave pública del cliente al servidor

Desde la máquina cliente, copia el archivo bbclientd.pub a una ubicación temporal en el servidor (ej., /tmp).

Bash

scp /etc/boxbackup/bbclientd.pub tu_usuario@(IP_DEL_SERVIDOR>:/tmp/

Firmar la clave pública del cliente en el servidor:

Desde la máquina servidor, usa el comando bbstored --sign-client-key para firmar la clave pública del cliente con la clave privada del servidor. Esto autoriza al cliente a conectarse.

Bash

sudo -u boxbackup bbstored --sign-client-key \

--config-file=/etc/boxbackup/bbstored.conf \

--client-key-file=/tmp/bbclientd.pub \

--client-name=myclient.example.com # ¡Debe coincidir con ClientName en bbclientd.conf!


Este comando te pedirá la contraseña de la clave privada del servidor que definiste en el Paso 2.

Creará dos archivos en el ClientPath del servidor (/var/lib/boxbackup/clients_signed_keys):

myclient.example.com.pub: La clave pública firmada del cliente.

myclient.example.com.conf:
Un archivo de configuración que el servidor usará para este cliente (contiene la directiva AccessClient).

Mover el archivo de configuración del cliente en el servidor:

El archivo myclient.example.com.conf debe ser incluido por el bbstored.conf principal para que el servidor reconozca al cliente.

Puedes hacer una de dos cosas:

Añadirlo directamente a bbstored.conf: Abre bbstored.conf y añade al final:

Ini, TOML

# Incluir configuraciones de clientes firmados

@include /var/lib/boxbackup/clients_signed_keys/myclient.example.com.conf

Moverlo al directorio /etc/boxbackup/bbstored.d/: Si tu instalación crea un directorio bbstored.d para includes automáticos, simplemente mueve el archivo allí.

Bash

sudo mv /var/lib/boxbackup/clients_signed_keys/myclient.example.com.conf /etc/boxbackup/bbstored.d/

¡Asegúrate de que bbstored.conf tenga una directiva @include para el directorio donde resides estos archivos de cliente, o para cada archivo de cliente individualmente!

Copiar la clave pública firmada de vuelta al cliente:

Desde la máquina servidor, copia el archivo myclient.example.com.pub (la clave firmada) de vuelta a la máquina cliente, sobrescribiendo la clave pública original del cliente.

Bash

scp /var/lib/boxbackup/clients_signed_keys/myclient.example.com.pub tu_usuario@<IP_DEL_CLIENTE>:/etc/boxbackup/bbclientd.pub

¡Muy Importante!: Es bbclientd.pub en el cliente. La clave pública del cliente (/etc/boxbackup/bbclientd.pub) DEBE ser la clave firmada por el servidor para que la autenticación funcione.

Paso 5: Iniciar Servicios y Primera Copia de Seguridad

A. Iniciar Servicios

En el Servidor Box Backup:


Bash

sudo systemctl enable bbstored

sudo systemctl start bbstored


¡Atención! Te pedirá la contraseña de la clave privada del servidor. Introduce la que definiste en el Paso 2.

Verifica el estado: sudo systemctl status bbstored

Consulta el log: sudo tail -f /var/log/boxbackup/bbstored.log

En el Cliente Box Backup:

Bash


sudo systemctl enable bbclientd

sudo systemctl start bbclientd


¡Atención! Te pedirá la contraseña de la clave privada del cliente. Introduce la que definiste en el Paso 3.

Verifica el estado: sudo systemctl status bbclientd

Consulta el log: sudo tail -f /var/log/boxbackup/bbclientd.log

B. Verificar la Conexión y Primera Sincronización

En el log del cliente (bbclientd.log): Deberías ver mensajes como "Connected to server", "Performing initial scan", "Sending new blocks".

En el log del servidor (bbstored.log): Deberías ver "Client connected", "Receiving data from client".

Para forzar un respaldo (si no quieres esperar el SnapshotInterval):

En el cliente, ejecuta como el usuario boxbackup (el daemon ya está corriendo con este usuario):

Bash


sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf --force-backup

Paso 6: Realizar una Restauración

La restauración se realiza desde la máquina cliente utilizando el comando bbclient.

Listar Archivos Disponibles:

Puedes listar los archivos y sus versiones disponibles para restaurar:

Bash

sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf --list-files "/path/to/original/file_or_directory"

Esto mostrará las versiones disponibles con sus marcas de tiempo.

Restaurar un Archivo o Directorio:

Bash


sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf \

--restore "/path/to/original/file_or_directory" \

"/path/to/restore/destination"


Ejemplo: Restaurar /home/usuario/documento.txt a /tmp/restored_doc.txt

Bash

sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf \

--restore "/home/usuario/documento.txt" "/tmp/restored_doc.txt"


Restaurar una versión específica:

Bash


sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf \

--restore "/home/usuario/documento.txt" "/tmp/restored_doc_old.txt" \

--version "2024-06-27 10:00:00" # Usa la marca de tiempo de 'list-files'


Restaurar un archivo eliminado:

Bash


sudo -u boxbackup bbclient --config-file=/etc/boxbackup/bbclientd.conf \

--restore "/home/usuario/deleted_file.txt" "/tmp/restored_deleted_file.txt" \

--deleted # Indica que es un archivo que fue eliminado


¡Verifica la Restauración! Siempre prueba la restauración de algunos archivos al azar para asegurarte de que tu sistema de respaldo funciona correctamente.

Paso 7: Monitoreo y Solución de Problemas Detallada

Los problemas en Box Backup suelen estar relacionados con la configuración, las claves/permisos y la red.

Logs, Logs, Logs:

Servidor: sudo tail -f /var/log/boxbackup/bbstored.log

Cliente: sudo tail -f /var/log/boxbackup/bbclientd.log

Busca ERROR, WARNING, authentication failed, connection refused, permission denied, disk full.

Verificación de Estado de los Daemons:

sudo systemctl status bbstored (servidor)

sudo systemctl status bbclientd (cliente)


Si no están activos, sudo journalctl -u <daemon_name> -f para ver el log de arranque.

Contraseñas de Claves:


Si el daemon no arranca, una causa común es una contraseña incorrecta para la clave privada (servidor o cliente). Asegúrate de haberla introducido correctamente al iniciar el servicio.

Box Backup no almacena las contraseñas de las claves en texto plano; las pide al iniciar el daemon. Si el sistema se reinicia, tendrás que introducirlas de nuevo a menos que uses un mecanismo de desbloqueo automático (lo cual puede comprometer la seguridad si no se gestiona con cuidado).

Permisos de Archivos y Directorios:

Claves privadas: Los archivos .pem (claves privadas) deben tener permisos 400 o 600 (solo lectura para el propietario). Si son demasiado permisivos, el daemon se negará a cargarlos.

Bash


sudo chmod 400 /etc/boxbackup/bbstored.pem

sudo chmod 400 /etc/boxbackup/bbclientd.pem


Directorios de almacenamiento/caché: Asegúrate de que los directorios StoragePath (servidor) y BackupCachePath (cliente) sean propiedad del usuario boxbackup y tengan permisos de escritura.

Bash

sudo chown -R boxbackup:boxbackup /var/lib/boxbackup/store

sudo chmod 700 /var/lib/boxbackup/store # O 750

sudo chown -R boxbackup:boxbackup /var/lib/boxbackup/client_cache

sudo chmod 700 /var/lib/boxbackup/client_cache


Archivos de origen: El usuario boxbackup en el cliente necesita permisos de lectura para los archivos y directorios definidos en BackupContent. Si se deniegan permisos, esos archivos se omitirán del respaldo.

Problemas de Red y Firewall:

telnet <IP_SERVIDOR> 4747 (desde el cliente): Prueba si el cliente puede llegar al puerto del servidor. Si falla, es un problema de firewall o de red.

Verifica las reglas del firewall en ambas máquinas.

Asegúrate de que la ServerAddress en bbclientd.conf sea correcta.

Sincronización de Tiempo (NTP):

Las grandes diferencias de tiempo entre el cliente y el servidor pueden causar fallos de autenticación o hacer que los datos de respaldo sean rechazados.

Instala y configura NTP o systemd-timesyncd en ambas máquinas:

Bash


sudo apt install ntp # o systemd-timesyncd

sudo systemctl status ntp # o systemctl status systemd-timesyncd

timedatectl


Errores de bbclientd.conf / bbstored.conf:

ClientName y firma de clave: El ClientName en bbclientd.conf debe coincidir exactamente con el --client-name usado al firmar la clave en el servidor. Si no coinciden, la autenticación fallará.

Rutas incorrectas:
Doble verificación de todas las rutas en los archivos de configuración (ClientKeysFile, ServerKeysFile, StoragePath, BackupCachePath, LogFile).

@include faltantes: Si el servidor no está reconociendo la configuración de un cliente, asegúrate de que el archivo .conf del cliente firmado esté incluido en bbstored.conf (ya sea directamente o a través de un directorio de inclusión).

Espacio en Disco:

df -h en el servidor (para StoragePath) y en el cliente (para BackupCachePath). Si cualquiera está lleno, el respaldo fallará.

SELinux / AppArmor:

Estos módulos de seguridad pueden bloquear operaciones de Box Backup sin dar errores claros en los logs de Box Backup.

Diagnóstico:

SELinux: sudo auditctl -a never,dontaudit -S setxattr -S fsetxattr -S lsetxattr (o revisar /var/log/audit/audit.log y buscar denegaciones).

AppArmor: sudo grep "DENIED" /var/log/syslog | grep -i boxbackup.

Solución temporal:

SELinux: sudo setenforce 0 (modo permisivo). Prueba el respaldo. Si funciona, la política es el problema. Luego, sudo setenforce 1 y crea/carga una política SELinux para Box Backup.

AppArmor: sudo systemctl stop apparmor. Si funciona, edita los perfiles de AppArmor para Box Backup.

Aumentar la Verbosidad de los Daemons (para depuración intensiva):

Puedes añadir una opción -v o -vv al comando de inicio de bbstored o bbclientd si los ejecutas manualmente, o ajustar LogLevel en los archivos de configuración a un valor más alto (ej., LogLevel = 5). ¡Recuerda bajarlo después de depurar para evitar logs excesivamente grandes!

Box Backup es una solución potente y segura, pero su configuración inicial requiere atención al detalle, especialmente en la gestión de claves y permisos. Una vez configurado correctamente, es muy confiable. ¡No olvides probar tus restauraciones regularmente!

Ads by CJ - Linux Foundation

Share This