3.3. Trabalhando com metas do sistema

Os alvos do sistema são representados por unidades-alvo. O arquivo de unidades alvo termina com a extensão .target e seu único objetivo é agrupar outras unidades do sistema através de uma cadeia de dependências. Por exemplo, o graphical.target unit, que é usado para iniciar uma sessão gráfica, inicia serviços de sistema como o GNOME Display Manager (gdm.service) ou o Serviço de Contas (accounts-daemon.service) e também ativa o multi-user.target unit. Da mesma forma, a unidade multi-usuário.target inicia outros serviços essenciais do sistema como o NetworkManager (NetworkManager.service) ou o D-Bus (dbus.service) e ativa outra unidade alvo chamada basic.target.

Esta seção inclui procedimentos a serem implementados enquanto se trabalha com metas systemd.

3.3.1. Diferença entre os níveis de execução do SysV e as metas do sistema

As versões anteriores do Red Hat Enterprise Linux foram distribuídas com SysV init ou Upstart, e implementaram um conjunto pré-definido de níveis de execução que representavam modos específicos de operação. Estes níveis de execução foram numerados de 0 a 6 e foram definidos por uma seleção de serviços de sistema a serem executados quando um determinado nível de execução era habilitado pelo administrador de sistemas. Começando com o Red Hat Enterprise Linux 7, o conceito de níveis de execução foi substituído por alvos do sistema.

O Red Hat Enterprise Linux 7 foi distribuído com um número de alvos predefinidos que são mais ou menos similares ao conjunto padrão de níveis de execução dos lançamentos anteriores. Por razões de compatibilidade, ele também fornece alias para estes alvos que mapeiam diretamente para os níveis de execução do SysV.

A tabela a seguir fornece uma lista completa dos níveis de execução do SysV e seus correspondentes alvos do sistema:

Tabela 3.6. Comparação dos níveis de execução do SysV com as metas do sistema

RunlevelUnidades AlvoDescrição

0

runlevel0.target, poweroff.target

Desligue e desligue o sistema.

1

runlevel1.target, rescue.target

Preparar uma concha de salvamento.

2

runlevel2.target, multi-user.target

Configurar um sistema multi-usuário não gráfico.

3

runlevel3.target, multi-user.target

Configurar um sistema multi-usuário não gráfico.

4

runlevel4.target, multi-user.target

Configurar um sistema multi-usuário não gráfico.

5

runlevel5.target, graphical.target

Configurar um sistema gráfico multiusuário.

6

runlevel6.target, reboot.target

Desligar e reiniciar o sistema.

A tabela a seguir compara os comandos init SysV com systemctl. Use o utilitário systemctl para visualizar, alterar ou configurar alvos do sistema:

Importante

Os comandos runlevel e telinit ainda estão disponíveis no sistema e funcionam como esperado, mas só estão incluídos por razões de compatibilidade e devem ser evitados.

Tabela 3.7. Comparação dos comandos init SysV com systemctl

Antigo ComandoNovo ComandoDescrição

runlevel

systemctl list-units --type target

Listas de unidades alvo atualmente carregadas.

telinit runlevel

systemctl isolate name.target

Muda a meta atual.

Recursos adicionais

  • man sysv init
  • o homem começa no init
  • man systemctl