Linux 套件
若要將必要模組新增到 Linux 核心,安裝程式需要下列 Linux 套件:
- 具有核心標頭或來源的套件。套件版本必須與核心版本相符。
- GNU 編譯器集合 (GCC) 編譯器系統。GCC 版本必須是核心編譯時所用的版本。
- Make 工具。
- Perl 解譯器。
libelf-dev
、libelf-devel
或elfutils-libelf-devel
程式庫從 4.15 開始可用於建置核心,並使用 CONFIG_UNWINDER_ORC=y 加以設定。至於 Fedora 28 之類的一些發行版,則需要與核心標頭分開安裝。
這些套件的名稱會視 Linux 發行版而有所不同。
在 Red Hat Enterprise Linux、CentOS 和 Fedora 中,套件一般會由安裝程式安裝。在其他發行版中,如果套件尚未安裝或並非所需的版本,則您需要安裝套件。
所需的套件是否已安裝?
若要查看套件是否已安裝,請執行以下步驟:
-
執行下列命令,找出核心版本和所需的 GCC 版本:
cat /proc/version
此命令會傳回與以下項目類似的命令列:
Linux version 2.6.35.6
與gcc version 4.5.1
-
執行下列命令,以檢查是否安裝了 Make 工具和 GCC 編譯器:
make -v
gcc -v若為 gcc,請確保該命令傳回的版本與步驟 1 中的
gcc version
相同若為 make,只需確保該命令確實執行。 -
檢查是否安裝了建立核心模組所需的適當套件版本:
-
在 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
相同。 -
-
執行下列命令以檢查是否已安裝 Perl 解譯器:
perl --version
如果您看到關於 Perl 版本的資訊,則表示解譯器已安裝。
-
在 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 |
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 中,以 root 使用者身分執行下列命令:
rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
-
在 Ubuntu 中,執行下列命令:
sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
範例:在 Fedora 14 中手動安裝套件
依照這些步驟,在 32 位元電腦上於 Fedora 14 中安裝所需的套件:
-
執行下列命令,以判斷核心版本和所需的 GCC 版本:
cat /proc/version
此命令的輸出包括下列項目:
Linux version 2.6.35.6-45.fc14.i686
gcc version 4.5.1 -
取得對應到此核心版本的 kernel-devel 和 gcc 套件:
kernel-devel-2.6.35.6-45.fc14.i686.rpm
gcc-4.5.1-4.fc14.i686.rpm -
取得適用於 Fedora 14 的 make 套件:
make-3.82-3.fc14.i686
-
請以 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
命令中指定所有這些套件。安裝任一這些套件時,可能需要安裝額外的套件,以解決相依性問題。