Services

Comme tout bon système d’exploitation qui se respecte, les services sont gérés par un gestionnaire de services. Dans le cas de Carnotzet OS, c’est BusyBox qui nous le met à disposition avec la commande sv. Ce gestionnaire de services est basé sur runit. L’installation de base charge d’office quelques services essentiellement destinés au réseau aussi bien filaire que sans-fil.

Statut

Commençons par inspecter l’état de tous les services existants avec la commande sv status.

~ # sv status /etc/sv/*
run: /etc/sv/network: (pid 136) 1758380238s; run: log: (pid 132) 1758380238s
run: /etc/sv/ntpd: (pid 135) 1758380238s; run: log: (pid 131) 1758380238s
finish: /etc/sv/wifi: (pid 265) 0s; run: log: (pid 130) 1758380238s

Avec cet exemple, les services network et ntpd sont en cours d’exécution. Par contre le service wifi s’est terminé. La raison est simple, cet exemple utilise la configuration par défaut qui active uniquement l’interface réseau filaire. L’astuce pour retrouver la liste complète de tous les services est de lister le contenu du répertoire /etc/sv. Il est aussi possible de se baser sur le répertoire /var/service qui retournera exactement la même liste. Vous pouvez bien entendu interroger l’état pour un seul service en le spécifiant explicitement.

~ # sv status network
run: network: (pid 136) 1758380821s; run: log: (pid 132) 1758380821s

Journal

Le gestionnaire runit s’occupe de tout. Il nous met à disposition les journaux des services et va gérer la rotation des journaux un peu à la manière de logrotate. Nous pouvons très simplement inspecter le journal du service wifi afin de voir pourquoi il s’est terminé.

~ # tail -f -n10 /var/log/wifi/current
2025-09-20_15:09:42.04074 Start network...
2025-09-20_15:09:42.04114 Wifi interfaces disabled
2025-09-20_15:09:47.06154 Start network...
2025-09-20_15:09:47.06156 Wifi interfaces disabled
2025-09-20_15:09:52.07602 Start network...
2025-09-20_15:09:52.07604 Wifi interfaces disabled

On peut constater qu’il y a une nouvelle tentative de démarrer l’interface wifi toutes les 5 secondes. C’est le comportement attendu ici. Le fait de reconfigurer à chaud la configuration via /boot/carnotzet.cfg permet d’activer le wifi sans se soucier du service. Vous êtes libre d’aller inspecter les autres journaux.

Cycle de vie

Pour stopper ou démarrer un service, c’est très simple. La commande sv accepte les sous-commandes start et stop. Essayons de stopper complètement le service wifi.

~ # sv stop wifi
down: wifi: 25s, normally up; run: log: (pid 130) 1758381286s

Désormais, si vous inspectez le journal, vous n’y verrez plus aucune tentative de démarrage toutes les 5 secondes. Pour relancer le service, utilisons start.

~ # sv start wifi
finish: wifi: (pid 916) 1s; run: log: (pid 130) 1758381390s

Je vous invite à consulter l’aide avec man sv pour quelques détails supplémentaires.

Désactiver un service

Peut-être que vous ne souhaitez plus qu’un service spécifique se relance au démarrage. Par exemple vous savez que vous n’utiliserez jamais le réseau sans-fil. Dans ce cas, il suffit de poser un fichier down dans le dossier du service, et le tour est joué.

~ # touch /var/service/wifi/down

Au prochain démarrage de Carnotzet OS, ce service sera alors complètement ignoré.

La date et l’heure

Il est possible qu’en inspectant certains journaux, vous découvriez une date absurde comme par exemple 1970-01-01_00:00:14.68326. Cela provient du fait que la carte Raspberry Pi 4B n’a pas d’horloge temps réel (RTC). Un ordinateur plus classique comporte un composant RTC et une pile pour maintenir la tension électrique sur celui-ci. Étant donné que ce n’est pas le cas pour notre matériel, le démarrage se fait avec la date 0 qui correspond au premier janvier 1970. C’est ici qu’intervient le service ntpd qui va s’occuper de mettre à jour l’horloge dès qu’une connexion internet est disponible.

Concernant le Raspberry Pi 5 (non supporté pour le moment) l’histoire est un peu différente. Ce matériel comporte un composant RTC. Un connecteur permet d’y ajouter une pile électrique afin de maintenir l’horloge.

Plus de services

Les services de base, c’est bien, mais de nouveaux services c’est encore mieux. Allons voir comment ça se passe avec le gestionnaire de paquets à la section Paquets.