मेरे चर हैं
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
इन चरों को स्थायी रूप से कैसे बचाया जाए?
मेरे चर हैं
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
इन चरों को स्थायी रूप से कैसे बचाया जाए?
जवाबों:
आप इसे फ़ाइल .profile
या अपनी लॉगिन शेल प्रोफ़ाइल फ़ाइल (अपने होम डायरेक्टरी में स्थित) में जोड़ सकते हैं ।
"स्थायी रूप से" पर्यावरण चर को बदलने के लिए आपको कम से कम इन स्थितियों पर विचार करना होगा:
/etc/profile
, ~/.bash_profile
, ~/.bash_login
, ~/.profile
क्रम में~/.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
आप इसे सभी उपयोगकर्ताओं के लिए स्थायी बनाना चाहते हैं, तो आप के तहत इसी फ़ाइलों को संपादित कर सकते हैं /etc/
, यानी /etc/profile
बॉर्न की तरह गोले, के लिए /etc/csh.login
के लिए (टी) csh, और /etc/zsh/zprofile
और /etc/zsh/zshrc
zsh के लिए।
एक अन्य विकल्प का उपयोग करना है /etc/environment
, जो लिनक्स सिस्टम पर PAM मॉड्यूल द्वारा पढ़ा जाता है pam_env
और केवल सरल असाइनमेंट का समर्थन करता है, न कि शेल-शैली के विस्तार का। ( इस पर डेबियन गाइड देखें ।)
इन फ़ाइलों में पहले से ही कुछ असाइनमेंट होने की संभावना है, इसलिए आप अपनी फ़ाइल में पहले से मौजूद सिंटैक्स का पालन करें।
परिवर्तनों को लागू करने के लिए, शेल को पुनः आरंभ करें और उपयोगकर्ता को फिर से खोलें।
यदि आपको सिस्टम वाइड एन्वायर्नमेंट वैरिएबल जोड़ने की आवश्यकता है, तो अब /etc/profile.d
वह फोल्डर है जिसमें वेरिएबल को इनिशियलाइज़ करने के लिए sh स्क्रिप्ट है।
आप अपनी श स्क्रिप्ट को अपने यहां निर्यात किए गए सभी चर के साथ रख सकते हैं।
हालांकि यह डेबियन पर env करने के लिए चर जोड़ने के एक मानक तरीके के रूप में उपयोग नहीं किया जाना चाहिए carefull होना।
.profile
में /etc/
लेकिन मुझे नहीं इस में चर सेट करने का तरीका है .profile
कृपया मुझे बताओ
.profile
आपके घर में निर्देशिका नहीं है/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
आदेश फ़ाइल और vi में बाहर निकलने के लिखने के लिए टाइप करने के लिए मत भूलना है esc
से पहले
crontab
स्क्रिप्ट में पर्यावरण चर पर विचार करना होगा । जब कोई crontab
स्क्रिप्ट चल रही हो, तो इनमें से किसी भी स्थान को देखा नहीं जाएगा ।
यदि सभी उपयोगकर्ताओं / गोले के लिए करना है, तो डिस्ट्रो के आधार पर आप उपयोग कर सकते हैं /etc/environment
या /etc/profile
। /etc/profile.d
यदि मौजूद है तो एक नई फ़ाइल बनाना बेहतर हो सकता है, क्योंकि इसमें पैकेजिंग सिस्टम द्वारा किए गए अपडेट के साथ संघर्ष की संभावना कम होगी।
में /etc/environment
, चर आमतौर पर के साथ स्थापित कर रहे हैं name=value
, जैसे:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
इसमें /etc/profile
, आपको इसका उपयोग करना होगा export
क्योंकि यह एक स्क्रिप्ट है, उदाहरण के लिए:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
उसी के तहत एक फ़ाइल के लिए चला जाता है /etc/profile.d
, वहाँ भी नामकरण प्रतिबंध हो सकता है जो काम करने के लिए फ़ाइल के लिए मिलना चाहिए। डेबियन पर, फ़ाइल में एक्सटेंशन होना चाहिए .sh
(हालांकि इसे खट्टा होने के बाद एक धमाकेदार रेखा या निष्पादन योग्य अनुमति की आवश्यकता नहीं है)। अपने डिस्ट्रो डॉक्यूमेंट की जांच करें या /etc/profile
स्क्रिप्ट देखें कि ये फाइलें कैसे भरी हुई हैं।
यह भी ध्यान दें कि LD_LIBRARY_PATH
स्थायी रूप से सेटिंग संभावित रूप से समस्याग्रस्त है , जिसमें सुरक्षा जोखिम भी शामिल है। एक विकल्प के रूप में, मैं LD_LIBRARY_PATH
दौड़ने से पहले इसकी आवश्यकता वाले प्रत्येक कार्यक्रम के लिए कमांड लाइन की शुरुआत को शुरू करने के लिए कोई रास्ता खोजने का सुझाव दूंगा । उदाहरण के लिए:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
ऐसा करने का एक तरीका प्रोग्राम को चलाने के लिए एक आवरण स्क्रिप्ट का उपयोग करना है। आप इसे अपने प्रोग्राम के समान नाम दे सकते हैं और इसे अपने प्रोग्राम के स्थान से पहले/usr/local/bin
या कहीं भी रख सकते हैं । यहाँ एक उदाहरण स्क्रिप्ट है (स्क्रिप्ट को मत भूलना ):PATH
chmod +x
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environment
फ़ाइल में मूल्य जोड़े जोड़े हैं , तो क्या कारण हैं? उदाहरण के लिए, vi संपादक (सफलतापूर्वक लिखे गए परिवर्तन) से बाहर निकलने के बाद, मैं लिखने echo $MY_NEW_VARIABLE
और इसे प्रिंट आउट देखने की उम्मीद कर रहा हूं - EDIT: मैं देख रहा हूं कि अगर मैं एक नया कमांड शेल लॉन्च करता हूं
/etc/environment
, भले ही मैंने बैश टर्मिनल को फिर से शुरू किया हो या टाइप किया हो source /etc/environment
। इसलिए यदि आपके पास ऐसे मुद्दे हैं, जहां पर्यावरण चर स्थिर नहीं है, तो रिबूट करने का प्रयास करें।
/etc/environment
एक स्क्रिप्ट नहीं है, इसलिए इसे सोर्स नहीं किया जा सकता है। यह PAM द्वारा लॉगिन समय (और कुछ मुट्ठी भर अन्य सिस्टम इवेंट्स) में लोड किया गया है, ताकि आप $ su <your username here>
उस अलग-थलग सत्र में नए मानों को लेने के लिए किसी लॉगआउट / लॉगिन या टर्मिनल में एक नया लॉगिन सत्र चला सकें । आपके द्वारा बाहर निकलते ही मान गायब हो जाएंगे, इसलिए यह पूरी तरह से लॉगआउट / लॉगिन करने के लिए शायद कम त्रुटि वाला है।
जब आप oracle इंस्टॉल करते हैं, तो oracle ने पूछा कि आप ok पर क्लिक करने से पहले कुछ स्क्रिप्ट चलाते हैं। उस स्क्रिप्ट ने .bash_profile
oracle user होम डायरेक्टरी में डमी सेटिंग की । फ़ाइल देखने के लिए, ls -al
सभी छिपी हुई फ़ाइलें दिखाएंगे।
nano bash_profile
फ़ाइल खोलने के लिए टाइप करें। अपने होस्टनाम और उचित साइड नाम को दर्शाने के लिए फ़ाइल में परिवर्तन करें। किसी भी अन्य सेटिंग्स की जाँच करें जिन्हें संशोधन की आवश्यकता है। यदि आप सहेजना चाहते हैं, तो y को बचाने के लिए नियंत्रण y दबाएँ और y टाइप करें। बचाने के लिए वापसी कुंजी दबाएँ। कंप्यूटर को पुनरारंभ। Oracle उपयोगकर्ता के रूप में लॉगिंग। टाइप करके डेटाबेस शुरू करें
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/lib
तहत एक नई फ़ाइल में जोड़ने की होगी/etc/ld.so.conf.d/
। फिर आपको LD_LIBRARY_PATH सेट करने की आवश्यकता नहीं है, यहां भी देखें ।