カーネルはオペレーティングシステムのコアです。 Linuxカーネルは、LinuxコンピュータオペレーティングシステムのモノリシックUnixライクなカーネルです。 Linux Torvaldsによって作成され、Ubuntu、CentOS、Debianを含むすべてのLinuxディストリビューションは、このカーネル(Linuxカーネル)に基づいています。
このチュートリアルでは、CentOS7カーネルを最新バージョンにアップグレードする方法を紹介します。 ELRepoリポジトリからプリコンパイルされたカーネルを使用します。デフォルトでは、CentOS7はカーネル3.10を使用します。このマニュアルでは、最新の安定したカーネルバージョン5.0.11をインストールします。
ELRepoとは
ELRepoは、Enterprise Linuxのコミュニティベースのリポジトリであり、RedHat Enterprise(RHEL)およびそれに基づくその他のディストリビューション(CentOS、Scientific、Fedora)をサポートしています。
ELRepoは、ファイルシステムドライバー、グラフィックドライバー、ネットワークドライバー、サウンドカードドライバー、Webカメラなどのハードウェアに関連するパッケージに重点を置いています。
私たちが行うこと:
- CentOS7のアップデートとアップグレード
- カーネルバージョンの確認
- ELRepoリポジトリを追加
- 新しいカーネルバージョンをインストールする
- Grub2を構成する
- 古いカーネルを削除する
カーネルをアップグレードする前に最初に行う必要があるのは、すべてのパッケージを最新バージョンにアップグレードすることです。以下のyumコマンドを使用して、リポジトリとすべてのパッケージを最新バージョンに更新します。
yum -y update
ここで、yumプラグインをインストールして、パッケージのインストールと更新を高速化します。
yum -y install yum-plugin-fastestmirror
CentOS 7システムが更新され、すべてのパッケージが最新バージョンにアップグレードされました。
このチュートリアルでは、デフォルトのカーネル3.10でCentOS7.6を使用します。以下のコマンドでCentOSのバージョンを確認してください。
cat /etc/redhat-release
cat /etc/os-release
以下のようにシステム情報を取得します。
カーネルのバージョンを確認するには、unameコマンドを使用することもできます。
uname -snr
そして、Linuxカーネルのバージョンとシステムアーキテクチャに関する結果が得られます。
新しいカーネルバージョンをインストールする前に、新しいリポジトリ(ELRepoリポジトリ)を追加する必要があります。
ELRepogpgキーをシステムに追加します。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
次に、rpmコマンドを使用して新しいELRepoリポジトリを追加します。
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
完了したら、システムで有効になっているすべてのリポジトリをチェックし、ELRepoがリストに含まれていることを確認します。
yum repolist
ELRepoリポジトリがCentOS7サーバーに追加されました。
このステップでは、ELRepoリポジトリから新しい最新のカーネルをインストールします。カーネルバージョン5.0.11-kernel.orgの最新の安定バージョンです。
以下のyumコマンドを使用してELRepoカーネルバージョンをインストールします。
yum --enablerepo=elrepo-kernel install kernel-ml
-enablerepo CentOSシステムで特定のリポジトリを有効にするオプションです。デフォルトでは、「elrepo」リポジトリは有効になっていますが、「elrepo-kernel」リポジトリでは有効になっていません。
以下のコマンドを使用して、システムで使用可能なすべてのリポジトリ、有効および無効のリポジトリを確認できます。
yum repolist all
CentOS 7リポジトリ、有効および無効のリポジトリを一覧表示します。
ステップ4では、新しいカーネル5.0.11をシステムにすでにインストールしています。次に、システムの起動時にロードするデフォルトのカーネルバージョンを構成する方法を説明します。
以下のawkコマンドを使用して、Grub2で利用可能なすべてのカーネルバージョンを確認してください。
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
3.10と5.0.11の2つのカーネルバージョンがあることがわかります。
次に、システムの起動時に実行されるデフォルトのカーネルを構成します。デフォルトとしてカーネル5.0を使用するので、以下のコマンドを使用して設定できます。
sudo grub2-set-default 0
0-上部のawkコマンドからのものです。カーネル5.0.11=0、およびカーネル3.10 =1。古いカーネルに戻したい場合は、grub2-set-defaultコマンドの値を1に変更できます。
次に、「gurb2-mkconfig」コマンドを使用してgrub2 configを生成し、サーバーを再起動します。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
サーバーに再度ログインして、現在のカーネルの使用状況を確認してください。
uname -snr
システムでカーネルバージョン5.0.11が使用されているという結果が得られます。
ステップ6-古いカーネルを削除する(オプション)
これはオプションの手順であり、空き容量を増やすのに役立ちます。このステップでは、CentOS7システムから古いカーネルを削除する方法を説明します。これは、サーバーに3つまたは5つを超えるカーネルバージョンがインストールされている場合に実行する必要があります。
この目的のために、リポジトリからyum-utilsユーティリティをインストールする必要があります。
yum install yum-utils
次に、以下のコマンドを使用して古いカーネルをクリーンアップします。
package-cleanup --oldkernels
以下の結果が得られた場合。
つまり、インストールされているカーネルバージョンは2つまたは3つだけです。 3つ以上のバージョンがインストールされている場合、コマンドはシステムから古いカーネルを自動的に削除します。
CentOS 7カーネルは、ELRepoカーネルバージョンを使用して最新の安定版に更新されました。