Esse artigo é a tradução (livre e resumida) do documento que deu origem ao systemd. Escrito por Lennart Poettering, Et al. A partir de 2010 esse polêmico sistema pretende substituir o SysVinit e ir bem além. No documento podemos ver os motivos e as justificativas que levaram desenvolvimento do systemd na visão do seu próprio autor.
Eu gosto do código de Upstart, ele é bem comentado e considero fácil de acompanhar. Upstart é um bom exemplo de projeto, inclusive para o meu. Entretanto, não concordo com a abordagem geral de Upstart. Vamos avaliar Upstart um pouco mais de perto:
Upstart não compartilha código com SysVinit e, por isso, funcionalmente ele é visto como um superconjunto do sysvinit. Upstart mantém, em algum grau, a compatibilidade com os scripts de SysVinit. Essa é uma abordagem baseada em eventos: inicializar e parar processos são fundamentais no sistema. Entretanto, um evento pode assumir um número grande de aspectos.
Upstart faz o serviço de serialização através destes eventos: se syslog-started é acionado isso indica que precisamos iniciar D-Bus para que possa usar Syslog. Isso gera uma cadeia, pois quando dbus-started é acionado, NetworkManager é inicializado para permitir o uso de D-Bus.
Essa é uma relação de dependências do tipo A precisa de B que pode ser traduzida em regras como: Quando B parar então pare A. De todo modo, isso são simplificações convencionadas para o uso de Upstart, e elas são prejudiciais.
Primeiro, o sistema de dependências lógicas não desaparece, a pessoa que está escrevendo as regras Upstart deve traduzir as dependências manualmente em regras do tipo evento/ação. Na prática, duas regras para cada dependência.
Assim, em vez de deixar o próprio computador controlar essas regras, elas precisam ser definidas pelo usuário e muitas vezes não estão disponíveis em tempo de execução. O administrador precisa perceber que algo aconteceu com B em função de A.
Essa abordagem que gira em torno de dependências em vez de minimizar o trabalho acaba por maximizar já que é feita dos pés para a cabeça.
Um bom sistema init deveria inicializar um serviço somente quando fosse necessário, e sempre sob demanda. Seja de forma lenta ou paralelizado isso deveria ser feito com antecedência, mas nunca mais que o necessário.
Deste modo, não vejo utilidade na lógica por evento. A maioria dos eventos expostos em Upstart não são pontuais na natureza, mas tem duração: um serviço inicia, roda e é parado. Um dispositivo é plugado, está disponível e é removido.
Um ponto de montagem está desmontado, montado, ou sendo desmontado. São poucos os eventos pontuais, e a maior parte deles é regido por uma tupla de condições como iniciar/parar. Upstart é focado em eventos singulares e, de certa forma, ignora eventos duráveis. Estou ciente que essas reclamações foram mitigadas nas recentes mudanças de Upstart.
A sintaxe baseada em condições e uma inovação. Mas, me parece que o núcleo do projeto é falho. Ainda assim Upstart é uma boa babá para daemons. É óbvio que existem alternativas para sysvinit, Upstart e launchd, mas elas são tão acadêmicas, com uso excessivo de XML ou específicas para um único sistema como o Solaris.
[1] Comentário enviado por bielinux em 20/01/2016 - 13:12h
Vendo este artigo,
dá até vontade de usar o systemd...
mas...
o Lennart Poettering é quem o desenvolve...
e o PulseAudio depois que foi "abandonado" por seu dono...
ficou melhor...
então...
[4] Comentário enviado por sacioz em 20/01/2016 - 19:11h
Divertido ? Não sei , seguro ? Duvido , facil de manter ? Parece que não é ; léve ? não é . O que tem de gente irritada com esse systemd , não são poucos , e gente de peso na indústria .
Vamos ver . Eu estou usando sim , mas tão logo posso , saio dele pois segundo li , não é seguro . E segurança em computação é altíssima prioridade no meu livro . Quem estiver interessado procure por Devuan , a titulo de informação , talvez .
Vamos ver .
[5] Comentário enviado por removido em 20/01/2016 - 20:27h
O systemd pode até dar certo, mas o histórico de comportamento do Poettering como programador e (suposto) profissional mostra que o systemd só vai ficar decente de usar após a saída deste indivíduo da equipe de desenvolvimento do systemd.
Vide o caso do conhecido PulseAudio.
--------------------
Primeiro você se adapta ao Linux; depois, o Linux se adapta a você.
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden
[7] Comentário enviado por Username em 23/01/2016 - 15:29h
Assange já havia dito que o Debian e derivados não era mais seguro.
E também é de se estranhar que a distribuição considerada a mais estável e segura e rigorosa de todas, passe a usar systemd de cara. https://stallman.org/rms-assange-snowden.jpg
Não é trabalho do Linus ficar usando o kernel pra contornar os bugs não resolvidos do complexo systemd , a qual usa o kernel Linux de mula.
E tome cuidado Linus Torvalds , o Lennart Poettering não está trollando rsrs http://i.imgur.com/h3t1MaS.jpg
Não duvido num apocaliptico futuro próximo passaremos a usar "GNU/Systemd"
O problema não é o systemd ter backdoor ou não, o qual tenho certeza que não tem . O problema é sua complexidade , a monopolização e sua suite, systemd é um init system inchado com a proposta de fazer muito mais além do que um simples init deveria fazer.
Vai enfraquecer a segurança no mundo Linux e facilitar a implementação de backdoor de terceiros no futuro.
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden
[9] Comentário enviado por removido em 25/01/2016 - 21:24h
Concordo plenamente!
Systemd é complexo demais, quer fazer muita coisa ao mesmo tempo. Isso é contrário ao princípio KISS.
--------------------
Primeiro você se adapta ao Linux; depois, o Linux se adapta a você.
[10] Comentário enviado por Carlos_Cunha em 27/01/2016 - 02:41h
Muito bom artigo amigo, ja estou lendo.
Eu particularmente uso o Systemd e gosto, acho só falta as pessoas mais vontade de aprender a usa-lo, pois vejo mais reclamações do que acham do que de experiências e produção.
[11] Comentário enviado por removido em 30/01/2016 - 11:45h
Notícia urgente: acabei de descobrir que LP se criou no Rio de Janeiro. Isto explica alguma coisa?
---------------------------------------------------------------------------------------------------------------- http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif
# apt-get purge systemd
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden
[12] Comentário enviado por lcavalheiro em 10/02/2016 - 22:15h
Lennart Poettering. Que nenhuma voz alegre diga seu nome, e que nenhuma memória de sua existência seja preservada. Que nem as cinzas que ele toque sejam permitidas existir, e que o Limbo o engolfe e o engula e jamais o regurgite ou o defeque de volta. Que todo o software que ele toque seja esquecido e malogre bom funcionamento enquanto seu nome estiver associado a ele. Pois se essas são as justificativas de Lennart Poettering para algo como o systemd, então vê-se que ele não apenas deixa a lógica e o bom senso em casa quando vai programar como não os tem em momento algum. Após um texto longo, tudo que ele disse foi "systemd é bom porque ele inicializa a máquina mais rapidamente" - como se eu fosse desligar e religar meu computador a cada 30min.
Há um mérito menor para ele nesse texto. Ele fez uma análise não-ruim do PID 1. Mas não é uma análise boa, apenas uma não-ruim.
--
Dino®
[i]Vi veri universum vivus vici[/i]
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta
[13] Comentário enviado por albfneto em 11/02/2016 - 13:35h
Olha, muitas pessoas, inclusive eu, não gostam pq systemd é pesado, dificil de usar e muito instável... Eu uso no Sabayon pq não tem outra coisa, mas.... por exemplo, após atualizar meu KDE 5, cadê que o icone de desligar funciona, só no comando... dá erro de DBUS, UDEV e Polkit e timeout...]
é por causa do systemd... Muitos linux em DVD não dão mais boot em micros antigos e porque?
por causa do systemd etc... etc...
ele vai melhorar, claro que ele vai melhorar, tudo melhora... mas no momento...
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].
[14] Comentário enviado por removido em 12/02/2016 - 20:43h
Concordo plenamente com os comentários dos 2 especialistas acima:
- "Após um texto longo, tudo que ele disse foi 'systemd é bom porque ele inicializa a máquina mais rapidamente' - como se eu fosse desligar e religar meu computador a cada 30min." (lcavalheiro)
- "Muitos linux em DVD não dão mais boot em micros antigos e porque?
por causa do systemd (...)" (albfneto)
Eu possuo um computador antigo, bem modesto mas que ainda dá conta do recado (e muito bem). Já tentei usar diversas distros, mas praticamente só as que não tem o systemd deram boot... todas as outras falharam nessa simples tarefa.
Agora, eu pergunto também: pra quê eu quero um sistema que "dá boot depressa" apenas em computadores novos? Será que ele acha que todo mundo que usa Linux tem condições de comprar um PC novo (e jogar um computador funcionando no lixo... sim, no lixo) só pra continuar usando a distro que gosta porque o systemd não é capaz de inicializar em um computador mais antigo?
Claro que a solução mais óbvia é mudar de distro, sem dó nem piedade, e evitar o systemd até que as coisas melhorem...
Eu não quero um sistema operacional que dá boot depressa, eu quero um que funcione e me dê liberdade de escolher o que eu quero fazer com o meu computador!
--------------------
Primeiro você se adapta ao Linux; depois, o Linux se adapta a você.
[15] Comentário enviado por lcavalheiro em 28/02/2016 - 19:15h
Rapaz, tô longe de ser um especialista. Inclusive eu apenas citei o que Patrick Volkerding disse sobre esse texto do Lennart Poettering, citação essa com a qual concordo plenamente :-)
--
Dino®
[i]Vi veri universum vivus vici[/i]
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta