Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

devfsd et JAVA_HOME, rc.local qui ne s'execute pas

8 réponses
Avatar
Vincent VAQUIN
Bonjour,
j'ai deux problèmes au démarage de ma Mdk 9.2 :

1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"
Or JAVA_HOME est définie dans /etc/profile
(JAVA_HOME=/chemin/kivabien + export JAVA_HOME)
D'ailleurs, si je tape echo $JAVA_HOME dans le terminal qui s'ouvre
juste après le démarrage, il me renvoie bien la valeur /chemin/kivabien

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
Il est dans /etc/rc.d/ et il y a un lien symbolique dans /etc/
(/etc/rc.local pointe vers /etc/rc.d/rc.local).
Les droits de rc.local sont rwxrwxrwx
Or rc.local contient des ajouts perso qui ne sont pas pris en compte.
J'en déduis qu'il n'est pas exécuté au boot.
J'ai mis dans rc.local une variable MA_VARIABLE=trucmuche
Mais un echo $MA_VARIABLE ne me renvoie rien,
et j'ai un démarrage d'un programme sous la forme
/opt/prog/bin/runprog.sh et le prog n'est pas lancé.
Or dans une vie antérieure (autre machine sous Mdk 9.1), ça marchait.

Apparemment le contenu de rc.local est bien correct, puisque lorsque je
le lance "à la main" dans un terminal, ma variable s'initialise et mon
programme se lance.
J'ai loupé quoi ?

8 réponses

Avatar
Hervé Riboulot
Le Sun, 18 Apr 2004 11:11:45 +0200, Vincent VAQUIN a écrit :

Bonjour,


Bonjour

j'ai deux problèmes au démarage de ma Mdk 9.2 :

1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"
Or JAVA_HOME est définie dans /etc/profile
(JAVA_HOME=/chemin/kivabien + export JAVA_HOME)
D'ailleurs, si je tape echo $JAVA_HOME dans le terminal qui s'ouvre
juste après le démarrage, il me renvoie bien la valeur /chemin/kivabien


Dans ma configuration, sous /etc/profile.d, deux fichiers scripts
jdk-xxxx.sh et jre-xxxxx.sh règlent l'export de la variable JAVA_HOME. Le
fichier profile ne comprend pas cet export.

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage. Il
est dans /etc/rc.d/ et il y a un lien symbolique dans /etc/
(/etc/rc.local pointe vers /etc/rc.d/rc.local). Les droits de rc.local
sont rwxrwxrwx Or rc.local contient des ajouts perso qui ne sont pas
pris en compte. J'en déduis qu'il n'est pas exécuté au boot. J'ai mis
dans rc.local une variable MA_VARIABLE=trucmuche Mais un echo
$MA_VARIABLE ne me renvoie rien, et j'ai un démarrage d'un programme
sous la forme /opt/prog/bin/runprog.sh et le prog n'est pas lancé. Or
dans une vie antérieure (autre machine sous Mdk 9.1), ça marchait.

Apparemment le contenu de rc.local est bien correct, puisque lorsque je
le lance "à la main" dans un terminal, ma variable s'initialise et mon
programme se lance.
J'ai loupé quoi ?


Le fichier rc.local s'exécute après les scripts compris dans
/etc/rcX.d,correspondant aux différents runlevels.

Est-ce une piste?

Avatar
Philippe Delsol
Bonjour,
j'ai deux problèmes au démarage de ma Mdk 9.2 :

1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"
Or JAVA_HOME est définie dans /etc/profile
(JAVA_HOME=/chemin/kivabien + export JAVA_HOME)
D'ailleurs, si je tape echo $JAVA_HOME dans le terminal qui s'ouvre
juste après le démarrage, il me renvoie bien la valeur /chemin/kivabien


