Copias de seguridad y gestión de paquetes en Linux: guía completa

📅 Actualizado en febrero 2026 ✍️ Ángel López 📊 Nivel: Intermedio ⏱️ 28 min de lectura

La administración profesional de un sistema Linux se sustenta sobre dos pilares fundamentales: disponer siempre de copias de seguridad fiables y saber gestionar el software instalado de forma limpia y controlada. En esta guía aprenderás a dominar las herramientas de backup — desde tar y rsync hasta BorgBackup — y los sistemas de paquetes que permiten instalar, actualizar y eliminar software en cualquier distribución Linux.

💾 Por qué las copias de seguridad son vitales

Los datos son el activo más valioso de cualquier sistema. Un disco duro puede fallar sin previo aviso, un error humano puede borrar un directorio crítico, un ataque de ransomware puede cifrar toda tu información. Sin copias de seguridad, la pérdida es irreversible.

En entornos profesionales, la pérdida de datos puede suponer desde horas de trabajo desperdiciadas hasta la quiebra de una empresa. Según estudios del sector, el 60 % de las pequeñas empresas que sufren una pérdida significativa de datos cierran en los 6 meses siguientes. Linux ofrece herramientas de backup potentes, gratuitas y altamente configurables que, combinadas con una buena estrategia, protegen contra prácticamente cualquier escenario de desastre.

Persona trabajando con un ordenador y un dispositivo de almacenamiento externo
Las copias de seguridad son la única garantía real contra la pérdida de datos. Un buen administrador Linux programa backups automáticos como parte esencial de su infraestructura. Foto: Pexels.
⚠️ La regla de oro
Un backup que no se ha probado restaurar no es un backup: es una esperanza. Siempre verifica que puedes restaurar tus copias antes de necesitarlas.

📋 Tipos de copias de seguridad

Antes de elegir una herramienta, necesitas conocer los tipos de backup disponibles y cuándo usar cada uno:

TipoQué copiaVentajasInconvenientesIdeal para
CompletaTodos los archivosRestauración rápida y sencillaMás espacio y tiempoBackup semanal o inicial
IncrementalSolo lo cambiado desde el último backupMuy rápida, mínimo espacioRestauración lenta (necesita toda la cadena)Backup diario
DiferencialLo cambiado desde la última copia completaRestauración más rápida que incrementalCrece con el tiempoBackup diario con restauración rápida
EspejoRéplica exacta del origenSincronización inmediataBorrados se replican (sin historial)Replicación en tiempo real
💡 Estrategia habitual
La combinación más común en producción: una copia completa semanal (por ejemplo, cada domingo) más copias incrementales diarias (lunes a sábado). Así equilibras velocidad, espacio y facilidad de restauración.

📦 tar: empaquetado y compresión

tar (Tape ARchive) es la herramienta clásica de empaquetado en Unix/Linux. Aunque su nombre hace referencia a cintas magnéticas, hoy se usa para crear archivos comprimidos que agrupan múltiples ficheros y directorios en uno solo.

Sintaxis fundamental

terminal — opciones esenciales de tar
# Opciones principales de tar: # -c crear archivo (Create) # -x extraer archivo (eXtract) # -t listar contenido (lisT) # -v modo detallado (Verbose) # -f especificar nombre del archivo (File) # -z comprimir con gzip (.tar.gz) # -j comprimir con bzip2 (.tar.bz2) # -J comprimir con xz (.tar.xz) # -p preservar permisos (Permissions)

Crear copias de seguridad con tar

terminal — crear backups con tar
# Backup completo de /home comprimido con gzip tar -zcvpf /backups/home_$(date +%Y%m%d).tar.gz /home/ # Backup comprimido con xz (mejor compresión, más lento) tar -Jcvpf /backups/etc_$(date +%Y%m%d).tar.xz /etc/ # Backup excluyendo directorios del sistema tar -zcvpf /backups/sistema_completo.tar.gz \ --exclude=/proc \ --exclude=/sys \ --exclude=/tmp \ --exclude=/dev \ --exclude=/run \ --exclude=/mnt \ --exclude=/backups \ / # Backup incremental: solo archivos modificados en 24h find /home -mtime -1 -print0 | tar -zcvpf /backups/home_incremental.tar.gz --null -T -

