Debianサーバーを更新するためにクローンジョブを設定していますが、潜在的な問題があります。 Terminalを使用してアップグレードしようとすると、apt -y upgrade
このオプションがある場合でも、-y
一部のパッケージはAPTが設定されているときにncursesプロンプト(またはY / I / N / O / D / Zプロンプト)を表示し、常にRandomオプションを残します。基本的に。私のコンピュータの前に座っているのではなく、cronを介してコマンドを実行し、ユーザーの対話のための方法がない場合、これらの問題をどのように回避できますか?
答え1
私は、デスクトップ/ノートブック/サーバーを実行するときに一般的な状況で無人アップグレードを使用するようにStephen Kittの提案に同意します。
無人アップグレードを待たずにカスタムAmazonマシンイメージ(AMI)を構築するスクリプトでこれを処理する方法は次のとおりです。これはUbuntu 16.xと20.xで低レベルのコマンドを使用していますが、apt-get
Debianでも動作すると思います。
たとえば、 grub 更新が新しい conf ファイルを受け入れるか、古いファイルを保持するように求めるメッセージをトリガーできる「dist-upgrade」コマンドは次のとおりです。
DEBIAN_FRONTEND=noninteractive \
apt-get -y \
-o DPkg::Options::="--force-confold" \
-o DPkg::Options::="--force-confdef" \
dist-upgrade
読みやすいようにコマンドを複数行に分けました。
環境変数の設定は、DEBIAN_FRONTEND=noninteractive
Y/I/N/O/D/Z の回答を求めるメッセージを表示しない要素の 1 つです。もう一つの要因は、dpkg
必要なオプションを明確に指定することです。
そして--force-confold
4つの--force-confdef
オプションですdpkg
。 --force-confdef
パッケージがデフォルトジョブを定義している場合は、デフォルトアクションが選択されます。デフォルト値が定義されていない場合、--force-confold
古いバージョンが選択されるか、--force-confnew
新しいバージョンが選択されます。
私のユースケースでは、以前のバージョンが必要です。
さらなる議論と詳細については、以下を参照してください。前の質問