Pesquisa de site

Como alterar níveis de execução (destinos) no SystemD


Systemd é um sistema de inicialização moderno para Linux: um gerenciador de sistemas e serviços compatível com o popular sistema de inicialização SysV e scripts de inicialização LSB. O objetivo era superar as deficiências do SysV init conforme explicado no artigo a seguir.

  1. A história por trás de ‘init’ e ‘systemd’: por que ‘init’ precisou ser substituído por ‘systemd’ no Linux

Em sistemas do tipo Unix, como o Linux, o estado operacional atual do sistema operacional é conhecido como runlevel; ele define quais serviços do sistema estão em execução. Em sistemas init populares como o SysV init, os níveis de execução são identificados por números. No entanto, no systemd os níveis de execução são chamados de alvos.

Leitura sugerida: Gerenciando processos e serviços de inicialização do sistema (SysVinit, Systemd e Upstart)

Neste artigo, explicaremos como alterar os níveis de execução (destinos) com o systemd. Antes de prosseguirmos, vamos examinar brevemente a relação entre números de níveis de execução e alvos.

  • O nível de execução 0 é correspondido por poweroff.target (e runlevel0.target é um link simbólico para poweroff.target ).
  • O nível de execução 1 é correspondido por rescue.target (e runlevel1.target é um link simbólico para rescue.target ).
  • O nível de execução 3 é emulado por multi-user.target (e runlevel3.target é um link simbólico para multi-user.target ).
  • Runlevel 5 é emulado por graphical.target (e runlevel5.target é um link simbólico para graphical.target ).
  • Run level 6 é emulado por reboot.target (e runlevel6.target é um link simbólico para reboot.target ).
  • Emergency é correspondido por emergency.target.

Como visualizar o alvo atual (nível de execução) no Systemd

Quando o sistema inicializa, por padrão o systemd ativa a unidade default.target. Seu trabalho principal é ativar serviços e outras unidades puxando-os por meio de dependências.

Para visualizar o destino padrão, digite o comando abaixo.

#systemctl get-default 

graphical.target

Para definir o destino padrão, execute o comando abaixo.

systemctl set-default multi-user.target  

Como alterar o destino (nível de execução) no Systemd

Enquanto o sistema está em execução, você pode alternar o destino (nível de execução), o que significa que apenas os serviços e as unidades definidas nesse destino serão executados no sistema.

Para mudar para o nível de execução 3, execute o seguinte comando.

systemctl isolate multi-user.target 

Para alterar o sistema para nível de execução 5, digite o comando abaixo.

systemctl isolate graphical.target

Para obter mais informações sobre o systemd, leia estes artigos úteis:

  1. Como gerenciar serviços e unidades ‘Systemd’ usando ‘Systemctl’ no Linux
  2. Como criar e executar novas unidades de serviço no Systemd usando Shell Script
  3. Gerenciando processos e serviços de inicialização do sistema (SysVinit, Systemd e Upstart)
  4. Gerenciar mensagens de log no Systemd usando Journalctl [Guia abrangente]

Neste guia, mostramos como alterar os níveis de execução (destinos) com o systemd. Use o formulário de comentários abaixo para nos enviar quaisquer perguntas ou opiniões sobre este artigo.