GNU/Linux >> Linux の 問題 >  >> Linux

さまざまなディストリビューションで Linux カーネルをアップグレードする方法 [チュートリアル]

カーネルは、あらゆるオペレーティング システムの中核です。 Linux をオペレーティング システムと呼び始める前に、基本的な概念と Linux の誕生の歴史を知っておく必要があります。 Linux はオペレーティング システムではありません。主に、Linux はカーネルです。それでは、カーネルとは何かを知りましょう。カーネルは、ハードウェアとソフトウェアの間で対話するプログラムです。システムにフラッシュ ドライブを挿入すると、カーネルはペン ドライブが接続されていることを検出します。 Linux はオープンソースのカーネルであるため、何をしているのかを知っていれば、Linux カーネルを更新、アップグレード、および置き換えることができます。

Linux カーネルとは?

CPU、メモリ、およびデバイスは、カーネルを介してオペレーティング システムと通信します。 Linux カーネルについて話しているので、すべての Linux ディストリビューションには 2 つのユーザー モードがあることに言及しなければなりません。 Linux ディストリビューションでは、ユーザー モードとカーネル モードを取得します。通常、標準ユーザー モード インターフェイスからカーネル モードにアクセスすることはできません。

カーネル モードにアクセスするためのルート権限を取得すると役立ちます。 PC を起動すると、スレッドで実行されるソフトウェアはありません。カーネルは何をすべきか、何をすべきでないかを決定します。カーネルは、どのアプリケーションがどれだけの RAM と CPU を取得するかを決定します。

Linux ディストリビューションでのカーネルのアップグレード

Linux カーネルのアップグレードは簡単ではありません。これは、セキュリティ エラーまたはハードウェアの相互作用の問題が見つかった場合にのみ行う必要があります。システムがクラッシュした場合、システム全体を回復しなければならない場合があります。ほとんどの場合、Linux ディストリビューションには最新のカーネルが付属しています。 Linux カーネルをアップグレードしても、以前のカーネルは削除されません。システム内に保持されます。

Linux システムの回復メニューから古いカーネルにロールバックできます。ただし、ハードウェアの問題またはセキュリティの問題のためにカーネルをアップグレードする必要がある場合があります。この投稿では、さまざまな Linux ディストリビューションでカーネルをアップグレードする方法について説明します。

現在のカーネル バージョンを知る

Linux カーネルのアップグレードを開始する前に、PC 内で実行されているカーネルの現在のバージョンを知っておく必要があります。このステップでは、Neofetch ツールを使用して、Linux カーネルの詳細とその他のシステム情報を確認します。

システムに Neofetch がインストールされていない場合は、Linux ディストリビューションに Neofetch をインストールする方法をご案内します。お使いのディストリビューションに応じて、Linux 端末で以下のコマンドラインを使用してください。

  • Debian / Ubuntu に Neofetch をインストール
sudo apt-get update
sudo apt-get install neofetch
  • Fedora に Neofetch をインストール
sudo dnf install neofetch
  • Red Hat / CentOS に Neofetch をインストール
sudo yum install neofetch
  • Arch および Arch ベースの Linux に Neofetch をインストールする
pacman -S neofetch

インストールが完了したら、Neofetch ツールを実行してカーネルのバージョンを確認できます。

$ neofetch

1. Ubuntu および Debian Linux でカーネルをアップグレードする

さまざまな Linux ディストリビューションには、Linux カーネルをアップグレードするためのさまざまな方法があります。 Debian および Ubuntu ベースの Linux ディストリビューションには、カーネルを更新およびアップグレードするために従うことができるいくつかの方法があります。ここでは、Debian Linux でカーネルをアップグレードするために従うことができる 5 つの方法を示します。

方法 1:dist upgrade を使用する カーネルをアップグレードする

Linux の更新コマンドとアップグレード コマンドに慣れているかもしれません。システム アップデータと apt-update を使用して、システム リポジトリを更新できます。 ターミナル シェルからコマンドを実行します。しかし、Dist のアップグレードは、システムとパッケージのアップグレード以上のものです。カーネル、ソフトウェア、およびその他のパッケージの依存関係をアップグレードします。次の dist-upgrade を実行できます Linux カーネルをアップグレードするためのコマンド

sudo apt-get dist-upgrade

フル アップグレード コマンドを実行することは、アップグレード プロセスを完了するために常に慎重に行う必要があります。

sudo apt full-upgrade

方法 2:システム アップデート マネージャーを強制する

すべての Linux システムには、OS 内に組み込みの Update Manager があります。システムを更新するためにアップデーターを何百万回も使用した可能性があります。しかし、Update Manager で Linux カーネルを強制的にアップグレードできることをご存知でしたか?ターミナル シェルで次のコマンドラインを実行して、アップデーターにアップグレードされた Linux カーネルを強制的にダウンロードしてインストールさせることができます。いくつかの追加パッケージをダウンロードする場合があります。

update-manager –d

方法 3:Ukuu ツールを使用する

Ukuu は、Linux ディストリビューションの公式リポジトリから最新の Linux カーネルをダウンロードしてインストールできる Linux ディストリビューション用のツールです。 Ubuntu の場合、https://kernel.ubuntu.com/ からカーネルをダウンロードします。

Ukuu ツールを使用して Linux カーネルをアップグレードするには、まず Linux システムに Ukuu ツールをインストールする必要があります。 PPA コマンドを使用して、システム リポジトリ内に Ukuu パッケージを追加します。

sudo apt-add-repository ppa:teejee2008/ppa

システムを更新して、Ukuu ツールをインストールしてください。

sudo apt-get update
sudo apt-get install ukuu

Ukuu がマシン内にインストールされると、root アクセスでターミナル シェルから Ukuu ツールを実行できます。 Ukuu ツールを起動すると、オペレーティング システムで利用可能な Linux カーネルのリストが表示されます。システム内にインストールするには、カーネルを選択する必要があります。

sudo ukuu-gtk

カーネルがアップグレードされたら、システムから Ukuu ツールを削除できます。 Ukuu ツールのインストールに問題が見つかった場合は、Ukuu チームがそのバージョンの Ukuu をサポートしていない可能性があります。ただし、Linux 用の Ukuu の有料バージョンを利用できます。有料版を使用して、Ubuntu Linux のカーネルをアップグレードできます。

方法 4:カーネルを手動でダウンロードしてインストールする

この方法では、Linux カーネルを Ubuntu カーネルの公式ストアから手動でダウンロードします。後で、システムにカーネル パッケージをインストールします。この方法は、これまでに示したすべての方法の中で最も危険な方法です。このメソッドを初期化する前に、すべてのシステムとデータのバックアップを作成してください。

目的の Linux カーネルをダウンロードするには、Ubuntu カーネル アーカイブに移動する必要があります。次のカーネル パッケージをカーネル メインラインからダウンロードします。完全なパッケージを作成するには、カーネル ヘッダーとカーネル バージョンをダウンロードする必要があります。理解を深めるために、ダウンロードする必要がある次のダミー パッケージ リストを参照してください。

linux-headers-VERSION-NUMBER_all.deb
linux-headers-VERSION-NUMBER_amd64.deb
linux-image-VERSION-NUMBER_amd64.deb
linux-image-extra-VERSION-NUMBER_amd64.deb

ダウンロードが完了したら、ディレクトリを開いてパッケージをインストールできます。すべてのパッケージが .deb にあるため dpkg を使用できます パッケージをインストールするためのツール。パッケージをインストールするには、次のコマンドラインを使用してください。

cd /path/to/directory/destination_path

次に、.deb をインストールします Debian システム上のカーネル パッケージ。

sudo dpkg -i *.deb

方法 5:メインライン ツールを使用して Linux カーネルをアップグレードする

この方法では、Ubuntu およびその他の Debian ディストリビューションで Mainline ツールを使用して Linux カーネルをアップグレードする方法を確認できます。まず、メインライン ツールをシステムにインストールする必要があります。次のコマンド ラインを使用して、メインライン リポジトリをシステムに追加します。次に Mainline ツールをインストールします。

sudo apt-add-repository -y ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

次の wget を使用してください コマンドを実行して、Ubuntu メインライン カーネル ディレクトリからカーネルをダウンロードします。

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh

ダウンロードにそれほど時間はかかりません。ダウンロードが完了したら、ターミナル シェルで次のコマンドラインを実行して、Ubuntu Linux に最新のカーネルをインストールします。

sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
ubuntu-mainline-kernel.sh -i

