ウェブサイト検索

最新のカーネル 5.0 を Ubuntu にインストールする方法


新しいデバイスやテクノロジーは定期的に登場しますが、それを最大限に活用するには、Linux システム カーネルを最新の状態に保つことが重要です。

さらに、システム カーネルを更新すると、新しいカーネル機能を利用しやすくなり、以前のバージョンで見つかった脆弱性から身を守ることもできます。

推奨読書: CentOS 7 でカーネルをアップグレードする方法

Ubuntu や Debian、あるいは Linux Mint などの派生製品の 1 つでカーネルを更新する準備はできていますか?もしそうなら、読み続けてください!

インストールされているカーネルのバージョンを確認する

システムにインストールされているカーネルの現在のバージョンを確認するには、次のようにします。

uname -sr

以下は、Ubuntu 18.04 サーバーでの上記のコマンドの出力を示しています。

Linux 4.15.0-42-generic

Ubuntuサーバーでのカーネルのアップグレード

Ubuntu でカーネルをアップグレードするには、http://kernel.ubuntu.com/~kernel-ppa/mainline/ にアクセスし、目的のバージョンを選択します (カーネル 5.0 は、執筆時点で最新) をクリックしてリストから選択します。

次に、wget コマンドを使用して、システム アーキテクチャに応じた .deb ファイルをダウンロードします。

32 ビット システム用の Linux カーネルをダウンロード

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb

64 ビット システム用 Linux カーネルをダウンロード

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb

上記のカーネル ファイルをすべてダウンロードしたら、次のようにインストールします。

sudo dpkg -i *.deb
サンプル出力
(Reading database ... 140176 files and directories currently installed.)
Preparing to unpack linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb ...
Unpacking linux-headers-5.0.0-050000 (5.0.0-050000.201903032031) over (5.0.0-050000.201903032031) ...
Preparing to unpack linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb ...
Unpacking linux-headers-5.0.0-050000-generic (5.0.0-050000.201903032031) over (5.0.0-050000.201903032031) ...
Preparing to unpack linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb ...
Unpacking linux-image-unsigned-5.0.0-050000-generic (5.0.0-050000.201903032031) over (5.0.0-050000.201903032031) ...
Selecting previously unselected package linux-modules-5.0.0-050000-generic.
Preparing to unpack linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb ...
Unpacking linux-modules-5.0.0-050000-generic (5.0.0-050000.201903032031) ...
Setting up linux-headers-5.0.0-050000 (5.0.0-050000.201903032031) ...
Setting up linux-headers-5.0.0-050000-generic (5.0.0-050000.201903032031) ...
Setting up linux-modules-5.0.0-050000-generic (5.0.0-050000.201903032031) ...
Setting up linux-image-unsigned-5.0.0-050000-generic (5.0.0-050000.201903032031) ...
Processing triggers for linux-image-unsigned-5.0.0-050000-generic (5.0.0-050000.201903032031) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.0.0-050000-generic
/etc/kernel/postinst.d/x-grub-legacy-ec2:
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-4.15.0-42-generic
Found kernel: /boot/vmlinuz-4.15.0-29-generic
Found kernel: /boot/vmlinuz-5.0.0-050000-generic
Found kernel: /boot/vmlinuz-4.15.0-42-generic
Found kernel: /boot/vmlinuz-4.15.0-29-generic
Replacing config file /run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done

/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-050000-generic
Found initrd image: /boot/initrd.img-5.0.0-050000-generic
Found linux image: /boot/vmlinuz-4.15.0-42-generic
Found initrd image: /boot/initrd.img-4.15.0-42-generic
Found linux image: /boot/vmlinuz-4.15.0-29-generic
Found initrd image: /boot/initrd.img-4.15.0-29-generic
done

インストールが完了したら、マシンを再起動し、新しいカーネル バージョンが使用されていることを確認します。

uname -sr

以上です。現在、Ubuntu でデフォルトでインストールされているカーネル バージョンよりもはるかに新しいカーネル バージョンを使用しています。

まとめ

この記事では、Ubuntu システムで Linux カーネルを簡単にアップグレードする方法を説明しました。さらに別の手順がありますが、ソースからカーネルをコンパイルする必要があるため、ここでは示していませんが、実稼働 Linux システムでは推奨されていません。

学習体験としてカーネルをコンパイルすることにまだ興味がある場合は、「カーネル初心者」ページでその方法についての説明を参照してください。

いつものように、この記事に関してご質問やコメントがございましたら、お気軽に以下のフォームをご利用ください。