2016年1月26日火曜日

Oracle Linux 7.x の Red Hat 互換カーネル(RHCK)への変更と、アップデート。

Oracle Linux 7.x で、Red Hat 互換カーネル(RHCK)をアップデートしてみました。
GRUB2 に慣れないので、記録に残しておこうと思います。


OL 7.2 は、デフォルトでは UEK で起動します。
[root@sv01 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.2
[root@sv01 ~]# uname -r
3.8.13-98.7.1.el7uek.x86_64

デフォルトの GRUB2 メニューリストは、こうなっていました。
[root@sv01 ~]# grep ^menuentry /boot/grub2/grub.cfg | awk -F\' '{print $2}' | nl -v0
     0  Oracle Linux Server (3.10.0-327.el7.x86_64 with Linux) 7.2
     1  Oracle Linux Server (3.8.13-98.7.1.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.2
     2  Oracle Linux Server (0-rescue-781759965b1d490d84e4613e7e45f231 with Linux) 7.2

まず、単純に RHCK に切り替えて、そのあと RHCK をバージョンアップしてみます。

デフォルトでは、GRUB_DEFAULT=saved で grub.cfg ファイルが生成されている状態です。
[root@sv01 ~]# grep GRUB_DEFAULT /etc/default/grub
GRUB_DEFAULT=saved

そして、上記のメニューのうち、1番で起動されています。
[root@sv01 ~]# grub2-editenv list
saved_entry=Oracle Linux Server (3.8.13-98.7.1.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.2

RHCK に切り替える。

それでは、RHCK のメニュー(0番)に切り替えます。
※ちなみに、RHCK に切り替えなくても RHCK のバージョンアップはできます。
[root@sv01 ~]# grub2-set-default 0
[root@sv01 ~]# grub2-editenv list
saved_entry=0

OS を再起動します。
[root@sv01 ~]# reboot

RHCK で起動されています。
[root@sv01 ~]# uname -r
3.10.0-327.el7.x86_64

RHCK のバージョンアップ

最新版のカーネルを確認してみます。
CVE-2016-0728 対応のカーネルが見つかりました。
[root@sv01 ~]# yum list kernel
読み込んだプラグイン:ulninfo
インストール済みパッケージ
kernel.x86_64                       3.10.0-327.el7                           @anaconda/7.2
利用可能なパッケージ
kernel.x86_64                       3.10.0-327.4.5.el7                       ol7_latest

カーネルをアップグレードします。
[root@sv01 ~]# yum update -y kernel-3.10.0-327.4.5.el7
読み込んだプラグイン:ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:3.10.0-327.4.5.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==========================================================================================
 Package         アーキテクチャー
                                 バージョン                     リポジトリー         容量
==========================================================================================
インストール中:
 kernel          x86_64          3.10.0-327.4.5.el7             ol7_latest           33 M

トランザクションの要約
==========================================================================================
インストール  1 パッケージ

総ダウンロード容量: 33 M
インストール容量: 136 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告: /var/cache/yum/x86_64/7Server/ol7_latest/packages/kernel-3.10.0-327.4.5.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID ec551f03: NOKEY
kernel-3.10.0-327.4.5.el7.x86_64.rpm の公開鍵がインストールされていません
kernel-3.10.0-327.4.5.el7.x86_64.rpm                               |  33 MB  00:00:05
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle から鍵を取得中です。
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.2-1.0.5.el7.x86_64 (@anaconda/7.2)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : kernel-3.10.0-327.4.5.el7.x86_64                          1/1
  検証中                  : kernel-3.10.0-327.4.5.el7.x86_64                          1/1

インストール:
  kernel.x86_64 0:3.10.0-327.4.5.el7

完了しました!

kernel インストール直後、0番として新カーネルのメニューエントリが追記されました。
saved_entry は選択したカーネルのままですが、メニュー番号から名前に書き換わりました。
[root@sv01 ~]# grep ^menuentry /boot/grub2/grub.cfg | awk -F\' '{print $2}' | nl -v0
     0  Oracle Linux Server 7.2, with Linux 3.10.0-327.4.5.el7.x86_64
     1  Oracle Linux Server (3.10.0-327.el7.x86_64 with Linux) 7.2
     2  Oracle Linux Server (3.8.13-98.7.1.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.2
     3  Oracle Linux Server (0-rescue-781759965b1d490d84e4613e7e45f231 with Linux) 7.2
[root@sv01 ~]# grub2-editenv list
saved_entry=Oracle Linux Server (3.10.0-327.el7.x86_64 with Linux) 7.2

そこで、あらためて最新版のカーネル(0番)を選択して、OSを再起動します。
[root@sv01 ~]# grub2-set-default 0
[root@sv01 ~]# grub2-editenv list
saved_entry=0
[root@sv01 ~]# reboot

最新のカーネルで起動されました。
[root@sv01 ~]# uname -r
3.10.0-327.4.5.el7.x86_64

OL7 のマニュアルでは grub2-set-default とセットで grub2-mkconfig を実行していますが、
grub.cfg にメニューエントリが生成ずみであれば
grub2-mkconfig で再生成までしなくてもよさそうです。

4.3 About the GRUB 2 Boot Loader
http://docs.oracle.com/cd/E52668_01/E54669/html/ol7-grub2_bootloader.html

以上。RHCK のバージョンアップでした。

0 件のコメント:

コメントを投稿