Linux 套件

若要將必要模組新增到 Linux 核心,安裝程式需要下列 Linux 套件:

  • 具有核心標頭或來源的套件。套件版本必須與核心版本相符。
  • GNU 編譯器集合 (GCC) 編譯器系統。GCC 版本必須是核心編譯時所用的版本。
  • Make 工具。
  • Perl 解譯器。
  • libelf-devlibelf-develelfutils-libelf-devel 程式庫從 4.15 開始可用於建置核心,並使用 CONFIG_UNWINDER_ORC=y 加以設定。至於 Fedora 28 之類的一些發行版,則需要與核心標頭分開安裝。

這些套件的名稱會視 Linux 發行版而有所不同。

在 Red Hat Enterprise Linux、CentOS 和 Fedora 中,套件一般會由安裝程式安裝。在其他發行版中,如果套件尚未安裝或並非所需的版本,則您需要安裝套件。

所需的套件是否已安裝?

若要查看套件是否已安裝,請執行以下步驟:

  1. 執行下列命令,找出核心版本和所需的 GCC 版本:

    cat /proc/version

    此命令會傳回與以下項目類似的命令列:Linux version 2.6.35.6gcc 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-develgcc 版本。如果可用的 kernel-devel 比您的核心更新,您需要更新核心或手動安裝相符的 kernel-devel 版本。
  • 必要的套件位於您的本機網路,且您不希望花時間自動搜尋與下載。

從您的區域網路或信任的第三方網站取得套件,並依下列方式安裝:

  • 在 Red Hat Enterprise Linux、CentOS 或 Fedora 中,以 root 使用者身分執行下列命令:

    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-develgcc 套件:

    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. 請以 root 使用者身分執行下列命令以安裝套件:

    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

    您可以在單一 rpm 命令中指定所有這些套件。安裝任一這些套件時,可能需要安裝額外的套件,以解決相依性問題。