设为首页 收藏本站
查看: 1223|回复: 0

[经验分享] redhat4.8 的环境配置

[复制链接]

尚未签到

发表于 2018-5-11 12:43:48 | 显示全部楼层 |阅读模式
  为了能运行公司的客户端程序,提示需要升级glibc,为了成功升级glibc,先把内核从2.6.9 升级到了2.6.16。因为弄了两三天。还是记之。

  1. 升级内核  http://www.docin.com/p-384415357.html
  
  可以通过如下网站下载源码包,这里下载linux-2.6.36.tar.gz  http://www.kernel.org/pub/linux/kernel/v2.6/
  内核的编译安装
   # tar -zxf linux-2.6.36.tar.gz -C /usr/src/      //解压到该目录/usr/src/
   # cd /usr/src/linux-2.6.36/   #进入目录
   # make mrproper     //去除内核的依赖关系以及编译后的垃圾信息
   # make menuconfig   //进入菜单方式界面配置内核
  如果General Setup下有如下选项 “enable deprecated sysfs features to support old userspace tools”,就勾选,不然编译安装之后会找不到原来的挂载点。
  # make;make modules;make modules_install;make install   //分别是编译内核、编译模块、安装模块、安装内核,注意是在linux-2.6.36/这目录下编译
  内核编译中遇到的错误以及解决之道
错误一:
错误提示:Kernel   panic—not syncing :vfs:unable to mount root fs on unkown—block (0,0)
错误分析:initrd-*.*.img文件有问题;未能成功挂载真正的根文件系统。
解决方法:请你确认执行了make install 命令,我就因为没有执行这条命令而浪费了一周时间(后面专门详细说明)
错误二:
错误提示:Create root device
mkrootdev: label / not found
Mounting root filesystem
mount :error 2 mounting ext3
mount :error 2 mounting none
switchroot mount failed:22
umount /initrd/dev failed :2
kernel panic-not synicncing :Attempted to kill init .
(错误提示是不是有点长,貌似错误很多哦,其实可能就一个原因导致)
错误分析:1、根文件系统找不到挂载点 ,修改grub.conf文件为 root=/dev/ *
          2、硬盘驱动未能找到,请看看你机器的硬盘是都是 SATA盘,是的话同样恭喜你本文对你有帮助。
解决方法:
1.、修改grub.conf文件试试,具体修改点 root=/dev/*       * 指的是原系统中/分区的挂载点。修改后,重启进入新内核系统,估计十有八九又会遇到如下错误提示:
Mounting root filesystem
mount :error 6 mounting ext3
mount :error 2 mounting none
switchroot mount failed:22
umount /initrd/dev failed :2
kernel panic-not synicncing :Attempted to kill init .
2、硬盘驱动未能成功找到,SCSI驱动有问题。我在内核编译升级中遇到这个问题,对内核选项选了又选,方法试了很多种,总经理都亲自来做了几次,错误依旧。最终让我无意中选正确选项,成功升级内核。
具体选项是:Device Drivers--------SCSI device support------SCSI low-level drivers----Serial ATA(SATA)support 选为 M,然后再选择相应的子选项,我选择了Intel PIIX/ICH SATA support (new)后机器就成功启动了。
错误三:
错误提示:Enforcing mode requested but no policy loaded. Halting now.
kernel panic - not syncing: Attenpted to kill init!
错误分析:原内核中启用了selinux,新内核未选择selinux的选项,不能成功启动。
解决方法:修改grub.conf文件,在root=LABEL=/ 后加入 enforcing=0

  2. 升级glibhttp://www.ibm.com/developerworks/cn/linux/l-cn-glibc-upd/
  config 和 make
  $ cd ~/build
  $ tar xjf glibc-2.5.tar.bz2
  $ mkdir glibc-2.5-build
  $ cd glibc-2.5-build
  $ ../glibc-2.5/configure --prefix=/usr
  $ make
  

  makeinstall 前的备份(64位也备份下lib64)

  # cp -a /lib /lib.2.3.5
# cd /usr# cp -a lib lib.2.3.5# cp -a bin bin.2.3.5# cp -a sbin sbin.2.3.5# cp -a include include.2.3.5  第一次make install
  $ cd glibc-2.6-build
$ su  # make install
  出现如下错误:
  /home/xyz/build/glibc-2.6-build/elf/sln
  /home/xyz/build/glibc-2.6-build/elf/symlink.list
  rm -f /home/xyz/build/glibc-2.6-build/elf/symlink.list
  rm: relocation error: /lib/tls/libc.so.6: symbol _dl_out_of_memory, \
        version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference
  make[1]: *** [install-symbolic-link] Error 127
  make[1]: Leaving directory `/home/xyz/build/glibc-2.6'
  make: *** [install] Error 2
  用另一个linux系统启动
  # cd /mnt
  # mkdir m1
  # mount -t xfs /dev/mapper/vg0-lv0 /mnt/m1
  # cd /mnt/m1/lib64/tls
  # cp -f ../libthread_db-1.0.so .
  # cp ../libc-2.6.so .
# cp ../libm-2.6.so .# cp ../libpthread-2.6.so .# cp ../librt-2.6.so .# ln -sf libc-2.6.so libc.so.6# ln -sf libm-2.6.so libm.so.6# ln -sf libpthread-2.6.so libpthread.so.0# ln -sf librt-2.6.so librt.so.1  重启,进入原系统,第二次make install
  安装成功:
  
Your new glibc installation seems to be ok.  make[1]: Leaving directory `/home/xyz/build/glibc-2.6'
  查看glibc的版本:
  /lib64/libc.so.6
  

  安装时区和地区数据库(不要忘了这一步)
  $ cd ~/build
  $ cd glibc-2.6-build
  $ su
  # make localedata/install-locales
  3. 安装yum http://nigelzeng.iteye.com/blog/1522554
1.下载软件包:
wget http://yum.baseurl.org/download/2.0/yum-2.0.8-1.src.rpm
2.安装(由于是RPM源码包所以安装比较特殊)
#rpmbuild --rebuild yum-2.0.8-1.src.rpm
3.进入到:/usr/src/redhat/RPMS/noarch/
4.使用rpm -ivh yum-2.0.8-1.noarch.rpm 安装
5.配置文件/etc/yum.conf
主要修改[base]和[updates]下的内容,这里我们使用centos的源:
改成这样就可用了:
    yum.conf 写道
[base]
name=Red Hat Linux $releasever - $basearch - Base
baseurl=http://vault.centos.org/4.4/os/i386/
[updates]
name=Red Hat Linux $releasever - Updates
baseurl=http://vault.centos.org/4.4/updates/i386/



使用 yum update命令试试
后台更新,记录log,可以用这条命令:
Shell代码   DSC0000.png


  •   yum update >> yumUpdate.log 2>&1 &  

  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458705-1-1.html 上篇帖子: Install FFmpeg on CentOS or RedHat EL 6.x 下篇帖子: HYPER
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表