免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2041 | 回复: 2
打印 上一主题 下一主题

RHEL AS3 升级到Update 3 的方法(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-10 11:59 |只看该作者 |倒序浏览
RedHat企业版Linux AS3和WS3的Update3版本光盘版(下面简称U3)不提供升级安装选项,给在学习这个优秀系统的爱好者(咱不说盗版,那太难听了,等咱有了钱......。如果确实需要在生产环境使用这个系统,强烈建议购买正版,个人感觉EL3确实是一个优秀发行版)造成了一定困难。这里提供一个采用硬盘ISO文件升级到AS3U3的方法,这个方法适合我自己的系统,如果有错误和不足之处欢迎批评指出。

0 强烈建议升级前仔细阅读RELEASE NOTES

0.1 系统背景和一个小技巧

我的机器是一个用于开发和提供简单服务的老双P3,安装了AS3提供的大部分软件,已经升级到U2并自己编译安装了了大部分U2之后的补丁,下面实例都是基于我自己的软件和硬件环境的,如果您的软件环境不同,下面的一些步骤会有不同。

0.1 转换BIN/CUE格式的光盘镜像到ISO格式

ror提供的U3是rar压缩的CUE格式的光盘镜像,要在硬盘安装需要首先解压并转换成ISO格式。
软件需求:rar和bchunk,可以在rpmfind.net找到src.rpm,AS3下面可能需要自己用rpmbuild命令编译再安装。以bchunk为例:

下载bchunk ftp://rpmfind.net/linux/Mandrake/9.2/contrib/SRPMS/bchunk-1.1.1-3mdk.src.rpm
[root@ns root]# rpmbuild --rebuild bchunk-1.1.1-3mdk.src.rpm
[root@ns root]# rpm -ihv /usr/src/redhat/RPMS/i386/bchunk-1.1.1-3mdk.i386.rpm

解压rar压缩的U3光盘,并转换成ISO格式
[root@ns CD1]# rar x rorr3a31.rar
[root@ns CD1]# bchunk rhel-3-U3-i386-as-disc1.bin rhel-3-U3-i386-as-disc1.cue rhel-3-U3-i386-as-disc1

这样产生的ISO文件名字为:rhel-3-U3-i386-as-disc101.iso

对其它3个光盘镜像做同样处理。


1 RPM目录准备(假设ISO文件都在当前目录)

[root@ns AS3U3]# mkdir cd1
[root@ns AS3U3]# mkdir cd2
[root@ns AS3U3]# mkdir cd3
[root@ns AS3U3]# mkdir cd4
[root@ns AS3U3]# mount -t iso9660 rhel-3-U3-i386-as-disc101.iso cd1 -o loop,ro
[root@ns AS3U3]# mount -t iso9660 rhel-3-U3-i386-as-disc201.iso cd2 -o loop,ro
[root@ns AS3U3]# mount -t iso9660 rhel-3-U3-i386-as-disc301.iso cd3 -o loop,ro
[root@ns AS3U3]# mount -t iso9660 rhel-3-U3-i386-as-disc401.iso cd4 -o loop,ro
[root@ns AS3U3]# mkdir RPMS
[root@ns AS3U3]# cd RPMS
[root@ns RPMS]# ln -s ../cd1/RedHat/RPMS/*rpm .
[root@ns RPMS]# ln -s ../cd2/RedHat/RPMS/*rpm .
[root@ns RPMS]# ln -s ../cd3/RedHat/RPMS/*rpm .
[root@ns RPMS]# ln -s ../cd4/RedHat/RPMS/*rpm .



2 删除冲突软件包

kernel RPM不要使用升级方式安装,应该采用全新安装方式,因此首先删除所有kernel*rpm
[root@ns RPMS]# rm -f kernel*rpm (只是删除了临时建立的连接,源文件不会受到影响)

RPMS目录下面同时存在i386和i686RPM时使用rpm -F会有问题,应根据系统架构删除同名RPM。如果系统是i686(pentium pro及以后)架构,删除相应的i386的RPM包

列出所有i686 RPM:
[root@ns RPMS]# ls | grep i686
glibc-2.3.2-95.27.i686.rpm
nptl-devel-2.3.2-95.27.i686.rpm
openssl-0.9.7a-33.12.i686.rpm

删除重复的i386 RPM:
[root@ns RPMS]# rm -f glibc-2.3.2-95.27.i386.rpm
[root@ns RPMS]# rm -f nptl-devel-2.3.2-95.27.i386.rpm
[root@ns RPMS]# rm -f openssl-0.9.7a-33.12.i386.rpm


3 测试rpm冲突,因为AS3U3新添了一些软件包,同时把一些原来处于同一个包下面的包分开成了多个包(更合理了),所以需要首先测试系统软件包

各人的系统软件包不同,将会有不同的提示,下面只是我机器上面的示例,需要根据个人情况认真分析

[root@ns RPMS]# rpm -Fvh *rpm
error: Failed dependencies:
        booty is needed by anaconda-9.1.3-3.RHEL
        libdns.so.11 is needed by bind-9.2.4-EL3_10
        libisc.so.7 is needed by bind-9.2.4-EL3_10
        libisccc.so.0 is needed by bind-9.2.4-EL3_10
        libisccfg.so.0 is needed by bind-9.2.4-EL3_10
        liblwres.so.1 is needed by bind-9.2.4-EL3_10
        libdns.so.11 is needed by bind-utils-9.2.4-EL3_10
        libisc.so.7 is needed by bind-utils-9.2.4-EL3_10
        liblwres.so.1 is needed by bind-utils-9.2.4-EL3_10
        smtpdaemon is needed by mdadm-1.5.0-9
        libmysqlclient.so.10 is needed by php-mysql-4.3.2-14.ent
        librpm-4.2.so is needed by rpm-4.2.3-10
        librpmbuild-4.2.so is needed by rpm-4.2.3-10
        librpmdb-4.2.so is needed by rpm-4.2.3-10
        librpmio-4.2.so is needed by rpm-4.2.3-10
        librpm-4.2.so is needed by rpm-build-4.2.3-10
        librpmbuild-4.2.so is needed by rpm-build-4.2.3-10
        librpmdb-4.2.so is needed by rpm-build-4.2.3-10
        librpmio-4.2.so is needed by rpm-build-4.2.3-10
        librpm-4.2.so is needed by rpm-devel-4.2.3-10
        librpmdb-4.2.so is needed by rpm-devel-4.2.3-10
        librpmio-4.2.so is needed by rpm-devel-4.2.3-10
        librpm-4.2.so is needed by rpm-python-4.2.3-10
        librpmdb-4.2.so is needed by rpm-python-4.2.3-10
        librpmio-4.2.so is needed by rpm-python-4.2.3-10
        librpm-4.2.so is needed by (installed) net-snmp-5.0.9-2.30E.6
        librpm-4.2.so is needed by (installed) net-snmp-perl-5.0.9-2.30E.6
        librpmdb-4.2.so is needed by (installed) net-snmp-5.0.9-2.30E.6
        librpmio-4.2.so is needed by (installed) net-snmp-5.0.9-2.30E.6
        librpmio-4.2.so is needed by (installed) net-snmp-perl-5.0.9-2.30E.6
    Suggested resolutions:
        bind-9.2.2-21.i386.rpm
        bind-utils-9.2.2-21.i386.rpm
        booty-0.31.1-1.i386.rpm
        mysql-3.23.58-1.i386.rpm
        postfix-2.0.16-13.RHEL3.i386.rpm
        rpm-4.2.2-0.14.i386.rpm

这里提示有很多冲突,不过这没关系,认真看Suggested resolutions,如果某个软件包确实安装了原来系统默认版本,比如bind和rpm,却提示needed,那么一定是U3对这组软件包结构做了新的修改。如果系统没有被依赖的软件包,那么可以肯定这个软件包是U3新添的,比如booty。

我升级了mysql到4.0.x,mailserver使用的是qmail,所以会有smtpdaemon和libmysqlclient的依赖问题。可以先把存在依赖问题的包mdadm和php-mysql删除,待系统升级成功之后再重新安装。其它的deps都是因为RPM包重组造成的(AS3U3新加了rpm-libs和bind-libs)。

删除真正存在冲突的软件包(我这里只有这两个包)
[root@ns RPMS]# rpm -e mdadm
[root@ns RPMS]# rpm -e php-mysql        

4 安装预需求RPM

升级rpm包管理工具(U3系统新加了rpm-libs-4.2.3-10.i386.rpm)
[root@ns RPMS]# rpm -Uhv rpm-libs-4.2.3-10.i386.rpm rpm-4.2.3-10.i386.rpm rpm-python-4.2.3-10.i386.rpm rpm-build-4.2.3-10.i386.rpm rpm-devel-4.2.3-10.i386.rpm

安装booty(U3系统新加软件包):
[root@ns RPMS]# rpm -Uhv booty-0.31.1-1.i386.rpm

升级bind(U3系统新加了bind-libs-9.2.4-EL3_10.i386.rpm),
[root@ns RPMS]# rpm -Uhv bind-9.2.4-EL3_10.i386.rpm bind-utils-9.2.4-EL3_10.i386.rpm bind-libs-9.2.4-EL3_10.i386.rpm


在此之后可以重新运行rpm -Fvh *rpm 测试,如果没有新的依赖问题,就会直接进入下一步


5 升级系统

运行rpm升级整个系统
[root@ns RPMS]# rpm -Fvh *rpm

需要等待比较长的一段时间(一个完全安装的系统升级,约180个包,大概要15分钟,其中很多时间用来运行ldconfig),不过和重新安装配置系统相比,这点时间还是很短的。


6 重新安装前面临时删除的rpm包:

[root@ns RPMS]# rpm -ihv --nodeps mdadm-1.5.0-9.i386.rpm
[root@ns RPMS]# rpm -ihv --nodeps php-mysql-4.3.2-14.ent.i386.rpm


7 安装新内核

重新连接内核包到RPMS目录:
[root@ns RPMS]# ln -s ../cd1/RedHat/RPMS/kernel*rpm .
[root@ns RPMS]# ln -s ../cd2/RedHat/RPMS/kernel*rpm .
[root@ns RPMS]# ln -s ../cd3/RedHat/RPMS/kernel*rpm .
[root@ns RPMS]# ln -s ../cd4/RedHat/RPMS/kernel*rpm .

安装新内核:
[root@ns RPMS]# rpm -ihv kernel-2.4.21-20.EL.i686.rpm kernel-unsupported-2.4.21-20.EL.i686.rpm kernel-smp-2.4.21-20.EL.i686.rpm kernel-smp-unsupported-2.4.21-20.EL.i686.rpm

如果系统安装了内核源码:
[root@ns RPMS]# rpm -Uhv kernel-source-2.4.21-20.EL.i386.rpm


8 OK,完工。现在cat /etc/issue应该显示

[root@ns RPMS]# cat /etc/issue
Red Hat Enterprise Linux AS release 3 (Taroon Update 3)
Kernel \r on an \m

重新启动!!!!

论坛徽章:
0
2 [报告]
发表于 2004-09-10 12:24 |只看该作者

RHEL AS3 升级到Update 3 的方法(原创)

学习~~~~~~~~
rhel-3-U3-i386-as-disc101.iso
那有下载?

论坛徽章:
0
3 [报告]
发表于 2004-09-12 17:42 |只看该作者

RHEL AS3 升级到Update 3 的方法(原创)

kernel哪个版本?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP