Tema: automation
-
Tale MCP: endpoint de despliegue y alcance por organización
Tale expone un endpoint MCP específico de cada despliegue para conocimiento y automatizaciones, con claves de API de tipo bearer y alcance por organización. Esta referencia resume los límites de conexión y de permisos que describe su documentación.
-
rc.conf, sysrc y service en FreeBSD: habilitar, iniciar y comprobar qué se ejecuta al arrancar
Los servicios de FreeBSD se habilitan de forma declarativa mediante una variable de rc.conf (en /etc/rc.conf o en un archivo por servicio bajo /etc/rc.conf.d); sysrc y service <name> enable simplemente escriben esa variable, y el propio rc.conf no está pensado para ejecutar nada directamente — solo establece variables que leen los scripts rc de /etc/rc.d. sysrc edita esas variables de forma segura desde un script, y service inicia, detiene e informa del estado del script de rc.d correspondiente.
-
Por qué un script desatendido falla en silencio en macOS: los permisos TCC para archivos, Accesibilidad y Automatización
macOS media el acceso a archivos fuera del contenedor de una app, al control de teclado/pantalla y a los eventos de Apple entre apps mediante TCC, asociado a la identidad de código del binario que llama y no al usuario de Unix — de modo que root no lo elude, y una herramienta recompilada sin firmar o firmada ad hoc reinicia el proceso de concesión de permisos.
-
Establecer la configuración regional, la zona horaria y reconfigurar paquetes sin interacción en Debian y Ubuntu
localectl, timedatectl y update-locale cambian la configuración regional y la zona horaria sin un cuadro de diálogo en modo texto, y dpkg-reconfigure -f noninteractive vuelve a ejecutar el paso de configuración de un paquete basado en debconf de la misma forma en que lo haría un script durante la instalación original, ambos utilizables en scripts de aprovisionamiento sin ninguna terminal conectada.
-
Comandos ad-hoc de Ansible y modo check para una primera ejecución segura sobre un conjunto de hosts
Un comando `ansible` ad-hoc ejecuta un módulo sobre uno o varios hosts sin necesidad de un playbook; combinado con `--check --diff` y un `--limit` acotado, permite a un agente ver qué efecto tendría un cambio en la flota antes de aplicarlo.
-
Automatizar z/OS mediante z/OSMF: las API REST de trabajos, conjuntos de datos y archivos
z/OSMF expone los trabajos, los conjuntos de datos y los archivos UNIX de z/OS como recursos HTTPS/REST normales, lo que lo convierte en la interfaz más adecuada para agentes con la que interactuar con el sistema; las solicitudes necesitan la cabecera personalizada X-CSRF-ZOSMF-HEADER (las que cambian el estado se rechazan sin ella), y las respuestas usan códigos de estado HTTP estándar en lugar de texto de mensaje 3270.
-
Los temporizadores de systemd como sustituto de cron: OnCalendar, Persistent= y RandomizedDelaySec
Una unidad .timer de systemd emparejada con un .service de tipo oneshot puede sustituir a una entrada de crontab, y además añade ejecuciones de recuperación tras un periodo de inactividad y una dispersión aleatoria entre los hosts de un parque. Esta metodología escribe, valida y habilita ese par de unidades, y explica qué hacen realmente Persistent= y RandomizedDelaySec=.
-
Usar SMIT como generador de comandos en lugar de como sistema de menús
Los menús de smit/smitty acaban ejecutando comandos AIX comunes, y la herramienta está diseñada para mostrar cuáles: la ventana de salida muestra la instrucción de comando construida, y smit.log/smit.script registran cada comando con sus opciones exactas y marcas de tiempo. Leer smit.script después de una tarea realizada mediante menús es una forma rápida de aprender el comando no interactivo equivalente.
-
Actualizar FreeBSD: freebsd-update para el sistema base, pkg upgrade para los paquetes y pkg audit para las vulnerabilidades conocidas
FreeBSD divide la aplicación de parches en dos herramientas independientes: freebsd-update fetch/install para el sistema base (con upgrade -r para un cambio de versión mayor), y pkg upgrade para los paquetes instalados. pkgbase —instalar el propio sistema base como paquetes pkg(8)— está documentado como experimental en FreeBSD 14 y como vista previa tecnológica para FreeBSD 15.0, todavía no como la vía por defecto.
-
Ejecución no interactiva de comandos administrativos de Linux para agentes desatendidos
Los comportamientos predeterminados interactivos —un paginador, una solicitud de confirmación, una configuración regional que reformatea los números, una solicitud de contraseña de sudo sin terminal para responderla— son las razones más comunes por las que una sesión desatendida de un agente se cuelga o interpreta mal la salida en Linux. Este artículo enumera las opciones y variables de entorno que desactivan cada una.
-
Dominios de launchd: elegir entre un LaunchAgent o un LaunchDaemon y cargarlo con launchctl
Los LaunchAgents y los LaunchDaemons residen en directorios distintos, se ejecutan en dominios de launchd distintos, y se gestionan con los subcomandos modernos bootstrap/bootout/enable/kickstart/print en lugar del par obsoleto load/unload. Esta metodología cubre cómo elegir el dominio correcto, escribir un plist mínimo y comprobar el estado.
-
Almacenar secretos para scripts desatendidos: credenciales de systemd, DPAPI, llavero de macOS y qué no hacer
Cada sistema operativo ofrece un mecanismo para entregar un secreto a un script sin usar variables de entorno ni argumentos de línea de comandos, que cualquier proceso coexistente o registro puede leer: LoadCredential= de systemd, DPAPI de Windows mediante Export-Clixml o SecretManagement, y el llavero de macOS con security find-generic-password.
-
Detectar el sistema operativo desde un script: uname, os-release, sw_vers, oslevel y un orden de reserva
Un script portable necesita una forma fiable de bifurcar según el sistema operativo y su versión antes de ejecutar un comando específico del sistema operativo procedente de cualquier otro artículo de esta serie. Esta metodología ofrece un orden de reserva —desde la fuente más específica y fiable hasta una suposición de último recurso— para shells POSIX y PowerShell.
-
known_hosts de SSH y verificación de claves de host en automatización: ssh-keyscan más una comprobación fuera de banda
Un proceso automatizado que se conecta por SSH sigue necesitando verificar la clave de host del servidor; ssh-keyscan por sí solo solo obtiene una clave, sin demostrar que sea auténtica. StrictHostKeyChecking=accept-new, HashKnownHosts y los registros SSHFP resuelven cada uno una parte distinta para hacerlo de forma segura sin un aviso interactivo.
-
Administrar SUSE Linux con zypper: refresh, patch frente a update frente a dup, y ejecuciones no interactivas
zypper separa en cuatro comandos distintos la actualización de los metadatos del repositorio, la instalación de parches oficiales, la actualización de paquetes individuales y la actualización completa de la distribución. Saber cuál usar, cómo ejecutar zypper sin supervisión, cómo encontrar procesos que aún usan archivos eliminados tras una actualización, y cómo bloquear la versión de un paquete evita que un agente rompa un host SUSE.
-
El cortafuegos PF en FreeBSD: probar pf.conf con pfctl -n antes de cargarlo y programar una reversión contra el bloqueo de SSH
Las reglas de pf.conf se organizan en torno a una política predeterminada de pass/block y a anchors opcionales para anexar subconjuntos de reglas, y solo se cargan con pfctl -f después de que pfctl -nf las haya analizado sin cargarlas. Como un conjunto de reglas erróneo puede cortar la propia sesión SSH con la que se aplica, programar con at(1) una reversión desatendida antes de cargar reglas nuevas es un patrón de seguridad habitual (no una función de PF) para probar cambios en un host FreeBSD remoto.
-
Ejecutar apt y dpkg de forma no interactiva en Debian y Ubuntu sin que se bloqueen en las preguntas
Una ejecución de apt-get o dpkg desde un script puede quedarse detenida por una pregunta de debconf, una consulta sobre un archivo de configuración modificado o un bloqueo de dpkg retenido. Si se define DEBIAN_FRONTEND, se usan las opciones confold/confdef adecuadas y se preconfiguran antes las respuestas de debconf, la instalación termina correctamente o falla con un error claro.
-
Ejecutar Homebrew sin interacción en un agente de compilación: NONINTERACTIVE, variables de entorno y Brewfile
El instalador de Homebrew, su actualización automática, la analítica y las versiones de las fórmulas pueden controlarse sin ningún aviso interactivo en un runner de CI, y un Brewfile hace reproducible el conjunto instalado entre runners.
-
Instalación desatendida de RHEL con un archivo Kickstart
Un archivo Kickstart permite instalar RHEL, Rocky Linux o AlmaLinux sin ninguna interacción, combinando comandos de una línea con secciones %pre y %post. Esta metodología explica cómo validar el archivo antes de usarlo, pasarlo durante el arranque y mantener los secretos fuera de un archivo que a menudo se sirve sin autenticación.
-
Configurar unattended-upgrades para aplicar parches de seguridad automáticos en Debian y Ubuntu
unattended-upgrades instala actualizaciones de paquetes de forma periódica mediante dos archivos: 20auto-upgrades (si se ejecuta y con qué frecuencia) y 50unattended-upgrades (qué orígenes se usan y si se reinicia). Probarlo con --dry-run --debug antes de activarlo en producción evita reinicios inesperados o actualizaciones a medio aplicar.
Legible por máquina: JSON