我今天在运行 apt update 时遇到了 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
如下所示:然后保存文件并
apt-get update
再次运行。运行系统升级后,程序包 appstream 可能会进行升级以修复此错误,并且可能会出现如下消息:
你应该说 Y 来升级你修改过的文件。
我发布此内容是为了帮助可能搜索此错误的其他人。
清空 apt 缓存似乎也为我解决了这个问题。然后我可以跑
没有任何问题或警告。
编辑:也许我太快了。清理缓存后,错误消失了,但后来又出现了。
从失败的 Ubuntu 20.04 更新中恢复时,我遇到了同样的问题。根据其他地方的答案,我将 appstreamcli 移开:
在那之后,
工作没有问题。
然后我做了
最后
这解决了僵局。然后我确实有几个“保留”的包需要手动处理,但这很简单(如果相当乏味的话)。
使用以下命令解决问题:
然后在文件的最后 3 行添加注释,如下所示:
然后再做:
并且在那
给出 Y 并按 Enter 键以获取新的更新文件。