Là, je sais pas ...

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
Il est dans /etc/rc.d/ et il y a un lien symbolique dans /etc/
(/etc/rc.local pointe vers /etc/rc.d/rc.local).
Les droits de rc.local sont rwxrwxrwx
Or rc.local contient des ajouts perso qui ne sont pas pris en compte.
J'en déduis qu'il n'est pas exécuté au boot.
J'ai mis dans rc.local une variable MA_VARIABLE=trucmuche
Mais un echo $MA_VARIABLE ne me renvoie rien,
et j'ai un démarrage d'un programme sous la forme
/opt/prog/bin/runprog.sh et le prog n'est pas lancé.
Or dans une vie antérieure (autre machine sous Mdk 9.1), ça marchait.


rc.local doit s'executer correctement, pour vérifier il suffit de
vérifier la date de création du fichier /etc/issue, il est recréé à
chaque boot.
Pourrait on avoir le contenu de rc.local ?
Ce serait plus pratique pour se rendre compte de ce qui ne va pas.
Une idée en passant :
la variable $MA_VARIABLE est elle utilisée dans le programme
/opt/prog/bin/runprog.sh ?
Si tel est le cas il se pourrait qu'elle ne soit pas prise en compte et
que de ce fait le programme en question ne se lance pas.

Apparemment le contenu de rc.local est bien correct, puisque lorsque je
le lance "à la main" dans un terminal, ma variable s'initialise et mon
programme se lance.
J'ai loupé quoi ?


Ca ne prouve pas que ça doit fonctionner au boot, les environnements
sont complètement différents.

Philippe

Avatar
Philippe Delsol

Bonjour,
j'ai deux problèmes au démarage de ma Mdk 9.2 :



[snip]

rc.local doit s'executer correctement, pour vérifier il suffit de
vérifier la date de création du fichier /etc/issue, il est recréé à
chaque boot.


J'ai oublié de dire : "il est recréé à chaque boot par rc.local"

[snip]


Avatar
doug
Le Dimanche 18 Avril 2004 11:11, Vincent VAQUIN s'est exprimé de la sorte
sur fr.comp.os.linux.configuration :

Bonjour,
j'ai deux problèmes au démarage de ma Mdk 9.2 :

1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"
Or JAVA_HOME est définie dans /etc/profile
(JAVA_HOME=/chemin/kivabien + export JAVA_HOME)
D'ailleurs, si je tape echo $JAVA_HOME dans le terminal qui s'ouvre
juste après le démarrage, il me renvoie bien la valeur /chemin/kivabien



$MA_VARIABLE est elle seulement définie dans /etc/rc.d/Rc.local ou est elle
également exportée ?
Si elle n'est pas exportée il faut le faire.
Le fichier /etc/profile est exexcuté qu'au moment d'un log d'un utilisateur.
Pas de log, pas d'execution de /etc/profile donc dans ton cas, pas d'export
de $JAVA_HOME.
Pendant la phase de boot, aucun user est logué, donc /etc/profile n'est aps
executé.

Solution (à vérifier car je suis sous Slackware 9.1, mais j'en mettrais ma
main au feu ;-) :
- Dans /etc/rc.d/rc.local ajouter :
export JAVA_HOME=/mon_chemin/kiva/bien

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
Il est dans /etc/rc.d/ et il y a un lien symbolique dans /etc/
(/etc/rc.local pointe vers /etc/rc.d/rc.local).
Les droits de rc.local sont rwxrwxrwx
Or rc.local contient des ajouts perso qui ne sont pas pris en compte.
J'en déduis qu'il n'est pas exécuté au boot.
J'ai mis dans rc.local une variable MA_VARIABLE=trucmuche
Mais un echo $MA_VARIABLE ne me renvoie rien,
et j'ai un démarrage d'un programme sous la forme
/opt/prog/bin/runprog.sh et le prog n'est pas lancé.
Or dans une vie antérieure (autre machine sous Mdk 9.1), ça marchait.



