CentOS 6.x 如何升级 glibc 2.17

引子

本文描述如何在 CentOS 6.x 升级蛋疼的 glibc 2.17.

学习机器的内容,需要用到 tensorFlow, 在自己 Mac 上跑太心疼了。 于是尝试在公司的测试机上跑。然而我搭建好 conda, jupyter notebook , 引入 tf 的时候报错。
(关于如何 安装科学计算环境,以及远程访问 jupyter notebook, 请看下一篇文章)

如下
image_1bfbrng2h1mgr110uuqj1l0239n9.png-26.6kB

在一看机器上的情况 最高只有 2.15
image_1bfbrqvjh3eg1qjl1g0i1d1r3kvm.png-55.9kB

其实已经是运维升级过了的,默认只到 12。主要还是我们的系统版本太低。

CentOS 7.X,GLIBC 已经到 2.17,GCC 也是 4.8.5
但是对于公司来说,稳定是第一位的。所以。。。

如何安装

两种方法,一种源码编译,一种是用 rpm 来安装,之前看到这篇文章点这里,其实说的还蛮好的,但是只是升级到 2.15, 而最新的 tf 1.1 版本,需要 2.17 的版本。

其实问题最大的就是找不到给 CentOS 6.x 用的 2.17rpm 包,直到今日,我搜到了有人昨天发布一段脚本,才算找到了解决方法
,直接给链接 感激万分的点这里

你不愿点看,我就写下来:

1
2
3
4
5
6
7
8
9
10
11
12
13
#! /bin/sh
# update glibc to 2.17 for CentOS 6
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm
sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm

其实就是下载资源,然后用 rpm 安装。

可能遇到的错误

当你执行

1
2
3
4
rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm

的时候会报错

image_1bfbsmbs2h3m1o5t163o1luhkhe13.png-84.4kB

解决方案:
命令结尾加上参数

1
--force --nodeps

原因可以看这篇文章 点这里,造成这个问题的主要原因是套件被重複 (强制) 安装了两次以上. 可以用上面的命令进行依赖忽略,也可以卸载。

总结

  • 搜索的关键词真的很重要,谷歌很重要,英语很重要。
  • 运气很重要(这个问题折腾我两个礼拜)
  • 别用百度搜技术问题。

还有,如果你手动编译安装glibc。。。。

万一你安装失败就会导致系统各种命令无法执行。。千万别退出。。你一旦退出,就无法登陆了,只能用光盘恢复系统了。。

但是这篇文章里的方法,可以试一试 解决方法

朱老师&敏哥 wechat
有惊喜,朋友🙄
我要拿铁不加糖.