在 CentOS(以及 RHEL 系列系统)里,“trigger” 最常见于 RPM 包管理机制 中,指的是 触发器(trigger),而不是某个独立命令或工具。
简单说:当你需要在“某个软件包发生安装 / 卸载 / 升级”时,自动执行一些操作,就用 trigger。
例如:
httpd,需要自动重启 php-fpmmysql,需要清理相关用户或目录典型 trigger 类型:
%triggerin:当目标包被安装/升级时触发%triggerun:当目标包被卸载时触发%triggerpostun:目标包卸载之后触发示例(spec 文件):
%triggerin -- httpd
systemctl restart php-fpm
%triggerun -- httpd
systemctl stop php-fpm
比如:
%triggerpostun -- myapp < 2.0
migrate-config.sh
例如:
ldconfig示例:
/etc/foo.d%post / %postun 即可)❌ “centos trigger 是个命令”
✅ 不是命令,是 RPM spec 里的脚本机制
❌ “systemd trigger”
✅ systemd 用的是 systemctl / udev,不是 RPM trigger
当“一个包的变化需要自动影响另一个包或系统状态”时,就用 CentOS / RPM 的 trigger。
如果你是指 具体是哪种 trigger(RPM / systemd / Ansible / cron),可以告诉我场景,我可以给你更精准的示例。