如何跳过要求在 apt upgrade 上重新启动服务的交互式提示?

如何跳过要求在 apt upgrade 上重新启动服务的交互式提示?

当执行apt update -y && apt upgrade -y自动脚本(在交互式 shell 中启动时运行)时,系统提示我重新启动某些服务。

在此处输入图片描述

我的脚本看起来像

#!bin/bash

export DEBIAN_FRONTEND=noninteractive
export NEEDRESTART_MODE=a

sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y --fix-broken install

这是一个基于 Ubuntu 的“远程开发环境”,只能通过 ssh 访问,并且在重新启动时会被清除 - 因此我在初始 ssh 登录时(在交互式 shell 中)运行这些命令。

答案1

您设置的两个变量足以跳过前端提示。

它们无法正常工作,因为使用sudo执行apt-getsudo出于安全原因删除当前用户的环境。

如果您以 root 身份运行,请删除 sudo,它应该可以正常工作。如果您必须使用,sudo您可以告诉它保留您的用户环境-E

-E, --preserve-env
        Indicates to the security policy that the user wishes to preserve their exist‐
        ing environment variables.  The security policy may return an error if the
        user does not have permission to preserve the environment.

致谢:

相关内容