运行apt更新时appstreamcli出现问题


11

今天,当我运行带有以下返回值的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

2
您好,欢迎来到U&L。您可能应该将其重新表述为一个问题和一个答案。将解决方案移到下面的答案中,并将其标记为已接受。
DopeGhoti

Answers:


14

谷歌搜索后,我发现有人说删除软件包appstream将解决此问题。

该解决方案可以使用,但是在许多情况下,这种方法将删除您可能不想删除的软件包。

另一种解决方案是这样注释/etc/apt/apt.conf.d/50appstream文件中的最后三行:

...
#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来升级您已修改的文件。

我发布此消息是为了帮助其他可能搜索此错误的人。


2
apt-get clean

清空apt缓存似乎也为我解决了它。那我就可以跑步

apt-get update

没有任何问题或警告。

编辑:也许我太快了。清除缓存后,错误消失了,但后来又再次发生。


1
我糊涂了; 您需要运行前两个命令还是清空apt缓存足够?
杰夫·谢勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.