Debianをアップデート/アップグレードし、対話をスキップします。

Debianをアップデート/アップグレードし、対話をスキップします。

いくつかの Debian コンピュータを更新してアップグレードするために小さなスクリプトを実行していますが、端末に表示されるいくつかの「ニュース」のために数週間停止し続けます。手動でアップグレードすると、一部のソフトウェアが「全画面表示」を表示することがあります(下記のスクリーンショットを参照)。 「q」を強制的に押します。ソフトウェアを変更したくないので、アップグレード時に各インタラクティブ画面をスキップできるソリューションを見つけたいと思います。

一般的に私は大丈夫です:

sudo apt-get update -y 
sudo apt-get upgrade -y

また、アップグレードプロセスがタイムアウトなしで中断されたことを確認した後、このソリューションを試してみました。郵便はがき:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade

しかし残念ながら結果は同じだ。中断することなくシステムをアップグレードできるソリューションはありますか?

xorg-server、終了するにはqを押します。

修正する:

まず、先ほど実行しました。

DEBIAN_FRONTEND=noninteractive

次に、/etc/dpkg/dpkg.cfg ファイルを次のように編集します。

# dpkg configuration file
#
# This file can contain default options for dpkg.  All command-line
# options are allowed.  Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#

# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig

# Log status changes and actions to a file.
log /var/log/dpkg.log

force-confold
force-confdef

最後に、私は以下を実行しました。

sudo apt-get upgrade -yq

これで「終了するにはqを押してください」のヒントを終了します。すごい!

私も実行されたコマンドを結合しようとしていると思います。

DEBIAN_FRONTEND=noninteractive
sudo apt-get -o Dpkg::Options::="--force-confnew --force-confdef" --force-yes -yq upgrade

残念ながら、別の同様の問題が発生しました。

ここに画像の説明を入力してください。

編集してみて/etc/apt/listchanges.conf残念ながら成功しませんでした。

[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news

解決策:

私はスクリプトを介してコマンドを実行すると、bashがコンソールに直接コマンドを入力したときとは異なる動作をすることがわかりました(申し訳ありませんが、これは高度なLinuxユーザーにとっては明らかです)。

全体的に、私のスクリプトソリューションは以下を追加するのに十分でした。-ypパラメータと設定DEBIAN_FRONTEND。安全な方になるには編集させていただきます。/etc/dpkg/dpkg.cfgファイルも。

#!/bin/bash
DEBIAN_FRONTEND=noninteractive
export DEBIAN_FRONTEND
apt-get -yq update
apt-get -yq upgrade

ベストアンサー1

これを設定しなければ、DEBIAN_FRONTEND=noninteractivedebconf プロンプトは表示されません。

次に、ファイルにforce-confoldおよびを追加します。次にオプションを使用してくださいforce-confdef/etc/dpkg/dpkg.cfg-y

sudo apt-get -y update && sudo apt-get -y upgrade

またはこのコマンドを使用してください

apt-get -o Dpkg::Options::="--force-confnew --force-confdef" --force-yes -y upgrade

うまくいかない場合はお試しください。

apt-get -o Dpkg::Options::="--force-confnew" --force-yes -y upgrade

おすすめ記事