ここで、システムを再起動し、Linux ディストリビューションで利用可能なカーネル バージョンを確認します。カーネル インストーラーから目的の Linux カーネルをインストールできます。新しいカーネルをインストールするには、カーネルを選択し、インストール ボタンをクリックします。インストールが完了したら、デバイスを再起動して新しいカーネルをロードします。カーネルのバージョンをチェックして、カーネルがアップグレードされていることを確認できます。

カーネルのインストールが完了したら、Ubuntu システムからメインライン ツールを削除できます。以下のコマンドラインを使用して、メインライン ツールを Ubuntu Linux から削除します。

sudo add-apt-repository --remove ppa:cappelikan/ppa
sudo apt remove mainline

2. Red Hat および Fedora Linux でカーネルをアップグレードする

Fedora、Red Hat、および Red Hat ベースの Linux ディストリビューションのユーザーは、リポジトリからカーネルをダウンロードして、Linux カーネルを手動でアップグレードできます。ここでは、カーネルをアップグレードする一般的な方法を示します。 Red Hat Linux および CentOS ユーザーは yum コマンドを使用できます。一方、Fedora ユーザーは yum を置き換える必要があります。 DNF で 指図。残りのコマンド ラインは、両方のディストリビューションで同じです。

方法 1. 特定のバージョンのカーネルをインストールする

Fedora および Red Hat Linux ユーザーは、システムに特定のバージョンのカーネルをインストールできます。 Linux 端末で次のコマンドラインを実行して、特定のバージョンのカーネルを Linux システムにインストールできます。インストールが完了したら、システムを再起動して、Linux システムで目的のカーネルを取得します。

yum update kernel
yum install kernel-{version}

方法 2. RHEL および Fedora Linux でカーネルをアップグレードする

まず、システムに SysLinux ツールをインストールする必要があります。ほとんどの SysLinux は、Fedora および Red Hat Linux ディストリビューションにプリインストールされています。お使いのマシンでツールが見つからない場合は、次のコマンドを使用してインストールできます。

yum install syslinux

システムにカーネルを追加すると、カーネル名とバージョンがブート メニューに登録されます。ここで、ブート ローダー ディレクトリの SysLinux を構成します。次の syslinux を使用してください コマンドを使用して、ブート ローダー ディレクトリを構成します。私の場合、ブートディレクトリは sdb2 です;ディレクトリを自分のものに置き換える必要があります。

syslinux /dev/sdb2

ここで、カーネルを格納するディレクトリとマウント ポイントを作成します。 boot.iso をマウントすることを忘れないでください USB ディスク上のファイル。

mkdir /mnt/isoboot /mnt/diskboot
mount -o loop boot.iso /mnt/isoboot
mount /dev/sdb2 /mnt/diskboot

次に、次の cp を使用します コマンドを実行して、USB ディスク上のファイルをコピーし、パーティションをマウントします。

