Ubuntu10.04x64更新glibc后不能启动
我是这样升级的:
1.从 http://ftp.gnu.org/gnu/glibc/ 下载两个文件:
glibc-2.19.tar.gz
glibc-linuxthreads-2.5.tar.bz2
将2个文件放在桌面
2.安装新版glibc
终端进入桌面
root@master:~/桌面$ mkdir for_glibc root@master:~/桌面$ mv glibc* for_glibc root@master:~/桌面$ cd for_glibc ## 推荐执行这3步,非必须 root@master:~/桌面/for_glibc$ tar -zxvf glibc-2.19.tar.gz root@master:~/桌面/for_glibc$ cd glibc-2.19 root@master:~/桌面/for_glibc/glibc-2.19$ tar -jxvf ../glibc-linuxthreads-2.5.tar.bz2 root@master:~/桌面/for_glibc/glibc-2.19$ cd .. root@master:~/桌面/for_glibc$ export CFLAGS="-g -O2 -U_FORTIFY_SOURCE -fno-stack-protector" root@master:~/桌面/for_glibc$ ./glibc-2.19/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin root@master:~/桌面/for_glibc$ make ## 这一步得跑十几分钟 root@master:~/桌面/for_glibc$ make install ## 这一步跑三,四分钟
3.查看新版glibc
root @master :~/桌面/for_glibc$ ll /lib/libc.so.6 lrwxrwxrwx 1 root root 14 2015-05-07 20:17 /lib/libc.so.6 -> libc-2.19.so* root @master :~/桌面/for_glibc$然后再次启动系统时,在Logo界面静止
很遗憾只能使用ubuntu10.04系统,64位版。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(17)
按照 eechen 说的,chroot后是root用户,标识符是#。
但你粘贴的代码中可全是$标识符哦
哦,那这个误会就大了
回复
这个是为了在OSC的代码编辑器里能着色。都用#号都变成注释显示了
修改了root用户的标识符吗?root的是#
你的前面这些操作应该都不会有什么问题,但在 make install 时应该会提示权限不足之类的
引用来自“eechen”的评论
Ubuntu 10.04 (Lucid) 已经停止支持,但可以使用old-releases源了,先备份源列表文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo nano /etc/apt/sources.list
把里面的内容替换为以下内容:
deb http://old-releases.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
重载源列表,使配置生效:
sudo apt-get update
Ubuntu 10.04 (Lucid) 已经停止支持,但可以使用old-releases源了,先备份源列表文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo nano /etc/apt/sources.list
把里面的内容替换为以下内容:
deb http://old-releases.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
重载源列表,使配置生效:
sudo apt-get update
上面已经说了,10.04已经支持过期了,你只能使用Ubuntu提供的一个旧版软件源: http://old-releases.ubuntu.com 我没有试过通过自己编译glibc来升级,所以也不知道怎么改进,我也不推荐自己编译glibc这种升级方式.
回复
请原谅,我不知道怎么写这命令语句
引用来自“eechen”的评论
glibc是系统级底层软件,自己编译的可能会跟原来的不一致,导致系统不兼容.
恢复思路:进入LiveCD,然后chroot,用apt-get重装libc6.
Ubuntu提供了一个旧版软件源:
http://old-releases.ubuntu.com
sudo chroot /media/$UUID /bin/bash 其中$UUID改为你那串编号.进入后尝试执行 sudo apt-get install libc6 --reinstall 重装libc6.
引用来自“eechen”的评论
glibc是系统级底层软件,自己编译的可能会跟原来的不一致,导致系统不兼容.
恢复思路:进入LiveCD,然后chroot,用apt-get重装libc6.
Ubuntu提供了一个旧版软件源:
http://old-releases.ubuntu.com
对linux不太熟悉,请问chroot该如何操作?
回复
chroot命令可以改变当前根目录,然后以新的根目录为基准,执行其下的命令. chroot /path/to/new/root /bin/bash 的意思就是: 根目录切换到/path/to/new/root,并执行新的根目录下的程序bash.
glibc是系统级底层软件,自己编译的可能会跟原来的不一致,导致系统不兼容.
恢复思路:进入LiveCD,然后chroot,用apt-get重装libc6.
Ubuntu提供了一个旧版软件源:
http://old-releases.ubuntu.com
从http://ftp.gnu.org/gnu/glibc/这里下的gz包,请问你说的 替换 是如何操作
下载官方
glibc 包解压后经livecd替换