首页 > 系统相关 >CentOS7.9升级glibc到2.28

CentOS7.9升级glibc到2.28

时间:2025-01-06 11:47:18浏览次数:1  
标签:zh CN c7 glibc CentOS7.9 2.28 UTF root LC

目录

可算找到了对的文档,做了2天没做出来,一直报错,要不是 他家 的文档估计现在还做不出来,哎,为知识付个费用,也值
我写的这份文档如果你没有执行成功,你需要联系卖家,因为我也还没具体弄懂哪是哪,不过确实成功升级了,也没啥问题,先解决了眼前问题再说吧

[root@c7-1 ~]# vim /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

# 添加如下2段
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
# mirrorlist=https://mirrors.aliyun.com?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
#mirrorlist=https://mirrors.aliyun.com?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo



[root@c7-1 ~]# yum clean all && yum makecache
[root@c7-1 ~]# yum repolist


[root@c7-1 ~]# strings /lib64/libc.so.6 | grep ^GLIBC_
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17          # 这是自带的最高的版本
GLIBC_PRIVATE

安装

# 安装gcc8
[root@localhost ~]# yum update -y && yum install -y centos-release-scl
[root@localhost ~]# yum install -y bison wget bzip2 gcc gcc-c++ glibc-headers nss-devel



# 升级make
[root@localhost ~]# wget http://ftp.gnu.org/gnu/make/make-4.2.1.tar.gz
[root@localhost ~]# tar -zxvf make-4.2.1.tar.gz
[root@localhost ~]# mkdir make-4.2.1/build && cd make-4.2.1/build
[root@localhost build]# ../configure --prefix=/usr/local/make && make -j4 && make install
[root@localhost build]# export PATH=/usr/local/make/bin:$PATH
[root@localhost build]# ln -s /usr/local/make/bin/make   /usr/local/make/bin/gmake
[root@localhost build]# make -v
GNU Make 4.2.1

[root@c7-1 build]# cd 


# 升级GCC
[root@c7-1 ~]# yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
[root@c7-1 ~]# echo "source /opt/rh/devtoolset-8/enable" | tee -a /etc/profile
[root@c7-1 ~]# source /etc/profile
[root@c7-1 ~]# gcc -v
....
  ....
gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)



# 下载并安装Glibc
[root@c7-1 ~]# wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz
[root@c7-1 ~]# xz -d glibc-2.28.tar.xz && tar -xvf glibc-2.28.tar
[root@c7-1 ~]# mkdir glibc-2.28/build && cd glibc-2.28/build
[root@c7-1 build]# ../configure --prefix=/usr --with-headers=/usr/include \
--with-binutils=/usr/bin --disable-profile --enable-add-ons


[root@c7-1 build]# ../configure --prefix=/usr \
--with-headers=/usr/include \
--with-binutils=/usr/bin \
--enable-add-ons \
--enable-obsolete-nsl \
--disable-profile \
--disable-sanity-checks \
--disable-werror

[root@c7-1 build]# make -j4
[root@c7-1 build]# make install

[root@c7-1 build]# strings /lib64/libc.so.6 | grep ^GLIBC_2.28
GLIBC_2.28
GLIBC_2.28

[root@c7-1 build]# cd


后期

报错1:-bash: warning: setlocale: LC_TIME:cannot change locale(en_US.UTF-8)
解决
# 重新生成本地化文件
在升级glibc后,可能需要重新生成本地化文件,确保系统能够识别并使用正确的本地化环境。你可以使用以下命令重新生成所有本地化文件:
[root@c7-1 ~]# localedef -c -i en_US -f UTF-8 en_US.UTF-8
注:这将重新生成 en_US.UTF-8 本地化环境

# 更新系统的 locale 设置
如果 en_US.UTF-8 本地化环境缺失或损坏,可以通过安装或重新配置来修复它
首先确认是否已安装所需的本地化包
[root@c7-1 ~]# yum -y install glibc-common

然后,重新设置系统本地化配置。你可以使用 localectl 命令来设置系统默认的语言和地区:
[root@c7-1 ~]# localectl set-locale LANG=en_US.UTF-8

# 验证本地化环境是否生效,确保本地化环境已经正确设置
[root@c7-1 ~]# locale
locale: 无法将 LC_ALL 设置为缺省的语区: 没有那个文件或目录
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=

# 重新生成缺失的语言环境文件
如果 glibc-common 已安装,但仍然没有找到 zh_CN.UTF-8 或其他所需的本地化文件,可以尝试重新生成这些语言环境文件
[root@c7-1 ~]# localedef -c -i zh_CN -f UTF-8 zh_CN.UTF-8
[root@c7-1 ~]# localedef -c -i en_US -f UTF-8 en_US.UTF-8
注:这将生成 zh_CN.UTF-8 和 en_US.UTF-8 语言环境,解决 locale 配置缺失的问题

