Değişkenlerim
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Bu değişkenler kalıcı olarak nasıl kaydedilir?
Değişkenlerim
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Bu değişkenler kalıcı olarak nasıl kaydedilir?
Yanıtlar:
Dosyaya .profile
veya giriş kabuğu profil dosyasına (ana dizininizde bulunan) ekleyebilirsiniz .
Çevresel değişkeni "kalıcı olarak" değiştirmek için en azından şu durumları göz önünde bulundurmanız gerekir:
/etc/profile
, ~/.bash_profile
, ~/.bash_login
, ~/.profile
sırayla~/.bashrc
$BASH_ENV
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.zprofile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH ORACLE_HOME
$EDITOR ~/.login
#add lines at the bottom of the file:
setenv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
setenv ORACLE_HOME /usr/lib/oracle/11.2/client64
Tüm kullanıcılar için kalıcı yapmak isterseniz, ilgili dosyaları altında /etc/
, örneğin /etc/profile
Bourne benzeri mermilerde, /etc/csh.login
(t) csh ve /etc/zsh/zprofile
ve /etc/zsh/zshrc
zsh için düzenleyebilirsiniz.
/etc/environment
Linux sistemlerinde PAM modülü tarafından okunan pam_env
ve kabuk tarzı açılımları değil, yalnızca basit ödevleri destekleyen bir seçenek . ( Bu konuda Debian'ın rehberine bakınız .)
Bu dosyaların zaten bazı ödevleri içermesi muhtemeldir, bu nedenle dosyanızda önceden gördüğünüz sözdizimini takip edin.
Değişiklikleri uygulamak için kabuğu yeniden başlattığınızdan ve kullanıcıyı yeniden oluşturduğunuzdan emin olun.
Sistem çapında bir ortam değişkeni eklemeniz gerekirse, /etc/profile.d
değişkeni başlatmak için sh komut dosyasını içeren bir klasör var.
Sh komut dosyanızı, verdiğiniz tüm değişkenlerle birlikte buraya yerleştirebilirsiniz.
Debian'da env'ye değişken eklemek için standart bir yol olarak kullanılmaması gerektiğine dikkat edin.
.profile
, /etc/
ancak buradaki değişkenleri nasıl ayarlayacağımı .profile
lütfen söyleme
.profile
Ana dizininizde değil/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
dosya yazma ve vi komutundan çıkma komutu daha esc
önce
crontab
Komut dosyalarında ortam değişkenlerini göz önünde bulundurmanız gerekir . Bir crontab
komut dosyası çalışırken bu konumların hiçbiri aranmayacak.
Tüm kullanıcılar / mermiler için, dağıtımına bağlı olarak /etc/environment
ya da kullanabilirsiniz /etc/profile
. /etc/profile.d
Varsa, yeni bir dosya oluşturmak tercih edilebilir, çünkü paketleme sistemi tarafından yapılan güncellemelerle çakışma olasılığı daha düşüktür.
In /etc/environment
, değişkenler genellikle name=value
, örneğin ile ayarlanır :
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Olarak /etc/profile
, kullanmak gerekir export
bu bir senaryo, örneğin olduğundan:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
Aynı durum altındaki bir dosya için /etc/profile.d
de geçerlidir, ayrıca dosyanın çalışması için yerine getirilmesi gereken adlandırma kısıtlamaları olabilir. Debian'da, dosya uzantıya sahip olmalıdır .sh
(kaynak kodlu olduğundan çalıştırma izinleri veya çalıştırılabilir izinler gerektirmese de). dağıtım /etc/profile
dosyalarınızı kontrol edin veya bu dosyaların nasıl yüklendiğini görmek için komut dosyasına bakın.
Ayrıca, LD_LIBRARY_PATH
kalıcı olarak ayarlamanın , güvenlik riski olmak gibi potansiyel olarak sorunlu olduğunu da unutmayın . Alternatif olarak, LD_LIBRARY_PATH
çalıştırmadan önce ihtiyacı olan her program için komut satırının başlangıcına hazırlanmanın bir yolunu bulmanızı öneririm . Örneğin:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Bunu yapmanın bir yolu, programı çalıştırmak için bir sarmalayıcı komut dosyası kullanmaktır. Bunu, programınızla aynı adı verebilir ve programın bulunduğu /usr/local/bin
yerden önce görünen herhangi bir yere ya da herhangi bir yere koyabilirsiniz PATH
. İşte örnek bir betik (betiği unutmayın chmod +x
):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environment
, bunların yüklenmesine neden olan nedir? Örneğin, vi editöründen çıktıktan sonra (başarılı bir şekilde yazılan değişiklikler), yazmayı echo $MY_NEW_VARIABLE
ve yazdırmayı görmeyi bekliyorum - EDIT: Yeni bir komut kabuğu başlattıysam orada olduklarını görüyorum
/etc/environment
bash terminalini yeniden başlattıysam veya yazsam bile, işletim sistemimi yeniden başlatmam gerekiyordu source /etc/environment
. Bu nedenle, ortam değişkeninin sürekliliği olmayan sorunlarla karşılaşıyorsanız, yeniden başlatmayı deneyin.
/etc/environment
bir senaryo değildir, bu yüzden kaynak gösterilemez. PAM tarafından giriş zamanında (ve bir kaç sistem olayının bir kısmı) PAM tarafından yüklenir, böylece bir oturumda oturum açabilir / giriş yapabilir veya terminalde yeni bir giriş oturumu çalıştırabilirsiniz $ su <your username here>
. Çıktıktan sonra değerler kaybolacaktır, bu yüzden muhtemelen sadece tam olarak oturumu kapatıp / oturumu kapatmaya daha az eğilimlidir.
oracle yüklediğinizde, oracle Tamam'ı tıklatmadan önce bazı komut dosyalarını çalıştırmanızı istedi. Bu betik .bash_profile
, Oracle kullanıcı ev dizinine kukla bir ayar koydu . Dosyayı görmek için ls -al
tüm gizli dosyaları gösterecektir.
tip nano bash_profile
dosyayı açmak için. Ana bilgisayar adınızı ve uygun sid adını yansıtmak için dosyada değişiklikler yapın. değişiklik yapılması gereken diğer ayarları kontrol edin. Kaydetmek isteyip istemediğiniz sorulduğunda, kaydetmek için x kontrolüne basın ve y yazın. Kaydetmek için geri dönüş tuşuna basın. Bilgisayarı yeniden başlatın. Oracle kullanıcısı olarak günlüğe kaydetme. veritabanını yazarak başlatın
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/lib
,/etc/ld.so.conf.d/
yolun altına yeni bir dosya eklemek olacaktır . O zaman LD_LIBRARY_PATH ayarlamanız gerekmez, ayrıca buraya bakın .