RC.Local est un script obsolète conservé à des fins de compatibilité pour les systèmes SystemV.
C'était autrefois un fichier universel présent dans la plupart des distributions Linux en raison de sa simplicité pour les administrateurs Linux pour définir des scripts de démarrage ou des services supplémentaires pour commencer.
Le fichier rc.Local ne contient pas d'informations sur les composants de démarrage du système, mais uniquement les composants définis de superutilisateur / racine. Cependant, tous les programmes de démarrage racine ne sont pas décrits dans RC.local mais seulement ceux qui n'interfèrent pas avec les composants du système. Habituellement, RC.Local est exécuté après le démarrage des services normaux.
Les systèmes Linux plus récents, y compris Systemd, ont remplacé le RC.script local, mais il peut être restauré malgré Être une solution recommandée. Ce tutoriel montre comment restaurer et utiliser le RC.script local et utilisez RC-local par systemd sur les nouvelles distributions Linux.
Activation / etc / rc.Distributions locales dans Linux à l'aide de SystemD:
IMPORTANT: Il est important de se souvenir / etc / rc.Local est interrompu et remplacé. La méthode actuelle pour exécuter les scripts au démarrage est décrite après les instructions pour activer / etc / rc.local. Ce tutoriel est destiné aux utilisateurs ayant des besoins spécifiques.
Pour commencer, créez le fichier / etc / rc.local en utilisant l'éditeur que vous souhaitez et sudo (ou root):
nano / etc / rc.local
Collez le code ci-dessous dans le fichier et remplacez avec la commande que vous souhaitez exécuter au démarrage. N'utilisez pas sudo. Si une commande incluse dans ce script ne parvient pas à s'exécuter, le service qui appellera RC.local (RC-local.service) échouera.
#!/ bin / sh -e
#
# RC.local
#
# Ce script est exécuté à la fin de chaque niveau multiplié.
# Assurez-vous que le script "quittera 0" sur le succès ou tout autre
# Valeur sur l'erreur.
#
# Pour activer ou désactiver ce script, modifiez simplement l'exécution
# morceaux.
#
# Par défaut, ce script ne fait rien.
sortie 0
Dans mon exemple, j'utiliserai le RC.script local pour mettre à jour la base de données VULS SCAN VULS chaque fois que le système démarre. Vous pouvez écrire n'importe quel script que vous souhaitez exécuter au début, sauf pour les scripts de réseautage (tels que les iptables) qui peuvent interférer avec le processus de démarrage normal et avoir leurs propres scripts ou répertoires de démarrage.
Enregistrer le fichier (Ctrl + x et Y) et lui donner des autorisations d'exécution en exécutant la commande ci-dessous:
sudo chmod + x / etc / rc.local
Créer le fichier / etc / systemd / system / rc-local.service, courir:
nano / etc / systemd / système / rc-local.service
Collez les commandes suivantes et sortez de l'enregistrement en appuyant sur Ctrl + x et Y.
Execstart = / etc / rc.Démarrage local
Timeoutsec = 0
StandardOutput = tty
ResteafterExit = oui
SysvStartPriority = 99
[Installer]
Recherché = multi-utilisateurs.cible
Activer RC-local:
sudo systemctl activer rc-local
Maintenant vous pouvez démarrer le RC-local.Service, qui lira le / etc / rc.dossier local. Exécutez la commande illustrée ci-dessous:
SystemCTL Start RC-Local.service
Vous pouvez vérifier si RC-Local a été correctement chargé en exécutant ce qui suit:
SystemCTL Status RC-local.service
La bonne façon (systemd):
Le processus décrit ci-dessus est ancien, obsolète et peut écraser certains services.
Cette section montre le processus actuel pour démarrer les scripts ou les services au démarrage pour les distributions Linux à l'aide de SystemD.
SystemD est un gestionnaire de services qui affecte les groupes de contrôle des services (CGROUP) et suit les processus. SystemD est le processus (PID) 1 responsable du démarrage du système.
Pour ajouter des services ou des scripts au démarrage, vous devez créer un unité systemd.
Les unités SystemD incluent les services (.service), points de montage (.monter), dispositifs (.appareil) ou des prises (.prise). Contrairement à l'ancien processus décrit précédemment avec RC.local, au lieu de modifier le même fichier contenant des informations sur les scripts utilisateur, vous devez créer une unité de service Systemd pour chaque script que vous souhaitez exécuter au démarrage.
Les unités Systemd sont situées à / etc / systemd / système, Et c'est là que nous devons créer l'unité Systemd pour le script que nous voulons exécuter au démarrage.
L'image suivante montre le contenu de l'unité Ventre de l'équipe.service.
Où les directives [de l'unité]:
Certaines directives utilisées dans la section [Service] peuvent être partagées avec [unité].
La seule directive [d'installation] dans l'exemple ci-dessus est recherché par.
Note: Vous pouvez vérifier toutes les directives Systemd à
https: // www.Freedesktop.org / logiciel / systemd / man / systemd.directives.html
Ajout de votre propre unité Systemd:
Pour exécuter un script au démarrage, créez-le sous / etc / systemd / système avec son nom suivi d'un point et d'un service, par exemple, linuxhint. Service. Vous pouvez utiliser Nano comme dans l'échantillon suivant:
Collez ce qui suit, remplaçant <Nom ou description du script> avec une description de votre script et où / usr / sbin / linuxhint.shot Écrivez le chemin correct.
[Unité]
Description ==