Problème script au demarrage de linux centos

Bonjour,
je souhaite démarrer mon programme de calcul partagé (boinc)
j'ai modifié le fichier /etc/rc.local en y mettant les lignes suivantes :
#!/bin/sh
/BOINC/run_client -daemon

hors rien ne se charge ?
j'ai lancé la commande manuellement est ça fonctionne impécablement ?
que se passe t il ? est ce l'espace avant le -daemon qui dérange ou ne foncitonne pas ?
j'ai tenté de mettre :
/BOINC/run_client & -daemon
mais ça ne fonctionne pas ?
merci de votre aide
cordialement

32 réponses

Résumé de la discussion

Le problème décrit vise à lancer le client BOINC en démon via /etc/rc.local alors que l’exécution manuelle du binaire réussit dans ce cas, à priori toutefois. Plusieurs conseils préconisent d'utiliser le chemin absolu du binaire, d'ajouter ce chemin au PATH et d'exporter PATH avant d'appeler run_client -daemon pour que le binaire soit trouvé au démarrage. D’autres indiquent que -daemon est spécifique et que des soucis de chemin, de droits d'exécution ou d’environnement au boot peuvent empêcher le lancement du processus au démarrage. En dernier lieu, certains évoquent des vérifications comme l’exécution du script, les permissions et le PATH réel après reboot, et un participant mentionne que des problèmes de groupe ou de droits d’accès peuvent bloquer BOINC.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut,

    Si ton programme n'est pas dans le $PATH il faut indiquer le chemin absolu.
    Sinon rajouter le chemin dans le $PATH et l'exporter :

    PATH=$PATH:/chemin/BOINC/
    export PATH
    ./run_client -daemon

    1. bonjour
      ça ne fonctionne pas ?
      j'ai remarqué une chose en lancant la commande à la main il faut le sh devant :
      sh run_client -daemon
      mais dans le script le
      #!/bin/sh
      devrait interpréter la commande après en sh ?
      merci de votre aide
      cordialement
      1. Modérateur
        Il est exécutable ton script au moins ?

        ls -l /chemin/run_client

        1. bonjour
          oui il est bien exécutable, voici la réponse :

          -rwxr-xr-x
          cordialement
          1. Modérateur
            ça ne fonctionne pas ?
            Qu'as-tu fais ?
            Modifié le $PATH ?
            Ajouté le chemin absolu ?
            1. bonjour
              je viens de redemarrer plusieurs fois mon serveur
              mais rien n'y fait et même le path n'est pas ajouté ?
              dans quel fichier puis je rajouter ce path en dur ?
              Cordialement
              1. Modérateur
                Essaye avec le chemin absolu, éventuellement précédé de 'sh'...
                1. bonjour
                  c'est que j'ai testé avec tous les solutions mais rien n'y fait ?
                  par contre pourquoi cette commande fonctionne manuellement et non dans le script ?
                  cordialement
                  1. Modérateur
                    Juste un truc...

                    Quand tu écris : /BOINC/run_client -daemon

                    Le "-daemon" à la fin c'est un paramètre propre à la commande lancée ? Ou tu veux juste lancer ton script en arrière-plan au boot ?
                    1. bonjour
                      -daemon est spécifique à la commande
                      si on ne le met ça ne lance rien
                      merci pour votre aide précieuse
                      cordialement
                      1. Modérateur
                        Tu veux bien essayer ça (en remplaçant "/chemin" par le bon chemin) :

                        /chemin/BOINC/run_client & 

                        1. bonjour
                          ce qui est bizarre j'ai rajouté les lignes :

                          PATH=$PATH:/chemin/BOINC/
                          export PATH
                          dans le fichier /etc/rc.local
                          et en redémarrant le serveur
                          le path n'est même pas modifié ?
                          est ce normal ?
                          cordialement
                          1. bonjour
                            /BOINC/run_client &
                            n'a aucune action ....
                            voici l'intégrité de mon fichier d'origine /etc/rc.local

                            #!/bin/sh
                            #
                            # This script will be executed *after* all the other init scripts.
                            # You can put your own initialization stuff in here if you don't
                            # want to do the full Sys V style init stuff.

                            touch /var/lock/subsys/local
                            #!/bin/sh
                            /BOINC/run_client -daemon

                            merci de votre aide
                            cordialement
                            1. Modérateur
                              Répéter le "#!/bin/sh" ne sert à rien ;-\

                              Il est où exactement ton programme ?
                              Le répertoire "/BOINC" est à la racine ?

                              http://www-users.cs.york.ac.uk/embersp/boincfaq.html#q0_3
                              http://linux.boinc-af.org/2008061861/Linux/Pour-les-confirmes/Installer-la-version-5.10.45/Execution-automatique-au-demarrage.html
                              http://www.breizh-ardente.fr/article/logiciels-de-calcul-partage
                              http://www.boinc-af.org/content/view/605/149/
                              1. bonjour
                                oui il est bien dans le répertoire : /BOINC
                                donc à la racine
                                cordialement
                                1. Contributeur
                                  bonjour,
                                  mais , t'es un peu ..... "chemin" est un exemple il doit etre remplace par le bon repertoire
                                  exemple
                                  j'ai un fichier qui se trouve dans /home/truc/BOING/ (/home/truc/ remplacant chemin ..)
                                  mon PATH sera
                                  PATH=$PATH:/home/truc/BOINC/
                                  export PATH
                                  a+
                                  et tu n'a pas de reponse a
                                  echo $PATH
                                  1. bonjour
                                    mais chemin ... mon chemin complet est /BOINC
                                    car je l'ai installé à la racine de la "partition"
                                    donc mon path est bien /BOINC/
                                    mon répertoire est en majuscule
                                    et mon path ne se met pas à jour via la rc.local ? j'en perd mon latin ???
                                    par contre quand je le fais manuellement ça fonctionne ....
                                    pour la réponse echo $PATH ça fonctionne j'avais oublié de le mettre en majuscule ... je suis un .......
                                    cordialement
                                    1. Modérateur
                                      Tu peux afficher la commande :

                                      echo $PATH


                                      Est-ce que ton dossier /BOINC a les droits nécessaires pour exécuter les fichiers présents dans son arborescence par un simple utilisateur ?
                                      1. bonjour
                                        non ce répertoire appartient au groupe root et utilisateur root
                                        il n'y a pas d'autre compte de présent pour le moment sur ce serveur
                                        Merci de ton aide
                                        cordialement
                                        1. Modérateur
                                          Donc tu te connectes en root ?

                                          La commande demandée, on peut avoir le résultat oui ou non ?
                                      • 1
                                      • 2