Restaurar copias con tar

terminal — restaurar backups
# Listar contenido sin extraer (verificar antes de restaurar) tar -ztvf /backups/home_20260227.tar.gz # Restaurar todo en el directorio actual tar -zxvpf /backups/home_20260227.tar.gz # Restaurar en un directorio específico tar -zxvpf /backups/home_20260227.tar.gz -C /tmp/restauracion/ # Restaurar solo un archivo concreto tar -zxvpf /backups/home_20260227.tar.gz home/usuario/documentos/informe.pdf
FormatoExtensiónCompresiónVelocidadCuándo usar
gzip.tar.gzBuenaRápidaUso general, backups diarios
bzip2.tar.bz2MejorMediaArchivos de texto, logs
xz.tar.xzLa mejorLentaArchivos grandes, distribución
zstd.tar.zstMuy buenaMuy rápidaMejor equilibrio general
✅ Consejo profesional
Si tu sistema tiene zstd (Ubuntu 20.04+, Fedora 31+), úsalo: tar --zstd -cvpf backup.tar.zst /datos/. Compresión similar a gzip pero significativamente más rápido.

🔄 rsync: sincronización inteligente

rsync es posiblemente la herramienta de backup más potente de Linux. A diferencia de tar, que siempre copia todo, rsync analiza origen y destino y transfiere solo las diferencias, siendo extraordinariamente eficiente para backups regulares.

terminal — rsync esencial
# Sincronizar /home/ a un directorio de backup local rsync -avh --progress /home/ /backups/home/ # Opciones clave: # -a modo archivo (preserva permisos, timestamps, symlinks) # -v verbose -h tamaños legibles (human-readable) # --progress barra de progreso por archivo # --delete eliminar en destino lo que ya no existe en origen # Backup a disco externo rsync -avh --delete /home/ /mnt/backup/home/ # Backup remoto vía SSH rsync -avhz -e ssh /home/ usuario@servidor:/backups/home/ # Excluir archivos o directorios rsync -avh \ --exclude='.cache' \ --exclude='*.tmp' \ --exclude='node_modules' \ /home/dev/ /backups/dev/ # Simulación (--dry-run): ver qué haría sin ejecutar rsync -avhn --delete /home/ /backups/home/
⚠️ Cuidado con la barra final
En rsync, la barra final hace diferencia: rsync -av /home /backup/ crea /backup/home/, mientras que rsync -av /home/ /backup/ copia el contenido de /home dentro de /backup/. Prueba siempre con --dry-run.

Script de backup profesional con rsync

backup_rsync.sh — script con rotación
#!/bin/bash # ============================================ # Script de backup con rsync y rotación # ============================================ ORIGEN="/home/" DESTINO="/backups/home" LOG="/var/log/backup_rsync.log" RETENCION=30 # Días de retención FECHA=$(date +%Y%m%d_%H%M) BACKUP_DIR="${DESTINO}/${FECHA}" ULTIMO="${DESTINO}/ultimo" echo "[$(date)] Iniciando backup..." >> "${LOG}" # Crear backup incremental usando hard links al anterior rsync -avh --delete \ --link-dest="${ULTIMO}" \ --exclude='.cache' \ --exclude='*.tmp' \ "${ORIGEN}" "${BACKUP_DIR}/" >> "${LOG}" 2>&1 # Actualizar enlace simbólico al último backup rm -f "${ULTIMO}" ln -s "${BACKUP_DIR}" "${ULTIMO}" # Eliminar backups antiguos find "${DESTINO}" -maxdepth 1 -type d -mtime +${RETENCION} -exec rm -rf {} \; echo "[$(date)] Backup completado: ${BACKUP_DIR}" >> "${LOG}"
💡 El truco de --link-dest
La opción --link-dest es la joya oculta de rsync. Crea hard links a archivos sin cambios, de modo que cada backup parece una copia completa (puedes navegar y restaurar archivos individualmente) pero solo ocupa espacio por lo realmente modificado. Lo mejor de ambos mundos.

🔧 dd: copias bit a bit de discos

dd (Data Duplicator) trabaja a nivel de bloques, copiando datos bit a bit. Es perfecto para clonar discos completos, crear imágenes de particiones o respaldar el sector de arranque.