Si rc.local n'est pas executé alors que tout semble correct (droits
d'execution etc...) il faut vérifier si il n'y aurait pas un processus
lancé par les autres scripts de démarage qui ne rendrait pas la main (et
donc empecherait l'execution de rc.local)
Ca m'était arriver une fois, j'avais fait un script qui lançait proFTPd mais
qui ne rendait plus la main et du coup les autres services n'était pas
lancés.

Mais ce n'est qu'une piste, pas une solution.

--
@+
Doug
[Pourquoi t'es qui, qu'est ce que tu fais par où ?]
-- Pour me contacter enlever no-spam (2X) --

Avatar
Vincent VAQUIN
doug wrote:
1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"


$MA_VARIABLE est elle seulement définie dans /etc/rc.d/Rc.local ou est
elle également exportée ?
Si elle n'est pas exportée il faut le faire.


Elle est définie et exportée.

Le fichier /etc/profile est exexcuté qu'au moment d'un log d'un
utilisateur. Pas de log, pas d'execution de /etc/profile donc dans ton
cas, pas d'export de $JAVA_HOME.
Pendant la phase de boot, aucun user est logué, donc /etc/profile
n'est aps executé.


Ah OK, ce n'était pas clair pour moi.

Solution (à vérifier car je suis sous Slackware 9.1, mais j'en
mettrais ma main au feu ;-) :
- Dans /etc/rc.d/rc.local ajouter :
export JAVA_HOME=/mon_chemin/kiva/bien


Effectivement, ça devrait le faire a priori.
Merci

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
il faut vérifier si il n'y aurait pas un processus

lancé par les autres scripts de démarage qui ne rendrait pas la main
(et donc empecherait l'execution de rc.local)


Merci, je vais explorer cette piste


Avatar
Vincent VAQUIN
Philippe Delsol wrote:
2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
Il est dans /etc/rc.d/ et il y a un lien symbolique dans /etc/
(/etc/rc.local pointe vers /etc/rc.d/rc.local).


rc.local doit s'executer correctement, pour vérifier il suffit de
vérifier la date de création du fichier /etc/issue, il est recréé à
chaque boot.
Pourrait on avoir le contenu de rc.local ?


/etc/issue porte la date et l'heure du démarrage.

Une idée en passant :
la variable $MA_VARIABLE est elle utilisée dans le programme
/opt/prog/bin/runprog.sh ?


Oui.
Mais donc je viens de comprendre qu'il vaudrait mieux que je la
définisse et l'exporte depuis rc.local afin qu'elle soit prise en
compte puisque le faire à partir de /etc/profile ne fonctionne que si
il y a un user qui se logue (si j'ai bien compris l'explication de
"doug".

Si tel est le cas il se pourrait qu'elle ne soit pas prise en compte
et que de ce fait le programme en question ne se lance pas.


Ca parait probable en effet.


Avatar
Vincent VAQUIN
Philippe Delsol wrote:

Bonjour,
j'ai deux problèmes au démarage de ma Mdk 9.2 :
[snip]


rc.local doit s'executer correctement, pour vérifier il suffit de
vérifier la date de création du fichier /etc/issue, il est recréé à
chaque boot.


J'ai oublié de dire : "il est recréé à chaque boot par rc.local"


Oui oui :-) j'avais compris (ça m'arrive de temps en temps...)



Avatar
Vincent VAQUIN
Vincent VAQUIN wrote:
1) le dernier message qui s'affiche lors du démarrage est celui ci :
"devfsd ne peut être initialisé car la variable JAVA_HOME n'est pas
définie"
Or JAVA_HOME est définie dans /etc/profile

2) apparemment mon fichier rc.local ne s'exécute pas au démarrage.
et j'ai un démarrage d'un programme sous la forme
/opt/prog/bin/runprog.sh et le prog n'est pas lancé.


Bon ben voilà, ça marche :
JAVA_HOME est définie et exportée depuis rc.local

lequel rc.local lance, après, runprog.sh qui a besoin de JAVA_HOME

Et voilà...
Merci à ceux qui m'ont aidé