removido
(usa Nenhuma)
Enviado em 17/09/2016 - 00:53h
Vou tomar essa oportunidade pra desmiticar alguns argumentos a favor e contra do systemd que eu ouço, saber se o argumento é contra ou favor é um exercicio do leitor.
"Systemd não segue filosofia Unix" - E não precisa, ele nunca foi planejado pra seguir a filosofia Unix, a Filosofia Unix é boa quando voce quer criar software simples e conciso que da poder final ao usuario, o systemd é um projeto pra garantir que a RedHat tenha controle da base e instalação minima de software em uma distribuição baseada em linux. Falar que Systemd não segue filosofia unix é um exercicio em futilidade
Os desenvolvedores do Systemd são uma nova escola de Programação que em vez de pensar em atomos basicos pra construir as coisas eles pensam em casos de usos, se eles inventassem o Unix hoje voce teria 4941849324023 chamadas de sistema pra cada possibilidade, pessoas do Suckless implementariam 2 no maximo, e pessoas como DJB parariam, sentariam em uma cadeira a mesa e pensariam "Como eu posso decompor esse problema em atomos basicos a partir que tudo possa ser construido ?", ele perceberia que voce só precisa de fork,exec e wait e escreveria o codigo pra aquilo.
"SysVinit é antigo, foi bom systemd remover ele" meio-verdade,meio-falso porque o autor não sabe a diferença entre SysVinit, que é util,portatil e ainda é usado, Gentoo usa pra ativar openrc, o problema é o supervisor do SysVinit, o Sysvrc que é antigo e deve ser removido, ele não tem metade das features de suites de supervisão como Systemd, openrc, upstart, epoch, daemontools e derivados.
"Systemd elimina um monte de codigo de boiler" E cria codigo em boiler nas units, isso só é um argumento nos scripts openrc que tem as longas noticias de licenças, o meu codigo de run pro dhcpcd é tão simples que ele é apenas
1 #!/bin/sh
2 exec dhcpcd -B ${OPTS:=-M} 2>&1
>>> 2 LINHAS <<< claro não tem comentarios mas o codigo é tão pequeno que ele é auto descritivo. e eu posso por comentario depois do codigo em cada linha
"Systemd tem 69quantas binarias então ele é modular" Não, essas binarias estão fortemente emcopladas com as outras, se eu quiser rodar uma eu vou ter que rodar systemd e talvez sim ou não ser obrigado a rodar as outras (varia de caso a caso se voce pode desativar funcionalidade).
"Systemd trouxe varias inovações" Eeeh, nem tanto, ele só fez o colamento delas juntos, voce pode usar ( e eu usava) cgroups sem systemd por exemplo, só é mais dificil que o systemd que automatiza isso. na verdade veio muita mais inovação do SysVinit --> Daemontools, do que Daemontools --> Systemd.
"Mas qual é a opção ? voce prefere SysVinit ?" Isso é um argumento que se baseia na Ideia de que SysVinit e systemd são os unicos init systems que existem, é facil fazer o systemd parecer algo bom quando voce compara com algo arcaico como o Sysvrc, as alternativas incluem.
Upstart que era do Ubuntu
Daemontools do DJB
---> Daemontools-encore
---> s6 do skarnet (recomendo)
---> runit do Garrit Pape (uso)
sinit com svc (quero testar)
Epoch
SysVinit/Openrc (ou até runit-init/Openrc eu rodei por um tempo)
finit
minit do Rich Felker
"Systemd-pid1 esta errado porque ele faz supervisão de Processos" Meio-verdade Meio-falso, um pid1 não fazer supervisão de processos é algo errado, o sistema que eu acredito que seja correto é o seguinte:
pid1 faz reaping de zombies e supervisão de outro processo o pid2, o pid2 é a suite de supervisão que cuida de supervisionar todos os outros processos. por que ?
Se o pid2 crashar, o pid1 que esta supervisionando ele vai perceber, e ele pode fazer reboot ou reativar o pid2, Se o pid1 não fizesse a supervisão desse processo voce estaria com um pedaço de tijolo que é apenas o pid1 parado lá sem fazer nada e voce teria que manualmente tirar da tomada.
"Voce usa linux que é monolitico, então voce tem que aceitar systemd" Não.
1. O Linux dá opção de desativar varias coisas durante a compilação, por isso ele pode funcionar em Desktop e Roteadores
2. Usar um software monolitico não dá razão pra usar outro
"Se voce não gosta do systemd, voce pode sempre forkar"
Não, as escolhas do systemd são mais de design, o codigo não é ruim, o design dele é, forkar pra mudar o design é o mesmo que refazer do 0, e já temos alternativas melhores como openrc, daemontools e derivados
Isso é francamente ofensivo, projetos como o Gentoo tem uma equipe pra cuidar de patches pra fazer o Gnome que depende no systemd funcionar no openrc, eles tambem tem o eudev que foi feito pra compatibilidade extrema, o mundo ta sempre perseguindo o systemd e suas interfaces instaveis.
A pessoa tambem assume que a pessoa quer manter um componente gigante de sistema em C, ninguem consegue sozinho e a maioria não tem conhecimento em C suficiente pra manter.
"Se voce não gosta de função X no systemd voce pode fazer um patch"
Eu já fiz, e era horrivel, eu ainda faço pro dbus e ainda é horrivel, elas são interfaces instaveis, vão mudar a qualquer hora, e em qualquer update tem a possibilidade do seu codigo simplesmente não ser aplicado corretamente ou ser aplicado, compilar mas falhar silencioasamente.
Diferente de coisas com o Runit que tem uma fundação solida, o Garrit Pape não vai mudar aquilo lá.
"Voce só tem medo de mudança, esses usuarios malditos que ficam preso em coisas antigas"
1. Ter medo de mudança é algo garantido quando voce ve que o navio vai bater em um iceberg.
2. Isso é uma analise pseudopsicologica, ela mostra que o autor não entende os argumentos a favor e contra.
3. Eu por exemplo uso varias coisas bleeding edge
Uso musl libc do Rich Felker
Uso Libressl do OpenBSD
Usava bcachefs no /usr/local/bin
Uso Reiser4 no /var/tmp
Uso ghc-8.0.1 pro meu xmonad
quase 10% do software no meu gentoo é live ebuild (-9999) que voce dá update quando eles mandam um commit pro git
Eu uso ACCEPT_KEYWORDS="~amd64" (instavel) todos os meus programas que eu não explicitamente não coloquei em amd64 (estavel) rodam na arvore instavel, os unicos que ficam na stable é os perl porque perl tem 500 pacotes que ficam brigando entre o perl usar a versão 5.20,5.22 ou 5.24
"Se voce não usa o systemd, por que criticar ele ?"
Porque ele me ainda afeta negativamente, olha como o GNOME agora depende no systemd,qualquer pessoa que quer gnome, tem que pegar systemd ou usar gentoo,
eu pessoalmente acho GNOME uma interface nojenta que tem a ideia de "ser instantaneamente usavel" em vez de "gastar 20/30 minutos pra aprender a fazer as coisas de forma mais eficiente" e como os desevolvedores sempre falam como se eles dessem escolha pros usuarios eles é algo ruim porque destroe a identidade da marca,mas isso é outra historia, :v eu ainda posso cagar bastante no GNOME, se mostrar interesse eu escrevo algo sobre.
A maioria dos usuarios, eu incluso, já usaram systemd, e não gostamos, por isso criticamos ele, deus me livre a gente viver em um mundo em que voce não pode criticar as coisas, isso é horrivel, seria um mundo sem inovação as criticas são as coisas que movem a inovação, imagina se voce faz um software ruim mas todo mundo fica tipo "bom software", "gostei" em vez de "melhore isso: X,Y,Z", "Sua Implementação é horrivel mds".