terminal — dd para backups de bajo nivel
# Clonar un disco completo a otro sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress # Crear imagen de una partición sudo dd if=/dev/sda1 of=/backups/sda1.img bs=64K status=progress # Crear imagen comprimida sudo dd if=/dev/sda bs=64K status=progress | gzip -c > /backups/disco.img.gz # Restaurar desde imagen comprimida gunzip -c /backups/disco.img.gz | sudo dd of=/dev/sda bs=64K status=progress # Backup del MBR (sector de arranque, primeros 512 bytes) sudo dd if=/dev/sda of=/backups/mbr_backup.bin bs=512 count=1
⚠️ dd es peligroso: sin confirmación
dd ejecuta exactamente lo que le dices sin pedir confirmación. Un error en if= y of= puede destruir un disco en segundos (de ahí el apodo «Disk Destroyer»). Verifica tres veces los dispositivos con lsblk antes de ejecutar.

🏛️ La regla 3-2-1 de backups

La regla 3-2-1 es el estándar de oro de la industria para copias de seguridad:

La regla 3-2-1 de copias de seguridad La Regla 3-2-1 de Copias de Seguridad 3 copias de los datos Original + 2 backups Protege contra fallos individuales 2 tipos de almacenamiento Disco local + nube, NAS, cinta, disco externo... Diversifica el riesgo 1 copia fuera del sitio Otra ubicación física o en la nube Protege contra desastres

Un ejemplo práctico de la regla 3-2-1 en Linux: copia original en el servidor de producción, backup diario con rsync a un NAS local (segundo medio) y backup semanal cifrado a un servidor remoto o servicio en la nube como Backblaze B2 o AWS S3 (copia offsite).

✅ Versión moderna: 3-2-1-1-0
Algunos profesionales amplían la regla: 3 copias, 2 medios, 1 offsite, 1 copia offline/inmutable (protección contra ransomware), y 0 errores verificados en la restauración. La copia inmutable es especialmente importante ante ataques que intentan cifrar también los backups.

🛡️ Herramientas profesionales de backup

Más allá de tar y rsync, existen herramientas especializadas que añaden deduplicación, cifrado, verificación de integridad y gestión avanzada de repositorios de backup:

HerramientaTipoDeduplicaciónCifradoIdeal para
BorgBackupCLI, deduplicación✅ Excelente✅ AES-256Servidores, datos grandes
resticCLI, multi-backend✅ Buena✅ AES-256Backup a nube (S3, B2)
DuplicityCLI, incremental cifradoParcial✅ GPGBackups cifrados remotos
TimeshiftGUI, snapshots✅ (rsync mode)Escritorio, snapshots del sistema
Bacula/BareosCliente-servidorParcial✅ TLSInfraestructuras empresariales

BorgBackup: el referente actual

BorgBackup (o simplemente Borg) es la herramienta de backup más recomendada para Linux en la actualidad. Su sistema de deduplicación reduce drásticamente el espacio necesario: si 100 archivos comparten el 95 % de su contenido, Borg almacena los datos comunes una sola vez.

terminal — BorgBackup paso a paso
# 1. Instalar BorgBackup sudo apt install borgbackup # Debian/Ubuntu sudo dnf install borgbackup # Fedora/RHEL # 2. Inicializar repositorio cifrado borg init --encryption=repokey /backups/borg-repo # 3. Crear un backup borg create --stats --progress \ /backups/borg-repo::backup-{now:%Y%m%d-%H%M} \ /home/ /etc/ \ --exclude '/home/*/.cache' # 4. Listar backups disponibles borg list /backups/borg-repo # 5. Restaurar un backup completo borg extract /backups/borg-repo::backup-20260227-0300 # 6. Restaurar un archivo concreto borg extract /backups/borg-repo::backup-20260227-0300 \ home/usuario/documentos/informe.pdf # 7. Podar backups antiguos (retención inteligente) borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \ /backups/borg-repo # 8. Verificar integridad del repositorio borg check /backups/borg-repo
💡 Deduplicación en acción
Con Borg, si haces un backup diario de 50 GB de datos donde solo cambian 200 MB al día, el primer backup ocupa ~50 GB, pero cada backup incremental posterior solo necesita ~200 MB + metadatos. Tras un mes, en vez de 1,5 TB tendrás ~56 GB. La deduplicación funciona a nivel de bloque, no de archivo, así que detecta cambios incluso dentro de archivos grandes.
Interior de un disco duro mostrando los platos magnéticos y el brazo de lectura
Los discos duros mecánicos tienen partes móviles que se desgastan con el uso. Sin copias de seguridad, un fallo mecánico puede significar la pérdida total e irrecuperable de los datos. Foto: Pexels.