# 检查 /etc/locale.conf 文件
检查并确认 /etc/locale.conf 中的配置是否正确,尤其是 LANG 和 LC_ALL 变量
[root@c7-1 ~]# vim /etc/locale.conf
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
注:如只想使用zh_CN.UTF-8,并且没有LC_ALL,可删除LC_ALL变量或者将其设置为合适的值。确保其他 LC_* 变量也指向正确的语言环境

# 检查系统本地化设置
[root@c7-1 ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=


# 重新加载 shell 环境
如果所有配置都正确,可以尝试重新加载 shell 环境
[root@c7-1 ~]# source /etc/profile
或者直接重启:
[root@c7-1 ~]# reboot         # 最好重启下

# 清除缓存
为了确保新的glibc配置生效,可以清除系统的缓存
[root@c7-1 ~]# ldconfig

标签:zh,CN,c7,glibc,CentOS7.9,2.28,UTF,root,LC
From: https://www.cnblogs.com/smlile-you-me/p/18652334

相关文章

  • asp.net core 9.0发布centos7.9
    一:项目名称:Net9API发布设置:设置为Linux-64,独立部署:将发布后的文件拷贝到centos制定文件夹,然后运行:./Net9API报错:./Net9API:/lib64/libstdc++.so.6:version`GLIBCXX_3.4.20'notfound(requiredby./Net9API)./Net9API:/lib64/libstdc++.so.6:version`GLIBCXX_......
  • 50本 信息学奥赛启蒙入门书籍汇总(2024.12.28)
    1、宝宝的C++(2016-11)学信奥,要不要先练打字,有必要吗?学信奥,要不要先练打字,有必要吗?-CSDN博客C++第1个程序:hello,world!,一些小技巧!!C++第1个程序:hello,world!,一些小技巧!!-CSDN博客2、啊哈编程星球:一本书入门Python和C++(2019年09月) 啊哈编程星球啊哈编程......
  • GitHub每日最火火火项目(12.28)
    项目名称:siyuan项目介绍:siyuan由siyuan-note开发,是一款隐私至上、自托管且完全开源的个人知识管理软件,采用TypeScript和Golang编写。该项目有24,486个相关代码文件,1,686次构建。在知识管理软件领域,siyuan的开源和自托管特性使其在数据隐私方面具有优势。用户可以自行掌......
  • 2024.12.28 Good Bye 2024: 2025 is NEAR
    比赛链接Solved:5/10Rank:1565-90又-90,好不容易上点分两场全掉没了……A.TenderCarpenter题意:\(n\)个数,问能否有多于一种划分方案,使得划分出的每组数中任选三个数(可以相同)都能构成三角形。显然全划分成一个是合法的;那么只需考虑任意的相邻两个数能否分成一组即可。......
  • 2024.12.28 周六
    2024.12.28周六Q1.1100Youaregiventwointegers$l\ler$.Youneedtofindpositiveintegers$a$and$b$suchthatthefollowingconditionsaresimultaneouslysatisfied:$l\lea+b\ler$$\gcd(a,b)\neq1$orreportthattheydonotexist.......
  • 12.28 CW 模拟赛 赛时记录
    前言还是只管考试的策略,别想其他的每个题控制用时,根据时间选择策略,冷静看题完蛋了是\(\rm{NOIP}\),我们没救了\(\rm{T1}\)怎么办,像是很典的题但是我多半做不出来别人做过容斥的肯定会,但是我就不一样了\(\rm{T2}\)好像也不会做\(\rm{T3}\)基环树上的\(\rm......
  • 2024.12.28模拟赛
    耳机没电了14:46耳机彻底没电了,可是我明明记得早上充了电的这应该是今年最后一次模拟赛了打了T1正解、T225分暴力与T410分暴力,实际T2挂了15分,总分115,排名第六现在也不知道暴力是怎么WA掉的今日作业T1【签到题】题目大意:给出一个长度为\(n\)的序列\(a_{i}\),要求......
  • 模拟赛 12.28 总结
    A.回文考虑一个串满足要求会是怎样的,他通过左-shift可以变成一个回文串,等价于一个回文串通过右-shift可以变成这个串,那么我们手玩可以发现要么这个串本身就是回文串,要么就是两个回文串且其中有一个长度是偶数拼起来的。首先第一个就不用说了显然满足,第二个的话可以这样想:假设......
  • centos7.9 安装mongodb4.4.8
    安装依赖,命令如下sudoyuminstalllibcurlopensslxz-libs下载压缩包,地址如下https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.8.tgz解压压缩包,解压存放路径,根据自己定义来,我这里放到/home目录下tar-zxvfmongodb-linux-x86_64-rhel70-4.4.8.tgz复制......
  • centos7.9 安装redis 7.4.1
    redis下载地址:http://download.redis.io/releases/选择自己想要的版本,本次安装的是7.4.1安装redis下载包到服务器wgethttp://download.redis.io/releases/redis-7.4.1.tar.gz下载包到/usr/local/redis解压tar-zxvfredis-7.4.1.tar.gz把解压的文件夹拷贝到默认路......