bash中apt升级时如何自动提示?

问题描述 投票:0回答:1

我正在 Bookworm 上运行多个 Raspberry Pi 4。 在这些上,我有一个 bash 文件,如下:

sudo apt -y update
read -t 600 -p "Pausing 10 minutes between Update and Upgrade"
sudo apt -y upgrade
read -t 600 -p "Pausing 10 minutes between Upgrade and AutoRemove"
sudo apt -y autoremove

有时我会看到以下屏幕:

Terminal window with a curses-style interface showing a dialog labeled

我还将其作为调用上述脚本的 cron 作业(每季度一次)运行,但通过 cron 运行时失败。 我如何识别这个 GUI 提示已出现并输入正确的答案?

重要提示:这种情况并不总是发生,所以我希望它能够识别何时发生,然后才提供正确的输入。

bash apt dpkg
1个回答
0
投票

对于

dpkg
前端的特定情况,例如
apt
,它的构建目的是能够完全禁用交互式提示 - 您不需要自动执行提示,只需将其关闭即可。

在运行 apt 时导出环境变量

DEBIAN_FRONTEND=noninteractive
,你将不再得到交互式提示;如果您需要断言特定设置,您可以使用
debconf-utils
中的实用程序以非交互方式设置它们 - 请参阅其文档。

具体:

sudo DEBIAN_FRONTEND=noninteractive apt -y update
read -t 600 -p "Pausing 10 minutes between Update and Upgrade"
sudo DEBIAN_FRONTEND=noninteractive apt -y upgrade
read -t 600 -p "Pausing 10 minutes between Upgrade and AutoRemove"
sudo DEBIAN_FRONTEND=noninteractive apt -y autoremove
© www.soinside.com 2019 - 2024. All rights reserved.