离线更新glibc

更新glibc

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎是其它任何运行库的基础。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能实现。最妥当的办法是更新系统,自带的glibc会随之更新,但提供的环境是固定并且离线的,只能离线更新。

极不推荐编译方式,因为还需对应Binutils、GMP、Gettext等等、,甚至还要更新GCC,虚拟机测试的时候没有能顺利成功。不要在运行中的系统上安装 glibc,尤其是生产服务器上,否则将会导致系统崩溃,至少应当将新 glibc 安装到其他的单独目录,以保证不覆盖当前正在使用的 glibc。

解决办法比较推荐的是离线安装包升级。CentOS 6系统中官方支持的最高glibc,因为没有官方支持,最后从fedora系统的搞到相关的rpm包。

提示glic 2.15缺失,只需要更新到最新的或者大于等于这个版本即可,更高的版本会包含之前的版本。el6 对应的CentOS 6,下面是搜索到的下载地址:

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

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

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

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

然后上传到服务器,进行安装。

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

如果直接安装不行,需要进行强制安装。命令结尾加上参数--force --nodeps再进行安装。

RPM更新包

更新包

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 force --force --nodeps

安装一个包

rpm -ivh xx.rpm

升级一个包

rpm -Uvh xx.rpm

移走一个包

rpm -e xx.rpm

安装参数

–force 即使覆盖属于其它包文件也强制安装。
–nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强制安装。

查询一个包是否被安装

rpm -q xx.rpm

包的信息

rpm -qi xx.rpm

列出包中有哪些文件

rpm -ql xx.rpm