📦 Qué son los paquetes de software

En Linux, el software se distribuye mediante paquetes: archivos que contienen el programa compilado, sus archivos de configuración, documentación y metadatos que describen las dependencias necesarias (qué otros paquetes necesita para funcionar).

A diferencia de Windows, donde cada programa trae su propio instalador independiente, en Linux los paquetes se obtienen de repositorios centralizados mantenidos por la distribución. Esto aporta enormes ventajas: seguridad (el software está verificado), consistencia (las dependencias se resuelven automáticamente) y facilidad de actualización (un solo comando actualiza todo el sistema).

Familias de paquetes

FormatoExtensiónHerramienta bajo nivelHerramienta alto nivelDistribuciones
Debian.debdpkgAPT (apt)Debian, Ubuntu, Linux Mint, Pop!_OS
Red Hat.rpmrpmDNF (dnf) / YUMFedora, RHEL, Rocky, AlmaLinux, openSUSE
Arch.pkg.tar.zstpacmanpacman / yay (AUR)Arch Linux, Manjaro, EndeavourOS
💡 Bajo nivel vs alto nivel
Las herramientas de bajo nivel (dpkg, rpm) instalan paquetes individuales sin resolver dependencias. Las de alto nivel (apt, dnf) trabajan sobre ellas añadiendo descarga desde repositorios, resolución automática de dependencias y actualizaciones del sistema completo. En la práctica diaria usarás las de alto nivel.

🐧 APT: gestión de paquetes en Debian/Ubuntu

APT (Advanced Package Tool) es el sistema de gestión de paquetes más extendido, utilizado por Debian y todas sus derivadas (Ubuntu, Linux Mint, Pop!_OS y muchas más). Es potente, fiable y fácil de usar.

terminal — APT: operaciones esenciales
# ── Actualizar el sistema ── sudo apt update # Actualizar lista de paquetes disponibles sudo apt upgrade # Instalar actualizaciones disponibles sudo apt full-upgrade # Upgrade incluyendo cambios de dependencias sudo apt autoremove # Eliminar paquetes huérfanos # ── Instalar y eliminar software ── sudo apt install firefox # Instalar un paquete sudo apt install -y vim git # Instalar varios sin pedir confirmación sudo apt remove firefox # Eliminar paquete (mantiene config) sudo apt purge firefox # Eliminar paquete + archivos de configuración # ── Buscar e investigar paquetes ── apt search "editor de texto" # Buscar paquetes por nombre o descripción apt show vim # Ver información detallada de un paquete apt list --installed # Listar todos los paquetes instalados apt list --upgradable # Ver qué paquetes tienen actualización # ── dpkg: operaciones de bajo nivel ── sudo dpkg -i paquete.deb # Instalar un .deb descargado manualmente dpkg -l # Listar todos los paquetes instalados dpkg -L vim # Ver qué archivos instaló un paquete dpkg -S /usr/bin/vim # ¿A qué paquete pertenece este archivo?

Gestión de repositorios

terminal — repositorios APT
# Ver repositorios configurados cat /etc/apt/sources.list ls /etc/apt/sources.list.d/ # Añadir un PPA (Personal Package Archive) en Ubuntu sudo add-apt-repository ppa:usuario/repositorio sudo apt update # Añadir un repositorio externo con clave GPG (método moderno) curl -fsSL https://ejemplo.com/clave.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/ejemplo.gpg echo "deb [signed-by=/etc/apt/keyrings/ejemplo.gpg] https://ejemplo.com/repo stable main" \ | sudo tee /etc/apt/sources.list.d/ejemplo.list sudo apt update # Fijar una versión específica (apt pinning) sudo apt install paquete=1.2.3-1 sudo apt-mark hold paquete # Evitar que se actualice sudo apt-mark unhold paquete # Permitir actualizaciones de nuevo
✅ apt vs apt-get
apt es la interfaz moderna (más bonita, con barras de progreso) diseñada para uso interactivo. apt-get es la interfaz clásica, más estable para scripts. Ambas hacen lo mismo internamente. Para el día a día, usa apt; para scripts de automatización, usa apt-get.

