Saya mengerti bahwa yang pertama dimuat sebelum yang terakhir, tetapi apa perbedaan konseptual? Apakah ada alasan bagus mengapa saya harus menetapkan beberapa variabel dalam satu dan tidak dalam yang lain? Kecuali fakta yang /etc/environment
tampaknya ada untuk mengatur lingkungan untuk semua proses yang dijalankan oleh sistem, sedangkan /etc/profile
untuk pengaturan lingkungan yang digunakan dan diperbanyak dari shell login, benar?
Juga, di samping catatan, program mana yang secara tradisional dibaca /etc/environment
? Apakah ini terkait dengan POSIX, atau hanya sebuah konvensi?
VAR=value
mulai berlaku di shell (setelah login ulang)./etc/environment
bukan bagian dari POSIX, itu milik PAM (Modul Otentikasi Pluggable), dan hanya program yang dikompilasi dengan dukungan PAM yang dapat menggunakannya (terutama sistem masuk, yang kemudian memulai shell atau lingkungan pengguna). Ini berarti bahkan tidak dibaca oleh shell Anda.Anda dapat melihat program menggunakan
/etc/environment
dengangrep -l pam_env /etc/pam.d/*
.Jadi
/etc/environment
digunakan untuk mengatur variabel untuk program yang biasanya tidak dimulai dari shell.sumber