domingo, 21 de julho de 2019

DIFERENÇAS ENTRE SYS-V E SYSTEMD


--------------------------
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çãoSysVinitSystemd
Start um serviçoservice example startsystemctl start example
Stop um serviçoservice example stopsystemctl stop example
Reiniciar um serviçoservice example restartsystemctl restart example
Reload em um serviçoservice example reloadsystemctl reload example
Reiniciar um serviço já em execuçãoservice example restartsystemctl restart example
Verificar o status de um serviçoservice example statussystemctl status example
Habilitar um serviço no bootchkconfig example onsystemctl enable example
Desabilitar um serviço no bootchkconfig example offsystemctl disable example
Verificar se um serviço está configurado para iniciar no bootchkconfig examplesystemctl is-enabled example
Exibir os serviços que estão ou não habilitados trazendo detalheschkconfig --listsystemctl list-unit-files --type=service
Exibi status de on ou off de um serviço específicochkconfig example --listls /etc/systemd/system/*.wants/example.service
Atualiza informações de um serviço modificado ou configuradochkconfig example --addsystemctl 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.


DescriptionsSysVinitsystemd
Halt the system0, haltrunlevel0.target, poweroff.target, systemctl halt
Single user mode1, S, singlerunlevel1.target, rescue.target
Multi User2runlevel2.target, multi-user.target
Multi User with Network3runlevel3.target, multi-user.target
Experimental (No User)4runlevel4.target, multi-user.target
Multi-user With Graphical & Network5runlevel5.target, graphical.target
Reboot6, rebootrunlevel6.target, reboot.target, systemctl reboot
Emergency shell emergencyemergency.target

Em breve será publicado um artigo trazendo mais detalhes sobre o SystemD. Bons estudos! :)

Nenhum comentário:

Postar um comentário

WEBINAR DE REVISÃO PARA A PROVA LPIC-1

Junte-se à comunidade do Linux Professional Institute em 10 de fevereiro de 2021 das 10h00 às 11h30 (EST) para um mergulho profundo na prepa...