🎩 DNF: gestión de paquetes en Fedora/RHEL

DNF (Dandified YUM) es el gestor de paquetes de las distribuciones de la familia Red Hat: Fedora, RHEL (Red Hat Enterprise Linux), Rocky Linux, AlmaLinux y CentOS Stream. Sustituye a YUM desde Fedora 22 y RHEL 8.

terminal — DNF: operaciones esenciales
# ── Actualizar el sistema ── sudo dnf check-update # Ver actualizaciones disponibles sudo dnf upgrade # Instalar todas las actualizaciones sudo dnf autoremove # Eliminar dependencias huérfanas # ── Instalar y eliminar software ── sudo dnf install httpd # Instalar un paquete sudo dnf install -y vim git # Sin confirmación sudo dnf remove httpd # Eliminar un paquete sudo dnf reinstall vim # Reinstalar un paquete # ── Buscar e investigar ── dnf search "web server" # Buscar paquetes dnf info httpd # Información detallada dnf list installed # Listar paquetes instalados dnf provides /usr/bin/curl # ¿Qué paquete proporciona este archivo? # ── Grupos de paquetes ── dnf group list # Ver grupos disponibles sudo dnf group install "Development Tools" # Instalar grupo completo # ── Historial (exclusivo de DNF) ── dnf history # Ver historial de transacciones sudo dnf history undo 15 # Deshacer la transacción nº 15
💡 La ventaja de DNF: historial de transacciones
Una funcionalidad exclusiva de DNF que APT no tiene: el historial de transacciones. Cada operación (instalar, actualizar, eliminar) se registra y puede deshacerse con dnf history undo. Si una actualización rompe algo, puedes revertirla limpiamente.

📱 Snap, Flatpak y AppImage: paquetes universales

Los paquetes tradicionales (.deb, .rpm) son específicos de cada familia de distribuciones. Los paquetes universales resuelven este problema: funcionan en cualquier distribución Linux, independientemente de su sistema de paquetes nativo.

Pantalla de ordenador mostrando código de programación
La gestión de software en Linux se realiza desde la línea de comandos con herramientas potentes como APT, DNF o pacman, que permiten instalar, actualizar y eliminar miles de programas con un solo comando. Foto: Pexels.
CaracterísticaSnapFlatpakAppImage
DesarrolladorCanonical (Ubuntu)Comunidad (Red Hat origen)Comunidad
Instalaciónsnap installflatpak installDescargar + chmod +x
Sandboxing✅ AppArmor✅ BubblewrapParcial
ActualizacionesAutomáticasManual o automáticasManual
TiendaSnap StoreFlathubAppImageHub
CLI y servidorSolo escritorioSolo escritorio
TamañoMayor (incluye runtime)Mediano (runtimes compartidos)Variable
terminal — paquetes universales
# ── Snap ── sudo apt install snapd # Instalar snapd (Debian/Ubuntu) snap find "video editor" # Buscar snaps sudo snap install vlc # Instalar sudo snap remove vlc # Eliminar snap list # Listar snaps instalados sudo snap refresh # Actualizar todos los snaps # ── Flatpak ── sudo apt install flatpak # Instalar Flatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpak search gimp # Buscar en Flathub flatpak install flathub org.gimp.GIMP # Instalar flatpak run org.gimp.GIMP # Ejecutar flatpak uninstall org.gimp.GIMP # Eliminar flatpak update # Actualizar todo # ── AppImage ── chmod +x aplicacion.AppImage # Dar permisos de ejecución ./aplicacion.AppImage # Ejecutar directamente # No requiere instalación ni root
✅ ¿Cuál elegir?
Como regla general: usa el paquete nativo de tu distribución (.deb o .rpm) cuando esté disponible y actualizado. Si necesitas la última versión de una aplicación de escritorio, Flatpak/Flathub suele ser la mejor opción. Snap es útil para herramientas de servidor y CLI. AppImage es ideal para probar software sin instalar nada.

