dpkg
を設定ファイルの交換時に確認を行わないように設定できます (--force-confdef --force-confold
オプションを使います)。しかしながら、人間が入力する必要が生じる状況は 3 つ考えられます: APT 自身への入力、debconf
が出す入力、パッケージ設定スクリプトのせいでコマンドラインから行われる入力です。
debconf
の場合はより詳細に説明が必要です。設計当初から、このプログラムは関連性とユーザに表示される大量の質問および質問の表示方法を制御するように設計されました。そのため、debconf は質問に最小の優先度を設定するよう要求します; 最小の優先度を超える優先度を設定された質問だけが表示されます。debconf
はユーザが回答しなかった質問は、(パッケージメンテナが定義した) デフォルトと同じように回答されたと仮定します。
noninteractive
を選んだら、ユーザからの入力は完全に使用不能にされます。パッケージが有益な注意を表示しようとした場合、管理者にメールで通知されます。
debconf
を再設定するには、debconf パッケージから提供される dpkg-reconfigure
ツールを使ってください; これを実行するコマンドは dpkg-reconfigure debconf
です。ここで設定した値は、必要ならば環境変数を使って一時的に上書きする事ができる点に注意してください。(例えば、DEBIAN_FRONTEND
環境変数は、debconf(7) マニュアルページで説明されている通り、インターフェースを制御します)。
dpkg
が実行する設定スクリプトで、これは克服する事が最も難しいものです。これに対する標準的な解決策はありませんし、無回答以外に良い解決策はありません。
command </dev/null
のように標準入力を /dev/null
の空内容にリダイレクトすることで標準入力を抑制するか、プログラムに改行文字を送り続けるかです。どちらの策も完全に信頼できるわけではありませんが、通常はデフォルト回答が使われることになります。なぜなら、多くのスクリプトでは、応答の無い場合はデフォルト回答を選択したことになるからです。