centos 6 glibc centos7.0下载

Centos65升级glibc的详细步骤

场景需求

注意更新系统库存在一定的风险,请谨慎操作

默认的Centos6.5 glibc版本最高为2.12,而在进行Nodejs开发时项目所依赖的包往往需要更高版本的glibc库支持,因此在不升级系统的前提下,需要主动更新系统glibc库.一般遇到错误libc.so.6: version GLIBC_2.14 not found时表示需要对glibc进行升级了.

glibc版本

查看系统glibc库版本可使用如下命令:

$ strings/lib64/libc.so.6|grep GLIBC_Centos6.5输出如下glibc版本列表,从此图可以看出系统最高支持glibc的2.12版本:

另外,执行$ ll/lib64/libc**可以看到此时的libc.so.6是libc-2.12.so的别名,如下图所示:

glibc安装

首先,点击此处下载glibc点击下载,得到glibc-2.14.tar.gz使用如下命令解压glibc-2.14.tar.gz:

$ tar-xzvf glibc-2.14.tar.gz当前目录下得到目录glibc-2.14,执行$cd glibc-2.14命令进入目录,依次执行如下命令编译安装glibc-2.14:

$ mkdir build//在glibc-2.14目录下建立build文件夹$ cd build//进入build目录$../configure--prefix=/opt/glibc-2.14//配置glibc并设置当前glibc-2.14安装目录$ make&& make install//编译安装glibc-2.14库glibc软链

安装完成后,建立软链指向glibc-2.14,执行如下命令:

$ rm-rf/lib64/libc.so.6//先删除先前的libc.so.6软链$ ln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6注意

删除libc.so.6之后可能导致系统命令不可用的情况,可使用如下方法解决:

$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6如果上述更新失败可使用如下命令还原:

$ LD_PRELOAD=/lib64/libc-2.12.so ln-s/lib64/libc-2.12.so/lib64/libc.so.6// libc-2.12.so此项是系统升级前的版本此时查看系统glibc版本如下图所示:

可以看到当前glibc最高版本为2.14, libc.so.6软链指向如下图所示:

如何查看CentOS 6.3的glibc版本

Linux系统中,如果存在Glibc 2.2到2.17的gethostbyname缓冲区溢出漏洞,及时检查你的服务器版本至关重要。以下是查看CentOS glibc版本的步骤:</

首先,使用SSH工具连接到你的CentOS服务器,然后输入以下命令:

rpm-qa| grep glibc</

运行此命令后,你会看到类似以下输出:

glibc-devel-2.12-1.132.el6.x86_64</

glibc-common-2.12-1.132.el6.x86_64</

glibc-2.12-1.132.el6.x86_64</

glibc-headers-2.12-1.132.el6.x86_64</

从这些信息中,可以明确看到你的CentOS系统使用的glibc版本为2.12。

另外,你还可以通过查看/lib/libc.so.6的链接文件,获取更直观的版本信息:

ls-l/lib/libc.so.6</

输出如下:

lrwxrwxrwx. 1 root root 12 5月 21 17:46/lib/libc.so.6- libc-2.12.so</

如果你的系统是Ubuntu,可以替换路径为/lib/i386-linux-gnu/libc.so.6,并执行相同的ls-l命令,如:

ls-l/lib/i386-linux-gnu/libc.so.6</

输出可能类似:

lrwxrwxrwx 1 root root 12 2012-07-15 09:14/lib/i386-linux-gnu/libc.so.6- libc-2.13.so</

这样,你就成功地获取了CentOS和Ubuntu系统上glibc的版本信息。务必确保你的系统版本不在受影响的范围内,如有必要,及时更新glibc以修复安全漏洞。

centos6.5安装wps提示缺libc.so.6(GLIBC_2.15)(64bit),怎办

1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[ghui@StuOS bin]$ pwd

/var/VMdisks/cross/mingw32/bin

[ghui@StuOS bin]$ ls

lrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll

moc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rcc

phonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uic

qmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll

[ghui@StuOS bin]$./qmake

./qmake:/lib64/libc.so.6: version `GLIBC_2.14' not found(required by./qmake)

2.查看系统glibc支持的版本:

[ghui@StuOS bin]$ 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_PRIVATE

[ghui@StuOS bin]$ rpm-qa|grep glibc

glibc-static-2.12-1.80.el6_3.6.x86_64

glibc-headers-2.12-1.80.el6_3.6.x86_64

glibc-common-2.12-1.80.el6_3.6.x86_64

glibc-devel-2.12-1.80.el6_3.6.x86_64

glibc-static-2.12-1.80.el6_3.6.i686

glibc-devel-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.x86_64

3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

a.到下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译

b.这里解压到/var/VMdisks/glibc-2.14/

[ghui@StuOS bin]$ cd/var/VMdisks/glibc-2.14/

[ghui@StuOS glibc-2.14]$ pwd

/var/VMdisks/glibc-2.14

[ghui@StuOS glibc-2.14]$ ls

abilist config.h.in intl README.libm

abi-tags config.log io resolv

aclocal.m4 config.make.in libc-abis resource

aout configure libidn rt

argp configure.in libio Rules

assert conform LICENSES scripts

autom4te.cache CONFORMANCE locale setjmp

bits COPYING localedata shadow

BUGS COPYING.LIB login shlib-versions

build cppflags-iterator.mk mach signal

CANCEL-FCT-WAIVE crypt Makeconfig socket

CANCEL-FILE-WAIVE csu Makefile soft-fp

catgets ctype Makefile.in stdio-common

ChangeLog debug Makerules stdlib

ChangeLog.1 dirent malloc streams

ChangeLog.10 dlfcn manual string

ChangeLog.11 elf math sunrpc

ChangeLog.12 extra-lib.mk misc sysdeps

ChangeLog.13 extra-modules.mk NAMESPACE sysvipc

ChangeLog.14 FAQ NEWS termios

ChangeLog.15 FAQ.in nis test-skeleton.c

ChangeLog.16 gmon NOTES time

ChangeLog.17 gnulib nptl timezone

ChangeLog.2 grp nptl_db tls.make.c

ChangeLog.3 gshadow nscd version.h

ChangeLog.4 hesiod nss Versions.def

ChangeLog.5 hurd o-iterator.mk wcsmbs

ChangeLog.6 iconv po wctype

ChangeLog.7 iconvdata posix WUR-REPORT

ChangeLog.8 include PROJECTS

ChangeLog.9 inet pwd

conf INSTALL README

c.在glibc源码目录建立构建目录,并cd进入构建目录

[ghui@StuOS glibc-2.14]$ mkdir build

[ghui@StuOS glibc-2.14]$ cd build

d.运行configure配置,make&& sudo make install

[ghui@StuOS build]$../configure--prefix=/opt/glibc-2.14

[ghui@StuOS build]$ make-j4

[ghui@StuOS build]$ sudo make install

[sudo] password for ghui:

4.临时修改环境变量

[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

[ghui@StuOS glibc-2.14]$ cd/var/VMdisks/cross/mingw32/bin/

[ghui@StuOS bin]$./qmake

Usage:./qmake [mode] [options] [files]

QMake has two modes, one mode for generating project files based on

some heuristics, and the other for generating makefiles. Normally you

shouldn't need to specify a mode, as makefile generation is the default

mode for qmake, but you may use this to test qmake on an existing project

...

阅读剩余
THE END