glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操做系统所提供的系统服务外,它自己也提供了许多其它一些必要功能服务的实现。不少linux的基本命令,好比ls,mv,cp, rm, ll,ln等,都得依赖于它,若是操做错误或者升级失败会致使系统命令不能使用,严重的形成系统退出后没法从新进入,因此操做时候须要慎重,升级以前保存好重要资料。
写这篇笔记的目的实际上是我在centos 下想要安装chrome 浏览器时,有报错说glibc (2.14-2.16) 是安装chrome的依赖,因此才打算把本身的测试机升级下glibc动态库。下面开始正文:
一、首先,查看系统版本和Glibc版本linux
执行命令查看glibc版本
1 strings /lib64/libc.so.6 | grep GLIBC_ chrome
结果以下:centos
由上面的信息能够看出系统是CentOS 6.9,而centos、redhat 系统为了稳定性,glibc的版本还用的是2.12,而如今都已经2.30版本了,为了保险起见,我决定把它升级到2.17版本。api
二、下载软件并升级浏览器
1 wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 2 tar -xvf glibc-2.17.tar.gz 3 mkdir glibc-2.17/build 4 cd glibc-2.17/build 5 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 6 make –j4 7 make install
说明:
一、make 后面的-j4 是针对多核cpu提升编译速度的,数字4是cpu 核心的两倍(最大可设置为cpu核心的两倍)
二、--prefix 后面的路径必定要是/usr, 若是换成其余的均可能会致使失败。
安装完成后,最后输出测试
红框内这句话基本能够肯定是升级成功了!!!O(∩_∩)O哈哈~ui
三、测试
执行
ldd --versionspa
或者执行
strings /lib64/libc.so.6 | grep GLIBC_操作系统
至此,glibc 的版本升级就算是大功告成,期待这篇我通过数次(大概从新编译安装了5次,还包括一次系统大部分命令都没法使用,重启系统后都没法进入,不过还要我用的是虚拟机测试)实验测试才验证过的笔记可以帮到你们,后面我还会分享一个glibc升级时libc.so.6 文件误删或者丢失致使大部分命令失效的解决办法,敬请期待!3d