自動化されたビルドbashスクリプトがあり、最初にコマンドが実行されました
apt-get update;
apt-get upgrade -q -y -u
--allow-downgrades --allow-remove-essential --allow-change-held-packages
--allow-change-held-packages --allow-unauthenticated;
しかし、それはターミナルのポップアップでこの質問をし続けます
設定ファイル/ etc/default/grubの新しいバージョン(/tmp/grub.xC3mMKP0zx)が利用可能ですが、現在インストールされているバージョンはローカルで変更されています。
これが、自動化されたスクリプト実行がハングし、-allow *または-yオプションを使用して強制的にスキップできない理由です
私たちのubuntuは16.04
ポップアップが表示されないようにするにはどうすればよいですか?
助けてください、ありがとう
-更新-
私は多くの解決策を試しましたこれもこれです:apt-get installを使用するときに非インタラクティブな「dpkg --configure」を強制する これはこの質問と重複していると言われました
apt-get -o DPkg::Options::=--force-confdef upgrade -q -y -u --force-yes
デフォルトオプションの選択を求める同じpromtポップアップ
ここでDEBIAN_FRONTEND = noninteractiveオプションを見つけました: https://superuser.com/questions/164553/automatically-answer-yes-when- using-apt-get-install
そして、DEBIAN_FRONTEND = noninteractiveとDpkg :: Options :: = "-force-confdef"の組み合わせだけが、オプションポップアップを開くのを妨げました
したがって、最後のコマンドは
apt-get update;
DEBIAN_FRONTEND=noninteractive apt-get upgrade -q -y -u -o
Dpkg::Options::="--force-confdef" --allow-downgrades
--allow-remove-essential --allow-change-held-packages
--allow-change-held-packages --allow-unauthenticated;