它几天前就开始了。我运行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)
虽然此进程的系统风扇速度在我的笔记本电脑上有所提升,但听到这个声音有点烦人。不过 CPU 活动并不多。你们能告诉我为什么会发生这种情况吗?
答案1
这是个 bug。看看https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712/。问题是该错误影响了更新过程,因此您无法更新。Catch 22。
因此,要解决这个问题,您必须手动安装损坏的软件包。
如果系统尝试进行更新,则可能会有一个恶意程序appstreamcli
在运行 --- 使用 100% 的 CPU;它还会锁定数据库apt
,从而阻止任何升级尝试。
为了解决这个问题,你必须杀死这个流氓程序appstreamcli
--- 你可以通过运行 top 找到它的 PID,然后
sudo kill <PID here>
第二步是手动更新失败的软件包,如下所示:(注意:在 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
就像在错误报告的第 24 条评论中所说的那样。
现在您可以更新您的系统;一旦成功完成更新,您就可以安全地删除已下载的软件包。
很棒的虫子。
顺便说一句 --- 这与更新期间 appstreamcli 挂起,CPU 使用率为 100% 和apt-get 卡在“已获取 XXKb,耗时 XX 秒”