você está aqui: Home  → Arquivo de Mensagens

Utilizando SysRq em Sistemas Debian pela rede por meio do sysrqd

Colaboração: José Messias Alves da Silva

Data de Publicação: 20 de julho de 2011

Creio que muitos usuários leigos já se indagaram sobre a funcionalidade da tecla (Print Screen | Sysrq) em seus teclados. SysRq significa System Request, que são funções mapeadas em atalhos de teclado pelo Kernel.

É possível usá-las pressionando a combinação de teclas Alt + SysRq + [tecla], que permite executar comandos comuns do SysRq, tais como: sync, umount, reboot, poweroff, sak, term, etc., onde [tecla] pode ser s (sync), k (SAK), 0-9 (nível de log), b (reboot), entre outras.

O sysrqd é um pequeno daemon que visa oferecer o controle do sistema com SysRq pela rede.

A grande utilidade dessas funções são em situações em que o sistema está com carga de trabalho (processamento e memória) muito alta ou até mesmo inoperante. Já sysrqd é bastante útil quando não se está na frente do servidor e seja necessário realizar alguma intervenção.

Eis uma relação das funções que o SysRq oferece:

  • r - Tira o teclado e o mouse do controle do servidor X. Isso pode ser bem viável quando o servidor; X estiver travado, pode-se mudar para um terminal e matar o X (ou ainda, verificar os logs);
  • k - Mata todos os processos que estão rodando no momento. Não é aconselhável fazer isso no terminal onde está rodando o X (tty7). A interface gráfica iria parar;
  • b - Imediatamente reinicia o sistema, sem desmontar partições ou realizar sincronização;
  • o - Desligamento via APM;
  • s - Realiza a sincronização de todo o sistema de arquivos montado, ou seja, escreve todos os dados em memória virtual para a física;
  • u - Remonta todo sistema de arquivos que foi montado para read-only;
  • t - Mostra uma lista de tarefas atuais e suas informações para o console;
  • m - Envia todas as informações atuais da memória para o terminal;
  • p - Imprimi os conteúdos atuais dos registradores e flags para o console;
  • 0-9 - Define o nível de log do console, controlando que mensagens do kernel serão impressas para no console;
  • e - Envia um SIGTERM para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto o init;
  • i - Envia um SIGTERM para todos os processos (Quem não obdeceu ao Alt + SysRq + e toma um kill -9), exceto o init;
  • l - Envia um sinal de SIGKILL para todos os processos, inclusive o init;
  • f - Executará a chamada de sistema oom_kill para matar o processo que está usando mais memória;
  • h - Usado para mostrar a ajuda. Entretanto, qualquer outra tecla não-listada acima irá exibir a ajuda.

Para habilitar as funções de SysRq, é necessário ativá-la no kernel:

  # echo "1" > /proc/sys/kernel/sysrq

Para persistir essa informação mesmo após um reinício da máquina, adiciona-se a seguinte linha ao /etc/sysctl.conf:

  kernel.sysrq = 1

Instalação do Sysrqd em Sistemas Debian

  # apt-get install sysrqd

Uso do sysrqd

A conexão com o sysrqd é protegido por senha, mas não cifrada. Configurando a senha:

  # echo "senha_do_servico"> /etc/sysrqd.secret
  
  # chmod 0600 /etc/sysrqd.secret

Agora, para testar, basta dar um telnet na porta 4094/tcp.

  $ telnet localhost 4094
  Trying 127.0.0.1 ...
  Connected to localhost.
  Escape character is '^]'.
  sysrqd password: senha_do_servico
  sysrq> s
  sysrq> u
  sysrq> q

Referências

José Messias Alves da Silva é Matemático, Cientista da Computação pela UFPI, Especialista em Administração em Redes Linux, Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação do Tribunal Regional do Trabalho da 22ª Região. Entusiasta de soluções FOSS e ativista de cultura Hacker.


 

 

Veja a relação completa dos artigos de José Messias Alves da Silva

Opinião dos Leitores

celso
04 Abr 2012, 22:38
tentei me cadastrar, mas, o endereço diz que sou assinante yahoo, enquanto sou bol. o que fazer?
Rubens Queiroz de Almeida
27 Jul 2011, 23:03
Excelente artigo, parabéns!
Alysson
20 Jul 2011, 15:50
Show de Bola companheiro, Não sabia desses truques, muito bom, parabéns, se tiver algo relacionado ao Nagios

abraços amigo
Nelson Lages
20 Jul 2011, 14:17
Legal, isso é interessante quando se trabalha com dados sensíveis e qualquer interrupção ou desligamento incorreto pode provocar perda de dados. Gostei. Vlwss.
Márcio Araújo
20 Jul 2011, 07:31
É, realmente não sabia para que serve a tecla sysrq.
Muito bom artigo, parabéns!!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script