背景:在虚拟机里安装ubuntu18.04后在Software&Updates里更换了阿里云的软件源,随后执行sudo apt update时爆错:
(appstreamcli:5967): GLib-ERROR **: 06:01:22.829: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap (core dumped)
Reading package lists… Done
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
查看了站内的解决方案后均无效,且站内的文章多复制粘贴,出处无从考究也没有说明出错原因,但是我看了那些解决方案后认为是缺少了一个工具包:libappstream4。由下图tab补全出来的内容可以看到,这个库已经只有4,所以有的文章提及的libappstream3已经过时了
解决方案:安装libappstream4,执行以下命令
sudo apt install libappstream4
再次sudo apt update,发现已经正常了。遗憾的是鄙人还没搞清楚这个工具是干什么用的,希望以后有人能指点迷津