Qual è la differenza tra / etc / environment e / etc / profile?


25

Capisco che il primo sia caricato prima del secondo, ma qual è la differenza concettuale? Ci sono delle buone ragioni per cui dovrei impostare alcune variabili in una e non in altre? Tranne il fatto che /etc/environmentsembra esistere per impostare l'ambiente per tutti i processi eseguiti dal sistema, mentre /etc/profileè per l'impostazione dell'ambiente usato e propagato dalla shell di accesso, giusto?

Inoltre, su una nota a margine, quale programma legge tradizionalmente /etc/environment? È correlato a POSIX o solo a una convenzione?

Risposte:


11

Estratto dalla guida di Ubuntu

/etc/environment- Questo file è specifico per le impostazioni delle variabili di ambiente a livello di sistema. Non è un file di script, ma consiste piuttosto di espressioni di assegnazione, una per riga. In particolare, questo file memorizza le impostazioni locali e del percorso a livello di sistema.

/etc/profile - Questo file viene eseguito ogni volta che viene inserita una shell di accesso bash (ad es. Quando si accede dalla console o tramite ssh), nonché dal DisplayManager quando viene caricata la sessione desktop.

Penso che tutto ciò sia solo una convenzione, ma non lontano da uno standard (non conosco i sistemi simili a RedHat).


Funziona su RedHat (a partire da 7.6). "/ Etc / environment" è vuoto nel mio server e l'impostazione ha VAR=valueavuto effetto in una shell (dopo il nuovo accesso).
DKroot,

39

/etc/environmentnon fa parte di POSIX, appartiene a PAM (Pluggable Authentication Module) e solo i programmi compilati con il supporto PAM sono in grado di usarlo (principalmente i sistemi di login, che successivamente avviano la shell o l'ambiente utente). Questo significa che non è nemmeno letto dalla tua shell.

Puoi vedere i programmi usando /etc/environmentcon grep -l pam_env /etc/pam.d/*.

Quindi /etc/environmentviene utilizzato per impostare le variabili per i programmi che di solito non vengono avviati da una shell.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.