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


20

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

当我启动USB并执行“ apt-get更新”时,一切都很好。当我尝试“ apt-get dist-upgrade”时,我得到:

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

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

另外:我想测试Unity8,其中包括安装软件。我没有备用计算机,所以我认为持久的USB可以解决问题。

有参加者吗?


2
rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt clean帮助吗?
Olathe

使用非持久性Live USB有时会发生这种情况。对我来说,运行sudo rm -rf /var/lib/apt/lists足以获取apt update并再次进行后续安装,尽管存在与“ CD-ROM”没有发布文件的相同错误。
mwfearnley '16

1
拜托你打开一个新的问题,如果你有一个新的或后续的问题?如果您将几乎不相关的问题添加到现有问题上,那么您正在扩大其范围,这使得它们很难回答。最重要的是,它可能会使现有答案无效。我自由删除了后续问题。谢谢。
David Foerster,2017年

2
我在做的时候得到了完全相同的错误sudo apt-get update,以及解决方案在这里并没有帮助:我试着删除/var/lib/apt/lists/var/cache/apt这并没有解决问题。的权限/var/cache/app-info/xapian/default已正确设置。帮助的是cd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old default。对此进行了解释:bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971(评论11)。
fiktor

Answers:


29

使用16.04.1实时Ubuntu持久性USB记忆棒对我来说也是这样。

最初,uncledave的解决方案不起作用,但是如建议的那样,更改权限是最终的解决方案。

然后我从daniel-gimpelevich找到了错误1601971答案#11以下命令帮助我修复了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记忆棒。


这个答案的质量很好。继续努力:)
ThatGuy

//,我可以确认它可以在Dell XPS的实时USB驱动器上的16.04.3 LTS上工作。
内森·巴萨内斯

这项工作对我来说..在WSL太..日Thnx的信息..
Buddhika恰图兰卡

2

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

我已经尝试过此命令,并且对我有用:

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


6
0777没有明显的原因,请不要推荐aka“请破解我的系统和销毁我的数据”权限!几乎从来没有理由这样做,因为可以通过更明智的修改(例如更改(组)所有权)来避免这种情况。请参阅linux64kb的答案以供参考。-1
大卫·佛斯特

//,@uncledave,也0755可以吗?顺便说一句,您已经吸引了约2万人。
内森·巴萨内斯

1
@NathanBasanese 755可以正常工作
linux64kb '18

1

在我使用16.04.1的持久实时USB上,只需键入

sudo -i

然后像root一样

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

exit

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


0

在我的系统上(基于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 :))


-1

我不知道如何正确解决此问题,但是apt-get dist-upgrade两次调用对我来说都行得通,尽管如此,我仍然可以在已安装的Ubuntu上重现它(第一次调用会出现错误,但是第二次调用有效)。


尝试过-它“修复”了它,但是当我尝试重复该过程时,出现了相同的错误。所以没有香蕉。上面的Olathe的建议很有帮助,但随后又导致了另一个错误...请参阅上面的评论。
Bernmeister '16
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.