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

A versão 0.7.0.0 do gerenciador de serviços s6-rc foi lançada. Ele foi projetado para gerenciar a inicialização de scripts e serviços. O s6-rc oferece suporte ao rastreamento da árvore de dependências e à inicialização ou desligamento automático de serviços para atingir um estado específico. O conjunto de ferramentas s6-rc pode ser usado tanto em sistemas de inicialização quanto para organizar a inicialização de serviços arbitrários com base em 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ência do 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 execução (daemons) ou scripts de inicialização imediatamente encerrados. Durante a operação, o lançamento paralelo de serviços não interseccionais é garantido e uma sequência repetitiva de execução de script é garantida para diferentes lançamentos. Todas as mudanças de estado são processadas levando em consideração dependências, por exemplo, quando um serviço é iniciado, as dependências necessárias para sua operação serão iniciadas automaticamente e, quando ele for interrompido, os serviços dependentes também serão interrompidos.

Diferentemente de outros gerenciadores de serviços, o s6-rc oferece suporte à construção proativa (offline) de um gráfico de dependência para um conjunto existente de serviços, o que permite que análises de dependência com uso intensivo de recursos sejam executadas separadamente, em vez de durante a inicialização ou alterações de estado. Ao mesmo tempo, o sistema não é monolítico e é dividido em uma série de módulos separados 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 (runlevels), o s6-rc utiliza o conceito de pacotes (bundles), permitindo que os serviços sejam agrupados de acordo com critérios e tarefas arbitrários. Para melhorar a eficiência, é utilizado um banco de dados de dependências compilado, criado pelo utilitário s6-rc-compile com base no conteúdo dos diretórios que contêm os arquivos de inicialização/parada dos serviços. Os utilitários s6-rc-db e s6-rc-update são fornecidos para analisar e manipular o banco de dados. O conjunto de ferramentas s6 é utilizado nas distribuições Obarun, Adelie e Artix, e também pode ser usado opcionalmente no Gentoo, Void e Alpine.

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

  • O s6 é um utilitário para monitorar e gerenciar processos (similar ao daemontools e ao runit). Ele oferece recursos como reiniciar processos após seu término anormal, iniciar um manipulador (ativação de serviço) quando uma porta de rede é acessada, registro de eventos (uma alternativa ao syslogd) e concessão controlada de privilégios adicionais (similar ao sudo).
  • s6-linux-init — uma implementação do processo init para sistemas operacionais baseados em kernel. Linux, usado para criar sistemas init que utilizam os pacotes s6 e s6-rc para gerenciar serviços e scripts.
  • s6-networking é um conjunto de utilitários para criação de serviços de rede, semelhante ao ucspi.
  • s6-frontend - uma estrutura para recriar a funcionalidade de daemontools e runit sobre s6.
  • s6-portable-utils é um conjunto de utilitários Unix padrão, como cut, chmod, ls, sort e grep, otimizados para consumo mínimo de recursos e fornecidos sob a licença ISC.
  • s6-linux-utils - um conjunto de utilitários vinculados a Linuxtais como chroot, freeramdisk, logwatch, mount e swapon.
  • O mdevd é um gerenciador de eventos (similar ao udevd) projetado para lidar com a conexão dinâmica de dispositivos. O mdevd é compatível em termos de configuração com o mdev do Busybox.
  • O bcnm é um configurador de rede com funcionalidades para configurar Wi-Fi no lado do cliente.
  • execline é uma linguagem de script.
  • skalibs é uma biblioteca para criar aplicações de sistema seguras na linguagem C.
  • s6-dns é um conjunto de bibliotecas clientes e utilitários que substituem os utilitários DNS padrão do BIND e djbdns.
  • dnsfunnel - redireciona solicitações DNS locais para um servidor DNS externo. servidor (Encaminhador DNS).
  • Shibari é um servidor DNS simples.
  • Tipidee é um servidor HTTP com suporte a HTTP/1.1.

Na nova versão do s6-rc e utilitários relacionados:

  • O comando "s6-rc reload" foi implementado para reiniciar serviços de longa duração.
  • Adicionado um arquivo de controle de sinal de recarregamento que define o sinal enviado ao processo para reiniciar (o padrão é SIGHUP).
  • O utilitário s6-rc-bundle foi removido; alterar pacotes sem recompilar não é mais suportado.
  • Foi proposto um novo formato para o banco de dados interno (a atualização requer recompilação e execução do utilitário s6-rc-format-upgrade).
  • O correto tratamento da situação de reinicialização do utilitário s6-rc-init para inicialização do serviço foi assegurado, e o tratamento de falhas do sistema foi aprimorado.
  • O utilitário s6-rc-set-change foi atualizado com as seguintes opções: -I/-i para exibir um aviso ou falhar com um erro quando uma dependência conflitante for detectada; -P/-p para desativar/ativar a resolução automática de conflitos de dependência quando os estados do serviço mudarem.
  • A opção obsoleta "-f" foi removida.
  • O utilitário s6 agora possui o comando s6-svscanboot para redirecionar os logs do supervisor s6-svscan para s6-log quando não estiver sendo executado com o PID 1.
  • Implementada a opção "s6-svc -l" para enviar um sinal de reinicialização.
  • A interface de usuário do s6-frontend agora suporta as seguintes opções e comandos: "s6 --user" (para trabalhar com serviços de usuário), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
  • O servidor HTTP tipidee agora oferece suporte ao FastCGI e adiciona a opção cgi_pass_authorization.

    Fonte: opennet.ru
Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster