Novas versões do gerenciador de serviços s6-rc e do sistema de inicialização s6-linux-init

Apresentamos a versão 0.5.6.0 do gerenciador de serviços s6-rc, projetado para gerenciar a inicialização de scripts e serviços. Suporta o rastreamento de árvores de dependência e a inicialização ou finalização automática de serviços para alcançar um estado especificado. A ferramenta s6-rc pode ser utilizada tanto em sistemas de inicialização quanto para organizar a execução de serviços arbitrários em resposta 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 sobre 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.

Simultaneamente, foram formadas novas versões de pacotes complementares ao s6-rc:

  • s6 2.13.2.0 — utilitários para rastreamento e gerenciamento de processos (semelhante ao daemontools e runit). Suporta funcionalidades como reinicialização de processos após falhas, execução de um manipulador (ativação de serviço) ao acessar uma porta de rede, registro de eventos (substituição do syslogd) e concessão controlada de privilégios adicionais (semelhante ao sudo).
  • s6-linux-init 1.1.3.0 — implementação do processo init para sistemas operacionais baseados no kernel Linux, utilizados para criar sistemas de inicialização onde pacotes s6 e s6-rc são usados para gerenciar serviços e scripts.
  • s6-networking 2.7.1.0 — um conjunto de utilitários para a criação de serviços de rede, similar ao ucspi.
  • s6-frontend — camada para recriar a funcionalidade do daemontools e runit sobre o s6.
  • s6-portable-utils 2.3.1.0 — um conjunto de utilitários Unix padrão, como cut, chmod, ls, sort e grep, otimizados para consumir recursos mínimos e distribuídos sob a licença ISC.
  • s6-linux-utils 2.6.3.0 — um conjunto de utilitários vinculados ao Linux, como chroot, freeramdisk, logwatch, mount e swapon.
  • mdevd 0.1.7.0 — gerenciador de eventos (semelhante ao udevd), destinado ao manuseio de dispositivos conectados por plug-and-play. Por configuração, o mdevd é compatível com o mdev do Busybox.
  • bcnm 0.0.2.0 — configurador de rede com capacidades para ajustar Wi-Fi do lado do cliente.
  • execline 2.9.7.0 — linguagem de escrita de scripts.
  • skalibs 2.14.4.0 — biblioteca para a criação de aplicativos de sistema seguros na linguagem C.
  • s6-dns 2.4.1.0 — conjunto de bibliotecas e utilitários clientes que substituem utilitários DNS padrão do BIND e djbdns.
  • dnsfunnel 0.0.3.0 — redireciona consultas DNS locais para o exterior. servidor (encaminhador DNS).
  • shibari 0.0.2.0 — servidor DNS simples.
  • tipidee 0.0.6.0 — Servidor HTTP com suporte a HTTP/1.1.

Nas novas versões, todos os pacotes têm suporte ao pkg-config. A biblioteca skalibs implementou variantes de funções de entrada/saída, cujo tempo de execução pode ser limitado por um timeout. No mdevd, foi adicionada a opção '-I' para definir o nome do grupo netlink para receber solicitações, e o tamanho do buffer padrão foi aumentado para 1 MB. No tipideed, foi possibilitada a transmissão em streaming da saída de scripts CGI, com suporte aos métodos PUT, DELETE e PATCH, e implementada a diretiva autochunk para a codificação chunked dos dados transmitidos.

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