Sunday, January 27, 2008

Redhat 9 升級到 CentOS 3.x

1. 安裝 yum
到 http://linux.duke.edu/projects/yum/download.ptml 抓 yum 2.0.7 回來安裝.
或是安裝 CentOS 3.X 的 yum-2.0.x.rpm

2. 安裝 source

a . Local 作法
a1. 把 CentOS 3.X 的光碟中的 RPMS 目錄複製到主機中. 如 /centos/os/RPMS 下頭. 共有三片光碟.
a2. 如果有要順便更新 updates 就把 CentOS 網站上頭的 updates 下頭的 rpm 也抓一份回來, 放到 /centos/updates/RPMS 下頭.
a3. 建立兩個目錄 /centos/os/headers 與 /centos/updates/headers, 然後在 /centos/os 與 /centos/updates 下頭執行這個指令:

cd /centos/os
yum-arch .
cd /centos/updates
yum-arch .
以便於建立 yum 的資料庫.

a4. 建立 /etc/yum-upgrade.conf 如下:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
installonlypkgs=kernel kernel-smp kernel-hugemem kernel-enterprise kernel-debug kernel-unsupported kernel-smp-unsupported kernel-hugemem-unsupported
tolerant=1
exactarch=1

[upgrade]
name=Centos upgrade
baseurl=file://localhost/centos/os/

[update]
name=CentOS-$releasever - Updates
baseurl=file://localhost/centos/updates/

b. 網路安裝
如果要直接透過網路更新 /etc/yum-upgrade.conf 如下
代碼:
#
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
installonlypkgs=kernel kernel-smp kernel-hugemem kernel-enterprise kernel-debug kernel-unsupported kernel-smp-unsupported kernel-hugemem-unsupported
tolerant=1
exactarch=1

[upgrade]
name=Centos upgrade
baseurl=http://mirror.centos.org/centos/3/os/$basearch/

[update]
name=CentOS-$releasever - Updates
baseurl=http://mirror.centos.org/centos/3/updates/$basearch/

3. 進行更新
a 匯入 CentOS 的 PGP Key.
rpm --import http://mirror.caosity.org/centos-3/RPM-GPG-KEY-CentOS-3
檔案在光碟內也有, 也可以直接由光碟匯入

b. 更新前最好使用 rpm -e 指令, 移除非必要的 套件
如果在 yum update 遇到錯誤 需要重複執行這個動作

c. 先更新 kernel 與 rpm.
代碼:
rpm -vv --rebuilddb
(這個動作是要重建 rpm db, 把 Redhat9 的 rpm db 換成 CentOS 3 的 rpm db 以利下個更新的動作)
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel
rpm -vv --rebuilddb
再次更新 rpmdb 以確保系統更新後的 rpm db 沒有問題
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel

安裝完先重新開機

d. 再更新整個系統
代碼:
yum -y -t -c /etc/yum-upgrade.conf upgrade

等 yum 跑完後, 你的 RedHat 9 就變成 CentOS 3.x 了, 再重開機使用新的 kernel.


參考文章
http://www.owlriver.com/tips/centos-31-ex-rhl-9/
http://phorum.study-area.org/index.php/topic,28648.html

No comments:

Post a Comment