Cómo descomprimir archivos en Linux sin moverte de carpeta (CyberArk + WinSCP)

Gabriel Gómez Gómez ·

Cómo descomprimir archivos en Linux sin moverte de carpeta (CyberArk + WinSCP)

  • Cuando trabajamos con CyberArk y WinSCP, puede ocurrir que las carpetas no se suban correctamente. Esto sucede porque CyberArk, al ejecutar sesiones a través del PSM (Privileged Session Manager), no tiene acceso directo al sistema de archivos local.

  • ⚠️ Por qué ocurre este problema

  • Cuando subes archivos desde el portal o el cliente de CyberArk, todo lo que subes o descargas se redirige a un drive virtual (normalmente Z:) controlado por el PSM Server. Este drive solo acepta archivos individuales y no puede procesar subcarpetas ni estructuras anidadas debido a políticas de aislamiento y auditoría.

  • Solución práctica: comprimir antes de subir

  • Una es comprimir la carpeta completa antes de subirla. Luego, una vez dentro del servidor remoto, descomprímela con los pasos siguientes. Existen dos formas principales de hacerlo:

  • 1️⃣ Verifica el tipo de archivo comprimido

  • Primero, identifica el formato del archivo (.zip o .tar.gz) para saber qué comando usar. El siguiente comando lista los archivos que coinciden con el nombre:

  • terminalBASH
    ls nombre-del-archivo*
  • Si termina en .zip, usa unzip. Si termina en .tar.gz, usa tar.

  • 2️⃣ Descomprimir usando rutas completas

  • Opción 01: moverte al directorio donde está el archivo comprimido y descomprimirlo directamente ahí. Esto es útil si ya estás en la misma carpeta.

  • terminalBASH
    cd /ruta/del/archivo/
    unzip archivo.zip
  • terminalBASH
    cd /ruta/del/archivo/
    tar -xzf archivo.tar.gz
  • Opción 02: hacerlo desde cualquier punto del sistema sin moverte, especificando las rutas de origen y destino.

  • Descomprime el archivo ZIP directamente indicando la carpeta de destino (-d).

  • terminalBASH
    unzip /ruta/donde/esta/archivo.zip -d /ruta/donde/quieres/descomprimir/
  • El parámetro -d indica el destino (destination). Si la carpeta de destino no existe, créala con mkdir -p /ruta/donde/quieres/descomprimir/.

  • Extrae un archivo .tar.gz desde cualquier ubicación, usando -C para definir el destino.

  • terminalBASH
    tar -xzf /ruta/donde/esta/archivo.tar.gz -C /ruta/donde/quieres/descomprimir/
  • El parámetro -xzf significa: x (extraer), z (descomprimir), f (usar archivo). El modificador -C indica la carpeta de destino.

  • 3️⃣ Si prefieres moverte solo un nivel dentro del proyecto

  • Puedes entrar parcialmente al proyecto y descomprimir en un subdirectorio específico.

  • terminalBASH
    cd proyecto/
    unzip frontend.zip -d frontend/
  • terminalBASH
    cd proyecto/
    tar -xzf frontend.tar.gz -C frontend/
  • 4️⃣ Limpieza final (opcional)

  • Una vez verificado el contenido, puedes eliminar el archivo comprimido si ya no lo necesitas.

  • terminalBASH
    rm archivo.zip
  • 5️⃣ Si aparece error 'command not found'

  • Instala el descompresor correspondiente según la distribución que uses (solo si tienes permisos).

  • terminalBASH
    sudo yum install unzip   # CentOS / Rocky
    # o
    sudo apt install unzip   # Ubuntu / Debian
  • Resumen general

  • Conclusión

  • Si trabajas con CyberArk + WinSCP, siempre comprime tus carpetas antes de subirlas (por ejemplo src.zip o frontend.tar.gz). Luego, una vez dentro del servidor, descomprímelas siguiendo los pasos anteriores. Así evitas los errores de transferencia y respetas las políticas de seguridad del PSM.