前回、CentOSのバージョンを7から8に変更しました。
それに合わせて、カーネルのバージョンも3.10から4.18に変更しなければなりませんでしたが、CentOS 8へのアップグレード時のコマンドでは上手くいかず、個別にインストールして起動するカーネルのバージョンを切り替えることにしました。
今回は、CentOS 7をCentOS 8にアップグレードする方法をご紹介します。ググってみると、いくつものサイトでいかにも簡単そうにコマンドを書いていますが、著者の場合は、そのまま実行しても上手くアップグレードできませんでした。
結果的にそれらの課題を解決したの... CentOS 7から8にアップグレードする方法(3つの問題を解決) - Minory |
カーネルをアップデートする方法
リポジトリを登録
まずは、ELRepoのリポジトリを登録します。
著者の場合はCentOS 8ですので、以下のようになります。
rpm --import
yum install
ELRepoの最新のリポジトリはこちらから。
ELRepo : HomePage
カーネルのインストール
新しいカーネルのインストール時には、長期サポート版(LTS)と最新安定版の2種類から選択することができます。
長期サポート版(Long Term Support)をインストール
yum --enablerepo=elrepo-kernel install kernel-lt
最新安定版(Mainline Stable)をインストール
yum --enablerepo=elrepo-kernel install kernel-ml
末尾のkernel-lt
とkernel-ml
の違いだけです。
どちらか選んでインストールしてください。
著者がインストールした時点では、長期サポート版が4.18で、最新安定版が5系でした。
いきなり3系から5系にするのは少し不安でしたので、CentOS 8で標準の長期サポート版にしました。
2019年9月24日に CentOS 8 がリリースされます。 RedHat Enterprise Linux 8 の情報を元に、CentOS 8 で想定される変更点をまとめました。 PHP や MySQL といったミド...
CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設... - サーバー構築と設定 ~初心者にも分かりやす...
デフォルトで起動するカーネルを変更
カーネルをインストール後、再起動するだけで完成という訳ではありません。
一応、再起動に新しくインストールしたカーネルを選択しますが、何も設定しなければ今後も再起動する度に毎回選択しなければなりません。
例えば、起動時に選択する事を忘れたり、ESXiで自動起動の設定をしている場合などは不便ですね。
そこで、デフォルトで起動するカーネルを設定してあげます。
起動できるカーネルの順番を確認する
デフォルトで起動するカーネルを設定するには、その(新しくインストールした)カーネルの番号を調べる必要があります。
以下のように、起動時の画面で番号を確認することもできますが(上から0、1、2、3・・・)、
出典:@IT
上記でインストールした長期サポート版(4系)のカーネルで起動ている場合、以下のコマンドでも確認することができます。
grep "^menuentry" /boot/grub2/grub.cfg
実行結果は以下のようになります。
menuentry 'CentOS Linux (4.18.4-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-862.3.2.el7.x86_64-advanced-8c1540fa-e2b4-407d-bcd1-59848a73e463' {
menuentry 'CentOS Linux (3.10.0-862.3.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-862.3.2.el7.x86_64-advanced-8c1540fa-e2b4-407d-bcd1-59848a73e463' {
menuentry 'CentOS Linux (0-rescue-b30d0f2110ac3807b210c19ede3ce88f) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-b30d0f2110ac3807b210c19ede3ce88f-advanced-8c1540fa-e2b4-407d-bcd1-59848a73e463' {
番号は1番上から0、1、2、3・・・という具合になります。
ですので、設定する番号は「0」だということがわかりました。
ちなみに、最新安定版(5系)で起動している場合は、grep
する対象を以下に変えてください。
grep "^menuentry" /boot/efi/EFI/centos/grub.cfg
デフォルトで起動するカーネルの設定
番号さえわかれば、設定するのは簡単です!
grub2-set-default
コマンドを使用して、先程の番号を指定してあげるだけの1行で済みます。
grub2-set-default 0
ちなみに、正しく設定されたか確認する方法は、以下のコマンドです。
grub2-editenv list
このように、値に設定した番号が表示されればOKです。
saved_entry=0
あとは再起動して、いつもの
uname -a
もしくは
uname -r
コマンドで、カーネルのバージョンが正しく設定されていることが確認できれば完了です。
参考サイト(引用)
CentOS7でのyumを使ったカーネルのアップデート方法を、初めての人でもわかるように詳しくまとめています。
【初心者向け】カーネルアップデートの方法【CentOS7】 - Hacker's High
Hacker’s Highさん、とても丁寧な解説ありがとうございます!
大変参考になりました!
- Original:https://minory.org/update-kernel.html
- Source:Minory
- Author:管理者