• Nenhum resultado encontrado

TRABALHANDO COM METAS DO SISTEMA

No documento Red Hat Enterprise Linux 8 (páginas 108-113)

Comportamento do systemctl em um ambiente chroot

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

Runlevel Unidades Alvo Descrição

0 runlevel0.target,

poweroff.target Desligue e desligue o sistema.

1 runlevel1.target,

rescue.target Preparar uma concha desalvamento.

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,

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 Comando Novo Comando Descrição

runlevel systemctl list-units --type

target Listas de unidades alvoatualmente carregadas.

telinit runlevel systemctl isolate name.target

Muda a meta atual.

Recursos adicionais man sysv init

o homem começa no init man systemctl

3.3.2. Visualizando o alvo padrão

A unidade alvo padrão é representada pelo arquivo /etc/systemd/system/default.target. Procedimento

Para determinar qual unidade alvo é usada por padrão: $ systemctl get-default

graphical.target

Para determinar o alvo padrão usando o link simbólico: $ ls -l /lib/systemd/system/default.target

3.3.3. Visualizando as unidades-alvo

Por padrão, o comando systemctl list-units exibe apenas as unidades ativas. Procedimento

Para listar todas as unidades carregadas, independentemente de seu estado: Unidades da lista do sistema -- tipo alvo -- tudo

Para listar todas as unidades alvo atualmente carregadas: $ systemctl list-units --type target

UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System

cryptsetup.target loaded active active Encrypted Volumes getty.target loaded active active Login Prompts

graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems

multi-user.target loaded active active Multi-User System network.target loaded active active Network

paths.target loaded active active Paths

remote-fs.target loaded active active Remote File Systems sockets.target loaded active active Sockets

sound.target loaded active active Sound Card

spice-vdagentd.target loaded active active Agent daemon for Spice guests swap.target loaded active active Swap

sysinit.target loaded active active System Initialization

time-sync.target loaded active active System Time Synchronized timers.target loaded active active Timers

LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 17 loaded units listed.

3.3.4. Mudando o alvo padrão

A unidade alvo padrão é representada pelo arquivo /etc/systemd/system/default.target. O procedimento a seguir descreve como alterar o alvo padrão usando o comando systemctl: Procedimento

1. Para determinar a unidade alvo padrão: # sistema de falha

2. Para configurar o sistema para usar uma unidade alvo diferente por padrão: # systemctl set-default multi-user.target

rm /etc/systemd/system/default.target

ln -s /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Este comando substitui o arquivo /etc/systemd/system/default.target por um link simbólico para /usr/lib/systemd/system/name.target, onde o nome é o nome da unidade alvo que você deseja usar. Substitua multi-user pelo nome da unidade alvo que você deseja usar por padrão. 3. Reinicialização

3.3.5. Mudando o alvo padrão usando um link simbólico

O procedimento a seguir descreve como alterar o alvo padrão criando um vínculo simbólico com o alvo. Procedimento

1. Para determinar a unidade alvo padrão: # ls /lib/systemd/system/default.target -l 2. Para criar um vínculo simbólico:

# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target 3. Reinicie o sistema:

# reinicialização Etapas de verificação

Verificar o recém-criado alvo.default.target: $ systemctl get-default

multi-user.target

3.3.6. Mudando a meta atual

Este procedimento explica como mudar a unidade alvo na sessão atual usando o comando systemctl. Procedimento

Para mudar para uma unidade alvo diferente na sessão atual: # systemctl isolar multi-user.target

Este comando inicia a unidade alvo chamada multi-user e todas as unidades dependentes, e imediatamente pára todas as outras.

Substitua multi-user pelo nome da unidade alvo que você deseja usar por padrão. Etapas de verificação

Verificar o recém-criado alvo.default.target: $ systemctl get-default

multi-user.target

3.3.7. Modo de inicialização para resgate

Rescue mode fornece um ambiente conveniente de usuário único e permite reparar seu sistema em

situações em que ele não é capaz de completar um processo de inicialização regular. No modo de resgate, o sistema tenta montar todos os sistemas de arquivos locais e iniciar alguns serviços

importantes do sistema, mas não ativa as interfaces de rede ou permite que mais usuários sejam logados no sistema ao mesmo tempo.

Procedimento

Para mudar o alvo atual e entrar no modo de resgate na sessão atual: # systemctl rescue

Broadcast message from root@localhost on pts/0 (Fri 2013-10-25 18:23:15 CEST): The system is going down to rescue mode NOW!

Este comando é similar a systemctl isolate rescue.target, mas também envia uma mensagem informativa a todos os usuários que estão atualmente logados no sistema.

Para evitar que systemd envie uma mensagem, execute o seguinte comando com a opção de linha de comando --no-wall # systemctl --no-wall rescue

3.3.8. A inicialização para o modo de emergência

Emergency mode oferece o ambiente mais mínimo possível e permite reparar seu sistema mesmo em

situações em que o sistema não consegue entrar no modo de resgate. No modo de emergência, o sistema monta o sistema de arquivo raiz apenas para leitura, não tenta montar qualquer outro sistema de arquivo local, não ativa interfaces de rede e apenas inicia alguns serviços essenciais.

Procedimento

Para mudar o alvo atual e entrar no modo de emergência: # systemctl emergência

Este comando é similar a systemctl isolate emergency.target, mas também envia uma mensagem informativa a todos os usuários que estão atualmente logados no sistema.

Para evitar que o systemd envie esta mensagem, execute o seguinte comando com a opção de linha de comando --no-wall # systemctl --no-wall emergency

3.4. ENCERRAMENTO, SUSPENSÃO E HIBERNAÇÃO DO SISTEMA

No documento Red Hat Enterprise Linux 8 (páginas 108-113)