⚙️ Compilar software desde el código fuente

Cuando un programa no está disponible en los repositorios de tu distribución, o necesitas una versión específica con opciones personalizadas de compilación, puedes instalarlo desde su código fuente. Es el método universal que funciona en cualquier distribución Linux.

Requisitos previos

terminal — instalar herramientas de compilación
# Debian/Ubuntu: instalar compilador y herramientas esenciales sudo apt install build-essential # Fedora/RHEL: equivalente sudo dnf group install "Development Tools" # Esto instala: gcc, g++, make, libc-dev y otras herramientas básicas

El proceso clásico: configure → make → make install

terminal — compilar desde código fuente
# 1. Descargar y descomprimir wget https://ejemplo.com/programa-2.0.tar.gz tar -xzf programa-2.0.tar.gz cd programa-2.0/ # 2. Leer instrucciones (SIEMPRE) cat README cat INSTALL # 3. Configurar: detecta el sistema y genera el Makefile ./configure --prefix=/usr/local # Si faltan dependencias, configure lo indica. Ejemplo: # "configure: error: libssl-dev is required" # Solución: sudo apt install libssl-dev # 4. Compilar (make usa todos los cores con -j) make -j$(nproc) # 5. Instalar (requiere root) sudo make install # 6. Verificar instalación which programa programa --version
⚠️ Inconvenientes de compilar
El software compilado desde fuentes no se gestiona con APT ni DNF. No recibirás actualizaciones automáticas y desinstalar requiere sudo make uninstall (si el Makefile lo soporta) o eliminar los archivos manualmente. Para software crítico, siempre es preferible usar el paquete de tu distribución. Reserva la compilación para casos donde realmente lo necesites.

Alternativa moderna: checkinstall

terminal — checkinstall: compilar y empaquetar
# checkinstall crea un .deb/.rpm del software compilado sudo apt install checkinstall # Debian/Ubuntu # En lugar de "sudo make install", usar: sudo checkinstall --default # Esto crea un paquete .deb e lo instala # Ventaja: puedes desinstalarlo limpiamente con: sudo dpkg -r nombre-del-paquete

🎯 Buenas prácticas profesionales

Para copias de seguridad

PrácticaPor quéCómo implementarla
Automatizar siempreLos backups manuales se olvidanCron + script rsync/Borg
Probar la restauraciónUn backup no probado es inútilRestaurar en directorio temporal mensualmente
Cifrar backups remotosProteger datos sensibles en tránsitoBorgBackup con --encryption=repokey
MonitorizarDetectar fallos antes de necesitar restaurarVerificar logs + alertas por correo
Documentar el procedimientoOtros deben poder restaurar en tu ausenciaRunbook con pasos exactos y credenciales
Rotación y retenciónEquilibrar historial y espacio7 diarios + 4 semanales + 6 mensuales

Para gestión de paquetes

PrácticaPor quéCómo implementarla
Actualizar regularmenteParches de seguridad críticosapt update && apt upgrade semanal
Preferir repositorios oficialesSoftware verificado y con soporteEvitar PPAs desconocidos
Limpiar periódicamenteLiberar espacio, reducir superficie de ataqueapt autoremove && apt autoclean
No mezclar métodos de instalaciónEvitar conflictos de versionesElegir uno: nativo, snap o flatpak
Documentar PPAs/repos externosSaber qué se ha añadido al sistemaRevisar /etc/apt/sources.list.d/

✏️ Ejercicios prácticos

Ejercicio 1: Backup completo con tar

Objetivo: Crear una copia de seguridad comprimida de tu directorio home, excluyendo cachés y archivos temporales.

Ver solución
ejercicio1_backup_tar.sh
#!/bin/bash # Backup de home con exclusiones inteligentes DESTINO="/tmp/backups" mkdir -p "${DESTINO}" tar -zcvpf "${DESTINO}/home_$(date +%Y%m%d).tar.gz" \ --exclude='.cache' \ --exclude='.local/share/Trash' \ --exclude='*.tmp' \ --exclude='node_modules' \ --exclude='.npm' \ ~/ echo "Backup creado: $(ls -lh ${DESTINO}/home_$(date +%Y%m%d).tar.gz)" # Verificar integridad tar -ztvf "${DESTINO}/home_$(date +%Y%m%d).tar.gz" > /dev/null && \ echo "✅ Integridad verificada" || \ echo "❌ Error en el archivo"

