Gentoo - Calculate : Lancer des scripts personnalisés au démarrage avec OpenRC
Table des matières
Comme tout administrateur système, il peut être intéressant de faire démarrer des scripts perso au démarrage du système, surtout s'il s'agit d'un serveur !
Beaucoup de distributions Linux possédaient (avant systemd) le fameux fichier /etc/rc.local dans lequel on plaçait toutes nos commandes à exécuter une fois le système Linux booté.
Depuis systemd, il est possible de se créer un service maison pour faire ce qu faisait le rc.local.
Mais sous Gentoo, et plus particulièrement Calculate Linux, ce fichier n'existe pas.
Tout se passe dans /etc/local.d/
Ce répertoire (/etc/local.d/) contiendra les programmes ou scripts qui doivent être exécutés lorsque le service local est démarré ou arrêté.
Si un fichier de ce répertoire est exécutable et qu'il a une extension .start, il sera exécuté lorsque le service local est démarré.
Si un fichier est exécutable et qu'il a une extension .stop, il sera exécuté lorsque le service local est arrêté.
Les fichiers présents dans ce dossier seront exécutés dans l'ordre alphabétique.
Voici un exemple de mon dossier /etc/local.d/
Ainsi, lorsque le service local sera démarré, le script 01iptables.start s'exécutera puis 02serveurjeu.start ensuite.
On vérifie avant si le service se démarre :
C'est le cas chez moi en mode normal (default) et en mode sans réseau (nonetwork)
Si tel n'est pas le cas :
Introduction
Comme tout administrateur système, il peut être intéressant de faire démarrer des scripts perso au démarrage du système, surtout s'il s'agit d'un serveur !
rc.local sous Calculate ?
Beaucoup de distributions Linux possédaient (avant systemd) le fameux fichier /etc/rc.local dans lequel on plaçait toutes nos commandes à exécuter une fois le système Linux booté.
Depuis systemd, il est possible de se créer un service maison pour faire ce qu faisait le rc.local.
Mais sous Gentoo, et plus particulièrement Calculate Linux, ce fichier n'existe pas.
Tout se passe dans /etc/local.d/
Explications ...
Ce répertoire (/etc/local.d/) contiendra les programmes ou scripts qui doivent être exécutés lorsque le service local est démarré ou arrêté.
Si un fichier de ce répertoire est exécutable et qu'il a une extension .start, il sera exécuté lorsque le service local est démarré.
Si un fichier est exécutable et qu'il a une extension .stop, il sera exécuté lorsque le service local est arrêté.
Les fichiers présents dans ce dossier seront exécutés dans l'ordre alphabétique.
En pratique
Voici un exemple de mon dossier /etc/local.d/
Code BASH :
ls /etc/local.d/ 01iptables.start 02serveurjeu.start
Ainsi, lorsque le service local sera démarré, le script 01iptables.start s'exécutera puis 02serveurjeu.start ensuite.
Activer le service local au démarrage
On vérifie avant si le service se démarre :
Code BASH :
rc-update -v | grep -E '\blocal\b' local | default nonetwork
C'est le cas chez moi en mode normal (default) et en mode sans réseau (nonetwork)
Si tel n'est pas le cas :
Code BASH :
rc-update add local default