亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在sudoers.d文件中添加DEBIAN_FRONTEND=非交互式?

如何在sudoers.d文件中添加DEBIAN_FRONTEND=非交互式?

Go
忽然笑 2022-08-15 19:33:37
我正在自動化dpkg-sig安裝,這是我的項目目的之一?,F在我想以非交互式方式安裝它。我在 /etc/sudoers.d/ 中的文件中添加了以下內容Cmnd_Alias DPKGSIG_INSTALL = /usr/bin/apt install -y dpkg-sig, \                            /bin/apt install -y dpkg-sigabc ALL=(root) NOPASSWD: DPKGSIG_INSTALLDefaults:abc !requiretty我正在嘗試使用我的golang代碼安裝dpkg-sig,如下所示:installDpkgSig := "/usr/bin/sudo DEBIAN_FRONTEND=noninteractive apt install -o Dpkg::Options::=--force-confold -y dpkg-sig"executor.cmd = *exec.Command("bash", "-c", installDpkgSig)它無法安裝它。收到以下錯誤:sudo: sorry, you are not allowed to set the following environment variables: DEBIAN_FRONTEND但是當我從安裝命令中刪除DEBIAN_FRONTEND=非交互式部分時,它工作正常。如何以非交互式方式運行安裝?
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

無需涉及Bash(它甚至可能打開更多的錯誤);只需為命令設置環境變量:


cmd := exec.Command("sudo", "apt-get", "install", "-o", "Dpkg::Options::=--force-confold", "-y", "dpkg-sig")

cmd.Env = append(os.Environ(), "DEBIAN_FRONTEND=noninteractive")

err := cmd.Run()

(另外,對于非交互式任務,請使用 apt-get,而不是 apt。


查看完整回答
反對 回復 2022-08-15
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

終于能夠解決這個問題。它不需要對 /etc/sudoers.d/ 文件進行任何更改。


修改了上面的代碼,如下所示,它的工作原理。


installDpkgSig := "export DEBIAN_FRONTEND=noninteractive && /usr/bin/sudo apt install -o Dpkg::Options::=--force-confold -y dpkg-sig"

executor.cmd = *exec.Command("bash", "-c", installDpkgSig)

隨著 bash 會話的完成,DEBIAN_FRONTEND將設置為默認值。


查看完整回答
反對 回復 2022-08-15
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號