segunda-feira, 30 de maio de 2016

Linux systemctl :: Dicas de uso



O systemctl é um gerenciador de processos default das distribuições que rodam com o novo SystemD, gestor de inicialização que veio para substituir o padrão BSD, ou SystemV. Eu vi muitas pessoas torcendo o nariz para esse novo padrão, o que não é de se surpreender, porém gerenciador possui um framework muito mais completo de gestão de processos que pode facilitar muito a administração de recursos dos servidores. Mas o foco do artigo não é esse, o foco é dar um guide bem rápido da utilização de alguns dos recursos do framework.

Run Levels :: 

Runlevels são níveis de inicialização dos sistemas Unix. Dependendo do nível escolhido, o sistema irá determinar quais serviços irão iniciar e quais não vão durante o processo de inicialização. Isso é muito primitivo no Linux, e todos os administradores e sistemas estão bem familiarizados com isso, e eles são:

 init 0: halt. Desligamento do sistema
 init 1: single: Inicia no modo mono usuário em modo rescue do sistema
 init 2: no network : Inicia o sistema sem rede  
 init 3: multi user without GUI : Inicia o sistema em multi user, porém sem GUI  
 init 5: multi user with GUI  : Inicia o sistema em multi user com GUi, normalmente é a Default
 init 6: reboot  : Reinicia o sistema

De acordo com o run level setado por default no arquivo /etc/inittab nas distribuições que funcionam com o SystemV, saudades Slackware, o sistema irá executar todos as instruções e rodar todos os deamons apontados no arquivo correspondente do runlevel setado como default.

É possível customizar ainda os daemons que serão iniciados no SystemD. Dentro da pasta /etc/ existem várias outras pastas que possuem vários scripts que são executados na inicialização do init, no caso /etc/rc.*.d/, onde * seria o runlevel em questão.



O systemctl nada mais faz do que automatiza o gerenciamento desses runlevels e dos scripts que são executados na inicialização do mesmo após o boot e descompactação do Kernel. No caso, se você definir o init 0 como default, após o sistema carregar, ele irá desligar automaticamente. Não estou dando uma dica pra zoar com seu amigo na firma.

Sem mais balelas, vamos a listinha de comandos uteis para gerenciar seus recursos com o Systemctl.
 Iniciando o sistema no Single User, no caso o init 1  
 [root@Nanoshots ~]# systemctl rescue  
   
 Iniciando o sistema com single user com somente o diretório root (/) montado.  
 [root@Nanoshots ~]# systemctl emergency  
   
 Iniciando o modo multi usuário sem o GUI  
 [root@Nanoshots ~]# systemctl isolate multi-user.target  
   
 Iniciando o modo multi usuário com GUI  
 [root@Nanoshots ~]# systemctl isolate graphical.target  
   
 Habilitando um processo na inicialização do sistema  
 [root@Nanoshots ~]# systemctl enable apache2  
   
 Desabilitando um processo na inicialização do sistema  
 [root@Nanoshots ~]# systemctl disable apache2  

 Verificando o Status de algum processo
  [root@Nanoshots ~]# systemctl status apache2 

 Verificando todos os serviços ativos na inicialização 
   [root@Nanoshots ~]#  systemctl list-units

 Verificando todos os serviços ativos e inativos 
 [root@Nanoshots ~]# systemctl list-units --all --state=inactive

 Verificando se um processo específico está habilitado por default na inicialização 
 [root@Nanoshots ~]# systemctl is-enabled apache2

 Iniciando, restartando, recarregando e parando processos no sistema  
 [root@Nanoshots ~]# systemctl start apache2  
 [root@Nanoshots ~]# systemctl restart apache2  
 [root@Nanoshots ~]# systemctl reload apache2
 [root@Nanoshots ~]# systemctl stop apache2  

Artigo sempre em construção

:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com