Debian e Devuan juntam forças para sysvinit

Alguns dias atrás , a próxima versão do clássico sistema de inicialização Unsys / Linux sysvinit 2.92 foi lançada antes do previsto. A edição anterior 2.91 saiu há pouco mais de um mês.


devu


O que é notável sobre o lançamento da versão menor do antigo sistema de inicialização (SI), que quase todas as distribuições modernas do Linux recusaram, e que tipo de alegria é essa para a comunidade de código aberto e os usuários do Debian Linux?


Este episódio é interessante, pois o lançamento foi um esforço conjunto de duas equipes antagônicas de desenvolvimento do Debian e Devuan, que se separaram há 4 anos devido à situação em torno do systemd . Mas vamos colocá-lo em ordem.


Votação tripla no systemd


Alguns meses antes do lançamento do Debian Jessie, os líderes do projeto enfrentaram a necessidade de decidir sobre o sistema de inicialização. Naquela época, o systemdestava ganhando popularidade e era um dos principais candidatos. No total, quatro SI participaram da corrida.


  • systemd
  • iniciante;
  • openrc;
  • sysvinit.

A votação também teve a opção de "uma discussão mais aprofundada é necessária".


Os resultados da primeira rodada mostraram um equilíbrio entre o iniciante e o systemd , cada um deles recebeu 4 votos. Para tomar uma decisão, era necessária uma proporção de votos de 2: 1.


Duas semanas depois disso, ocorreu uma segunda rodada no início de fevereiro de 2014, na qual nada de novo aconteceu essencialmente. As vozes foram divididas na mesma proporção e uma decisão foi tomada em um debate mais aprofundado.


A favor do systemd votou:


  • Bdale Garbee - Presidente do Comitê Técnico;
  • Don Armstrong
  • Keith Packard, um guru do X que atualmente trabalha na Valve;
  • Russ Albery.

Para iniciantes votaram:


  • Colin Watson;
  • Steve Langasek;
  • Ian Jackson;
  • Andreas Barth.

E pela terceira vez, o TC votou, simplificando significativamente as regras e levantando a questão. Eliminando todas as questões secundárias da agenda e reduzindo o limiar da decisão para uma maioria simples, o comitê votou a favor do systemd na terceira chamada


Não, nenhum dos apoiadores iniciantes mudou-se para o campo oposto, o resultado da votação foi decidido por uma votação adicional do Presidente do Comitê Técnico, Bidel Garby, e a questão do SI do Debian Linux foi resolvida com apenas um voto com o balanço de opiniões anterior 4: 4.


Linus raspa Bideil Garby no LinuxConf 2009


barbear


O resultado da votação causou um forte sentimento de amargura, decepção e injustiça entre os oponentes do systemd . Nas listas de discussão do Debian, as paixões eram altas.


Ian Jackson convidou Bideil Garby a renunciar ao cargo de presidente do TC. Depois, liberando força, decidi me afastar temporariamente da participação nos assuntos do TC.


Depois de alguns dias em 11 de fevereiro, ficou claro que a decisão para o Debian Linux foi finalmente tomada e que, no futuro próximo, o sistema principal de inicialização da distribuição será systemd .


Devuan


Os desenvolvedores da distribuição Debian Linux, que não concordaram com esse estado de coisas, não sofreram por muito tempo e seis meses antes do lançamento da mesma 8ª versão, eles criaram seu fork com base no systvinit e o chamaram Devuan , começando pela frase Dev one .


O destaque do kit de distribuição e sua principal diferença em relação ao sistema operacional pai foi o que desencadeou toda a confusão. O Devuan Linux escolheu o sysvinit como o SI. Em geral, o nascimento do desenvolvimento do kit de distribuição foi recebido com grande entusiasmo entre os usuários do Linux, sem excluir a parte em russo .


Em junho , a segunda versão do kit de distribuição foi lançada com base na versão mais recente de seu ancestral - Debian Stretch. Além do sysvinit , você também pode escolher o openrc como um SI.


Vamos tentar entender o que causou essa divisão no ambiente dos desenvolvedores Debian, e de fato entre um grande número de usuários de várias variações do sistema operacional Linux. De fato, antes, havia decisões difíceis e mudanças perigosas na história do GNU / Linux: GPLv3 ou não , UEFI SecureBoot , etc. Por que, então, tudo isso saiu do caminho?


Controvérsia ao redor do sistema


Se reduzirmos a essência de todas as disputas a uma tese, podemos dizer que o systemd implica a troca do controle mais completo sobre a inicialização do sistema e seus serviços, para uma total rejeição da filosofia do Unix.


E o primeiro é ferozmente disputado pelos oponentes do systemd , mas ninguém contesta o segundo. Nem todo mundo concorda que o systemd facilita a vida do administrador, mas poucos podem argumentar que o systemd e o Unix Way são dois extremos.


O systemd fornece recursos agressivos de paralelização, usa soquetes D-Bus e ativação para serviços em execução, oferece daemons a serem lançados conforme necessário, monitora processos usando grupos de controle Linux, suporta instantâneos e restauração do estado do sistema, montagens e pontos de montagem e também implementa dependências baseadas em dependência lógica para controlar processos de transação complexos .

