User Tools

Site Tools


tutos:systemd:rc.local_to_after.local

This is an old revision of the document!


Avant, il y avait System V

Avant, on pouvait mettre des oneliners, ces commandes d'une ligne dont la signification est parfois (souvent) floue, voire des scripts entiers, dans le fichier /etc/rc.local.

Ce fichier était un fichier lu et exécuté par System V, il en devient vite une alternative aux scripts entiers contenus dans /etc/init.d.

Maintenant, il y a Systemd

Loin de moi l'idée de faire l'apologie de Systemd, mais force m'est d'admettre qu'il n'exécute plus le fichier /etc/rc.local.

Il faut donc une alternative à ce fichier bien pratique ! Et une fois qu'on connait l'astuce, on trouve ça bien pratique ;-)

after-local.service

Dans le dossier /lib/systemd/system, il faut commencer par créer le fichier after-local.service :

# vim /lib/systemd/system/after-local.service

Et y mettre le contenu suivant :

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.

[Unit]
Description=/etc/init.d/after.local Compatibility
ConditionFileIsExecutable=/etc/init.d/after.local

[Service]
Type=oneshot
ExecStart=/etc/init.d/after.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Ajouter ce fichier à Systemd

Maintenant que le fichier est prêt, il faut l'ajouter à systemd :

# systemctl enable /lib/systemd/system/after-local.service

Ajout des commandes

Et oui, maintenant, c'est l'heure de mettre vos oneliners !

Pour ceci éditez le fichier /etc/init.d/after.local 1) :

# vim /etc/init.d/after.local

Et ajoutez-y toutes les commandes que vous désirez !

Références

1)
Regardez le “ExecStart” dans /lib/systemd/system/after-local.service
tutos/systemd/rc.local_to_after.local.1338328305.txt.gz · Last modified: 2013/12/29 18:37 (external edit)