Pacchetti di Linux

Per aggiungere i moduli necessari al kernel Linux, il programma di installazione richiede i seguenti pacchetti Linux:

  • Il pacchetto con le sorgenti o intestazioni del kernel. La versione del pacchetto deve corrispondere alla versione del kernel.
  • Il sistema del compilatore GNU Compiler Collection (GCC). La versione di GCC deve essere quella con cui è stato compilato il kernel.
  • Lo strumento Make.
  • L'interprete Perl.
  • Le librerie libelf-dev, libelf-devel o elfutils-libelf-devel per creare kernel che iniziano con 4.15 e sono configurati con CONFIG_UNWINDER_ORC=y.Per alcune distribuzioni, come Fedora 28, devono essere separate in modo distinto dalle intestazioni del kernel.

I nomi di questi pacchetti variano a seconda della distribuzione di Linux.

In Red Hat Enterprise Linux, CentOS e Fedora, i pacchetti normalmente saranno installati dal programma di installazione. In altre distribuzioni, è necessario installare i pacchetti se non sono installati o se non hanno la versione richiesta.

I pacchetti richiesti sono già installati?

Per controllare se i pacchetti sono già installati, eseguire questi passaggi:

  1. Eseguire il seguente comando per rilevare la versione del kernel e la versione di GCC richiesta:

    cat /proc/version

    Questo comando restituisce righe simili alla seguente: Linux version 2.6.35.6 e gcc version 4.5.1

  2. Eseguire il seguente comando per controllare se lo strumento Make e il compilatore GCC sono installati:

    make -v
    gcc -v

    Per gcc, verificare che la versione restituita dal comando sia la stessa restituita da gcc version nel passaggio 1. Per make, verificare che il comando sia eseguito.

  3. Controllare se la versione appropriata dei pacchetti per la creazione dei moduli del kernel è installata:

    • In Red Hat Enterprise Linux, CentOS e Fedora, eseguire il seguente comando:

      yum list installed | grep kernel-devel
    • In Ubuntu, eseguire i seguenti comandi:

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

    In entrambi i casi, assicurarsi che le versioni del pacchetto siano le stesse della Linux version nel passaggio 1.

  4. Eseguire il seguente comando per verificare che l'interprete Perl sia installato:

    perl --version

    Se vengono visualizzate le informazioni relative alla versione di Perl, l'interprete è installato.

  5. In Red Hat Enterprise Linux, CentOS e Fedora, eseguire il seguente comando per verificare che elfutils-libelf-devel sia installata:

    yum list installed | grep elfutils-libelf-devel

    Se vengono visualizzate le informazioni relative alla versione della libreria, questa è installata.

Installazione di pacchetti dal repository

La seguente tabella elenca le modalità di installazione dei pacchetti richiesti in diverse distribuzioni Linux.

Distribuzione Linux Nome del pacchetto Come eseguire l'installazione
Red Hat Enterprise Linux

kernel-devel
gcc
make
elfutils-libelf-devel

Il programma di installazione scaricherà e installerà i pacchetti automaticamente utilizzando l'abbonamento Red Hat.

perl

Lanciare il seguente comando:

yum install perl

CentOS

Fedora

kernel-devel
gcc
make
elfutils-libelf-devel

Il programma di installazione scaricherà e installerà i pacchetti automaticamente.

perl

Lanciare il seguente comando:

yum install perl

Ubuntu

Debian

linux-headers
linux-image
gcc
make
perl

Eseguire i seguenti comandi:

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-<versione pacchetto>
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

I pacchetti verranno scaricati dal repository della distribuzione e installati.

Per altre distribuzioni Linux, fare riferimento alla documentazione della distribuzione relativa ai nomi esatti dei pacchetti richiesti e ai modi per installarli.

Installazione manuale dei pacchetti

Potrebbe essere necessario installare i pacchetti manualmente se:

  • La macchina non dispone di un abbonamento Red Hat attivo o di una connessione a Internet.
  • Il programma di installazione non è grado di trovare la versione di kernel-devel o gcc corrispondente alla versione del kernel. Se il kernel-devel disponibile e più recente del kernel in uso, è necessario aggiornare il kernel o installare manualmente la versione corrispondente di kernel-devel.
  • I pacchetti richiesti sono disponibili nella rete locale e non si vuole perdere tempo con la ricerca automatica e il download.

Scaricare i pacchetti dalla rete locale o da un sito Web di terze parti affidabile e installarli come indicato di seguito:

  • In Red Hat Enterprise Linux, CentOS o Fedora, eseguire il seguente comando come utente root:

    rpm -ivh PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3
  • In Ubuntu, eseguire il seguente comando:

    sudo dpkg -i PACKAGE_FILE1 PACKAGE_FILE2 PACKAGE_FILE3

Esempio: Installazione manuale dei pacchetti in Fedora 14

Seguire questi passaggi per installare i pacchetti richiesti in Fedora 14 su una macchina a 32 bit:

  1. Eseguire il seguente comando per determinare la versione del kernel e la versione di GCC richiesta:

    cat /proc/version

    L'output di questo comando include quanto segue:

    Linux version 2.6.35.6-45.fc14.i686
    gcc version 4.5.1
  2. Ottenere i pacchetti kernel-devel e gcc che corrispondono a questa versione del kernel:

    kernel-devel-2.6.35.6-45.fc14.i686.rpm
    gcc-4.5.1-4.fc14.i686.rpm
  3. Ottenere il pacchetto make per Fedora 14:

    make-3.82-3.fc14.i686
  4. Installare i pacchetti eseguendo i seguenti comandi come utente 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

    È possibile specificare tutti questi pacchetti in un unico comando rpm. L'installazione di questi pacchetti potrebbe richiedere l'installazione di pacchetti aggiuntivi per risolvere le dipendenze.