アップグレード中にapt-listchanges(およびその他のインタラクティブなもの)を無効にします(確実に)


15

apt-listchanges が本当に嫌いです。大規模なdist-upgradeを実行する場合は、コンピューターを数時間そのままにしておきます。このサーバーフォールト質問の質問者は、その投稿のすべての提案を実装した後、同じ目標を念頭に置いていましたが、私はまだヒットしましたapt-listchanges

aptUnix哲学がそれを目指しているのに、なぜ他の点では優れたプログラムで非対話性を達成するのがそれほど難しいのですか?

私が行った変更/etc/apt/listchanges.confが助けになることを望んでいますが、相互作用なしに確実にアップグレードを行う方法についての提案が欲しいです。

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

これは私が使用したコマンドです

DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade

また、次の行を追加しました /etc/dpkg/dpkg.cfg

force-confold
force-confdef

2
が気に入らない場合apt-listchanges、なぜインストールするのですか?
ジル「SO-悪であるのをやめる」

3
apt-get purge apt-listchangesあなたを助けてそれを削除していませんか?
デイジー

Warl0ckの権利。アンインストールします。私はapt-getを常に非対話的に使用しています。
バハマ

4
最新のdebianがプリインストールされています... d'oh!
ixtmixilix

1
ええ、これがデフォルトのようだというのは本当に嫌いです。
UpTheCreek

回答:


11

設定で見つけて設定したようにapt-listchanges、フロントエンドをに設定した場合はプロンプトを表示しないでくださいnone。環境変数APT_LISTCHANGES_FRONTEND=noneを設定して同じことを実現することもできます。

あなたが本当にやりたいことは、unattended-upgradesパッケージを使用することです。無効化apt-listchanges、フロントエンドの設定、noninteractiveconffileプロンプトの確認と回避など、すべてを処理します。他に何もない場合、Pythonスクリプトの内容/usr/bin/unattended-upgradesは、魔法の仕組みに関する質問に答える必要があります。


conffileプロンプトをどのように回避しますか?あなたの設定を保持するか、それを置き換えることによってそれらを無視しますか?
ナタリーアダムス

aptconfigに--force-confoldまたは--force-confnewが含まれている場合、DPkg::Options期待どおりに動作します。そうしないと、conffileプロンプトをトリガーするパッケージはアップグレードされず、電子メールが送信されます(電子メールがで構成されている場合unattended-upgrades)。メールが利用できない場合は、に記録され/var/log/unattended-upgradesます。
ジム・パリ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.