A few have answered saying that
/etc/environment is depricated and/or not used in Debian anymore, and this is (as at version 7) false.
The file is actually read by PAM -- specifically,
pam_env(8), via a default to the
envfile flag. The manpage also states this default under the FILES section.
The wikis quoted (especially the locale one) merely state that locale-based environment variables are now meant to be in
/etc/profile. Their statement "(in older versions of Debian, also /etc/environment)" is vague, and is in the context of locales.
A quick grep through
root@box:/etc/pam.d# grep pam_env.so *
atd:auth required pam_env.so
cron:session required pam_env.so
cron:session required pam_env.so envfile=/etc/default/locale
login:session required pam_env.so readenv=1
login:session required pam_env.so readenv=1 envfile=/etc/default/locale
sshd:auth required pam_env.so # 
sshd:auth required pam_env.so envfile=/etc/default/locale
su:session required pam_env.so readenv=1
su:session required pam_env.so readenv=1 envfile=/etc/default/locale
Those config lines are additive, and as the first is missing
envfile, it thus defaults to
All of this, of course, relies on whatever binary you're using (
crond, login shells etc) are compiled against PAM.
Finally, this implies that other systems using PAM (eg RedHat), behave the same, as can be seen in it's respective manpage.