Como verificar se uma configuração de kernel panic está ativa no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma configuração de pânico do kernel está ativa no Linux. O laboratório guia você através do uso do comando sysctl para inspecionar e modificar temporariamente a configuração kernel.panic, que determina o comportamento do sistema após um erro crítico.

Você também explorará como verificar a configuração sysctl examinando o arquivo /etc/sysctl.conf e inspecionando os parâmetros do kernel no diretório /proc/sys/kernel para entender como essas configurações influenciam o comportamento do sistema.

Verificar a configuração de panic com sysctl kernel.panic

Nesta etapa, exploraremos como verificar a configuração de pânico do kernel usando o comando sysctl. A configuração kernel.panic determina como o kernel se comporta quando ocorre um pânico. Um pânico do kernel é um erro crítico do qual o sistema não consegue se recuperar, muitas vezes levando a uma parada ou reinicialização do sistema.

O comando sysctl é uma ferramenta poderosa para ler e modificar parâmetros do kernel em tempo de execução. Esses parâmetros controlam vários aspectos do comportamento do sistema.

Para verificar o valor atual da configuração kernel.panic, abra seu terminal e digite o seguinte comando:

sysctl kernel.panic

Este comando exibirá o valor atual da configuração kernel.panic. Você deve ver uma saída semelhante a esta:

kernel.panic = 0

O valor 0 indica que o sistema não reiniciará automaticamente após um pânico do kernel. Se o valor for maior que 0, ele representa o número de segundos que o kernel aguardará antes de reiniciar automaticamente.

Agora, vamos tentar alterar o valor de kernel.panic. Para defini-lo como 10 segundos, use o seguinte comando com sudo:

sudo sysctl kernel.panic=10

Você será solicitado a inserir sua senha. Depois de inseri-la, o comando definirá o valor kernel.panic como 10.

Para verificar se a alteração foi bem-sucedida, execute o comando sysctl novamente:

sysctl kernel.panic

Você deve ver agora:

kernel.panic = 10

Isso confirma que a configuração kernel.panic foi modificada com sucesso.

É importante notar que as alterações feitas com sysctl são temporárias e serão perdidas após uma reinicialização. Para tornar as alterações permanentes, você precisa modificar o arquivo /etc/sysctl.conf, o que abordaremos na próxima etapa.

Verificar a configuração sysctl com cat /etc/sysctl.conf

Na etapa anterior, aprendemos como alterar temporariamente a configuração kernel.panic usando o comando sysctl. No entanto, essas alterações não são persistentes e serão perdidas após uma reinicialização. Para tornar as alterações permanentes, precisamos modificar o arquivo /etc/sysctl.conf.

O arquivo /etc/sysctl.conf é o arquivo de configuração principal para sysctl. Ele contém uma lista de parâmetros do kernel e seus valores desejados. Quando o sistema inicia, ele lê este arquivo e aplica as configurações especificadas.

Para visualizar o conteúdo do arquivo /etc/sysctl.conf, abra seu terminal e use o comando cat:

cat /etc/sysctl.conf

Este comando exibirá o conteúdo do arquivo. Você pode ver alguns comentários (linhas começando com #) e algumas configurações existentes.

## /etc/sysctl.conf - Arquivo de configuração para definir variáveis do sistema
## Veja /etc/sysctl.d/ para variáveis adicionais do sistema.
## Veja sysctl.conf (5) para mais informações.

Agora, vamos adicionar nossa configuração kernel.panic a este arquivo. Usaremos o comando echo para anexar a configuração ao final do arquivo.

echo "kernel.panic = 10" | sudo tee -a /etc/sysctl.conf

Aqui está uma análise do comando:

  • echo "kernel.panic = 10": Esta parte cria o texto que queremos adicionar ao arquivo.
  • |: Este é um pipe, que pega a saída do comando echo e a envia como entrada para o comando tee.
  • sudo tee -a /etc/sysctl.conf: O comando tee lê da entrada padrão e grava tanto na saída padrão quanto em um ou mais arquivos.
    • sudo: Permite que escrevamos em um arquivo que requer privilégios de administrador.
    • -a: Anexa o texto ao final do arquivo em vez de sobrescrevê-lo.
    • /etc/sysctl.conf: O arquivo que queremos modificar.

Após executar este comando, vamos verificar se a configuração foi adicionada ao arquivo. Use o comando cat novamente:

cat /etc/sysctl.conf

Você deve ver agora a linha kernel.panic = 10 no final do arquivo.

## /etc/sysctl.conf - Arquivo de configuração para definir variáveis do sistema
## Veja /etc/sysctl.d/ para variáveis adicionais do sistema.
## Veja sysctl.conf (5) para mais informações.
kernel.panic = 10

Para aplicar as alterações, você pode reiniciar o sistema ou executar o seguinte comando:

sudo sysctl -p

Este comando diz ao sysctl para ler o arquivo /etc/sysctl.conf e aplicar as configurações.

Agora, a configuração kernel.panic será persistente em todas as reinicializações.

Inspecionar os parâmetros do kernel em /proc/sys/kernel

Nesta etapa, exploraremos outra maneira de visualizar os parâmetros do kernel: o diretório /proc/sys/kernel. Este diretório fornece uma interface de sistema de arquivos virtual para as variáveis do kernel. Cada arquivo neste diretório representa um parâmetro do kernel.

O diretório /proc é um diretório especial no Linux que fornece informações sobre os processos em execução e o kernel. É um sistema de arquivos virtual, o que significa que os arquivos e diretórios dentro dele não existem realmente no disco. Em vez disso, eles são criados dinamicamente pelo kernel quando acessados.

Para listar os arquivos no diretório /proc/sys/kernel, abra seu terminal e use o comando ls:

ls /proc/sys/kernel

Este comando exibirá uma lista de arquivos, cada um representando um parâmetro do kernel. Você verá arquivos como hostname, domainname, osrelease, version e muitos outros.

acpi_video_flags  ctrl-alt-del  dmesg               hostname       modules_disabled  osrelease  powersave-nap  pty  random  realtime-max-usleep  shmmax  shmall  shmmni  sysrq  tainted  threads-max  unknown_nmi_panic  version  yama

Para visualizar o valor de um parâmetro específico do kernel, você pode usar o comando cat no arquivo correspondente. Por exemplo, para visualizar o nome do host do sistema, use o seguinte comando:

cat /proc/sys/kernel/hostname

Isso exibirá o nome do host atual do sistema.

labex

Da mesma forma, para visualizar a versão do kernel, use o seguinte comando:

cat /proc/sys/kernel/osrelease

Isso exibirá a versão do kernel.

5.15.0-76-generic

Você também pode usar o comando sysctl para visualizar esses parâmetros, como vimos na primeira etapa. Por exemplo, o seguinte comando é equivalente a cat /proc/sys/kernel/hostname:

sysctl kernel.hostname

O diretório /proc/sys/kernel fornece uma grande quantidade de informações sobre a configuração e o estado do kernel. É um recurso valioso para administradores de sistema e desenvolvedores que precisam entender e monitorar o comportamento do sistema.

É importante notar que, embora você possa visualizar esses arquivos, normalmente você precisa de privilégios de root para modificá-los diretamente. No entanto, usar sysctl é a maneira preferida de modificar os parâmetros do kernel, pois fornece uma interface mais controlada e consistente.

Resumo

Neste laboratório, exploramos como verificar e modificar temporariamente a configuração kernel.panic no Linux usando o comando sysctl. Aprendemos que kernel.panic determina o comportamento do kernel ao encontrar um erro crítico, com um valor de 0 indicando que não haverá reinicialização automática e um valor maior que 0 representando o atraso em segundos antes da reinicialização.

Usamos sysctl kernel.panic para visualizar a configuração atual e sudo sysctl kernel.panic=10 para alterá-la temporariamente. O laboratório também destacou que as alterações feitas com sysctl não são persistentes em reinicializações e exigem a modificação do arquivo /etc/sysctl.conf para configuração permanente, o que será abordado nas etapas subsequentes.