glibc安装

转载文章
——安装glibc


有些软件可能要求系统的 Glibc 高于某个版本才可以正常运行,如果您的 Glibc 低于要求的版本,为了运行这些软件,您就不得不升级您的 Glibc了。比如:
qq: error while loading shared libraries: requires glibc 2.5 or later dynamic linker


您可以寻找已经编译好的rpm包或者使用源代码的方式升级Glibc。


RPM包方式安装glibc
RPM虽然比较容易安装,但就是依赖问题不好解决。给出一个下载地址:
http://mirrors.jtlnet.com/centos/5.5/os/i386/CentOS/
$ rpm –ivh glibc-2.5-49.i386.rpm


不过我用的是CentOS 4.8,貌似不能兼容……
error: Failed dependencies:
glibc-common = 2.5-49 is needed by glibc-2.5-49.i386
glibc > 2.3.4 conflicts with glibc-common-2.3.4-2.43.el4_8.3.i386


安装完成后,可以查看是否已升级:
$ ls -l /lib/libc.so.6
lrwxrwxrwx 1 root root 11 10-08 22:08 /lib/libc.so.6 -> libc-2.5.so


编译安装glibc
下载glibc
[root@localhost test]# pwd
/test
[root@localhost test]# wget http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2


下载glibc-linuxthreads
[root@localhost test]# wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2


解压
[root@localhost test]# tar -jvxf glibc-2.9.tar.bz2
[root@localhost test]# cd glibc-2.9
[root@localhost glibc-2.9]# tar -jvxf ../glibc-linuxthreads-2.5.tar.bz2


配置
[root@localhost glibc-2.9]# cd ..
[root@localhost test]# export CFLAGS="-g -O2 -march=i486"
[root@localhost test]# mkdir glibc-build
[root@localhost test]# cd glibc-build
[root@localhost glibc-build]# ../glibc-2.9/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin


安装
[root@localhost glibc-build]# make
[root@localhost glibc-build]# make install


安装编译过程中需要注意三点:
1、要将glibc-linuxthreads解压到glibc目录下。
2、不能在glibc当前目录下运行configure。
3、否则如果出现错误:error "glibc cannot be compiled without optimization",需要加上优化开关:[root@localhost test]# export CFLAGS="-g -O2 -march=i486"

