又一次干脏活
把某一台rhel4(as4)的机器在线升级到rhel5(as5)
as4上原来的包管理用的是第三方的apt(apt不在我们的as5的repos仓里)
由于有了上一次的经验
这一次我先稳打稳扎
先用
apt-get update;apt-get check;apt-get -y upgrade;apt-get -y dist-upgrade
先把系统升级成as4的最新版
如果升级了kernel还需要用新kernel重起
(其实最后看起来这一步实属多余,而且还可能添加更多的麻烦,其实只是需要安装as4的最新的kernel即可的)
然后正式开始升级工作
首先
rpm -Uvh http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-5Server-5.2.0.4.i386.rpm http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-notes-5Server-12.i386.rpm
这里的10.0.0.1是局域网上的一台维护着as4、as5仓(repository)的服务器
然后
apt-get clean all # 清apt缓存
vim /etc/apt/sources.list # 更改apt的安装源为as5的安装仓(repository)
再接着
apt-get update;apt-get check
接着升级rpm*并安装上yum*
apt-get install rpm* rpm\* yum* yum\*
到这里,第一个考验来了,系统抱错:
“srptools: Obsoletes: openib-srptools”
用rpm -qa | grep srptools没发现系统装的有srptools或openib-srptools
但是在as4的仓里有openib-srptools、as5的仓里有srptools
rpm -ivh http://10.0.0.1/pathto4Server/RPMS.os/openib-srptools-0.0.6-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/openib-1.2-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/libibumad-1.0.5-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/libibcommon-1.0.3-7.i386.rpm
上面这一步其实可能不用,因为后来openib-srptools又给删掉了
rpm -ivh http://10.0.0.1/pathto5Server/RPMS.os/srptools-0.0.4-2.el5.i386.rpm
你要srptools我就给你装srptools
rpm -e openib-srptools
删掉openib-srptools
rpm -e openldap-clients cups-libs openldap elinks ckermit nmap cyrus-sasl-devel pwlib curl neon libwvstreams stunnel pyOpenSSL dhcpv6_client rhnlib wvdial openh323 openldap-devel nss_ldap libuser cyrus-sasl nss_ldap compat-openldap cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-plain cyrus-sasl-md5 libuser-devel usermode passwd nfs-utils autofs nfs-utils-lib kbd system-logviewer authconfig-gtk usermode-gtk system-config-network-tui system-config-lvm system-config-packages system-config-language system-config-date system-config-nfs system-config-services system-config-securitylevel system-config-soundcard system-config-rootpassword system-config-keyboard system-config-network redhat-lsb system-config-users system-config-mouse sendmail cyrus-sasl-sql mutt python-ldap apr-util-devel up2date cadaver curl-devel php php-gd php-mysql php-mbstring php-pear python-ldap kdebase samba-common samba-client gnupg evolution-data-server httpd apr-util samba-common samba-client libgnomeprint22-2.8.0-3.i386 ghostscript kdelibs ghostscript tog-pegasus mdadm fetchmail httpd-devel kdemultimedia gnome-panel cups-libs httpd kde-i18n-Chinese kde-i18n-Chinese-Big5 gimp-print iiimf-gnome-im-switcher tog-pegasus-devel ghostscript-fonts httpd-suexec libgnomeprintui22 gtksourceview libgnomecups cups rpm-devel rpm-build redhat-rpm-config bg5ps VFlib2 dmraid
再删掉一大堆妨碍升级rpm*并安装yum*的东东
反正到最后
apt-get install rpm-libs rpm-python rpm yum
成功了
这一步的时候,貌似apt就给删掉了,否则还需要rpm -e apt一下
然后把yum的安装源指向我们自己的仓
再执行升级
yum update
完成后再做一次base安装,因为前面删的东西太多了,怕有的东西是必须的,所以做一次base安装
yum groupinstall base
这个时候会出一个”device-mapper“相关的错误
这是因为系统目前的device-mapper包(as4的)比安装仓(as5)里的device-mapper的版本还要新!
这也就是我前面说为什么升级之前把系统升级成as4的最新版也许还添了麻烦的原因
没办法
先强行升级device-mapper
rpm -Uvh –force http://10.0.0.1/pathto5Server/RPMS.os/device-mapper-1.02.24-1.el5.i386.rpm
最后yum groupinstall base完成后
再装下新kernel(如果没自动装的话)
yum install kernel-PAE kernel-PAE-devel kernel-doc
再用新kernel起起来就ok了
最近评论