--------------------------
Este assunto é abordado na LPIC-1 e 2
--------------------
O systemd é um novo sistema de inicialização e gerenciador de sistemas que foi implementado / adaptado em todas as principais distribuições do Linux em relação aos sistemas tradicionais de inicialização do SysV. O systemd é compatível com scripts de inicialização SysV e LSB.
O systemd é o primeiro processo iniciado pelo kernel e mantendo o PID 1. É um processo pai para tudo e o Fedora 15 é a primeira distribuição que foi adaptada systemd em vez de upstart.
O systemctl é o utilitário de linha de comando e a principal ferramenta para gerenciar os daemons / serviços do systemd, como (iniciar, reiniciar, parar, ativar, desativar, recarregar e status).
O systemd usa arquivos .service em vez de scripts bash usado pelo SysV. O systemd ordena todos os daemons em seus próprios cgroups do Linux e você pode ver a hierarquia do sistema explorando o arquivo / cgroup / systemd.
Abaixo os três sistemas init que são amplamente utilizados no Linux.
- System V (Sys V) - é um dos primeiros e tradicionais sistemas de inicialização para o sistema operacional Unix e Unix like.
- Upstart - é uma substituição baseada em eventos para o daemon /sbin/init
- SystemdD - é um novo sistema de inicialização e gerenciador de sistemas que foi implementado/adaptado em todas as principais distribuições Linux em relação aos sistemas tradicionais de inicialização SysV.
O que é o System V (Sys-V)?
O System V (Sys V) é um dos primeiros e tradicionais sistemas de inicialização para o sistema operacional Unix. O init é o primeiro processo iniciado durante a inicialização do sistema pelo kernel e é um processo pai para tudo. Foi comercialmente a versão mais bem sucedida, sendo o resultado de um esforço, comercializado como "Unix System Unification", que solicitou a colaboração dos principais fornecedores Unix. Foi a fonte de vários recursos comerciais comuns do Unix. Às vezes, o System V é abreviado para SysV.
A maioria das distribuições Linux começou a usar o sistema init tradicional chamado System V (Sys V). Ao longo dos anos, vários sistemas de inicialização de substituição foram lançados para atender às limitações de design nas versões padrão, como launchd, Service Management Facility, systemd e Upstart.
O que é o SystemD?
O systemd é um novo sistema de inicialização e gerenciador de sistemas que se tornou um sistema init padrão muito popular e amplamente adaptado pela maioria das distribuições Linux. Systemctl é um utilitário systemd que nos ajuda a gerenciar o sistema systemd.
Recursos do Systemd
- O Systemd fornece recursos de paralelização agressivos
- Usa o soquete e a ativação do D-Bus para iniciar serviços
- Oferece início de daemons sob demanda
- Mantém controle dos processos usando cgroups do Linux
- Suporta snapshot e restauração do estado do sistema
- Mantém pontos de montagem e automontagem
- Implementa uma lógica de controle de serviço baseada em dependência transacional elaborada
Abaixo, alguns exemplos comparativos de gerenciamento dos serviços com Sys-V e SystemD:
| Descrição | SysVinit | Systemd |
|---|---|---|
| Start um serviço | service example start | systemctl start example |
| Stop um serviço | service example stop | systemctl stop example |
| Reiniciar um serviço | service example restart | systemctl restart example |
| Reload em um serviço | service example reload | systemctl reload example |
| Reiniciar um serviço já em execução | service example restart | systemctl restart example |
| Verificar o status de um serviço | service example status | systemctl status example |
| Habilitar um serviço no boot | chkconfig example on | systemctl enable example |
| Desabilitar um serviço no boot | chkconfig example off | systemctl disable example |
| Verificar se um serviço está configurado para iniciar no boot | chkconfig example | systemctl is-enabled example |
| Exibir os serviços que estão ou não habilitados trazendo detalhes | chkconfig --list | systemctl list-unit-files --type=service |
| Exibi status de on ou off de um serviço específico | chkconfig example --list | ls /etc/systemd/system/*.wants/example.service |
| Atualiza informações de um serviço modificado ou configurado | chkconfig example --add | systemctl daemon-reload |
O Systemd possui um conceito de alvos (target) que servem a um propósito similar aos runlevels, mas agem um pouco diferente. Cada alvo é nomeado em vez de numerado e destina-se a servir um determinado proposito.
| Descriptions | SysVinit | systemd |
|---|---|---|
| Halt the system | 0, halt | runlevel0.target, poweroff.target, systemctl halt |
| Single user mode | 1, S, single | runlevel1.target, rescue.target |
| Multi User | 2 | runlevel2.target, multi-user.target |
| Multi User with Network | 3 | runlevel3.target, multi-user.target |
| Experimental (No User) | 4 | runlevel4.target, multi-user.target |
| Multi-user With Graphical & Network | 5 | runlevel5.target, graphical.target |
| Reboot | 6, reboot | runlevel6.target, reboot.target, systemctl reboot |
| Emergency shell | emergency | emergency.target |
Em breve será publicado um artigo trazendo mais detalhes sobre o SystemD. Bons estudos! :)

Nenhum comentário:
Postar um comentário