升级glibc的感慨,
1. 直接升级
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现...
总的来说,不说运行在Linux上的一些应用,或者你之前部署过的产品,就是很多linux的基本命令,比如cp, rm, ll之类,都得依赖于它
网上很多人有惨痛教训,甚至升级失败后系统退出后无法重新进入了。。
对于CentOS这样的系统,为了追求稳定性(这个值得商榷)往往各种库版本都很低,比如6.5甚至7.0自带的还是glibc2.12, 而ubuntu 14.04带glibc2.19
如果升级基本C运行库到一个太新的版本,可能会影响CentOS的运行。所以大家如果遇到CentOS基本库的问题,影响了自己程序的运行,应该可以考虑:
源代码编译升级系统glibc版本,下载glibc从http://ftp.gnu.org/gnu/glibc/下载
先行查看glibc版本,运行 /lib64/libc.so.6 (/lib64/libc.so.6也是一个软链接文件,直接运行就可以看到指向,本文为/lib64/libc-2.12.so
[root@fyc119 opt]# ll /lib64/libc.so.6
现在得到版本为2.12
glibc2.16以下,需要下载glibc-ports-2.16.0.tar.gz,和对应glibc-2.16.0.tar.gz
cd /opt
wget http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.16.0.tar.gz
tar xf glibc-2.16.0.tar.gz
tar xf glibc-ports-2.16.0.tar.gz
ls
[root@fyc119 opt]# mv glibc-ports-2.16.0 glibc-2.16.0/ports
[root@fyc119 opt]# mkdir cc
由于glibc编译不能在源代码内编译,所以新建一个文件夹cc
[root@fyc119 opt]# cd cc
[root@fyc119 cc]# ../glibc-2.16.0/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#(直接把glibc编译后安装的代码写入/lib64, 即/usr/lib64,如果缺乏编译gcc ,运行 yum groupinstall "Development tools")
[root@fyc119 cc]# make
[root@fyc119 cc]# make install
但是对于一些项目,不能升级glibc 又怎么办呢?
还是参照上面,但是要修改一下
[root@fyc119 cc]# ../glibc-2.16.0/configure --prefix=/opt/cc
[root@fyc119 cc]# make
[root@fyc119 cc]# make install
然后glibc库文件在 /opt/cc/lib
[root@fyc119 cc]#export LD_LIBRARY_PATH=/opt/cc/lib:$LD_LIBRARY_PATH
但是centos6.8下运行nodejs,出现了glibc2.16出问题。而2.14正常。
升级glibc的感慨,的更多相关文章
- <未测>源码升级安装glibc和rpm升级glibc
源码升级安装glibc和rpm升级glibc http://jacklin9.spaces.live.com/blog/cns!A891B52E1182AFB2!346.entry http://bl ...
- 解决libc.so.6: version `GLIBC_2.14' not found问题, 升级glibc,glibc-2.15
0.以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的g ...
- Linux升级glibc
参考http://www.linuxidc.com/Linux/2015-04/116472.htm via 红孩儿你好 一.简介 glibc是gnu发布的libc库,即c运行库.glibc是linu ...
- 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
redhat6系统默认安装的glibc-2.12,有的软件依赖的是glibc-2.14,这时需要升级glibc,下载安装 http://ftp.gnu.org/gnu/glibc/glibc-2.14 ...
- 升级glibc、gcc、zlib等
前言:昨天公司先上线一个项目,需要用到Libreoffice开源办公套件,版本为最新版6.2的.这就难为我老人家,没办法,干吧. 成功的路上总是不那么一番风顺,总会有点小瑕疵,才会让人铭记于心. 先介 ...
- CentOS 6.x 如何升级 glibc 2.17
CentOS 6.x 如何升级 glibc 2.17 ldd --version rpm -qa | grep glibc #查看glibc的版本 strings /lib64/libc.so.6 | ...
- Linux CentOS6升级glibc库过程
CentOS6升级glibc库过程 hadoop无法加载native库,可能原因是 glibc库版本过低,需要升级. 第一:安装以下软件 yum -y install zlib zlib-devel ...
- 【linux】之Centos6.x升级glibc
因为Centos比较保守依赖的glibc最高版本是2.12 rpm -qa|grep glibc strings /lib64/libc.so. |grep GLIBC_ 但是经常我们安装一些源码包, ...
- 分享Centos6.5升级glibc过程
默认的Centos6.5 glibc版本最高为2.12, 而在进行Nodejs开发时项目所依赖的包往往需要更高版本的glibc库支持, 因此在不升级系统的前提下, 需要主动更新系统glibc库. 一般 ...
随机推荐
- CF949B A Leapfrog in the Array 思维题,推理
题意: Dima是一名初级程序员. 在他的工作中,他经常不断地重复以下操作:从数组中删除每个第二个元素. 有一天,他对这个问题的解决方案感到厌倦,他提出了以下华丽的算法. 假设有一长度为2n的数组,最 ...
- Mysql ERROR 1067: Invalid default value for 字段
问题: //今天把一个数据库的sql文件导入到另一个数据库出现以下异常: Mysql ERROR 1067: Invalid default value for 字段 //原因是因为之前导出数据里面有 ...
- 使用highcharts动态绘制折线图——so easy
之前学习highcharts发现网上的教程大部分是对highcharts数据的注释,如何动态绘制数据大部分一笔带过,让那些初涉开发的小白云里雾里,所以我就写了一篇这样的博客. <html> ...
- POJ 2356 Find a multiple( 鸽巢定理简单题 )
链接:传送门 题意:题意与3370类似 注意:注意输出就ok,输出的是集合的值不是集合下标 /***************************************************** ...
- 2015 Multi-University Training Contest 7 hdu 5372 Segment Game
Segment Game Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- Spring中 @Autowired标签与 @Resource标签 的区别(转)
spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource. @PostConstruct及@PreDestroy. 1. @Autowi ...
- ORACLE-014:oracle中查看DBLinkpassword
dblink在数据库中使用是比較多的,简单方便.只是随着oracle安全机制的加强.普通用户登录仅仅能看到,username以及连接字符串.那么dblinkpassword怎样查看呢? 非常easy. ...
- ZOJ 2705
这题,找找规律,可以发现一个斐波那契数列.按照斐波那契数列求和,知道, SUM=Fn+2-F1,于是,该长度为Fn+2的倍数.因为斐波那契数列不一定是从1开始的,而从2开始的每个数都是从1开始的倍数. ...
- POJ3624 Charm Bracelet 【01背包】
Charm Bracelet Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22621 Accepted: 10157 ...
- extjs 时间范围选择的实现
extjs中 有时须要选择一个日期范围 ,须要自己主动推断,选择的開始日期不能大于结束日期,或结束日期不能小于開始日期,实现的代码例如以下 效果图: watermark/2/text/aHR0cDov ...