Nous développons une application Linux pour travailler sur différentes distributions RedHat / SUSE. Cette application (à savoir, le démon) devrait être automatiquement lancée au démarrage. Nous plaçons donc notre script de démarrage dans le répertoire /etc/init.d/ et créons des liens symboliques dans des répertoires de niveaux d'exécution (../rc.d/rc5.d/, par exemple). exemple). Si un utilisateur supprime notre application, notre script de désinstallation supprime tous nos éléments, y compris les liens symboliques. Cela fonctionne bien si le système d'exploitation ne fournit pas de script parallèle en cours d'exécution. Si l'exécution en parallèle est activée, nous avons besoin d'une autre solution. Par exemple, dans SLES 10, nous avons dans / etc / sysconfig / boot:
# Run all scripts or rather start/stop all services
# which are independent from each other in parallel.
RUN_PARALLEL="yes"
Autant que nous comprenions, nous devons enregistrer notre script avec l'utilitaire insserv. Dans ce cas, le système analyse un en-tête de script et crée / supprime les liens symboliques par lui-même. Si c’est vrai, comment organiser l’installation / la désinstallation de notre application de manière à ce qu’un script de démarrage parallèle et séquentiel soit exécuté? Il semble que nous devrions nous comporter différemment lorsque le fonctionnement en parallèle est désactivé ou activé. Dans le premier cas, nous devrions nous soucier de liens symboliques nous-mêmes. Dans le second cas, nous devrions le déléguer à insserv. Est-ce la bonne approche? Si c'est le cas, devrions-nous analyser si l'exécution en parallèle est activée en vérifiant / etc / sysconfig / boot? Cela semble peu fiable car, dans différentes distributions Linux, il pourrait s'agir d'un emplacement et d'un paramètre différents.
Quelle est la meilleure pratique pour l’installation / la désinstallation d’une application Linux couvrant à la fois le démarrage parallèle et séquentiel du système?
Merci,
la source