はじめに
RHEL6.6がGAされたのは2014/10/14、RHEL6.7がGAされたのは2015/07/22です。2015/12/14現在において、SoftLayer上でRHELを注文した場合には、RHEL6.7が配布されるでしょう。とはいえ、アプリケーションパッケージなどの保障範囲が最新版に対応しておらず、RHEL6.6がどうしても欲しいという人もいるかもしれません。本記事ではそういう人のために、SoftLayer上でどうやってRHELをダウングレードする方法を、RHEL6.7 -> RHEL6.6を例に取って紹介します。
とはいっても、以下の参考資料をそのまま検証しただけですが。。。
- Red Hat Enterprise Linux で、kernel および redhat-release を以前のマイナーバージョンにダウングレードする
- Red Hat Enterprise Linux Release Dates
環境確認
環境確認
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
# uname -a
Linux rhel6.softlayer.com 2.6.32-573.7.1.el6.x86_64 #1 SMP Thu Sep 10 13:42:16 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
# 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/xvda2
# initrd /initrd-[generic-]version.img
# boot=/dev/xvda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-573.7.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 ro root=UUID=d5b4a6a0-4556-4a34-aa39-ce5c8d36173d rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.32-573.7.1.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=d5b4a6a0-4556-4a34-aa39-ce5c8d36173d rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.32-220.el6.x86_64.img
過去のバージョン確認
# yum --showduplicates list kernel.x86_64
(途中略)
kernel.x86_64 2.6.32-431.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.1.2.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.3.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.5.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.11.2.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.17.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.20.3.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.20.5.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.23.3.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-431.29.2.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.1.3.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.3.3.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.8.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.12.2.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.16.2.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.23.4.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-504.30.3.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-572.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-573.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-573.1.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-573.3.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-573.7.1.el6 rhel-6-server-rpms
kernel.x86_64 2.6.32-573.8.1.el6 rhel-6-server-rpms
ダウングレードの実施
https://access.redhat.com/articles/3078 によると、RHEL6.6のカーネルバージョンは2.6.32-504なので、2.6.32-504.30.3.el6を導入することにします。
ダウングレード
# yum install kernel-2.6.32-504.30.3.el6
# 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/xvda2
# initrd /initrd-[generic-]version.img
# boot=/dev/xvda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-504.30.3.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-504.30.3.el6.x86_64 ro root=UUID=d5b4a6a0-4556-4a34-aa39-ce5c8d36173d rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.32-504.30.3.el6.x86_64.img
title Red Hat Enterprise Linux Server (2.6.32-573.7.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 ro root=UUID=d5b4a6a0-4556-4a34-aa39-ce5c8d36173d rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.32-573.7.1.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=d5b4a6a0-4556-4a34-aa39-ce5c8d36173d rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.32-220.el6.x86_64.img
# reboot
# uname -a
Linux rhel6.softlayer.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
# yum downgrade redhat-release
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.6 (Santiago)
カーネルを更新対象から外す
今後間違ってyum updateでRHELのバージョンがないようにするために、以下の設定を入れておきます。
/etc/yum.conf
# vi /etc/yum.conf
(以下を追加)
exclude=kernel* redhat-release*