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
              j'ai rajouté les trois lignes que tu m'as donné
              PATH=$PATH:/chemin/BOINC/
              export PATH
              ./run_client -daemon
              en remplacement de mes lignes d'origine :
              #!/bin/sh
              /BOINC/run_client -daemon
              comme puis je voir tous les path qui sont déjà dans cette machine ?
              cordialement
              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
                                        • 2