কোনও সেবার জন্য / etc / এনভায়রনমেন্ট থেকে আপস্টার্ট পড়ার পরিবেশ পাবেন


17

/etc/environmentএকটি আপস্টার্ট পরিষেবাতে পরিবেশের পরিবর্তনগুলি সংজ্ঞায়িত করার সর্বোত্তম উপায় কী ?

আমি মনে করি কেবল .স্ক্রিপ্ট বিভাগে তাদের সোর্সিং কার্যকর হয় না, কারণ স্ক্রিপ্টগুলি সম্পাদন করা হয় shযার দ্বারা exportপ্রতিটি সংজ্ঞার সামনে একটি অতিরিক্ত প্রয়োজন হবে ...

উত্তর:


16

অবশেষে আমি #upstartআইআরসি চ্যানেলে একটি উত্তর পেয়েছি । এক পর্যায়ে, আপস্টার্ট সঠিক পিএএম সমর্থন পাবে এবং এইভাবে /etc/environmentনিজেই পড়বে । ততক্ষণ, কৌশলটি হ'ল su দিয়ে কমান্ডটি কার্যকর করা। suপ্যাম ব্যবহার করে এবং উপযুক্ত পরিবেশ স্থাপন করবে। উদাহরণ:

script 
    exec su root -c /usr/sbin/job_needing_envs
end script

উত্তর পোস্ট করার জন্য আপনাকে ধন্যবাদ, আপনি ঠিক একই ইস্যুতে আমাকে সহায়তা করেছেন।
ম্যাক্সিম ভেক্সলার

ত্রুটি:su: must be run from a terminal
কুফ

3

আমি ব্যবহার করার ঝোঁক eval $(cat /etc/environment | sed 's/^/export /')

এটি প্রতিটি লাইন /etc/environmentএনে দেয় export, প্রেন্ডেন্ড করে এবং এর মূল্যায়ন করে:

script
exec /bin/bash <<'EOT'
  eval $(cat /etc/environment | sed 's/^/export /')
  do_what_you_need_to
EOT
end script

আপনি এক্সিকিউট ব্যবহার করেন এবং কেবল এক্সপোর্টটি সরাসরি স্ক্রিপ্ট ব্লকে রাখেন না?
গাস

1

এটি আপনার স্ক্রিপ্টে যুক্ত করুন:

. /etc/environment
export VAR1 VAR2 VAR3

যেখানে আপনার প্রয়োজনীয় ভেরিয়েবলগুলি "VAR1" শৈলীর স্থানধারীর স্থলে নির্দিষ্ট করা হয়েছে।


2
এইভাবে আমাকে ম্যানুয়ালি আপস্টার্ট কনফিগারেশন এবং / ইত্যাদি / এনভায়রনমেন্ট সিঙ্কে রাখতে হবে, যা (আমার মতে) দুবার ভেরিয়েবল সংজ্ঞায়িত করার চেয়ে ভাল কিছু নয় ...
নিকরাটিও

আমি /etc/environmentআপনার সমস্ত প্রয়োজনীয় ভেরিয়েবলগুলি সংজ্ঞায়িত করতে ব্যবহার করব না । এটি একটি স্থির ফাইল হিসাবে ছেড়ে দিন। আমার সিস্টেমে, আমি কেবল কয়েকটি স্ক্রিপ্ট খুঁজে পেতে পারি যা এটি যেভাবেই ব্যবহার করে। মত একটি ফাইল তৈরি করুন /etc/environment.localএবং আপনার ভেরিয়েবল এবং রফতানি সেখানে রাখুন এবং সেই ফাইলটি উত্স করুন। তারপরে আপনাকে কেবল সেই একটি ফাইল বজায় রাখতে হবে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

/ ইত্যাদি / এনভায়রনমেন্ট pam_env.so দ্বারা পড়ে (এবং কোনও স্ক্রিপ্ট দ্বারা নয়), সুতরাং এটি যে কোনও লগইনের জন্য উপলব্ধ। দুর্ভাগ্যক্রমে, কেবল আপস্টার্ট দিয়ে শুরু করা প্রোগ্রামগুলিতে ডিফল্ট দ্বারা সেই ফাইলটিতে অ্যাক্সেস নেই।
নিকরাটিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.