Solaris 10 et script dans rc3.d

Le
JKB
Bonjour à tous,

Je viens de compiler un serveur mysql sur une machine solaris 10
avec des options de compilation très particulières. J'ai installé le
truc dans /usr/shared-apps (qui est un disque accessible par NFS).

Mon script de démarrage (qui fonctionne très bien lorsque je le
lance simplement par un /etc/init.d/mysqld start) refuse de
fonctionner au boot (j'ai fait un lien de /etc/init.d.mysqld vers
/etc/rc3.d/S95mysqld).

Comme erreur, j'observe dans
/var/svc/log/milestone-multi-user-server:default.log :

Legacy init script "/etc/rc3.d/S84appserv" exited with return code 0.
Executing legacy init script "/etc/rc3.d/S84patchserver".
Legacy init script "/etc/rc3.d/S84patchserver" exited with return code 0.
Executing legacy init script "/etc/rc3.d/S95mysqld".
/etc/rc3.d/S95mysqld: LD_LIBRARY_PATH=/usr/shared-apps/lib: n'est pas un
identificateur
Legacy init script "/etc/rc3.d/S95mysqld" exited with return code 1.
Executing legacy init script "/etc/rc3.d/S99JESsplash".
Setting /etc/motd to JES splash screen
Legacy init script "/etc/rc3.d/S99JESsplash" exited with return code 0.
[ oct 23 20:58:40 Method "start" exited with status 0 ]

Effectivement, mon script commence par :

#!/bin/bash
export LD_LIBRARY_PATH=/usr/shared-apps/lib

basedir=/usr/shared-apps
datadir=/usr/dvorak-apps/jcollab/mysql


J'ai beau tourner le truc dans tous les sens, je ne vois pas ce qui
cloche Une idée ?

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry B.
Le #779189
--{ JKB a plopé ceci: }--

Executing legacy init script "/etc/rc3.d/S95mysqld".
/etc/rc3.d/S95mysqld: LD_LIBRARY_PATH=/usr/shared-apps/lib: n'est pas un
identificateur
[...]

#!/bin/bash
export LD_LIBRARY_PATH=/usr/shared-apps/lib

basedir=/usr/shared-apps
datadir=/usr/dvorak-apps/jcollab/mysql
...



Juste une petite idée àlc: le bash en mode normal n'est peut-être pas
le même que le bash du boot. Hypothèse: /bin/bash est un lien qui est
refait plus tard dans la séquence de boot...

Si tu essayes:

LD_LIBRARY_PATH=/usr/shared-apps/lib
export LD_LIBRARY_PATH

Tu pourras peut-être mettre ça en évidence.

--
Toute machine qui se respecte a sa console sur un port serie... :-)
La question n'est pas de savoir si elle a une console sur port série,

mais de savoir de quelle planète provient le connecteur ;-)
--{ fr.comp.ordinosaures }--

Jean-Louis Hamel
Le #779182
Bonjour à tous,

Je viens de compiler un serveur mysql sur une machine solaris 10
avec des options de compilation très particulières. J'ai installé le
truc dans /usr/shared-apps (qui est un disque accessible par NFS).

Mon script de démarrage (qui fonctionne très bien lorsque je le
lance simplement par un /etc/init.d/mysqld start) refuse de
fonctionner au boot (j'ai fait un lien de /etc/init.d.mysqld vers
/etc/rc3.d/S95mysqld).

Comme erreur, j'observe dans
/var/svc/log/milestone-multi-user-server:default.log :

Legacy init script "/etc/rc3.d/S84appserv" exited with return code 0.
Executing legacy init script "/etc/rc3.d/S84patchserver".
Legacy init script "/etc/rc3.d/S84patchserver" exited with return code 0.
Executing legacy init script "/etc/rc3.d/S95mysqld".
/etc/rc3.d/S95mysqld: LD_LIBRARY_PATH=/usr/shared-apps/lib: n'est pas un
identificateur



Essayez de remplacer:

export LD_LIBRARY_PATH=/usr/shared-apps/lib

par ces deux lignes:

LD_LIBRARY_PATH=/usr/shared-apps/lib
export LD_LIBRARY_PATH

Il semblerait que le shell utilisé au boot soit rudimentaire...

--
JLH

JKB
Le #778926
Le 24-10-2007, à propos de
Re: Solaris 10 et script dans rc3.d,
Thierry B. écrivait dans fr.comp.os.unix :
--{ JKB a plopé ceci: }--

Executing legacy init script "/etc/rc3.d/S95mysqld".
/etc/rc3.d/S95mysqld: LD_LIBRARY_PATH=/usr/shared-apps/lib: n'est pas un
identificateur
[...]

#!/bin/bash
export LD_LIBRARY_PATH=/usr/shared-apps/lib

basedir=/usr/shared-apps
datadir=/usr/dvorak-apps/jcollab/mysql
...



Juste une petite idée àlc: le bash en mode normal n'est peut-être pas
le même que le bash du boot. Hypothèse: /bin/bash est un lien qui est
refait plus tard dans la séquence de boot...

Si tu essayes:

LD_LIBRARY_PATH=/usr/shared-apps/lib
export LD_LIBRARY_PATH


Merci, c'était ça...

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Marc
Le #778672
"Thierry B." wrote:

Juste une petite idée àlc: le bash en mode normal n'est peut-être pas
le même que le bash du boot. Hypothèse: /bin/bash est un lien qui est
refait plus tard dans la séquence de boot...


C'est plutôt que les scripts de /etc/rc*.d sont lancés par :
/bin/sh -c script
donc la première ligne est ignorée.

http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/svc/lsvcrun/lsvcrun.c#880

Publicité
Poster une réponse
Anonyme