Lançamento do gerenciador de serviços s6-rc 0.6

Está disponível o lançamento do gerenciador de serviços s6-rc 0.6.0.0, destinado a gerenciar a execução de scripts de inicialização e serviços. Suporta o rastreamento de árvores de dependências e a execução automática ou interrupção de serviços para alcançar o estado desejado. O conjunto de ferramentas s6-rc pode ser aplicado tanto em sistemas de inicialização quanto para organizar a execução de serviços arbitrários vinculados a eventos que refletem mudanças no estado do sistema. O sistema suporta scripts de inicialização compatíveis com sysv-init e pode importar informações de dependências de sysv-rc ou OpenRC. O código é escrito em C e distribuído sob a licença ISC.

O gerenciador de serviços s6-rc inclui um conjunto de utilitários para iniciar e parar processos de longa duração (demonstrações) ou scripts de inicialização que terminam imediatamente. Durante a operação, garante a execução paralela de serviços não sobrepostos e mantém uma sequência de execução dos scripts que se repete em diferentes lançamentos. Todas as mudanças de estado são tratadas levando em consideração as dependências; por exemplo, ao iniciar um serviço, as dependências necessárias para o seu funcionamento serão automaticamente iniciadas, e ao interromper, os serviços dependentes serão parados.

Ao contrário de outros gerenciadores de serviços, o s6-rc suporta a construção proativa (em modo offline) do gráfico de dependências para o conjunto de serviços existente, permitindo realizar uma análise de dependências que exige muitos recursos separadamente, e não durante a inicialização ou mudança de estado. Nesse processo, o sistema não é monolítico e é dividido em uma série de módulos individuais e substituíveis, cada um dos quais, de acordo com a filosofia Unix, resolve apenas uma tarefa específica. O projeto s6-rc adere à filosofia do minimalismo (não contém nada desnecessário) e consome o mínimo de recursos.

Em vez de níveis de execução (runlevel), o s6-rc propõe o conceito de pacotes (bundles), permitindo agrupar serviços de acordo com critérios arbitrários e tarefas a serem resolvidas. Para aumentar a eficiência, utiliza-se um banco de dados compilado de dependências, criado pela ferramenta s6-rc-compile com base no conteúdo dos diretórios com arquivos para iniciar/parar serviços. Para análise e manipulação do banco de dados, são oferecidas as ferramentas s6-rc-db e s6-rc-update.

Na nova versão, foram adicionadas coleções de utilitários s6-rc-repo-* e s6-rc-set-* para gerenciar repositórios com definições de serviços; suporte para bibliotecas compartilhadas na plataforma macOS foi implementado; uma opção «—bootdb» foi adicionada para configuração na fase de construção do banco de dados inicial com informações sobre serviços e suas dependências; uma opção «-v2» foi incluída na ferramenta s6-rc-compile.

O projeto também desenvolve pacotes complementares que enriquecem o s6-rc:

  • s6 — utilitários para rastrear e gerenciar processos (equivalente a daemontools e runit). Possui recursos como reinício de processos após falhas, ativação de serviços ao ser acessada uma porta de rede, registro de eventos (substituindo syslogd) e concessão controlada de privilégios adicionais (semelhante ao sudo).
  • s6-linux-init — implementação do processo init para sistemas operacionais baseados no núcleo Linux, utilizado para criar sistemas de inicialização nos quais pacotes s6 e s6-rc são usados para gerenciar serviços e scripts.
  • s6-networking — conjunto de utilitários para criação de serviços de rede, semelhante ao ucspi.
  • s6-frontend — camada para recriar a funcionalidade do daemontools e runit sobre o s6.
  • s6-portable-utils — conjunto de utilitários Unix típicos, como cut, chmod, ls, sort e grep, otimizados para consumir recursos mínimos e fornecidos sob a licença ISC.
  • s6-linux-utils — conjunto de utilitários vinculados ao Linux, como chroot, freeramdisk, logwatch, mount e swapon.
  • mdevd — gerenciador de eventos (equivalente ao udevd), destinado ao tratamento de conexão a quente de dispositivos. Configuração do mdevd é compatível com o mdev do Busybox.
  • bcnm — configurador de rede com recursos para configuração de Wi-Fi do lado do cliente.
  • execline — linguagem para escrita de scripts.
  • skalibs — biblioteca para criação de aplicativos de sistema seguros em C.
  • s6-dns — um conjunto de bibliotecas e utilitários para clientes que substituem as utilidades DNS padrão do BIND e djbdns.
  • dnsfunnel — redireciona solicitações DNS locais para o externo servidor (encaminhador DNS).
  • shibari — um servidor DNS simples.
  • tipidee — servidor HTTP com suporte para HTTP/1.1.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster