如何修复“AppStream缓存更新已完成,但由于错误而忽略了一些元数据。”?

我以root身份执行了apt update,但是我收到了这个错误信息:AppStream缓存更新已完成,但由于错误而忽略了一些元数据。我找到了这个链接,提供了一个解决方案,编辑这个配置文件:/usr/share/app-info/xmls/org.freedesktop.fwupd.xml。但是我打开了这个文件,发现我有与解决方案相同的代码。我的配置文件
我能在这个问题下更新我的软件包吗? 编辑:来自shell的完整日志:
Des:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Obj:2 http://es.archive.ubuntu.com/ubuntu xenial InRelease  
Des:3 http://es.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]    
Des:4 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [67,0 kB]
Des:5 http://es.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]  
Des:6 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [38,3 kB]
Des:7 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [19,4 kB]
Des:8 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [25,6 kB]
Des:9 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 DEP-11 Metadata [212 B]
Des:10 http://es.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [293 kB]
Des:11 http://es.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [182 kB]
Des:12 http://es.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [119 kB]
Des:13 http://es.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [132 kB]
Des:14 http://es.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 DEP-11 Metadata [2.520 B]
Des:15 http://es.archive.ubuntu.com/ubuntu xenial-backports/main amd64 DEP-11 Metadata [208 B]
Des:16 http://es.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [212 B]
Des:17 http://es.archive.ubuntu.com/ubuntu xenial-backports/multiverse amd64 DEP-11 Metadata [212 B]
Descargados 1.186 kB en 1s (851 kB/s)                        
AppStream cache update completed, but some metadata was ignored due to errors.
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Todos los paquetes están actualizados.
4个回答

这个问题已经在appstream软件包的版本0.10.1中修复,但是在Ubuntu 16.04中安装的版本默认为0.9.4。Ubuntu 16.10会自动接收更新,因为它在标准仓库中提供了该更新。

然而,针对Ubuntu 16.04的带有错误修复的更新版本只能通过xenial-backports仓库提供,该仓库的优先级较低。这意味着除非您手动指定,否则不会升级到此版本。

要首先启用xenial-backports仓库,请按照如何启用“backports”仓库?(只需启用仓库,无需修改仓库优先级)。

之后,通过输入以下命令升级到来自xenial-backports的版本:

sudo apt install appstream/xenial-backports

现在你的`appstream`软件包应该升级到版本`0.10.1`。
$ appstreamcli --version
AppStream CLI tool version: 0.10.1

现在强制刷新缓存数据,您不应再看到任何警告。
$ sudo appstreamcli refresh --force
AppStream cache update completed successfully.

6嗨,我在执行上一个命令时收到了以下消息:"AppStream系统缓存已更新,但发现了问题:元数据文件存在错误:/var/cache/app-info/xmls/fwupd.xml。" AppStream CLI工具版本:0.10.6 - JIV
@JIV 我觉得你应该提出一个关于那个问题的新问题。你可以附上这个链接以便提供背景信息。 - Byte Commander
我在使用Ubuntu 16.04几年后第一次遇到这个问题。即使启用了后备存储库,仍然出现相同的错误。只需发布这个问题 - Sun Bear
@JIV,你发了一个关于“AppStream系统缓存已更新,但出现问题:元数据文件存在错误:/var/cache/app-info/xmls/fwupd.xml”的问题吗?我也收到了同样的消息。你找到解决办法了吗? - Sun Bear
我刚才做了 - https://askubuntu.com/questions/1057791/apt-update-failing-after-updating-appstream - JIV
这对我来说也是一个问题。我按照你描述的步骤操作了,但现在出现了以下错误: AppStream系统缓存已更新,但发现了问题:元数据文件存在错误:/var/cache/app-info/xmls/fwupd.xml我该如何解决?是否有缓存需要清除或文件需要删除? - Robin chan
即使在今天的Ubuntu 16.04.6 LTS上,执行上述操作后,appstreamcli仍然是版本0.9.4,但现已升级至0.10.6 - WinEunuuchs2Unix


错误已在12月1日修复,为了消除这些错误,您需要在“软件和更新”中的开发者选项下启用proposed存储库。

  • 打开Dash,然后输入“软件和更新”。
  • 导航到“开发者选项”选项卡。
  • 勾选“预发布更新(xenial-proposed)”复选框。
  • 更改存储库设置需要管理员密码,请在弹出窗口中填写。
  • 关闭窗口,然后点击重新加载以应用更改的源(相当于apt-get update)。
  • 打开终端,然后尝试执行sudo apt-get update命令。

谢谢Liso,但似乎提议的修复措施现已部署(可能是在过去一两个小时内),因为我在几分钟前执行了标准的apt-get update/upgrade程序后,错误就消失了。 - ColdCold
6启用proposed并盲目从中升级可能会引发许多麻烦。 - Pilot6

有时候使用目标版本会导致一些问题,如果你有的话,考虑将其移除。它应该在`/etc/apt/apt.conf.d/`中,并且看起来像`APT::Default-Release "n=stretch,o=Debian"`。