Linuxパッケージ

必要なモジュールを Linuxカーネルに追加するには、セットアッププログラムに次の Linuxパッケージが必要です。

  • カーネルのヘッダーまたはソースを持つパッケージ。パッケージのバージョンは、カーネルのバージョンに一致している必要があります。
  • GNU コンパイラ コレクション(GCC)コンパイラ システム(GCCはカーネルがコンパイルされたバージョンである必要があります)
  • makeツール
  • perlインタプリタ。
  • 4.15以降で、CONFIG_UNWINDER_ORC=yで設定される、カーネルのビルドのためのlibelf-devlibelf-devel、またはelfutils-libelf-develライブラリ。Fedora 28など一部のディストリビューションでは、カーネルのヘッダーとは別にインストールする必要があります。

これらのパッケージの名前は、Linux ディストリビューションによって異なります。

Red Hat Enterprise Linux、CentOS、および Fedora では、通常、パッケージはセットアッププログラムによってインストールされます。その他のディストリビューションで、パッケージがインストールされていない場合や、必要なバージョンがインストールされていない場合は、パッケージをインストールする必要があります。

必要なパッケージが既にインストールされていることを確認

パッケージが既にインストールされていることを確認するには、次の手順を実施します。

  1. カーネルのバージョンと必要な GCCバージョンを確認するには、次のコマンドを実行します。

    cat /proc/version

    このコマンドにより、次のような行が返されます。Linux version 2.6.35.6およびgcc version 4.5.1

  2. makeツールと GCC コンパイラがインストールされているかどうかを確認するには、次のコマンドを実行します。

    make -v
    gcc -v

    gccの場合、コマンドによって返されるバージョンが手順1のgcc versionと同じであることを確認します。makeについては、コマンドが実行されることを確認します。

  3. カーネルモジュールを作成するパッケージの適切なバージョンがインストールされているかどうかを確認します。

    • Red Hat Enterprise Linux、CentOS、および Fedora で次のコマンドを実行します。

      yum list installed | grep kernel-devel
    • Ubuntu の場合、次のコマンドを実行します。

      dpkg --get-selections | grep linux-headers
      dpkg --get-selections | grep linux-image

    どちらの場合でも、パッケージのバージョンが手順1のLinux versionと同じであることを確認します。

  4. 次のコマンドを実行して、perl インタプリタがインストールされているかどうか確認します。

    perl --version

    perl のバージョンに関する情報が表示された場合、インタプリタはインストールされています。

  5. Red Hat Enterprise Linux、CentOS、およびFedoraでは、次のコマンドを実行してelfutils-libelf-develがインストールされているかどうかを確認します。

    yum list installed | grep elfutils-libelf-devel

    ライブラリのバージョンに関する情報が表示される場合、ライブラリはインストールされています。

レポジトリからのパッケージのインストール

次の表では、さまざまな Linux ディストリビューションで必要なパッケージをインストールする方法について説明します。

Linuxディストリビューション パッケージ名 インストール方法
Red Hat Enterprise Linux

kernel-devel
gcc
make
elfutils-libelf-devel

セットアップ プログラムは、Red Hatのサブスクリプションを使用して、自動的にパッケージをダウンロードしてインストールします。

perl

次のコマンドを実行します。

yum install perl

CentOS

Fedora

kernel-devel
gcc
make
elfutils-libelf-devel

セットアップ プログラムは、自動的にパッケージをダウンロードしてインストールします。

perl

次のコマンドを実行します。

yum install perl

Ubuntu

Debian

linux-headers
linux-image
gcc
make
perl

次のコマンドを実行します。

sudo apt-get update
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install linux-image-$(uname -r)
sudo apt-get install gcc-<package version>
sudo apt-get install make
sudo apt-get install perl

SUSE Linux

OpenSUSE

kernel-source
gcc
make
perl

sudo zypper install kernel-source
sudo zypper install gcc
sudo zypper install make
sudo zypper install perl

パッケージはディストリビューションのレポジトリからダウンロードされ、インストールされます。

他の Linux ディストリビューションについては、必要なパッケージの正確な名前およびインストール方法に関してディストリビューションのドキュメントを参照してください。

手動のパッケージインストール

次の場合には、パッケージを手動でインストールする必要があります。

  • コンピュータに Red Hatの有効なサブスクリプションまたはインターネット接続がない場合。
  • プログラムの設定がカーネルのバージョンに対応するkernel-develまたはgccバージョンを見つけることができない場合。利用できるkernel-develがご使用のカーネルより新しい場合は、カーネルをアップデートするか一致するkernel-develバージョンを手動でインストールする必要があります。
  • 必要なパッケージが既にローカル ネットワークにあるため、自動的な検索とダウンロードに時間をかけないようにする場合。

ローカル ネットワークまたは信頼されているサードパーティのウェブ サイトからパッケージを入手して、次のようにインストールします。

  • Red Hat Enterprise Linux、CentOS、または Fedora で、ルートユーザーとして次のコマンドを実行します。

    rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
  • Ubuntu の場合は、次のコマンドを実行します。

    sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3

例:Fedora 14にパッケージを手動でインストールする

32 ビットコンピュータの Fedora 14 に必要なパッケージをインストールするには、次の手順に従います。

  1. カーネルのバージョンと必要な GCC バージョンを確認するには、次のコマンドを実行します。

    cat /proc/version

    このコマンドの出力には、次の内容が含まれます。

    Linux version 2.6.35.6-45.fc14.i686
    gcc version 4.5.1
  2. このカーネルのバージョンに対応するkernel-develおよびgccパッケージを取得します。

    kernel-devel-2.6.35.6-45.fc14.i686.rpm
    gcc-4.5.1-4.fc14.i686.rpm
  3. Fedora 14用のmakeパッケージを取得します。

    make-3.82-3.fc14.i686
  4. ルートユーザーとして次のコマンドを実行して、パッケージをインストールします。

    rpm -ivh kernel-devel-2.6.35.6-45.fc14.i686.rpm
    rpm -ivh gcc-4.5.1.fc14.i686.rpm
    rpm -ivh make-3.82-3.fc14.i686

    これらすべてのパッケージは、1つのrpmコマンドで指定できます。インストールするこれらのパッケージの一部では、依存性を解決するために、追加パッケージのインストールが必要になることがあります。