6

一連のサーバーに接続し、特定のパッケージを更新する単純なbashスクリプトがあり、here-stringを使用してプロンプトに応答します。

sudo /usr/bin/apt-get install package-name <<< Y

プロンプトは次のとおりです。

Configuration file /etc/package-name/package-name.conf
==> 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    : background this process to examine the situation
 The default action is to keep your current version.
*** package-name.conf (Y/I/N/O/D/Z [default=N] ?

これは、機能しない場合のエラーです。

dpkg: error processing package-name (--configure):
EOF on stdin a conffile prompt
Errors were encountered while processing:
package-name

サーバーにexpectまたはその他のプログラムをインストールできません。どんな助けでもいただければ幸いです。

4

2 に答える 2

14

dpkgこのシナリオで目的の動作をプロンプトで指定するオプションを渡す必要があります。その後、プロンプトは表示されません。

sudo apt-get -o DPkg::Options::="--force-confnew" -y install package-name

(テストされていません。グーグルで取得されます。)

于 2011-08-23T06:43:07.943 に答える
3

apt-getのmanページを見ると、yesと答えるオプション(-y)が見つかります。やってみませんか。

于 2011-08-23T04:39:58.283 に答える