apt-get installを使用するときに非対話型「dpkg --configure」を強制する

apt-get installを使用するときに非対話型「dpkg --configure」を強制する

以下を使用してリモートサーバーにパッケージをインストールしています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が呼び出されたときにこのオプションを提供するには、dpkgAPT設定に追加する必要があります。たとえば、次の行をに追加します/etc/apt/apt.conf

DPkg::options { "--force-confdef"; };

またはシングルコールの場合:

apt-get -o DPkg::Options::=--force-confdef ...

DEBIAN_FRONTEND=noninteractiveのみ影響を与えdebconf、この場合にはまったく関与しません。

関連情報