概要
Dockerを使いたいので、カーネルのバージョンを3.10から
割と最新のものにアップしたいと試行錯誤した作業をメモしておきます。
事前準備
次の準備が完了して作業を開始しましょう。
- VirtualBox のインストール
- Vagrant のインストール
Kernelを最新版に更新
Dockerを使う予定のため、カーネルを新しいバージョンに上げる。
現在のカーネルバージョン確認
下記のコマンドにて、状況を確認する。
ターミナル(vagrant)
$ uname -r
3.10.0-514.el7.x86_64
$ rpm -qa kernel\* | sort
kernel-3.10.0-514.el7.x86_64
kernel-devel-3.10.0-514.el7.x86_64
kernel-headers-3.10.0-514.26.1.el7.x86_64
kernel-tools-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.el7.x86_64
ElRepoリポジトリを追加
ELRepo リポジトリを使って、最新安定板カーネルをインストールするので追加する。
ターミナル(vagrant)
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
elrepo-kernelを有効にする。enabled=0になっているのでenabled=1とする
$ sudo vi /etc/yum.repos.d/elrepo.repo
----
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux KÂernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
http://jur-linux.org/download/elrepo/kernel/el7/$basearch/
http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
http://mirror.ventraip.net.au/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=1 ← 0から1に変更
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
kernelと関連ツールを入れ替える
kernel, kernel-devel,kernel-headers,kernel-tools,kernel-tools-libs を入れ替える
ターミナル(vagrant)
# 現状確認
$ rpm -qa kernel\* | sort
kernel-devel-3.10.0-514.el7.x86_64
kernel-headers-3.10.0-514.26.1.el7.x86_64
kernel-tools-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.el7.x86_64
# 既存の削除
$ sudo yum -y remove \
kernel-devel-3.10.0-514.el7.x86_64 \
kernel-headers-3.10.0-514.26.1.el7.x86_64 \
kernel-tools-3.10.0-514.el7.x86_64 \
kernel-tools-libs-3.10.0-514.el7.x86_64
# 入れ直す
$ sudo yum -y update
$ sudo yum -y install kernel-ml.x86_64 \
kernel-ml-devel.x86_64 \
kernel-ml-headers.x86_64 \
kernel-ml-tools.x86_64 \
kernel-ml-tools-libs.x86_64
grub起動設定変更
ターミナル(vagrant)
$ sudo awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.12.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-8f08d29fc492488c8709392f7ebed506) 7 (Core)
※更新したいKernel 4.12.0が1行目にある
ターミナル(vagrant)
# 起動Kernel
$ sudo grub2-set-default 0
# 設定反映
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 再起動
$ sudo reboot
再起動後にバージョンを確認する
ターミナル(vagrant)
$ uname -r
4.12.0-1.el7.elrepo.x86_64
既存の kernel パッケージの削除
不要になった「3.10.0」を削除する
ターミナル(vagrant)
$ sudo yum remove kernel
・
・
・
=======================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=======================================================================
削除中:
kernel x86_64 3.10.0-514.el7 @anaconda 148 M
トランザクションの要約
=======================================================================
削除 1 パッケージ
インストール容量: 148 M
上記の処理を行います。よろしいでしょうか? [y/N] y
状況確認
ターミナル(vagrant)
$ rpm -qa kernel\* | sort
kernel-ml-4.12.0-1.el7.elrepo.x86_64
kernel-ml-devel-4.12.0-1.el7.elrepo.x86_64
kernel-ml-headers-4.12.0-1.el7.elrepo.x86_64
kernel-ml-tools-4.12.0-1.el7.elrepo.x86_64
kernel-ml-tools-libs-4.12.0-1.el7.elrepo.x86_64
結果
カーネルはバージョンアップできたが、GuestAdditionsがエラーで起動しなくなった・・・
Google先生に聞いてみると・・・どうやら4.12.0のカーネルに対応していない見たい・・・
vagrantで使うにはフォルダの同期ができないとちょっと困りものですね・・・
対応するまで待つしかないのかな?