Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

使用 yum 升級你的系統 (RedHat9 升級到 CentOS 3.3)
post by tommy @ 05 元月, 2005 18:11
由於 RedHat 9 已經沒有更新了, Fedora 雖然有個遺產計畫在更新, 但是好像沒什麼動靜, 上頭的異動速度又不快. 所以機房內的幾台安裝 RedHat 9 的主機, 也很久沒有更新了.

所以想利用今天開始的過年假期, 把這幾台機器升級到別的版本上頭.

我們選擇的是使用 CentOS 3, 因為這是一套與 RHEL 3 相容的版本, 而 RHEL 3 是基於 RedHat 9 發展的. 這樣子我們升級的異動會比較少一點.

升級主要參考 http://www.owlriver.com/tips/centos-31-ex-rhl-9/ 這一篇文章.

  • step 1:

http://linux.duke.edu/projects/yum/download.ptml 抓 yum 2.0.7 回來安裝.

  • step 2:

把 CentOS 3.3 的光碟中的 RPMS 目錄複製到主機中. 如/centos/os/RPMS 下頭. 共有三片光碟.

  • step 3:

如果可能, 也把 CentOS 網站上頭的 updates 下頭的 rpm 也抓一份回來, 放到 /centos/updates/RPMS 下頭.

  • step 4:

建立兩個目錄 /centos/os/headers 與 /centos/updates/headers, 然後在 /centos/os 與 /centos/updates 下頭執行這個指令:

cd /centos/os
yum-arch .
cd /centos/updates
yum-arch . 

以便於建立 yum 的資料庫.

  • step 5:

匯入 CentOS 的 PGP Key.

rpm --import http://mirror.caosity.org/centos-3/RPM-GPG-KEY-CentOS-3 

上頭那個檔案在光碟內也有, 也可以直接匯入光碟內的 key.

  • step 6:

使用 rpm -e 指令, 移除非必要的 -devel 套件. (非必要)

  • step 7:

建立 /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
tolerant=1
exactarch=1

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

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

如果沒有事先抓下這些 rpm, 也可以設成:

[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
tolerant=1
exactarch=1

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

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

這樣子 yum 會在更新時上網抓檔案. 因為我們要更新好幾台, 所以先抓回來, 以免每次更新都再抓一次. update 的部份也可以不設, 等升級到 CentOS 3.3 後, 再使用 yum update 去更新也可以.

  • step 8:

先更新 kernel 與 rpm.

rpm -vv --rebuilddb 
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel
rpm -vv --rebuilddb
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel 

原本的文件說這兒要重開機, 不過似乎不用, 可以直接往下做.

  • step 9:

再更新整個系統:

yum -y -t -c /etc/yum-upgrade.conf upgrade 

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

如果檔案都抓回來, 在 local 的主機或網路上頭時, 整個更新的動作應該可以在 30 分到 1 小時之內完成. 我們的主機上頭有 mysql, postgresql, httpd, php, openldap-server, 整個更新完成後, 系統運作都很正常.

Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] 請問:此段為何重複兩次?? [ 回覆 ]

rpm -vv --rebuilddb
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel
rpm -vv --rebuilddb
yum -y -t -c /etc/yum-upgrade.conf upgrade rpm kernel

commons icon [2] [ 回覆 ]

指令參考 rh9 -> cent 3.1 那篇文章.
重複兩次是為了確定這兩個軟體有升級成功吧.

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 60 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS