Debianパッケージのインストール中にプロンプ​​トを無効にする


22

Debianパッケージのインストール中に表示されるプロンプトを完全に無効にするにはどうすればよいですか?見つけたすべてのオプションを使用しましたが、まだプロンプトが表示されているパッケージがいくつかあります。

私はこのコマンドを使用しています:

apt-get -y --allow-unauthenticated --force-yes -o DPkg::Options::="--force-overwrite" -o DPkg::Options::="--force-confdef" install x11-common

x11-commonパッケージがまだプロンプトを表示するのはなぜですか?どうすればこれらのプロンプトを取り除くことができますか?

前もって感謝します

- ビクター

編集:明確にするために、プロンプトは「はい/いいえ」プロンプトではなく、色付きの画面(通常は2色の画面)で開かれた質問ですが、これらの質問のデフォルトオプションを設定したい

回答:


38

envを設定して、新しいフロントエンドを選択します。

DEBIAN_FRONTEND=noninteractive apt-get -y install x11-common

私はこれを常にパッケージのインストールの自動化に使用していますcfengine


+1これは正しい答えです
-lynxman

これをchroot内で非対話的に使用する必要がある場合など、いくつかの奇妙な場合に使用できますDEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something"
-mschuett

8

x11-commonを手動でインストールしていないので、どのような質問がされているのかわかりません。しかし、それらがdebconfから来ている場合は、で質問に事前に回答できるはずdebconf-set-selectionsです。


これが解決策です。ありがとう。私はにdebconf-getを-選択してプロパティを取得してのdebconf-セットの選択で、以前にそれらを設定し、それ以上のプロンプトが現れなかっました
victorgp

選択を設定しても、優先度に応じていくつかのパッケージが質問をする場合があります。ただし、可能な場合は選択を設定することをお勧めします。フロントエンドをに設定するのnoninteractiveは、魔法の「何があっても何も聞かない」フラグです。
バハマ

4

dpkg-reconfigure debconf「優先度が次よりも低い質問を無視する:クリティカル」に伝える必要があります。

これにより、重要な質問に答えることができなくなります。


1

ですべてのパッケージを再構成するためのプロンプトをグローバルに無効にするにはdebconf/etc/apt/apt.conf.d/70debconfファイルの2行目をコメントアウトします。

または、VMをプロビジョニングする場合、これらのコマンドをプロビジョニングスクリプトに追加します。

sudo ex +"%s@DPkg@//DPkg" -cwq /etc/apt/apt.conf.d/70debconf
sudo dpkg-reconfigure debconf -f noninteractive -p critical

Travis CIが行う方法と同じ方法で試すこともできます。

sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install some_package

ttf-mscorefonts-installer(に依存しているlanguage-pack-en)のような他のパッケージの場合、上記は機能しないようですので、試してください:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install -y language-pack-en

1
--force-yesは非常に怖いですし、プロンプトを爆破するのはお勧めしません。いつか壊れた、おそらく回復不可能なシステムに陥っても驚かないでください。
dragon788
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.