如何在Centos 6.X上更新Glibc较新版本

你试图运行一些命令,并得到关于你的glibc版本的错误不足以完成你的命令。因此,您可能需要在Centos 6.x 服务器上使用较新版本的glibc。我将向您展示如何更新glibc。

如何在Centos 6.x上更新glibc较新版本

我们有两种方法可以完成这项任务。一种方法是从源代码编译,这需要很长时间才能完成。另一种方法是从repo获取文件,这是相对容易的步骤。

让我们首先检查我们的VPS服务器中安装的glibc版本:

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

结果:

GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12

1. 从源代码编译glibc

我们可以使用git或ftp以两种方式获取soruce文件。你可以从git获得最新版本。我们的centos 6.x 需要 GLIBC_2.17 版本,所以我们将使用ftp。

mkdir ~/glibc-install; cd ~/glibc-install
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -zxvf glibc-2.17.tar.gz

下载并解压缩所有源文件后,我们需要创建一个构建文件夹。这是建立另一个文件夹的更好方法。

cd glibc-2.17
mkdir build

为了不腐蚀我们的linux系统,我们需要把文件放在separete的位置。/opt/glibc-2.17

cd build
../configure --prefix=/opt/glibc-2.17

我们可以开始编译我们的源文件。根据您的CPU核心,这需要几个小时。您可以使用nproc命令找到<CPU核心数> 。

make -j`nproc`
make install

编译完成后,我们需要将我们的新glibc放置到我们将要使用的程序中。为了做到这一点,请按照以下步骤操作

LD_LIBRARY_PATH=/opt/glibc-2.17/lib
export LD_LIBRARY_PATH

另一种方法是创建符号链接:

ln -sf /opt/glibc-2.17/glibc-2.17.so /lib/libc.so.6.

我不推荐这一步,因为linux使用旧版本的glibc,如果你创建一个符号链接,那么肯定会出错。

如果您没有经验的系统管理员不玩glibc,它可能会破坏您的Linux系统。

2.使用RPM安装新版本的glibc

对于CentOS 6,将glibc更新为2.17
我从github找到了一个脚本。我们会用它。让我们赞赏他的工作:https://gist.github.com/harv/f86690fcad94f655906ee9e37c85b174

脚本:

#! /bin/sh
# update glibc to 2.17 for CentOS 6
wget 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
wget 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
wget 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
wget 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

sudo 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 --nodeps在all命令的末尾添加此参数。
完成后再次检查:

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

结果:

GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章