你試圖運行一些命令,並得到關於你的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