linux升级软件(升级glibc2.33)

一:gdb升级到gdb-12.1

yum install binutils texinfo bison gettext

yum install gcc-c++
yum install gmp-devel.x86_64

wget http://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz
tar -zxvf gdb-12.1.tar.gz
cd gdb-12.1
mkdir build
../configure --prefix=/usr
make
make install

报错:missing: line 81: makeinfo: command not found 

解决方法: yum -y install texinfo

二:gcc升级到gcc-11.2

#下载软件包
wget https://mirrors.aliyun.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
#解压依赖包
tar -zxf gcc-11.2.0.tar.gz
cd gcc-11.2.0/
#下载4个依赖包
./contrib/download_prerequisites
#预编译
mkdir build
cd build
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr
#查看cpu核数
cat /proc/cpuinfo| grep “processor”| wc -l
#-j4中的数字为cpu核数,及并发工作任务数量,可以提高编译效率
make -j4
#编译安装
make install
#检查gcc版本
[root@s144 build]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/9.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: …/configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr
Thread model: posix
gcc version 11.2.0 (GCC)

三:升级make到4.3 

[root@Subnet-100-223 ~]# wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz
[root@Subnet-100-223 ~]# tar -zxf make-4.3.tar.gz
[root@Subnet-100-223 ~]# cd make-4.3/
[root@Subnet-100-223 make-4.3]# mkdir build
[root@Subnet-100-223 build]# cd build
[root@Subnet-100-223 build]# ../configure --prefix=/usr
[root@Subnet-100-223 build]#make
[root@Subnet-100-223 build]#make install
…
[root@Subnet-100-223 build]# make -v
GNU Make 4.3

四:升级glibc2.33 

glibc2.33对应gcc-11.2.0版本

这个版本必须对应,不然会安装失败

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.33.tar.gz
tar -zxvf glibc-2.31.tar.gz
yum -y install bison
[root@Subnet-100-223 glibc-2.33]# mkdir build;cd build/
[root@Subnet-100-223 build]# ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --disable-werror
[root@Subnet-100-223 build]# make
[root@Subnet-100-223 build]# make install
#安装locale
[root@Subnet-100-223 build]# make localedata/install-locales
[root@Subnet-100-223 build]# strings /lib64/libc.so.6 | grep GLIBC

五:如果gdb出来的不是数据,而是一堆变量

需要在当前用户的根目录下添加 .gdbinit 文件

set print pretty off
set print object on
set print static-members on
set print demangle on
set print sevenbit-strings off
set print elements 0
set auto-load safe-path

python
import sys
sys.path.insert(0, '/usr/local/bin/share/gcc-12.2.0/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

Linux系统中升级GLIBC (GNU C Library)通常涉及的操作系统级别的升级,因为它是一个内核的一部分,负责提供许多基本的服务。以下是大致的步骤,但请注意,这需要一定的技术知识,并应在理解风险的基础上进行: 1. **确认当前版本**:首先,你需要确认你的系统上正在使用的GLIBC版本。可以在终端中输入 `ldd --version` 来查看,或者使用 `cat /etc/glibc-release` 查看发行版及版本信息。 2. **查找新版本**:查找适合你当前系统架构(如i386、x86_64等)的新版GLIBC。这通常可以从官方源或发行版的仓库找到。比如对于Debian/Ubuntu,可以在其软件仓库里搜索`libglibc*`;如果是CentOS/RHEL,可能需要访问EPEL(额外功能包)或者直接从官网下载。 3. **备份重要数据**:在开始任何系统升级之前,务必备份重要的用户数据和个人设置,以防万一升级过程中出现问题。 4. **停用系统服务**:为了安全升级,先停止相关的系统服务,特别是那些依赖GLIBC的应用和服务。 5. **更新系统库**:使用发行版的包管理器,例如apt-get、yum、dnf等,按照说明逐步安装新的GLIBC。这可能包括安装新的开发工具包以及替换旧的库文件。 6. **迁移应用程序**:某些程序可能需要重新编译才能适应新版本的GLIBC。你可以使用`patchelf`工具帮助迁移可执行文件的动态链接。 7. **测试和验证**:升级完成后,重启系统并验证新GLIBC是否正常工作,没有程序崩溃或错误提示。 8. **清理旧版本**:在确认新版本无误后,删除旧版本的GLIBC及其相关的配置文件。 由于这是一个复杂的系统级操作,强烈建议对Linux系统有深入理解的用户或者系统管理员来进行。在操作过程中如有疑问,应查阅具体发行版的文档或寻求专业人士的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值