在 Ubuntu 里,trigger 通常出现在两类场景里:
下面分别说明优化思路。
man-db trigger(重建 man 索引)initramfs-tools triggerfontconfig / glib trigger避免每次安装都触发:
sudo apt-get install -y --no-install-recommends
sudo dpkg --configure -a
或在脚本中:
export DPKG_ADMINDIR=/var/lib/dpkg
例如 man-db:
sudo apt-get remove --purge man-db
(仅适合服务器 / 容器)
unattended-upgrades 批量处理减少频繁 trigger:
sudo systemctl enable unattended-upgrades
Docker 中常见优化:
RUN rm -f /etc/dpkg/dpkg.cfg.d/docker \
&& dpkg --configure -a
[Path]
PathChanged=/var/lib/data/
MakeDirectory=true
优化点:
PathModified 代替 PathChanged(更少触发)[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
建议:
RandomizedDelaySec=sudo dpkg --audit
sudo dpkg -l | grep -i trigger
journalctl -u your-trigger.service
# 减少 apt trigger
sudo apt-get install -y --no-install-recommends
sudo apt-get clean
# 禁用 man-db
sudo apt-get remove --purge man-db
如果你能说明:
我可以给你更精准的优化方案。