Problème script au demarrage de linux centos
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
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.
-
bonjour
donc en résumé : quand tu rebootes ton serveur : il faut ouvrir une session en ssh puis la refermer pour que le démon soit lancé ?
merci de ton aide
cordialement -
bonjour
le plus simple et comme tu me l'as dit c'est de passer par le .bashrc
le .bashrc : faut il ouvrir une session pour qu'il se lance ? ou travaille t il en tache de fond ?
cordialement -
bonjour
j'ai meme essayé de placer le lancement du programme testrc.sh avant le /var/lock/subsys/local
mais rien n'y fait ...
Pour ta solution finale : pas de fichier error.log .... snif...
Pour ta question avec le "&" : a quoi sert ce signe ?
Merci pour ton aide précieuse ...
je vais devoir créer un service avec tout ce que ça comporte comme problème...
Cordialement-
Modérateuravec le "&" : a quoi sert ce signe ?
A lancer un job en arrière plan. Au passage ce signe c'est une esperluette ;-))
-
-
bonjour
rien ne fonctionne :
voici ce que j'ai fait :
créé le fichier testrc.sh
chmod 777
je l'ai laissé sur /BOINC/
puis redémarrage du serveur
et je l'ai changé de place pour le mettre dans /etc/
en n'oubliant pas de changer le chemin dans le testrc.sh
mais toujours rien ...
donc je pense à croire que le rc.local n'est pas chargé au demarrage ???
ce qui est bizarre vu que le fichier : /var/lock/subsys/local est bien créé et lui et dans le rc.local .?.?
merci de ton aide
cordialement-
ModérateurDonc apparemment c'est un problème lié à CentOS comme qui dirait ;-\
Perso j'ai épuisé mes pistes, désolé ;-(
Essaies de voir du côté de CentOS (forum, liste, tuto, etc.,...)
ce qui est bizarre vu que le fichier : /var/lock/subsys/local est bien créé et lui et dans le rc.local .?.?
T'es sûr que ce n'est pas un problème de droits ?
T'as essayé aussi de lancer le programme avec "&" à la place de "-daemon" ?
Rajoute un "2>error.log" après ta commande :
/BOINC/run_client -daemon 2>error.log
Et vois après redémarrage, et d'un si le fichier error.log est bien créé, et de deux si il contient des messages d'erreurs...
-
-
bonjour
il semblerait que rc.local ne se charge pas au demarrage ? le touch ne créé aucun fichier dans le répertoire de travail root
j'ai fait un find / -name fichier.test
mais rien ....
pour répondre à tes questions : je parlais effectivement du $PATH (mais je pense que oui car il doit se lancer au debut de l'intialisation ? peux tu me le confirmer ?
question : cette mise à jour va être lancé que pour le root ?
De quoi tu parles ? Qu'appelles-tu "mise à jour" ? Le $PATH ?
si je créé d'autre utilisateurs qui se trouveront dans le groupe root ? que va t il se passer ?
Par rapport à quoi ? Au $PATH ?
Merci de ton aide
Cordialement -
Modérateurpar contre mon /BOINC/run_client -daemon qui se trouve dans le /etc/rc.local ne se lance toujours pas ?
Ça c'est bizarre ;-\
T'es sûr que le daemon n'est pas lancé ?
Il faudrait sur tu crées un petit programme (foo.sh) du genre :
#! /bin/bash cd ~ touch fichier.test
Que tu le rendes exécutable, que tu places dans /BOINC et que tu l'ajoutes à /etc/rc.local, pour voir si le fichier est créé ou pas...
S'il n'est pas créé, tu déplaces le fichier foo.sh dans ton /home et tu recommences l'expérience..
On devrait être fixé déjà si c'est /etc/rc.local qui pose problème ou le répertoire /BOINC
quid : peut on mettre le /BOINC/run_client -daemon dans le .bashrc .
Essayes toujours, à priori ça ne devrait pas poser de problème...
question : cette mise à jour va être lancé que pour le root ?
De quoi tu parles ? Qu'appelles-tu "mise à jour" ? Le $PATH ?
si je créé d'autre utilisateurs qui se trouveront dans le groupe root ? que va t il se passer ?
Par rapport à quoi ? Au $PATH ?
-
bonjour
ça y est mon PATH se met à jour
super
par contre mon
/BOINC/run_client -daemon
qui se trouve dans le /etc/rc.local
ne se lance toujours pas ?
quid : peut on mettre le
/BOINC/run_client -daemon
dans le .bashrc .
question : cette mise à jour va être lancé que pour le root ?
si je créé d'autre utilisateurs qui se trouveront dans le groupe root ? que va t il se passer ?
Merci de ton aide
cordialement -
ModérateurA la fin... ou au début, comme tu veux ;-))
-
bonjour
dans quelle section dois je le rajouter
au debut du fichier ou à la fin ou peut importe ?
car j'ai pour le moment ceci :
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
merci de ton aide précieuse
un newsbi... de linux
cordialement -
ModérateurEssaye de rajouter le répertoire /BOINC à ta variable $PATH dans le fichier /home/$USER/.bashrc :
PATH="$PATH:/BOINC" export PATH
-
bonjour,
je viens de me rendre compte que mon répertoire avait comme groupe 1000 1000
drwxrwxrwx 5 1000 1000 4096 oct 12 11:08 BOINC
Pour la commande : echo $PATH
voici le résultat :
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Merci de ton aide
cordialement -
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 -
ModérateurTu 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 ?
-
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 -
Contributeurbonjour,
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 -
bonjour
oui il est bien dans le répertoire : /BOINC
donc à la racine
cordialement -
ModérateurRé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/
-
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 -
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 -
ModérateurTu veux bien essayer ça (en remplaçant "/chemin" par le bon chemin) :
/chemin/BOINC/run_client &
- 1
- 2