fix: mejorar detección de errores en install.sh (espacio, permisos, HTTP code)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-25 09:00:31 -05:00
co-authored by Claude Sonnet 4.6
parent 34b9c81262
commit 2ff4d314de
+22 -5
View File
@@ -74,17 +74,34 @@ info "Directorio: ${INSTALL_DIR}"
info "Intervalo: ${INTERVAL}s"
# ── Instalar binario ──────────────────────────────────────────────────────────
mkdir -p "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR" || error "No se pudo crear directorio ${INSTALL_DIR} (¿permisos?)"
# Verificar espacio disponible (necesita al menos 20 MB)
AVAIL_KB=$(df -k "$INSTALL_DIR" 2>/dev/null | awk 'NR==2 {print $4}')
if [[ -n "$AVAIL_KB" && "$AVAIL_KB" -lt 20480 ]]; then
error "Espacio insuficiente en ${INSTALL_DIR}: solo ${AVAIL_KB} KB disponibles (se necesitan ≥20 MB)"
fi
info "Descargando agente desde ${DOWNLOAD_URL}..."
DEST="${INSTALL_DIR}/usite-agent"
if command -v curl &>/dev/null; then
curl -fsSL "$DOWNLOAD_URL" -o "${INSTALL_DIR}/usite-agent" || error "No se pudo descargar"
HTTP_CODE=$(curl -fsSL --write-out "%{http_code}" "$DOWNLOAD_URL" -o "$DEST" 2>/tmp/curl_err) || {
CURL_ERR=$(cat /tmp/curl_err 2>/dev/null)
error "No se pudo descargar (HTTP ${HTTP_CODE:-?}). ${CURL_ERR}\nVerifica: df -h ${INSTALL_DIR}"
}
elif command -v wget &>/dev/null; then
wget -q "$DOWNLOAD_URL" -O "${INSTALL_DIR}/usite-agent" || error "No se pudo descargar"
wget -q "$DOWNLOAD_URL" -O "$DEST" || error "No se pudo descargar con wget"
else
error "Se requiere curl o wget"
fi
chmod +x "${INSTALL_DIR}/usite-agent"
ok "Binario descargado"
# Verificar que el binario es un ejecutable válido
if [[ ! -s "$DEST" ]]; then
error "El archivo descargado está vacío: ${DEST}"
fi
chmod +x "$DEST"
ok "Binario descargado ($(du -sh "$DEST" | cut -f1))"
# ── Configuración ─────────────────────────────────────────────────────────────
cat > "${INSTALL_DIR}/agent.yml" <<EOF