Gerenciando o Sistema com systemd

Explica a atribuição de systemd no Oracle Linux e como sua configuração e unidades moldam a inicialização do sistema.

systemd é a inicialização do sistema e o gerenciador de serviços no Oracle Linux.

O daemon systemd é o primeiro processo que começa depois que um sistema é inicializado e é o processo final que está em execução quando o sistema é desligado. systemd controla os estágios finais da inicialização e prepara o sistema para uso. Ele também acelera a inicialização carregando serviços simultaneamente.

Dica

Consulte Use Systemd no Oracle Linux para obter um tutorial prático e demonstrações em vídeo sobre como trabalhar com systemd no Oracle Linux.

Para obter mais informações sobre a inicialização do sistema, consulte Managing Kernels and System Boot on Oracle Linux.

Configuração systemd

systemd lê sua configuração a partir de arquivos nos seguintes diretórios, em ordem de prioridade:

  • $HOME/.config/systemd/: Entradas de configuração systemd específicas do usuário.

  • /etc/systemd/: personalização da configuração do systemd em todo o sistema.

  • /run/systemd/: Configuração systemd de runtime.

  • /usr/lib/systemd: Configuração de systemd base fornecida por pacotes.

a personalização da configuração systemd é armazenada no diretório /etc/systemd. Por exemplo, você pode copiar o arquivo /usr/lib/systemd/system.conf para /etc/systemd/system.conf e editá-lo para controlar como o systemd trata a inicialização do sistema.

O daemon systemd inicia serviços durante o processo de inicialização lendo o link simbólico /etc/systemd/system/default.target.

O exemplo a seguir mostra o valor de /etc/systemd/system/default.target em um sistema configurado para inicializar em um modo multiusuário sem uma interface gráfica de usuário, um destino chamado multi-user.target:

sudo ls -l /etc/systemd/system/default.target
 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target 
Observação

Você pode usar um parâmetro de inicialização de kernel para substituir o destino padrão do sistema. Consulte Alterando os Parâmetros de Inicialização do Kernel Antes da Inicialização e Usando o método grubby para Gerenciar Kernels.

Unidades systemd

Visão geral dos principais tipos de unidade systemd, como listá-los e onde seus arquivos de configuração estão ativos.

O systemd organiza os diferentes tipos de recursos que ele gerencia em unidades.

A maioria das unidades é configurada em arquivos de configuração de unidade que permitem configurar essas unidades de acordo com as necessidades do sistema. Além dos arquivos, você também pode usar comandos de runtime systemd para configurar as unidades.

Para exibir todos os tipos de unidades disponíveis no systemd, use o seguinte comando:

sudo systemctl -t help
Available unit types:
service
mount
swap
socket
target
device
automount
timer
path
slice
scope

A lista a seguir descreve algumas unidades de sistema que você pode gerenciar em um sistema Oracle Linux usando systemd:

Serviços
Os arquivos de configuração da unidade de serviço têm o formato de nome de arquivo service_name.service, por exemplo, sshd.service, crond.service e httpd.service.

As unidades de serviço iniciam e controlam os daemons e os processos dos quais os daemons consistem.

O exemplo a seguir mostra como você pode iniciar a unidade de serviço systemd do servidor Apache HTTP, httpd.service:

sudo systemctl start httpd.service

Consulte Service Management em Systemd para obter mais informações.

Destinos
Os arquivos de configuração da unidade de destino têm o formato de nome de arquivo target_name.target, por exemplo, graphical.target.

Os alvos são semelhantes aos níveis de execução. Um sistema atinge diferentes destinos durante o processo de inicialização à medida que os recursos são configurados. Por exemplo, um sistema atinge network-pre.target antes de atingir o destino network-online.target.

Muitas unidades de destino têm dependências. Por exemplo, a ativação de graphical.target (para uma sessão gráfica) falha, a menos que multi-user.target (para sistema multiusuário) também esteja ativo.

Consulte Alvos de Sistema para obter mais informações.

Pontos de Montagem do Sistema de Arquivos
Os arquivos de configuração da unidade de montagem têm o formato de nome de arquivo mount_point_name.mount.
As unidades de montagem permitem a montagem de sistemas de arquivos no momento da inicialização. Por exemplo, você pode executar o seguinte comando para montar o sistema de arquivos temporário (tmpfs) no /tmp no momento da inicialização:
sudo systemctl enable tmp.mount
Dispositivos
Os arquivos de configuração da unidade de dispositivo têm o formato de nome de arquivo device_unit_name.device.

As unidades do dispositivo são nomeadas após os caminhos /sys e /dev que controlam. Por exemplo, o dispositivo /dev/sda5 é exposto em systemd como dev-sda5.device.

As unidades de dispositivo permitem implementar a ativação baseada em dispositivo.

Soquetes
Os arquivos de configuração da unidade de soquete têm o formato de nome de arquivo socket_unit_name.socket.

Cada arquivo "*.socket" precisa de um arquivo "*.service" correspondente para configurar o serviço a ser iniciado no tráfego de entrada no soquete.

As unidades de soquete permitem que você implemente a ativação baseada em soquete.

Timers

Os arquivos de configuração da unidade do temporizador têm o formato de nome de arquivo timer_unit_name.timer.

Cada arquivo "*.timer" precisa de um arquivo "*.service" correspondente para configurar o serviço a ser iniciado em um evento de timer configurado. Uma entrada de configuração Unit pode ser usada para especificar um serviço com nome diferente da unidade do timer, se necessário.

As unidades de temporizador podem controlar quando as unidades de serviço são executadas e podem atuar como uma alternativa ao uso do daemon cron. As unidades de temporizador podem ser configuradas para eventos de tempo de calendário, eventos de tempo monotônicos e podem ser executadas de forma assíncrona.

Consulte Como Trabalhar com Timers em Systemd para obter mais informações.

Os caminhos para os arquivos de configuração da unidade systemd variam dependendo da finalidade e se systemd está sendo executado no modo 'user' ou 'system'.

Por exemplo, a configuração para unidades instaladas de pacotes pode estar disponível em /usr/lib/systemd/system ou em /usr/local/lib/systemd/system, enquanto uma unidade de configuração de modo de usuário provavelmente será armazenada em $HOME/.config/systemd/user. Consulte a página do manual systemd.unit(5) para obter mais informações.