如何在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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章