Linux 开发环境 -- glibc 升级(不建议轻易升级)

本文记录了一次尝试升级glibc导致系统崩溃的教训,强调了glibc作为Linux底层库的重要性。通过下载、创建编译目录、生成makefile、编译安装等步骤演示了源码升级过程,最终出现Segmentation Fault错误,提示不应轻易更新glibc。

由于项目需要, 在编译过程中遇到需要将glibc进行升级的编译错误。 于是乎, 各种baidu、google。查找升级教程。 经过了一番操作, 于是升级了。但是系统再也回不去了。 记录以此教训,同时给广大同胞一个提醒。

由于条件不允许, 只能进行源码编译进行升级。

以下流程几乎适用于所有软件包更新, 且方式为源码编译更新

下载

进入网站选择了版本2.27进行下载。完事之后, 解压到目录中glibc-2.27目录

创建编译目录

进入目录glibc-2.27新建目录build

mkdir build

然后进入目录build

生成makefile

../configure --prefix=/opt/glibc-2.27

编译且安装

make && make install

建立软链接

# 首先删除之前的软链接
rm -rf /lib64/libc.so.6

# 然后建立链接
LD_PRELOAD=/opt/glibc-2.27/lib/libc-2.15.so ln -s /opt/glibc-2.27/lib/libc-2.15.so /lib64/libc.so.6

# 当然你也可以去掉删除的步骤, 直接强制建立软链接
LD_PRELOAD=/opt/glibc-2.27/lib/libc-2.15.so ln -sf /opt/glibc-2.27/lib/libc-2.15.so /lib64/libc.so.6

试试看结果

于是执行常用命令 ls, 报错如期到来: Segmentation Fault。之后你会发现大多数命令都是这个错误。 最后重启操作系统发现无法正常启动。我勒个去,重装系统咯。

总结

为什么会出现以上情况呢?因为glibc是Linux较底层的工具库位于内核之上其他工具之下。知道了它的地位后, 你还敢轻易去更新它吗?

最后, 希望有人可以告诉我, 如何正确无错误地更新glibc。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值