Linux 升级到glibc-2.14步骤,以及系统字符集、时间等问题处理

当前环境部署nginx的时候,发现总是失败,最终定位到因为gcc版本低造成的。查看gcc版本命令。

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

 

glibc安装


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

tar -xzvf glibc-2.14.tar.gz //解压
cd 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库

make的时候可能会出现

Can't open configuration file/opt/glibc-2.14/etc/ld.so.conf: No such file or directory

进行如下操作

find / -name "ld.so.conf"  
cp /etc/ld.so.conf /opt/glibc-2.14/etc/

查找文件所在路径,我的在/etc/ld.so.conf,然后拷贝到2.14目录下即可。

glibc软链

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

rm -rf /lib64/libc.so.6 	
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/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    

如果ln等命令不可使用

解决方法是使用环境变量:export LD_PRELOAD="/lib64/libc-2.17.so"

然后再把库给链接回来:ln -s /lib64/libc-2.17.so /lib64/libc.so.6

 

升级后i18n调整

执行more /etc/sysconfig/i18n命令检查系统字符集

执行locale命令,提示如下异常,说明说明没安装en_US的local

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

修改如下:

vi /etc/sysconfig/i18n
LC_ALL=C
export LC_ALL

安装完成后,不要忘记让配置文件生效

source /etc/sysconfig/i18n

如果还有乱码:

目录

glibc安装

glibc软链

升级后i18n调整

如果还有乱码:

2、echo "LANG=en_US.UTF-8

 

升级后系统时间调整


 

升级后系统时间调整

glibc升级后因为2.14的时间配置与之前版本不一致,导致路径异常,时区改变,只需要按照以下操作即可恢复。

cd /opt/glibc-2.14/etc/
rm localtime 
ln -s /opt/glibc-2.14/share/zoneinfo/Asia/Shanghai localtime

 

 

 

 

glibc(GNU C Library)是Linux操作系统中的C语言库,提供了许多函数和组件供开发人员使用。在某些情况下,用户或开发人员可能需要将glibc-2.14降级到glibc-2.12。这可能是因为某些软件或应用程序与glibc-2.12兼容,但在glibc-2.14上运行出现问题。 要将glibc-2.14降级到glibc-2.12,首先需要查找并下载glibc-2.12的源代码。可以从官方网站或其他可信的软件仓库中获取源代码。然后,需要进行编译和安装。 在安装glibc-2.12之前,可能需要卸载或删除当前系统中已安装的glibc-2.14版本。卸载glibc-2.14可能会导致系统不稳定或无法启动,因此在执行此操作之前应备份系统或确认可恢复系统状态。 编译和安装glibc-2.12的过程可能会有一些复杂性,并需要具备一定的编程知识和技能。首先,需要进入glibc-2.12源代码所在的目录,并执行`configure`命令以生成编译环境。然后,使用`make`命令编译源代码,并使用`make install`命令安装glibc-2.12。 安装完成后,可能需要进行一些配置,例如更新动态链接器或库的路径。这样确保系统在运行时使用glibc-2.12而不是glibc-2.14。 需要注意的是,将glibc-2.14降级到glibc-2.12可能会导致系统稳定性或兼容性问题。降级glibc可能会影响系统中其他软件的功能和性能。因此,在执行此操作之前,建议先了解软件或应用程序对glibc版本的要求,并评估降级是否是唯一的解决方案。 总之,将glibc-2.14降级到glibc-2.12需要下载、编译和安装glibc-2.12的源代码,并进行一些系统配置。但需要谨慎操作,确保降级前后的系统稳定性和兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值