Kök için kalıcı ortam değişkenlerini nasıl ayarlarım?


40

Kalıcı ortam değişkenleri oluşturmak için, komut dosyasını /etc/profile.d dizinine eklerim, örneğin:

# betiğim
dışa aktarma MY_VAR = var_value

Bu geçerli kullanıcı için düzgün çalışıyor:

alex @ alex-64: ~ $ echo $ MY_VAR
var_value

Şimdi kök kullanıcı için aynı ortam değişkenlerine ihtiyacım var, ancak /etc/profile.d script root için çalışmıyor:

alex @ alex-64: ~ $ echo $ MY_VAR
var_value
alex @ alex-64: ~ $ sudo su
root @ alex-64: / home / alex # echo $ MY_VAR

/ Home / alex #: alex-64 @ kök 

Kök için aynı değişkenleri nasıl ayarlayabilirim?


2
Çalışırken arayanın ortamından belirli bir değişkeni nasıl koruyacağınızla ilgili bu soru çok önemlidir sudo. (Fakat bu bir kopya değil çünkü bu soru kökün kendi çevresini nasıl kişiselleştireceğinizle ilgilidir .)
Eliah Kagan

Yanıtlar:


44

sudo normalde yerel ortam değişkenlerini korumaz. Bunu -Eyapmak için anahtarla kullanmalısınız , yani root için $ MYVAR'ısudo -E su koruyacaktır .

Alternatif olarak, gerçekten sistem genelinde kalıcı değişkenler oluşturmak için bunları ayarlamanız gerekir /etc/environment.



3
@ FredericYesidPeñaSánchez, CentOS'ta benim için yaptı. Sende senaryo FOO=bar
yazmıyorsun

10

Kendi ortam değişkeninizi tanımladığınız süreç gibi, örneğin '~ / .bashrc' dosyasını düzenleyerek, '/root/.bashrc' dosyasını düzenleyerek kök ortam değişkenini tanımlayabilirsiniz.


8

Defaults env_resetiçinde /etc/sudoerskök sıfırlayacak oluyor PATHtanımladığı /etc/environment.

Defaults !env_resetSıfırlamayı devre dışı bırakmak veya eklemek için değiştirebilirsiniz :

Defaults secure_path="my/custom/path:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

İkinci çözümü kullanmak istersem (secure_path yolu eklemek anlamına gelir), anahtar nedir ?! yol sadece değerdir. ANDROID_NDK'yi root için ortam değişkenlerine eklemek istiyorum. Şimdilik sadece ilkini kullanıyorum (! Env_reset). Teşekkürler.
Doktor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.