Ejercicio 2: Sincronización con rsync

Objetivo: Crear un script que sincronice tu directorio de documentos con un directorio de backup, registrando un log de cada ejecución.

Ver solución
ejercicio2_sync_rsync.sh
#!/bin/bash # Sincronización inteligente con rsync ORIGEN="${HOME}/Documentos/" DESTINO="/tmp/backup_docs/" LOG="/tmp/rsync_$(date +%Y%m%d).log" mkdir -p "${DESTINO}" echo "=== Backup $(date) ===" >> "${LOG}" rsync -avh --delete \ --exclude='*.tmp' \ --exclude='.~lock.*' \ "${ORIGEN}" "${DESTINO}" >> "${LOG}" 2>&1 RESULTADO=$? if [ ${RESULTADO} -eq 0 ]; then echo "✅ Sincronización completada" | tee -a "${LOG}" else echo "❌ Error en rsync (código: ${RESULTADO})" | tee -a "${LOG}" fi echo "Archivos sincronizados: $(find ${DESTINO} -type f | wc -l)" echo "Espacio usado: $(du -sh ${DESTINO} | cut -f1)"

Ejercicio 3: Gestión de paquetes

Objetivo: Practicar las operaciones esenciales de APT (o DNF en Fedora). Buscar, instalar, investigar y eliminar paquetes.

Ver solución
terminal — ejercicio de gestión de paquetes
# 1. Actualizar lista de paquetes sudo apt update # 2. Buscar un editor de texto en terminal apt search "terminal editor" # 3. Ver información de nano apt show nano # 4. Instalar nano y tree sudo apt install -y nano tree # 5. Ver qué archivos instaló nano dpkg -L nano # 6. Ver a qué paquete pertenece /usr/bin/tree dpkg -S /usr/bin/tree # 7. Eliminar tree (mantener configuración) sudo apt remove tree # 8. Limpiar paquetes huérfanos sudo apt autoremove -y sudo apt autoclean

Ejercicio 4: Backup automatizado con BorgBackup

Objetivo: Configurar BorgBackup con un repositorio cifrado, crear un backup, verificar su integridad y practicar la restauración.

Ver solución
ejercicio4_borgbackup.sh
#!/bin/bash # Ejercicio completo con BorgBackup # 1. Instalar (si no está instalado) sudo apt install -y borgbackup # 2. Crear repositorio cifrado export BORG_PASSPHRASE='mi-contraseña-segura-de-prueba' borg init --encryption=repokey /tmp/borg-test-repo # 3. Crear primer backup borg create --stats --progress \ /tmp/borg-test-repo::backup-$(date +%Y%m%d-%H%M) \ ~/Documentos/ \ --exclude '*.tmp' # 4. Listar backups borg list /tmp/borg-test-repo # 5. Ver contenido de un backup borg list /tmp/borg-test-repo::$(borg list --short /tmp/borg-test-repo | tail -1) # 6. Verificar integridad borg check /tmp/borg-test-repo # 7. Restaurar en directorio temporal mkdir -p /tmp/restauracion cd /tmp/restauracion borg extract /tmp/borg-test-repo::$(borg list --short /tmp/borg-test-repo | tail -1) echo "Archivos restaurados:" ls -la /tmp/restauracion/ # 8. Limpiar rm -rf /tmp/borg-test-repo /tmp/restauracion unset BORG_PASSPHRASE
Valora este artículo

💬 Foro de discusión

¿Tienes dudas sobre Copias de seguridad y gestión de paquetes en Linux: guía completa? Comparte tu pregunta con la comunidad.

¿Tienes cuenta? o comenta como invitado ↓

Todavía no hay mensajes. ¡Sé el primero en participar!

🚀 ¿Quieres dominar Linux profesionalmente?
Cursos bonificados por FUNDAE para empresas — formación 100% subvencionada
Ver cursos de Linux →