<think>我们正在处理用户关于在Linux系统上安装或升级glibc库的问题。根据用户提供的引用,我们可以总结出两种主要方法:通过RPM包升级和通过源码编译安装。同时,用户引用中提到了查看当前系统glibc版本的方法。 注意:glibc是Linux系统中最核心的库之一,升级需谨慎,因为错误的升级可能导致系统不可用。通常建议使用官方支持的升级方式(如yum更新)或使用容器化技术(如Docker)来避免直接升级系统glibc。 根据引用[1]和[4],用户尝试从glibc2.12升级到更高版本(如2.14或2.17)。我们提供两种方法,并强调风险。 步骤: 1. 查看当前glibc版本(引用[2]提供的方法) 2. 选择升级方法:RPM包升级(引用[3])或源码编译(引用[4]) 3. 注意事项和风险提示 由于用户是CentOS6系统,默认glibc版本为2.12,升级到2.14或更高版本需要谨慎。 详细步骤: 一、查看当前glibc版本 执行命令: ```bash strings /lib64/libc.so.6 | grep GLIBC ``` 或者对于32位系统: ```bash strings /lib/libc.so.6 | grep GLIBC ``` 二、升级方法 方法1:使用RPM包升级(相对简单,但需要找到合适的RPM包) 步骤: 1. 下载对应版本的glibc RPM包(注意系统架构,如x86_64) 例如:引用[3]中提供的FTP地址(可能已过期,需要寻找当前可用的源) 建议从官方或可信的源下载,例如: ```bash wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-devel-2.14.1-6.x86_64.rpm ``` 但注意,这个地址可能已经失效,需要根据实际版本寻找。 2. 安装RPM包(使用root权限) ```bash rpm -Uvh glibc-*.rpm ``` 注意:升级glibc需要同时升级glibc-common和glibc-devel等包,确保版本一致。 3. 验证:再次执行第一步的命令,查看是否出现新版本。 方法2:源码编译安装(引用[4]的方法,但步骤更详细) 步骤: 1. 下载源码(从GNU官方镜像): ```bash wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz ``` 注意:可以选择其他版本,但不要跳过太多版本(例如从2.12直接升级到2.17可能跨度太大,建议逐步升级或选择中间版本) 2. 解压并进入源码目录: ```bash tar -zxvf glibc-2.17.tar.gz cd glibc-2.17 ``` 3. 创建编译目录(建议不在源码目录直接编译): ```bash mkdir build cd build ``` 4. 配置编译选项(注意:配置参数非常重要,错误的参数可能导致系统崩溃): ```bash ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin ``` 参数说明: --prefix=/usr:指定安装目录为/usr,这是大多数系统库的位置,但覆盖系统原有库有风险。 --disable-profile:禁用性能分析库,加快编译速度。 --enable-add-ons:启用附加组件。 --with-headers=/usr/include:指定内核头文件位置。 --with-binutils=/usr/bin:指定binutils工具位置。 5. 编译并安装(需要root权限): ```bash make -j4 # 根据CPU核心数调整,例如4核 make install ``` 6. 验证:同样使用第一步的命令查看版本。 三、重要警告 1. 升级glibc是高风险操作,可能导致系统无法启动或软件不兼容。 2. 建议在测试环境中进行,并做好备份(包括重要数据和系统备份)。 3. 如果必须升级,建议使用容器或虚拟机来运行需要高版本glibc的应用,而不是直接升级宿主机。 4. 对于生产环境,建议升级整个操作系统到更新的发行版(如CentOS7或8),而不是单独升级glibc。 四、替代方案 如果只是某个应用程序需要高版本的glibc,可以考虑: 1. 使用静态编译的应用程序。 2. 使用容器技术(如Docker)运行应用程序,在容器中使用更高版本的基础镜像。 根据以上内容,我们生成相关问题。 注意:由于用户之前的对话历史是关于QEMU参数格式的,但当前问题转向了glibc升级,因此我们生成与glibc相关的问题。 §§相关问题§§ 1. 升级glibc后系统无法启动,如何恢复? 2. 如何在不升级系统glibc的情况下运行需要高版本glibc的应用程序? 3. 使用源码编译安装glibc时,如何确定正确的配置参数? 4. 有哪些常见的Linux发行版默认支持glibc 2.17以上版本?</think>### 如何在Linux系统上安装或升级glibcglibc(GNU C Library)是Linux系统的核心库,升级需谨慎操作。以下是两种主要方法及完整步骤: --- ### 一、通过RPM包升级(推荐) 适用于CentOS/RHEL等基于RPM的系统,风险较低 ```bash # 1. 查看当前版本 [^2] strings /lib64/libc.so.6 | grep GLIBC # 2. 下载对应架构的RPM包(示例为x86_64) wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-2.14.1-6.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-common-2.14.1-6.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/15/x86_64/glibc-devel-2.14.1-6.x86_64.rpm [^3] # 3. 安装(需root权限) rpm -Uvh glibc-*.rpm --nodeps --force # 4. 验证升级 strings /lib64/libc.so.6 | grep GLIBC_2.14 ``` --- ### 二、通过源码编译安装 适用于需要自定义版本或配置的场景(高风险) ```bash # 1. 安装依赖 yum install -y gcc make gawk bison # 2. 下载源码(以2.17为例) wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz tar -zxvf glibc-2.17.tar.gz cd glibc-2.17 # 3. 创建编译目录 mkdir build && cd build # 4. 关键配置(参数直接影响系统稳定性)[^4] ../configure \ --prefix=/usr \ --disable-profile \ --enable-add-ons \ --with-headers=/usr/include \ --with-binutils=/usr/bin # 5. 编译安装(约30-60分钟) make -j$(nproc) make install # 6. 验证 strings /lib64/libc.so.6 | grep GLIBC_2.17 ``` --- ### ⚠️ 关键注意事项 1. **备份系统**:操作前务必完成系统备份 2. **版本跨度**:避免跨多个主版本升级(如2.12→2.17),建议逐步升级 3. **依赖检查**:使用`ldd --version`确认动态链接器兼容性 4. **故障恢复**:准备Live CD/USB以备系统崩溃时修复 5. **替代方案**:考虑使用容器技术(如Docker)隔离高版本需求 > 官方建议:生产环境优先考虑升级整个系统(如CentOS6→CentOS7),而非单独升级glibc[^1]。 --- ### 验证安装成功 ```bash # 检查所有可用版本 strings /lib64/libc.so.6 | grep GLIBC # 检查编译版本 /lib64/libc.so.6 ``` 输出应包含目标版本号(如`GLIBC_2.17`)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值