DEBIAN_FRONTEND=noninteractive
通过 SSH 远程执行脚本时有什么方法可以设置吗?
这样做我得到这个错误:
sudo: sorry, you are not allowed to set the following environment variables: DEBIAN_FRONTEND
DEBIAN_FRONTEND=noninteractive
我想准确设置在这个位置的原因是因为有时apt-get dist-upgrade
会显示一些用户交互的掩码(鞭尾)。由于想要通过远程运行此脚本,crontab -e
因此无需人工点击或按任何内容。因此,我需要将其关闭,否则脚本会卡住。
我尝试执行的脚本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
我还为backupuser
on设置了适当的权限:server_one
sudo visudo
backupuser ALL=(ALL) NOPASSWD: /usr/local/bin/perform-update
backupuser ALL=(ALL) NOPASSWD: /usr/bin/apt-get
backupuser ALL=(ALL) NOPASSWD: /usr/bin/snap