Variables d'environnement - où sont-elles stockées par linux, comment puis-je les modifier et est-ce sûr de le faire?

13

J'essaye de configurer une construction à partir de la source d'une ancienne version de gcc sur ma machine de développement. La documentation met en évidence plusieurs variables d'environnement qui doivent être modifiées pour ce faire. Je me demandais comment faire cela et aussi où linux les stocke et si un redémarrage du système est nécessaire pour enregistrer les modifications ??

mathématicien1975
la source
Pouvez-vous répertorier les variables d'environnement qui doivent être modifiées?
Hashken

Réponses:

14

Les variables d'environnement global de votre système sont stockées dans /etc/environment.
Toutes les modifications apportées ici seront reflétées dans tout le système et affecteront tous les utilisateurs du système. De plus, vous avez besoin d'un redémarrage pour que toutes les modifications apportées ici prennent effet.

Les variables d'environnement de niveau utilisateur sont principalement stockées dans .bashrcet les .profilefichiers de votre dossier d'accueil. Les modifications apportées ici n'affectent que cet utilisateur particulier. Fermez et ouvrez simplement le terminal pour que les modifications de configuration aient lieu.

Modifier : Si vous ne voulez pas redémarrer ou redémarrer votre terminal, vous pouvez utiliser la commande source.
Par exemple. source /etc/environmentousource .bashrc

Hashken
la source
4
Vous n'avez pas besoin d'un redémarrage. Vous pouvez utiliser la commande source pour charger les variables après une modification. ex: source / etc / environment ou source .bashrc
Manula Waidyanatha
Pour ce que vous essayez de faire, ce .profilen'est pas la bonne chose à faire. .bashrcne doit pas être utilisé car il peut dans certains cas entraîner des problèmes. Et /etc/environmentc'est moyen de sortir (ne changez pas le système pour faire un travail).
ctrl-alt-delor
2

Vous avez besoin de changements temporels locaux. Vous n'en aurez pas besoin demain, lorsque vous faites autre chose, cela peut casser ce que vous faites demain. Cependant, vous pouvez l'enregistrer en tant que script de génération / makefile pour une utilisation demain.

export VARIABLE=value
export VARIABLE2=another_value
gcc …

ou

VARIABLE=value VARIABLE2=another_value gcc …

remarque: si vous utilisez make, le premier exemple ne fonctionnera pas. Make démarre un nouveau shell (sh) pour chaque ligne.

ctrl-alt-delor
la source
1

Vous devez placer vos variables d'environnement par utilisateur dans ~ / .pam_environment

Créez le fichier s'il n'existe pas. Voir ici

Jules Moules
la source