Onde foi a necessidade de um sistema tão abrangente para controlar a inicialização do SO e seus processos? Eu não acredito na teoria da conspiração e, portanto, acredito que as razões estavam nas falhas do sysvinit e outros SI.


Criado em 1983, o sysvinit não conseguiu resolver várias tarefas importantes, como:


  • início paralelo de processos;
  • Detecção de mídia removível
  • ativação de serviços baseados em soquete;
  • Controle de forma confiável as dependências entre diferentes processos e serviços
  • registro de eventos antecipados via /dev/log .

Todos esses e muitos outros inconvenientes foram finalmente resolvidos no systemd . Padronização de arquivos de configuração, unificação de sintaxe e gerenciamento de dependências de serviços com base em cgroups supostamente permitiram que fornecedores de distribuições comerciais de Linux simplificassem a vida dos administradores e reduzissem o custo de gerenciamento do parque de servidores.


Mas qual foi o preço? De acordo com um design estranho, a ideia de Lennart Pottering passou de um SI regular para um "conjunto de blocos de construção para o sistema Linux". Cite a partir da página principal do projeto. Um tipo de estado no estado que controla a conexão de dispositivos, pontos de entrada de sistemas de arquivos, conexões de rede, serviço de hora do sistema, sessões de usuário, logs do sistema etc.


Ao mesmo tempo, muitos desenvolvedores de DE, especialmente o Gnome, começaram a vincular elementos do ambiente gráfico ao systemd :


  • gerenciamento de energia;
  • gerenciamento de sessões de usuários;
  • vendo a revista;
  • se você fechar a tela do laptop, os eventos não serão processados;
  • Wayland

Tudo isso não decolará no Gnome sem patches especiais, se você escolher um SI diferente, exceto systemd .


A razão para esse estado de coisas é que é muito difícil oferecer suporte a duas opções para muitos conjuntos de programas: um com systemd e outro sem. Como resultado, uma situação é criada quando não há como selecionar outro SI na distribuição Linux.


Nuvem de tags de palavras-chave em torno do systemd no Twitter .


systemd


Bem, não há como escolher o SI, isso é realmente importante? Não acho que isso me chateie muito se não houver possibilidade de escolher um carregador de SO ou um cliente DHCP.


Como acontece com muitos usuários, o systemd irrita muitas coisas. O registro antecipado e completo dos eventos do sistema desde o momento do lançamento é certamente bom, mas como você pode imaginar um sistema Linux com arquivos de log binários?


Lennart Pottering pode ser um bom programador, mas o estilo de sua comunicação e a reação aos defeitos detectados e às críticas estão abaixo de todas as críticas. Aqui está sua reação ao defeito 5644 .


O defeito em si.


 # mkdir -p /foo/dir{1,2} # touch /foo/.bar{1,2} # cat /etc/tmpfiles.d/test.conf R! /foo/.* - - - - - Reboot. 

Comentado por Lennart Pottering.


Não tenho certeza se consideraria um grande problema. Sim, é uma armadilha do UNIX, mas "rm -rf /foo/.*" funcionará exatamente da mesma maneira, não? .

Este não é um caso isolado, esse estilo de comunicação lhe rendeu uma má reputação entre os geeks. E isso é apenas parte das reivindicações contra o systemd e seu autor. Devido ao seu escopo, escala e complexidade, um sistema pode ser frágil como um SI - sua principal função.


Mesmo assim, o systemd é superior a todos os principais SIs em suas capacidades, mas a questão ainda permanece. Por que os administradores locais de host comuns não têm a oportunidade de escolher para o Debian Linux e outras distribuições, um modo mais simples de usar e depurar o SI? De fato, nem todo mundo precisa de um lançamento paralelo de processos e gerenciamento de cotas.


Meu entendimento da situação com o systemd é que um SI mais sofisticado, mas ao mesmo tempo, para muitos, excessivamente complexo e opaco foi imposto àqueles que precisavam e quem não precisava . Muitos usuários de Linux não gostaram disso e começaram a reclamar que agora o Linux se tornou como o Windows, mas apenas com código-fonte aberto.


DnD trabalhando juntos em sysvinit


E agora finalmente as boas notícias! Recentemente, houve mudanças entre as equipes de desenvolvimento Debian e Devuan SI. Foi decidido combinar esforços em várias áreas.


  • Mantenha o sysvinit à tona para aqueles que estão prontos para usar o Debian Linux com todas as restrições, inclusive sem um ambiente gráfico. A ajuda de Devuan é necessária na preparação da 10ª versão do Debian, chamada Buster .
  • Como resultado dessa polinização cruzada, os estudiosos do Debian ajudaram seus colegas Devuan a se prepararem para o lançamento do sysvinit 2.92. Graças a isso, os termos foram reduzidos e a questão ocorreu antes da NG, como foi dito no início do post.

Se o bom senso prevalecer, os dois grupos de desenvolvimento poderão definir e implementar objetivos mais relevantes para todos os usuários do Debian / Devuan - para obter suporte completo para vários SIs do Devuan Linux: openrc , s6 , runit , nosh etc. O Debian Linux também possui suporte total pelo menos um SI diferente do systemd seria indubitavelmente beneficiado.


PS A primeira conferência Devuan Linux será realizada em Amsderdam, de 5 a 7 de abril de 2019.


Leitura adicional


Source: https://habr.com/ru/post/pt431202/


All Articles