记一次libc6安全升级引发的问题

2014.10.13/2014.10.14发布于研究暂无评论/目录

我的阿里云用的是debian wheezy系统,今天例行维护了下,打算安装点更新什么的,结果被坑了好久。

起因

同往常一样,先是apt-get update,然后再apt-get upgrade,发现libc基础库有安全更新,也没怀疑什么,果断安装之,然后就悲剧了。

更新之后偶然又运行了一次apt-get update,结果报了一个挺罕见的错误:

E: Method http has died unexpectedly!
E: Sub-process http received a segmentation fault.

果断google之,结果没发现什么靠谱的解决方法。仔细想了想,更新前apt还是好好的,估计是这次更新的libc的问题。

解决过程

查了下/var/log/dpkg.log,最近一次更新里主要是把下面的几个软件从2.13-38+deb7u4升到了2.13-38+deb7u5版本:

  • libc6
  • libc-bin
  • libc6-i386
  • libc6-dev
  • libc-dev-bin
  • libc6-dev

先回退到升级前的版本试一下,运行命令

sudo apt-get install libc6=2.13-38+deb7u4

提示说

E: Version '2.13-38+deb7u4' for 'libc6' was not found

没办法,到/var/cache/apt/archives/目录看看有没有老版本的缓存

ll /var/cache/apt/archives/ | grep libc6

果断没有发现。。。只能老老实实的到https://packages.debian.org/挨个搜索下载(见下文),然后用dpkg手动安装降级。例如:

sudo dpkg -i libc6-dev_2.13-38+deb7u4_amd64.deb

降级安装libc6之后,再试一下sudo apt-get update,果断恢复正常了。。。

接下来只要把剩下的几个软件降级回去即可,最后运行sudo apt-get check检查一下依赖关系,确保没有问题。

怀疑

忙活完之后,到https://www.debian.org/security/index.en.html查了下,结果没有发现这次libc升级的新闻。。。。

另外,我检查了下在digital ocean托管的debian wheezy系统和自己工作用的ubuntu trusty系统,都没有这个libc的安全升级。。。

修改/etc/apt/sources.list,注释掉阿里云的镜像,然后重新apt-get update,再apt-get upgrade,结果libc的安全升级就不见了。。。

求真相

目前在阿里云发了个工单,问下是怎么个情况,等待回复中。。。

不解,就这样吧。

2014-10-14 更新

今天抽空又看了下这个问题,发现在https://packages.qa.debian.org/e/eglibc.html确实有这次更新的新闻,然后重新安装了一下,结果这次没问题了。。。这个世界总是存在好多解释不了的事情呢。。。

另外,如果要下载某个版本的软件包的话,也不必傻乎乎的跑到https://packages.debian.org/这里去了,直接apt-get即可:

apt-get download libc6=2.13-38+deb7u4

冤枉人家了。

#linux#系统维护#阿里云

评论