Utiliser Gentoo et Calculate Linux

Gentoo - Calculate : Lancer des scripts personnalisés au démarrage avec OpenRC

Table des matières

Introduction



Il peut être intéressant de faire démarrer des scripts perso au démarrage du système, ou des commandes magiques pour de la reconnaissance de matériel. Pour cela, on va utiliser le service local

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 donc Calculate Linux, ce fichier n'existe pas. (OpenRC est utilisé)
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é. (au démarrage du PC bien souvent)
Si un fichier est exécutable et qu'il a une extension .stop, il sera exécuté lorsque le service local est arrêté. (à l'arrêt du PC)
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 local
                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, on l'ajoute ainsi :
Code BASH :
rc-update add local default

Les scripts



Les scripts positionnés dans /etc/local.d sont des scripts bash, tout ce qu'il y a de plus classique.
Il suffit donc de les faire commencer par
Code BASH :
#! /bin/bash

Et qu'ils soient exécutables :
Code BASH :
chmod +x /etc/local.d/lescript.start
Cette page a été vue 33172 fois