GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare gli header del kernel su Debian

Le intestazioni del kernel contengono il file di intestazione C per il kernel Linux, che fornisce le numerose funzionalità e definizioni della struttura necessarie durante la compilazione di qualsiasi codice che si interfaccia con il kernel, come i driver di dispositivo o i moduli del kernel e alcuni altri programmi utente.

In generale, le intestazioni del kernel Linux sono componenti abitualmente utilizzati per compilare driver e moduli caricabili che aggiungono supporto al kernel. È anche fondamentale far luce sul fatto che le intestazioni del kernel fanno parte del kernel, nonostante siano distribuite separatamente.

Un'altra cosa fondamentale da notare è che il pacchetto delle intestazioni del kernel deve corrispondere alla versione del kernel attualmente installata sul sistema. Supponiamo di avere la versione del kernel con l'installazione della distribuzione predefinita, o di aver aggiornato il kernel tramite dpkg o apt package manager dai repository di base Debian. In tal caso, è necessario impostare le intestazioni del kernel corrispondenti utilizzando solo il gestore pacchetti. D'altra parte, se hai compilato il kernel dai sorgenti, dovresti anche impostare gli header del kernel dai sorgenti.

Dopo aver esaminato questa informazione, rivolgiamo ora la nostra attenzione alla parte centrale dell'articolo, che spiegherà come installare le intestazioni kernal in Linux, in particolare la distribuzione Debian Linux usando il gestore di pacchetti predefinito.

Come installare gli header del kernel in Debian

Passaggio 1: Per prima cosa, prima di avviare le cose, devi accedere come utente root eseguendo il seguente comando:

su

Successivamente, inserisci la password del tuo PC e dovresti aver effettuato l'accesso come utente root, come mostrato nell'istantanea sopra.

Passaggio 2: Successivamente, procederemo controllando la versione del kernel già installata e il pacchetto di intestazione che corrisponde alla versione del tuo kernel utilizzando i seguenti comandi:

uname -r

apt search linux-headers-$(uname -r)

Passaggio 3: È possibile accedere a tutti i file di intestazione del kernel in /usr/src directory su Debian e le sue derivate. Hai anche la flessibilità di verificare se le intestazioni del kernel corrispondenti per le tue versioni del kernel sono già installate sul tuo sistema o se non usano il comando successivo:

ls -l /usr/src/linux-headers-$(uname -r)

Dall'output sopra, è vero che la directory dell'intestazione del kernel corrispondente non esiste, il che significa che il pacchetto non è ancora installato.

Passaggio 4: Prima di installare le intestazioni del kernel, assicurati di aggiornare l'elenco degli indici del tuo pacchetto per ottenere le informazioni sulle ultime versioni usando il seguente comando:

sudo apt update

Passaggio 5: Dopo aver eseguito il comando update, dovresti essere avvisato se ci sono pacchetti che necessitano di un aggiornamento. Se ce ne sono, esegui il comando seguente; altrimenti salta questa parte.

sudo apt upgrade

Passaggio 6: Quindi procedi ed esegui il comando seguente per installare il pacchetto di intestazioni del kernel Linux per la tua versione del kernel

sudo apt install linux-headers-$(uname -r)

Nota: Ti verrà chiesto di confermare la tua decisione di procedere con l'installazione ad un certo punto durante l'installazione. Tutto quello che devi fare è digitare "y/Y" e premi "Invio" o premi il pulsante "Invio" solo il pulsante e dovrebbe funzionare.

Passaggio 7: Quindi, vai avanti e controlla se hai installato i kernel corrispondenti sul tuo sistema utilizzando il seguente comando:

ls -l /usr/src/linux-headers-$(uname -r)

Per elencare tutte le intestazioni disponibili, esegui il comando seguente:

sudo apt search linux-headers

Quindi, dopo aver utilizzato Debian 11 x64 o il secondo metodo per trovare l'intestazione, puoi in alternativa eseguire il comando seguente per installare l'intestazione.

sudo apt install linux-headers-5.10.0-10-amd64

Domande frequenti sulle intestazioni di Linux

Dove sono gli header Linux?

Linux-headers è un pacchetto che fornisce le intestazioni del kernel Linux. Questi fanno parte del kernel nonostante siano spediti separatamente. Si interfacciano tra i componenti interni, lo spazio utente e il kernel.

Hai bisogno di intestazioni Linux?

Hai bisogno delle intestazioni di Linux quando prevedi di sviluppare e compilare sulla tua macchina installata, Debian. Se, ad esempio, costruisci un'appliance dedicata a un'attività particolare, probabilmente non sei disposto a compilarla. Supponiamo di dover compilare la tua app; lo farai su un sistema diverso.

Come visualizzare le intestazioni in Unix

Usiamo od -bc {nomefile} | testa  per guardare l'intestazione di un file binario. Visualizza anche il lavoro, ma è naturalmente meglio vedere l'output direttamente sulla riga di comando.

Come sapere se gli header del kernel sono installati

Puoi aprire il Software Center o il synaptic e assicurarti che il pacchetto "Linux-headers-generic" sia installato. Quel pacchetto è contrassegnato in base alle intestazioni per l'ultima versione del kernel disponibile in modo che inserirà un altro pacchetto o due specificamente per te.

Devi mantenere le intestazioni del kernel sincronizzate con la tua versione del kernel?

La risposta è no. Puoi avere una versione più recente delle intestazioni di Linux rispetto al tuo binario del kernel in esecuzione. Ad esempio, se hai la configurazione del kernel 4.1, puoi avere Linux-headers 4.4. Se compili il tuo Glibc con queste intestazioni più recenti e successivamente aggiorni al kernel 4.4, sarai in grado di utilizzare le nuove funzionalità di questo kernel senza ricompilare Glibc.

Perché abbiamo bisogno di intestazioni in Linux?

I file di intestazione spiegano un'interfaccia:specificano come vengono definite le funzioni nel file di origine. Vengono utilizzati in modo che un compilatore possa verificare se l'utilizzo di una funzione è accurato poiché la firma della funzione (valore restituito e parametro) è presente nel file di intestazione.

Pensieri finali

Come puoi vedere, l'installazione delle intestazioni del kernel Linux su Debian è semplicissima per qualsiasi utente di livello Linux, sia esso un principiante, un intermediario o un esperto. Inoltre, qualsiasi utente di livello Linux dovrebbe almeno conoscere la funzionalità delle intestazioni del kernel e come installarle. Devi anche essere appassionato delle intestazioni del kernel che scarichi poiché dovrebbero essere compatibili con il tuo sistema, non solo l'architettura ma anche la versione. Inoltre, tieni presente che avrai bisogno delle intestazioni del kernel Linux per compilare un modulo del kernel.


Debian
  1. Come installare Debian 10 (Buster)

  2. Come installare Python 3.9 su Debian 10

  3. Come installare Memcached su Debian 10

  4. Come installare TeamViewer su Debian 10

  5. Come installare Git su Debian 9

Come installare Skype su Debian 9

Come installare R su Debian 10

Come installare Debian 11

Come installare Vai su Debian 10

Come installare Linux Kernel 5.15 su Debian 11

Come installare Vai su Debian