appstreamcli:AppStream 系统缓存已更新,但发现问题:元数据文件有错误:/var/cache/app-info/xmls/fwupd.xml

appstreamcli:AppStream 系统缓存已更新,但发现问题:元数据文件有错误:/var/cache/app-info/xmls/fwupd.xml

我该如何摆脱它?

$ sudo apt-get 更新
点击数:1 http://se.archive.ubuntu.com/ubuntu xenial InRelease
点击数:2 http://se.archive.ubuntu.com/ubuntu xenial-updates InRelease                                                                                             
点击数:3 http://download.virtualbox.org/virtualbox/debian xenial InRelease                                                                                        
点击数:4 http://se.archive.ubuntu.com/ubuntu xenial-backports InRelease                                                        
点击数:5 http://ppa.launchpad.net/freecad-community/ppa/ubuntu xenial InRelease                  
获取:6 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
点击数:7 http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu xenial InRelease                     
点击数:8 http://ppa.launchpad.net/freecad-maintainers/freecad-stable/ubuntu xenial InRelease                      
点击数:9 http://ppa.launchpad.net/geany-dev/ppa/ubuntu xenial InRelease         
获取:10 http://security.ubuntu.com/ubuntu xenial-security/main amd64 软件包 [517 kB]               
点击数:11 http://ppa.launchpad.net/gezakovacs/ppa/ubuntu xenial InRelease                                        
点击数:12 http://ppa.launchpad.net/otto-kesselgulasch/gimp-edge/ubuntu xenial InRelease                            
点击数:13 http://ppa.launchpad.net/pmjdebruijn/darktable-release/ubuntu xenial InRelease                          
点击数:14 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease                                       
获取:15 http://security.ubuntu.com/ubuntu xenial-security/main i386 软件包 [455 kB]
获取:16 http://security.ubuntu.com/ubuntu xenial-security/main 翻译-en [221 kB]
获取:17 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 元数据 [67,7 kB]
获取:18 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [68,0 kB]
获取:19 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 元数据 [107 kB]
获取:20 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 图标 [142 kB]
1 秒内获取 1 685 kB(969 kB/秒)                                  
AppStream 系统缓存已更新,但发现问题:元数据文件有错误:/var/cache/app-info/xmls/fwupd.xml
正在读取软件包列表...完成
E:执行脚本时出现问题 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:子进程返回错误代码

$ sudo appstreamcli——版本
AppStream CLI 工具版本:0.10.6

$ sudo appstreamcli 刷新缓存--force--verbose
** (appstreamcli:13014): DEBUG:将 /usr/share/app-info/xmls 添加到元数据搜索路径。
** (appstreamcli:13014): DEBUG:将 /var/lib/app-info/yaml 添加到元数据搜索路径。
** (appstreamcli:13014): DEBUG:将 /var/cache/app-info/xmls 添加到元数据搜索路径。
**(appstreamcli:13014):调试:刷新 AppStream 缓存
** (appstreamcli:13014): DEBUG: 在 /usr/share/app-info/xmls 中搜索数据
** (appstreamcli:13014): DEBUG: 在 /var/cache/app-info/xmls 中搜索数据
** (appstreamcli:13014): DEBUG: 在 /var/lib/app-info/yaml 中搜索数据
** (appstreamcli:13014): DEBUG:正在读取:/usr/share/app-info/xmls/org.freedesktop.fwupd.xml
**(appstreamcli:13014):调试:读取:/var/cache/app-info/xmls/fwupd.xml
** (appstreamcli:13014):调试:警告:无法解析 XML 数据:实体:第 265 行:解析器错误:EntityRef:预期为“;”
        <校验和文件名="Firmware_SF30&SN30_Pro_V1.26.dat" 目标="内容" t
                                                            ^

---截图-------

** (appstreamcli:13014): DEBUG:system/os/package/zathura-pdf-poppler.desktop 扩展了 system/os/package/zathura.desktop,但未找到 system/os/package/zathura.desktop。
**(appstreamcli:13014):DEBUG:更新内存数据池时出错:元数据文件有错误:/var/cache/app-info/xmls/fwupd.xml
** (appstreamcli:13014): DEBUG: 词干语言为:en
AppStream 系统缓存已更新,但发现问题:元数据文件有错误:/var/cache/app-info/xmls/fwupd.xml

看着: apt-get 更新期间出现库损坏错误 这些“补救措施”并不起作用,问题仍然存在。

正在读此文: Ubuntu 16.04:获取更新时出现 appstreamcli 错误 ... 遗憾的是,有一个旧版本需要下载并安装作为补救措施。

答案1

由于 fwupd 包的设置文件存在错误,因此需要手动编辑:

sudo apt install expat
xmlwf /var/cache/app-info/xmls/fwupd.xml
sudo vim /var/cache/app-info/xmls/fwupd.xml

转到给出的行号xmlwf 在我的情况下我得到了

/var/cache/app-info/xmls/fwupd.xml:268:72: not well-formed (invalid token)

&将字符(在我的情况下是第 268 行)替换为&amp;

然后您可以再次运行更新:

sudo apt update

答案2

补充一下 Frederik 的上述回答:冒号后的第二个数字指的是错误所在的列。我也遇到了这个&字符的问题。删除它就解决了。

您可以通过输入以下命令直接使用 vim 转到该行:

sudo vim +<LINE_NUMBER> /var/cache/app-info/xmls/fwupd.xml

相关内容