cp /mnt/isoboot/isolinux/* /mnt/diskboot

この段階では、次の grep を実行します。 isolinux からブート ローダー ファイルを実行するコマンド 構成スクリプト。次に、isoboot をマウントします。 diskboot 内のファイル ディレクトリ。ここでは、SysLinux ツールを使用して、ブートローダー メニューとともにカーネルをロードしています。

grep -v local /mnt/isoboot/isolinux/isolinux.cfg > /mnt/diskboot/syslinux.cfg
umount /mnt/isoboot /mnt/diskboot

システムを再起動する前に、Red Hat Linux システムにインストールされているすべてのカーネル リストを確認できます。

yum list installed "kernel-*"

次に、次の rpm を使用します コマンドを実行して、目的のバージョンの Linux カーネルをダウンロードします。古いカーネルを削除しないため、-i を使用します。 コマンドラインでの構文。新しいカーネルを削除してインストールする場合は、-u を使用できます。 -i の代わりに

rpm -ivh kernel-kernel_version.arch.rpm

次に、新しいカーネルがブート メニューに登録されているかどうかを確認します。

ls /boot

ここでは、Red Hat および Fedora Linux 用の最も一般的な Dracut ブート パッケージ インストーラーを使用します。 Dracut がカーネル イメージを作成します。

dracut "initramfs-$(uname -r).img" $(uname -r)

以前にダウンロードしたカーネル ファイルをシステム メモリにロードします。次の lsinitrd を使用してください initramfs イメージを呼び出すコマンド。

lsinitrd /boot/initramfs-3.10.0-78.el7.x86_64.img

次に、次の grep を実行します GRUB ロード プロセスを初期化するコマンド。 grub の読み込みエラーを避けるため、この手順は慎重に行ってください。

grep initramfs /boot/grub2/grub.cfg

次に、ブートローダーのリストを確認してください。

ls -l /boot/

次に、システムを再起動した後、Dracut ツールを使用してカーネル バージョンを選択します。システムに新しい更新されたカーネルを強制的に呼び出すことができます。次のコマンドは、カーネルとブート設定を再構成するのに役立ちます。

dracut --kver kernel_version --force

次に、以下のコマンドラインを使用して、カーネル パッケージとカーネル バージョンのショートリストを作成します。

lsinitrd
lsinitrd | grep etc/
lsinitrd -f /etc/sysctl.conf

次に、ターミナル シェルで次のコマンドラインを実行して、カーネル バージョンを定義します。

lsinitrd --kver 3.10.0-327.10.1.el7.x86_64 -f /etc/sysctl.conf

最後に、カーネルのアップグレード プロセスを完了するために、スクリプトの設定を少し行う必要があります。 default_kernel にする必要があります カーネルとしての値と update_default sysconfig のとおり ディレクトリ。 /etc/sysconfig/kernel を使用 構成ファイルを見つけるためのファイルシステム上のパス。以下に示すように値を変更します。

DEFAULTKERNEL=kernel
UPDATEDEFAULT=yes

すべてが正しく完了したら、Linux システムを再起動して、アップグレードされたカーネルを使い始めることができます。

3. Arch および Arch ベースの Linux でカーネルをアップグレードする

Arch および Arch ベースの Linux ディストリビューションには、さまざまな Linux カーネルがあります。 Arch Linux はセキュリティ パッチを定期的に更新しています。そのため、重要なカーネルとパッチの更新が Arch Linux で利用可能であることがわかります。ここでは、Arch Linux でカーネルをアップグレードする 2 つの方法について説明します。まず、更新とアップグレードの方法を使用します。後で、Arch Linux でカーネルを手動でアップグレードする方法について説明します。

方法 1:カーネルを更新してアップグレードする

Manjaro やその他の Arch Linux ディストリビューションは、多くの場合、従来の更新マネージャーを介してカーネルの更新とアップグレードを提供します。 Linux システムでシステム アップデーターを実行すると、最新のカーネルがチェックされます。次の pacman を使用できます コマンドを使用して、Arch Linux ディストリビューションの最新のカーネルを確認してください。

sudo pacman -Syu

新しいカーネルが見つかった場合は、ダウンロードしてインストールするよう通知されます。最新のカーネルを取得するかどうかを選択できます。インストールに同意したら、インストールの完了後にシステムを再起動します。次に、カーネルのバージョンをチェックして、カーネルがアップグレードされているかどうかを確認できます。

sudo reboot

方法 2:Arch Linux でカーネルを手動でアップグレードする

この方法では、Linux カーネルの公式 Web サイトから最新のカーネルを手動でダウンロードしてインストールする方法を説明します。この方法では、利用可能でサポートされているカーネルを Arch Linux にインストールできます。

まず、希望するバージョンのカーネルを Kernel.org のウェブサイトからダウンロードする必要があります。ファイルは圧縮ファイルとしてダウンロードされます。デフォルトでは、ファイルはファイル システムのダウンロード ディレクトリ内に保存されます。

次に、次のコマンドラインを使用してダウンロード ディレクトリを開き、ダウンロードしたファイルのリストを取得します。次に、tar コマンドを使用して圧縮ファイルを解凍します。ファイルが解凍されると、自動的にフォルダーが作成されます。フォルダー内にカーネル ファイルがあります。

cd Downloads/
ls
tar xvf linux-4.15.2.tar.xz

次に、次のコマンドラインを使用してカーネル ディレクトリに入ります。私の場合、カーネル ディレクトリの名前は linux-4.15.2 です。 、ダウンロードしたバージョンによって名前が異なる場合があります。

cd linux-4.15.2

次のコマンドラインを実行して ncurses を取得します GNU コンパイラ コレクション内のライブラリ ツール。後で Linux カーネルの構成スクリプトを編集するのに役立ちます。

sudo pacman -S ncurses make gcc bc openssl

次に、次の zcat を使用します コマンドを使用して、実行中の Linux カーネルから新しく作成されたカーネルに構成スクリプトを複製します。

zcat /proc/config.gz > .config

これで、Linux システム内で新しいカーネルのインストール プロセスを初期化できます。

make menuconfig

以下のコマンドラインを実行して、ロード可能なカーネル モジュールを Arch Linux にインストールします。

make
sudo make modules_install

cp を使用してください vmlinuz をコピーするコマンド 現在のカーネルから新しいカーネルへのファイル。 vmlinuz が必要です システム起動時にカーネルをロードするためのファイル。以下に 2 つのコマンドを示します。最初のコマンドは 32 ビットまたは 86 ビット システムのユーザー用で、最後のコマンドは 64 ビットの Linux ユーザー用です。

sudo cp -v arch/x86/boot/bzImage /boot/vmlinuz-4.15.2
sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-4.15.2

次の mkinitcpio を実行します Arch Linux で bash コマンドを実行して、RAM に一時ディレクトリを作成し、initramfs を保存します。

sudo mkinitcpio -k 4.15.2-ARCH -g /boot/initramfs-4.15.2.img

次に、次の cp を使用します コマンドを使用して、カーネル テーブルを新しいカーネルのディレクトリにコピーします。

sudo cp -v System.map /boot/System.map-4.15.2

ここで、ブート ディレクトリ内にカーネル マップを作成する必要があります。

sudo ln -sf /boot/System.map-4.15.2 /boot/System.map

次に、以下のコマンドラインを使用して GRUB をブート ディレクトリにインストールし、カーネルのアップグレード プロセスを終了します。

sudo grub-mkconfig -o /boot/grub/grub.cfg

すべてを正しく行ったら、Arch Linux を再起動します。ブートローダー メニューから、「Arch Linux の詳細オプション」を開きます。新しいカーネル用に新しいブートローダーが作成されていることがわかります。カーネルのバージョンを確認して、Arch Linux でカーネルがアップグレードされていることを確認することもできます。

sudo reboot
uname -r

追加のヒント:デフォルトのカーネルを更新する

デフォルトのカーネルを更新すると、Linux での小さな問題が解決する場合があります。ただし、ブート メニューから一般的なカーネル バージョンを確認することもできます。システムの Linux カーネルのみをアップグレードする必要がある場合は、Linux ターミナル シェルで次のコマンドを実行できます。

sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get upgrade linux-image-generic

終わりの言葉

混乱してカーネルに損傷を与えた場合でも、心配する必要はありません。現在のカーネルを削除し、ブート修復ツールを使用してカーネルと GRUB を再インストールできます。この記事全体で、Linux カーネルの基礎について説明しました。また、Debian、Fedora、Arch、および Red Hat Linux でカーネルをアップグレードする方法についても説明しました。

ブート、grub、およびその他のルート パーティション ファイルシステムに関する十分な知識がない場合、Linux でカーネルをアップグレードすることはお勧めしません。 Linux カーネルのアップグレード プロセスを完了するために、いくつかのツールとコマンド ラインを使用しました。カスタマイズされたカーネルを構築するには、これらのコマンドラインの基本的な考え方を理解しておくことが最善です。カーネルのいくつかの実験的およびベータ版も、さまざまな Linux ディストリビューションで利用できます。これらのサードパーティ カーネルは、自己責任でインストールしてください。

この投稿が有用で有益であると思われる場合は、友人や Linux コミュニティと共有してください。システムで現在使用しているカーネルのバージョンをお知らせください。この投稿に関する意見をコメント セクションに書いてください。


Linux
  1. Linuxデスクトップでカーネルをアップグレードする方法

  2. Linuxでカーネルバージョンを確認する方法

  3. Linux カーネルモジュールのコーディング方法は?

  1. Linuxカーネルモジュールをロードまたはアンロードする方法

  2. CentOS7でLinuxカーネルをアップグレードする方法

  3. LinuxでRをアップグレードするには?

  1. KaliLinuxをアップデートする方法

  2. LinuxMint20.3にアップグレードする方法

  3. Linux Mint 20にアップグレードする方法(Ulyana)