今日、次のリターンでapt更新を実行しているときに、debianテストに問題がありました。
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code
グーグルの後で、appstreamを削除することで問題が解決すると言う人がいます。
このソリューションは機能しますが、多くの場合、このアプローチは削除したくないパッケージを削除します。
別の解決策は、次のように/etc/apt/apt.conf.d/50appstream
ファイルの最後の3行にコメントを付けることです。
...
#APT::Update::Post-Invoke-Success {
# "if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null | true; fi";
#};
次にファイルを保存し、apt-get update
を再度実行します。
システムアップグレードを実行した後、パッケージappstreamがこのエラーを修正できるアップグレードを持つ可能性があり、次のようなメッセージが表示されることがあります。
Configuration file '/etc/apt/apt.conf.d/50appstream'
==> Modified (by yourself or by a script) since the installation.
==> The package distributor has released an updated version.
What do you want to do? Your options are:
Y or I: install the version of the maintainer package
N or O: keep the currently installed version
D: Show differences between versions
Z: start a Shell to examine the situation
変更したファイルをアップグレードするには、Yと言う必要があります。
このエラーを検索する可能性のある他の人を助けるためにこれを投稿しています。
apt-get clean
Aptキャッシュを空にすることも私にはそれを解決したようです。それから私は走ることができました
apt-get update
問題や警告なし。
編集:たぶん私は速すぎました。キャッシュを消去した後、エラーはなくなりましたが、後で再び発生しました。