2008/07/01

How do I migrate a system from RHEL 3 to CentOS 3?

CentOSのFAQに『How do I migrate a system from WBEL-3 (White Box Enterprise Linux) to CentOS 3?』という記事がある。この方法は、RHEL (Red Hat Enterprise Linux)にも適用可能とあるので、実際に検証してみた。

CentOS 3用RPMパッケージの署名鍵(sign key)をインストールする。
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-3
#

RPMパッケージredhat-releaseをcentos-releaseに置き換える。
# rpm -q redhat-release
redhat-release-3ES-1
# rpm -Uvh http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/centos-release-3-9.1.i386.rpm
http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/centos-release-3-9.1.i386.rpm を取得しています
Preparing... ########################################### [100%]
1:centos-release ########################################### [100%]
# rpm -q redhat-release
パッケージ redhat-release はインストールされていません
#
RPMパッケージcentos-releaseで更新すれば、redhat-releaseと置き換えられる。
ここでは、バージョン3-9.1をインストールしているが、これは実際にhttp://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/をブラウジングして、最新のバージョン番号で置き換える必要があるかもしれない。

CentOSリポジトリは、yumで管理するが、当然だが、RHEL3の状態では、yumはインストールされていない。
# which yum
/usr/bin/which: no yum in (/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin)
#
Yum関連のRPMパッケージをインストールする。
# rpm -Uvh http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/yum-2.0.8-2.cen
tos3.noarch.rpm
http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/yum-2.0.8-2.centos3.noarch.rpm を取得しています
Preparing... ########################################### [100%]
1:yum ########################################### [100%]
# rpm -Uvh http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/centos-yumconf-1-11.noarch.rpm
http://mirror.centos.org/centos/3/os/i386/RedHat/RPMS/centos-yumconf-1-11.noarch.rpm を取得しています
Preparing... ########################################### [100%]
1:centos-yumconf ########################################### [100%]
# which yum
/usr/bin/yum
#
この作業についても、実際にリポジトリを覗き見して、適宜最新のバージョン番号に変える。

実際にアップグレードする前に、更新されるRPMパッケージを確認する(しなくてもよい)
# yum list update
Gathering header information file(s) from server(s)
Server: CentOS-3 - Addons
Server: CentOS-3 - Base
Server: CentOS-3 - Extras
Server: CentOS-3 - Updates
Finding updated packages
Downloading needed headers
emacs-0-21.3-4.10.i386.hd 100% |=========================| 49 kB 00:00
pango-0-1.2.5-5.i386.hdr 100% |=========================| 6.4 kB 00:00
lockdev-0-1.0.1-5.1.i386. 100% |=========================| 2.5 kB 00:00
<<略>>
gtk+-devel-1-1.2.10-31.i3 100% |=========================| 13 kB 00:00
freetype-devel-0-2.1.4-10 100% |=========================| 7.9 kB 00:00
Looking in Available Packages:
Name Arch Version Repo
--------------------------------------------------------------------------------

Looking in Installed Packages:
Name Arch Version Repo
--------------------------------------------------------------------------------

#

アップグレードする。
# yum update
Gathering header information file(s) from server(s)
Server: CentOS-3 - Addons
Server: CentOS-3 - Base
Server: CentOS-3 - Extras
Server: CentOS-3 - Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
.Dependencies resolved
I will do the following:
[install: kernel-smp 2.4.21-57.EL.i686]
[install: kernel 2.4.21-57.EL.i686]
[update: emacs 21.3-4.10.i386]
<<略>>
[deps: bind-libs 20:9.2.4-21.el3.i386]
[deps: elfutils-libelf-devel 0.94.1-2.i386]
Is this ok [y/N]: y
Downloading Packages
Getting emacs-21.3-4.10.i386.rpm
emacs-21.3-4.10.i386.rpm 100% |=========================| 12 MB 02:26
Getting pango-1.2.5-5.i386.rpm
pango-1.2.5-5.i386.rpm 100% |=========================| 337 kB 00:04
Getting lockdev-1.0.1-5.1.i386.rpm
lockdev-1.0.1-5.1.i386.rp 100% |=========================| 12 kB 00:00
<<略>>
Getting man-1.5k-13.rhel3.i386.rpm
man-1.5k-13.rhel3.i386.rp 100% |=========================| 90 kB 00:00
Running test transaction:
Test transaction complete, Success!
hwdata 100 % done 1/854
filesystem 100 % done 2/854
redhat-logos 100 % done 3/854
<<略>>
XFree86-twm 100 % done 432/854
gdm 100 % done 433/854
Completing update for emacs - 434/854
Completing update for pango - 435/854
Completing update for lockdev - 436/854
<<略>>
0.33.7.1-25.3.rhel3.i386 net-snmp-libs 5.0.9-2.30E.24.i386 gdk-pixbuf 1:0.22.0-13.el3.3.i386 jaf 20030319-1.
i386 javamail 20031006-1.i386 FreeWnn-libs 1.11-36.3.i386 bind-libs 20:9.2.4-21.el3.i386 elfutils-libelf-dev
el 0.94.1-2.i386
Transaction(s) Complete
#
ところどころエラーが出るが、無視した。
再起動する。
# shutdown -r now

カーネルのバージョンを確認する。
# uname -a
Linux ホスト名 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux
#
カーネルが古いままになっている。おそらく、grubの設定ファイルが書き換わっていないのだろう。
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-version.img
#boot=/dev/sda
default=2
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title CentOS (2.4.21-57.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-57.ELsmp ro root=LABEL=/
initrd /initrd-2.4.21-57.ELsmp.img
title CentOS (2.4.21-57.EL)
root (hd0,0)
kernel /vmlinuz-2.4.21-57.EL ro root=LABEL=/
initrd /initrd-2.4.21-57.EL.img
title Red Hat Enterprise Linux ES (2.4.21-4.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-4.ELsmp ro root=LABEL=/
initrd /initrd-2.4.21-4.ELsmp.img
title Red Hat Enterprise Linux ES-up (2.4.21-4.EL)
root (hd0,0)
kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/
initrd /initrd-2.4.21-4.EL.img
#
default=2」となっているため、2+1=3番目のエントリ、「title Red Hat Enterprise Linux ES (2.4.21-4.ELsmp)」に対応するものが起動されている。これを、「default=0」に書き換える。
# cp -p /boot/grub/grub.conf /boot/grub/grub.conf.orig
# sed 's/^default=2/default=0/' < /boot/grub/grub.conf.orig > /boot/grub/grub.conf
再起動する。
# shutdown -r now
<<略>>
INIT: version 2.85 bootingiver loaded
Setting default font (lat0-sun16): [ OK ]

Welcome to CentOS
Press 'I' to enter interactive startup.
Configuring kernel parameters: [ OK ]
Setting clock (localtime): 2008 7dered data mode. OK ]
<<略>>
# uname -a
Linux ホスト名 2.4.21-57.ELsmp #1 SMP Wed May 7 06:10:55 EDT 2008 i686 i686 i386 GNU/Linux
#
カーネルのバージョンが新しくなっていることを確認できた。

0 件のコメント: