在 Ubuntu(以及 Debian 系 Linux)里,“trigger 不执行”通常不是 Ubuntu 本身的 bug,而是触发条件、依赖关系或配置方式出了问题。下面按常见原因系统说明,并给出排查方法。
在 Ubuntu 里,“trigger” 常见于:
不同场景,原因完全不同。
dpkg trigger 只有在满足条件的操作发生时才会执行,例如:
/usr/share/man)如果你只是:
dpkg --configure -a
但没有任何包触发它,就不会执行。
✅ 验证:
dpkg-trigger --help
dpkg --configure <package>
apt 会延迟执行 trigger。
查看 pending:
cat /var/lib/dpkg/triggers/File
手动执行:
dpkg --triggers-only --configure -a
在 .postinst 或 debian/triggers 中必须声明,例如:
interest /usr/share/fonts
否则不会触发。
systemctl list-unit-files | grep your-trigger
如果没启用:
systemctl enable your.path
systemctl start your.path
例如:
检查:
systemctl status your.path
journalctl -u your.service
常见原因:
修复:
sudo udevadm control --reload
sudo udevadm trigger
❌ 误区:
✅ trigger 必须由事件驱动
请确认:
你可以直接告诉我:
我可以一步一步帮你查到“为什么没执行”。