Variabel saya adalah
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Bagaimana cara menyimpan variabel-variabel ini secara permanen?
Variabel saya adalah
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Bagaimana cara menyimpan variabel-variabel ini secara permanen?
Jawaban:
Anda dapat menambahkannya ke file .profile
atau file profil shell login Anda (terletak di direktori home Anda).
Untuk mengubah variabel lingkungan "secara permanen" Anda harus mempertimbangkan setidaknya situasi ini:
/etc/profile
, ~/.bash_profile
, ~/.bash_login
, ~/.profile
dalam urutan~/.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
Jika Anda ingin menjadikannya permanen untuk semua pengguna, Anda dapat mengedit file yang sesuai di bawah /etc/
, yaitu /etc/profile
untuk shell mirip Bourne, /etc/csh.login
untuk (t) csh, dan /etc/zsh/zprofile
dan /etc/zsh/zshrc
untuk zsh.
Pilihan lain adalah menggunakan /etc/environment
, yang pada sistem Linux dibaca oleh modul PAM pam_env
dan hanya mendukung penugasan sederhana, bukan ekspansi shell-style. (Lihat panduan Debian tentang ini.)
File-file ini kemungkinan sudah mengandung beberapa tugas, jadi ikuti sintaksis yang Anda lihat sudah ada dalam file Anda.
Pastikan untuk memulai kembali shell dan masuk kembali ke pengguna, untuk menerapkan perubahan.
Jika Anda perlu menambahkan variabel lingkungan sistem lebar, sekarang ada /etc/profile.d
folder yang berisi skrip sh untuk menginisialisasi variabel.
Anda dapat menempatkan skrip sh Anda dengan semua variabel yang diekspor di sini.
Hati-hati meskipun ini tidak boleh digunakan sebagai cara standar untuk menambahkan variabel ke env di Debian.
.profile
di /etc/
tapi saya tidak bagaimana mengatur variabel dalam .profile
jelaskan
.profile
ada di direktori home Anda bukan/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
adalah perintah untuk menulis file dan keluar di vi jangan lupa untuk mengetik esc
sebelumnya
crontab
skrip. Tidak satu pun dari lokasi ini akan terlihat ketika crontab
skrip sedang berjalan
Untuk melakukannya jika untuk semua pengguna / shell, tergantung pada distro Anda dapat menggunakan /etc/environment
atau /etc/profile
. Membuat file baru di /etc/profile.d
mungkin lebih disukai jika ada, karena akan lebih kecil kemungkinannya bertentangan dengan pembaruan yang dibuat oleh sistem pengemasan.
Di /etc/environment
, variabel biasanya diatur dengan name=value
, misalnya:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Di /etc/profile
, Anda harus menggunakan export
karena ini skrip, misalnya:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
Hal yang sama berlaku untuk file di bawah /etc/profile.d
, mungkin juga ada batasan penamaan yang harus dipenuhi agar file berfungsi. Pada Debian, file tersebut harus memiliki ekstensi .sh
(walaupun tidak memerlukan bang line atau izin yang dapat dieksekusi karena bersumber). periksa dokumentasi distro Anda atau lihat /etc/profile
skrip untuk melihat bagaimana file-file ini dimuat.
Perhatikan juga bahwa pengaturan LD_LIBRARY_PATH
secara permanen berpotensi bermasalah , termasuk menjadi risiko keamanan. Sebagai alternatif, saya akan menyarankan menemukan beberapa cara untuk menambahkan LD_LIBRARY_PATH
awal baris perintah untuk setiap program yang membutuhkannya sebelum berjalan. Misalnya:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Salah satu cara untuk melakukannya adalah dengan menggunakan skrip wrapper untuk menjalankan program. Anda bisa memberikan ini nama yang sama dengan program Anda dan memasukkannya ke /usr/local/bin
atau di mana saja yang muncul sebelum lokasi program Anda PATH
. Berikut ini contoh skrip (jangan lupa chmod +x
skrip):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environment
file saya , apa yang menyebabkan mereka memuat? Misalnya, setelah keluar dari vi editor (perubahan berhasil ditulis), saya berharap untuk menulis echo $MY_NEW_VARIABLE
dan melihatnya mencetak - EDIT: Saya melihat mereka ada di sana jika saya meluncurkan shell perintah baru
/etc/environment
, bahkan jika saya me- restart terminal bash atau mengetik source /etc/environment
. Jadi, jika Anda mengalami masalah ketika variabel lingkungan tidak bertahan, coba reboot.
/etc/environment
bukan skrip, jadi tidak dapat diperoleh dari sumber. Itu dimuat pada waktu login (dan beberapa peristiwa sistem lainnya) oleh PAM, sehingga Anda dapat logout / login atau menjalankan sesi login baru di terminal dengan $ su <your username here>
mengambil nilai-nilai baru dalam sesi yang terisolasi itu. Nilai-nilai akan hilang begitu Anda keluar, jadi mungkin lebih mudah untuk keluar / masuk sepenuhnya.
ketika Anda menginstal oracle, oracle meminta Anda menjalankan beberapa skrip sebelum mengklik ok. Script itu meletakkan pengaturan dummy di .bash_profile
direktori home pengguna oracle. Untuk melihat file, ls -al
akan menampilkan semua file yang tersembunyi.
ketik nano bash_profile
untuk membuka file. Buat perubahan pada file untuk mencerminkan nama host Anda, dan nama samping yang sesuai. periksa pengaturan lain yang perlu modifikasi. tekan control x untuk menyimpan dan ketik y ketika ditanya apakah Anda ingin menyimpan. Tekan tombol kembali untuk menyimpan. Nyalakan ulang komputernya. Masuk sebagai pengguna oracle. mulai database dengan mengetik
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/lib
file baru di bawah/etc/ld.so.conf.d/
path. Maka Anda tidak perlu mengatur LD_LIBRARY_PATH, lihat juga di sini .