You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程执行更新脚本时设置DEBIAN_FRONTEND=noninteractive权限问题求助

远程执行更新脚本时设置DEBIAN_FRONTEND=noninteractive权限问题求助

各位大佬好,我现在碰到个棘手的问题——想通过SSH远程执行更新脚本时设置DEBIAN_FRONTEND=noninteractive,结果直接报错:

sudo: sorry, you are not allowed to set the following environment variables: DEBIAN_FRONTEND

为啥非得在这儿设置这个环境变量呢?因为有时候apt-get dist-upgrade会弹出whiptail的交互窗口,我是通过crontab远程触发这个脚本的,根本没人能手动操作,要是卡在交互环节脚本就直接僵住了,所以必须把这个交互给关掉。

我在server_one上的脚本路径是/usr/local/bin/perform-update,内容如下:

#!/bin/bash

sudo apt-get update

sudo DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade

sudo apt-get -y autoremove

sudo snap refresh

然后我在server_two上用这条命令远程调用:

SERVER_COMMAND="perform-update"

ssh -i $HOME/.ssh/id_rsa backupuser@server_one $SERVER_COMMAND

另外我已经在server_one的sudo visudo里给backupuser配置了权限:

backupuser      ALL=(ALL) NOPASSWD: /usr/local/bin/perform-update

backupuser      ALL=(ALL) NOPASSWD: /usr/bin/apt-get

backupuser      ALL=(ALL) NOPASSWD: /usr/bin/snap

有没有大佬能指点下怎么解决这个权限问题,让我能顺利设置环境变量关掉交互呀?

备注:内容来源于stack exchange,提问作者Socrates

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:58:12