由于appstreamcli数据库错误,无法“apt-get dist-upgrade”

我创建了一个带有持久性Ubuntu 16.04(发行版)的USB记忆棒。 我尝试了几种方法,使用Startup Disk Creator和MultiSystem,但我得到了相同的最终结果。

当我启动USB并进行’apt-get update’时,一切都很顺利。 当我尝试’apt-get dist-upgrade’时,我得到:

**(appstreamcli:2761):CRITICAL **:将旧数据库移开时出错。 AppStream缓存更新失败。

我可以找到这个错误消息的唯一参考是https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472,但似乎是修复的,至少在Ubuntu发布版本时修复16.04。

旁白:我想测试Unity8,其中包括安装软件。 我没有备用电脑,所以我认为持久的USB可以解决问题。

任何接受者?

这也发生在我使用16.04.1直播Ubuntu持久USB棒。

uncledave的解决方案最初没有起作用,但正如所建议的,改变权利是最终的解决方案。

然后我从daniel-gimpelevich找到了答案#11的错误1601971以下命令帮我修复了apt-get update

 sudo chmod -R a+rX,u+w /var/cache/app-info/xapian/default 

我怎么猜755是正确的面具? 和…之间的不同

 ls -ld /var/cache/app-info/xapian drwxr-xr-x 1 root root 4096 Nov 19 20:35 /var/cache/app-info/xapian/ 

 ls -ld /var/cache/app-info/xapian/default drw-r--r-- 2 root root 4096 Jul 19 20:54 /var/cache/app-info/xapian/default 

这个apt-get更新运行正常后。

 sudo apt-get update Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB] Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB] Fetched 190 kB in 0s (312 kB/s) Reading package lists... Done 

注意1如果安装/升级太多软件包,建议不要以这种方式升级实时永久性USB记忆棒。

注意2如果你想将Ubuntu用作可启动的“瑞士军刀”,最好将Ubuntu直接安装到USB记忆棒上。

谷歌搜索引导我到这个链接: 在github上

我试过这个命令,它对我有用:

chmod 777 /var/cache/app-info/xapian/default -R

在我持续的16.04.1直播USB上,只需键入

sudo -i

然后像root一样

sudo apt-get update一切都很好。 然后

exit

回到我原来的路径ubuntu @ ubuntu。

在我的系统上(基于ubuntu xenial),这是最初的perms布局:

 drwxr-xr-x 2 root root 4096 Sep 28 12:32 /var/cache/app-info/xapian/default/ 

请注意,该组没有’w’访问权限。 修复是

 chmod g+w /var/cache/app-info/xapian/default 

,所以这里没有危险(如在c0m3h4ckm3 :))

我不知道如何正确解决这个问题,但调用apt-get dist-upgrade两次对我有用,我能够在已安装的Ubuntu上重现它(在第一次调用时会出现错误,但是第二个电话有效)。