systemd é um conjunto de blocos básicos de construção para sistemas Linux. Ele fornece um gerenciador de sistema e serviço que executa e inicia o restante do sistema como PID 1.
o systemd oferece capacidades agressivas de paralelização, usa sockets e ativação do D-Bus para iniciar serviços, fornece início sob demanda de daemons, utiliza grupos de controle Linux para rastrear processos, mantém mounts e pontos de auto-montagem, e implementa uma lógica de controle de serviço baseada em dependência de transações bem projetada. systemd suporta scripts init SysV e LSB e pode substituir sysvinit.
Outras seções incluem daemons de log, utilitários para controlar configurações básicas do sistema como nomes de host, datas, locais, manutenção de uma lista de usuários logados e contêineres e máquinas virtuais em execução, contas de sistema, diretórios de tempo de execução e configurações, além de gerenciar configurações de daemons para redes simples, sincronização de tempo de rede, encaminhamento de logs e resolução de nomes.
O arquivo de configuração systemd existe nas três pastas seguintes:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Revisar:
Perfil da unidade
Um arquivo de unidade no systemd é um arquivo que codifica informações sobre as várias unidades que o systemd pode gerenciar, incluindo serviços, sockets, dispositivos e assim por diante. Este guia foca em serviços, caso em que o arquivo unitário com o qual estamos trabalhando é o arquivo .service. O arquivo de configuração do dispositivo varnish.service contém informações sobre como o systemd deve executar, monitorar e gerenciar o daemon do verniz.
O bloco [Unidade] geralmente é o primeiro bloco do arquivo de configuração e é usado para definir os metadados da Unidade e como eles se relacionam com outras Unidades. Seus principais campos são os seguintes.
- Descrição: Uma breve descrição
- Documentação: O endereço do documento
- Requer: Outras unidades das quais a unidade atual depende, e se não estiverem funcionando, a unidade atual falhará ao iniciar
- Deseja: Outras Unidades que trabalham com a Unidade atual, se não estiverem funcionando, a Unidade atual não falhará ao iniciar
- BindsTo: Semelhante ao Exiges, especifica uma Unidade que faz a Unidade atual parar de funcionar se ela sair
- Antes: Se a Unidade especificada neste campo também for iniciada, ela deve ser iniciada após a Unidade atual
- Depois: Se a Unidade especificada neste campo também for iniciada, ela deve ser iniciada antes da Unidade atual
- Conflitos: A unidade especificada aqui não pode rodar ao mesmo tempo que a unidade atual
- Condição... : As condições que devem ser cumpridas para que a unidade atual funcione, caso contrário, ela não funcionará
- Afirmar... : As condições que devem ser atendidas para que a unidade atual funcione, caso contrário a falha de inicialização será reportada
[Instalar] geralmente é o último bloco do arquivo de configuração que define como iniciar e se iniciar ou não. Seus principais campos são os seguintes.
- WantedBy: Seu valor é um ou mais Alvos, e quando a Unidade atual está ativa (ativada), o symlink é colocado em um subdiretório sob o diretório /etc/systemd/system com o sufixo Nome de Alvo + .wants
- RequiredBy: Seu valor é um ou mais Alvos, e quando a Unidade atual está ativa, o symlink será colocado em um subdiretório sob o diretório /etc/systemd/system com o sufixo Target name + .required
- Alias: O pseudônimo que a Unidade atual pode usar para começar
- Além disso: Quando a unidade atual é ativada, outras unidades serão ativadas ao mesmo tempo
O bloco [Serviço] é usado para configurar o Serviço, e apenas unidades do tipo Serviço possuem esse bloco. Seus principais campos são os seguintes.
- Tipo: Define o comportamento do processo na inicialização. Ele possui os seguintes valores.
- Type=simple: O valor padrão, execute o comando especificado pelo ExecStart para iniciar o processo principal
- type=fork: Fork cria um processo filho a partir do processo pai, que sairá imediatamente após a criação
- Type=oneshot: Um processo único, o Systemd espera o serviço atual sair antes de continuar executando
- Tipo=dbus: O serviço atual é iniciado via D-Bus
- type=notify: Quando o serviço atual for iniciado, o Systemd será notificado e continuará a execução
- type=idle: O serviço atual será executado apenas se outras tarefas forem executadas
- ExecStart: O comando para iniciar o serviço atual
- ExecStartPre: O comando executado antes de iniciar o serviço atual
- ExecStartPost: O comando executado após iniciar o serviço atual
- ExecReload: O comando executado quando o serviço atual é reiniciado
- ExecStop: O comando executado quando o serviço atual é parado
- ExecStopPost: Parar o comando executado quando é servido
- RestartSec: O número de segundos entre o serviço automático reinicia o serviço atual
- Reiniciar: Define as circunstâncias sob as quais o Systemd reiniciará automaticamente o serviço atual, com valores possíveis como sempre, on-sucesso, on-fail, on-anormal, on-abort, on-watchdog
- TimeoutSec: Define o número de segundos que o Systemd espera antes de parar o serviço atual
- Ambiente: Especifique a variável ambiente
Ferramenta de gerenciamento Systemctl
O gerenciamento de programas no CentOS é basicamente feito pela ferramenta systemctl.
Serviço de Startup:
systemctl start name.service
Interromper o serviço:
systemctl nome da parada.serviço
Reiniciar o serviço:
systemctl restart name.service
Ver Status:
Nome.serviço de status systemctl
Reinício condicional:
Se o serviço foi iniciado antes, ele será reiniciado, e se o serviço não for iniciado, não será operado
systemctl try-restart name.service
Recarregar ou reiniciar:
Recarregue primeiro, e se o recarregamento não der certo, reinicie
systemctl reload-or-restart name.service
Recarregar ou reiniciar condicional:
systemctl reload-or-try-restart name.service
Define se o serviço pode ser configurado pelo usuário para iniciar o estado
systemctl unmask name.service
SystemCTL Mask Name.Service é proibido
Veja o status atual de ativação do serviço:
O valor de retorno de status do comando serviço iniciado é 0 O valor de retorno de status do comando que não foi iniciado é não 0
systemctl is-active name.service
Veja todos os serviços que foram ativados:
-t Especifica o tipo de unidade exibida.
--todos exibem uma lista mais detalhada de informações.
-um equivalente --todos
Unidades de lista SystemCTL
Serviço SystemCTL List-Units -T
SystemCTL lista-unidades -t serviço -a
Veja todos os serviços:
Unitários de lista systemctl -a
Veja todos os status de serviço:
Ficheiros-Lista-Unidades-SystemCTL
-a 、--todos: Veja o status de todos os serviços
-t 、--tipo: Especifica o tipo de unidade a ser visualizada
loaded: O arquivo de configuração foi carregado, carregado na memória
ativo (em corrida): Execuções que são processadas continuamente uma ou mais vezes
ativo(sair): A configuração única é concluída com sucesso
ativo(esperando): Correndo, esperando por um evento
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Usado para listar em quais níveis operacionais o serviço está ativado e desativado
ls /etc/systemd/system/*.wants/sshd.service
systemctl list-unit-files --type target --all
Para configurar o serviço para não começar:
SystemCTL desabilitar unidade de nome de serviço
Verifique se o serviço foi iniciado e iniciado:
SystemCTL is-ativado name.service
Veja dependências de serviços:
systemctl list-dependencies name.service systemctl list-depebdencies
Serviço de carga pesada:
systemctl daemon-reload
Acabe com o processo:
Nome do processo de eliminação do systemctl
Recursos:
O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível.
|