主题: automation
-
Tale MCP: deployment endpoint and organization scope
Tale exposes a deployment-specific MCP endpoint for knowledge and automations, using bearer API keys and organization scoping. This reference summarizes its documented connection and permission boundaries.
-
FreeBSD 的 rc.conf、sysrc 与 service:启用、启动并检查开机运行项
FreeBSD 服务通过 rc.conf 变量声明式启用,变量位于 /etc/rc.conf 或 /etc/rc.conf.d 中的单服务文件。sysrc 和 service <name> enable 都只是写入该变量;rc.conf 本身不应直接运行任何操作,只设置供 /etc/rc.d 中 rc 脚本读取的变量。sysrc 可由脚本安全编辑这些变量,service 则启动、停止对应 rc.d 脚本并报告状态。
-
Why an unattended script fails silently on macOS: TCC permissions for files, Accessibility and Automation
macOS mediates access to files outside an app's container, keyboard/screen control, and cross-app Apple Events through TCC, keyed to the code identity of the calling binary rather than the Unix user — so root does not bypass it, and a rebuilt unsigned or ad-hoc-signed tool starts the grant process over.
-
Setting locale, timezone and reconfiguring packages non-interactively on Debian and Ubuntu
localectl, timedatectl and update-locale change locale and timezone without a text-mode dialog, and dpkg-reconfigure -f noninteractive re-runs a package's debconf-driven setup the same way a script would run the original install, both usable in provisioning scripts with no terminal attached.
-
Ansible ad-hoc commands and check mode for a safe first run against a fleet
An ad-hoc `ansible` command runs one module against one or more hosts without a playbook, and combining it with `--check --diff` and a narrow `--limit` lets an agent see what a change would do to a fleet before it does it.
-
Automating z/OS through z/OSMF: the jobs, datasets, and files REST APIs
z/OSMF exposes z/OS jobs, datasets, and z/OS UNIX files as ordinary HTTPS/REST resources, which makes it the most agent-friendly interface to the system; requests need the X-CSRF-ZOSMF-HEADER custom header (state-changing ones are rejected without it), and responses use standard HTTP status codes rather than 3270 message text.
-
用 systemd 定时器替代 cron:OnCalendar、Persistent= 与 RandomizedDelaySec
systemd 的 .timer 单元与 oneshot 类型的 .service 配对后,可以替代 crontab 条目,并增加停机后的补跑以及主机群中的随机时间抖动。本方法说明如何编写、验证和启用这对单元,并解释 Persistent= 和 RandomizedDelaySec= 的实际作用。
-
Using SMIT as a command generator instead of a menu system
smit/smitty menus ultimately run ordinary AIX commands, and the tool is built to show you which ones: the output window displays the constructed command statement, and smit.log/smit.script capture every command and its exact flags with timestamps. Reading smit.script after a menu-driven task is a fast way to learn the equivalent non-interactive command.
-
Updating FreeBSD: freebsd-update for the base system, pkg upgrade for packages, and pkg audit for known vulnerabilities
FreeBSD splits patching into two independent tools: freebsd-update fetch/install for the base system (with upgrade -r for a major release change), and pkg upgrade for installed packages. pkgbase — installing the base system itself as pkg(8) packages — is documented as experimental on FreeBSD 14 and a technology preview for FreeBSD 15.0, not yet the default path.
-
Running Linux administrative commands non-interactively for unattended agents
Interactive defaults — a pager, a confirmation prompt, a locale that reformats numbers, a sudo password prompt with no terminal to answer it — are the most common reasons an unattended agent session hangs or misparses output on Linux. This article lists the flags and environment variables that turn each one off.
-
launchd domains: choosing a LaunchAgent or LaunchDaemon and loading it with launchctl
LaunchAgents and LaunchDaemons live in different directories, run in different launchd domains, and are managed with the modern bootstrap/bootout/enable/kickstart/print subcommands rather than the deprecated load/unload pair. This methodology covers picking the right domain, writing a minimal plist, and checking status.
-
Storing secrets for unattended scripts: systemd credentials, DPAPI, macOS keychain — and what not to do
Each OS has a mechanism to hand a script a secret without an environment variable or command-line argument that any co-resident process or log can read: systemd's LoadCredential=, Windows DPAPI via Export-Clixml or SecretManagement, and the macOS keychain via security find-generic-password.
-
Detecting the operating system from a script: uname, os-release, sw_vers, oslevel and a fallback order
A portable script needs a reliable way to branch on operating system and version before running an OS-specific command from any of the other articles in this series. This methodology gives a fallback order — from the most specific, most reliable source down to a last-resort guess — for POSIX shells and PowerShell.
-
SSH known_hosts and host key verification for automation: ssh-keyscan plus an out-of-band check
Automation that connects over SSH still needs to verify the server's host key; ssh-keyscan alone only harvests a key without proving it is genuine. StrictHostKeyChecking=accept-new, HashKnownHosts and SSHFP records each address a different part of doing this safely without an interactive prompt.
-
Administering SUSE Linux with zypper: refresh, patch versus update versus dup, and non-interactive runs
zypper separates refreshing repository metadata, installing official patches, updating individual packages and a full distribution upgrade into four distinct commands. Knowing which one to use, how to run zypper unattended, how to find processes still using deleted files after an update, and how to lock a package version keeps an agent from breaking a SUSE host.
-
The PF firewall on FreeBSD: testing pf.conf with pfctl -n before loading it, and a scheduled rollback against SSH lockout
pf.conf rules are organized around a default pass/block policy, optional anchors for attaching sub-rulesets, and are loaded with pfctl -f only after pfctl -nf has parsed them without loading. Because a mistaken rule set can cut off the very SSH session used to apply it, scheduling an unattended revert with at(1) before loading new rules is a common safety pattern (not a PF feature) for testing changes on a remote FreeBSD host.
-
Running apt and dpkg non-interactively on Debian and Ubuntu without hanging on prompts
A scripted apt-get or dpkg run can stall on a debconf prompt, a modified-conffile question or a held dpkg lock. Setting DEBIAN_FRONTEND, the right confold/confdef options and preseeding debconf answers first turns an install into a command that either finishes or fails loudly.
-
Running Homebrew non-interactively on a build agent: NONINTERACTIVE, env vars and Brewfile
Homebrew's installer, its auto-update and analytics behaviour, and formula versions can all be controlled without a prompt for use on a CI runner, and a Brewfile makes the installed set reproducible across runners.
-
使用 Kickstart 文件构建无人值守的 RHEL 安装
Kickstart 文件以单行命令结合 %pre 和 %post 脚本片段,驱动 RHEL、Rocky Linux 或 AlmaLinux 安装,无需交互提示。本方法介绍使用前验证文件、启动时传入文件,以及如何避免把秘密放进通常无需认证即可获取的文件。
-
配置 unattended-upgrades,在 Debian 和 Ubuntu 上自动安装安全补丁
unattended-upgrades 通过定时器应用软件包更新,使用两个文件:20auto-upgrades(是否更新及频率)和 50unattended-upgrades(使用哪些来源及是否重启)。在生产环境启用之前用 --dry-run --debug 测试,可避免意外重启或只完成一半的升级。
机器可读: JSON