いくつかの Debian コンピュータを更新してアップグレードするために小さなスクリプトを実行していますが、端末に表示されるいくつかの「ニュース」のために数週間停止し続けます。手動でアップグレードすると、一部のソフトウェアが「全画面表示」を表示することがあります(下記のスクリーンショットを参照)。 「q」を強制的に押します。ソフトウェアを変更したくないので、アップグレード時に各インタラクティブ画面をスキップできるソリューションを見つけたいと思います。
一般的に私は大丈夫です:
sudo apt-get update -y
sudo apt-get upgrade -y
また、アップグレードプロセスがタイムアウトなしで中断されたことを確認した後、このソリューションを試してみました。郵便はがき:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
しかし残念ながら結果は同じだ。中断することなくシステムをアップグレードできるソリューションはありますか?
修正する:
まず、先ほど実行しました。
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=noninteractive
debconf プロンプトは表示されません。
次に、ファイルに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