回答:
apt-get -y install [packagename]
の問題:
apt-get --yes install $something
パッケージ署名所有者の公開鍵がキーリングにない場合、またはその他の条件がある場合、手動で確認するように求められるということです。確認を求めないようにするには、次のようにします。
apt-get --yes --force-yes install $something
これらの設定を永続的にしたい場合は、/ etc / apt / apt.conf.d / 90forceyesなどのファイルを/etc/apt/apt.conf.d/に作成し、次の内容を追加します。
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
-y
が退屈になっていた。(さらに、より完全な答えです。)
--force-yes
:との関連スレッドへのこの応答debian-devel
、提案する--force-yes
システムが使用できなくなる可能性があります。(答えはOPが述べたように実際に問題に対処しているので、私は
対話型プロンプトが表示されたときにデフォルトの回答を自動的に表示する場合も、使用できることに注意してください。 DEBIAN_FRONTEND=noninteractive
単一インストール:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
例えば:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
すべての更新:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
およびを使用して-o Dpkg::Options::="--force-confdef"
、 より細かいオプションを設定できます-o Dpkg::Options::="--force-confold"
。
例:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
または
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
対話型プロンプトの例:
興味深い読み物: Debianパッケージの無人インストールを実行します
-y
サービスを再起動するかどうかを尋ねるプロンプトが表示されました。すべてのプロンプトを完全に排除するためにこれが必要でした。
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
これは少なくとも入力し/etc/apt/apt.conf
てコメントアウトする必要があります。UbuntuがMicrosoftに常に許可を求めているのではないかと心配しています。
「本当によろしいですか?」もちろん、私はキーボードをただタイプするだけで、うれしそうにクリックする訓練を受けた猿ではありません。
次に、ドアは「外に出てもよろしいですか?」と尋ねます。
オーブンは、「本当に調理しますか?」と尋ねます。
自動車は「本当にブレーキをかけますか?」と尋ねます。
消火器は「本当に消しますか?」と尋ねます。
デイブ、ごめんなさい
HAL9000は収縮を使用できましたが、データは使用できなかったか、使用できませんでした。
-y
スイッチを使用します。
apt-get -y install packagename
常に-y引数が必要な場合は、行を追加することをお勧めします
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
あなたの.bashrcに。これは、コメントで説明されているように、すべてのapt-getコマンドに-y引数を自動的に追加するため、すべてのダウンロードを承認します。
注:.bashrcを元に戻し、シェルを再起動するまで、これは真のままです。
特にwiresharkをインストールするときに、スクリプトでデフォルト以外を選択する方法を探していましたが、次のようにtmuxを使用してシェルとやり取りしました:
# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach