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 comandoechoe a envia como entrada para o comandotee.sudo tee -a /etc/sysctl.conf: O comandoteelê 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.



