Mis variables son
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
¿Cómo guardar estas variables de forma permanente?
Mis variables son
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
¿Cómo guardar estas variables de forma permanente?
Respuestas:
Puede agregarlo al archivo .profile
o al archivo de perfil del shell de inicio de sesión (ubicado en su directorio de inicio).
Para cambiar la variable ambiental "permanentemente", deberá considerar al menos estas situaciones:
/etc/profile
, ~/.bash_profile
, ~/.bash_login
, ~/.profile
en el orden~/.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
Si desea que sea permanente para todos los usuarios, puede editar los archivos correspondientes en /etc/
, es decir, /etc/profile
para shells tipo Bourne, /etc/csh.login
para (t) csh /etc/zsh/zprofile
y /etc/zsh/zshrc
para zsh.
Otra opción es usar /etc/environment
, que en los sistemas Linux es leído por el módulo PAM pam_env
y admite solo tareas simples, no expansiones de estilo shell. (Consulte la guía de Debian sobre esto).
Es probable que estos archivos ya contengan algunas asignaciones, así que siga la sintaxis que ve ya presente en su archivo.
Asegúrese de reiniciar el shell y volver a iniciar sesión en el usuario para aplicar los cambios.
Si necesita agregar una variable de entorno de todo el sistema, ahora hay una /etc/profile.d
carpeta que contiene un script sh para inicializar la variable.
Puede colocar su script sh con todas las variables exportadas aquí.
Tenga cuidado, aunque esto no debe usarse como una forma estándar de agregar variables a env en Debian.
.profile
en /etc/
pero no cómo configurar las variables en este .profile
favor dime
.profile
está en su directorio personal no/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
es el comando para escribir el archivo y salir en vi, no olvides escribir esc
antes
crontab
scripts. Ninguna de estas ubicaciones se buscará cuando crontab
se ejecute un script.
Para hacer si para todos los usuarios / shells, dependiendo de la distribución que pueda usar /etc/environment
o /etc/profile
. Crear un nuevo archivo /etc/profile.d
puede ser preferible si existe, ya que será menos probable que entre en conflicto con las actualizaciones realizadas por el sistema de empaquetado.
En /etc/environment
, las variables generalmente se establecen con name=value
, por ejemplo:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
En /etc/profile
, debe usar export
ya que este es un script, por ejemplo:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
Lo mismo ocurre con un archivo debajo /etc/profile.d
, también puede haber restricciones de nombres que deben cumplirse para que el archivo funcione. En Debian, el archivo debe tener la extensión .sh
(aunque no necesita una línea de explosión o permisos ejecutables, ya que es de origen). revise su documentación de distribución o mire el /etc/profile
script para ver cómo se cargan estos archivos.
Tenga en cuenta también que la configuración LD_LIBRARY_PATH
permanente es potencialmente problemática , lo que incluye un riesgo de seguridad. Como alternativa, sugeriría encontrar alguna forma de anteponer LD_LIBRARY_PATH
el inicio de la línea de comando para cada programa que lo necesite antes de ejecutarlo. P.ej:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Una forma de hacerlo es utilizar un script de envoltura para ejecutar el programa. Puede darle el mismo nombre a su programa y ponerlo en /usr/local/bin
cualquier lugar que aparezca antes de la ubicación de su programa PATH
. Aquí hay un script de ejemplo (no se olvide chmod +x
del script):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environment
archivo, ¿qué causa que se carguen? Por ejemplo, después de salir del editor vi (cambios escritos con éxito), espero escribir echo $MY_NEW_VARIABLE
y verlo impreso - EDITAR: veo que están allí si
/etc/environment
, incluso si reiniciaba el terminal bash o escribía source /etc/environment
. Entonces, si tiene problemas donde la variable de entorno no se perpetúa, intente reiniciar.
/etc/environment
no es un script, por lo que no puede obtenerse. PAM lo carga en el momento de inicio de sesión (y un puñado de otros eventos del sistema), por lo que puede cerrar sesión / iniciar sesión o ejecutar una nueva sesión de inicio de sesión en un terminal $ su <your username here>
para recoger los nuevos valores en esa sesión aislada. Los valores desaparecerán una vez que salga, por lo que probablemente sea menos propenso a errores simplemente cerrar sesión / iniciar sesión por completo.
Cuando instala Oracle, Oracle le pidió que ejecutara algunos scripts antes de hacer clic en Aceptar. Ese script puso una configuración ficticia en el .bash_profile
directorio de inicio del usuario in oracle. Para ver el archivo, ls -al
se mostrarán todos los archivos ocultos.
escriba nano bash_profile
para abrir el archivo. Realice cambios en el archivo para reflejar su nombre de host y el nombre sid apropiado. verifique cualquier otra configuración que necesite modificación. presione el control x para guardar y escriba y cuando se le pregunte si desea guardar. Presione la tecla de retorno para guardar. Reinicia la computadora. Iniciando sesión como usuario de Oracle. iniciar la base de datos escribiendo
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/lib
un nuevo archivo debajo de la/etc/ld.so.conf.d/
ruta. Entonces no necesita configurar LD_LIBRARY_PATH, consulte también aquí .