産業用コンピュータのCentOSシステムのカーネルをアップグレードする3つの方法
CentOS を使用していると、カーネルのアップグレードは避けられませんが、ソースコードのコンパイル依存関係の問題により、すべてのプログラムが最新のカーネルバージョンをサポートしているとは限りません。そこで、以下ではカーネルをアップグレードする 3 つの方法を紹介します。
注記:
カーネルの種類について:
kernel-ml の ml は英語の [mainline stable] の略で、最新の安定版メインラインバージョンは elrepo-kernel に記載されています。
kernel-lt の lt は英語の [long term support] の略で、長期サポート版は elrepo-kernel に記載されています。
カーネルバージョンを確認してください
uname -r

目次
1. yumのインストール
1. リポジトリソースをインポートする
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. インストール可能なパッケージを表示する
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. インストールするMLバージョンまたはLTバージョンを選択します。
バージョンが指定されていない場合は、最新バージョンがデフォルトでインストールされます。
MLバージョンをインストール
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
LTバージョンをインストールし、すべてのK8Sに対してこれを選択してください
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. 現在のカーネル起動シーケンスを確認する
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. デフォルトの起動項目を変更する
xxxはシリアル番号であり、ブートリストのx番目の項目をブート項目として指定し、xは0から始まります。
grub2-set-default xxxx
例えば、カーネル4.4で起動するように設定したい場合
次に「grub2-set-default 0」と直接入力すると、次回起動時に4.4から開始できます。
カーネルの起動シーケンスを確認する
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
ブートシーケンス番号を設定します
[root@localhost ~] grub2-set-default 0
リブート
リブート
カーネルバージョンを確認してください
uname -r
2. RPMのインストール
カーネルバージョンを確認してください
uname -r
1. バージョンを探す
ELRepoのソースコードは最新バージョンであるため、古いバージョンのカーネルは手動でダウンロードするしかありません。
カーネルrpmの過去のバージョンを探す:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. 3種類のrpmファイルをダウンロードする必要があります
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. カーネルをインストールする
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
または
#ワンクリックですべてインストール
rpm -Uvh *.rpm
4. インストールされているカーネルのバージョンを確認します。
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64
5. 起動設定
起動順序を確認してください
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
ブート順序を設定します
[root@localhost ~]# grub2-set-default 0
再起動して有効にする
[root@localhost ~]# reboot
3. ソースコードのインストール
1. コアソフトウェアパッケージをインストールします。
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. カーネルコンパイルディレクトリを作成する
ホームディレクトリのkernelbuildディレクトリを使用してください。
mkdir ~/kernelbuild
3. カーネルのソースコードを入手する
清華大学のミラーサイト:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
その他のソースコードインストールパッケージのダウンロードアドレス:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
どちらの形式も使用可能ですが、tar.xzの方が圧縮率が高く、ファイルサイズも小さくなります。
オンラインダウンロード:wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. カーネルコードを解凍する
解凍後、ソースディレクトリに移動してください。
tar -xvJf linux-4.17.11.tar.xz
カーネルツリーが完全にクリーンであることを確認するには、カーネルディレクトリに移動して、make mrproper コマンドを実行します。
cd linux-4.17.11
きれいにして、mrproper を作りましょう
5. カーネル設定
現在のカーネル設定ファイルをコピーする
config-3.10.0-862.el7.x86_64 は私の現在の環境のカーネル設定ファイルです。実際の状況に応じて変更してください。
cp /boot/config-3.10.0-862.el7.x86_64.config
詳細設定
yは有効、nは無効、mは必要に応じて有効になります。
make menuconfig: 古いncursesインターフェースをnconfigに置き換えました。
make nconfig: 新しいコマンドラインncursesインターフェース
6. コンパイルとインストール
カーネルをコンパイルする
クアッドコアマシンをお持ちの場合は、xは8になります。
make -jx
カーネルをインストールします
カーネルをコンパイルした後、インストールします。警告: ここから先は、コマンドを実行するためにルート権限が必要です。そうでない場合は失敗します。
モジュールをインストールします
7. スタートアップの設定
起動シーケンスを確認する
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
ブート順序を設定する
[root@localhost ~]# grub2-set-default 0
再起動して有効にする
[root@localhost ~]# reboot
LET'S TALK ABOUT YOUR PROJECTS
- sinsmarttech@gmail.com
-
3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China
Our experts will solve them in no time.

ラックマウントPC
組み込みコンピューティング
産業用ポータブルコンピュータ
頑丈なタブレット
頑丈なノートパソコン
産業用パネルPC
頑丈なハンドヘルド
アドバンテック産業用PC