第一种:不需要 ln 创建软连接,缺点嘛,就是直接安装到系统文件夹/lib64下,想换回来就比较麻烦。(我选择的第二种,因为公司需要fpm打包,写到脚本里面,第一种之间安装在/usr目录下,打包的包安装时会替换所安装机器的/usr 可能会导致机器不能用)

# 下载 glibc .14源码
wget wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
# 解压上一步下载后的源码
tar xvf glibc-2.14.tar.gz && cd glibc-2.14
# 在源码文件夹下创建一个build文件夹,编译生成的文件都放在此文夹下
mkdir build && cd build # 如果是新机器,需要安装编译依赖
yum install gcc gcc-c++ # 在源码文件夹下创建一个build文件夹,编译生成的文件都放在此文夹下
mkdir build && cd build
# configure的时候,不能直接在解压目录configure
../configure --prefix=/usr
# 编译安装
make -j4 && make install # 检验是否成功
ls -l /lib64/libc.so.
lrwxrwxrwx root root Jul : /lib64/libc.so. -> libc-2.14.so

如果有一下报错可以忽略

/usr/bin/ld: cannot find -lnss_test1
collect2: ld returned 1 exit status
Execution of gcc -B/usr/bin/ failed!

通过

strings /lib64/libc.so.6 |grep GLIBC

查看是否正常

第二种方法:需要创建软链

# 前几步都一样,不同的是编译时候指定目录
../configure --prefix=/usr/local/glibc-2.14
make && make install # 安装好之后 创建软链,要加-f 否则可能无法替换
ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so. # 如果不小心删除 /lib64/libc.so. 软链,并有如下报错:
xx: error while loading shared libraries: libc.so.: cannot open shared object file: No such file or directory 解决方法
ldconfig

编译centos6.5:glibc 升级2.14问题的更多相关文章

  1. SUSE glibc升级为2.18过程记录

    先验知识:1.运行时,动态库的装载依赖于ld-linux.so.6的实现,它查找共享库的顺序如下:(1)ld-linux.so.6在可执行的目标文件中被指定,可用readelf命令查看(2)ld-li ...

  2. GLIBC升级

    GLIBC升级 1.安装 1.1 说明 目前大部分架构都已经是GLIBC2.14了,难免会有一些老的机器会是GLIBC2.12,所以下面是我升级GLIBC的过程及步骤. GLIBC是系统核心服务,升级 ...

  3. yum和编译两种方式升级or降级Centos内核

    http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...

  4. 在centos6.5上升级php-libxml版本到2.9.0

    当前系统,软件版本说明: php libxml glibc 2.12 zlib xz-libs 需求: 应开发的需求,线上环境,php-libxml版本升级到2.8以上. 升级步骤:1.安装工具集 y ...

  5. 【linux】glibc升级

    glibc升级 步骤如下: 1.下载解压glibc wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar zxvf glibc-2.18.ta ...

  6. 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

    关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...

  7. CentOS6.x 安装升级Python2.7.x Python3.4.x

    CentOS6.x 安装升级Python2.7.x Python3.4.x 2015-06-07• CentOS.Linux • 评论关闭 CentOS release 6.6 (Final) 安装升 ...

  8. 烂泥:centos6 yum方式升级内核

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 最近没有时间好久没有写文章了,今天由于需要安装docker学习虚拟容器的知识,需要升级O ...

  9. CentOS升级glibc-2.14

    升级glibc-2.14用到的rpm https://pan.baidu.com/s/1v-Uk579TGM6498cExst6ow 先要安装gcc yum -y install gcc 执行: rp ...

随机推荐

  1. Windows网络编程(C/C++服务器编程)

    Windows服务器网络编程 Linux服务器网络编程

  2. POJ2536 Gopher II(二分图最大匹配)

    Gopher II Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9005   Accepted: 3724 Descrip ...

  3. Java 是值传递

    本质:传值/传地址值   以下搬运自知乎大佬   作者:Intopass链接:https://www.zhihu.com/question/31203609/answer/50992895来源:知乎著 ...

  4. Scala_针对集合的操作

    针对集合的操作 遍历操作 列表的遍历 scala> val list = List(1,2,3,4,5,6) list: List[Int] = List(1, 2, 3, 4, 5, 6) s ...

  5. shell 命令 ls -a

    接手其他人的shell脚本时,遇到了一个"."开头的文件目录, ll 始终找不到. 咨询了一下,才知道,"."开头的是隐藏文件. 这时候用 ll -a 或 ls ...

  6. ThreadLocal实现线程级上下文

    一.ThreadLocal测试 package com.junge.threadlocal.context; /** * @author Administrator * */ public class ...

  7. c# MVC Action 如何知道 发送方给你的 Json 数据的格式内容是什么

    public class DemoModel { public string Name { get; set; } public int Age { get; set; } } [HttpPost] ...

  8. 关于Entity Framework的概念及搭建

    什么是EF? ADO.NET Entity Framework 是一个对象-关系的映射架构. 它支持直接定义完全独立于数据库结构的实体类,并把它们映射到数据库的表和关系上. 三种编程模型: 数据库优先 ...

  9. Linux的1000个命令

    目录 Linux常用命令 uptime wget uname free who last history pwd cd ls cat head tail tr wc cut diff touch mk ...

  10. 一些浩辰设置及它的bug?

    gcad执行快捷键有问题?尝试修改Setvar("autocompletemode", "19");原因是’输入按键时显示建议列表’这个项打钩了,这里首先捕捉的 ...