Etablissement de l'environnement
Bonjour,
J'ai besion de savoir quand et comment les variables d'environnement du système sont définies. Au cas où ça aurait de l'importance, je suis sous Debian etch.
Je sais que je peux définir des variables d'environnement dans /etc/profile, et les exporter, et alors elles sont héritées par tous les environnements appelés par un login shell. Utilisateur par utilisateur, c'est dans ~/.profile.
J'ai aussi un fichier /etc/environnement, dans lequel est définie ma locale. Je l'ai trouvé par hasard, et d'ailleurs je ne sais pas quand et comment au juste il est pris en compte par le shell. Est-ce que vous pouvez me renseigner sur ce point?
A force d'observation, je sais aussi qu'il y a au moins deux autres moments distincts où le système (shell? kernel?) définit et/ou modifie des variables d'environnement:
1) le PATH que je récupère en temps normal (ainsi que la grande majorité des autres variables) ne sont pas définies dans aucun des fichiers cités dans la page de man bash.
2) si je lance /bin/bash au lieu d'init juste après le boot, je me retrouve avec un PATH réduit par rapport à la normale, c'est-à-dire même réduit par rapport à ce qu'il est lorsque bash commence à lire /etc/profile. Il faut bien que ce "PATH primordial" ait été défini quelque part, puis modifié autre part.
Quelles sont ces deux étapes où des variables d'environnement sont définies et/ou modifiées? Comment intervenir à ces deux niveau?
(chose ô combien étrange, mon binaire httpd récupère lui aussi un environnement très réduit, alors que le script qui le lance (apachectl) possède quant à lui l'environnement complet, y compris les variables que j'ai ajoutées dans /etc/profile; mais ce fil n'est pas une question sur apache, je vais ouvrir un fil spécifique sur cette question)
Merci d'avance.
|