apt-get update && apt-get upgrade -y
毎週複数のサーバーで実行されるスクリプトがあります。
/etc/ssh/sshd_config
Debian 9でテストしたときに、以下のスクリーンショットのように変更された設定ファイルを保持するか、管理者バージョン()をインストールするかどうかを尋ねるメッセージが表示されます。
私の質問は:メッセージを表示したくない場合は、コマンドに何を含める必要がありますか?必要な動作は、ローカル構成ファイルを維持し、アップグレードを続行することです。
私は試した:
--force-yes
に追加するapt-get upgrade
順序がわからないので、アップグレードコマンドの前後にオプションを追加してください。
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
コンテンツを使用して作成
/etc/apt/apt.conf.d/local
:Dpkg::Options { "--force-confdef"; "--force-confold"; }
編集する
/etc/dpkg/dpkg.conf
:force confdef,confold
私が試したことは何もプロンプトを表示せず、次に何をしようとするのかわかりません。
私の試みのほとんどは、このStackExchangeの投稿に基づいています。構成ファイルの無人アップグレードと修正、このパッケージを紹介しましたunattended-upgrades
。私たちは現在これを使用していませんが、これがDebianで毎週更新/アップグレードを実行する正しい方法であるかどうかを調べてみましょう。
ありがとうございます!
答え1
DEBIAN_FRONTENDを非対話型に設定してください。例えば
export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get upgrade -y
man 7 debconf
詳細については、次を参照してください。
非対話型
これがアンチフロントエンドです。それはあなたと全く対話せず、すべての質問に基本的な答えを残します。ルートにエラーメッセージを送信することもできますが、それはすべてです。さもなければ、完全に静かで目に見えないので、自動化されたインストールのための完璧なフロントエンドになります。
このフロントエンドを使用し、質問に対する基本的な回答ではなく回答が必要な場合は、debconfデータベースをプロビジョニングする必要があります。以下のセクションを参照してください。無人パッケージのインストール詳細については。