Como instalar headers (cabeçalhos) do kernel do Linux no Debian em 6 Passos?

 


Antes de tudo, vamos definir em poucas palavras o que é o kernel.

No contexto computacional o kernel é o núcleo de um sistema operacional. É a parte central que tem o papel de gerenciar os recursos do computador: dispositivos de entrada e saída, memória etc., e atua como intermediário entre o hardware e o software.

Para além de intermediar a comunicação entre os recursos físicos e não físicos, o kernel executa tarefas de baixo nível e fornece para outros sistemas os serviços essenciais para o seu funcionamento correto.

Sendo um gerenciador dos recursos computacionais, o kernel é modular e pode ser configurável, permitindo que os usuários adaptam o sistema operacional de acordo com as suas necessidades. Nesta ideia de ser gerenciável, em alguns sistemas operacionais GNU/Linux os cabeçalhos do kernel Linux vem por padrão sem configuração, deixando a critério do usuário efetuar a sua instalação e/ou configuração.

Os cabeçalhos do kernel contêm o arquivo de cabeçalho escrito em C para o kernel do Linux, oferece diversas funcionalidades e definições de estrutura necessárias para a compilação de qualquer código fonte que interaja com o kernel, como drivers de dispositivos ou módulos do kernel e outros programas do usuário.

Podemos ainda dizer que, os cabeçalhos do kernel do Linux são componentes frequentemente usados para compilar drivers e módulos carregáveis que adicionam suporte ao kernel. É de salientar que os cabeçalhos do kernel são parte do próprio kernel, embora sejam distribuídos de forma separada.

Um ponto importante e crítico é que o pacote de cabeçalhos do kernel dever corresponder exatamente à versão atual do sistema instalado.

Resumidamente, podemos dizer que, o kernel do Linux é o coração dos sistemas operacionais GNU/Linux, é o responsável por gerenciar e controlar todos os recursos do computador, além de fornecer a base para a execução dos programas instalados no computador, tanto utilizando um ambiente gráfico ou uma linha de comandos.

Após esta breve introdução do kernel, vamos agora detalhar o passo a passo de como instalamos os cabeçalhos (headers) do kernel do Linux. Neste tutorial demonstraremos cada etapa utilizando o GNU/Linux Debian 12.

Passo 1: Após efetuar o login no Debian, vamos abrir o terminal (interface de linha de comando que permite o usuário interagir com o sistema operacional executando comandos) e executar o comando su para acessarmos o terminal com usuário admin (su = "substitute user" ou "switch user"). 


Após pressionar a tecla Enter, devemos inserir a senha do usuário root e validar a inserção pressionando a tecla Enter.

Observação: 
  • O símbolo “$” por padrão nos indica o login no terminal de um usuário comum
  • O símbolo “#” por padrão no indica o login no terminal de um usuário (root) admin
  • Sempre que for necessário, executar o comando “clear” para limpar o terminal após execução de um comando.

Passo 2: Em seguida, verificamos a versão do kernel já instalado e o pacote de cabeçalho correspondente à versão do kernel:

uname -r

Observação: 
  • O comando "uname -r" retorna apenas a versão do kernel, sem informações adicionais.
  • O comando "uname -r" é muito útil para verificarmos de forma rápida qual é a versão do kernel que está sendo utilizado pelo sistema, o que nos possibilita uma rápida resolução de problemas que requerem uma versão específica do kernel.

O sistema nos mostra a versão 6.1.0-9-amd64, porém neste tutorial seguiremos instalando a versão 6.1.0-10-amd64.

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


Podemos ainda efetuar a verificação padrão do cabeçalho do kernel, que ficam na pasta do Debian /usr/src, executando o comando “ls -l /usr/src/linux-headers-$(uname -r)


O erro acima, nos mostra que nenhum cabeçalho do kernel foi instalado no sistema.

Observação:
  • Nós utilizamos o comando ls -l /usr/src/linux-headers-$(uname -r) para pesquisarmos e listarmos os pacotes dos cabeçalhos do kernel do linux que correspondem à versão atual do kernel que está sendo executado pelo sistema.
  • O comando (uname -r) é substituído pela versão do kernel atual e é utilizado dentro de uma substituição do comando ($(...)). Desta forma, a expressão “$(uname -r)” é substituída pela versão do kernel atual antes de executar o comando “apt search”.
Passo 3: Vamos executar o comando de atualização da lista dos pacotes disponíveis no nosso repositório espelhado, utilizando o comando: apt update.


Passo 4: Vamos agora atualizar o nosso sistema, executando o comando apt upgrade. Pressionamos a tecla Enter para que todas as atualizações necessárias sejam feitas.


Aguardemos a finalização da atualização dos pacotes.


Passo 5: Após a “atualização” de todos os pacotes existentes no nosso sistema, vamos prosseguir com a instalação do cabeçalho do kernel do Linux, executando o comando: apt install linux-headers-6.1.0-10-amd64.

Nota: 
  • Para a instalação da versão mostrada pelo sistema, sempre devemos utilizar o comando: apt install linux-headers-$(uname -r).
  • Se desejar instalar uma versão diferente, basta pesquisar pelas versões disponíveis (apt search linux-headers).

Passo 6: Aguardemos a finalização da instalação do kernel do Linux antes de seguirmos com a compilação de qualquer programa.

Observação:
  • Em alguns casos, é necessário a instalação dos pacotes gcc, g++, cmake, make. Estes pacotes complementam o processo de compilação de vários programas.
  • O gcc é uma ferramenta que todos os desenvolvedores de softwares precisam, pois permite a compilação de programas escritos em diversas linguagens como C, C++, Objective-C, Ada, entre outras linguagens de baixo nível.
  • O gcc é um compilador de código aberto.
  • A compilação é o processo de transformar um código fonte (escrito em linguagem de alto nível – linguagem compreensível pelo homem) em programas executáveis, ou seja, em baixo nível (linguagem compreensível apenas por máquinas).

A instalação do kernel do Linux finalizado.


Conclusão:
  • O Kernel é o núcleo do sistema operacional, facilita a comunicação entre os recursos físicos e lógicos de um computador.
  • O Kernel Linux é configurável e adaptável às necessidades do usuário.
  • Podemos efetuar a instalação de qualquer versão do kernel que desejarmos. Recomendável a versão estável para ambientes críticos (servidores por exemplo).
  • Precisamos dos cabeçalhos do kernel do Linux apenas quando sabemos que vamos precisar compilar uma aplicação após o seu desenvolvimento.
  • Precisamos também do cabeçalho do kernel do Linux para compilar os módulos do próprio kernel.
  • Em alguns casos a instalação de compiladores como gcc é importante para complementar as ferramentas necessárias para o processo de compilação.

Caso lhe ajudemos de alguma forma, agrademos o compartilhamento deste post com os seus amigos, seus conhecidos, nas suas redes sociais etc. Para fomentar o nosso trabalho e nos encorajar a cada vez mais produzir conteúdo de qualidade, que visam a disseminação do conhecimento.
 
Até mais!!!
Seja Tech!!!

Postagens mais visitadas deste blog

Instalando e Configurando o VirtualBox no Windows (10)

Linux Zorin-OS 16.3 Liberado!

As 5 Melhores Distros Para Iniciantes No Linux Em 2023