CentOS 6 强行安装 glibc-2.14

CentOS 6 是一个比较老的 distribution 了， 但是在某些地方还是被使用着。在某些版本为 6 的系统中，我们若需要安装一些新的东西，即便引入新的 rpm，有时遇到说需要更新 glibc 的。真是为难人～网上找了好久，也找不到 match CentOS 6 的 glibc，但是在某个犄角旮旯, 我找到了 fedora 15 的某个存档。然后正好可以凑合用下。

因为从 2.12 更新到 2.14，需要解决相关依赖问题，因此若要让 glibc 2.14 工作，我们至少需要下载这几个包:

glibc-2.14.1-6.x86_64.rpm
glibc-common-2.14.1-6.x86_64.rpm
glibc-devel-2.14.1-6.x86_64.rpm
glibc-headers-2.14.1-6.x86_64.rpm

一般情况下，我都是习惯用 yum localinstall some-rpm.rpm 来着，不过这个是不行的，因为 glibc 和 glibc-common 居然是循环依赖的….而且不同版本的 glibc 和 glibc-headers 之类是不兼容的，因此要一起装才行。

解决方法是把它们放到一个目录下，然后执行命令

$ sudo rpm -Fhv glibc*
warning: glibc-2.14.1-6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 069c8460: NOKEY
Preparing... ########################################### [100%]
1:glibc-common ########################################### [ 25%]
2:glibc warning: /etc/localtime created as /etc/localtime.rpmnew
########################################### [ 50%]
3:glibc-headers ########################################### [ 75%]
4:glibc-devel ########################################### [100%]

然后就大功告成了.

解决完这个依赖，然后安装别的内容，似乎并没有问题。

补充说明

假如你没有升级压力的话，强烈建议大版本升级，比较稳定潜在的坑比较少。

假如你为某个鬼机构服务，甲方爸爸非要说在 CentOS 6 上操作，或者迁移本身比较困难，那么可以用这种方法解下燃眉之急。那么可以找个新版本的包来刷下升级。因为它已经没有别的依赖了，因此不太会有大问题。

比如 163 mirror 下的 fedora 27 有如下包:

http://mirrors.163.com/fedora/updates/27/x86_64/Packages/g/glibc-2.26-30.fc27.x86_64.rpm

http://mirrors.163.com/fedora/updates/27/x86_64/Packages/g/glibc-common-2.26-30.fc27.x86_64.rpm

http://mirrors.163.com/fedora/updates/27/x86_64/Packages/g/glibc-devel-2.26-30.fc27.x86_64.rpm

http://mirrors.163.com/fedora/updates/27/x86_64/Packages/g/glibc-headers-2.26-30.fc27.x86_64.rpm

其实问题也不大。

但是再强调下: 能自动升级的不要自己 hack。life is short, i use newer version :)