16.04 apt 更新永无止境

Мих*_*лов 10 apt

几天前就开始了。我正在运行sudo apt update命令,它永远不会结束。终端输出是

Get:1 http://ru.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Hit:2 http://archive.canonical.com/ubuntu xenial InRelease                     
Hit:3 http://ppa.launchpad.net/attente/java-non-latin-shortcuts/ubuntu xenial InRelease
Hit:4 http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu xenial InRelease
Ign:5 http://dl.google.com/linux/chrome/deb stable InRelease                   
Hit:6 http://ru.archive.ubuntu.com/ubuntu xenial-updates InRelease             
Get:7 http://security.ubuntu.com/ubuntu xenial-security InRelease [94,5 kB]    
Hit:8 http://dl.google.com/linux/chrome/deb stable Release                     
Hit:9 http://ru.archive.ubuntu.com/ubuntu xenial-backports InRelease           
Fetched 341 kB in 2s (150 kB/s)
Run Code Online (Sandbox Code Playgroud)

虽然这个过程系统风扇速度在我的笔记本电脑上得到了提升,但听这个有点烦人。虽然没有过多的 CPU 活动。你们能提示我为什么会这样吗?

Rma*_*ano 14

这是一个错误。查看https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712/。问题是bug影响了更新过程,所以无法更新。抓住 22。

因此,要解决它,您必须手动安装损坏的软件包。

如果系统尝试进行更新,您可能会appstreamcli运行流氓--- 使用 100% 的 CPU;它还将锁定apt数据库,这将阻止任何升级尝试。

要解决它,您必须杀死流氓appstreamcli--- ypu 可以通过运行 top 找到它的 PID,然后

sudo kill <PID here>
Run Code Online (Sandbox Code Playgroud)

第二步是手动更新失败的包,如下所示:(注意:在 64 位系统上;如果您运行 32 位系统,则必须相应地更改链接,使用i386代替amd64

cd /tmp && mkdir asfix
cd asfix
wget https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i *.deb
Run Code Online (Sandbox Code Playgroud)

正如错误报告的评论 #24 中发布的那样。

现在您可以更新您的系统了;成功执行此操作后,您可以安全地删除下载的软件包。

不错的bug。

顺便说一句 --- 这与appstreamcli 在更新期间以 100% CPU 使用率挂起 并且apt-get 卡在“在 XXsec 中获取 XXKb”相同