Cron
重啟命令會等待無人值守升級完成嗎?
我在電腦上隨機執行無人值守升級。我有一個 cron 在每天的固定時間重新啟動。如果我的重啟 cron 在更新過程中執行,它會等待重啟還是在安裝過程中強制重啟?
當您執行
reboot
您的 init 系統時,請通過發送 SIGTERM 信號來關閉正在執行的程序。如果它們沒有在合理的時間內關閉(如果您在使用 systemd 的機器上,此時間預設為 90 秒),init 系統將發送一個 SIGKILL 信號。我們當然不想終止繁忙的無人值守升級過程,因為這可能會導致安裝一半的軟體包。知道完整執行(例如安裝許多在同一天發布的更新)可能需要超過 90 秒才能完成無人值守的升級,開發人員增加了超時。在我的 Ubuntu 20.04 機器上,我得到:
$ grep TimeoutStopSec /usr/lib/systemd/system/unattended-upgrades.service TimeoutStopSec=1800
即使在較舊的機器上,30 分鐘也應該足夠了。如果您不想等待那麼久,或者您仍然擔心無人值守升級執行會被中斷,請考慮在 中啟用以下參數
/etc/apt/apt.conf.d/50unattended-upgrades
:// Split the upgrade into the smallest possible chunks so that // they can be interrupted with SIGTERM. This makes the upgrade // a bit slower but it has the benefit that shutdown while a upgrade // is running is possible (with a small delay) //Unattended-Upgrade::MinimalSteps "true";