O systemd é o sistema de init com PID 1 e o gerenciador de serviços usado por muitas distribuições Linux atuais. O projeto systemd também fornece componentes de registro, dispositivos, login, rede, horário e outros, mas as distribuições podem escolher quais partes implantar.
Init · Lição 5
Visão geral do systemd
Aprenda como o systemd carrega unidades, resolve dependências, ativa alvos e gerencia recursos do sistema e do usuário.
Confirmando o gerenciador em execução
Inspecione o estado ativo em vez de verificar a existência de diretórios instalados:
$ ps -p 1 -o pid,comm,args=
$ systemctl is-system-running
/usr/lib/systemd/ pode existir em um sistema no qual outro programa é o PID 1, e um contêiner pode expor seu próprio namespace de PID. O systemctl também possui modos para gerenciador de usuário e para sistemas remotos ou contêineres; portanto, identifique qual gerenciador é o destino de uma operação.
O que identifica mais diretamente o systemd como o gerenciador de init do sistema?
Unidades como objetos gerenciados
Uma unidade é o modelo nomeado do systemd para um recurso ou uma atividade. Entre os tipos comuns de unidade estão:
.servicepara processos e daemons.socketpara ativação por socket.mounte.automountpara sistemas de arquivos.timere.pathpara ativação orientada a eventos.targetpara agrupamento e sincronização.device,.swap,.slicee.scopepara outros recursos gerenciados
O estado de uma unidade nem sempre é “em execução”. Uma montagem pode estar montada, um temporizador pode estar aguardando, um dispositivo pode estar presente e um alvo pode estar ativo depois que suas dependências são alcançadas.
Qual tipo de unidade geralmente agrupa outras unidades e fornece um ponto de sincronização?
Caminhos de carregamento e substituições de unidades
Unidades do sistema podem ser carregadas de caminhos da distribuição e do administrador, como:
/usr/lib/systemd/system/para unidades fornecidas por pacotes em muitas distribuições/run/systemd/system/para configurações geradas em tempo de execução ou transitórias/etc/systemd/system/para configurações e substituições locais persistentes do administrador
Os caminhos exatos dos fornecedores podem variar. Configurações locais de prioridade mais alta substituem arquivos de prioridade mais baixa com o mesmo nome de unidade. Prefira substituições complementares criadas com systemctl edit UNIT a copiar e modificar um arquivo completo do fornecedor, para que as atualizações de pacotes continuem visíveis.
Onde normalmente devem ficar as substituições locais persistentes de unidades do sistema?
Dependências e ordenação
O systemd cria uma transação com base nos relacionamentos de dependência. Wants= e Requires= incluem outras unidades em uma transação com intensidades diferentes. Before= e After= especificam a ordem quando ambas as unidades estão agendadas; por si só, eles não fazem outra unidade iniciar.
Uma linha After=network.target não comprova que uma conectividade utilizável, o DNS ou um ponto de extremidade remoto específico estejam prontos. Os serviços devem usar a integração apropriada com o estado de rede online ou implementar seu próprio comportamento de repetição e prontidão.
O que After=other.service especifica por si só?
Alvos e a transação de inicialização padrão
default.target normalmente é um alias para um alvo como multi-user.target ou graphical.target. O systemd inicia uma transação para esse alvo e suas dependências, permitindo que trabalhos não relacionados prossigam simultaneamente enquanto aplica a ordenação explícita.
Os alvos se assemelham aos níveis de execução apenas em um sentido amplo de compatibilidade. Vários alvos podem estar ativos ao mesmo tempo, alvos personalizados podem ser criados, e a atividade de um alvo não significa que todos os serviços da máquina estejam íntegros.
O que default.target normalmente seleciona?
Lição concluída
Você concluiu Visão geral do systemd
Agora você pode descrever o systemd em termos de gerenciadores ativos, unidades e transações.
Confirme o systemd por meio do PID 1 relevante e da conexão com o gerenciador.
Associe os tipos de recurso aos sufixos das unidades.
Posicione as substituições locais acima da configuração do fornecedor.
Diferencie a intensidade da dependência, a ordenação e a prontidão da aplicação.
Trate os alvos como agrupamentos e marcos, não como estados exclusivos.
Salve seu progresso
Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.
Criar uma conta gratuita