以下を使用してリモートサーバーにパッケージをインストールしていますssh
。
ssh root@my-host "DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get --quiet --yes install w3m"
設定しても、DEBIAN_FRONTEND=noninteractive
次の問題が原因でインストールが中断されるため、手動でEnterキーを押す必要があります。
Configuration file '/etc/w3m/config'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** config (Y/I/N/O/D/Z) [default=N] ?
dpkg --configure -a
私の考えでは、この質問は人間ではない人が尋ねる質問apt-get
なので、非対話型の質問は無視されました。
尋ねずに自動的にデフォルトオプションを選択するにはどうすればよいですか?
答え1
この設定ファイルの変更の競合はによって処理されますdpkg
。次のコマンドを使用してデフォルトオプションを選択することを強制できます--force-confdef
。の警告に注意してください。文書しかし:
警告:このオプションは基本的に専門家専用です。効果を完全に理解せずに使用すると、システム全体が破壊される可能性があります。
APTが呼び出されたときにこのオプションを提供するには、dpkg
APT設定に追加する必要があります。たとえば、次の行をに追加します/etc/apt/apt.conf
。
DPkg::options { "--force-confdef"; };
またはシングルコールの場合:
apt-get -o DPkg::Options::=--force-confdef ...
DEBIAN_FRONTEND=noninteractive
のみ影響を与えdebconf
、この場合にはまったく関与しません。