====== Scripts de démarrage et d'arrêt ====== Les scripts de démarrage et d'arrêt avec leurs fichiers de configuration. * SliTaz et son démarrage. * /etc/init.d/* - Répertoire des scripts et des démons. * /etc/init.d/rcS - Script d'initialisation principal. * Specific scripts and daemons - Scripts et démons avec une tâche bien précise. * /etc/inittab - Fichier de configuration init. ===== SliTaz et son démarrage ===== SliTaz n'utilise pas de niveau d'exécution (runlevel), tout le système est initialisé via un script principal et son fichier de configuration. Ce script lance lui-même quelques petits scripts qui s'occupent de l'internationalisation ou des options passées en ligne de commande au démarrage. ===== /etc/init.d/* - Répertoire des scripts et démons ===== Le répertoire ///etc/init.d// contient tous les scripts rc, les scripts finissant par '.sh' sont de simples scripts shell, et les démons, tels que 'dropbear' ou 'lighttpd', sont aussi des scripts mais qui lancent un service. Les scripts des démons permettent de démarrer, arrêter, ou redémarrer un démon via la commande : # /etc/init.d/demon [start|stop|restart] Sur SliTaz vous trouverez un fichier ///etc/init.d/README// décrivant le fonctionnement de base des scripts rc. À noter aussi que tous les scripts de démarrage et démons peuvent faire appel au fichier /etc/init.d/rc.functions. Ce fichier permet d'inclure diverses fonctions dans les scripts rc. SliTaz utilise une fonction //status// vérifiant si la commande précédente a réussi (0) ou pas. ===== /etc/init.d/rcS - Script d'initialisation principale ===== Le script ///etc/init.d/rcS// configure tous les services de base et initialise le système de base. Il commence par monter les systèmes de fichiers, démarrer des services comme syslogd et klogd, lancer mdev, nettoyer le système, etc. Il utilise le fichier de configuration ///etc/rcS.conf// pour connaître les démons et scripts à lancer au démarrage. Vous pouvez parcourir le script pour connaître en détail les commandes exécutées : # nano rootfs/etc/init.d/rcS ====== Scripts et démons spécifiques ====== === bootopts.sh - Les options du mode LiveCD === Ce script est utilisé pour configurer les options du mode LiveCD, passées en ligne de commande au démarrage, et lisibles via le fichier ///proc/cmdline//. C'est le script qui permet d'utiliser une clé USB ou un disque dur externe comme partition ///home// avec l'option //home=usb// ou //home=sda[1-9]//, ou encore de spécifier directement la langue et le clavier à utiliser. === network.sh - Initialisation du réseau === Le script network.sh utilise le fichier de configuration ///etc/netwok.conf// pour connaître l'interface à utiliser; si l'on veut lancer le client DHCP ou pas, une IP fixe ou pas. Sur SliTaz le script ///etc/init.d/network.sh// configure les interfaces réseau au démarrage en se servant des informations contenues dans ///etc/network.conf//. Si la variable $DHCP est égale à 'yes', alors le script ///etc/init.d/network.sh// lancera le client DHCP sur l'interface $INTERFACE. === i18n.sh - Internationalisation === SliTaz sauvegarde la configuration de la locale par défaut dans le fichier ///etc/locale.conf// qui est lu par ///etc/profile// à chaque connexion. Le fichier ///etc/locale.conf// est généré lors du démarrage grâce au script ///etc/init.d/i18n.sh//. Ce script lance l'application 'tazlocale' que vous trouverez dans 'sliTaz-tools', si le fichier de configuration ///etc/locale.conf// n'existe pas. Nous utilisons le même processus pour la configuration du clavier en utilisant 'tazkeymap' et le fichier de configuration ///etc/keymap.conf//. Ces deux applications s'installent dans ///sbin// sur SliTaz, et utilisent les bibliothèques ncurses, ainsi que dialog. Ce script vérifie également si le fichier de configuration du fuseau horaire ///etc/TZ// existe, sinon il le crée en se basant sur la configuration du clavier. === local.sh - Commande local === Le script ///etc/init.d/local.sh// permet à l'administrateur système d'ajouter facilement des commandes locales à exécuter au démarrage : #!/bin/sh # /etc/init.d/local.sh: Local startup commands. # All commands here will be executed at boot time. # . /etc/init.d/rc.functions echo "Starting local startup commands... " === wpa_action.sh - Réseau sans-fil === Ce script est employé par //network.sh// pour démarrer/redémarrer le serveur DHCP si vous utilisez une adresse IP dynamique. === rc.shutdown === Ce script est invoqué par ///etc/inittab// lors de l'arrêt du système. Il stoppe aussi tous les démons via la variable RUN_DAEMONS du fichier de configuration principale ///etc/rcS.conf//. === /etc/inittab - Fichier de configuration d'init === Le premier fichier lu par le noyau au démarrage. Il définit le script d'initialisation (///etc/init.d/rcS//), les terminaux virtuels (ttys), et les actions en cas de redémarrage ou d'interruption. Vous trouverez un exemple, complet et commenté, dans [[fr:cookbook:slitaztools|Outils SliTaz]] : # /etc/inittab: init configuration for SliTaz GNU/Linux. # Boot-time system configuration/initialization script. # ::sysinit:/etc/init.d/rcS # /sbin/getty respawn shell invocations for selected ttys. tty1::respawn:/sbin/getty 38400 tty1 tty2::respawn:/sbin/getty 38400 tty2 tty3::respawn:/sbin/getty 38400 tty3 tty4::respawn:/sbin/getty 38400 tty4 tty5::respawn:/sbin/getty 38400 tty5 tty6::respawn:/sbin/getty 38400 tty6 # Stuff to do when restarting the init # process, or before rebooting. ::restart:/etc/init.d/rc.shutdown ::restart:/sbin/init ::ctrlaltdel:/sbin/reboot ::shutdown:/etc/init.d/rc.shutdown