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
oelfutils-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:
-
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
egcc version 4.5.1
-
Eseguire il seguente comando per controllare se lo strumento Make e il compilatore GCC sono installati:
make -v
gcc -vPer 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. -
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. -
-
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.
-
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 |
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 |
Il programma di installazione scaricherà e installerà i pacchetti automaticamente. |
perl |
Lanciare il seguente comando: yum install perl |
|
Ubuntu Debian |
linux-headers |
Eseguire i seguenti comandi: sudo apt-get update |
SUSE Linux OpenSUSE |
kernel-source |
sudo zypper install kernel-source |
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:
-
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 -
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 -
Ottenere il pacchetto make per Fedora 14:
make-3.82-3.fc14.i686
-
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.