Linux系统源代码升级glibc到最新版本2.25.90(正在开发的版本)

网上关于升级glibc的文章不少,但没有一篇能成功的,本人被坑过无数次,以至后来能避就避,今天自己在虚拟机上实验,终于成功,我把升级过程记录下来,为网友提供完整的升级方法。


升级是在ubuntu下进行的,但是其他系统升级也类似,我的系统版本:

Linux ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


准备两个Linux系统, 一个是你要升级glibc的系统B, 另一个A用于glibc升级失败之后恢复,
它能挂载升级失败的系统的根文件系统, 恢复失败的系统.

首先配置系统B,
安装 nfs 服务
配置成 A能以root身份访问B

做法:
服务器B安装 nfs服务
sudo apt-get install nfs-kernel-server

然后启动nfs服务:
sudo /etc/init.d/nfs-kernel-server start

编辑/etc/exports,加入:
/ A_ip(rw,sync,no_root_squash)

然后重启动nfs服务:
sudo /etc/init.d/nfs-kernel-server restart

配好之后 登录系统A
挂载系统B的根文件系统

mkdir /mnt/glibc-upgrade
sudo mount -t nfs B_ip:/ /mnt/glibc-upgrade


1. 登录系统B
下载最新版本的glibc
git clone git://sourceware.org/git/glibc.git
cd glibc
git checkout --track -b local_glibc-2.25 origin/release/2.25/master

2.
mkdir build-glibc
cd build-glibc
../glibc/configure --prefix=/usr
make
make install install_root=~/share/src-glibc-2.25/system_fake_root

ll ~/share/src-glibc-2.25/system_fake_root
查看glibc安装时会修改哪些文件,
将这些文件进行备份(安全起见, 以便升级失败恢复原来的系统, 一定要备份)

我的glibc安装会修改以下文件
xxx@ubuntu:~/share/git-glibc-src/system_fake_root$ ll
total 28
drwxrwxr-x 7 liuwb  liuwb  4096 Apr  7 00:26 ./
drwxrwxr-x 5 liuwb  liuwb  4096 Apr  7 00:20 ../
drwxr-xr-x 2 root root 4096 Apr  7 00:26 etc/
drwxr-xr-x 2 root root 4096 Apr  7 00:26 lib64/
drwxr-xr-x 2 root root 4096 Apr  7 00:26 sbin/
drwxr-xr-x 8 root root 4096 Apr  7 00:22 usr/
drwxr-xr-x 3 root root 4096 Apr  7 00:23 var/

以上是glibc源代码 make install 会修改的目录

liuwb@ubuntu:~/share/git-glibc-src/system_fake_root$ ll lib64/
total 18768
drwxr-xr-x 2 root root     4096 Apr  7 00:26 ./
drwxrwxr-x 7 liuwb  liuwb      4096 Apr  7 00:26 ../
-rwxr-xr-x 1 root root   863537 Apr  7 00:26

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值