Re: [问题] 今天我 Ubuntu apt update 莫名其妙卡住

楼主: Vdragon (V字龙)   2016-05-21 00:02:04
※ 引述《s9209122222 (海海海)》之铭言:
: 一开始是会卡在几个 ppa,移除掉之后还是无法顺利 update
: 于是我换了个服务器,但却会卡在这个地方:
: http://i.imgur.com/jFnBHl4.png?1
: 要是我 Ctrl+C 后重新跑就会卡在这边:
: http://i.imgur.com/rskVNja.png?1
: 请问该怎么办?
: 有人回报了这个 BUG,有空拜托各位去投个票囉
: https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1583854
最早的(?)软件缺陷报告:
Bug #1579712 “Refresh hangs indefinitely, appstreamcli using 100...” : Bugs
: appstream package : Ubuntu
https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712
据说软件缺陷已经存在快 3 年了,最近才(好像是因为有特殊的 metadata)触发造成无限循环(?)
由于软件来源快取更新都因为这个软件缺陷跑不完了,当然就不可能直接用软件更新的方式来修正问题。
这边来分享我的解法,这个解法不用去手动抓新版本的 Debian 软件包来安装。
1. 首先先用“(GNOME)系统监控”(或任何您惯用的方式)干(kill)掉坏的 appstreamcli 进程(process)(注意要在选单中勾选“所有程序(L)”appstreamcli 才会列在进程列表中)
2. 这个进程是在 APT 软件包管理系统更新本地端软件来源快取资料时被执行的,所以就修改 APT 软件包管理系统的设定将这个程序先停用。以 root 身份编辑 /etc/apt/apt.conf.d/50appstream 档案将最后几列的 APT::Update::Post-Invoke-Success 设定注解掉:
`````````````
# Refresh AppStream cache when APT's cache is updated (i.e. apt update)
#APT::Update::Post-Invoke-Success {
# "if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;
#then appstreamcli refresh > /dev/null; fi";
#};
`````````````
3. 执行“软件更新(更新管理员)”重新更新 APT 软件来源快取资料,这个时候就不会卡住了。
4. 升级 appstream 软件包
5. 于终端机中以 root 身份执行 appstreamcli refresh 命令更新 appstream 资料
6. 把 2. 所做的设定变更还原
嗯?您问 AppStream 是什么?AppStream 是新的软件元件诠释资料(metadata)规范,用在许多“软件中心”应用软件上,例如 Ubuntu Software。
https://www.freedesktop.org/wiki/Distributions/AppStream/
作者: kira925 (1 2 3 4 疾风炭)   2016-05-21 00:17:00
作者: s9209122222 (海海海)   2016-05-21 07:43:00
那不就每次重装系统都要搞一次了?
作者: Nexus5X (Nexus5X)   2016-05-21 13:30:00
作者: Debian (Debian)   2016-05-22 03:02:00
推荐文章。
作者: Hevak (Arthow Eshes)   2016-05-22 23:00:00
暂时还没遇到,不过不用装东西看起来就是比较好解..
作者: goldie (阿良)   2016-06-05 16:35:00
推~~

Links booklink

Contact Us: admin [ a t ] ucptt.com