La version du gestionnaire de services s6-rc 0.5.6.0 a Ă©tĂ© prĂ©sentĂ©e, elle est destinĂ©e Ă gĂ©rer le dĂ©marrage des scripts d'initialisation et des services. Elle prend en charge le suivi de l'arbre de dĂ©pendances et le dĂ©marrage ou l'arrĂȘt automatique des services pour atteindre l'Ă©tat spĂ©cifiĂ©. L'outil s6-rc peut ĂȘtre utilisĂ© Ă la fois dans les systĂšmes d'initialisation et pour organiser le dĂ©marrage de services arbitraires en fonction des Ă©vĂ©nements reflĂ©tant les changements d'Ă©tat du systĂšme. Le systĂšme prend en charge les scripts d'initialisation compatibles avec sysv-init et peut importer des informations sur les dĂ©pendances Ă partir de sysv-rc ou OpenRC. Le code est Ă©crit en C et distribuĂ© sous la licence ISC.
Le gestionnaire de services s6-rc comprend un ensemble d'outils pour dĂ©marrer et arrĂȘter des processus de longue durĂ©e (dĂ©mons) ou des scripts d'initialisation qui se terminent immĂ©diatement. Pendant son fonctionnement, il permet le dĂ©marrage parallĂšle de services non intrusifs et garantit une sĂ©quence d'exĂ©cution des scripts qui se rĂ©pĂšte Ă chaque dĂ©marrage. Tous les changements d'Ă©tat sont traitĂ©s en tenant compte des dĂ©pendances ; par exemple, lors du dĂ©marrage d'un service, les dĂ©pendances nĂ©cessaires Ă son bon fonctionnement seront automatiquement lancĂ©es, et lors de l'arrĂȘt, les services dĂ©pendants seront Ă©galement arrĂȘtĂ©s.
Contrairement à d'autres gestionnaires de services, s6-rc prend en charge la construction anticipée (en mode hors ligne) du graphe de dépendances pour l'ensemble des services existants, ce qui permet d'effectuer une analyse des dépendances gourmande en ressources séparément, plutÎt qu'au moment du démarrage ou du changement d'état. Le systÚme n'est pas monolithique et est divisé en une série de modules séparés et remplaçables, chacun résolvant une tùche spécifique conformément à la philosophie Unix. Le projet s6-rc adhÚre à la philosophie du minimalisme (ne contient rien de superflu) et consomme un minimum de ressources.
Au lieu des niveaux de dĂ©marrage (runlevel), s6-rc propose le concept de bundles, permettant de regrouper les services par caractĂ©ristiques et tĂąches Ă accomplir. Pour amĂ©liorer l'efficacitĂ©, une base de donnĂ©es des dĂ©pendances est gĂ©nĂ©rĂ©e Ă l'aide de l'outil s6-rc-compile, basĂ©e sur le contenu des rĂ©pertoires contenant les fichiers de dĂ©marrage/arrĂȘt des services. Les outils s6-rc-db et s6-rc-update sont proposĂ©s pour l'analyse et manipulation de la base de donnĂ©es.
En mĂȘme temps, de nouvelles versions de paquets d'accompagnement, complĂ©tant s6-rc, ont Ă©tĂ© créées :
- s6 2.13.2.0 - des outils pour surveiller et gĂ©rer les processus (Ă©quivalent de daemontools et runit). Des fonctionnalitĂ©s telles que le redĂ©marrage des processus aprĂšs un plantage, le lancement d'un gestionnaire (activation d'un service) lors d'une requĂȘte Ă un port rĂ©seau, la journalisation des Ă©vĂ©nements (remplaçant syslogd) et la fourniture contrĂŽlĂ©e de privilĂšges supplĂ©mentaires (Ă©quivalent de sudo) sont supportĂ©es.
- s6-linux-init 1.1.3.0 - une implémentation du processus init pour les systÚmes d'exploitation basés sur le noyau Linux, utilisée pour créer des systÚmes d'initialisation dans lesquels les paquets s6 et s6-rc gÚrent les services et les scripts.
- s6-networking 2.7.1.0 - un ensemble d'outils pour créer des services réseau, similaire à ucspi.
- s6-frontend - une couche pour recréer la fonctionnalité de daemontools et runit sur s6.
- s6-portable-utils 2.3.1.0 - un ensemble d'outils Unix standard tels que cut, chmod, ls, sort et grep, optimisés pour consommer des ressources minimales et fournis sous licence ISC.
- s6-linux-utils 2.6.3.0 - un ensemble d'outils spécifiquement liés à Linux, tels que chroot, freeramdisk, logwatch, mount et swapon.
- mdevd 0.1.7.0 - un gestionnaire d'événements (équivalent de udevd) conçu pour traiter le branchement à chaud des périphériques. En configuration, mdevd est compatible avec mdev de Busybox.
- bcnm 0.0.2.0 - un configureur réseau avec des capacités pour configurer le Wi-Fi du cÎté client.
- execline 2.9.7.0 - un langage de script.
- skalibs 2.14.4.0 - une bibliothÚque pour la création d'applications systÚme sécurisées en langage C.
- s6-dns 2.4.1.0 - un ensemble de bibliothÚques et d'outils clients remplaçant les outils DNS standards de BIND et djbdns.
- dnsfunnel 0.0.3.0 - redirige les requĂȘtes DNS locales vers l'extĂ©rieur serveur (DNS forwarder).
- shibari 0.0.2.0 - un serveur DNS simple.
- tipidee 0.0.6.0 - un serveur HTTP avec support HTTP/1.1.
Dans les nouvelles versions, un support pour pkg-config a Ă©tĂ© ajoutĂ© Ă tous les paquets. La bibliothĂšque skalibs a implĂ©mentĂ© des variantes de fonctions d'entrĂ©e/sortie dont le temps d'exĂ©cution peut ĂȘtre limitĂ© par un timeout. Dans mdevd, une option « -I » a Ă©tĂ© ajoutĂ©e pour spĂ©cifier le nom du groupe netlink pour recevoir des requĂȘtes, et la taille du tampon par dĂ©faut a Ă©tĂ© augmentĂ©e Ă 1 Mo. Dans tipideed, la possibilitĂ© de diffuser des sorties de scripts CGI a Ă©tĂ© ajoutĂ©e, ainsi que le support des mĂ©thodes PUT, DELETE et PATCH, avec la directive autochunk pour l'encodage chunked des donnĂ©es transmises.
Source : opennet.ru
