CentOS4からCentOS5へのアップグレードの手順を、メモしておく。
# 参考サイト
# ref http://wiki.centos.org/HowTos/MigrationGuide/ServerCD_4.4_to_5
# 多くの方がクリーンインストールを推奨しているが、
# やむにやまれず、ネットワーク越しにアップグレードすることもあるだろう。
# 上記サイトの情報が役立った。
# 私の体験を交えて ご紹介します。内容は保証しませんので、ご了承ください。
---------------------------------------------------
# まずはデータのバックアップ。言われるまでもなく、基本中の基本。
# Start the upgrade process
mkdir /tmp/Upgrades
cd /tmp
# Check for centos-yumconf
# rpm -qi centos-yumconf
# * もし centos-yumconf が存在したら、 remove する。
# * NOTE this seems to be only installed if you installed from the x86_64
# version of the ServerCD 4.4 ISO.
# なのだそうだ
# rpm -e centos-yumconf
#
# 以上は 紹介されていた情報だが、私の環境には当てはまらなかったので、実行しなかった。
# 必要な RPMS を手動でインストール
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/centos-release-5-7.el5.centos.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/centos-release-notes-5.7-0.i386.rpm
rpm -Uvh centos-release-5-7.el5.centos.i386.rpm
centos-release-notes-5.7-0.i386.rpm
# Make sure you disable all other repos and only have CentOS Base and
# Updates repositories enabled.
# とあるが、内容を知らず、特に何もしなかった。
# CentOS 5 GPG Keyをインストール
rpm --import http://mirrors.kernel.org/centos/RPM-GPG-KEY-CentOS-5
cd /tmp/Upgrades
# 次のRPMSをダウンロード。新yum/rpmのため。
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/rpm-libs-4.4.2.3-22.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/rpm-4.4.2.3-22.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/rpm-python-4.4.2.3-22.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/popt-1.10.2.3-22.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/glibc-2.5-65.i686.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/glibc-common-2.5-65.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/beecrypt-4.1.2-10.1.1.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/glibc-headers-2.5-65.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/glibc-devel-2.5-65.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/binutils-2.17.50.0.6-14.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/elfutils-libelf-0.137-3.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/elfutils-0.137-3.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/elfutils-libs-0.137-3.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/beecrypt-python-4.1.2-10.1.1.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/python-2.4.3-44.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/python-devel-2.4.3-44.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/python-urlgrabber-3.1.0-6.el5.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/neon-0.25.5-10.el5_4.1.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/libxml2-2.6.26-2.1.12.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.12.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/db4-4.3.29-10.el5_5.2.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/libselinux-1.33.4-5.7.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/libsepol-1.15.2-3.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/mcstrans-0.2.11-3.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/m2crypto-0.16-8.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/krb5-libs-1.6.1-62.el5.i386.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/openssl-0.9.8 e-20.el5.i686.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/readline-5.1-3.el5.i386.rpm
# 上記 RPMSをインストール
rpm -Uvh *.rpm --nodeps
# rpmdbをCentoS 5用にクリーン、リビルド
rm -f /var/lib/rpm/__*
rpm --rebuilddb
# yum ファイルをクリーン
yum clean all
# deps/outdated パッケージをremove
# Note: You can run yum upgrade to help find deps that you need to remove.
rpm -e VFlib2 caching-nameserver autofs kudzu pcmcia-cs xorg-x11 newt-perl hal crypto-utils --nodeps
# 新しいCentOS 5 kernelをインストール
#
# もしwgetで 新kernelを入手したなら、次をまず実施
yum upgrade wget
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/CentOS/kernel-2.6.18-274.el5.i686.rpm
rpm -ivh kernel-2.6.18-8.el5.x86_64.rpm --nodeps
# 古いCentOS 4 kernelをremove
rpm -qa | grep kernel
# remove 2.6.9 bits
rpm -e kernel-2.6.9-101.EL kernel-devel-2.6.9-101.EL kernel-doc-2.6.9-42.EL
rpm -e kernel-2.6.9-67.EL kernel-devel-2.6.9-67.EL
# アップグレードして、CentOS 5に。
yum upgrade
# Install removed packages that were not reinstalled
yum install caching-nameserver autofs
cd /tmp
# システム上のRPMSリストを生成し、アップグレード後に、どんな古いRPMSがあるか
# 見れるようにしておく
rpm -qa >Upgrade_RPM_List
# Reboot system
reboot
# Login して、CentOS 5であることを確認する。
uname -a
# 例 Linux localhost.localdomain 2.6.18-8.1.1.el5 #1 SMP Mon
# Apr 9 09:43:24 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
# さらに、ここから3rdパーティRPMSのアップグレード
---------------------------------------------------------
# 最後に、yumに関係する、python-sqlite をCentOS 5用にアップグレードすること。
# バージョン番号が競合するようで、リプレイスするまで yumが動かなかった。
rpm -Uvh --replacepkgs python-sqlite-1.1.7-1.2.1.i386.rpm
# これをやらないと、次のエラーになる。
# 特に、ネットワーク越しにRHEL4からCentOS4、CentOS5とアップグレードしてきた
# 場合には古いものが残っていることがあるようだ。念のため、上記実施したほうが確実そうだ。
#
# Could not find any working storages
#または
# There was a problem importing one of the Python modules
# required to run yum. The error leading to this problem was:
#
# No module named sqlite
#
# Please install a package which provides this module, or
# verify that the module is installed correctly.
#
# It's possible that the above module doesn't match the
# current version of Python, which is:
# 2.4.3 (#1, Mar 5 2011, 21:25:56)
# [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
#
# If you cannot solve this problem yourself, please go to
# the yum faq at:
# http://wiki.linux.duke.edu/YumFaq
#
//
# 参考サイト
# ref http://wiki.centos.org/HowTos/
# 多くの方がクリーンインストールを推奨しているが、
# やむにやまれず、ネットワーク越しにアップグレードすることもあるだろう。
# 上記サイトの情報が役立った。
# 私の体験を交えて ご紹介します。内容は保証しませんので、ご了承ください。
---------------------------------------------------
# まずはデータのバックアップ。言われるまでもなく、基本中の基本。
# Start the upgrade process
mkdir /tmp/Upgrades
cd /tmp
# Check for centos-yumconf
# rpm -qi centos-yumconf
# * もし centos-yumconf が存在したら、 remove する。
# * NOTE this seems to be only installed if you installed from the x86_64
# version of the ServerCD 4.4 ISO.
# なのだそうだ
# rpm -e centos-yumconf
#
# 以上は 紹介されていた情報だが、私の環境には当てはまらなかったので、実行しなかった。
# 必要な RPMS を手動でインストール
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
rpm -Uvh centos-release-5-7.el5.centos.
centos-release-notes-5.7-0.
# Make sure you disable all other repos and only have CentOS Base and
# Updates repositories enabled.
# とあるが、内容を知らず、特に何もしなかった。
# CentOS 5 GPG Keyをインストール
rpm --import http://mirrors.kernel.org/
cd /tmp/Upgrades
# 次のRPMSをダウンロード。新yum/rpmのため。
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
wget http://ftp.iij.ad.jp/pub/
# 上記 RPMSをインストール
rpm -Uvh *.rpm --nodeps
# rpmdbをCentoS 5用にクリーン、リビルド
rm -f /var/lib/rpm/__*
rpm --rebuilddb
# yum ファイルをクリーン
yum clean all
# deps/outdated パッケージをremove
# Note: You can run yum upgrade to help find deps that you need to remove.
rpm -e VFlib2 caching-nameserver autofs kudzu pcmcia-cs xorg-x11 newt-perl hal crypto-utils --nodeps
# 新しいCentOS 5 kernelをインストール
#
# もしwgetで 新kernelを入手したなら、次をまず実施
yum upgrade wget
wget http://ftp.iij.ad.jp/pub/
rpm -ivh kernel-2.6.18-8.el5.x86_64.rpm --nodeps
# 古いCentOS 4 kernelをremove
rpm -qa | grep kernel
# remove 2.6.9 bits
rpm -e kernel-2.6.9-101.EL kernel-devel-2.6.9-101.EL kernel-doc-2.6.9-42.EL
rpm -e kernel-2.6.9-67.EL kernel-devel-2.6.9-67.EL
# アップグレードして、CentOS 5に。
yum upgrade
# Install removed packages that were not reinstalled
yum install caching-nameserver autofs
cd /tmp
# システム上のRPMSリストを生成し、アップグレード後に、どんな古いRPMSがあるか
# 見れるようにしておく
rpm -qa >Upgrade_RPM_List
# Reboot system
reboot
# Login して、CentOS 5であることを確認する。
uname -a
# 例 Linux localhost.localdomain 2.6.18-8.1.1.el5 #1 SMP Mon
# Apr 9 09:43:24 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
# さらに、ここから3rdパーティRPMSのアップグレード
---------------------------------------------------------
# 最後に、yumに関係する、python-sqlite をCentOS 5用にアップグレードすること。
# バージョン番号が競合するようで、リプレイスするまで yumが動かなかった。
rpm -Uvh --replacepkgs python-sqlite-1.1.7-1.2.1.
# これをやらないと、次のエラーになる。
# 特に、ネットワーク越しにRHEL4からCentOS4、CentOS5とアップグレードしてきた
# 場合には古いものが残っていることがあるようだ。念のため、上記実施したほうが確実そうだ。
#
# Could not find any working storages
#または
# There was a problem importing one of the Python modules
# required to run yum. The error leading to this problem was:
#
# No module named sqlite
#
# Please install a package which provides this module, or
# verify that the module is installed correctly.
#
# It's possible that the above module doesn't match the
# current version of Python, which is:
# 2.4.3 (#1, Mar 5 2011, 21:25:56)
# [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
#
# If you cannot solve this problem yourself, please go to
# the yum faq at:
# http://wiki.linux.duke.edu/
#
//