Pesquisa de site

6 melhores sistemas 'init' Linux modernos (1992-2023)


No Linux e em outros sistemas operacionais do tipo Unix, o processo init (inicialização) é o primeiro processo executado pelo kernel no momento da inicialização, que possui um ID do processo (PID) de 1, que é executado em segundo plano até que o sistema seja desligado.

O processo init inicia todos os outros processos do Linux, ou seja, daemons, serviços e outros processos em segundo plano, portanto, é a mãe de todos os outros processos no sistema.

Um processo pode iniciar muitos outros processos filhos no sistema, mas se um processo pai morrer, init se tornará o pai do processo órfão.

Ao longo dos anos, muitos sistemas init surgiram nas principais distribuições Linux e neste guia daremos uma olhada em alguns dos melhores sistemas init com os quais você pode trabalhar no sistema operacional Linux.

1. Inicialização do Sistema V

System V (SysV) é um esquema init maduro e popular em sistemas operacionais do tipo Unix, é o pai de todos os processos em um sistema Unix/Linux. SysV é o primeiro sistema operacional Unix comercial projetado.

Quase todas as distribuições Linux usaram pela primeira vez o esquema de inicialização SysV, exceto o Gentoo que tem um init personalizado e o Slackware que usa o esquema de inicialização no estilo BSD.

Com o passar dos anos, devido a algumas imperfeições, vários substitutos do SysV init foram desenvolvidos na busca por criar sistemas init mais eficientes e perfeitos para Linux.

Embora essas alternativas busquem melhorar o SysV e provavelmente oferecer novos recursos, elas ainda são compatíveis com os scripts de inicialização do SysV originais.

2. SistemaD

SystemD é um esquema de inicialização relativamente novo na plataforma Linux. Introduzido no Fedora 15, é uma variedade de ferramentas para facilitar o gerenciamento do sistema. O objetivo principal é inicializar, gerenciar e acompanhar todos os processos do sistema durante o processo de inicialização e enquanto o sistema está em execução.

O Systemd init é totalmente distinto de outros sistemas init Unix tradicionais, na forma como aborda praticamente o gerenciamento de sistemas e serviços. Também é compatível com scripts de inicialização SysV e LBS.

Possui alguns dos seguintes recursos eminentes:

  • Design limpo, direto e eficiente
  • Processamento simultâneo e paralelo na inicialização
  • Melhor APIv
  • Permite a remoção de processos opcionais
  • Suporta registro de eventos usando journald
  • Suporta agendamento de trabalhos usando temporizadores de calendário do systemd
  • Armazenamento de logs em arquivos binários
  • Preservação do estado do systemd para referência futura
  • Melhor integração com GNOME e muito mais

3. Arrivista

Upstart é um sistema init baseado em eventos desenvolvido pelos criadores do Ubuntu como um substituto para o sistema init SysV. Ele inicia diferentes tarefas e processos do sistema, inspeciona-os enquanto o sistema está em execução e os interrompe durante o desligamento do sistema.

É um sistema de inicialização híbrido que usa scripts de inicialização SysV e scripts Systemd. Alguns dos recursos notáveis do sistema de inicialização Upstart incluem:

  • Originalmente desenvolvido para Ubuntu Linux, mas pode ser executado em todas as outras distribuições
  • Início e parada de tarefas e serviços com base em eventos
  • Os eventos são gerados durante o início e a parada de tarefas e serviços
  • Os eventos podem ser enviados por outros processos do sistema
  • Comunicação com o processo init através do D-Bus
  • Os usuários podem iniciar e parar seus processos
  • Renascimento de serviços que morrem abruptamente e muitos mais

4. OpenRC

OpenRC é um esquema init baseado em dependência para sistemas operacionais do tipo Unix, é compatível com o SysV init. Por mais que traga algumas melhorias ao Sys V, você deve ter em mente que o OpenRC não é um substituto absoluto para o arquivo /sbin/init.

Ele oferece alguns recursos ilustres, incluindo:

  • Ele pode rodar em muitas outras distribuições Linux, incluindo Gentoo e também em BSD
  • Suporta scripts de inicialização iniciados por hardware
  • Suporta um único arquivo de configuração
  • Nenhuma configuração por serviço suportada
  • Funciona como um daemon
  • Inicialização de serviços paralelos e muito mais

5. runit

runit também é um sistema init multiplataforma que pode ser executado em GNU/Linux, Solaris, *BSD e Mac OS X e é uma alternativa ao SysV init, que oferece supervisão de serviço.

Ele vem com alguns benefícios e componentes notáveis não encontrados no SysV init e possivelmente em outros sistemas init no Linux e incluem:

  • Supervisão de serviço, onde cada serviço está associado a um diretório de serviços
  • Um estado de processo limpo garante a cada processo um estado limpo
  • Possui um recurso de registro confiável
  • Inicialização e desligamento rápido do sistema
  • Também é portátil
  • Embalagem amigável
  • Tamanho de código pequeno e muito mais

6.s6

s6 oferece um conjunto compacto de ferramentas para UNIX, adaptadas para supervisão de processos, semelhantes a daemontools e runit. Facilita operações em processos e daemons.

Projetado como um kit de ferramentas de administração de serviços de baixo nível, o s6 fornece diversas ferramentas que podem funcionar de forma independente ou dentro de sua estrutura. Essas ferramentas, quando combinadas, oferecem funcionalidade robusta com código mínimo.

Como mencionei anteriormente, o sistema init inicia e gerencia todos os outros processos em um sistema Linux. Além disso, SysV é o principal esquema de inicialização nos sistemas operacionais Linux, mas devido a algumas deficiências de desempenho, os programadores de sistema desenvolveram vários substitutos para ele.

Aqui, vimos algumas dessas substituições, mas pode haver outros sistemas init que você acha que valem a pena mencionar nesta lista. Você pode nos informar sobre eles através da seção de comentários abaixo.