Lançado "mais um" sistema de inicialização pro Linux

Artigo publicado no Linuxiac analiza o lançamento de um novo sistema de inicialização (init system) chamado Nitro, que entra no já vasto universo de opções para o Linux.

O sistema de inicialização é um dos primeiros programas a rodar no Linux. Sua principal função é iniciar todos os outros serviços e processos do sistema, como servidores web, ambientes gráficos, e outros serviços essenciais.

Nitro é a nova alternativa minimalista para a supervisão de processos, desenvolvida por Leah Neukirchen, mantenedora do Void Linux, distribuição que já usa o runit em vez do systemd.

A principal motivação por trás do projeto era criar algo extremamente pequeno, flexível e simples de configurar. Em vez de adicionar camadas de funcionalidades complexas, como o systemd, o Nitro foca no essencial, que é iniciar, supervisionar e reiniciar serviços.


Leah Neukirchen, a criadora

Embora o systemd seja o sistema de inicialização dominante, o Linux é conhecido por sua diversidade, oferecendo alternativas como o runit. Várias características tornam o Nitro único, como manter todo o seu estado na memória, ideal para sistemas de arquivos raiz (root) somente leitura.

Ele não fica “checando” (polling) o estado dos serviços constantemente, usando um modelo eficiente e orientado a eventos, economizando recursos. Uma vez rodando, não aloca mais memória, o que evita problemas de fragmentação e garante um comportamento previsível.

Ele é distribuído como um único arquivo executável. Quando compilado com a biblioteca musl libc, fica especialmente pequeno. A configuração não exige etapas de compilação. Os serviços são configurados em diretórios com scripts simples.

Oferece reinicialização automática e confiável de serviços que falham. Funciona mesmo sem que o relógio do sistema esteja configurado corretamente. Pode ser usado em outros sistemas, como o FreeBSD.

Nitro não foi projetado para competir com o systemd em grandes distribuições Linux. Em vez disso, ele tem seu lugar em casos de uso especializados, como contêineres leves, sistemas embarcados e ambientes minimalistas, onde um binário pequeno e de comportamento previsível é crucial.

3 curtidas