Provavelmente tudo o que você quer saber está aqui na página Debate Init System To Use "que o projeto Debian juntos em torno de tomar a decisão de que initsystem ir com. Dentro dessa página é um link separado para cada uma das opções de initsystems.
Para uma cartilha no Systemd, esta página tem praticamente tudo que você precisa saber para começar, RHEL7: Como começar com o Systemd .
Recursos adicionais que achei úteis para entender melhor as duas opções principais Eu também li as páginas da Wikipédia sobre as respectivas tecnologias:
O projeto Gentoo também mantém uma boa comparação de algumas das principais características dos vários itens:
Minha opinião sobre suas perguntas
Q#1: How does systemd compare to other init systems?
Esta é uma questão muito difícil de abordar no espaço de uma resposta SE, então prefiro adiar para as várias fontes que referi acima. Eu vou dizer isso embora. Ao ler grande parte dos artigos sobre systemd
das alternativas, ele está tentando abordar muitos aspectos do que era deficiente em ferramentas anteriores usadas para iniciar serviços em sistemas Linux. Tem um design muito bem pensado e está tentando fornecê-lo de uma maneira muito modular.
Então,IMO,eudiriaqueelasecomparamuitofavoravelmentetantoemtermosdoesforçoemseudesign,execuçãodaqueleprojeto,eaadoçãodeleporváriasdistribuiçõesmaioresdoLinux.
Q#2:Whatsetsitapart--whatcanitdothattheotherinitsystemscannot?
Existemmuitascoisasquesytemd
podefazerqueoutrossistemasnãopodem.Provavelmente,3dassuascaracterísticasmaisstrongssão:
- Criaçãodelog
- Limitaçãoderecursos
- Lidandocomdaemonsquebifurcam
1.logging
Nafrentedelog,systemd
instituiuumnovosistemadelogchamado"Journal", o serviço é chamado de systemd-journald.service
. Este é o seu próprio tópico, você pode ler mais sobre isso aqui neste artigo intitulado: Apresentando o Journal . Aqui está um exemplo de um usuário, "harald", efetuando login.
_SERVICE=systemd-logind.service
MESSAGE=User harald logged in
MESSAGE_ID=422bc3d271414bc8bc9570f222f24a9
_EXE=/lib/systemd/systemd-logind
_COMM=systemd-logind
_CMDLINE=/lib/systemd/systemd-logind
_PID=4711
_UID=0
_GID=0
_SYSTEMD_CGROUP=/system/systemd-logind.service
_CGROUPS=cpu:/system/systemd-logind.service
PRIORITY=6
_BOOT_ID=422bc3d271414bc8bc95870f222f24a9
_MACHINE_ID=c686f3b205dd48e0b43ceb6eda479721
_HOSTNAME=waldi
LOGIN_USER=500
2 & 3. Limitação de recursos & daemons que garfo
systemd
usa uma nova abordagem aqui de usar cgroups
para conter e limitar os recursos a qualquer serviço que exija bifurcação ou limitação de acesso a recursos.
trecho
Systemd has a very clever solution to the problem of tracking daemons that fork, which coincidentally happens to handle resource limiting at the same time. Where Upstart uses ptrace to watch the forking, systemd runs each daemon in a control group (requires Linux 2.6.24 or newer) from which it can not escape with any amount of forking. This allows easy resource limiting , both for forking and non-forking daemons, since control groups were made for this sort of thing.
Fonte: Showdown de Daemon: Upstart vs. Runit vs. Systemd vs. Circo vs. Deus
Q#3: Is there anything to lose in switching to it from another init system?
Provavelmente, a maior advertência para mudar para o systemd sobre o Upstart ou o sysV init é ter que abraçar muitas novas complexidades. O Systemd tem muitas partes móveis e é extremamente rico em recursos e, com esses recursos adicionais, você estará gastando um bom tempo para entender como tudo funciona.
Q#4: How does administering systemd compare to the others?
Como afirmado na minha resposta acima para Q # 3. Eu reitero aqui novamente. Onde o sysV init era bastante trivial para aprender como gerenciar e navegar em poucas horas ou dias, o Upstart provavelmente levará uma semana ou mais para você se atualizar, enquanto o systemd provavelmente levará muito mais tempo, estou antecipando semanas para obter conhecimento suficiente sobre isso, onde poderei produzir meus próprios arquivos .service
, para parar / iniciar serviços com a mesma facilidade que agora desfruto com o init sysV.